Progress Bar

Horizontal bar showing completion percentage. Two sizes, three label positions, and an animated live demo.

import{ ProgressBar } from "@pepulux/ui"

Label positions — none / right / bottom

Choose where the percentage label appears.

label=none (default)

label=right

30%

label=bottom

90%

Sizes — sm / md

sm = 4px track, md = 8px track.

size=sm (4px)

60%

size=md (8px)

60%

Multiple bars — storage breakdown

Stack multiple bars with different values to show usage per category.

Storage
74%
Bandwidth
45%
API calls
20%

Animated — live upload progress

Pair with state updates to show real-time upload or processing progress.

Uploading file…0%

Boundary values — 0% and 100%

0%
50%
100%

Label: Top floating / Bottom floating

Figma Label — the percentage sits in a chip that follows the progress.

40%
70%

Props

PropTypeDefaultDescription
value*number—Current progress value (0 – max)
maxnumber100Maximum value. Value is clamped to [0, max].
label"none" | "right" | "bottom" | "top-floating" | "bottom-floating""none"Figma Label — False | Right | Bottom | Top floating | Bottom floating
size"sm" | "md""md"Track height — sm 4px / md 8px
aria-labelstring—Accessible label for the progressbar role
classNamestring—Additional CSS classes on the wrapper
Base component → Progress indicatorswww.pepulux.com

Notes and documentation

Space for notes, documentation, and best practices for using these components.

Show how far along

Use a bar for linear tasks and a circle for compact spaces. Add a label when the exact percentage matters.