Radio
Lets a user pick one option from a set of mutually exclusive choices.
Show codeHide code
Installation
import { Radio, RadioGroup } from "@makeplane/propel/components/radio";
import { RadioGroupFieldOption } from "@makeplane/propel/components/radio-group-field";Usage
import { Field, FieldLabel } from "@makeplane/propel/components/field";
import { RadioGroup } from "@makeplane/propel/components/radio";
import { RadioGroupFieldOption } from "@makeplane/propel/components/radio-group-field";
export default function BasicDemo() {
return (
<Field name="priority">
<FieldLabel size="lg" inset={false}>
Priority
</FieldLabel>
<RadioGroup density="comfortable" defaultValue="low">
<RadioGroupFieldOption size="lg" value="low" label="Low" />
<RadioGroupFieldOption size="lg" value="medium" label="Medium" />
<RadioGroupFieldOption size="lg" value="high" label="High" />
</RadioGroup>
</Field>
);
}Examples
Bare radios
Drop to the bare Radio when you compose your own rows; give each option an accessible name with aria-label. This names the control for assistive tech only — there’s no visible label text, so prefer RadioGroupFieldOption (which renders a real, visible label) whenever the row has room for one.
Show codeHide code
Field composition
The ready-made RadioGroupField owns the legend, options, and
helper text, so the group serializes under its name with no extra wiring. Its orientation prop
can stack the option rows vertically or arrange them in a wrapping horizontal row.
Show codeHide code
Density
density sets the row spacing: comfortable (8px gap) or compact (flush rows, e.g. a settings panel where options read like menu items).
Show codeHide code
With description
Each option can carry supporting text, announced as the radio’s description.
Show codeHide code
Disabled
disabled mutes the rows and blocks selection; set it on the group or on a single option.
Show codeHide code
Controlled
Show codeHide code
API Reference
Radio
The ready-made radio option: grafts Base UI's Radio behavior onto the styled Radio ring and
RadioIndicator dot. The 16px ring and 8px inner dot follow Figma node 1838-11057; the selected
and disabled states come from the primitive. Use disabled for a non-editable (read-only)
option. Must be rendered inside a RadioGroup.
RadioGroup
Groups a set of Radio options so at most one can be selected at a time. Grafts Base UI's
radio-group behavior (single-select state + roving focus) onto the styled RadioGroup frame,
which owns the required row-spacing density.