1.9k
'use client' import * as ProgressPrimitive from '@radix-ui/react-progress' import * as React from 'react' import { cn } from '@/lib/utils' const Progress = React.forwardRef< React.ElementRef<typeof ProgressPrimitive.Root>, React.ComponentPropsWithoutRef<typeof ProgressPrimitive.Root>>(({ className, value, ...props }, ref) => ( <ProgressPrimitive.Root ref={ref} className={cn( 'relative h-4 w-full overflow-hidden rounded-base border-2 border-border bg-bw', className, )} {...props} > <ProgressPrimitive.Indicator className="h-full w-full flex-1 border-r-2 border-border bg-main transition-all" style={{ transform: `translateX(-${100 - (value || 0)}%)` }} /> </ProgressPrimitive.Root>))Progress.displayName = ProgressPrimitive.Root.displayName export { Progress }
import * as React from 'react' import { Progress } from '@/components/ui/progress'
const [progress, setProgress] = React.useState(13); React.useEffect(() => { const timer = setTimeout(() => setProgress(66), 500); return () => clearTimeout(timer);}, [])
<Progress value={progress} className="w-[60%]" />
xd