@antadesign/anta
    Preparing search index...

    Interface ARadioGroupAttributesUnreviewed

    Attributes for the <a-radio-group> custom element — the single-select coordinator. It is the form-associated element (submits one name=value). No shadow DOM: an optional group header (<a-radio-group-label> + an optional <a-radio-group-hint> description) sits above an <a-radio-list> wrapping the <a-radio> options — each option wraps its text in <a-radio-label> and an optional <a-radio-hint>. All plain light-DOM children, laid out by a-radio-group.css, so the arrangement is restylable with ordinary CSS (a-radio-group a-radio-list { … }). The group coordinates off-DOM only — it never writes the DOM: selection via each radio's selected property, focus via internals.ariaActiveDescendantElement, the form value via setFormValue. Roving tabindex (the JSX path) is rendered by the RadioGroup wrapper, not the element. The RadioGroup wrapper composes the label/list/hint from label / hint; hand-authors write them directly. For the typed JSX wrapper use RadioGroup from @antadesign/anta.

    interface ARadioGroupAttributes {
        onClick?: (e: any) => void;
        onDoubleClick?: (e: any) => void;
        onAuxClick?: (e: any) => void;
        onContextMenu?: (e: any) => void;
        onMouseDown?: (e: any) => void;
        onMouseUp?: (e: any) => void;
        onMouseEnter?: (e: any) => void;
        onMouseLeave?: (e: any) => void;
        onMouseMove?: (e: any) => void;
        onMouseOver?: (e: any) => void;
        onMouseOut?: (e: any) => void;
        onPointerDown?: (e: any) => void;
        onPointerUp?: (e: any) => void;
        onPointerMove?: (e: any) => void;
        onPointerEnter?: (e: any) => void;
        onPointerLeave?: (e: any) => void;
        onPointerOver?: (e: any) => void;
        onPointerOut?: (e: any) => void;
        onPointerCancel?: (e: any) => void;
        onGotPointerCapture?: (e: any) => void;
        onLostPointerCapture?: (e: any) => void;
        onTouchStart?: (e: any) => void;
        onTouchEnd?: (e: any) => void;
        onTouchMove?: (e: any) => void;
        onTouchCancel?: (e: any) => void;
        onKeyDown?: (e: any) => void;
        onKeyUp?: (e: any) => void;
        onFocus?: (e: any) => void;
        onBlur?: (e: any) => void;
        onChange?: (e: any) => void;
        onInput?: (e: any) => void;
        onBeforeInput?: (e: any) => void;
        onInvalid?: (e: any) => void;
        onReset?: (e: any) => void;
        onSubmit?: (e: any) => void;
        onSelect?: (e: any) => void;
        onCopy?: (e: any) => void;
        onCut?: (e: any) => void;
        onPaste?: (e: any) => void;
        onCompositionStart?: (e: any) => void;
        onCompositionUpdate?: (e: any) => void;
        onCompositionEnd?: (e: any) => void;
        onDrag?: (e: any) => void;
        onDragStart?: (e: any) => void;
        onDragEnd?: (e: any) => void;
        onDragEnter?: (e: any) => void;
        onDragLeave?: (e: any) => void;
        onDragOver?: (e: any) => void;
        onDrop?: (e: any) => void;
        onScroll?: (e: any) => void;
        onWheel?: (e: any) => void;
        onAnimationStart?: (e: any) => void;
        onAnimationEnd?: (e: any) => void;
        onAnimationIteration?: (e: any) => void;
        onTransitionEnd?: (e: any) => void;
        onLoad?: (e: any) => void;
        onError?: (e: any) => void;
        onAbort?: (e: any) => void;
        onToggle?: (e: any) => void;
        onBeforeToggle?: (e: any) => void;
        onCanPlay?: (e: any) => void;
        onCanPlayThrough?: (e: any) => void;
        onDurationChange?: (e: any) => void;
        onEmptied?: (e: any) => void;
        onEnded?: (e: any) => void;
        onLoadedData?: (e: any) => void;
        onLoadedMetadata?: (e: any) => void;
        onLoadStart?: (e: any) => void;
        onPause?: (e: any) => void;
        onPlay?: (e: any) => void;
        onPlaying?: (e: any) => void;
        onProgress?: (e: any) => void;
        onRateChange?: (e: any) => void;
        onSeeked?: (e: any) => void;
        onSeeking?: (e: any) => void;
        onStalled?: (e: any) => void;
        onSuspend?: (e: any) => void;
        onTimeUpdate?: (e: any) => void;
        onVolumeChange?: (e: any) => void;
        onWaiting?: (e: any) => void;
        key?: string | number | null;
        id?: string;
        class?: string;
        className?: string;
        style?: CSSProperties;
        children?: ReactNode;
        slot?: string;
        tabIndex?: number;
        state?: string;
        "default-state"?: string;
        name?: string;
        tone?:
            | "brand"
            | "neutral"
            | "info"
            | "success"
            | "warning"
            | "critical"
            | string & {};
        "tone-scope"?: ToneScope;
        size?: "small"
        | "medium"
        | "large";
        status?: "neutral" | "brand" | "info" | "success" | "warning" | "critical";
        disabled?: boolean | "";
        orientation?: "vertical" | "horizontal";
        onstatechange?: (
            e: CustomEvent<
                {
                    next: string
                    | null;
                    prev: string | null;
                    reason: "user" | "reset" | "restore";
                },
            >,
        ) => void;
        onchange?: (e: Event) => void;
        onfocusin?: (e: FocusEvent) => void;
        onfocusout?: (e: FocusEvent) => void;
        role?: "radiogroup";
        "aria-disabled"?: "true" | "false";
        "aria-label"?: string;
        "aria-labelledby"?: string;
    }

    Hierarchy (View Summary)

    Index
    onClick?: (e: any) => void
    onDoubleClick?: (e: any) => void
    onAuxClick?: (e: any) => void
    onContextMenu?: (e: any) => void
    onMouseDown?: (e: any) => void
    onMouseUp?: (e: any) => void
    onMouseEnter?: (e: any) => void
    onMouseLeave?: (e: any) => void
    onMouseMove?: (e: any) => void
    onMouseOver?: (e: any) => void
    onMouseOut?: (e: any) => void
    onPointerDown?: (e: any) => void
    onPointerUp?: (e: any) => void
    onPointerMove?: (e: any) => void
    onPointerEnter?: (e: any) => void
    onPointerLeave?: (e: any) => void
    onPointerOver?: (e: any) => void
    onPointerOut?: (e: any) => void
    onPointerCancel?: (e: any) => void
    onGotPointerCapture?: (e: any) => void
    onLostPointerCapture?: (e: any) => void
    onTouchStart?: (e: any) => void
    onTouchEnd?: (e: any) => void
    onTouchMove?: (e: any) => void
    onTouchCancel?: (e: any) => void
    onKeyDown?: (e: any) => void
    onKeyUp?: (e: any) => void
    onFocus?: (e: any) => void
    onBlur?: (e: any) => void
    onChange?: (e: any) => void
    onInput?: (e: any) => void
    onBeforeInput?: (e: any) => void
    onInvalid?: (e: any) => void
    onReset?: (e: any) => void
    onSubmit?: (e: any) => void
    onSelect?: (e: any) => void
    onCopy?: (e: any) => void
    onCut?: (e: any) => void
    onPaste?: (e: any) => void
    onCompositionStart?: (e: any) => void
    onCompositionUpdate?: (e: any) => void
    onCompositionEnd?: (e: any) => void
    onDrag?: (e: any) => void
    onDragStart?: (e: any) => void
    onDragEnd?: (e: any) => void
    onDragEnter?: (e: any) => void
    onDragLeave?: (e: any) => void
    onDragOver?: (e: any) => void
    onDrop?: (e: any) => void
    onScroll?: (e: any) => void
    onWheel?: (e: any) => void
    onAnimationStart?: (e: any) => void
    onAnimationEnd?: (e: any) => void
    onAnimationIteration?: (e: any) => void
    onTransitionEnd?: (e: any) => void
    onLoad?: (e: any) => void
    onError?: (e: any) => void
    onAbort?: (e: any) => void
    onToggle?: (e: any) => void
    onBeforeToggle?: (e: any) => void
    onCanPlay?: (e: any) => void
    onCanPlayThrough?: (e: any) => void
    onDurationChange?: (e: any) => void
    onEmptied?: (e: any) => void
    onEnded?: (e: any) => void
    onLoadedData?: (e: any) => void
    onLoadedMetadata?: (e: any) => void
    onLoadStart?: (e: any) => void
    onPause?: (e: any) => void
    onPlay?: (e: any) => void
    onPlaying?: (e: any) => void
    onProgress?: (e: any) => void
    onRateChange?: (e: any) => void
    onSeeked?: (e: any) => void
    onSeeking?: (e: any) => void
    onStalled?: (e: any) => void
    onSuspend?: (e: any) => void
    onTimeUpdate?: (e: any) => void
    onVolumeChange?: (e: any) => void
    onWaiting?: (e: any) => void
    key?: string | number | null

    React/Preact reconciliation key when rendered inside a list.

    id?: string

    HTML id attribute.

    class?: string

    HTML class attribute (standard DOM).

    className?: string

    React/Preact-style class name. Alias for class.

    style?: CSSProperties

    Inline styles applied to the element.

    children?: ReactNode
    slot?: string

    Assigns the element to a named <slot> (e.g. slot="title").

    tabIndex?: number

    Tab order. Set to 0 to make the element keyboard-focusable.

    state?: string

    Controlled selected value (the chosen radio's value). Present → controlled: the element reflects changes to this attribute and a pick only dispatches statechange. Absent → uncontrolled (seed with default-state).

    "default-state"?: string

    Uncontrolled initial selected value — read once on connect / form-reset.

    name?: string

    Form field name — the group submits name=value.

    tone?:
        | "brand"
        | "neutral"
        | "info"
        | "success"
        | "warning"
        | "critical"
        | string & {}

    Mark tone cascaded to children that don't set their own, or any literal CSS color for a one-off custom tone. In all scope it colors every child's ring fill, dot, and unselected border. The option text stays neutral — recolor it in plain CSS via the --text-N-{tone} tokens.

    "tone-scope"?: ToneScope

    Apply the cascaded tone to every state (all, the default) or only to the selected option. A child's explicit scope overrides the group.

    size?: "small" | "medium" | "large"

    Size cascaded to children that don't set their own.

    status?: "neutral" | "brand" | "info" | "success" | "warning" | "critical"

    Validation/feedback tone for the group hint — same set as <a-input>'s status. Recolors <a-radio-group-hint>; omit for the neutral default.

    disabled?: boolean | ""

    Disable the whole group. Presence-based.

    orientation?: "vertical" | "horizontal"

    Layout + arrow-key axis. 'vertical' is the default.

    onstatechange?: (
        e: CustomEvent<
            {
                next: string
                | null;
                prev: string | null;
                reason: "user" | "reset" | "restore";
            },
        >,
    ) => void

    Fires whenever the selection changes. detail carries { next, prev, reason }: next/prev are the selected values (null = nothing selected), and reason is 'user' (a pick — the event is cancelable; a synchronous preventDefault() vetoes it in uncontrolled mode), 'reset' (a <form> reset), or 'restore' (bfcache / autofill restore) — the latter two are not cancelable. All-lowercase to bind across both renderers (like <a-checkbox>).

    onchange?: (e: Event) => void

    Native change, fired after a selection applies (post-apply counterpart to onstatechange). Lowercase so both renderers bind the native event.

    onfocusin?: (e: FocusEvent) => void

    Group focus enter / leave — wired from the bubbling focusin / focusout (focus lands on an option, not the group). The RadioGroup wrapper maps its onFocus / onBlur props here.

    onfocusout?: (e: FocusEvent) => void
    role?: "radiogroup"

    ARIA — set by the RadioGroup wrapper (the element never touches these).

    "aria-disabled"?: "true" | "false"
    "aria-label"?: string
    "aria-labelledby"?: string