Skip to content
THE COMPONENT LIBRARY
Skip to content

Component reference

Progress

Explain storage usage with a labelled progress meter.

Preview

Live preview

Changes apply to this preview only.

Storage used

Width adapts to the available space

More examples

Different configurations and compositions using the real Pimolu API. Each preview runs independently and follows the site appearance.

Sizes

The size drives the track height and the gap.

Open preview

Variants

The variant sets the tone of the filled part.

Open preview

States

Determinate, indeterminate, formatted, clamped.

Open preview

Usage

Match value/max and the displayed unit; provide explicit text for thresholds.

API reference

Generated from the public TypeScript declarations. Native HTML attributes are inherited where the component extends them; this reference includes Pimolu props and selected common native attributes.

PimoluProgressProps

Type source
PimoluProgressProps public API
NameTypeDefaultDescription
valuenumber | undefined—Current value between 0 and `max`. Leave it undefined for an indeterminate progress bar.
maxnumber | undefined100Upper bound.
size"sm" | "md" | "lg" | undefined"md"Visual size of the track.
variant"primary" | "secondary" | "neutral" | "success" | "warning" | "danger" | undefined"primary"Tone of the filled part.
labelstring | undefined—Visible label, also used as the accessible name.
showValueboolean | undefinedfalseDisplay the current value next to the label.
formatValue((value: number, max: number) => string) | undefined—Formats the visible readout, for example (value) => `${value} of 40`.
valueLabelstring | undefined—Overrides the value announced by assistive technology.
onChangeChangeEventHandler<HTMLDivElement, Element> | undefined—Standard React/HTML attribute.
defaultValuestring | number | readonly string[] | undefined—Standard React/HTML attribute.
classNamestring | undefined—Standard React/HTML attribute.
styleCSSProperties | undefined—Standard React/HTML attribute.
aria-labelstring | undefined—Defines a string value that labels the current element.
onClickMouseEventHandler<HTMLDivElement> | undefined—Standard React/HTML attribute.
value

number | undefined

No default extracted.

Current value between 0 and `max`. Leave it undefined for an indeterminate progress bar.

max

number | undefined

Default: 100

Upper bound.

size

"sm" | "md" | "lg" | undefined

Default: "md"

Visual size of the track.

variant

"primary" | "secondary" | "neutral" | "success" | "warning" | "danger" | undefined

Default: "primary"

Tone of the filled part.

label

string | undefined

No default extracted.

Visible label, also used as the accessible name.

showValue

boolean | undefined

Default: false

Display the current value next to the label.

formatValue

((value: number, max: number) => string) | undefined

No default extracted.

Formats the visible readout, for example (value) => `${value} of 40`.

valueLabel

string | undefined

No default extracted.

Overrides the value announced by assistive technology.

onChange

ChangeEventHandler<HTMLDivElement, Element> | undefined

No default extracted.

Standard React/HTML attribute.

defaultValue

string | number | readonly string[] | undefined

No default extracted.

Standard React/HTML attribute.

className

string | undefined

No default extracted.

Standard React/HTML attribute.

style

CSSProperties | undefined

No default extracted.

Standard React/HTML attribute.

aria-label

string | undefined

No default extracted.

Defines a string value that labels the current element.

onClick

MouseEventHandler<HTMLDivElement> | undefined

No default extracted.

Standard React/HTML attribute.

Accessibility

  • Give the meter a name and do not rely on bar color to explain remaining capacity.
Read the accessibility guide →