Controlled
item-1
item-1
Icons
Orientation
API Reference
Root
flex flex-col gap-2 group| Prop | Default | Type | 
|---|---|---|
ids | — | Partial<{ root: string; label: string; indicator: string; item: (value: string) => string; itemLabel: (value: string) => string; itemControl: (value: string) => string; itemHiddenInput: (value: string) => string; }> | undefined The ids of the elements in the radio. Useful for composition.  | 
value | — | string | null | undefined The controlled value of the radio group  | 
defaultValue | — | string | null | undefined The initial value of the checked radio when rendered. Use when you don't need to control the value of the radio group.  | 
name | — | string | undefined The name of the input fields in the radio (Useful for form submission).  | 
form | — | string | undefined The associate form of the underlying input.  | 
disabled | — | boolean | undefined If `true`, the radio group will be disabled  | 
readOnly | — | boolean | undefined Whether the checkbox is read-only  | 
onValueChange | — | ((details: ValueChangeDetails) => void) | undefined Function called once a radio is checked  | 
orientation | — | "horizontal" | "vertical" | undefined Orientation of the radio group  | 
dir | "ltr" | "ltr" | "rtl" | undefined The document's text/writing direction.  | 
getRootNode | — | (() => ShadowRoot | Node | Document) | undefined A root node to correctly resolve document in custom environments. E.x.: Iframes, Electron.  | 
element | — | ((attributes: HTMLAttributes<"div">) => Element) | undefined Render the element yourself  | 
Provider
| Prop | Default | Type | 
|---|---|---|
value | — | RadioGroupApi<PropTypes> | 
element | — | ((attributes: HTMLAttributes<"div">) => Element) | undefined Render the element yourself  | 
Context
| Prop | Default | Type | 
|---|---|---|
children | — | (ratingGroup: RadioGroupApi<PropTypes>) => ReactNode | 
Label
label-text| Prop | Default | Type | 
|---|---|---|
element | — | ((attributes: HTMLAttributes<"span">) => Element) | undefined Render the element yourself  | 
Control
inline-flex preset-outlined-surface-200-800 p-2 gap-2 rounded group-data-[orientation=horizontal]:flex-row group-data-[orientation=vertical]:flex-col| Prop | Default | Type | 
|---|---|---|
element | — | ((attributes: HTMLAttributes<"div">) => Element) | undefined Render the element yourself  | 
Indicator
top-(--top) left-(--left) w-(--width) h-(--height) preset-filled rounded data-disabled:opacity-50| Prop | Default | Type | 
|---|---|---|
element | — | ((attributes: HTMLAttributes<"div">) => Element) | undefined Render the element yourself  | 
Item
btn cursor-pointer z-10 flex-1 data-focus-visible:outline-2 data-focus-visible:outline-offset-1 data-focus-visible:outline-surface-950-50 data-readonly:pointer-events-none data-disabled:pointer-events-none data-disabled:opacity-50| Prop | Default | Type | 
|---|---|---|
value | — | string | 
disabled | — | boolean | undefined | 
invalid | — | boolean | undefined | 
element | — | ((attributes: HTMLAttributes<"label">) => Element) | undefined Render the element yourself  | 
ItemText
transition-colors data-[state=checked]:text-surface-contrast-950 data-[state=checked]:dark:text-surface-contrast-50| Prop | Default | Type | 
|---|---|---|
element | — | ((attributes: HTMLAttributes<"span">) => Element) | undefined Render the element yourself  | 
ItemHiddenInput
| Prop | Default | Type | 
|---|---|---|
element | — | ((attributes: HTMLAttributes<"input">) => Element) | undefined Render the element yourself  | 
Root
flex flex-col gap-2 group| Prop | Default | Type | 
|---|---|---|
ids | — | Partial<{ root: string; label: string; indicator: string; item: (value: string) => string; itemLabel: (value: string) => string; itemControl: (value: string) => string; itemHiddenInput: (value: string) => string; }> | undefined The ids of the elements in the radio. Useful for composition.  | 
value | — | string | null | undefined The controlled value of the radio group  | 
defaultValue | — | string | null | undefined The initial value of the checked radio when rendered. Use when you don't need to control the value of the radio group.  | 
name | — | string | undefined The name of the input fields in the radio (Useful for form submission).  | 
form | — | string | undefined The associate form of the underlying input.  | 
disabled | — | boolean | undefined If `true`, the radio group will be disabled  | 
readOnly | — | boolean | undefined Whether the checkbox is read-only  | 
onValueChange | — | ((details: ValueChangeDetails) => void) | undefined Function called once a radio is checked  | 
orientation | — | "horizontal" | "vertical" | undefined Orientation of the radio group  | 
dir | "ltr" | "ltr" | "rtl" | undefined The document's text/writing direction.  | 
getRootNode | — | (() => ShadowRoot | Node | Document) | undefined A root node to correctly resolve document in custom environments. E.x.: Iframes, Electron.  | 
element | — | Snippet<[HTMLAttributes<"div">]> | undefined Render the element yourself  | 
Provider
| Prop | Default | Type | 
|---|---|---|
value | — | () => RadioGroupApi<PropTypes> | 
element | — | Snippet<[HTMLAttributes<"div">]> | undefined Render the element yourself  | 
Context
| Prop | Default | Type | 
|---|---|---|
children | — | Snippet<[() => RadioGroupApi<PropTypes>]> | 
Label
label-text| Prop | Default | Type | 
|---|---|---|
element | — | Snippet<[HTMLAttributes<"span">]> | undefined Render the element yourself  | 
Control
inline-flex preset-outlined-surface-200-800 p-2 gap-2 rounded group-data-[orientation=horizontal]:flex-row group-data-[orientation=vertical]:flex-col| Prop | Default | Type | 
|---|---|---|
element | — | Snippet<[HTMLAttributes<"div">]> | undefined Render the element yourself  | 
Indicator
top-(--top) left-(--left) w-(--width) h-(--height) preset-filled rounded data-disabled:opacity-50| Prop | Default | Type | 
|---|---|---|
element | — | Snippet<[HTMLAttributes<"div">]> | undefined Render the element yourself  | 
Item
btn cursor-pointer z-10 flex-1 data-focus-visible:outline-2 data-focus-visible:outline-offset-1 data-focus-visible:outline-surface-950-50 data-readonly:pointer-events-none data-disabled:pointer-events-none data-disabled:opacity-50| Prop | Default | Type | 
|---|---|---|
value | — | string | 
disabled | — | boolean | undefined | 
invalid | — | boolean | undefined | 
element | — | Snippet<[HTMLAttributes<"label">]> | undefined Render the element yourself  | 
ItemText
transition-colors data-[state=checked]:text-surface-contrast-950 data-[state=checked]:dark:text-surface-contrast-50| Prop | Default | Type | 
|---|---|---|
element | — | Snippet<[HTMLAttributes<"span">]> | undefined Render the element yourself  | 
ItemHiddenInput
| Prop | Default | Type | 
|---|---|---|
element | — | Snippet<[HTMLAttributes<"input">]> | undefined Render the element yourself  |