Checkbox
Binary or tri-state input for boolean selection. Supports indeterminate state for partial group selection.
- Checkbox Group
- Checkbox Card
- Checkbox Button
- Checkbox Toggle
- Checkbox Wrapper
- Choice Card
- Choice Group
- Option Group
- Checkboxes
- Choicebox
- Selectgroup
- Selection group
- SelectPanel
- Multi-select
- Option Selector
- Selection Control
Overview
Purpose
The Checkbox component binary or tri-state input for boolean selection. supports indeterminate state for partial group selection.within our design system. It follows our primitive layer principles, ensuring consistency and reusability across applications.
When to Use
- Use when you need collecting user input
- Appropriate for inputs contexts
- Follows primitive component patterns
When Not to Use
- Avoid when simpler alternatives exist
- Don't use for display-only content
- Consider alternatives for edge cases
Live Example
Anatomy
Understanding the structure of the Checkbox component helps ensure proper implementation and customization.
| Property | Description | Type |
|---|---|---|
| root | Slot rendered into [data-slot="checkbox"]. | Root |
| indicator | Slot rendered into [data-slot="checkbox-indicator"]. | Slot (required) |
| checkboxWrapper | Checkbox wrapper region of the component. | Part |
| checkIcon | Check icon region of the component. | Part |
| indeterminateIcon | Indeterminate icon region of the component. | Part |
| checkboxIndicator | Checkbox indicator region of the component. | Part |
Variants & States
API Reference
Props
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
size | CheckboxSize | No | 'md' | — |
checked | boolean | No | {checked | — |
defaultChecked | boolean | No | {defaultChecked | — |
indeterminate | boolean | No | false | — |
disabled | boolean | No | false | — |
onChange | (event: React.ChangeEvent<HTMLInputElement>) => void | No | {onChange | — |
className | string | No | '' | — |
id | string | No | providedId || generatedId | — |
Accessibility
Standards Compliance
This component follows WCAG 2.1 AA guidelines and includes proper ARIA attributes, keyboard navigation, and screen reader support.
Common Pitfalls
- Missing indeterminate state
- small click target
- keyboard traps.
Accessibility Checklist
- ○ Keyboard navigation support
- ○ Screen reader compatibility
- ○ Color contrast compliance
- ○ Focus management
- ○ ARIA attributes
- ○ Reduced motion support
Usage Guidelines
Do
- Use consistent spacing and sizing
- Follow established patterns
- Provide clear labels and descriptions
- Test with assistive technologies
Don't
- Override core functionality
- Use without proper context
- Ignore accessibility requirements
- Modify without design system approval
Examples
Advanced Usage
Complex patterns including composition, state management, and real-world scenarios.
Development Tools
Use these tools to analyze the component's performance, design tokens, and accessibility during development.
Contribute
Help us improve the Checkbox component documentation. Found an issue or have suggestions?