Overview
6 colors · 3 sizes · card style · CheckboxGroup with select all
Default checkbox
Use a checkbox when someone can independently turn an option on or off. The choice takes effect when the surrounding form is submitted.
Checkboxes support independent binary choices and multi-select groups. Use a radio group when only one option can be selected.
Anatomy
- Root container and spacing boundary.
- Primary content and optional secondary metadata.
- State indicators and utility affordances (icons, badges, controls).
- Optional helper text, grouping, and behavioral wrappers.
When to use
- Choose Checkbox when a repeated, structured interaction is required.
- Use it for clear, consistent operations across similar surfaces.
- Use in forms, lists, and action workflows where clarity matters.
When not to use
- Do not use only for decorative layout without interaction meaning.
- Avoid duplicating the same behavior without distinct user context.
- Prefer simpler HTML or textual content for static, non-interactive labels.
Variants
Component variants should be documented by API props and examples below.
States
Common states include idle, active, disabled, focused, and loading/pending states where applicable.
Behavior
Behavior should remain deterministic and keyboard-friendly, with clear visual feedback for every state transition.
Accessibility
- Use semantic structure and visible labels whenever possible.
- Preserve keyboard navigation and focus visibility.
- Announce status and changes when context requires it.
Content guidelines
- Prefer short, clear labels.
- Keep content actions scannable and outcome-oriented.
- Use consistent wording across similar components.
Examples
States
Unchecked, checked, indeterminate, disabled, and disabled checked
Colors
Six color variants — default, secondary, success, warning, error, and info
Sizes
sm, md (default), and lg checkbox sizes
Shape
Square (rounded corners, default) or circle shape
With helper + error
Helper text shown below the label; error state with message and required indicator
You must accept the terms to continue
Card style
Bordered card layout — ideal for plan selection and feature toggles
CheckboxGroup — select all
Managed group with auto indeterminate state on the select-all parent
Selected: read, write
Checkbox props
CheckboxGroup props
Props / API
Api Props
Props