{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "progress",
  "title": "Progress",
  "description": "Displays the status of a task that takes a long time.",
  "dependencies": [
    "@base-ui/react"
  ],
  "registryDependencies": [
    "utils"
  ],
  "files": [
    {
      "path": "registry/ui/progress.tsx",
      "content": "import { Progress as BaseProgress } from \"@base-ui/react/progress\";\n\nimport { cn } from \"@/registry/lib/utils\";\n\nfunction ProgressRoot({ className, ...props }: BaseProgress.Root.Props) {\n  return (\n    <BaseProgress.Root\n      className={cn(\"relative w-full\", className)}\n      data-slot=\"progress\"\n      {...props}\n    />\n  );\n}\n\nfunction ProgressTrack({ className, ...props }: BaseProgress.Track.Props) {\n  return (\n    <BaseProgress.Track\n      className={cn(\n        \"bg-primary/20 relative h-2 w-full overflow-hidden rounded-full\",\n        className,\n      )}\n      data-slot=\"progress-track\"\n      {...props}\n    />\n  );\n}\n\nfunction ProgressIndicator({\n  className,\n  ...props\n}: BaseProgress.Indicator.Props) {\n  return (\n    <BaseProgress.Indicator\n      className={cn(\n        \"bg-primary h-full transition-all duration-500 ease-in-out\",\n        className,\n      )}\n      data-slot=\"progress-indicator\"\n      {...props}\n    />\n  );\n}\n\nfunction ProgressLabel({ className, ...props }: BaseProgress.Label.Props) {\n  return (\n    <BaseProgress.Label\n      className={cn(\"text-sm font-medium\", className)}\n      data-slot=\"progress-label\"\n      {...props}\n    />\n  );\n}\n\nfunction ProgressValue({ className, ...props }: BaseProgress.Value.Props) {\n  return (\n    <BaseProgress.Value\n      className={cn(\"text-sm text-muted-foreground\", className)}\n      data-slot=\"progress-value\"\n      {...props}\n    />\n  );\n}\n\nfunction Progress({\n  className,\n  value,\n  trackClassName,\n  indicatorClassName,\n  ...props\n}: BaseProgress.Root.Props & {\n  trackClassName?: string;\n  indicatorClassName?: string;\n}) {\n  return (\n    <BaseProgress.Root\n      className={cn(\"relative w-full\", className)}\n      data-slot=\"progress\"\n      value={value}\n      {...props}\n    >\n      <BaseProgress.Track\n        className={cn(\n          \"bg-primary/20 relative h-2 w-full overflow-hidden rounded-full\",\n          trackClassName,\n        )}\n        data-slot=\"progress-track\"\n      >\n        <BaseProgress.Indicator\n          className={cn(\n            \"bg-primary h-full transition-all duration-500 ease-in-out\",\n            indicatorClassName,\n          )}\n          data-slot=\"progress-indicator\"\n        />\n      </BaseProgress.Track>\n    </BaseProgress.Root>\n  );\n}\n\nexport {\n  ProgressRoot,\n  ProgressTrack,\n  ProgressIndicator,\n  ProgressLabel,\n  ProgressValue,\n  // Composite component\n  Progress,\n};\n",
      "type": "registry:ui"
    }
  ],
  "type": "registry:ui"
}