Skip to Content

Radio

Radio buttons built on Base UI’s Radio and RadioGroup primitives. Includes a group wrapper for managing single-selection among multiple options.

Import

import { Radio } from "chunks-ui";

Basic Usage

<Radio.Group defaultValue="option-a"> <Radio.Item value="option-a">Option A</Radio.Item> <Radio.Item value="option-b">Option B</Radio.Item> <Radio.Item value="option-c">Option C</Radio.Item> </Radio.Group>

Controlled

function ControlledRadio() { const [value, setValue] = useState("a"); return ( <Radio.Group value={value} onValueChange={setValue}> <Radio.Item value="a">Option A</Radio.Item> <Radio.Item value="b">Option B</Radio.Item> </Radio.Group> ); }

Disabled

Disable individual radio buttons or the entire group:

<Radio.Group disabled> <Radio.Item value="a">Disabled option</Radio.Item> </Radio.Group>

Compound Parts

PartDescription
Radio.GroupWrapper that manages value state. Renders a vertical flex column by default.
Radio.ItemConvenience compound: label + radio + indicator in one element.
Radio.RootIndividual radio button. Renders a circular control.
Radio.IndicatorThe inner dot that appears when the radio is selected.

Radio.Group Props

PropTypeDefaultDescription
valuestringControlled selected value
defaultValuestringInitial value (uncontrolled)
onValueChange(value: string) => voidCalled when selection changes
disabledbooleanfalseDisable all radio buttons in the group
classNamestringAdditional CSS classes

Radio.Root Props

PropTypeDefaultDescription
valuestringrequiredThe value this radio represents
disabledbooleanfalseDisable this radio button
classNamestringAdditional CSS classes
Last updated on