Radio Group

A set of mutually exclusive options where only one can be selected at a time.

Default

Vertical by default. Control it with value and onValueChange, or let it manage itself with defaultValue. Name the group with aria-label or aria-labelledby so screen readers announce what the choice is for.

Disabled

Disable a single item, or the whole group with disabled on RadioGroup.

Read only

Keeps the selected appearance but ignores clicks and keyboard focus.

RadioGroup Properties

value
string

Controlled selected value.

defaultValue
string

Initial selected value when uncontrolled.

onValueChange
(value: string) => void

Called when the selected value changes.

orientation
'horizontal''vertical'

Layout direction of the items.

Default: vertical

disabled
boolean

Disables every item.

Default: false

className
string

Additional classes for the group.

RadioGroupItem Properties

valueRequired
string

Value submitted when this item is selected.

children
ReactNode

Label rendered next to the radio control.

disabled
boolean

Disables this item.

Default: false

readOnly
boolean

Prevents interaction while keeping the current appearance.

Default: false

selectedIcon
ReactNode

Replaces the default dot shown in the selected state.

disableHover
boolean

Removes all hover feedback.

Default: false

disablePadding
boolean

Removes the row padding. Hover then darkens the empty radio's border instead of filling a background.

Default: false

className
string

Additional classes for the row.

radioClassName
string

Additional classes for the radio control.

childrenWrapperClassName
string

Additional classes for the element that wraps the label.