[
  {
    "name": "button",
    "title": "Button",
    "description": "A button with solid/outline/ghost/soft variants, tones, sizes, and a loading state."
  },
  {
    "name": "badge",
    "title": "Badge",
    "description": "A small status/label pill with solid, soft, and outline variants."
  },
  {
    "name": "avatar",
    "title": "Avatar",
    "description": "An image avatar with a loading/error fallback to initials."
  },
  {
    "name": "input",
    "title": "Input",
    "description": "A text input with label, description, and error states."
  },
  {
    "name": "switch",
    "title": "Switch",
    "description": "A toggle switch built on a native accessible button with role=switch."
  },
  {
    "name": "checkbox",
    "title": "Checkbox",
    "description": "A checkbox with checked, unchecked, and indeterminate states."
  },
  {
    "name": "card",
    "title": "Card",
    "description": "A composable content container: Header, Title, Description, Body, Footer."
  },
  {
    "name": "tabs",
    "title": "Tabs",
    "description": "Accessible tabs with roving tabindex and arrow-key navigation."
  },
  {
    "name": "tooltip",
    "title": "Tooltip",
    "description": "A hover/focus tooltip, portaled and positioned with the built-in placement engine."
  },
  {
    "name": "modal",
    "title": "Modal",
    "description": "A focus-trapped, portaled dialog with overlay, enter/exit animation, and scroll lock."
  },
  {
    "name": "dropdown-menu",
    "title": "Dropdown Menu",
    "description": "A portaled, positioned menu with roving tabindex, typeahead, and outside-click/ESC dismiss."
  },
  {
    "name": "toast",
    "title": "Toast",
    "description": "An imperative toast() queue with a portaled viewport, auto-dismiss, and pause-on-hover."
  },
  {
    "name": "text",
    "title": "Text",
    "description": "Sane default body typography from the 8-step type scale, with a swappable tag."
  },
  {
    "name": "heading",
    "title": "Heading",
    "description": "Sane default heading typography, with semantic level and visual size set independently."
  },
  {
    "name": "tilt-card",
    "title": "Tilt Card",
    "description": "Wraps children in a mouse-tracked 3D perspective tilt, 1:1 with the cursor."
  },
  {
    "name": "magnetic",
    "title": "Magnetic",
    "description": "Pulls children toward the cursor on hover, springs back with a slight overshoot on release."
  },
  {
    "name": "spotlight",
    "title": "Spotlight",
    "description": "A cursor-tracked radial spotlight glow behind content, visible on hover."
  },
  {
    "name": "reveal",
    "title": "Reveal",
    "description": "Fades and 3D-rotates children in the first time they scroll into view."
  },
  {
    "name": "gradient-text",
    "title": "Gradient Text",
    "description": "Renders children with a gradient clipped to the text; colors and angle are runtime props."
  },
  {
    "name": "aurora-backdrop",
    "title": "Aurora Backdrop",
    "description": "Slow-drifting gradient-mesh blobs for hero-style sections; theme-aware in light and dark."
  },
  {
    "name": "prompt-input",
    "title": "Prompt Input",
    "description": "Auto-growing prompt box: Enter submits, Shift+Enter newlines, with footer slots and a counter."
  },
  {
    "name": "chat-message",
    "title": "Chat Message",
    "description": "A conversation turn with user/assistant/system roles, avatar, metadata, and hover actions."
  },
  {
    "name": "streaming-text",
    "title": "Streaming Text",
    "description": "Reveals text token-by-token as an LLM response streams, with a caret and screen-reader safety."
  },
  {
    "name": "thinking-indicator",
    "title": "Thinking Indicator",
    "description": "The 'model is working' state: bouncing dots with an optional shimmering label."
  },
  {
    "name": "tool-call",
    "title": "Tool Call",
    "description": "A collapsible record of an agent's tool invocation — status, arguments, and result."
  },
  {
    "name": "citation",
    "title": "Citation",
    "description": "Inline source markers plus a matching source list, for grounded and RAG answers."
  },
  {
    "name": "token-meter",
    "title": "Token Meter",
    "description": "Context-window budget meter that shifts through warning and danger tiers as it fills."
  },
  {
    "name": "code-surface",
    "title": "Code Surface",
    "description": "A code block with filename header, optional line numbers, and a copy button."
  },
  {
    "name": "skeleton",
    "title": "Skeleton",
    "description": "Loading placeholders in text, circle, and rect shapes with shimmer or pulse."
  },
  {
    "name": "progress",
    "title": "Progress",
    "description": "Determinate and indeterminate progress bars in four tones and three sizes."
  },
  {
    "name": "alert",
    "title": "Alert",
    "description": "Status callouts with built-in tone icons; destructive alerts announce assertively."
  },
  {
    "name": "separator",
    "title": "Separator",
    "description": "Horizontal or vertical rule, optionally with a centered label."
  },
  {
    "name": "accordion",
    "title": "Accordion",
    "description": "Collapsible sections, single or multiple, with arrow-key navigation between headers."
  },
  {
    "name": "textarea",
    "title": "Textarea",
    "description": "A multiline field with label, description, and error states."
  },
  {
    "name": "radio-group",
    "title": "Radio Group",
    "description": "Single-select group following the ARIA radio pattern, with roving tabindex."
  },
  {
    "name": "slider",
    "title": "Slider",
    "description": "A restyled native range input with a filled track and formatted value display."
  },
  {
    "name": "popover",
    "title": "Popover",
    "description": "A floating panel anchored to a trigger, with focus handling and outside-click dismiss."
  },
  {
    "name": "select",
    "title": "Select",
    "description": "Single-select listbox with typeahead, grouping, and full keyboard navigation."
  },
  {
    "name": "command",
    "title": "Command",
    "description": "A ⌘K command palette with filtering, grouping, and a shortcut hook."
  },
  {
    "name": "drawer",
    "title": "Drawer",
    "description": "An edge-anchored sheet from any side, focus-trapped with scroll lock."
  },
  {
    "name": "agent-shell",
    "title": "Agent Shell",
    "description": "The frame for an agent app: sidebar, header, transcript, collapsible inspector, pinned composer."
  },
  {
    "name": "conversation-list",
    "title": "Conversation List",
    "description": "Chat history sidebar grouped by recency, with active state and per-row actions."
  },
  {
    "name": "agent-timeline",
    "title": "Agent Timeline",
    "description": "A vertical trace of an agent run — steps, statuses, timings, and expandable detail."
  },
  {
    "name": "split-pane",
    "title": "Split Pane",
    "description": "Two resizable panes with a draggable, keyboard-operable divider."
  },
  {
    "name": "table",
    "title": "Table",
    "description": "A data table with sortable headers, caption, and an empty-state row."
  },
  {
    "name": "kbd",
    "title": "Kbd",
    "description": "Keyboard shortcut display that renders ⌘ on macOS and Ctrl elsewhere."
  },
  {
    "name": "empty-state",
    "title": "Empty State",
    "description": "The zero-data state with icon, copy, and actions."
  },
  {
    "name": "breadcrumb",
    "title": "Breadcrumb",
    "description": "A navigation trail that collapses in the middle when it gets long."
  },
  {
    "name": "pagination",
    "title": "Pagination",
    "description": "Page navigation with collapsing ranges for large page counts."
  },
  {
    "name": "stepper",
    "title": "Stepper",
    "description": "Multi-step progress, horizontal or vertical, with complete/active/upcoming states."
  },
  {
    "name": "tag-input",
    "title": "Tag Input",
    "description": "Multi-value entry with Backspace-to-remove, duplicate rejection, and a max limit."
  },
  {
    "name": "syntax",
    "title": "Syntax",
    "description": "Incremental streaming tokenizer and highlighter for 10 grammars, cheap to re-render while code is still being written."
  },
  {
    "name": "file-icon",
    "title": "File Icon",
    "description": "38 hand-drawn geometric glyphs mapping filenames and extensions to a typed icon and hue."
  },
  {
    "name": "file-tree",
    "title": "File Tree",
    "description": "A file explorer with per-node new/modified/deleted status, a live pulse on the file being written, and full keyboard navigation."
  },
  {
    "name": "file-tabs",
    "title": "File Tabs",
    "description": "The strip of open files above an editor pane: typed icons, dirty state, changeset status, and individual close."
  },
  {
    "name": "diff-view",
    "title": "Diff View",
    "description": "A syntax-highlighted unified diff with word-level intra-line highlighting: on a modified line only the changed words light up."
  },
  {
    "name": "review-gate",
    "title": "Review Gate",
    "description": "Accept / Reject / Request-changes decisions at document, section, file, or hunk granularity, with inherited verdicts."
  },
  {
    "name": "plan-document",
    "title": "Plan Document",
    "description": "A streaming markdown renderer for agent plans: tables, highlighted code, GFM alerts, mermaid, and [NEW]/[MODIFY]/[DELETE] file chips."
  },
  {
    "name": "preview-frame",
    "title": "Preview Frame",
    "description": "A live app preview with device sizing and reload, wrapping the review gate for judging a generated UI in place."
  },
  {
    "name": "terminal-surface",
    "title": "Terminal Surface",
    "description": "Streaming command output with a real ANSI parser (256-colour and truecolor), exit codes, and collapsible runs."
  },
  {
    "name": "agent-diffstat",
    "title": "Agent Diffstat",
    "description": "The changeset summary: totals plus a per-file add/delete sparkbar scaled across the whole change."
  },
  {
    "name": "checkpoint-timeline",
    "title": "Checkpoint Timeline",
    "description": "A scrubber over an agent session's checkpoints, with keyboard navigation and a confirmed rewind."
  },
  {
    "name": "cost-meter",
    "title": "Cost Meter",
    "description": "Session spend, burn rate, per-model breakdown, and an optional budget cap with warning tiers."
  }
]