Skip to main content

Radio

Radio group for mutually exclusive selection. Built on Radix UI RadioGroup.

Import

import { RadioGroup } from '@kikumi3n/ui';

Usage

<RadioGroup
label="Plan"
options={[
{ value: 'free', label: 'Free' },
{ value: 'pro', label: 'Pro' },
{ value: 'enterprise', label: 'Enterprise' },
]}
/>

Controlled

const [plan, setPlan] = useState('free');

<RadioGroup
label="Plan"
value={plan}
onChange={setPlan}
options={[
{ value: 'free', label: 'Free' },
{ value: 'pro', label: 'Pro' },
]}
/>

API

RadioGroup

PropTypeDefaultDescription
labelstringGroup label
optionsRadioOption[]requiredRadio options
valuestringControlled value
defaultValuestringUncontrolled initial value
onChange(value: string) => voidChange handler
disabledbooleanfalseDisable all options

RadioOption

PropTypeDescription
valuestringOption value
labelstringOption label
disabledbooleanDisable this option

Accessibility

Built on Radix UI RadioGroup:

  • Arrow keys navigate between options
  • Space selects the focused option
  • Proper role="radiogroup" and role="radio"