Checkbox
Boolean checkbox component. Works with ngModel, formControl, and formControlName.
Keyboard: Space to toggle. ARIA: role="checkbox", aria-checked, aria-disabled.
Sizes
Small
Tight layouts, table cells, or dense form rows.
Medium (default)
Standard form controls and most UI contexts.
Large
Touch targets, prominent CTAs, or accessibility-first interfaces.
States
Default (unchecked)
Uncontrolled — click to toggle.
Default (checked)
Starts checked — uncontrolled.
Disabled (unchecked)
Non-interactive via [disabled].
Disabled (checked)
Checked + disabled via FormControl.disable().
Inline label
Label after (default)
Label appears after the checkbox (labelPosition="after").
Label before
Label appears before the checkbox (labelPosition="before").
Template-driven (ngModel)
Two-way binding
Bound via [(ngModel)].
ngModel value: false
Reactive forms
FormControl
Bound via [formControl].
value: false | touched: false
setDisabledState
Enable/disable the control from code.
Custom token
Override colours via CSS custom properties.