{ "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "progress", "title": "Progress", "description": "Linear progress bar for visualizing completion or loading progress.", "dependencies": [ "@base-ui/react", "class-variance-authority" ], "files": [ { "path": "packages/ui/src/progress.tsx", "content": "\"use client\";\n\nimport { Progress as ProgressPrimitive } from \"@base-ui/react/progress\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\n\nimport { cn } from \"./utils\";\n\n// ---------------------------------------------------------------------------\n// Variants\n// ---------------------------------------------------------------------------\n\nconst progressVariants = cva(\"\", {\n variants: {\n color: {\n default: \"[--progress-indicator:var(--primary)]\",\n success: \"[--progress-indicator:oklch(0.627_0.194_149.214)]\", // green-500\n warning: \"[--progress-indicator:oklch(0.769_0.188_70.08)]\", // amber-500\n destructive: \"[--progress-indicator:var(--destructive)]\",\n },\n },\n defaultVariants: {\n color: \"default\",\n },\n});\n\n// ---------------------------------------------------------------------------\n// Types\n// ---------------------------------------------------------------------------\n\nexport type ProgressColor = NonNullable<\n VariantProps[\"color\"]\n>;\n\nexport interface ProgressProps extends ProgressPrimitive.Root.Props {\n /** Color variant of the progress indicator */\n color?: ProgressColor;\n}\n\nexport interface ProgressTrackProps extends ProgressPrimitive.Track.Props {}\nexport interface ProgressIndicatorProps\n extends ProgressPrimitive.Indicator.Props {}\nexport interface ProgressLabelProps extends ProgressPrimitive.Label.Props {}\nexport interface ProgressValueProps extends ProgressPrimitive.Value.Props {}\n\n// ---------------------------------------------------------------------------\n// Progress (Root)\n// ---------------------------------------------------------------------------\n\nfunction Progress({\n className,\n children,\n color = \"default\",\n ...props\n}: ProgressProps) {\n return (\n \n {children ?? (\n \n \n \n )}\n \n );\n}\n\n// ---------------------------------------------------------------------------\n// ProgressTrack\n// ---------------------------------------------------------------------------\n\nfunction ProgressTrack({ className, ...props }: ProgressTrackProps) {\n return (\n \n );\n}\n\n// ---------------------------------------------------------------------------\n// ProgressIndicator\n// ---------------------------------------------------------------------------\n\nfunction ProgressIndicator({ className, ...props }: ProgressIndicatorProps) {\n return (\n \n );\n}\n\n// ---------------------------------------------------------------------------\n// ProgressLabel\n// ---------------------------------------------------------------------------\n\nfunction ProgressLabel({ className, ...props }: ProgressLabelProps) {\n return (\n \n );\n}\n\n// ---------------------------------------------------------------------------\n// ProgressValue\n// ---------------------------------------------------------------------------\n\nfunction ProgressValue({ className, ...props }: ProgressValueProps) {\n return (\n \n );\n}\n\n// ---------------------------------------------------------------------------\n// Exports\n// ---------------------------------------------------------------------------\n\nexport {\n Progress,\n ProgressIndicator,\n ProgressLabel,\n ProgressTrack,\n ProgressValue,\n progressVariants,\n};\n", "type": "registry:ui" } ], "type": "registry:ui" }