Radio Group
Allows users to select a single option from a list of mutually exclusive choices.
Structure
API Reference
The radio group component used to group radio items under a common name for form submission.
Property | Type | Description |
---|---|---|
disabled | boolean | Whether or not the radio group is disabled. This prevents the user from interacting with it. Default: false |
required | boolean | Whether or not the radio group is required. Default: false |
loop | boolean | Whether or not the radio group should loop through the items when navigating with the arrow keys. Default: false |
orientation | enum 'vertical' | 'horizontal' | The orientation of the radio group. Default: 'vertical' |
value | string | The value of the currently selected radio item. You can bind to this value to control the radio group's value from outside the component. Default: —— undefined |
onValueChange | function (value: string | undefined) => void | A callback that is fired when the radio group's value changes. Default: —— undefined |
asChild | boolean | Whether to use render delegation with this component or not. Default: false |
el | HTMLDivElement | The underlying DOM element being rendered. You can bind to this to programatically interact with the element. Default: —— undefined |
Slot Property | Type | Description |
---|---|---|
builder | object { [k: string]: any; action: Action | The builder attributes and actions to apply to the element if using the |
Data Attribute | Value | Description |
---|---|---|
data-orientation | enum 'vertical' | 'horizontal' | The orientation of the radio group. |
data-radio-group-root | —— | Present on the root element. |
An radio item, which must be a child of the RadioGroup.Root
component.
Property | Type | Description |
---|---|---|
disabled | boolean | Whether or not the radio item is disabled. This prevents the user from interacting with it. Default: false |
value * Required | string | The value of the radio item. This should be unique for each radio item in the group. Default: —— undefined |
asChild | boolean | Whether to use render delegation with this component or not. Default: false |
el | HTMLButtonElement | The underlying DOM element being rendered. You can bind to this to programatically interact with the element. Default: —— undefined |
Slot Property | Type | Description |
---|---|---|
builder | object { [k: string]: any; action: Action | The builder attributes and actions to apply to the element if using the |
Data Attribute | Value | Description |
---|---|---|
data-disabled | —— | Present when the radio item is disabled. |
data-value | —— | The value of the radio item. |
data-state | enum 'checked' | 'unchecked' | The radio item's checked state. |
data-orientation | enum 'vertical' | 'horizontal' | The orientation of the parent radio group. |
data-radio-group-item | —— | Present on the radio item element. |
A hidden input that is used to submit the radio group's value with a form. It can receive all the same props/attributes as a normal HTML input.
Property | Type | Description |
---|---|---|
asChild | boolean | Whether to use render delegation with this component or not. Default: false |
el | HTMLInputElement | The underlying DOM element being rendered. You can bind to this to programatically interact with the element. Default: —— undefined |
A component which is used to indicate the radio item's checked state. Any children of this component will only be visible when the radio item is checked.
Property | Type | Description |
---|---|---|
asChild | boolean | Whether to use render delegation with this component or not. Default: false |
el | HTMLDivElement | The underlying DOM element being rendered. You can bind to this to programatically interact with the element. Default: —— undefined |
Slot Property | Type | Description |
---|---|---|
attrs | object Record<string, string> | Additional attributes to apply to the element if using the |
checked | boolean | Whether or not the radio item is checked. |
Data Attribute | Value | Description |
---|---|---|
data-radio-item-indicator | —— | Present on the indicator element. |