Radio Group
Installation
Install the component via the CLI in one command.
npx shadcn@latest add @intentui/radio
Composed components
When you install this component via the CLI, it automatically loads all composed components, so you don’t need to add them individually.
Manual installation
Use this approach if you prefer to install and wire up the component yourself instead of using the CLI.
npm install react-aria-components tailwind-merge
Anatomy
import { Description, Label } from "@/components/ui/field"
import { RadioField, RadioGroup, Radio } from "@/components/ui/radio"<RadioGroup name="billing">
<Label>Billing Cycle</Label>
<Description>
Select how often you'd like to be billed
</Description>
<RadioField value="monthly">
<Radio>Monthly</Radio>
<Description>Billed every month</Description>
</RadioField>
<RadioField value="quarterly">
<Radio>Quarterly</Radio>
<Description>Billed every 3 months</Description>
</RadioField>
<RadioField value="yearly">
<Radio>Yearly</Radio>
<Description>
Billed once per year with a discount
</Description>
</RadioField>
</RadioGroup>Examples
Orientation
By default, the radio group is vertically oriented. You can change it to a horizontal orientation by using the orientation prop.
Without label
The label is optional. You can omit it if not needed.
Description
Add a description to the radio group by passing the description prop.
Validation
Try submit the form without selecting any radio option to see the validation error.
Controlled
You can control the radio group value using the value prop.
Uncontrolled
You can control the radio group value using the defaultValue prop.
Disabled
When the radio group is disabled, it cannot be interacted with.
Component API
RadioField
RadioField extends the React Aria Components <RadioField> component.
classNamestringRadio
Radio extends the React Aria Components <RadioButton> component.
classNamestringRadioGroup
RadioGroup extends the React Aria Components <RadioGroup> component.
classNamestringSee the React Aria for the full API reference.
