Overview
6 colors · 3 sizes · icons · label positions · card style
Default switch
Use a switch for a setting that takes effect immediately when it is turned on or off.
Describe the enabled state with a positive label. Use Checkbox when the choice belongs to a form that is submitted later.
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 Switch 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
Off, on, disabled off, and disabled on
Colors
Six color variants — default, secondary, success, warning, error, and info
Sizes
sm, md (default), and lg switch sizes
With icons
Show icons inside the thumb using checkedIcon and uncheckedIcon props
Label positions
Label can appear on the right (default) or left of the switch
Card style
Bordered card layout — ideal for settings panels
Props / API
Api Props
Props