bearnie

Radio

Single selection from multiple options.

Installation

npx bearnie add radio
npx bearnie add radio

Usage

import { RadioGroup, RadioGroupItem } from "@/components/ui"
<RadioGroup name="options" defaultValue="one">
<div class="flex items-center gap-3">
  <RadioGroupItem value="one" id="option-one" />
  <Label for="option-one">Option One</Label>
</div>
<div class="flex items-center gap-3">
  <RadioGroupItem value="two" id="option-two" />
  <Label for="option-two">Option Two</Label>
</div>
</RadioGroup>

Examples

Horizontal

With description

Default spacing for most users.

Reduced spacing for power users.

Disabled

Card style

Standalone Radio

Anatomy

  • RadioGroup - Container that manages the radio group state
  • RadioGroupItem - Individual radio button within a group
  • Radio - Standalone radio input for simple use cases

Props

RadioGroup

PropTypeDefaultDescription
namestring-Required. Groups radio buttons together
defaultValuestring-Initially selected value
disabledbooleanfalseDisables all items in the group
requiredbooleanfalseMakes selection required
orientation”horizontal” | “vertical""vertical”Layout direction
classstring-Additional CSS classes

RadioGroupItem

PropTypeDefaultDescription
valuestring-Required. Form value when selected
idstring-Element ID for label association
disabledbooleanfalseDisables this item
checkedbooleanfalseControlled checked state
classstring-Additional CSS classes

Radio

PropTypeDefaultDescription
idstring-Element ID for label association
namestring-Groups radio buttons together
valuestring-Form value when selected
checkedbooleanfalseDefault checked state
disabledbooleanfalseDisables the radio
requiredbooleanfalseMakes selection required
classstring-Additional CSS classes