{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "activity-timeline",
  "title": "Activity Timeline",
  "description": "Present recent events, actors, and timestamps in a connected chronological list.",
  "dependencies": [
    "lucide-react@^1.33.0"
  ],
  "registryDependencies": [
    "https://components.exe.xyz/r/card.json"
  ],
  "files": [
    {
      "path": "src/components/blocks/activity-timeline.tsx",
      "content": "import { Circle } from \"lucide-react\"\n\nimport { Card, CardContent, CardHeader, CardTitle } from \"@/components/ui/card\"\n\nconst timelineItems = [\n  [\"Deployment promoted\", \"A. Rivera\", \"4 min\"],\n  [\"Threshold changed to 82%\", \"M. Chen\", \"38 min\"],\n  [\"Review requested\", \"Workflow\", \"2 hr\"],\n  [\"Record created\", \"System\", \"Yesterday\"],\n]\n\nexport function ActivityTimeline() {\n  return (\n    <Card>\n      <CardHeader>\n        <CardTitle>Activity timeline</CardTitle>\n      </CardHeader>\n      <CardContent>\n        <ol className=\"relative space-y-0\">\n          {timelineItems.map(([title, actor, time], index) => (\n            <li key={title} className=\"relative flex gap-3 pb-5 last:pb-0\">\n              {index < timelineItems.length - 1 && (\n                <span className=\"absolute top-4 bottom-0 left-[7px] w-px bg-border\" />\n              )}\n              <Circle className=\"relative z-10 mt-1 size-4 fill-background text-primary\" />\n              <div className=\"min-w-0 flex-1\">\n                <p className=\"text-sm font-medium\">{title}</p>\n                <p className=\"text-xs text-muted-foreground\">\n                  {actor} · {time}\n                </p>\n              </div>\n            </li>\n          ))}\n        </ol>\n      </CardContent>\n    </Card>\n  )\n}\n",
      "type": "registry:block"
    }
  ],
  "type": "registry:block"
}