Radio
Single-choice picker primitive. Shares 4 Figma sets with Checkbox via the `Type` variant axis (Type=Radio shows the dot-in-circle fill state). Use Group sets for vertical option lists, Single sets for inline use. Per Figma DS, both primitives live in one component family - this entry is a catalog convenience for designers who reach for "Radio" by name.
Live preview
Checkbox · variant matrix
| Default | Checked | Indeterminate | Disabled (off) | Disabled (on) | |
|---|---|---|---|---|---|
| Primary · sm | |||||
| Primary · md | |||||
| Tertiary · sm | |||||
| Tertiary · md |
Interactive · checkbox
Radio · variant matrix
| Default | Checked | Disabled | |
|---|---|---|---|
| Primary · sm | |||
| Primary · md | |||
| Tertiary · sm | |||
| Tertiary · md |
Interactive · radio group
Import & files
import { Radio } from "packages/@dol/ui/src/radio/Radio";- Source file
packages/@dol/ui/src/radio/Radio.tsx
Spec
Spec Props · Axes · Usage
Props
| Prop | Type | Default | Description |
|---|---|---|---|
tone | 'brand' | 'tertiary' | 'success' | 'danger' | 'brand' | — |
variant | 'bold' | 'matte' | 'bold' | — |
size | 'sm' | 'md' | 'lg' | 'xl' | 'md' | — |
label | ReactNode | — | — |
description | ReactNode | — | — |
wrapperClassName | string | — | — |
checked / defaultChecked / onChange / name / value / disabled | native radio input props | — | — |
Variants · Tones · Sizes
- Variants
- boldmatte
- Tones
- brandtertiarysuccessdanger
- Sizes
- smmdlgxl
Usage
Use Radio for mutually exclusive single-choice lists where users should compare all options at once. Use Checkbox for multi-select lists, Switch for immediate binary settings, and Select/Combobox for long option lists.
Examples
Examples 4
- Core states - brand bold
- Size scale - Figma 12 / 16 / 20 / 24
- Tones and visual styles
- Complex list rows
Figma source
Figma source 4 sets
- Page
- Checkbox, Radio, Chip
- Sets
- 4
- Primary set
-
Checkbox-Radio/Single· 108 variants Open in Figma →
Checkbox-Radio/Single AI context
AI context
Markdown summary safe to paste into Claude / ChatGPT / Cursor — includes name, status, import, props, axes, examples, figma source.
# RadioSlug: `checkbox-radio`Domain: general · Category: inputDesign: stable · Code: codedAlias of: `checkbox-radio`
## DescriptionSingle-choice picker primitive. Shares 4 Figma sets with Checkbox via the `Type` variant axis (Type=Radio shows the dot-in-circle fill state). Use Group sets for vertical option lists, Single sets for inline use. Per Figma DS, both primitives live in one component family - this entry is a catalog convenience for designers who reach for "Radio" by name.
## Import```tsimport { Radio } from "packages/@dol/ui/src/radio/Radio";```Source: `packages/@dol/ui/src/radio/Radio.tsx`
## Props (7)| Prop | Type | Default | Description ||---|---|---|---|| `tone` | `'brand' | 'tertiary' | 'success' | 'danger'` | 'brand' | || `variant` | `'bold' | 'matte'` | 'bold' | || `size` | `'sm' | 'md' | 'lg' | 'xl'` | 'md' | || `label` | `ReactNode` | — | || `description` | `ReactNode` | — | || `wrapperClassName` | `string` | — | || `checked / defaultChecked / onChange / name / value / disabled` | `native radio input props` | — | |
## AxesVariants: `bold`, `matte`Tones: `brand`, `tertiary`, `success`, `danger`Sizes: `sm`, `md`, `lg`, `xl`
## UsageUse Radio for mutually exclusive single-choice lists where users should compare all options at once. Use Checkbox for multi-select lists, Switch for immediate binary settings, and Select/Combobox for long option lists.
## Examples- **Core states - brand bold**- **Size scale - Figma 12 / 16 / 20 / 24**- **Tones and visual styles**- **Complex list rows**
## Figma sourcePage: Checkbox, Radio, ChipSets: 4Primary: Checkbox-Radio/SingleOpen: https://www.figma.com/design/DqRd7UQkNGcdvYL5fwZxlf/?node-id=7313-67242Related
Status legend
Status legend
- Stable
- Design + code shipped, full DS parity.
- Partial
- Design ready, some variants/states missing in code.
- Coded
- Implemented in code; design canon may not yet exist.
- Design only / Code only
- One side present; awaiting the other.
Phase 1.X-5.2 detail view — read-only metadata. Code preview + recipe + live demo deferred (need @dol/ui registry integration).