registry:component

Progress

v1.0.0ga

Linear progress indicator primitive for async status.

Registry Endpoint
Open JSON

https://registry.aavya.com/r/ui-progress.json

npx shadcn@latest add https://registry.aavya.com/r/ui-progress.json

Live Preview

Upload progress

66% complete

Usage Snippet
import Progress from '@/components/ui/progress.tsx'

export default function Example() {
  return (
    <div className="p-6">
      <Progress />
    </div>
  )
}
Source Preview
'use client'

import * as React from 'react'

import * as ProgressPrimitive from '@radix-ui/react-progress'

import { cn } from '@/lib/utils'

function Progress({ className, value, ...props }: React.ComponentProps<typeof ProgressPrimitive.Root>) {
  return (
    <ProgressPrimitive.Root
      data-slot='progress'
      className={cn('bg-primary/20 relative h-2 w-full overflow-hidden rounded-full', className)}
      {...props}
    >
      <ProgressPrimitive.Indicator
        data-slot='progress-indicator'
        className='bg-primary h-full w-full flex-1 transition-all'
        style={{ transform: `translateX(-${100 - (value || 0)}%)` }}
      />
    </ProgressPrimitive.Root>
  )
}

export { Progress }