{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "sprint-timeline",
  "title": "Sprint Timeline",
  "type": "registry:block",
  "files": [
    {
      "path": "packages/registry-react/blocks/sprint-timeline/SprintTimeline.tsx",
      "content": "'use client'\n\nimport * as React from 'react'\nimport { Clock, Target, Zap } from 'lucide-react'\nimport { Badge } from '@/components/ui/badge'\nimport { Gantt, GanttTree, GanttTimeline, type GanttTask } from '@/components/ui/gantt'\n\nexport interface SprintTimelineProps {\n  sprintName?: string\n  startDate?: string\n  endDate?: string\n}\n\nconst defaultSprintTasks: GanttTask[] = [\n  {\n    id: 'sp-1',\n    name: 'Gantt Component Specs & Tokens',\n    startDate: '2026-08-10',\n    endDate: '2026-08-13',\n    progress: 100,\n    status: 'done',\n    priority: 'high',\n    assignee: { name: 'Sarah Connor', initials: 'SC' },\n  },\n  {\n    id: 'sp-2',\n    name: 'Vue 3.5 SFC Implementation',\n    startDate: '2026-08-12',\n    endDate: '2026-08-18',\n    progress: 90,\n    status: 'in-progress',\n    priority: 'urgent',\n    dependencies: ['sp-1'],\n    assignee: { name: 'Marcus Rivera', initials: 'MR' },\n  },\n  {\n    id: 'sp-3',\n    name: 'React 19 Parity Mirror',\n    startDate: '2026-08-14',\n    endDate: '2026-08-19',\n    progress: 80,\n    status: 'in-progress',\n    priority: 'high',\n    dependencies: ['sp-1'],\n    assignee: { name: 'Priya Nair', initials: 'PN' },\n  },\n  {\n    id: 'sp-4',\n    name: 'Mid-Sprint Review & Demo',\n    startDate: '2026-08-17',\n    endDate: '2026-08-17',\n    isMilestone: true,\n    status: 'done',\n  },\n  {\n    id: 'sp-5',\n    name: 'Composed Roadmap & Sprint Blocks',\n    startDate: '2026-08-18',\n    endDate: '2026-08-22',\n    progress: 40,\n    status: 'in-progress',\n    priority: 'medium',\n    dependencies: ['sp-2', 'sp-3'],\n    assignee: { name: 'Sundar Krishnan', initials: 'SK' },\n  },\n  {\n    id: 'sp-6',\n    name: 'Sprint Retrospective & Release',\n    startDate: '2026-08-24',\n    endDate: '2026-08-24',\n    isMilestone: true,\n    status: 'todo',\n    dependencies: ['sp-5'],\n  },\n]\n\nexport function SprintTimeline({\n  sprintName = 'Sprint 42: UI Registry 2.3',\n  startDate = '2026-08-10',\n  endDate = '2026-08-24',\n}: SprintTimelineProps) {\n  const [tasks] = React.useState<GanttTask[]>(defaultSprintTasks)\n  const completedPoints = 28\n  const totalPoints = 35\n  const daysRemaining = 6\n\n  return (\n    <div\n      data-uipkge=\"\"\n      data-slot=\"sprint-timeline\"\n      className=\"border-border bg-card space-y-5 rounded-xl border p-5 shadow-xs\"\n    >\n      <div className=\"border-border/60 flex flex-col gap-4 border-b pb-4 sm:flex-row sm:items-center sm:justify-between\">\n        <div className=\"space-y-1\">\n          <div className=\"flex items-center gap-2\">\n            <Badge variant=\"outline\" className=\"text-primary border-primary/30\">\n              <Zap className=\"mr-1 size-3\" />\n              Active Sprint\n            </Badge>\n            <span className=\"text-muted-foreground font-mono text-xs\">\n              {startDate} &rarr; {endDate}\n            </span>\n          </div>\n          <h3 className=\"text-foreground text-lg font-bold\">{sprintName}</h3>\n        </div>\n\n        <div className=\"flex items-center gap-4 font-mono text-xs\">\n          <div className=\"flex items-center gap-1.5\">\n            <Target className=\"text-muted-foreground size-4\" />\n            <span>\n              {completedPoints} / {totalPoints} Story Points\n            </span>\n          </div>\n          <div className=\"flex items-center gap-1.5 font-semibold text-amber-500\">\n            <Clock className=\"size-4\" />\n            <span>{daysRemaining} Days Left</span>\n          </div>\n        </div>\n      </div>\n\n      <Gantt tasks={tasks} scale=\"day\" rowHeight={38} treeWidth={260} className=\"h-72 border-none shadow-none\">\n        <div className=\"flex min-h-0 flex-1 overflow-hidden\">\n          <GanttTree showPriority={true} />\n          <GanttTimeline showTodayLine={true} showDependencies={true} />\n        </div>\n      </Gantt>\n    </div>\n  )\n}\n",
      "type": "registry:block",
      "target": "~/components/blocks/sprint-timeline/SprintTimeline.tsx"
    },
    {
      "path": "packages/registry-react/blocks/sprint-timeline/index.ts",
      "content": "export { SprintTimeline, type SprintTimelineProps } from './SprintTimeline'\n",
      "type": "registry:block",
      "target": "~/components/blocks/sprint-timeline/index.ts"
    }
  ],
  "dependencies": [
    "lucide-react"
  ],
  "devDependencies": [],
  "registryDependencies": [
    "https://uipkge.dev/r/react/gantt.json",
    "https://uipkge.dev/r/react/badge.json",
    "https://uipkge.dev/r/react/button.json",
    "https://uipkge.dev/r/react/card.json"
  ],
  "description": "Agile sprint tracking timeline block: 2-week deliverable Gantt schedule with story point burndown indicators, milestone demos, dependency handoffs, and assignee tags.",
  "categories": [
    "dashboard",
    "data"
  ]
}