Checkbox
Radix-based checkbox. Supports indeterminate, disabled, and a tone="destructive" form-error variant.
Basic
<label className="flex items-center gap-2">
<Checkbox id="terms" />
<Label htmlFor="terms">Accept terms and conditions</Label>
</label>States
<>
<Checkbox />
<Checkbox defaultChecked />
<Checkbox checked="indeterminate" />
<Checkbox disabled />
<Checkbox disabled defaultChecked />
</>Destructive tone
<label className="flex items-center gap-2">
<Checkbox tone="destructive" id="delete" />
<Label htmlFor="delete">Delete my account</Label>
</label>Sizes
<>
<Checkbox size="md" defaultChecked />
<Checkbox size="lg" defaultChecked />
</>Group
<div className="flex flex-col gap-3">
<Label>Sidebar</Label>
{["Recents", "Home", "Applications", "Desktop"].map((item) => (
<label key={item} className="flex items-center gap-2">
<Checkbox id={item} />
<Label htmlFor={item} weight="normal" className="cursor-pointer">{item}</Label>
</label>
))}
</div>Props
| Prop | Type | Default |
|---|---|---|
| checked | boolean | "indeterminate" | — |
| onCheckedChange | (v: boolean | "indeterminate") => void | — |
| defaultChecked | boolean | false |
| disabled | boolean | false |
| tone | "default" | "destructive" | "default" |
| size | "md" | "lg" | "md" |
| …rest | Radix Checkbox.Root props | — |
Source
packages/react/src/components/checkbox.tsx · Figma node 2819:21780