{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "gantt-row",
  "type": "registry:ui",
  "title": "Gantt row",
  "description": "One row of a Gantt timeline: a task label beside a track with a bar placed by start and end values on a shared scale. Stack rows to build a React roadmap.",
  "dependencies": [],
  "registryDependencies": [
    "utils"
  ],
  "files": [
    {
      "path": "registry/ui/gantt-row.tsx",
      "type": "registry:ui",
      "target": "components/ui/gantt-row.tsx",
      "content": "\"use client\"\nimport * as React from \"react\"\nimport { cn } from \"@/lib/utils\"\nfunction GanttRow({\n  label,\n  start,\n  end,\n  max = 100,\n  className,\n}: {\n  label: string\n  start: number\n  end: number\n  max?: number\n  className?: string\n}) {\n  const left = (start / max) * 100\n  const width = ((end - start) / max) * 100\n  return (\n    <div data-slot=\"gantt-row\" className={cn(\"grid grid-cols-[140px_1fr] items-center gap-3\", className)}>\n      <span className=\"truncate text-sm text-fg\">{label}</span>\n      <div className=\"relative h-8 rounded-lg bg-sunken\">\n        <div\n          className=\"absolute top-1 bottom-1 rounded-md bg-accent/80\"\n          style={{ left: `${left}%`, width: `${Math.max(width, 2)}%` }}\n        />\n      </div>\n    </div>\n  )\n}\nexport { GanttRow }\n"
    }
  ]
}
