Progress

Displays an indicator showing the completion progress of a task, typically displayed as a progress bar.

Props

PropTypeDefaultDescription
valuenumber0The progress value (0-100)
maxnumber100The maximum value
classNamestring-Additional CSS classes
...progress propsComponentProps<typeof ProgressPrimitive.Root>-All Radix Progress props are supported

Basic Usage

0%
50%
100%
<div className="w-60 space-y-6">
  <div className="flex flex-col gap-1 items-end">
    <span className="text-uk-md text-text-secondary">0%</span>
    <Progress value={0} />
  </div>
  <div className="flex flex-col gap-1 items-end">
    <span className="text-uk-md text-text-secondary">50%</span>
    <Progress value={50} />
  </div>
  <div className="flex flex-col gap-1 items-end">
    <span className="text-uk-md text-text-secondary">100%</span>
    <Progress value={100} />
  </div>
</div>

Animated Progress

Animated Progress0%
function AnimatedProgress() {
  const [progress, setProgress] = useState(0);
  
  useEffect(() => {
    const timer = setInterval(() => {
      setProgress((prev) => {
        if (prev >= 100) return 0;
        return prev + 10;
      });
    }, 500);
    
    return () => clearInterval(timer);
  }, []);
  
  return (
    <div className="w-60 space-y-4">
      <div className="flex justify-between">
        <span className="text-sm font-medium">Animated Progress</span>
        <span className="text-sm text-muted-foreground">{progress}%</span>
      </div>
      <Progress value={progress} />
    </div>
  );
}