Checkbox

A boolean input with checked, unchecked, and indeterminate states.

Default

Uncontrolled — manages its own state.

Controlled

Use checked + onCheckedChange for controlled state.

Indeterminate

Use indeterminate for partially selected states — common in select-all patterns.

Disabled

With Label

Use id on Checkbox and pair with Label when the label needs to be positioned separately.