Components/Progress

Feedback component

Progress

Ink-bordered progress indicator in two variants: a linear fill bar and a numbered step track. Supports 7 fill tones, 3 bar sizes, indeterminate shimmer, and labels.

DisplayBar + steps7 tonesIndeterminate
components/feedback/Progress.jsx
Bar variant — interactive
Drag slider to change value
Value: 65%
Uploads65%
Storage65%
Processing65%
Loading
Bar sizes
size: sm (8px) · md (14px, default) · lg (20px)
sm — 8px
md — 14px
lg — 20px
Steps variant
variant="steps" · click to advance
3
4
AccountDetailsPaymentDone
Tones
6 fill colors
lime
violet
coral
teal
pink
neon
Props
PropTypeDefaultDescription
variant"bar"|"steps""bar"Selects between linear bar or numbered step track.
valuenumber0Current value. For bar: 0–max. For steps: current step (1-based).
maxnumber100Bar variant only: maximum value.
stepsnumber4Steps variant only: total step count.
tone"lime"|"violet"|"coral"|"pink"|"teal"|"neon"|"yellow""lime"Fill color.
size"sm"|"md"|"lg""md"Bar height: sm=8px, md=14px, lg=20px.
labelstringnullMono label shown above the bar.
showValuebooleanfalseShow percentage beside the label.
indeterminatebooleanfalseShimmer animation instead of fill width.
labelsstring[][]Steps variant: labels below each step node.
Usage
import { Progress } from "components/feedback/Progress";

// Bar
<Progress value={65} label="Uploads" showValue tone="lime" />

// Indeterminate
<Progress indeterminate tone="violet" />

// Steps with labels
<Progress
  variant="steps"
  steps={4}
  value={2}
  labels={["Account", "Details", "Payment", "Done"]}
/>