Use these notes to decide quickly whether this is the right DK component for the job.
Decision guide
Choose SegmentedControl when the interaction should feel deliberate, documented, and reusable across product surfaces.
If the scenario is more specialized than the current SegmentedControl contract, prefer a simpler component or build a dedicated workflow on top of the lower-level DK primitives.
Do
Keep the SegmentedControl label, value, or status language direct enough to scan quickly.
Use the documented size and state recipes instead of inventing one-off variants in product code.
Do not
Do not hide the main purpose of SegmentedControl behind decorative copy or overloaded surface treatments.
Do not stretch SegmentedControl into a workflow it was not designed to handle just because the visuals are close.
Usage
When to use
Prefer these situations when choosing this component.
Use SegmentedControl for compact mode switches such as day/week/month or card/list.
Keep labels short so the control stays scan-friendly.
Usage
When not to use
These patterns are better served by a different component or a simpler surface.
Do not use SegmentedControl for long or descriptive options; use RadioGroup instead.
Do not use it when the options should live in a toolbar or tabset with larger panel changes.
Anti-patterns
Using SegmentedControl as a generic layout container instead of a purpose-built interaction or content surface.
Forking the documented recipe in product code instead of extending the shared DK contract.
Migration notes
Migrate legacy segmentedcontrol usage by mapping existing variants and states onto the documented DK props before porting any custom styling.
Treat the docs examples as the reference contract for accessibility and event behavior during adoption.
Anatomy
Structural parts
The anatomy explains which pieces matter to the recipe and accessibility model.
segmented group
root
Holds the compact option cluster.
single segment
item
Each mutually exclusive segment button.
API
Public interface
The docs contract distinguishes props, DOM events, and slots so integration behavior is explicit.