Summary
Introduce a Checkbox primitive for binary selection.
Intended role in Lattice
Checkbox provides a token-driven, accessible binary control without domain logic.
Proposed API
checked / onCheckedChange (controlled)
indeterminate: true | false
size: sm | md | lg
state: default | invalid | disabled | loading
Variants
size: sm | md | lg
state: default | invalid | disabled | loading
Non-goals
- Does not implement group behavior (use composition).
- Does not accept arbitrary colors.
States
default | hover | focus-visible | checked | indeterminate | invalid | disabled | loading.
Accessibility checklist
- Supports keyboard toggle behavior.
- Uses
aria-checked for indeterminate state.
- Focus-visible styles required.
Summary
Introduce a
Checkboxprimitive for binary selection.Intended role in Lattice
Checkboxprovides a token-driven, accessible binary control without domain logic.Proposed API
checked/onCheckedChange(controlled)indeterminate:true | falsesize:sm | md | lgstate:default | invalid | disabled | loadingVariants
size:sm | md | lgstate:default | invalid | disabled | loadingNon-goals
States
default | hover | focus-visible | checked | indeterminate | invalid | disabled | loading.Accessibility checklist
aria-checkedfor indeterminate state.