Skip to main content
ProgressBar displays a value from 0 to 100 and exposes progressbar semantics. Give it an ariaLabel that identifies the operation, and show a text status when users need the numeric value.

Usage

State ownership

value is required and controlled by the application. There is no defaultValue mode. The component does not start a request or advance numeric progress by itself. Use Loader or CircularProgressBar when progress is unknown.

Countdown

countdownDurationInMs animates the bar from full to empty. Pausing preserves the current animation position. Completion calls onCountdownComplete; mount a fresh instance to restart the animation. The animation does not change value or its accessible numeric value. This example hides the decorative bar from assistive technology and announces completion separately. If remaining time matters, track and display it in application state. Use application timing for deadlines, since the callback follows a visual animation.

Appearance

barColor and backgroundColor accept CSS colors, including theme variables. withBorderRadius rounds the track and indicator. className styles the root; other native attributes are not forwarded.

Props

string
Accessible name describing the operation being measured.
string
default:"none"
CSS background color of the track.
string
CSS color of the filled bar. Defaults to the primary text color.
string
CSS class applied to the progress root.
number
Starts a visual animation from full to empty over this duration in milliseconds. Does not update value.
boolean
default:"false"
Pauses the countdown animation without resetting its position.
(() => void)
Called when the countdown animation ends.
number
required
Current progress from 0 to 100. Also supplies the accessible value during a countdown.
boolean
default:"false"
Rounds the track and indicator corners.