Progress

Progress bar that glides smoothly to each new value and gently pulses while the amount is unknown. On reaching 100% it can fold into a done line with a check and a soft pool of light.

Preview

Props Changes apply to the live preview above.

Installation

npx @lumioui/cli add progress

Usage

import { Progress } from "@/components/ui/progress/progress";
<Progress />

Examples

Animated

A savings pot in a banking app.

Glass

A frosted lane over the photo being posted, the way a social app shows an upload riding over the media itself.

Indeterminate

A system software update.

API reference

Prop Type Default
value* number

0–100

—
className string —
indicatorClassName string

Fill bar classes.

—
indeterminate boolean

Unknown progress — the whole track breathes in place, slowly; nothing travels.

—
glass boolean

Glass lane — a taller frosted pill instead of the hairline.

false
completeLabel string

Reaching 100 becomes a moment: a light pool blooms under the bar, it holds, then the bar folds into this line with a drawn check.

—
onComplete () => void

Fires when the bar reaches 100 and its moment has held.

—