UnreviewedUnreviewedoptionsThe options. The wrapper renders one <a-radio> per entry and computes its
selected / roving tabindex / role declaratively.
Optional UnreviewedvalueControlled selected value. The group follows this prop and reports a
requested change through onStateChange. Leave it undefined for
uncontrolled use.
Optional UnrevieweddefaultInitial selected value for uncontrolled use.
Optional UnreviewedonFired whenever selection changes — event-first. detail is
{ next, prev, reason }: next/prev are values (null = nothing selected);
reason is 'user' | 'reset' | 'restore'. A 'user' pick fires before
applying and is cancelable — event.preventDefault() vetoes it
(uncontrolled), or in controlled mode answer by updating value (reject by
doing nothing). 'reset' (form reset) and 'restore' (bfcache / autofill) are
not cancelable — filter on reason if you only track user picks.
Optional UnreviewedonFired after the selection changes — a native change event (the post-apply
counterpart to onStateChange). Not cancelable; for a controlled group it
fires once you've updated value.
Optional UnreviewedonLike onChange, but with a { value, name } snapshot as the second argument,
matching Input.
Optional UnreviewedonFired when focus enters the group (any option) — wired to focusin, since
focus lands on an individual option, not the group element itself.
Optional UnreviewedonFired when focus leaves the group entirely — wired to focusout.
Optional UnreviewednameForm field name — the group submits one name=value (it's the
form-associated element).
Optional UnreviewedlabelPlain-text label for the whole group, rendered above the options.
Optional UnreviewedhintPlain-text description for the group, rendered directly under label (above
the options) — typically instructional copy. Per-option helper text goes on
the option's own hint instead.
Optional UnreviewedstatusValidation/feedback tone for the group hint — recolors it (same tone set
as Input's status). Use critical for an error message, etc.; omit for
the neutral default.
Optional UnreviewedtoneMark tone applied to every option (an option's own tone wins), or any literal
CSS color for a one-off custom tone. In the default all scope it colors the
selected-ring fill + dot and the unselected ring border. Named tones track
light/dark mode. Set toneScope="selected" to tone only the selected option
and leave the rest neutral. The option
text stays neutral — recolor it in plain CSS via the --text-N-{tone} tokens.
Optional UnreviewedtoneApply tone to every state, or only to the selected option so unselected
rings stay neutral. An option's own toneScope wins.
Optional UnreviewedsizeSize applied to every option (an option's own size wins).
Optional UnrevieweddisabledDisable the whole group.
Optional UnreviewedorientationLayout + arrow-key axis.
Optional UnreviewedclassCSS class on the component's root element (merged with the component's own
classes). Use it directly for layout and positioning — grid/flex placement,
margins, alignment — rather than wrapping the component in a <div>/<span>.
Optional UnreviewedstyleInline styles on the component's root element. Set layout/positioning here
(or via className) directly on the component instead of adding a wrapper.
Optional UnreviewedidHTML id attribute.
Optional UnreviewedtitleHTML title attribute — native browser tooltip on hover.
Optional UnreviewedslotAssigns the element to a named <slot> of a parent web component (e.g.
slot="header" inside a <Card>, slot="footer" inside a <Dialog>).
Optional UnreviewedtabTab order. Set to -1 to skip the element when tabbing.
Optional UnreviewedkeyReact/Preact reconciliation key when rendered inside a list. Consumed by the JSX runtime (not forwarded as a DOM attribute).
Public props for
<RadioGroup>— the single-select container.