v0.1 public beta early access on GitHub
Home / Components / progress-ring

Progress RingiOS

Circular progress ring with animated stroke arc, center slot and indeterminate spin.

$ npx lumioui add progress-ring
import { ProgressRing } from "@/components/ui/progress-ring/progress-ring";
Props8
value? number 0–100. Ignored while `indeterminate` is set.
size? number Square size in px. Default 96.
strokeWidth? number Ring stroke width in px. Default 8.
color? keyof ColorTokens Theme color token for the arc. Default "primary".
indeterminate? boolean Unknown progress — renders a spinning arc segment instead of the fill.
label? string Accessible label. Default "Progress, N%" (or "Loading" when indeterminate).
children? React.ReactNode Center slot — label, icon, or any content rendered inside the ring.
className? string
Progress Ring — Indeterminateindeterminate.tsx
progress-ring/variants/indeterminate.tsx open

Circular progress ring with animated stroke arc, center slot and indeterminate spin.

Progress Ring — Labeledlabeled.tsx
progress-ring/variants/labeled.tsx open

Circular progress ring with animated stroke arc, center slot and indeterminate spin.