Aliases
check box
CheckboxIndependent choice with checked and indeterminate states.
Aliases
check box
Foundations
Checkbox for independent choices that can be combined.Checkbox when only one option can be selected; use RadioGroup or SegmentedControl.Checkbox as a binary system toggle; use Switch when the state reads as on or off.native checkbox
control The interactive binary or indeterminate control.
state mark
mark Shows checked or indeterminate state.
visible label
label Explains the choice.
supporting copy
description Optional clarifying helper copy.
| Name | Type | Default | Description |
|---|---|---|---|
checked | boolean | false | Controlled checked state. |
indeterminate | boolean | false | Controlled mixed state. |
label | string | — | Visible checkbox label. |
description | string | — | Supporting helper copy. |
error | string | — | Optional problem text for grouped or validated use. |
required | boolean | false | Marks the checkbox as required. |
disabled | boolean | false | Disables interaction. |
name | string | — | Native form field name. |
id | string | — | Optional explicit id for label binding. |
size | 'sm' | 'md' | 'md' | Chooses the checkbox size recipe. |
onChange | (detail: { checked: boolean; indeterminate: boolean }) => void | — | Receives the checked and mixed state after native activation. |
theme | ThemeContract | — | Sets the theme used to resolve component styles. |
| Name | Payload | Description |
|---|---|---|
change | { checked: boolean; indeterminate: boolean } | Fires with the checked and mixed state. |
| Name | Description |
|---|---|
default | Checkbox is prop-driven and does not expose custom slots. |
Variants
default: Checkbox uses one structural recipe and varies by size and state.Sizes
sm: Compact checkbox for dense UI.md: Default checkbox size.States
unchecked: No selection.checked: The choice is selected.indeterminate: A mixed or partial aggregate state.disabled: Semantically disabled and visibly muted.Semantics
Keyboard
Screen readers
Checklist
Implementation notes
A single checkbox with label and description.
<Checkbox label="Send notes" description="Share the update with the team." checked={true} /> Use the mixed state when some child items are selected.
<Checkbox label="Select all" indeterminate={true} /> Disabled state stays visible without pretending the option disappeared.
<Checkbox label="Enable automation" disabled={true} /> Calculated fixtures; browser evidence is not collected. Layout estimates use declared text behavior and maximum token values.
size=sm
size=md
size=lg
size=sm
size=md
size=lg
size=sm
size=md
size=lg