{
  "schemaVersion": "1.0",
  "framework": "Coordiation CSS",
  "package": "@coordiation/ui",
  "version": "1.0.0-rc.1",
  "generatedAt": "2026-08-29",
  "distribution": "open-code registry",
  "style": "monochrome",
  "prefix": "co-",
  "componentCount": 64,
  "categories": [
    "actions",
    "data-display",
    "feedback",
    "forms",
    "layout",
    "navigation",
    "overlays"
  ],
  "components": [
    {
      "name": "button",
      "title": "Button",
      "description": "Accessible action button with visual and size variants.",
      "category": "actions",
      "status": "stable",
      "type": "registry:ui",
      "client": false,
      "export": "Button",
      "files": [
        {
          "path": "registry/monochrome/button.tsx",
          "type": "registry:ui",
          "target": "components/ui/button.tsx"
        }
      ],
      "installPath": "/r/button.json",
      "command": "npx @coordiation/cli@next add component button",
      "import": "@/components/ui/button",
      "usage": "<Button variant=\"outline\">Continue</Button>",
      "accessibility": "Uses a native button, preserves disabled semantics, and exposes a visible keyboard focus ring."
    },
    {
      "name": "badge",
      "title": "Badge",
      "description": "Compact status or metadata label.",
      "category": "data-display",
      "status": "stable",
      "type": "registry:ui",
      "client": false,
      "export": "Badge",
      "files": [
        {
          "path": "registry/monochrome/badge.tsx",
          "type": "registry:ui",
          "target": "components/ui/badge.tsx"
        }
      ],
      "installPath": "/r/badge.json",
      "command": "npx @coordiation/cli@next add component badge",
      "import": "@/components/ui/badge",
      "usage": "<Badge variant=\"outline\">Beta</Badge>",
      "accessibility": "Text is always visible; color is never the only information channel."
    },
    {
      "name": "card",
      "title": "Card",
      "description": "Composable surface with header, content, and footer slots.",
      "category": "layout",
      "status": "stable",
      "type": "registry:ui",
      "client": false,
      "export": "Card",
      "files": [
        {
          "path": "registry/monochrome/card.tsx",
          "type": "registry:ui",
          "target": "components/ui/card.tsx"
        }
      ],
      "installPath": "/r/card.json",
      "command": "npx @coordiation/cli@next add component card",
      "import": "@/components/ui/card",
      "usage": "<Card><CardHeader><CardTitle>Project</CardTitle></CardHeader><CardContent>Ready.</CardContent></Card>",
      "accessibility": "Uses neutral containers so consumers choose the correct heading and landmark structure."
    },
    {
      "name": "input",
      "title": "Input",
      "description": "Styled native text input with invalid and disabled states.",
      "category": "forms",
      "status": "stable",
      "type": "registry:ui",
      "client": false,
      "export": "Input",
      "files": [
        {
          "path": "registry/monochrome/input.tsx",
          "type": "registry:ui",
          "target": "components/ui/input.tsx"
        }
      ],
      "installPath": "/r/input.json",
      "command": "npx @coordiation/cli@next add component input",
      "import": "@/components/ui/input",
      "usage": "<Input aria-label=\"Email\" type=\"email\" placeholder=\"you@example.com\" />",
      "accessibility": "Uses a native input and exposes invalid, disabled, placeholder, and focus states."
    },
    {
      "name": "textarea",
      "title": "Textarea",
      "description": "Multiline native text control with accessible focus states.",
      "category": "forms",
      "status": "stable",
      "type": "registry:ui",
      "client": false,
      "export": "Textarea",
      "files": [
        {
          "path": "registry/monochrome/textarea.tsx",
          "type": "registry:ui",
          "target": "components/ui/textarea.tsx"
        }
      ],
      "installPath": "/r/textarea.json",
      "command": "npx @coordiation/cli@next add component textarea",
      "import": "@/components/ui/textarea",
      "usage": "<Textarea aria-label=\"Message\" placeholder=\"Write a message…\" />",
      "accessibility": "Uses a native textarea and preserves resize, invalid, disabled, and focus behavior."
    },
    {
      "name": "label",
      "title": "Label",
      "description": "Form label that reflects disabled controls.",
      "category": "forms",
      "status": "stable",
      "type": "registry:ui",
      "client": false,
      "export": "Label",
      "files": [
        {
          "path": "registry/monochrome/label.tsx",
          "type": "registry:ui",
          "target": "components/ui/label.tsx"
        }
      ],
      "installPath": "/r/label.json",
      "command": "npx @coordiation/cli@next add component label",
      "import": "@/components/ui/label",
      "usage": "<Label htmlFor=\"email\">Email</Label>",
      "accessibility": "Uses the native label element and should be connected with htmlFor."
    },
    {
      "name": "checkbox",
      "title": "Checkbox",
      "description": "Native checkbox wrapped in a consistent control surface.",
      "category": "forms",
      "status": "stable",
      "type": "registry:ui",
      "client": false,
      "export": "Checkbox",
      "files": [
        {
          "path": "registry/monochrome/checkbox.tsx",
          "type": "registry:ui",
          "target": "components/ui/checkbox.tsx"
        }
      ],
      "installPath": "/r/checkbox.json",
      "command": "npx @coordiation/cli@next add component checkbox",
      "import": "@/components/ui/checkbox",
      "usage": "<Checkbox aria-label=\"Accept terms\" />",
      "accessibility": "Uses a native checkbox, including keyboard, checked, disabled, and form semantics."
    },
    {
      "name": "switch",
      "title": "Switch",
      "description": "Controlled accessible toggle with keyboard support.",
      "category": "forms",
      "status": "stable",
      "type": "registry:ui",
      "client": true,
      "export": "Switch",
      "files": [
        {
          "path": "registry/monochrome/switch.tsx",
          "type": "registry:ui",
          "target": "components/ui/switch.tsx"
        }
      ],
      "installPath": "/r/switch.json",
      "command": "npx @coordiation/cli@next add component switch",
      "import": "@/components/ui/switch",
      "usage": "<Switch checked={enabled} onCheckedChange={setEnabled} aria-label=\"Notifications\" />",
      "accessibility": "Uses role=switch, aria-checked, native button keyboard behavior, and controlled state."
    },
    {
      "name": "alert",
      "title": "Alert",
      "description": "Semantic feedback surface with title and description.",
      "category": "feedback",
      "status": "stable",
      "type": "registry:ui",
      "client": false,
      "export": "Alert",
      "files": [
        {
          "path": "registry/monochrome/alert.tsx",
          "type": "registry:ui",
          "target": "components/ui/alert.tsx"
        }
      ],
      "installPath": "/r/alert.json",
      "command": "npx @coordiation/cli@next add component alert",
      "import": "@/components/ui/alert",
      "usage": "<Alert><AlertTitle>Saved</AlertTitle><AlertDescription>Your changes are live.</AlertDescription></Alert>",
      "accessibility": "Uses role=alert for important feedback and composable title/description content."
    },
    {
      "name": "separator",
      "title": "Separator",
      "description": "Horizontal or vertical semantic divider.",
      "category": "layout",
      "status": "stable",
      "type": "registry:ui",
      "client": false,
      "export": "Separator",
      "files": [
        {
          "path": "registry/monochrome/separator.tsx",
          "type": "registry:ui",
          "target": "components/ui/separator.tsx"
        }
      ],
      "installPath": "/r/separator.json",
      "command": "npx @coordiation/cli@next add component separator",
      "import": "@/components/ui/separator",
      "usage": "<Separator orientation=\"horizontal\" />",
      "accessibility": "Can be decorative or expose separator role and aria-orientation."
    },
    {
      "name": "skeleton",
      "title": "Skeleton",
      "description": "Non-interactive loading placeholder.",
      "category": "feedback",
      "status": "stable",
      "type": "registry:ui",
      "client": false,
      "export": "Skeleton",
      "files": [
        {
          "path": "registry/monochrome/skeleton.tsx",
          "type": "registry:ui",
          "target": "components/ui/skeleton.tsx"
        }
      ],
      "installPath": "/r/skeleton.json",
      "command": "npx @coordiation/cli@next add component skeleton",
      "import": "@/components/ui/skeleton",
      "usage": "<Skeleton className=\"co-h-4 co-w-48\" />",
      "accessibility": "Hidden from assistive technology so real loading status can be announced separately."
    },
    {
      "name": "spinner",
      "title": "Spinner",
      "description": "Accessible indeterminate progress indicator.",
      "category": "feedback",
      "status": "stable",
      "type": "registry:ui",
      "client": false,
      "export": "Spinner",
      "files": [
        {
          "path": "registry/monochrome/spinner.tsx",
          "type": "registry:ui",
          "target": "components/ui/spinner.tsx"
        }
      ],
      "installPath": "/r/spinner.json",
      "command": "npx @coordiation/cli@next add component spinner",
      "import": "@/components/ui/spinner",
      "usage": "<Spinner aria-label=\"Saving\" />",
      "accessibility": "Uses role=status and requires a concise accessible label."
    },
    {
      "name": "avatar",
      "title": "Avatar",
      "description": "Image avatar with deterministic text fallback.",
      "category": "data-display",
      "status": "stable",
      "type": "registry:ui",
      "client": true,
      "export": "Avatar",
      "files": [
        {
          "path": "registry/monochrome/avatar.tsx",
          "type": "registry:ui",
          "target": "components/ui/avatar.tsx"
        }
      ],
      "installPath": "/r/avatar.json",
      "command": "npx @coordiation/cli@next add component avatar",
      "import": "@/components/ui/avatar",
      "usage": "<Avatar><AvatarImage src=\"/avatar.jpg\" alt=\"Ayu\" /><AvatarFallback>AY</AvatarFallback></Avatar>",
      "accessibility": "Preserves image alt text and renders deterministic fallback content after image failure."
    },
    {
      "name": "table",
      "title": "Table",
      "description": "Responsive semantic data-table composition.",
      "category": "data-display",
      "status": "stable",
      "type": "registry:ui",
      "client": false,
      "export": "Table",
      "files": [
        {
          "path": "registry/monochrome/table.tsx",
          "type": "registry:ui",
          "target": "components/ui/table.tsx"
        }
      ],
      "installPath": "/r/table.json",
      "command": "npx @coordiation/cli@next add component table",
      "import": "@/components/ui/table",
      "usage": "<Table><TableHeader>…</TableHeader><TableBody>…</TableBody></Table>",
      "accessibility": "Uses native table elements and keeps wide data horizontally scrollable."
    },
    {
      "name": "tabs",
      "title": "Tabs",
      "description": "Keyboard-navigable controlled tab interface.",
      "category": "navigation",
      "status": "stable",
      "type": "registry:ui",
      "client": true,
      "export": "Tabs",
      "files": [
        {
          "path": "registry/monochrome/tabs.tsx",
          "type": "registry:ui",
          "target": "components/ui/tabs.tsx"
        }
      ],
      "installPath": "/r/tabs.json",
      "command": "npx @coordiation/cli@next add component tabs",
      "import": "@/components/ui/tabs",
      "usage": "<Tabs value={tab} onValueChange={setTab}>…</Tabs>",
      "accessibility": "Implements tablist, tab, tabpanel, aria linkage, roving focus, Home/End, and arrow keys."
    },
    {
      "name": "dialog",
      "title": "Dialog",
      "description": "Modal dialog built on the native dialog element.",
      "category": "overlays",
      "status": "stable",
      "type": "registry:ui",
      "client": true,
      "export": "Dialog",
      "files": [
        {
          "path": "registry/monochrome/dialog.tsx",
          "type": "registry:ui",
          "target": "components/ui/dialog.tsx"
        }
      ],
      "installPath": "/r/dialog.json",
      "command": "npx @coordiation/cli@next add component dialog",
      "import": "@/components/ui/dialog",
      "usage": "<Dialog open={open} onOpenChange={setOpen}>…</Dialog>",
      "accessibility": "Uses the native modal dialog for focus containment, Escape handling, backdrop, and dismissal."
    },
    {
      "name": "accordion",
      "title": "Accordion",
      "description": "Expandable disclosure sections with native semantics.",
      "category": "layout",
      "status": "stable",
      "type": "registry:ui",
      "client": false,
      "export": "Accordion",
      "files": [
        {
          "path": "registry/monochrome/accordion.tsx",
          "type": "registry:ui",
          "target": "components/ui/accordion.tsx"
        }
      ],
      "installPath": "/r/accordion.json",
      "command": "npx @coordiation/cli@next add component accordion",
      "import": "@/components/ui/accordion",
      "usage": "<Accordion />",
      "accessibility": "Uses semantic HTML, preserves keyboard operation, exposes visible focus, and keeps accessible naming under consumer control."
    },
    {
      "name": "alert-dialog",
      "title": "Alert Dialog",
      "description": "Confirmation dialog for consequential actions.",
      "category": "overlays",
      "status": "stable",
      "type": "registry:ui",
      "client": true,
      "export": "AlertDialog",
      "files": [
        {
          "path": "registry/monochrome/alert-dialog.tsx",
          "type": "registry:ui",
          "target": "components/ui/alert-dialog.tsx"
        }
      ],
      "installPath": "/r/alert-dialog.json",
      "command": "npx @coordiation/cli@next add component alert-dialog",
      "import": "@/components/ui/alert-dialog",
      "usage": "<AlertDialog />",
      "accessibility": "Uses semantic HTML, preserves keyboard operation, exposes visible focus, and keeps accessible naming under consumer control."
    },
    {
      "name": "aspect-ratio",
      "title": "Aspect Ratio",
      "description": "Media wrapper that preserves an explicit aspect ratio.",
      "category": "layout",
      "status": "stable",
      "type": "registry:ui",
      "client": false,
      "export": "AspectRatio",
      "files": [
        {
          "path": "registry/monochrome/aspect-ratio.tsx",
          "type": "registry:ui",
          "target": "components/ui/aspect-ratio.tsx"
        }
      ],
      "installPath": "/r/aspect-ratio.json",
      "command": "npx @coordiation/cli@next add component aspect-ratio",
      "import": "@/components/ui/aspect-ratio",
      "usage": "<AspectRatio />",
      "accessibility": "Uses semantic HTML, preserves keyboard operation, exposes visible focus, and keeps accessible naming under consumer control."
    },
    {
      "name": "attachment",
      "title": "Attachment",
      "description": "File attachment row with metadata and actions.",
      "category": "data-display",
      "status": "stable",
      "type": "registry:ui",
      "client": false,
      "export": "Attachment",
      "files": [
        {
          "path": "registry/monochrome/attachment.tsx",
          "type": "registry:ui",
          "target": "components/ui/attachment.tsx"
        }
      ],
      "installPath": "/r/attachment.json",
      "command": "npx @coordiation/cli@next add component attachment",
      "import": "@/components/ui/attachment",
      "usage": "<Attachment />",
      "accessibility": "Uses semantic HTML, preserves keyboard operation, exposes visible focus, and keeps accessible naming under consumer control."
    },
    {
      "name": "breadcrumb",
      "title": "Breadcrumb",
      "description": "Semantic hierarchy navigation with current-page support.",
      "category": "navigation",
      "status": "stable",
      "type": "registry:ui",
      "client": false,
      "export": "Breadcrumb",
      "files": [
        {
          "path": "registry/monochrome/breadcrumb.tsx",
          "type": "registry:ui",
          "target": "components/ui/breadcrumb.tsx"
        }
      ],
      "installPath": "/r/breadcrumb.json",
      "command": "npx @coordiation/cli@next add component breadcrumb",
      "import": "@/components/ui/breadcrumb",
      "usage": "<Breadcrumb />",
      "accessibility": "Uses semantic HTML, preserves keyboard operation, exposes visible focus, and keeps accessible naming under consumer control."
    },
    {
      "name": "bubble",
      "title": "Bubble",
      "description": "Compact conversational content bubble.",
      "category": "data-display",
      "status": "stable",
      "type": "registry:ui",
      "client": false,
      "export": "Bubble",
      "files": [
        {
          "path": "registry/monochrome/bubble.tsx",
          "type": "registry:ui",
          "target": "components/ui/bubble.tsx"
        }
      ],
      "installPath": "/r/bubble.json",
      "command": "npx @coordiation/cli@next add component bubble",
      "import": "@/components/ui/bubble",
      "usage": "<Bubble />",
      "accessibility": "Uses semantic HTML, preserves keyboard operation, exposes visible focus, and keeps accessible naming under consumer control."
    },
    {
      "name": "button-group",
      "title": "Button Group",
      "description": "Related actions arranged as one control group.",
      "category": "actions",
      "status": "stable",
      "type": "registry:ui",
      "client": false,
      "export": "ButtonGroup",
      "files": [
        {
          "path": "registry/monochrome/button-group.tsx",
          "type": "registry:ui",
          "target": "components/ui/button-group.tsx"
        }
      ],
      "installPath": "/r/button-group.json",
      "command": "npx @coordiation/cli@next add component button-group",
      "import": "@/components/ui/button-group",
      "usage": "<ButtonGroup />",
      "accessibility": "Uses semantic HTML, preserves keyboard operation, exposes visible focus, and keeps accessible naming under consumer control."
    },
    {
      "name": "calendar",
      "title": "Calendar",
      "description": "Keyboard-friendly single-date calendar grid.",
      "category": "forms",
      "status": "stable",
      "type": "registry:ui",
      "client": true,
      "export": "Calendar",
      "files": [
        {
          "path": "registry/monochrome/calendar.tsx",
          "type": "registry:ui",
          "target": "components/ui/calendar.tsx"
        }
      ],
      "installPath": "/r/calendar.json",
      "command": "npx @coordiation/cli@next add component calendar",
      "import": "@/components/ui/calendar",
      "usage": "<Calendar />",
      "accessibility": "Uses semantic HTML, preserves keyboard operation, exposes visible focus, and keeps accessible naming under consumer control."
    },
    {
      "name": "carousel",
      "title": "Carousel",
      "description": "Accessible content carousel with explicit navigation.",
      "category": "data-display",
      "status": "stable",
      "type": "registry:ui",
      "client": true,
      "export": "Carousel",
      "files": [
        {
          "path": "registry/monochrome/carousel.tsx",
          "type": "registry:ui",
          "target": "components/ui/carousel.tsx"
        }
      ],
      "installPath": "/r/carousel.json",
      "command": "npx @coordiation/cli@next add component carousel",
      "import": "@/components/ui/carousel",
      "usage": "<Carousel />",
      "accessibility": "Uses semantic HTML, preserves keyboard operation, exposes visible focus, and keeps accessible naming under consumer control."
    },
    {
      "name": "chart",
      "title": "Chart",
      "description": "Accessible chart container with tabular fallback guidance.",
      "category": "data-display",
      "status": "stable",
      "type": "registry:ui",
      "client": false,
      "export": "Chart",
      "files": [
        {
          "path": "registry/monochrome/chart.tsx",
          "type": "registry:ui",
          "target": "components/ui/chart.tsx"
        }
      ],
      "installPath": "/r/chart.json",
      "command": "npx @coordiation/cli@next add component chart",
      "import": "@/components/ui/chart",
      "usage": "<Chart />",
      "accessibility": "Uses semantic HTML, preserves keyboard operation, exposes visible focus, and keeps accessible naming under consumer control."
    },
    {
      "name": "collapsible",
      "title": "Collapsible",
      "description": "Controlled disclosure region with aria-expanded state.",
      "category": "layout",
      "status": "stable",
      "type": "registry:ui",
      "client": true,
      "export": "Collapsible",
      "files": [
        {
          "path": "registry/monochrome/collapsible.tsx",
          "type": "registry:ui",
          "target": "components/ui/collapsible.tsx"
        }
      ],
      "installPath": "/r/collapsible.json",
      "command": "npx @coordiation/cli@next add component collapsible",
      "import": "@/components/ui/collapsible",
      "usage": "<Collapsible />",
      "accessibility": "Uses semantic HTML, preserves keyboard operation, exposes visible focus, and keeps accessible naming under consumer control."
    },
    {
      "name": "combobox",
      "title": "Combobox",
      "description": "Searchable listbox with keyboard selection.",
      "category": "forms",
      "status": "stable",
      "type": "registry:ui",
      "client": true,
      "export": "Combobox",
      "files": [
        {
          "path": "registry/monochrome/combobox.tsx",
          "type": "registry:ui",
          "target": "components/ui/combobox.tsx"
        }
      ],
      "installPath": "/r/combobox.json",
      "command": "npx @coordiation/cli@next add component combobox",
      "import": "@/components/ui/combobox",
      "usage": "<Combobox />",
      "accessibility": "Uses semantic HTML, preserves keyboard operation, exposes visible focus, and keeps accessible naming under consumer control."
    },
    {
      "name": "command",
      "title": "Command",
      "description": "Filterable command palette surface.",
      "category": "navigation",
      "status": "stable",
      "type": "registry:ui",
      "client": true,
      "export": "Command",
      "files": [
        {
          "path": "registry/monochrome/command.tsx",
          "type": "registry:ui",
          "target": "components/ui/command.tsx"
        }
      ],
      "installPath": "/r/command.json",
      "command": "npx @coordiation/cli@next add component command",
      "import": "@/components/ui/command",
      "usage": "<Command />",
      "accessibility": "Uses semantic HTML, preserves keyboard operation, exposes visible focus, and keeps accessible naming under consumer control."
    },
    {
      "name": "context-menu",
      "title": "Context Menu",
      "description": "Contextual action menu with keyboard fallback.",
      "category": "overlays",
      "status": "stable",
      "type": "registry:ui",
      "client": true,
      "export": "ContextMenu",
      "files": [
        {
          "path": "registry/monochrome/context-menu.tsx",
          "type": "registry:ui",
          "target": "components/ui/context-menu.tsx"
        }
      ],
      "installPath": "/r/context-menu.json",
      "command": "npx @coordiation/cli@next add component context-menu",
      "import": "@/components/ui/context-menu",
      "usage": "<ContextMenu />",
      "accessibility": "Uses semantic HTML, preserves keyboard operation, exposes visible focus, and keeps accessible naming under consumer control."
    },
    {
      "name": "data-table",
      "title": "Data Table",
      "description": "Sortable generic data table with semantic headers.",
      "category": "data-display",
      "status": "stable",
      "type": "registry:ui",
      "client": true,
      "export": "DataTable",
      "files": [
        {
          "path": "registry/monochrome/data-table.tsx",
          "type": "registry:ui",
          "target": "components/ui/data-table.tsx"
        }
      ],
      "installPath": "/r/data-table.json",
      "command": "npx @coordiation/cli@next add component data-table",
      "import": "@/components/ui/data-table",
      "usage": "<DataTable />",
      "accessibility": "Uses semantic HTML, preserves keyboard operation, exposes visible focus, and keeps accessible naming under consumer control."
    },
    {
      "name": "date-picker",
      "title": "Date Picker",
      "description": "Native-first date selection control.",
      "category": "forms",
      "status": "stable",
      "type": "registry:ui",
      "client": false,
      "export": "DatePicker",
      "files": [
        {
          "path": "registry/monochrome/date-picker.tsx",
          "type": "registry:ui",
          "target": "components/ui/date-picker.tsx"
        }
      ],
      "installPath": "/r/date-picker.json",
      "command": "npx @coordiation/cli@next add component date-picker",
      "import": "@/components/ui/date-picker",
      "usage": "<DatePicker />",
      "accessibility": "Uses semantic HTML, preserves keyboard operation, exposes visible focus, and keeps accessible naming under consumer control."
    },
    {
      "name": "direction",
      "title": "Direction",
      "description": "Writing-direction provider for bidirectional interfaces.",
      "category": "layout",
      "status": "stable",
      "type": "registry:ui",
      "client": false,
      "export": "Direction",
      "files": [
        {
          "path": "registry/monochrome/direction.tsx",
          "type": "registry:ui",
          "target": "components/ui/direction.tsx"
        }
      ],
      "installPath": "/r/direction.json",
      "command": "npx @coordiation/cli@next add component direction",
      "import": "@/components/ui/direction",
      "usage": "<Direction />",
      "accessibility": "Uses semantic HTML, preserves keyboard operation, exposes visible focus, and keeps accessible naming under consumer control."
    },
    {
      "name": "drawer",
      "title": "Drawer",
      "description": "Edge-mounted modal surface using native dialog behavior.",
      "category": "overlays",
      "status": "stable",
      "type": "registry:ui",
      "client": true,
      "export": "Drawer",
      "files": [
        {
          "path": "registry/monochrome/drawer.tsx",
          "type": "registry:ui",
          "target": "components/ui/drawer.tsx"
        }
      ],
      "installPath": "/r/drawer.json",
      "command": "npx @coordiation/cli@next add component drawer",
      "import": "@/components/ui/drawer",
      "usage": "<Drawer />",
      "accessibility": "Uses semantic HTML, preserves keyboard operation, exposes visible focus, and keeps accessible naming under consumer control."
    },
    {
      "name": "dropdown-menu",
      "title": "Dropdown Menu",
      "description": "Keyboard-operable disclosure menu for actions.",
      "category": "overlays",
      "status": "stable",
      "type": "registry:ui",
      "client": false,
      "export": "DropdownMenu",
      "files": [
        {
          "path": "registry/monochrome/dropdown-menu.tsx",
          "type": "registry:ui",
          "target": "components/ui/dropdown-menu.tsx"
        }
      ],
      "installPath": "/r/dropdown-menu.json",
      "command": "npx @coordiation/cli@next add component dropdown-menu",
      "import": "@/components/ui/dropdown-menu",
      "usage": "<DropdownMenu />",
      "accessibility": "Uses semantic HTML, preserves keyboard operation, exposes visible focus, and keeps accessible naming under consumer control."
    },
    {
      "name": "empty",
      "title": "Empty",
      "description": "Composable empty-state message and action area.",
      "category": "feedback",
      "status": "stable",
      "type": "registry:ui",
      "client": false,
      "export": "Empty",
      "files": [
        {
          "path": "registry/monochrome/empty.tsx",
          "type": "registry:ui",
          "target": "components/ui/empty.tsx"
        }
      ],
      "installPath": "/r/empty.json",
      "command": "npx @coordiation/cli@next add component empty",
      "import": "@/components/ui/empty",
      "usage": "<Empty />",
      "accessibility": "Uses semantic HTML, preserves keyboard operation, exposes visible focus, and keeps accessible naming under consumer control."
    },
    {
      "name": "field",
      "title": "Field",
      "description": "Form-field composition with description and errors.",
      "category": "forms",
      "status": "stable",
      "type": "registry:ui",
      "client": false,
      "export": "Field",
      "files": [
        {
          "path": "registry/monochrome/field.tsx",
          "type": "registry:ui",
          "target": "components/ui/field.tsx"
        }
      ],
      "installPath": "/r/field.json",
      "command": "npx @coordiation/cli@next add component field",
      "import": "@/components/ui/field",
      "usage": "<Field />",
      "accessibility": "Uses semantic HTML, preserves keyboard operation, exposes visible focus, and keeps accessible naming under consumer control."
    },
    {
      "name": "hover-card",
      "title": "Hover Card",
      "description": "Supplementary preview revealed by hover or focus.",
      "category": "overlays",
      "status": "stable",
      "type": "registry:ui",
      "client": false,
      "export": "HoverCard",
      "files": [
        {
          "path": "registry/monochrome/hover-card.tsx",
          "type": "registry:ui",
          "target": "components/ui/hover-card.tsx"
        }
      ],
      "installPath": "/r/hover-card.json",
      "command": "npx @coordiation/cli@next add component hover-card",
      "import": "@/components/ui/hover-card",
      "usage": "<HoverCard />",
      "accessibility": "Uses semantic HTML, preserves keyboard operation, exposes visible focus, and keeps accessible naming under consumer control."
    },
    {
      "name": "input-group",
      "title": "Input Group",
      "description": "Input with leading, trailing, and action slots.",
      "category": "forms",
      "status": "stable",
      "type": "registry:ui",
      "client": false,
      "export": "InputGroup",
      "files": [
        {
          "path": "registry/monochrome/input-group.tsx",
          "type": "registry:ui",
          "target": "components/ui/input-group.tsx"
        }
      ],
      "installPath": "/r/input-group.json",
      "command": "npx @coordiation/cli@next add component input-group",
      "import": "@/components/ui/input-group",
      "usage": "<InputGroup />",
      "accessibility": "Uses semantic HTML, preserves keyboard operation, exposes visible focus, and keeps accessible naming under consumer control."
    },
    {
      "name": "input-otp",
      "title": "Input OTP",
      "description": "One-time-password input with segmented visual cells.",
      "category": "forms",
      "status": "stable",
      "type": "registry:ui",
      "client": true,
      "export": "InputOTP",
      "files": [
        {
          "path": "registry/monochrome/input-otp.tsx",
          "type": "registry:ui",
          "target": "components/ui/input-otp.tsx"
        }
      ],
      "installPath": "/r/input-otp.json",
      "command": "npx @coordiation/cli@next add component input-otp",
      "import": "@/components/ui/input-otp",
      "usage": "<InputOTP />",
      "accessibility": "Uses semantic HTML, preserves keyboard operation, exposes visible focus, and keeps accessible naming under consumer control."
    },
    {
      "name": "item",
      "title": "Item",
      "description": "Composable content row with media and actions.",
      "category": "data-display",
      "status": "stable",
      "type": "registry:ui",
      "client": false,
      "export": "Item",
      "files": [
        {
          "path": "registry/monochrome/item.tsx",
          "type": "registry:ui",
          "target": "components/ui/item.tsx"
        }
      ],
      "installPath": "/r/item.json",
      "command": "npx @coordiation/cli@next add component item",
      "import": "@/components/ui/item",
      "usage": "<Item />",
      "accessibility": "Uses semantic HTML, preserves keyboard operation, exposes visible focus, and keeps accessible naming under consumer control."
    },
    {
      "name": "kbd",
      "title": "Kbd",
      "description": "Semantic keyboard shortcut display.",
      "category": "data-display",
      "status": "stable",
      "type": "registry:ui",
      "client": false,
      "export": "Kbd",
      "files": [
        {
          "path": "registry/monochrome/kbd.tsx",
          "type": "registry:ui",
          "target": "components/ui/kbd.tsx"
        }
      ],
      "installPath": "/r/kbd.json",
      "command": "npx @coordiation/cli@next add component kbd",
      "import": "@/components/ui/kbd",
      "usage": "<Kbd />",
      "accessibility": "Uses semantic HTML, preserves keyboard operation, exposes visible focus, and keeps accessible naming under consumer control."
    },
    {
      "name": "marker",
      "title": "Marker",
      "description": "Inline marker for annotations and status.",
      "category": "data-display",
      "status": "stable",
      "type": "registry:ui",
      "client": false,
      "export": "Marker",
      "files": [
        {
          "path": "registry/monochrome/marker.tsx",
          "type": "registry:ui",
          "target": "components/ui/marker.tsx"
        }
      ],
      "installPath": "/r/marker.json",
      "command": "npx @coordiation/cli@next add component marker",
      "import": "@/components/ui/marker",
      "usage": "<Marker />",
      "accessibility": "Uses semantic HTML, preserves keyboard operation, exposes visible focus, and keeps accessible naming under consumer control."
    },
    {
      "name": "menubar",
      "title": "Menubar",
      "description": "Application menubar with semantic menu controls.",
      "category": "navigation",
      "status": "stable",
      "type": "registry:ui",
      "client": false,
      "export": "Menubar",
      "files": [
        {
          "path": "registry/monochrome/menubar.tsx",
          "type": "registry:ui",
          "target": "components/ui/menubar.tsx"
        }
      ],
      "installPath": "/r/menubar.json",
      "command": "npx @coordiation/cli@next add component menubar",
      "import": "@/components/ui/menubar",
      "usage": "<Menubar />",
      "accessibility": "Uses semantic HTML, preserves keyboard operation, exposes visible focus, and keeps accessible naming under consumer control."
    },
    {
      "name": "message",
      "title": "Message",
      "description": "Chat message composition with author and timestamp.",
      "category": "data-display",
      "status": "stable",
      "type": "registry:ui",
      "client": false,
      "export": "Message",
      "files": [
        {
          "path": "registry/monochrome/message.tsx",
          "type": "registry:ui",
          "target": "components/ui/message.tsx"
        }
      ],
      "installPath": "/r/message.json",
      "command": "npx @coordiation/cli@next add component message",
      "import": "@/components/ui/message",
      "usage": "<Message />",
      "accessibility": "Uses semantic HTML, preserves keyboard operation, exposes visible focus, and keeps accessible naming under consumer control."
    },
    {
      "name": "message-scroller",
      "title": "Message Scroller",
      "description": "Live-region message viewport with follow-latest behavior.",
      "category": "data-display",
      "status": "stable",
      "type": "registry:ui",
      "client": true,
      "export": "MessageScroller",
      "files": [
        {
          "path": "registry/monochrome/message-scroller.tsx",
          "type": "registry:ui",
          "target": "components/ui/message-scroller.tsx"
        }
      ],
      "installPath": "/r/message-scroller.json",
      "command": "npx @coordiation/cli@next add component message-scroller",
      "import": "@/components/ui/message-scroller",
      "usage": "<MessageScroller />",
      "accessibility": "Uses semantic HTML, preserves keyboard operation, exposes visible focus, and keeps accessible naming under consumer control."
    },
    {
      "name": "native-select",
      "title": "Native Select",
      "description": "Styled native select for resilient forms.",
      "category": "forms",
      "status": "stable",
      "type": "registry:ui",
      "client": false,
      "export": "NativeSelect",
      "files": [
        {
          "path": "registry/monochrome/native-select.tsx",
          "type": "registry:ui",
          "target": "components/ui/native-select.tsx"
        }
      ],
      "installPath": "/r/native-select.json",
      "command": "npx @coordiation/cli@next add component native-select",
      "import": "@/components/ui/native-select",
      "usage": "<NativeSelect />",
      "accessibility": "Uses semantic HTML, preserves keyboard operation, exposes visible focus, and keeps accessible naming under consumer control."
    },
    {
      "name": "navigation-menu",
      "title": "Navigation Menu",
      "description": "Site navigation composition with accessible links.",
      "category": "navigation",
      "status": "stable",
      "type": "registry:ui",
      "client": false,
      "export": "NavigationMenu",
      "files": [
        {
          "path": "registry/monochrome/navigation-menu.tsx",
          "type": "registry:ui",
          "target": "components/ui/navigation-menu.tsx"
        }
      ],
      "installPath": "/r/navigation-menu.json",
      "command": "npx @coordiation/cli@next add component navigation-menu",
      "import": "@/components/ui/navigation-menu",
      "usage": "<NavigationMenu />",
      "accessibility": "Uses semantic HTML, preserves keyboard operation, exposes visible focus, and keeps accessible naming under consumer control."
    },
    {
      "name": "pagination",
      "title": "Pagination",
      "description": "Semantic page navigation with current-page state.",
      "category": "navigation",
      "status": "stable",
      "type": "registry:ui",
      "client": false,
      "export": "Pagination",
      "files": [
        {
          "path": "registry/monochrome/pagination.tsx",
          "type": "registry:ui",
          "target": "components/ui/pagination.tsx"
        }
      ],
      "installPath": "/r/pagination.json",
      "command": "npx @coordiation/cli@next add component pagination",
      "import": "@/components/ui/pagination",
      "usage": "<Pagination />",
      "accessibility": "Uses semantic HTML, preserves keyboard operation, exposes visible focus, and keeps accessible naming under consumer control."
    },
    {
      "name": "popover",
      "title": "Popover",
      "description": "Anchored non-modal content using the Popover API.",
      "category": "overlays",
      "status": "stable",
      "type": "registry:ui",
      "client": true,
      "export": "Popover",
      "files": [
        {
          "path": "registry/monochrome/popover.tsx",
          "type": "registry:ui",
          "target": "components/ui/popover.tsx"
        }
      ],
      "installPath": "/r/popover.json",
      "command": "npx @coordiation/cli@next add component popover",
      "import": "@/components/ui/popover",
      "usage": "<Popover />",
      "accessibility": "Uses semantic HTML, preserves keyboard operation, exposes visible focus, and keeps accessible naming under consumer control."
    },
    {
      "name": "progress",
      "title": "Progress",
      "description": "Determinate progress indicator with native semantics.",
      "category": "feedback",
      "status": "stable",
      "type": "registry:ui",
      "client": false,
      "export": "Progress",
      "files": [
        {
          "path": "registry/monochrome/progress.tsx",
          "type": "registry:ui",
          "target": "components/ui/progress.tsx"
        }
      ],
      "installPath": "/r/progress.json",
      "command": "npx @coordiation/cli@next add component progress",
      "import": "@/components/ui/progress",
      "usage": "<Progress />",
      "accessibility": "Uses semantic HTML, preserves keyboard operation, exposes visible focus, and keeps accessible naming under consumer control."
    },
    {
      "name": "questionnaire",
      "title": "Questionnaire",
      "description": "Composable question flow with progress semantics.",
      "category": "forms",
      "status": "stable",
      "type": "registry:ui",
      "client": true,
      "export": "Questionnaire",
      "files": [
        {
          "path": "registry/monochrome/questionnaire.tsx",
          "type": "registry:ui",
          "target": "components/ui/questionnaire.tsx"
        }
      ],
      "installPath": "/r/questionnaire.json",
      "command": "npx @coordiation/cli@next add component questionnaire",
      "import": "@/components/ui/questionnaire",
      "usage": "<Questionnaire />",
      "accessibility": "Uses semantic HTML, preserves keyboard operation, exposes visible focus, and keeps accessible naming under consumer control."
    },
    {
      "name": "radio-group",
      "title": "Radio Group",
      "description": "Native radio group composition.",
      "category": "forms",
      "status": "stable",
      "type": "registry:ui",
      "client": false,
      "export": "RadioGroup",
      "files": [
        {
          "path": "registry/monochrome/radio-group.tsx",
          "type": "registry:ui",
          "target": "components/ui/radio-group.tsx"
        }
      ],
      "installPath": "/r/radio-group.json",
      "command": "npx @coordiation/cli@next add component radio-group",
      "import": "@/components/ui/radio-group",
      "usage": "<RadioGroup />",
      "accessibility": "Uses semantic HTML, preserves keyboard operation, exposes visible focus, and keeps accessible naming under consumer control."
    },
    {
      "name": "resizable",
      "title": "Resizable",
      "description": "Keyboard-adjustable two-panel layout.",
      "category": "layout",
      "status": "stable",
      "type": "registry:ui",
      "client": true,
      "export": "Resizable",
      "files": [
        {
          "path": "registry/monochrome/resizable.tsx",
          "type": "registry:ui",
          "target": "components/ui/resizable.tsx"
        }
      ],
      "installPath": "/r/resizable.json",
      "command": "npx @coordiation/cli@next add component resizable",
      "import": "@/components/ui/resizable",
      "usage": "<Resizable />",
      "accessibility": "Uses semantic HTML, preserves keyboard operation, exposes visible focus, and keeps accessible naming under consumer control."
    },
    {
      "name": "scroll-area",
      "title": "Scroll Area",
      "description": "Bounded native scroll container with keyboard access.",
      "category": "layout",
      "status": "stable",
      "type": "registry:ui",
      "client": false,
      "export": "ScrollArea",
      "files": [
        {
          "path": "registry/monochrome/scroll-area.tsx",
          "type": "registry:ui",
          "target": "components/ui/scroll-area.tsx"
        }
      ],
      "installPath": "/r/scroll-area.json",
      "command": "npx @coordiation/cli@next add component scroll-area",
      "import": "@/components/ui/scroll-area",
      "usage": "<ScrollArea />",
      "accessibility": "Uses semantic HTML, preserves keyboard operation, exposes visible focus, and keeps accessible naming under consumer control."
    },
    {
      "name": "select",
      "title": "Select",
      "description": "Custom listbox-style select with controlled value.",
      "category": "forms",
      "status": "stable",
      "type": "registry:ui",
      "client": true,
      "export": "Select",
      "files": [
        {
          "path": "registry/monochrome/select.tsx",
          "type": "registry:ui",
          "target": "components/ui/select.tsx"
        }
      ],
      "installPath": "/r/select.json",
      "command": "npx @coordiation/cli@next add component select",
      "import": "@/components/ui/select",
      "usage": "<Select />",
      "accessibility": "Uses semantic HTML, preserves keyboard operation, exposes visible focus, and keeps accessible naming under consumer control."
    },
    {
      "name": "sheet",
      "title": "Sheet",
      "description": "Side sheet using native modal behavior.",
      "category": "overlays",
      "status": "stable",
      "type": "registry:ui",
      "client": true,
      "export": "Sheet",
      "files": [
        {
          "path": "registry/monochrome/sheet.tsx",
          "type": "registry:ui",
          "target": "components/ui/sheet.tsx"
        }
      ],
      "installPath": "/r/sheet.json",
      "command": "npx @coordiation/cli@next add component sheet",
      "import": "@/components/ui/sheet",
      "usage": "<Sheet />",
      "accessibility": "Uses semantic HTML, preserves keyboard operation, exposes visible focus, and keeps accessible naming under consumer control."
    },
    {
      "name": "sidebar",
      "title": "Sidebar",
      "description": "Composable responsive application sidebar.",
      "category": "navigation",
      "status": "stable",
      "type": "registry:ui",
      "client": true,
      "export": "SidebarProvider",
      "files": [
        {
          "path": "registry/monochrome/sidebar.tsx",
          "type": "registry:ui",
          "target": "components/ui/sidebar.tsx"
        }
      ],
      "installPath": "/r/sidebar.json",
      "command": "npx @coordiation/cli@next add component sidebar",
      "import": "@/components/ui/sidebar",
      "usage": "<SidebarProvider />",
      "accessibility": "Uses semantic HTML, preserves keyboard operation, exposes visible focus, and keeps accessible naming under consumer control."
    },
    {
      "name": "slider",
      "title": "Slider",
      "description": "Styled native range input.",
      "category": "forms",
      "status": "stable",
      "type": "registry:ui",
      "client": false,
      "export": "Slider",
      "files": [
        {
          "path": "registry/monochrome/slider.tsx",
          "type": "registry:ui",
          "target": "components/ui/slider.tsx"
        }
      ],
      "installPath": "/r/slider.json",
      "command": "npx @coordiation/cli@next add component slider",
      "import": "@/components/ui/slider",
      "usage": "<Slider />",
      "accessibility": "Uses semantic HTML, preserves keyboard operation, exposes visible focus, and keeps accessible naming under consumer control."
    },
    {
      "name": "toast",
      "title": "Toast",
      "description": "Live-region notification viewport and items.",
      "category": "feedback",
      "status": "stable",
      "type": "registry:ui",
      "client": true,
      "export": "ToastProvider",
      "files": [
        {
          "path": "registry/monochrome/toast.tsx",
          "type": "registry:ui",
          "target": "components/ui/toast.tsx"
        }
      ],
      "installPath": "/r/toast.json",
      "command": "npx @coordiation/cli@next add component toast",
      "import": "@/components/ui/toast",
      "usage": "<ToastProvider />",
      "accessibility": "Uses semantic HTML, preserves keyboard operation, exposes visible focus, and keeps accessible naming under consumer control."
    },
    {
      "name": "toggle",
      "title": "Toggle",
      "description": "Pressed-state button with aria-pressed semantics.",
      "category": "actions",
      "status": "stable",
      "type": "registry:ui",
      "client": true,
      "export": "Toggle",
      "files": [
        {
          "path": "registry/monochrome/toggle.tsx",
          "type": "registry:ui",
          "target": "components/ui/toggle.tsx"
        }
      ],
      "installPath": "/r/toggle.json",
      "command": "npx @coordiation/cli@next add component toggle",
      "import": "@/components/ui/toggle",
      "usage": "<Toggle />",
      "accessibility": "Uses semantic HTML, preserves keyboard operation, exposes visible focus, and keeps accessible naming under consumer control."
    },
    {
      "name": "toggle-group",
      "title": "Toggle Group",
      "description": "Single- or multi-select group of toggle buttons.",
      "category": "actions",
      "status": "stable",
      "type": "registry:ui",
      "client": true,
      "export": "ToggleGroup",
      "files": [
        {
          "path": "registry/monochrome/toggle-group.tsx",
          "type": "registry:ui",
          "target": "components/ui/toggle-group.tsx"
        }
      ],
      "installPath": "/r/toggle-group.json",
      "command": "npx @coordiation/cli@next add component toggle-group",
      "import": "@/components/ui/toggle-group",
      "usage": "<ToggleGroup />",
      "accessibility": "Uses semantic HTML, preserves keyboard operation, exposes visible focus, and keeps accessible naming under consumer control."
    },
    {
      "name": "tooltip",
      "title": "Tooltip",
      "description": "Focus and hover description linked with aria-describedby.",
      "category": "overlays",
      "status": "stable",
      "type": "registry:ui",
      "client": false,
      "export": "Tooltip",
      "files": [
        {
          "path": "registry/monochrome/tooltip.tsx",
          "type": "registry:ui",
          "target": "components/ui/tooltip.tsx"
        }
      ],
      "installPath": "/r/tooltip.json",
      "command": "npx @coordiation/cli@next add component tooltip",
      "import": "@/components/ui/tooltip",
      "usage": "<Tooltip />",
      "accessibility": "Uses semantic HTML, preserves keyboard operation, exposes visible focus, and keeps accessible naming under consumer control."
    },
    {
      "name": "typography",
      "title": "Typography",
      "description": "Semantic prose primitives with consistent rhythm.",
      "category": "data-display",
      "status": "stable",
      "type": "registry:ui",
      "client": false,
      "export": "TypographyH1",
      "files": [
        {
          "path": "registry/monochrome/typography.tsx",
          "type": "registry:ui",
          "target": "components/ui/typography.tsx"
        }
      ],
      "installPath": "/r/typography.json",
      "command": "npx @coordiation/cli@next add component typography",
      "import": "@/components/ui/typography",
      "usage": "<TypographyH1 />",
      "accessibility": "Uses semantic HTML, preserves keyboard operation, exposes visible focus, and keeps accessible naming under consumer control."
    }
  ]
}
