{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "progress-stepper",
  "title": "Progress Stepper",
  "description": "Communicate completed, current, and upcoming stages in a compact horizontal sequence.",
  "dependencies": [
    "lucide-react@^1.33.0"
  ],
  "registryDependencies": [
    "https://components.exe.xyz/r/utils.json"
  ],
  "files": [
    {
      "path": "src/components/blocks/progress-stepper.tsx",
      "content": "import { Check } from \"lucide-react\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst steps = [\"Scope\", \"Configure\", \"Review\", \"Launch\"]\n\nexport function ProgressStepper({ current = 2 }: { current?: number }) {\n  return (\n    <ol className=\"grid grid-cols-4 gap-0\" aria-label=\"Progress\">\n      {steps.map((step, index) => {\n        const complete = index < current\n        const active = index === current\n\n        return (\n          <li\n            key={step}\n            className=\"relative flex flex-col items-center gap-2 text-center\"\n          >\n            {index > 0 && (\n              <span\n                className={cn(\n                  \"absolute top-3 right-1/2 h-px w-full\",\n                  complete || active ? \"bg-primary\" : \"bg-border\"\n                )}\n              />\n            )}\n            <span\n              className={cn(\n                \"relative z-10 flex size-6 items-center justify-center rounded-full border font-mono text-[10px]\",\n                complete && \"border-primary bg-primary text-primary-foreground\",\n                active && \"border-primary bg-background text-primary\",\n                !complete &&\n                  !active &&\n                  \"border-border bg-background text-muted-foreground\"\n              )}\n            >\n              {complete ? <Check className=\"size-3\" /> : index + 1}\n            </span>\n            <span\n              className={cn(\n                \"text-xs\",\n                active ? \"font-medium\" : \"text-muted-foreground\"\n              )}\n            >\n              {step}\n            </span>\n          </li>\n        )\n      })}\n    </ol>\n  )\n}\n",
      "type": "registry:block"
    }
  ],
  "type": "registry:block"
}