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.
Only one priority can be active.
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.
Only invited members can view this project.
Everyone in the workspace can find and open it.
Anyone with the link can view the project.
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`.