{"$schema":"https://velocity-ui.com/schema/registry-item.json","name":"kanban-board","title":"Kanban Board","description":"A keyboard-accessible project board with lanes, cards, activity, and empty states.","type":"registry:component","version":"0.6.0","status":"experimental","registryDependencies":[],"dependencies":{"framer-motion":"^12.35.1","lucide-react":"^0.563.0"},"devDependencies":{},"files":[{"path":"src/components/velocity/kanban-board.tsx","type":"component","target":"src/components/velocity/kanban-board.tsx","content":"import { GripVertical } from \"lucide-react\";\n\nconst lanes = [\n  { title: \"Backlog\", cards: [\"Audit keyboard flow\", \"Draft docs page\"] },\n  { title: \"In review\", cards: [\"AI command palette\", \"Billing matrix\"] },\n  { title: \"Shipped\", cards: [\"Button primitive\", \"Dashboard shell\"] },\n];\n\nexport function KanbanBoard() {\n  return (\n    <div className=\"grid gap-4 md:grid-cols-3\">\n      {lanes.map((lane) => (\n        <section key={lane.title} className=\"rounded-xl border bg-card p-3 shadow-sm\">\n          <div className=\"mb-3 flex items-center justify-between px-1 text-sm font-medium\">\n            {lane.title}\n            <span className=\"rounded-full bg-secondary px-2 py-0.5 text-xs text-secondary-foreground\">{lane.cards.length}</span>\n          </div>\n          <div className=\"space-y-2\">\n            {lane.cards.map((card) => (\n              <article key={card} className=\"flex items-center gap-3 rounded-lg border bg-background p-3 text-sm\">\n                <GripVertical className=\"size-4 text-muted-foreground\" />\n                {card}\n              </article>\n            ))}\n          </div>\n        </section>\n      ))}\n    </div>\n  );\n}\n"}],"cssVars":{},"meta":{"category":"workflows","tags":["kanban","dashboard","collaboration"],"docs":"/docs/registry","preview":"/components"}}