{
  "name": "ui-lib",
  "description": "quebi React component library. Copy-paste source, no install required.",
  "baseUrl": "https://ui-lib.quebi.de",
  "count": 104,
  "components": [
    {
      "slug": "area-chart",
      "name": "Area Chart",
      "description": "Filled area chart built on the quebi chart wrapper, with an interactive legend, themed tooltip, stacked/percent stacking, and gradient or solid fills. Requires the recharts package.",
      "category": "Charts",
      "tags": [
        "chart",
        "area",
        "recharts",
        "data",
        "graph",
        "visualization"
      ],
      "dependencies": [
        "react",
        "recharts"
      ],
      "registryDependencies": [
        "chart"
      ],
      "files": {
        "source": "/api/components/area-chart.tsx",
        "meta": "/api/components/area-chart.json",
        "html": "/api/components/area-chart.html",
        "registryItem": "/r/area-chart.json"
      }
    },
    {
      "slug": "avatar",
      "name": "Avatar",
      "description": "Displays a user image with a graceful initials fallback, styled with the quebi design system. Circular or rounded-square, with a full xs–9xl size scale.",
      "category": "Display",
      "tags": [
        "avatar",
        "image",
        "user",
        "profile",
        "initials"
      ],
      "dependencies": [],
      "registryDependencies": [
        "lib-utils"
      ],
      "files": {
        "source": "/api/components/avatar.tsx",
        "meta": "/api/components/avatar.json",
        "html": "/api/components/avatar.html",
        "registryItem": "/r/avatar.json"
      }
    },
    {
      "slug": "badge",
      "name": "Badge",
      "description": "Pill-shaped status indicator styled with the quebi design system. Nine intents plus an optional state dot for live labels.",
      "category": "Display",
      "tags": [
        "badge",
        "label",
        "status",
        "pill",
        "tag"
      ],
      "dependencies": [
        "tailwind-variants"
      ],
      "registryDependencies": [
        "lib-utils"
      ],
      "files": {
        "source": "/api/components/badge.tsx",
        "meta": "/api/components/badge.json",
        "html": "/api/components/badge.html",
        "registryItem": "/r/badge.json"
      }
    },
    {
      "slug": "bar-chart",
      "name": "Bar Chart",
      "description": "High-level bar chart wrapper over the Chart primitive supporting grouped, stacked, and percent layouts with a teal-led quebi palette and an interactive legend. Requires the recharts package.",
      "category": "Charts",
      "tags": [
        "chart",
        "bar-chart",
        "recharts",
        "data",
        "graph",
        "visualization"
      ],
      "dependencies": [
        "react",
        "recharts"
      ],
      "registryDependencies": [
        "chart"
      ],
      "files": {
        "source": "/api/components/bar-chart.tsx",
        "meta": "/api/components/bar-chart.json",
        "html": "/api/components/bar-chart.html",
        "registryItem": "/r/bar-chart.json"
      }
    },
    {
      "slug": "bar-list",
      "name": "Bar List",
      "description": "A horizontal bar chart for ranked categorical data — each row's translucent brand-teal bar encodes its value relative to the largest entry, styled with the quebi design system.",
      "category": "Charts",
      "tags": [
        "chart",
        "bar",
        "ranking",
        "list",
        "data"
      ],
      "dependencies": [
        "react",
        "react-aria-components"
      ],
      "registryDependencies": [
        "lib-utils",
        "link"
      ],
      "files": {
        "source": "/api/components/bar-list.tsx",
        "meta": "/api/components/bar-list.json",
        "html": "/api/components/bar-list.html",
        "registryItem": "/r/bar-list.json"
      }
    },
    {
      "slug": "breadcrumbs",
      "name": "Breadcrumbs",
      "description": "Compact navigation trail built on react-aria-components. Intermediate crumbs are muted brand-teal links; the current page is white and semibold, with a chevron or slash separator.",
      "category": "Navigation",
      "tags": [
        "navigation",
        "breadcrumbs",
        "trail",
        "links"
      ],
      "dependencies": [
        "react",
        "react-aria-components"
      ],
      "registryDependencies": [
        "lib-utils",
        "link"
      ],
      "files": {
        "source": "/api/components/breadcrumbs.tsx",
        "meta": "/api/components/breadcrumbs.json",
        "html": "/api/components/breadcrumbs.html",
        "registryItem": "/r/breadcrumbs.json"
      }
    },
    {
      "slug": "button",
      "name": "Button",
      "description": "Clickable button built on react-aria-components, styled with the quebi design system. Six intents and a full size scale.",
      "category": "Actions",
      "tags": [
        "action",
        "form",
        "interactive",
        "cta"
      ],
      "dependencies": [
        "react-aria-components",
        "tailwind-variants"
      ],
      "registryDependencies": [
        "lib-utils"
      ],
      "files": {
        "source": "/api/components/button.tsx",
        "meta": "/api/components/button.json",
        "html": "/api/components/button.html",
        "registryItem": "/r/button.json"
      }
    },
    {
      "slug": "button-group",
      "name": "Button Group",
      "description": "Joins a row or column of buttons and inputs into one connected, segmented control by collapsing shared borders and squaring inner radii.",
      "category": "Actions",
      "tags": [
        "action",
        "group",
        "toolbar",
        "segmented",
        "layout"
      ],
      "dependencies": [
        "tailwind-variants"
      ],
      "registryDependencies": [
        "lib-utils"
      ],
      "files": {
        "source": "/api/components/button-group.tsx",
        "meta": "/api/components/button-group.json",
        "html": "/api/components/button-group.html",
        "registryItem": "/r/button-group.json"
      }
    },
    {
      "slug": "calendar",
      "name": "Calendar",
      "description": "An accessible month calendar with month and year selects in the header, built on react-aria-components and @internationalized/date. The selected day fills with brand teal and today is ringed — foundational for Range Calendar and Date Picker.",
      "category": "Forms",
      "tags": [
        "calendar",
        "date",
        "datepicker",
        "form",
        "input",
        "interactive"
      ],
      "dependencies": [
        "@internationalized/date",
        "lucide-react",
        "react",
        "react-aria-components"
      ],
      "registryDependencies": [
        "button",
        "lib-utils",
        "select"
      ],
      "files": {
        "source": "/api/components/calendar.tsx",
        "meta": "/api/components/calendar.json",
        "html": "/api/components/calendar.html",
        "registryItem": "/r/calendar.json"
      }
    },
    {
      "slug": "card",
      "name": "Card",
      "description": "A surface for grouping related content, styled with the quebi design system. Composes a header, content, and footer, with default and feature variants plus an optional hover glow.",
      "category": "Layout",
      "tags": [
        "layout",
        "surface",
        "container",
        "display"
      ],
      "dependencies": [],
      "registryDependencies": [
        "lib-utils"
      ],
      "files": {
        "source": "/api/components/card.tsx",
        "meta": "/api/components/card.json",
        "html": "/api/components/card.html",
        "registryItem": "/r/card.json"
      }
    },
    {
      "slug": "carousel",
      "name": "Carousel",
      "description": "A slide-able content region powered by embla-carousel, styled with the quebi design system. Composes a track of items with prev/next controls built on the quebi Button, supporting horizontal or vertical orientation and arrow-key navigation.",
      "category": "Display",
      "tags": [
        "carousel",
        "slider",
        "gallery",
        "embla",
        "display",
        "navigation"
      ],
      "dependencies": [
        "embla-carousel-react",
        "lucide-react",
        "react"
      ],
      "registryDependencies": [
        "button",
        "lib-utils"
      ],
      "files": {
        "source": "/api/components/carousel.tsx",
        "meta": "/api/components/carousel.json",
        "html": "/api/components/carousel.html",
        "registryItem": "/r/carousel.json"
      }
    },
    {
      "slug": "chart",
      "name": "Chart",
      "description": "Themeable recharts wrapper with styled axes, grid, tooltip, and an interactive legend, using a teal-led quebi color palette. Requires the recharts package.",
      "category": "Charts",
      "tags": [
        "chart",
        "recharts",
        "data",
        "graph",
        "visualization"
      ],
      "dependencies": [
        "react",
        "react-aria-components",
        "recharts"
      ],
      "registryDependencies": [
        "lib-utils"
      ],
      "files": {
        "source": "/api/components/chart.tsx",
        "meta": "/api/components/chart.json",
        "html": "/api/components/chart.html",
        "registryItem": "/r/chart.json"
      }
    },
    {
      "slug": "checkbox",
      "name": "Checkbox",
      "description": "Accessible checkbox built on react-aria-components, styled with the quebi design system. Supports selected, indeterminate, invalid, and disabled states, plus grouping.",
      "category": "Forms",
      "tags": [
        "form",
        "input",
        "boolean",
        "interactive"
      ],
      "dependencies": [
        "lucide-react",
        "react-aria-components"
      ],
      "registryDependencies": [
        "lib-utils"
      ],
      "files": {
        "source": "/api/components/checkbox.tsx",
        "meta": "/api/components/checkbox.json",
        "html": "/api/components/checkbox.html",
        "registryItem": "/r/checkbox.json"
      }
    },
    {
      "slug": "choice-box",
      "name": "Choice Box",
      "description": "Selectable cards built on react-aria-components, styled with the quebi design system. Supports single or multiple selection, 1–6 column layouts, label/description slots, and readonly, invalid, and disabled states.",
      "category": "Forms",
      "tags": [
        "form",
        "input",
        "select",
        "card",
        "radio",
        "interactive"
      ],
      "dependencies": [
        "react",
        "react-aria-components",
        "tailwind-variants"
      ],
      "registryDependencies": [
        "checkbox",
        "lib-utils"
      ],
      "files": {
        "source": "/api/components/choice-box.tsx",
        "meta": "/api/components/choice-box.json",
        "html": "/api/components/choice-box.html",
        "registryItem": "/r/choice-box.json"
      }
    },
    {
      "slug": "color-area",
      "name": "Color Area",
      "description": "Two-dimensional color picking surface built on react-aria-components, styled with the quebi design system. Drag the thumb across the gradient to pick two color channels at once.",
      "category": "Forms",
      "tags": [
        "form",
        "color",
        "picker",
        "interactive"
      ],
      "dependencies": [
        "react-aria-components"
      ],
      "registryDependencies": [
        "color-thumb",
        "lib-utils"
      ],
      "files": {
        "source": "/api/components/color-area.tsx",
        "meta": "/api/components/color-area.json",
        "html": "/api/components/color-area.html",
        "registryItem": "/r/color-area.json"
      }
    },
    {
      "slug": "color-field",
      "name": "Color Field",
      "description": "Accessible text input for editing a color as a hex value, built on react-aria-components and styled with the quebi design system. Parses and validates color input and threads value, validation, and disabled state to its field primitives.",
      "category": "Forms",
      "tags": [
        "form",
        "input",
        "color",
        "hex",
        "interactive"
      ],
      "dependencies": [
        "react-aria-components"
      ],
      "registryDependencies": [
        "lib-utils"
      ],
      "files": {
        "source": "/api/components/color-field.tsx",
        "meta": "/api/components/color-field.json",
        "html": "/api/components/color-field.html",
        "registryItem": "/r/color-field.json"
      }
    },
    {
      "slug": "color-picker",
      "name": "Color Picker",
      "description": "Accessible color picker wrapper built on react-aria-components, styled with the quebi design system. Includes an EyeDropper helper for sampling colors.",
      "category": "Forms",
      "tags": [
        "form",
        "input",
        "color",
        "picker"
      ],
      "dependencies": [
        "react",
        "react-aria-components"
      ],
      "registryDependencies": [
        "button",
        "lib-utils"
      ],
      "files": {
        "source": "/api/components/color-picker.tsx",
        "meta": "/api/components/color-picker.json",
        "html": "/api/components/color-picker.html",
        "registryItem": "/r/color-picker.json"
      }
    },
    {
      "slug": "color-slider",
      "name": "Color Slider",
      "description": "Single-channel color slider built on react-aria-components, styled with the quebi design system. Adjusts one channel (hue, saturation, lightness, or alpha) along a live gradient track with a draggable thumb and optional value output.",
      "category": "Forms",
      "tags": [
        "form",
        "input",
        "color",
        "slider",
        "interactive"
      ],
      "dependencies": [
        "react-aria-components"
      ],
      "registryDependencies": [
        "lib-utils"
      ],
      "files": {
        "source": "/api/components/color-slider.tsx",
        "meta": "/api/components/color-slider.json",
        "html": "/api/components/color-slider.html",
        "registryItem": "/r/color-slider.json"
      }
    },
    {
      "slug": "color-swatch",
      "name": "Color Swatch",
      "description": "Accessible color swatch built on react-aria-components, styled with the quebi design system. Renders a fixed-size square filled with a color value, with a subtle cyan inset ring.",
      "category": "Forms",
      "tags": [
        "form",
        "color",
        "swatch",
        "display"
      ],
      "dependencies": [
        "react-aria-components"
      ],
      "registryDependencies": [
        "lib-utils"
      ],
      "files": {
        "source": "/api/components/color-swatch.tsx",
        "meta": "/api/components/color-swatch.json",
        "html": "/api/components/color-swatch.html",
        "registryItem": "/r/color-swatch.json"
      }
    },
    {
      "slug": "color-swatch-picker",
      "name": "Color Swatch Picker",
      "description": "Accessible color picker built on react-aria-components, styled with the quebi design system. A wrapping grid of selectable swatches with a brand-teal selection ring and focus state.",
      "category": "Forms",
      "tags": [
        "form",
        "color",
        "picker",
        "swatch",
        "interactive"
      ],
      "dependencies": [
        "react-aria-components"
      ],
      "registryDependencies": [
        "lib-utils"
      ],
      "files": {
        "source": "/api/components/color-swatch-picker.tsx",
        "meta": "/api/components/color-swatch-picker.json",
        "html": "/api/components/color-swatch-picker.html",
        "registryItem": "/r/color-swatch-picker.json"
      }
    },
    {
      "slug": "color-thumb",
      "name": "Color Thumb",
      "description": "The draggable handle for color pickers (color area, wheel, and slider), built on react-aria-components and styled with the quebi design system. Shows the picked color as its fill with a quebi teal focus ring.",
      "category": "Forms",
      "tags": [
        "form",
        "color",
        "picker",
        "thumb",
        "handle",
        "interactive"
      ],
      "dependencies": [
        "react-aria-components"
      ],
      "registryDependencies": [
        "lib-utils"
      ],
      "files": {
        "source": "/api/components/color-thumb.tsx",
        "meta": "/api/components/color-thumb.json",
        "html": "/api/components/color-thumb.html",
        "registryItem": "/r/color-thumb.json"
      }
    },
    {
      "slug": "color-wheel",
      "name": "Color Wheel",
      "description": "Circular hue picker built on react-aria-components and styled with the quebi design system. Drag the thumb around the ring to choose a hue; pairs with a color area for full color selection.",
      "category": "Forms",
      "tags": [
        "form",
        "color",
        "picker",
        "wheel",
        "hue",
        "interactive"
      ],
      "dependencies": [
        "react-aria-components"
      ],
      "registryDependencies": [
        "color-thumb"
      ],
      "files": {
        "source": "/api/components/color-wheel.tsx",
        "meta": "/api/components/color-wheel.json",
        "html": "/api/components/color-wheel.html",
        "registryItem": "/r/color-wheel.json"
      }
    },
    {
      "slug": "combo-box",
      "name": "Combo Box",
      "description": "Autocomplete combo box built on react-aria-components, styled with the quebi design system. Pairs a text input with a filterable dropdown of options, with brand-teal selection and sections.",
      "category": "Forms",
      "tags": [
        "form",
        "input",
        "autocomplete",
        "select",
        "dropdown",
        "interactive"
      ],
      "dependencies": [
        "lucide-react",
        "react-aria-components"
      ],
      "registryDependencies": [
        "dropdown",
        "input",
        "lib-utils",
        "popover"
      ],
      "files": {
        "source": "/api/components/combo-box.tsx",
        "meta": "/api/components/combo-box.json",
        "html": "/api/components/combo-box.html",
        "registryItem": "/r/combo-box.json"
      }
    },
    {
      "slug": "command-menu",
      "name": "Command Menu",
      "description": "A ⌘K command palette built on react-aria-components' Autocomplete and Modal, styled with the quebi design system. Renders a dark surface inside a dimmed overlay with a quebi search field, sectioned results, keyboard shortcut hints, and a footer. Composes the menu and dropdown item styling for brand-teal selection.",
      "category": "Overlays",
      "tags": [
        "overlay",
        "command",
        "palette",
        "cmdk",
        "search",
        "menu",
        "keyboard"
      ],
      "dependencies": [
        "lucide-react",
        "react",
        "react-aria-components"
      ],
      "registryDependencies": [
        "dropdown",
        "lib-utils",
        "loader",
        "menu"
      ],
      "files": {
        "source": "/api/components/command-menu.tsx",
        "meta": "/api/components/command-menu.json",
        "html": "/api/components/command-menu.html",
        "registryItem": "/r/command-menu.json"
      }
    },
    {
      "slug": "conform-checkbox",
      "name": "Conform Checkbox",
      "description": "The quebi Checkbox wired to Conform. Binds a boolean field's name, required, default, and validity from field metadata and renders inline errors.",
      "category": "Forms",
      "tags": [
        "form",
        "conform",
        "checkbox",
        "boolean",
        "validation"
      ],
      "dependencies": [
        "@conform-to/react",
        "react-aria-components"
      ],
      "registryDependencies": [
        "checkbox",
        "lib-utils"
      ],
      "files": {
        "source": "/api/components/conform-checkbox.tsx",
        "meta": "/api/components/conform-checkbox.json",
        "html": "/api/components/conform-checkbox.html",
        "registryItem": "/r/conform-checkbox.json"
      }
    },
    {
      "slug": "conform-color-picker",
      "name": "Conform Color Picker",
      "description": "The quebi Color Picker wired to Conform. Binds a hex-string field's name, default, required, and validity from field metadata, mirrors the chosen color into a hidden input, and renders inline errors.",
      "category": "Forms",
      "tags": [
        "form",
        "conform",
        "color",
        "color-picker",
        "validation"
      ],
      "dependencies": [
        "@conform-to/react",
        "react",
        "react-aria-components"
      ],
      "registryDependencies": [
        "color-area",
        "color-field",
        "color-picker",
        "color-slider",
        "color-swatch",
        "dialog",
        "field",
        "popover"
      ],
      "files": {
        "source": "/api/components/conform-color-picker.tsx",
        "meta": "/api/components/conform-color-picker.json",
        "html": "/api/components/conform-color-picker.html",
        "registryItem": "/r/conform-color-picker.json"
      }
    },
    {
      "slug": "conform-color-swatch-picker",
      "name": "Conform Color Swatch Picker",
      "description": "The quebi ColorSwatchPicker wired to Conform for multi-select. Mirrors swatch selection into a list-data binding and a hidden input, deriving the field name and validity from field metadata with inline errors.",
      "category": "Forms",
      "tags": [
        "form",
        "conform",
        "color",
        "swatch",
        "picker",
        "multi-select",
        "validation"
      ],
      "dependencies": [
        "@conform-to/react",
        "react",
        "react-aria-components",
        "react-stately"
      ],
      "registryDependencies": [
        "color-swatch-picker",
        "field",
        "lib-utils"
      ],
      "files": {
        "source": "/api/components/conform-color-swatch-picker.tsx",
        "meta": "/api/components/conform-color-swatch-picker.json",
        "html": "/api/components/conform-color-swatch-picker.html",
        "registryItem": "/r/conform-color-swatch-picker.json"
      }
    },
    {
      "slug": "conform-date-field",
      "name": "Conform Date Field",
      "description": "The quebi DateField wired to Conform. Binds a date field's name, required, default, and validity from field metadata and renders inline errors.",
      "category": "Forms",
      "tags": [
        "form",
        "conform",
        "date",
        "date-field",
        "validation"
      ],
      "dependencies": [
        "@conform-to/react",
        "@internationalized/date",
        "react-aria-components"
      ],
      "registryDependencies": [
        "date-field",
        "field",
        "lib-utils"
      ],
      "files": {
        "source": "/api/components/conform-date-field.tsx",
        "meta": "/api/components/conform-date-field.json",
        "html": "/api/components/conform-date-field.html",
        "registryItem": "/r/conform-date-field.json"
      }
    },
    {
      "slug": "conform-date-picker",
      "name": "Conform Date Picker",
      "description": "The quebi DatePicker wired to Conform. Binds a date field's name, required, default, and validity from field metadata and renders inline errors.",
      "category": "Forms",
      "tags": [
        "form",
        "conform",
        "date",
        "date-picker",
        "calendar",
        "validation"
      ],
      "dependencies": [
        "@conform-to/react",
        "@internationalized/date",
        "react-aria-components"
      ],
      "registryDependencies": [
        "date-picker",
        "field",
        "lib-utils"
      ],
      "files": {
        "source": "/api/components/conform-date-picker.tsx",
        "meta": "/api/components/conform-date-picker.json",
        "html": "/api/components/conform-date-picker.html",
        "registryItem": "/r/conform-date-picker.json"
      }
    },
    {
      "slug": "conform-field",
      "name": "Conform Field",
      "description": "A text field bound to a Conform field — derives name, default, required, and validation errors from the field metadata.",
      "category": "Forms",
      "tags": [
        "form",
        "conform",
        "input",
        "text-field",
        "validation"
      ],
      "dependencies": [
        "@conform-to/react",
        "react-aria-components"
      ],
      "registryDependencies": [
        "field",
        "input",
        "lib-utils"
      ],
      "files": {
        "source": "/api/components/conform-field.tsx",
        "meta": "/api/components/conform-field.json",
        "html": "/api/components/conform-field.html",
        "registryItem": "/r/conform-field.json"
      }
    },
    {
      "slug": "conform-number-field",
      "name": "Conform Number Field",
      "description": "Number field wired to a Conform field — binds name, default, required, and errors from field metadata and renders inline validation.",
      "category": "Forms",
      "tags": [
        "form",
        "conform",
        "number",
        "input",
        "field",
        "validation"
      ],
      "dependencies": [
        "@conform-to/react",
        "react-aria-components"
      ],
      "registryDependencies": [
        "field",
        "number-field"
      ],
      "files": {
        "source": "/api/components/conform-number-field.tsx",
        "meta": "/api/components/conform-number-field.json",
        "html": "/api/components/conform-number-field.html",
        "registryItem": "/r/conform-number-field.json"
      }
    },
    {
      "slug": "conform-select",
      "name": "Conform Select",
      "description": "The quebi Select wired to Conform. Binds a single-value field's name, default selection, and validity from field metadata and renders inline errors.",
      "category": "Forms",
      "tags": [
        "form",
        "conform",
        "select",
        "dropdown",
        "validation"
      ],
      "dependencies": [
        "@conform-to/react",
        "react"
      ],
      "registryDependencies": [
        "field",
        "select"
      ],
      "files": {
        "source": "/api/components/conform-select.tsx",
        "meta": "/api/components/conform-select.json",
        "html": "/api/components/conform-select.html",
        "registryItem": "/r/conform-select.json"
      }
    },
    {
      "slug": "conform-storage-picker",
      "name": "Conform Storage Picker",
      "description": "A multi-select chip group of device storage sizes wired to Conform. Selected sizes are tracked in a react-stately list and mirrored into a hidden input for submission, with validity derived from the field metadata.",
      "category": "Forms",
      "tags": [
        "form",
        "conform",
        "storage",
        "multi-select",
        "chips",
        "validation"
      ],
      "dependencies": [
        "@conform-to/react",
        "react",
        "react-stately"
      ],
      "registryDependencies": [
        "field",
        "lib-utils"
      ],
      "files": {
        "source": "/api/components/conform-storage-picker.tsx",
        "meta": "/api/components/conform-storage-picker.json",
        "html": "/api/components/conform-storage-picker.html",
        "registryItem": "/r/conform-storage-picker.json"
      }
    },
    {
      "slug": "container",
      "name": "Container",
      "description": "Centered, max-width layout wrapper with responsive horizontal padding. Exposes its breakpoint and gutter as CSS variables for inline overrides.",
      "category": "Layout",
      "tags": [
        "layout",
        "wrapper",
        "responsive",
        "content-width"
      ],
      "dependencies": [],
      "registryDependencies": [
        "lib-utils"
      ],
      "files": {
        "source": "/api/components/container.tsx",
        "meta": "/api/components/container.json",
        "html": "/api/components/container.html",
        "registryItem": "/r/container.json"
      }
    },
    {
      "slug": "context-menu",
      "name": "Context Menu",
      "description": "Right-click context menu built on the shared Menu overlay and styled with the quebi design system. Captures the pointer position to anchor the popover, reusing the dark surface, cyan hairlines, and dropdown item styling with sections, separators, shortcuts, and intents.",
      "category": "Overlays",
      "tags": [
        "overlay",
        "menu",
        "context-menu",
        "right-click",
        "actions"
      ],
      "dependencies": [
        "react"
      ],
      "registryDependencies": [
        "lib-utils",
        "menu"
      ],
      "files": {
        "source": "/api/components/context-menu.tsx",
        "meta": "/api/components/context-menu.json",
        "html": "/api/components/context-menu.html",
        "registryItem": "/r/context-menu.json"
      }
    },
    {
      "slug": "date-field",
      "name": "Date Field",
      "description": "Accessible segmented date entry built on react-aria-components, styled with the quebi design system. Each date part is individually editable; the focused segment lights up with a brand-teal wash.",
      "category": "Forms",
      "tags": [
        "form",
        "input",
        "date",
        "datetime",
        "interactive"
      ],
      "dependencies": [
        "react-aria-components"
      ],
      "registryDependencies": [
        "lib-utils"
      ],
      "files": {
        "source": "/api/components/date-field.tsx",
        "meta": "/api/components/date-field.json",
        "html": "/api/components/date-field.html",
        "registryItem": "/r/date-field.json"
      }
    },
    {
      "slug": "date-picker",
      "name": "Date Picker",
      "description": "A segmented date input paired with a calendar overlay, built on react-aria-components and styled with the quebi design system. The trigger uses the quebi input chrome with a calendar-icon button; a popover (or modal on mobile) holds the calendar.",
      "category": "Forms",
      "tags": [
        "form",
        "input",
        "date",
        "datetime",
        "calendar",
        "popover",
        "interactive"
      ],
      "dependencies": [
        "@internationalized/date",
        "lucide-react",
        "react",
        "react-aria-components"
      ],
      "registryDependencies": [
        "calendar",
        "date-field",
        "lib-utils",
        "modal",
        "popover",
        "range-calendar"
      ],
      "files": {
        "source": "/api/components/date-picker.tsx",
        "meta": "/api/components/date-picker.json",
        "html": "/api/components/date-picker.html",
        "registryItem": "/r/date-picker.json"
      }
    },
    {
      "slug": "date-range-picker",
      "name": "Date Range Picker",
      "description": "Two segmented date inputs (start → end) paired with a range-calendar overlay, built on react-aria-components and styled with the quebi design system. The trigger uses the quebi input chrome with a calendar-icon button; a popover (or modal on mobile) holds the range calendar.",
      "category": "Forms",
      "tags": [
        "form",
        "input",
        "date",
        "daterange",
        "range",
        "calendar",
        "popover",
        "interactive"
      ],
      "dependencies": [
        "@internationalized/date",
        "lucide-react",
        "react-aria-components"
      ],
      "registryDependencies": [
        "date-field",
        "date-picker",
        "lib-utils"
      ],
      "files": {
        "source": "/api/components/date-range-picker.tsx",
        "meta": "/api/components/date-range-picker.json",
        "html": "/api/components/date-range-picker.html",
        "registryItem": "/r/date-range-picker.json"
      }
    },
    {
      "slug": "description-list",
      "name": "Description List",
      "description": "A responsive term/description grid built on a semantic <dl>, styled with the quebi design system. Stacks on mobile and splits into two columns on larger screens.",
      "category": "Display",
      "tags": [
        "display",
        "data",
        "list",
        "key-value",
        "metadata"
      ],
      "dependencies": [],
      "registryDependencies": [
        "lib-utils"
      ],
      "files": {
        "source": "/api/components/description-list.tsx",
        "meta": "/api/components/description-list.json",
        "html": "/api/components/description-list.html",
        "registryItem": "/r/description-list.json"
      }
    },
    {
      "slug": "dialog",
      "name": "Dialog",
      "description": "Accessible dialog surface built on react-aria-components, styled with the quebi design system. The foundation for modal, popover, sheet, and drawer — compose it inside an overlay.",
      "category": "Overlays",
      "tags": [
        "overlay",
        "dialog",
        "modal",
        "popover",
        "foundational"
      ],
      "dependencies": [
        "react-aria-components"
      ],
      "registryDependencies": [
        "button",
        "lib-utils"
      ],
      "files": {
        "source": "/api/components/dialog.tsx",
        "meta": "/api/components/dialog.json",
        "html": "/api/components/dialog.html",
        "registryItem": "/r/dialog.json"
      }
    },
    {
      "slug": "disclosure-group",
      "name": "Disclosure Group",
      "description": "Accordion-style group of expandable sections built on react-aria-components, styled with the quebi design system. Each item has a cyan-tinted border and white header; expanding lifts the active section with a teal-tinted surface and glow.",
      "category": "Display",
      "tags": [
        "accordion",
        "disclosure",
        "collapse",
        "expand",
        "interactive"
      ],
      "dependencies": [
        "react",
        "react-aria-components"
      ],
      "registryDependencies": [
        "lib-utils"
      ],
      "files": {
        "source": "/api/components/disclosure-group.tsx",
        "meta": "/api/components/disclosure-group.json",
        "html": "/api/components/disclosure-group.html",
        "registryItem": "/r/disclosure-group.json"
      }
    },
    {
      "slug": "drawer",
      "name": "Drawer",
      "description": "A draggable sliding panel that enters from any edge, built on react-aria-components and motion with drag-to-dismiss. Styled with the quebi design system.",
      "category": "Overlays",
      "tags": [
        "overlay",
        "drawer",
        "sheet",
        "panel",
        "modal",
        "motion"
      ],
      "dependencies": [
        "motion",
        "react",
        "react-aria-components"
      ],
      "registryDependencies": [
        "button",
        "lib-utils"
      ],
      "files": {
        "source": "/api/components/drawer.tsx",
        "meta": "/api/components/drawer.json",
        "html": "/api/components/drawer.html",
        "registryItem": "/r/drawer.json"
      }
    },
    {
      "slug": "drop-zone",
      "name": "Drop Zone",
      "description": "Accessible drag-and-drop target built on react-aria-components, styled with the quebi design system. A dashed cyan surface that highlights with brand teal and a glow while an item is dragged over it.",
      "category": "Forms",
      "tags": [
        "form",
        "upload",
        "drag",
        "drop",
        "file",
        "interactive"
      ],
      "dependencies": [
        "react-aria-components"
      ],
      "registryDependencies": [
        "lib-utils"
      ],
      "files": {
        "source": "/api/components/drop-zone.tsx",
        "meta": "/api/components/drop-zone.json",
        "html": "/api/components/drop-zone.html",
        "registryItem": "/r/drop-zone.json"
      }
    },
    {
      "slug": "dropdown",
      "name": "Dropdown",
      "description": "Foundational dropdown building blocks (items, sections, labels, descriptions, separators, and keyboard hints) shared by Menu, Select, Combo Box, and List Box. Built on react-aria-components and styled with the quebi dark surface and brand-teal selection.",
      "category": "Overlays",
      "tags": [
        "menu",
        "select",
        "list",
        "item",
        "section",
        "overlay",
        "interactive"
      ],
      "dependencies": [
        "lucide-react",
        "react-aria-components",
        "tailwind-variants"
      ],
      "registryDependencies": [
        "keyboard",
        "lib-utils"
      ],
      "files": {
        "source": "/api/components/dropdown.tsx",
        "meta": "/api/components/dropdown.json",
        "html": "/api/components/dropdown.html",
        "registryItem": "/r/dropdown.json"
      }
    },
    {
      "slug": "energy-class-badge",
      "name": "Energy Class Badge",
      "description": "EU energy-efficiency class chip (A–G) on the official green→red label scale, with a neutral quebi fallback for unknown or legacy values.",
      "category": "Display",
      "tags": [
        "badge",
        "energy",
        "label",
        "indicator",
        "eu"
      ],
      "dependencies": [
        "tailwind-variants"
      ],
      "registryDependencies": [
        "lib-utils"
      ],
      "files": {
        "source": "/api/components/energy-class-badge.tsx",
        "meta": "/api/components/energy-class-badge.json",
        "html": "/api/components/energy-class-badge.html",
        "registryItem": "/r/energy-class-badge.json"
      }
    },
    {
      "slug": "field",
      "name": "Field",
      "description": "Accessible form field primitives built on react-aria-components, styled with the quebi design system. Includes Label, Description, FieldError, plus Field, Fieldset, FieldGroup, and Legend wrappers for composing the label → control → hint stack.",
      "category": "Forms",
      "tags": [
        "form",
        "label",
        "field",
        "description",
        "error",
        "fieldset"
      ],
      "dependencies": [
        "react-aria-components"
      ],
      "registryDependencies": [
        "lib-utils"
      ],
      "files": {
        "source": "/api/components/field.tsx",
        "meta": "/api/components/field.json",
        "html": "/api/components/field.html",
        "registryItem": "/r/field.json"
      }
    },
    {
      "slug": "file-trigger",
      "name": "File Trigger",
      "description": "A button that opens the native file picker, built on react-aria-components and styled with the quebi design system. Supports multiple files, directories, camera capture, and a pending state.",
      "category": "Forms",
      "tags": [
        "form",
        "file",
        "upload",
        "input",
        "button"
      ],
      "dependencies": [
        "react-aria-components",
        "tailwind-variants"
      ],
      "registryDependencies": [
        "button",
        "loader"
      ],
      "files": {
        "source": "/api/components/file-trigger.tsx",
        "meta": "/api/components/file-trigger.json",
        "html": "/api/components/file-trigger.html",
        "registryItem": "/r/file-trigger.json"
      }
    },
    {
      "slug": "formatted-date",
      "name": "Formatted Date",
      "description": "Locale-aware date and time formatter that renders a semantic <time> element, with absolute and relative styles powered by the Intl APIs.",
      "category": "Display",
      "tags": [
        "date",
        "time",
        "intl",
        "formatter",
        "locale",
        "relative"
      ],
      "dependencies": [],
      "registryDependencies": [],
      "files": {
        "source": "/api/components/formatted-date.tsx",
        "meta": "/api/components/formatted-date.json",
        "html": "/api/components/formatted-date.html",
        "registryItem": "/r/formatted-date.json"
      }
    },
    {
      "slug": "formatted-number",
      "name": "Formatted Number",
      "description": "Locale-aware number, currency, and percentage formatting via Intl.NumberFormat. Reads the active locale from react-aria's I18nProvider, with formatter helpers for string contexts.",
      "category": "Display",
      "tags": [
        "number",
        "currency",
        "percentage",
        "format",
        "intl",
        "i18n",
        "locale"
      ],
      "dependencies": [
        "react",
        "react-aria-components"
      ],
      "registryDependencies": [],
      "files": {
        "source": "/api/components/formatted-number.tsx",
        "meta": "/api/components/formatted-number.json",
        "html": "/api/components/formatted-number.html",
        "registryItem": "/r/formatted-number.json"
      }
    },
    {
      "slug": "formatted-storage",
      "name": "Formatted Storage",
      "description": "Renders a storage capacity given in GB as a compact label, rolling values of 1024GB and above up to TB.",
      "category": "Display",
      "tags": [
        "display",
        "format",
        "storage",
        "capacity",
        "text"
      ],
      "dependencies": [],
      "registryDependencies": [
        "lib-utils"
      ],
      "files": {
        "source": "/api/components/formatted-storage.tsx",
        "meta": "/api/components/formatted-storage.json",
        "html": "/api/components/formatted-storage.html",
        "registryItem": "/r/formatted-storage.json"
      }
    },
    {
      "slug": "gallery",
      "name": "Gallery",
      "description": "A presentational image gallery with a large hero image, a thumbnail strip for switching between images, and a click-to-zoom lightbox built on Modal. Styled with the quebi design system.",
      "category": "Display",
      "tags": [
        "gallery",
        "image",
        "lightbox",
        "carousel",
        "media"
      ],
      "dependencies": [
        "lucide-react",
        "react"
      ],
      "registryDependencies": [
        "lib-utils",
        "modal"
      ],
      "files": {
        "source": "/api/components/gallery.tsx",
        "meta": "/api/components/gallery.json",
        "html": "/api/components/gallery.html",
        "registryItem": "/r/gallery.json"
      }
    },
    {
      "slug": "grid-list",
      "name": "Grid List",
      "description": "Keyboard-navigable, selectable list built on react-aria-components and styled with the quebi design system. Supports single and multiple selection with row checkboxes, drag handles, sections, and labels/descriptions.",
      "category": "Display",
      "tags": [
        "list",
        "selection",
        "collection",
        "drag",
        "interactive"
      ],
      "dependencies": [
        "react-aria-components"
      ],
      "registryDependencies": [
        "checkbox",
        "lib-utils"
      ],
      "files": {
        "source": "/api/components/grid-list.tsx",
        "meta": "/api/components/grid-list.json",
        "html": "/api/components/grid-list.html",
        "registryItem": "/r/grid-list.json"
      }
    },
    {
      "slug": "heading",
      "name": "Heading",
      "description": "Semantic h1–h4 heading with a quebi-tuned type scale. White, font-semibold with tight tracking.",
      "category": "Display",
      "tags": [
        "typography",
        "heading",
        "title",
        "text",
        "display"
      ],
      "dependencies": [],
      "registryDependencies": [
        "lib-utils"
      ],
      "files": {
        "source": "/api/components/heading.tsx",
        "meta": "/api/components/heading.json",
        "html": "/api/components/heading.html",
        "registryItem": "/r/heading.json"
      }
    },
    {
      "slug": "input",
      "name": "Input",
      "description": "Accessible text input built on react-aria-components, styled with the quebi design system. Supports hover, focus, invalid, and disabled states, plus an InputGroup wrapper for icon, text, and button adornments.",
      "category": "Forms",
      "tags": [
        "form",
        "input",
        "text",
        "field",
        "interactive"
      ],
      "dependencies": [
        "react-aria-components"
      ],
      "registryDependencies": [
        "lib-utils"
      ],
      "files": {
        "source": "/api/components/input.tsx",
        "meta": "/api/components/input.json",
        "html": "/api/components/input.html",
        "registryItem": "/r/input.json"
      }
    },
    {
      "slug": "input-otp",
      "name": "Input OTP",
      "description": "One-time-password / verification-code input built on the input-otp package, styled with the quebi design system. Individual slots use the quebi input style and the active slot lifts to brand teal; supports separators, invalid, and disabled states.",
      "category": "Forms",
      "tags": [
        "form",
        "input",
        "otp",
        "code",
        "verification",
        "interactive"
      ],
      "dependencies": [
        "input-otp",
        "lucide-react",
        "react"
      ],
      "registryDependencies": [
        "lib-utils"
      ],
      "files": {
        "source": "/api/components/input-otp.tsx",
        "meta": "/api/components/input-otp.json",
        "html": "/api/components/input-otp.html",
        "registryItem": "/r/input-otp.json"
      }
    },
    {
      "slug": "keyboard",
      "name": "Keyboard",
      "description": "Keyboard shortcut hint built on react-aria-components, styled with the quebi design system. Renders muted key glyphs next to menu items, buttons, and tooltips.",
      "category": "Display",
      "tags": [
        "keyboard",
        "shortcut",
        "kbd",
        "hint",
        "hotkey"
      ],
      "dependencies": [
        "react-aria-components"
      ],
      "registryDependencies": [
        "lib-utils"
      ],
      "files": {
        "source": "/api/components/keyboard.tsx",
        "meta": "/api/components/keyboard.json",
        "html": "/api/components/keyboard.html",
        "registryItem": "/r/keyboard.json"
      }
    },
    {
      "slug": "leaderboard",
      "name": "Leaderboard",
      "description": "A ranked list where each row is a react-aria ProgressBar whose brand-teal fill encodes its value relative to the leader, styled with the quebi design system.",
      "category": "Display",
      "tags": [
        "leaderboard",
        "ranking",
        "chart",
        "progress",
        "list"
      ],
      "dependencies": [
        "react-aria-components"
      ],
      "registryDependencies": [
        "lib-utils"
      ],
      "files": {
        "source": "/api/components/leaderboard.tsx",
        "meta": "/api/components/leaderboard.json",
        "html": "/api/components/leaderboard.html",
        "registryItem": "/r/leaderboard.json"
      }
    },
    {
      "slug": "line-chart",
      "name": "Line Chart",
      "description": "A config-driven line chart on the quebi Chart wrapper, rendering one teal-led series per config key with styled axes, grid, tooltip, and an interactive legend. Requires the recharts package.",
      "category": "Charts",
      "tags": [
        "chart",
        "line",
        "recharts",
        "data",
        "graph",
        "visualization"
      ],
      "dependencies": [
        "react",
        "recharts"
      ],
      "registryDependencies": [
        "chart"
      ],
      "files": {
        "source": "/api/components/line-chart.tsx",
        "meta": "/api/components/line-chart.json",
        "html": "/api/components/line-chart.html",
        "registryItem": "/r/line-chart.json"
      }
    },
    {
      "slug": "link",
      "name": "Link",
      "description": "Brand-teal text link built on react-aria-components, styled with the quebi design system. No underline by default; external hrefs render as a plain anchor.",
      "category": "Navigation",
      "tags": [
        "navigation",
        "link",
        "anchor",
        "interactive"
      ],
      "dependencies": [
        "react-aria-components"
      ],
      "registryDependencies": [
        "lib-utils"
      ],
      "files": {
        "source": "/api/components/link.tsx",
        "meta": "/api/components/link.json",
        "html": "/api/components/link.html",
        "registryItem": "/r/link.json"
      }
    },
    {
      "slug": "link-button",
      "name": "Link Button",
      "description": "A semantic anchor built on react-aria-components, styled like a Button via shared quebi button styles. Inherits the full intent and size scale.",
      "category": "Actions",
      "tags": [
        "action",
        "link",
        "navigation",
        "interactive",
        "cta"
      ],
      "dependencies": [
        "react-aria-components",
        "tailwind-variants"
      ],
      "registryDependencies": [
        "button"
      ],
      "files": {
        "source": "/api/components/link-button.tsx",
        "meta": "/api/components/link-button.json",
        "html": "/api/components/link-button.html",
        "registryItem": "/r/link-button.json"
      }
    },
    {
      "slug": "link-toggle-group",
      "name": "Link Toggle Group",
      "description": "A segmented control rendered as anchor links inside a tablist, for view switches that are real navigations. Styled with the quebi design system.",
      "category": "Navigation",
      "tags": [
        "navigation",
        "tabs",
        "toggle",
        "segmented",
        "links"
      ],
      "dependencies": [
        "react"
      ],
      "registryDependencies": [
        "lib-utils"
      ],
      "files": {
        "source": "/api/components/link-toggle-group.tsx",
        "meta": "/api/components/link-toggle-group.json",
        "html": "/api/components/link-toggle-group.html",
        "registryItem": "/r/link-toggle-group.json"
      }
    },
    {
      "slug": "list-box",
      "name": "List Box",
      "description": "A selectable list with single or multiple selection, sections, descriptions, and drag handles. Built on react-aria-components, reuses the shared dropdown item styling, and is styled with the quebi dark surface and brand-teal selection.",
      "category": "Forms",
      "tags": [
        "list",
        "select",
        "option",
        "section",
        "selection",
        "interactive"
      ],
      "dependencies": [
        "lucide-react",
        "react-aria-components"
      ],
      "registryDependencies": [
        "dropdown",
        "lib-utils"
      ],
      "files": {
        "source": "/api/components/list-box.tsx",
        "meta": "/api/components/list-box.json",
        "html": "/api/components/list-box.html",
        "registryItem": "/r/list-box.json"
      }
    },
    {
      "slug": "loader",
      "name": "Loader",
      "description": "Indeterminate spinner built on react-aria-components' ProgressBar, styled with the quebi design system. Ring and segmented spin glyphs that inherit the brand teal accent.",
      "category": "Feedback",
      "tags": [
        "loader",
        "spinner",
        "loading",
        "progress",
        "pending"
      ],
      "dependencies": [
        "react-aria-components"
      ],
      "registryDependencies": [
        "lib-utils"
      ],
      "files": {
        "source": "/api/components/loader.tsx",
        "meta": "/api/components/loader.json",
        "html": "/api/components/loader.html",
        "registryItem": "/r/loader.json"
      }
    },
    {
      "slug": "menu",
      "name": "Menu",
      "description": "Trigger-anchored action menu built on react-aria-components and styled with the quebi design system. Composes the popover overlay and the shared dropdown item styling, with sections, separators, keyboard shortcuts, intents, and nested submenus. Foundational for command-menu and context-menu.",
      "category": "Overlays",
      "tags": [
        "overlay",
        "menu",
        "dropdown",
        "actions",
        "submenu",
        "foundational"
      ],
      "dependencies": [
        "lucide-react",
        "react-aria-components",
        "tailwind-variants"
      ],
      "registryDependencies": [
        "dropdown",
        "lib-utils",
        "popover"
      ],
      "files": {
        "source": "/api/components/menu.tsx",
        "meta": "/api/components/menu.json",
        "html": "/api/components/menu.html",
        "registryItem": "/r/menu.json"
      }
    },
    {
      "slug": "meter",
      "name": "Meter",
      "description": "Accessible meter built on react-aria-components, styled with the quebi design system. Shows a value within a known range with a brand-teal fill that shifts to amber and red past warning and danger thresholds.",
      "category": "Feedback",
      "tags": [
        "meter",
        "progress",
        "gauge",
        "feedback",
        "usage"
      ],
      "dependencies": [
        "react",
        "react-aria-components"
      ],
      "registryDependencies": [
        "lib-utils"
      ],
      "files": {
        "source": "/api/components/meter.tsx",
        "meta": "/api/components/meter.json",
        "html": "/api/components/meter.html",
        "registryItem": "/r/meter.json"
      }
    },
    {
      "slug": "modal",
      "name": "Modal",
      "description": "A modal dialog that presents the Dialog surface inside a dark, blurred overlay, with size variants and an optional close button. Built on react-aria-components and styled with the quebi design system.",
      "category": "Overlays",
      "tags": [
        "overlay",
        "modal",
        "dialog",
        "foundational"
      ],
      "dependencies": [
        "react-aria-components"
      ],
      "registryDependencies": [
        "dialog",
        "lib-utils"
      ],
      "files": {
        "source": "/api/components/modal.tsx",
        "meta": "/api/components/modal.json",
        "html": "/api/components/modal.html",
        "registryItem": "/r/modal.json"
      }
    },
    {
      "slug": "multiple-select",
      "name": "Multiple Select",
      "description": "A multi-value picker that renders chosen options as removable tags and opens a searchable list-box popover to add more. Composes Tag Group, Popover, Search Field, and List Box, styled with the quebi dark surface and brand-teal selection.",
      "category": "Forms",
      "tags": [
        "select",
        "multi-select",
        "combobox",
        "tags",
        "form",
        "input",
        "search",
        "interactive"
      ],
      "dependencies": [
        "lucide-react",
        "react",
        "react-aria-components"
      ],
      "registryDependencies": [
        "button",
        "lib-utils",
        "list-box",
        "popover",
        "search-field",
        "tag-group"
      ],
      "files": {
        "source": "/api/components/multiple-select.tsx",
        "meta": "/api/components/multiple-select.json",
        "html": "/api/components/multiple-select.html",
        "registryItem": "/r/multiple-select.json"
      }
    },
    {
      "slug": "navbar",
      "name": "Navbar",
      "description": "A responsive top or bottom navigation bar that collapses into a Sheet drawer on mobile, with a brand-teal active-link indicator. Composes Button, Separator, and Sheet.",
      "category": "Navigation",
      "tags": [
        "navbar",
        "navigation",
        "menu",
        "header",
        "responsive",
        "drawer"
      ],
      "dependencies": [
        "lucide-react",
        "motion",
        "react",
        "react-aria-components",
        "tailwind-merge"
      ],
      "registryDependencies": [
        "button",
        "lib-utils",
        "separator",
        "sheet"
      ],
      "files": {
        "source": "/api/components/navbar.tsx",
        "meta": "/api/components/navbar.json",
        "html": "/api/components/navbar.html",
        "registryItem": "/r/navbar.json"
      }
    },
    {
      "slug": "note",
      "name": "Note",
      "description": "Inline callout for contextual feedback, styled with the quebi design system. Five intents with optional status icon and heading.",
      "category": "Feedback",
      "tags": [
        "alert",
        "callout",
        "feedback",
        "notice",
        "banner"
      ],
      "dependencies": [
        "tailwind-variants"
      ],
      "registryDependencies": [
        "lib-utils"
      ],
      "files": {
        "source": "/api/components/note.tsx",
        "meta": "/api/components/note.json",
        "html": "/api/components/note.html",
        "registryItem": "/r/note.json"
      }
    },
    {
      "slug": "number-field",
      "name": "Number Field",
      "description": "Accessible numeric input built on react-aria-components, styled with the quebi design system. Parses, steps, and formats numbers with increment/decrement steppers and optional prefix/suffix addons.",
      "category": "Forms",
      "tags": [
        "form",
        "input",
        "number",
        "stepper",
        "interactive"
      ],
      "dependencies": [
        "lucide-react",
        "react-aria-components"
      ],
      "registryDependencies": [
        "lib-utils"
      ],
      "files": {
        "source": "/api/components/number-field.tsx",
        "meta": "/api/components/number-field.json",
        "html": "/api/components/number-field.html",
        "registryItem": "/r/number-field.json"
      }
    },
    {
      "slug": "pagination",
      "name": "Pagination",
      "description": "Compact row of navigation targets for paging through results, with first/prev/next/last controls and an active page styled in the quebi brand teal.",
      "category": "Navigation",
      "tags": [
        "navigation",
        "pagination",
        "pager",
        "links"
      ],
      "dependencies": [],
      "registryDependencies": [
        "lib-utils"
      ],
      "files": {
        "source": "/api/components/pagination.tsx",
        "meta": "/api/components/pagination.json",
        "html": "/api/components/pagination.html",
        "registryItem": "/r/pagination.json"
      }
    },
    {
      "slug": "pie-chart",
      "name": "Pie Chart",
      "description": "Pie and donut chart built on the quebi chart wrapper and recharts, with teal-led quebi segment colors and an optional centered total label. Requires the recharts package.",
      "category": "Charts",
      "tags": [
        "chart",
        "pie",
        "donut",
        "recharts",
        "data",
        "visualization"
      ],
      "dependencies": [
        "react",
        "recharts"
      ],
      "registryDependencies": [
        "chart"
      ],
      "files": {
        "source": "/api/components/pie-chart.tsx",
        "meta": "/api/components/pie-chart.json",
        "html": "/api/components/pie-chart.html",
        "registryItem": "/r/pie-chart.json"
      }
    },
    {
      "slug": "popover",
      "name": "Popover",
      "description": "Floating overlay anchored to a trigger, built on react-aria-components and styled with the quebi design system. Reuses the dialog surface slots and is the foundation for menu, select, combo-box, and multiple-select.",
      "category": "Overlays",
      "tags": [
        "overlay",
        "popover",
        "dropdown",
        "floating",
        "foundational"
      ],
      "dependencies": [
        "react-aria-components"
      ],
      "registryDependencies": [
        "dialog",
        "lib-utils"
      ],
      "files": {
        "source": "/api/components/popover.tsx",
        "meta": "/api/components/popover.json",
        "html": "/api/components/popover.html",
        "registryItem": "/r/popover.json"
      }
    },
    {
      "slug": "progress-bar",
      "name": "Progress Bar",
      "description": "Accessible progress bar built on react-aria-components, styled with the quebi design system. A brand-teal fill over a cyan-tinted track, with optional header and value text, and a determinate or indeterminate state.",
      "category": "Feedback",
      "tags": [
        "progress",
        "loading",
        "status",
        "feedback"
      ],
      "dependencies": [
        "react",
        "react-aria-components"
      ],
      "registryDependencies": [
        "lib-utils"
      ],
      "files": {
        "source": "/api/components/progress-bar.tsx",
        "meta": "/api/components/progress-bar.json",
        "html": "/api/components/progress-bar.html",
        "registryItem": "/r/progress-bar.json"
      }
    },
    {
      "slug": "progress-circle",
      "name": "Progress Circle",
      "description": "Circular progress indicator built on react-aria-components, styled with the quebi design system. Shows determinate value as a brand-teal ring over a faint cyan track, or spins continuously when indeterminate.",
      "category": "Feedback",
      "tags": [
        "progress",
        "loading",
        "spinner",
        "feedback",
        "circular"
      ],
      "dependencies": [
        "react-aria-components"
      ],
      "registryDependencies": [
        "lib-utils"
      ],
      "files": {
        "source": "/api/components/progress-circle.tsx",
        "meta": "/api/components/progress-circle.json",
        "html": "/api/components/progress-circle.html",
        "registryItem": "/r/progress-circle.json"
      }
    },
    {
      "slug": "radio",
      "name": "Radio",
      "description": "Accessible radio and radio group built on react-aria-components, styled with the quebi design system. Selected state fills with brand teal; supports invalid and disabled states, descriptions, and grouping.",
      "category": "Forms",
      "tags": [
        "form",
        "input",
        "radio",
        "choice",
        "interactive"
      ],
      "dependencies": [
        "react-aria-components"
      ],
      "registryDependencies": [
        "field",
        "lib-utils"
      ],
      "files": {
        "source": "/api/components/radio.tsx",
        "meta": "/api/components/radio.json",
        "html": "/api/components/radio.html",
        "registryItem": "/r/radio.json"
      }
    },
    {
      "slug": "range-calendar",
      "name": "Range Calendar",
      "description": "An accessible date-range calendar built on react-aria-components and @internationalized/date. The range endpoints fill with brand teal and the days in-between get a faint brand wash — foundational for Date Picker and Date Range Picker.",
      "category": "Forms",
      "tags": [
        "calendar",
        "date",
        "daterange",
        "datepicker",
        "form",
        "input",
        "interactive"
      ],
      "dependencies": [
        "@internationalized/date",
        "react-aria-components"
      ],
      "registryDependencies": [
        "calendar",
        "lib-utils"
      ],
      "files": {
        "source": "/api/components/range-calendar.tsx",
        "meta": "/api/components/range-calendar.json",
        "html": "/api/components/range-calendar.html",
        "registryItem": "/r/range-calendar.json"
      }
    },
    {
      "slug": "scroll-area",
      "name": "Scroll Area",
      "description": "Scrollable viewport with a slim, cyan-tinted scrollbar, styled with the quebi design system. Supports vertical, horizontal, or both axes, optional edge fading, and a reserved scrollbar gutter.",
      "category": "Layout",
      "tags": [
        "layout",
        "scroll",
        "overflow",
        "container",
        "viewport"
      ],
      "dependencies": [
        "react"
      ],
      "registryDependencies": [
        "lib-utils"
      ],
      "files": {
        "source": "/api/components/scroll-area.tsx",
        "meta": "/api/components/scroll-area.json",
        "html": "/api/components/scroll-area.html",
        "registryItem": "/r/scroll-area.json"
      }
    },
    {
      "slug": "search-field",
      "name": "Search Field",
      "description": "Search input built on react-aria-components and the quebi Input, with a leading magnifying-glass icon and a clear button that appears while typing. Escape or the clear button empties the field.",
      "category": "Forms",
      "tags": [
        "form",
        "input",
        "search",
        "field",
        "interactive"
      ],
      "dependencies": [
        "lucide-react",
        "react-aria-components"
      ],
      "registryDependencies": [
        "input",
        "lib-utils"
      ],
      "files": {
        "source": "/api/components/search-field.tsx",
        "meta": "/api/components/search-field.json",
        "html": "/api/components/search-field.html",
        "registryItem": "/r/search-field.json"
      }
    },
    {
      "slug": "select",
      "name": "Select",
      "description": "An accessible single or multiple select with a quebi input-style trigger and a dropdown surface for options. Built on react-aria-components — foundational for Calendar and Conform Select.",
      "category": "Forms",
      "tags": [
        "select",
        "form",
        "input",
        "dropdown",
        "listbox",
        "options",
        "interactive"
      ],
      "dependencies": [
        "lucide-react",
        "react-aria-components"
      ],
      "registryDependencies": [
        "dropdown",
        "lib-utils",
        "popover"
      ],
      "files": {
        "source": "/api/components/select.tsx",
        "meta": "/api/components/select.json",
        "html": "/api/components/select.html",
        "registryItem": "/r/select.json"
      }
    },
    {
      "slug": "separator",
      "name": "Separator",
      "description": "A thin divider line built on react-aria-components, styled with the quebi design system. Splits content horizontally or vertically.",
      "category": "Layout",
      "tags": [
        "layout",
        "divider",
        "rule",
        "separator"
      ],
      "dependencies": [
        "react-aria-components"
      ],
      "registryDependencies": [
        "lib-utils"
      ],
      "files": {
        "source": "/api/components/separator.tsx",
        "meta": "/api/components/separator.json",
        "html": "/api/components/separator.html",
        "registryItem": "/r/separator.json"
      }
    },
    {
      "slug": "sheet",
      "name": "Sheet",
      "description": "A side panel that slides in from any edge of the viewport, built on react-aria-components and the Dialog surface. Use for filters, detail editing, and navigation drawers.",
      "category": "Overlays",
      "tags": [
        "overlay",
        "sheet",
        "drawer",
        "panel",
        "side-panel",
        "modal"
      ],
      "dependencies": [
        "react-aria-components"
      ],
      "registryDependencies": [
        "dialog",
        "lib-utils"
      ],
      "files": {
        "source": "/api/components/sheet.tsx",
        "meta": "/api/components/sheet.json",
        "html": "/api/components/sheet.html",
        "registryItem": "/r/sheet.json"
      }
    },
    {
      "slug": "show-more",
      "name": "Show More",
      "description": "A hairline divider carrying an inline toggle pill (or plain label) to reveal collapsed content. Built on react-aria-components and styled with the quebi design system.",
      "category": "Display",
      "tags": [
        "divider",
        "toggle",
        "expand",
        "collapse",
        "interactive"
      ],
      "dependencies": [
        "react-aria-components",
        "tailwind-variants"
      ],
      "registryDependencies": [
        "lib-utils"
      ],
      "files": {
        "source": "/api/components/show-more.tsx",
        "meta": "/api/components/show-more.json",
        "html": "/api/components/show-more.html",
        "registryItem": "/r/show-more.json"
      }
    },
    {
      "slug": "sidebar",
      "name": "Sidebar",
      "description": "Full-featured, collapsible navigation surface built on react-aria-components and styled with the quebi design system. Supports docked/hidden collapse, float and inset intents, sections, disclosure groups, badges, tooltips, a mobile sheet, and a keyboard shortcut to toggle.",
      "category": "Navigation",
      "tags": [
        "navigation",
        "sidebar",
        "nav",
        "menu",
        "layout",
        "collapsible",
        "interactive"
      ],
      "dependencies": [
        "lucide-react",
        "react",
        "react-aria-components"
      ],
      "registryDependencies": [
        "button",
        "lib-utils",
        "link",
        "tooltip"
      ],
      "files": {
        "source": "/api/components/sidebar.tsx",
        "meta": "/api/components/sidebar.json",
        "html": "/api/components/sidebar.html",
        "registryItem": "/r/sidebar.json"
      }
    },
    {
      "slug": "skeleton",
      "name": "Skeleton",
      "description": "A pulsing placeholder for content that is still loading, styled with the quebi design system. Compose several to mirror the shape of the eventual content.",
      "category": "Feedback",
      "tags": [
        "loading",
        "placeholder",
        "shimmer",
        "pulse",
        "feedback"
      ],
      "dependencies": [],
      "registryDependencies": [
        "lib-utils"
      ],
      "files": {
        "source": "/api/components/skeleton.tsx",
        "meta": "/api/components/skeleton.json",
        "html": "/api/components/skeleton.html",
        "registryItem": "/r/skeleton.json"
      }
    },
    {
      "slug": "slider",
      "name": "Slider",
      "description": "Accessible slider built on react-aria-components, styled with the quebi design system. Supports single and range values, horizontal and vertical orientations, a value output, and disabled state, with a brand-teal track fill and thumb.",
      "category": "Forms",
      "tags": [
        "form",
        "input",
        "range",
        "interactive"
      ],
      "dependencies": [
        "react",
        "react-aria-components"
      ],
      "registryDependencies": [
        "lib-utils"
      ],
      "files": {
        "source": "/api/components/slider.tsx",
        "meta": "/api/components/slider.json",
        "html": "/api/components/slider.html",
        "registryItem": "/r/slider.json"
      }
    },
    {
      "slug": "snippet",
      "name": "Snippet",
      "description": "A single-line inline code surface for shell commands, with a copy-to-clipboard button. Dark surface styled with the quebi design system.",
      "category": "Display",
      "tags": [
        "code",
        "command",
        "terminal",
        "copy",
        "clipboard"
      ],
      "dependencies": [
        "lucide-react",
        "react"
      ],
      "registryDependencies": [
        "lib-utils"
      ],
      "files": {
        "source": "/api/components/snippet.tsx",
        "meta": "/api/components/snippet.json",
        "html": "/api/components/snippet.html",
        "registryItem": "/r/snippet.json"
      }
    },
    {
      "slug": "stepper",
      "name": "Stepper",
      "description": "Horizontal progress indicator for multi-step flows, with active and completed steps highlighted in quebi brand teal. Admin (labelled) and kiosk (bullet-only) variants.",
      "category": "Navigation",
      "tags": [
        "navigation",
        "progress",
        "wizard",
        "steps",
        "stepper"
      ],
      "dependencies": [],
      "registryDependencies": [
        "lib-utils"
      ],
      "files": {
        "source": "/api/components/stepper.tsx",
        "meta": "/api/components/stepper.json",
        "html": "/api/components/stepper.html",
        "registryItem": "/r/stepper.json"
      }
    },
    {
      "slug": "switch",
      "name": "Switch",
      "description": "Accessible toggle switch built on react-aria-components, styled with the quebi design system. The on state fills the track with brand teal while a white thumb slides across; supports labels, controlled state, and disabled.",
      "category": "Forms",
      "tags": [
        "form",
        "input",
        "toggle",
        "boolean",
        "interactive"
      ],
      "dependencies": [
        "react-aria-components"
      ],
      "registryDependencies": [
        "field",
        "lib-utils"
      ],
      "files": {
        "source": "/api/components/switch.tsx",
        "meta": "/api/components/switch.json",
        "html": "/api/components/switch.html",
        "registryItem": "/r/switch.json"
      }
    },
    {
      "slug": "table",
      "name": "Table",
      "description": "Accessible data table built on react-aria-components, styled with the quebi design system. Supports row selection, sorting, drag-and-drop, resizable columns, striping, and grid lines.",
      "category": "Display",
      "tags": [
        "table",
        "data",
        "grid",
        "list",
        "selection",
        "sorting"
      ],
      "dependencies": [
        "lucide-react",
        "react",
        "react-aria-components"
      ],
      "registryDependencies": [
        "checkbox",
        "lib-utils"
      ],
      "files": {
        "source": "/api/components/table.tsx",
        "meta": "/api/components/table.json",
        "html": "/api/components/table.html",
        "registryItem": "/r/table.json"
      }
    },
    {
      "slug": "tabs",
      "name": "Tabs",
      "description": "Accessible tabs built on react-aria-components, styled with the quebi design system. Quiet inactive tabs with a brand-teal active tab and underline indicator; supports horizontal and vertical orientation.",
      "category": "Navigation",
      "tags": [
        "navigation",
        "tabs",
        "interactive",
        "disclosure"
      ],
      "dependencies": [
        "react-aria-components"
      ],
      "registryDependencies": [
        "lib-utils"
      ],
      "files": {
        "source": "/api/components/tabs.tsx",
        "meta": "/api/components/tabs.json",
        "html": "/api/components/tabs.html",
        "registryItem": "/r/tabs.json"
      }
    },
    {
      "slug": "tag-field",
      "name": "Tag Field",
      "description": "Text field that commits typed entries into removable hairline chips on Enter, comma, or semicolon. Built on react-aria-components and styled with the quebi design system; supports controlled and uncontrolled values, case-insensitive de-duplication, required validation, and a hidden mirror input for native form submission.",
      "category": "Forms",
      "tags": [
        "form",
        "input",
        "tags",
        "chips",
        "multi-value"
      ],
      "dependencies": [
        "lucide-react",
        "react",
        "react-aria-components"
      ],
      "registryDependencies": [
        "lib-utils"
      ],
      "files": {
        "source": "/api/components/tag-field.tsx",
        "meta": "/api/components/tag-field.json",
        "html": "/api/components/tag-field.html",
        "registryItem": "/r/tag-field.json"
      }
    },
    {
      "slug": "tag-group",
      "name": "Tag Group",
      "description": "Accessible group of tag pills built on react-aria-components, styled with the quebi design system. Supports selection, removable tags, links, and disabled state.",
      "category": "Display",
      "tags": [
        "tag",
        "chip",
        "pill",
        "label",
        "interactive"
      ],
      "dependencies": [
        "lucide-react",
        "react-aria-components"
      ],
      "registryDependencies": [
        "lib-utils"
      ],
      "files": {
        "source": "/api/components/tag-group.tsx",
        "meta": "/api/components/tag-group.json",
        "html": "/api/components/tag-group.html",
        "registryItem": "/r/tag-group.json"
      }
    },
    {
      "slug": "text",
      "name": "Text",
      "description": "Typographic primitives for body copy: a muted paragraph, an inline text link, emphasized strong text, and inline code. Styled with the quebi design system.",
      "category": "Display",
      "tags": [
        "text",
        "typography",
        "paragraph",
        "prose",
        "link",
        "code"
      ],
      "dependencies": [
        "tailwind-variants"
      ],
      "registryDependencies": [
        "lib-utils",
        "link"
      ],
      "files": {
        "source": "/api/components/text.tsx",
        "meta": "/api/components/text.json",
        "html": "/api/components/text.html",
        "registryItem": "/r/text.json"
      }
    },
    {
      "slug": "text-field",
      "name": "Text Field",
      "description": "Accessible text field wrapper built on react-aria-components, styled with the quebi design system. Lays out the label → control → hint stack and composes with Label, Description, FieldError, and Input primitives, threading value, validation, and disabled state to the control.",
      "category": "Forms",
      "tags": [
        "form",
        "input",
        "text",
        "field",
        "label",
        "validation"
      ],
      "dependencies": [
        "react-aria-components"
      ],
      "registryDependencies": [
        "lib-utils"
      ],
      "files": {
        "source": "/api/components/text-field.tsx",
        "meta": "/api/components/text-field.json",
        "html": "/api/components/text-field.html",
        "registryItem": "/r/text-field.json"
      }
    },
    {
      "slug": "textarea",
      "name": "Textarea",
      "description": "Multi-line text input built on react-aria-components, styled with the quebi design system. Auto-grows with its content and supports placeholder, invalid, and disabled states.",
      "category": "Forms",
      "tags": [
        "form",
        "input",
        "text",
        "multiline",
        "interactive"
      ],
      "dependencies": [
        "react-aria-components"
      ],
      "registryDependencies": [
        "lib-utils"
      ],
      "files": {
        "source": "/api/components/textarea.tsx",
        "meta": "/api/components/textarea.json",
        "html": "/api/components/textarea.html",
        "registryItem": "/r/textarea.json"
      }
    },
    {
      "slug": "time-field",
      "name": "Time Field",
      "description": "A segmented time input (hour, minute, second, AM/PM) with keyboard-friendly editing, built on react-aria-components.",
      "category": "Forms",
      "tags": [
        "form",
        "input",
        "time",
        "field",
        "segmented"
      ],
      "dependencies": [
        "react-aria-components"
      ],
      "registryDependencies": [
        "lib-utils"
      ],
      "files": {
        "source": "/api/components/time-field.tsx",
        "meta": "/api/components/time-field.json",
        "html": "/api/components/time-field.html",
        "registryItem": "/r/time-field.json"
      }
    },
    {
      "slug": "toast",
      "name": "Toast",
      "description": "Transient, non-blocking feedback messages, styled with the quebi design system. Self-contained queue with a portalled, aria-live stack and five status intents.",
      "category": "Feedback",
      "tags": [
        "toast",
        "notification",
        "feedback",
        "alert",
        "snackbar"
      ],
      "dependencies": [
        "react",
        "react-dom",
        "tailwind-variants"
      ],
      "registryDependencies": [
        "lib-utils"
      ],
      "files": {
        "source": "/api/components/toast.tsx",
        "meta": "/api/components/toast.json",
        "html": "/api/components/toast.html",
        "registryItem": "/r/toast.json"
      }
    },
    {
      "slug": "toggle",
      "name": "Toggle",
      "description": "A two-state pressable button built on react-aria-components, styled with the quebi design system. The selected state lights up with brand teal.",
      "category": "Actions",
      "tags": [
        "action",
        "toggle",
        "interactive",
        "button"
      ],
      "dependencies": [
        "react-aria-components",
        "tailwind-variants"
      ],
      "registryDependencies": [
        "lib-utils"
      ],
      "files": {
        "source": "/api/components/toggle.tsx",
        "meta": "/api/components/toggle.json",
        "html": "/api/components/toggle.html",
        "registryItem": "/r/toggle.json"
      }
    },
    {
      "slug": "toggle-group",
      "name": "Toggle Group",
      "description": "A set of pressable toggles that act as one control, built on react-aria-components and styled with the quebi design system. Supports single or multiple selection, horizontal or vertical layout.",
      "category": "Actions",
      "tags": [
        "action",
        "toggle",
        "segmented",
        "selection",
        "interactive"
      ],
      "dependencies": [
        "react",
        "react-aria-components",
        "tailwind-variants"
      ],
      "registryDependencies": [
        "lib-utils"
      ],
      "files": {
        "source": "/api/components/toggle-group.tsx",
        "meta": "/api/components/toggle-group.json",
        "html": "/api/components/toggle-group.html",
        "registryItem": "/r/toggle-group.json"
      }
    },
    {
      "slug": "toolbar",
      "name": "Toolbar",
      "description": "Horizontal or vertical container that groups toggle actions and separators into a single keyboard-navigable surface, built on react-aria-components and styled with the quebi design system.",
      "category": "Actions",
      "tags": [
        "action",
        "toolbar",
        "group",
        "toggle",
        "interactive"
      ],
      "dependencies": [
        "react",
        "react-aria-components"
      ],
      "registryDependencies": [
        "lib-utils",
        "separator",
        "toggle"
      ],
      "files": {
        "source": "/api/components/toolbar.tsx",
        "meta": "/api/components/toolbar.json",
        "html": "/api/components/toolbar.html",
        "registryItem": "/r/toolbar.json"
      }
    },
    {
      "slug": "tooltip",
      "name": "Tooltip",
      "description": "Floating label built on react-aria-components, styled with the quebi design system. A dark surface with a cyan hairline, an optional arrow, and placement-aware enter/exit motion.",
      "category": "Overlays",
      "tags": [
        "overlay",
        "tooltip",
        "popover",
        "hint",
        "interactive"
      ],
      "dependencies": [
        "react-aria-components",
        "tailwind-merge",
        "tailwind-variants"
      ],
      "registryDependencies": [],
      "files": {
        "source": "/api/components/tooltip.tsx",
        "meta": "/api/components/tooltip.json",
        "html": "/api/components/tooltip.html",
        "registryItem": "/r/tooltip.json"
      }
    },
    {
      "slug": "tracker",
      "name": "Tracker",
      "description": "A strip of thin cells for visualizing a series of states over time — uptime, incident history, or activity. Status cells keep semantic colors and each cell can carry a tooltip.",
      "category": "Charts",
      "tags": [
        "tracker",
        "uptime",
        "status",
        "data",
        "visualization",
        "timeline"
      ],
      "dependencies": [
        "react",
        "react-aria-components"
      ],
      "registryDependencies": [
        "lib-utils",
        "tooltip"
      ],
      "files": {
        "source": "/api/components/tracker.tsx",
        "meta": "/api/components/tracker.json",
        "html": "/api/components/tracker.html",
        "registryItem": "/r/tracker.json"
      }
    },
    {
      "slug": "tree",
      "name": "Tree",
      "description": "Collapsible tree view built on react-aria-components, styled with the quebi design system. Supports nesting, expand/collapse chevrons, and single or multi (checkbox) selection.",
      "category": "Display",
      "tags": [
        "tree",
        "navigation",
        "hierarchy",
        "list",
        "interactive"
      ],
      "dependencies": [
        "lucide-react",
        "react-aria-components"
      ],
      "registryDependencies": [
        "checkbox",
        "lib-utils"
      ],
      "files": {
        "source": "/api/components/tree.tsx",
        "meta": "/api/components/tree.json",
        "html": "/api/components/tree.html",
        "registryItem": "/r/tree.json"
      }
    }
  ]
}