ProgressBar
Indicates the progress of a determinate operation (with a known percentage).
For indeterminate indicators, use Spinner.
When to use
| ✅ Use when… | 🚫 Avoid when… |
|---|---|
|
|
Demo
loading
Examples
<ProgressBar progress={42} />
<ProgressBar progress={75} color="success" showProgressLabel />
<ProgressBar progress={100} size="large" color="tertiary" />Conditional rendering upon reaching 100%
function TimeredProgressBar({ progress }) {
return progress !== 100 ? (
<ProgressBar progress={progress} showProgressLabel />
) : (
<Paper mb="large" alignItems="center" deepColor="information">
<Text variant="h6" color="information">
Operation completed.
</Text>
</Paper>
);
}Properties
Prop | Type | Default | Description |
|---|---|---|---|
border | boolean | false | Rounds the overlay's corners. Without it, the bar has square corners. |
color | "primary" | "secondary" | "tertiary" | "success" | "warning" | "danger" | "neutral" | primary | Bar color. Uses the theme's semantic palette. |
progress | number | 0 | Current value as a percentage (0–100). Out-of-range values are clamped
implicitly by the CSS transform. |
showProgressLabel | boolean | false | Displays the `progress` value as text next to the bar. |
size | "small" | "medium" | "large" | "extraSmall" | medium | Bar size (height). |
Besides the props above, every component accepts the layout props (spacing, color, flex/grid, sizing, border) — not repeated here.
See also
- Storybook story: Components / ProgressBar
- Indeterminate alternative:
Spinner