Feedback
ProgressBar
The linear bar rendered by `Progress`'s bar variants, used internally.
<UiProgressBar />Reach for Progress instead
This is the bar Progress renders for its default, outline, lg and lg-outline variants, split out so the ring and the bar can be maintained separately. Everything here is reachable through Progress, which is the component to use unless you need the bar without its wrapper.
Model value
modelValue is the current progress, read against max. It's clamped into range, so a value past the maximum fills the bar rather than overflowing it.
Max
max is the value that counts as full. Set it to the real total — bytes, steps, seats — and pass raw numbers as modelValue rather than converting to a percentage yourself.
Color
color themes the filled portion of the bar. The track behind it stays neutral, so the fill is what carries the meaning.
Variant
variant covers two independent choices at once: height (default or the thicker lg) and whether the track is filled or drawn as an outline. outline reads lighter on a busy surface, where a filled track would compete with everything around it.
Label
label is the text above the bar, naming what's progressing. Without it the bar is just a quantity with no subject.
Show value
showValue prints the percentage at the end of the label row. Worth adding whenever the exact figure matters as much as the shape — a quota, a download — and worth leaving off when only the direction does.
Indeterminate
indeterminate runs a looping animation instead of a fixed fill, for work that's underway but whose completion you can't measure. modelValue, buffer and showValue are all ignored while it's set.
Buffering
buffering sweeps a highlight across the buffered region, saying the gap ahead of the fill is actively being filled in. It's the same sweep Shimmer uses, so a loading bar and a loading placeholder move in step.
Buffer
buffer draws a lighter fill behind the current value — how far ahead the data has loaded compared with where playback or processing has actually reached. The classic use is a video scrubber, where the two never advance together.
API Reference
Generated from the component's source — props, slots and emits as the component actually declares them.
Props
"primary" | "secondary" | "success" | "warning" | "error" | "info" | "pending" | "neutral"'neutral'numberSlots
default