Overview
Linear · circular · segmented · multi · battery · glow · bubble
Progress sizes
Show determinate progress when the system can estimate how much work is complete.
Use progress indicators for operations with a meaningful duration. Pair the visual with a clear label and, when useful, a numeric value.
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 Progress 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
Sizes
Five track heights: xs, sm, md (default), lg, xl
Colors
Six color variants — default, secondary, success, warning, error, and gradient
Variants
default · gradient · glow · striped · indeterminate · bubble · thin
With label + helper text
label and helperText add context; valueLabel overrides the auto percentage
6.5 GB of 10 GB used
Add your bio and profile photo to complete
High usage detected
Segmented
SegmentedProgress divides the bar into discrete blocks — supports per-segment colors
Circular
CircularProgress renders an SVG arc — showValue is true by default
Multi-color stacked
MultiProgress stacks segments end-to-end — showLegend adds a color key
File upload simulation
Progress variant switches from default → striped (uploading) → glow (complete)
design-system-v2.zip
48 MB
Skill bars
Combine color and label for a skills or proficiency breakdown
Progress props
SegmentedProgress props
CircularProgress props
MultiProgress props
Props / API
Api Props
Props