Progress

Visual indicators showing the completion status of a task or process.

80%
1import { Progress, ProgressGradient, ProgressCircle } from "@/zeroui/components/progress";
2
3export default function Example() {

Variants

default
success
warning
destructive
1<Progress value={60} variant="default" />
2<Progress value={60} variant="success" />
3<Progress value={60} variant="warning" />

Sizes

sm
md
lg
1<Progress value={50} size="sm" />
2<Progress value={50} size="md" />
3<Progress value={50} size="lg" />

With Value Label

75%
1<Progress value={75} showValue />

Indeterminate

1<Progress indeterminate />

Gradient Progress

blue
purple
green
orange
rainbow (animated)
1<ProgressGradient value={70} gradient="blue" />
2<ProgressGradient value={70} gradient="purple" />
3<ProgressGradient value={70} gradient="green" />

Circular Progress

25%
50%
75%
90%
1<ProgressCircle value={25} size="sm" />
2<ProgressCircle value={50} size="md" />
3<ProgressCircle value={75} size="lg" />

Circular Variants

65%
default
65%
success
65%
warning
65%
destructive
65%
gradient
1<ProgressCircle value={65} variant="default" />
2<ProgressCircle value={65} variant="success" />
3<ProgressCircle value={65} variant="warning" />

Animated

0%
0%
1const [value, setValue] = useState(0);
2// Animate value from 0 to 100
3

Steps Progress

Details
2
Payment
3
Review
4
Complete
1const steps = [
2 { label: "Details" },
3 { label: "Payment" },

Steps Variants

numbered (default)
Details
Payment
3
Review
4
Complete
minimal
Details
Payment
Review
Complete
1<ProgressSteps steps={steps} currentStep={2} variant="numbered" />
2<ProgressSteps steps={steps} currentStep={2} variant="minimal" />

Installation

npx zeroui@latest add progress

Props

nametypedefaultdescription
valuenumber0-
maxnumber100-
size"sm" | "md" | "lg""md"-
variant"default" | "success" | "warning" | "destructive""default"-
showValuebooleanfalse-
indeterminatebooleanfalse-