Skip to content

Progress

Displays an indicator showing the completion progress of a task.

Uploading…
x

Install

Bash
npx @madeui/cli add progress

Usage

TSX
import {
  Progress,
  ProgressLabel,
  ProgressValue,
} from '@/components/ui/progress';

Composition

TSX
<Progress value={66}>
  <ProgressLabel />
  <ProgressValue />
</Progress>

Progress renders the track and indicator itself; ProgressLabel and ProgressValue are optional children placed above the track.

Label

Use ProgressLabel and ProgressValue to add a label and percentage text.

Storage used
x

Controlled

Drive value from state — here a button advances it.

x

API reference

Built on Base UI Progress. All props are forwarded to the underlying Base UI parts — pass value (or value={null} for indeterminate), min, max; see the Base UI Progress API reference.

ProgressValue formats via Intl.NumberFormat using the runtime locale. In SSR apps, pass an explicit locale on Progress (e.g. locale="en-US") — otherwise the server and a browser with a different locale render different text and React reports a hydration mismatch. Every part also accepts a style prop (StyleXStyles, merged last). ProgressTrack and ProgressIndicator are exported for custom layouts.

Was this page helpful?