Phoundry UI

ProgressBar

Horizontal progress indicator with determinate and indeterminate modes. Supports semantic color variants and optional percentage display.

import { ProgressBar } from 'phoundry-ui';

The bar exposes role="progressbar" with aria-valuenow when determinate. Omit value or pass a negative number for indeterminate (no aria-valuenow).

Determinate

Determinate

Show code
<ProgressBar value={65} />

Variants

Show code
<ProgressBar value={100} variant="success" />
<ProgressBar value={50} variant="warning" />
<ProgressBar value={25} variant="error" />

Sizes

sm
md
lg
Show code
<ProgressBar value={60} size="sm" />
<ProgressBar value={60} size="md" />
<ProgressBar value={60} size="lg" />

With Value

65%
Show code
<ProgressBar value={value} showValue />

Clamped values

Useful when raw progress can overshoot before you snap to complete.

100%
Show code
<ProgressBar value={150} variant="success" showValue />
<!-- Renders as 100% — values are clamped to 0–100. -->

Indeterminate

Indeterminate

Show code
<ProgressBar />

Props

PropTypeDefaultDescription
value number0–100 for determinate progress. Omit or pass -1 for indeterminate.
variant 'default' | 'success' | 'warning' | 'error''default'Semantic color of the progress fill.
size 'sm' | 'md' | 'lg''md'Bar thickness.
showValue booleanfalseDisplay percentage text next to the bar.
class stringAdditional CSS classes.

Usage tips

  • Omit value or pass -1 for an animated indeterminate bar.
  • Use variant="success" when progress reaches 100% to reinforce completion.
  • Enable showValue for file uploads or long-running tasks where users need exact progress.