Komponents
Components

Components

Progress

Determinate and indeterminate progress feedback.

newfree
pnpm add @komponents/uiCanonical TypeScript source · tree-shakeable subpaths

Progress uses React Aria progressbar semantics and tabular percentages.

Default progress65%
Gradient fill82%
Glass material track45%
Success state100%
Storage alert92%
Indeterminate…

Usage

Snippet
import { Progress } from "@komponents/ui";

<Progress label="Bundle sync" value={47} />

Accessibility

  • React Aria progressbar semantics: aria-valuenow, aria-valuemin, and aria-valuemax track value, minValue, and maxValue
  • label renders a real <Label> tied to the bar — pass one whenever the bar is not already described by nearby text
  • isIndeterminate drops the numeric value so assistive tech announces "busy" rather than a misleading percentage
  • The percentage readout uses tabular numerals so it does not jitter while counting
  • The indeterminate sweep falls back to a pulse under prefers-reduced-motion

On this page