Docs
Progress
Progress
Displays an indicator showing the completion progress of a task, typically displayed as a progress bar.
🚧 Under development
Installation
Copy and paste the following code into your project.
"use client"
import * as React from "react"
import { Progress as ProgressPrimitive } from "@base-ui-components/react/progress"
import { cn } from "@/lib/utils"
const Progress = ProgressPrimitive.Root
const ProgressTrack = React.forwardRef<
React.ElementRef<typeof ProgressPrimitive.Track>,
React.ComponentPropsWithoutRef<typeof ProgressPrimitive.Track>
>(({ className, ...props }, ref) => (
<ProgressPrimitive.Track
ref={ref}
className={cn(
"block h-2 w-full overflow-hidden rounded-full bg-secondary",
className,
)}
{...props}
/>
))
ProgressTrack.displayName = ProgressPrimitive.Track.displayName
const ProgressIndicator = React.forwardRef<
React.ElementRef<typeof ProgressPrimitive.Indicator>,
React.ComponentPropsWithoutRef<typeof ProgressPrimitive.Indicator>
>(({ className, ...props }, ref) => (
<ProgressPrimitive.Indicator
ref={ref}
className={cn("block bg-primary transition-all duration-500", className)}
{...props}
/>
))
ProgressIndicator.displayName = ProgressPrimitive.Indicator.displayName
export { Progress, ProgressTrack, ProgressIndicator }
Update the import paths to match your project setup.
Usage
import {
Progress,
ProgressTrack,
ProgressIndicator,
} from "@/components/ui/progress"
<Progress value={33}>
<ProgressTrack>
<ProgressIndicator />
</ProgressTrack>
</Progress>