{
  "$schema": "https://ui.shadcn.com/schema/registry.json",
  "name": "ondo-ui",
  "homepage": "https://ui.ondo.dou.so",
  "items": [
    {
      "name": "utils",
      "type": "registry:lib",
      "description": "Utility functions, including the cn helper for merging Tailwind CSS classes.",
      "dependencies": [
        "clsx",
        "tailwind-merge"
      ],
      "files": [
        {
          "path": "lib/utils.ts",
          "type": "registry:lib"
        }
      ]
    },
    {
      "name": "theme",
      "type": "registry:theme",
      "description": "The ondo theme: Pretendard and Monaspace Neon fonts plus the light and dark color palette as CSS variables.",
      "dependencies": [
        "@fontsource/pretendard",
        "@fontsource/monaspace-neon"
      ],
      "css": {
        "@import \"@fontsource/pretendard/100.css\"": {},
        "@import \"@fontsource/pretendard/200.css\"": {},
        "@import \"@fontsource/pretendard/300.css\"": {},
        "@import \"@fontsource/pretendard/400.css\"": {},
        "@import \"@fontsource/pretendard/500.css\"": {},
        "@import \"@fontsource/pretendard/600.css\"": {},
        "@import \"@fontsource/pretendard/700.css\"": {},
        "@import \"@fontsource/pretendard/800.css\"": {},
        "@import \"@fontsource/pretendard/900.css\"": {},
        "@import \"@fontsource/monaspace-neon/400.css\"": {},
        "@import \"@fontsource/monaspace-neon/500.css\"": {},
        "@import \"@fontsource/monaspace-neon/700.css\"": {}
      },
      "cssVars": {
        "theme": {
          "font-sans": "\"Pretendard\", ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"",
          "font-mono": "\"Monaspace Neon\", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace",
          "font-heading": "var(--font-sans)"
        },
        "light": {
          "background": "oklch(1 0 0)",
          "foreground": "oklch(13% 0.028 261.692)",
          "card": "oklch(1 0 0)",
          "card-foreground": "oklch(13% 0.028 261.692)",
          "popover": "oklch(1 0 0)",
          "popover-foreground": "oklch(13% 0.028 261.692)",
          "primary": "oklch(62.3% 0.214 259.815)",
          "primary-foreground": "oklch(1 0 0)",
          "secondary": "oklch(96.7% 0.001 286.375)",
          "secondary-foreground": "oklch(0.21 0.006 285.885)",
          "muted": "oklch(96.7% 0.001 286.375)",
          "muted-foreground": "oklch(55.1% 0.027 264.364)",
          "accent": "oklch(96.7% 0.001 286.375)",
          "accent-foreground": "oklch(21% 0.006 285.885)",
          "destructive": "oklch(63.7% 0.237 25.331)",
          "border": "oklch(92% 0.004 286.32)",
          "input": "oklch(92% 0.004 286.32)",
          "ring": "oklch(62.3% 0.214 259.815)",
          "chart-1": "oklch(80.9% 0.105 251.813)",
          "chart-2": "oklch(62.3% 0.214 259.815)",
          "chart-3": "oklch(82.8% 0.111 230.318)",
          "chart-4": "oklch(48.8% 0.243 264.376)",
          "chart-5": "oklch(42.4% 0.199 265.638)",
          "radius": "0.625rem",
          "sidebar": "oklch(98.5% 0 0)",
          "sidebar-foreground": "oklch(0.141 0.005 285.823)",
          "sidebar-primary": "oklch(62.3% 0.214 259.815)",
          "sidebar-primary-foreground": "oklch(1 0 0)",
          "sidebar-accent": "oklch(96.7% 0.001 286.375)",
          "sidebar-accent-foreground": "oklch(0.21 0.006 285.885)",
          "sidebar-border": "oklch(92% 0.004 286.32)",
          "sidebar-ring": "oklch(62.3% 0.214 259.815)"
        },
        "dark": {
          "background": "oklch(0.141 0.005 285.823)",
          "foreground": "oklch(0.985 0 0)",
          "card": "oklch(0.21 0.006 285.885)",
          "card-foreground": "oklch(0.985 0 0)",
          "popover": "oklch(0.21 0.006 285.885)",
          "popover-foreground": "oklch(0.985 0 0)",
          "primary": "oklch(0.92 0.004 286.32)",
          "primary-foreground": "oklch(0.21 0.006 285.885)",
          "secondary": "oklch(0.274 0.006 286.033)",
          "secondary-foreground": "oklch(0.985 0 0)",
          "muted": "oklch(0.274 0.006 286.033)",
          "muted-foreground": "oklch(0.705 0.015 286.067)",
          "accent": "oklch(0.274 0.006 286.033)",
          "accent-foreground": "oklch(0.985 0 0)",
          "destructive": "oklch(0.704 0.191 22.216)",
          "border": "oklch(1 0 0 / 10%)",
          "input": "oklch(1 0 0 / 15%)",
          "ring": "oklch(0.552 0.016 285.938)",
          "chart-1": "oklch(0.871 0.006 286.286)",
          "chart-2": "oklch(0.552 0.016 285.938)",
          "chart-3": "oklch(0.442 0.017 285.786)",
          "chart-4": "oklch(0.37 0.013 285.805)",
          "chart-5": "oklch(0.274 0.006 286.033)",
          "sidebar": "oklch(0.21 0.006 285.885)",
          "sidebar-foreground": "oklch(0.985 0 0)",
          "sidebar-primary": "oklch(0.488 0.243 264.376)",
          "sidebar-primary-foreground": "oklch(0.985 0 0)",
          "sidebar-accent": "oklch(0.274 0.006 286.033)",
          "sidebar-accent-foreground": "oklch(0.985 0 0)",
          "sidebar-border": "oklch(1 0 0 / 10%)",
          "sidebar-ring": "oklch(0.552 0.016 285.938)"
        }
      }
    },
    {
      "name": "theme-provider",
      "type": "registry:component",
      "description": "Theme provider built on next-themes with system preference support and a D hotkey to toggle dark mode.",
      "dependencies": [
        "next-themes"
      ],
      "files": [
        {
          "path": "components/theme-provider.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "accordion",
      "type": "registry:ui",
      "description": "A vertically stacked set of interactive headings that each reveal a section of content.",
      "dependencies": [
        "@base-ui/react",
        "@tabler/icons-react"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "components/ui/accordion.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "alert",
      "type": "registry:ui",
      "description": "Displays a callout for user attention.",
      "dependencies": [
        "class-variance-authority"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "components/ui/alert.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "alert-dialog",
      "type": "registry:ui",
      "description": "A modal dialog that interrupts the user with important content and expects a response.",
      "dependencies": [
        "@base-ui/react"
      ],
      "registryDependencies": [
        "button",
        "utils"
      ],
      "files": [
        {
          "path": "components/ui/alert-dialog.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "aspect-ratio",
      "type": "registry:ui",
      "description": "Displays content within a desired ratio.",
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "components/ui/aspect-ratio.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "attachment",
      "type": "registry:ui",
      "description": "Displays a file or image attachment with media, metadata, upload state, and actions.",
      "dependencies": [
        "@base-ui/react",
        "class-variance-authority"
      ],
      "registryDependencies": [
        "button",
        "utils"
      ],
      "files": [
        {
          "path": "components/ui/attachment.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "avatar",
      "type": "registry:ui",
      "description": "An image element with a fallback for representing the user.",
      "dependencies": [
        "@base-ui/react"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "components/ui/avatar.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "badge",
      "type": "registry:ui",
      "description": "Displays a badge or a component that looks like a badge.",
      "dependencies": [
        "@base-ui/react",
        "class-variance-authority"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "components/ui/badge.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "breadcrumb",
      "type": "registry:ui",
      "description": "Displays the path to the current resource using a hierarchy of links.",
      "dependencies": [
        "@base-ui/react",
        "@tabler/icons-react"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "components/ui/breadcrumb.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "bubble",
      "type": "registry:ui",
      "description": "Displays conversational content in a message bubble. Supports variants, alignment, grouping, reactions, and collapsible content.",
      "dependencies": [
        "@base-ui/react",
        "class-variance-authority"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "components/ui/bubble.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "button",
      "type": "registry:ui",
      "description": "Displays a button or a component that looks like a button.",
      "dependencies": [
        "@base-ui/react",
        "class-variance-authority"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "components/ui/button.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "button-group",
      "type": "registry:ui",
      "description": "A container that groups related buttons together with consistent styling.",
      "dependencies": [
        "@base-ui/react",
        "class-variance-authority"
      ],
      "registryDependencies": [
        "separator",
        "utils"
      ],
      "files": [
        {
          "path": "components/ui/button-group.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "calendar",
      "type": "registry:ui",
      "description": "A calendar component that allows users to select a date or a range of dates.",
      "dependencies": [
        "@tabler/icons-react",
        "react-day-picker"
      ],
      "registryDependencies": [
        "button",
        "utils"
      ],
      "files": [
        {
          "path": "components/ui/calendar.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "card",
      "type": "registry:ui",
      "description": "Displays a card with header, content, and footer.",
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "components/ui/card.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "carousel",
      "type": "registry:ui",
      "description": "A carousel with motion and swipe built using Embla.",
      "dependencies": [
        "@tabler/icons-react",
        "embla-carousel-react"
      ],
      "registryDependencies": [
        "button",
        "utils"
      ],
      "files": [
        {
          "path": "components/ui/carousel.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "chart",
      "type": "registry:ui",
      "description": "Beautiful charts. Built using Recharts. Copy and paste into your apps.",
      "dependencies": [
        "recharts"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "components/ui/chart.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "checkbox",
      "type": "registry:ui",
      "description": "A control that allows the user to toggle between checked and not checked.",
      "dependencies": [
        "@base-ui/react",
        "@tabler/icons-react"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "components/ui/checkbox.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "collapsible",
      "type": "registry:ui",
      "description": "An interactive component which expands/collapses a panel.",
      "dependencies": [
        "@base-ui/react"
      ],
      "files": [
        {
          "path": "components/ui/collapsible.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "combobox",
      "type": "registry:ui",
      "description": "Autocomplete input with a list of suggestions.",
      "dependencies": [
        "@base-ui/react",
        "@tabler/icons-react"
      ],
      "registryDependencies": [
        "button",
        "input-group",
        "utils"
      ],
      "files": [
        {
          "path": "components/ui/combobox.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "command",
      "type": "registry:ui",
      "description": "Command menu for search and quick actions.",
      "dependencies": [
        "@tabler/icons-react",
        "cmdk"
      ],
      "registryDependencies": [
        "dialog",
        "input-group",
        "utils"
      ],
      "files": [
        {
          "path": "components/ui/command.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "context-menu",
      "type": "registry:ui",
      "description": "Displays a menu of actions triggered by a right click.",
      "dependencies": [
        "@base-ui/react",
        "@tabler/icons-react"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "components/ui/context-menu.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "desktop-window",
      "type": "registry:ui",
      "description": "Wraps content in static macOS, Windows 11, or Ubuntu window chrome.",
      "dependencies": [
        "class-variance-authority"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "components/ui/desktop-window.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "dialog",
      "type": "registry:ui",
      "description": "A window overlaid on either the primary window or another dialog window, rendering the content underneath inert.",
      "dependencies": [
        "@base-ui/react",
        "@tabler/icons-react"
      ],
      "registryDependencies": [
        "button",
        "utils"
      ],
      "files": [
        {
          "path": "components/ui/dialog.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "drawer",
      "type": "registry:ui",
      "description": "A drawer component for React.",
      "dependencies": [
        "@base-ui/react"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "components/ui/drawer.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "dropdown-menu",
      "type": "registry:ui",
      "description": "Displays a menu to the user — such as a set of actions or functions — triggered by a button.",
      "dependencies": [
        "@base-ui/react",
        "@tabler/icons-react"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "components/ui/dropdown-menu.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "empty",
      "type": "registry:ui",
      "description": "Use the Empty component to display an empty state.",
      "dependencies": [
        "class-variance-authority"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "components/ui/empty.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "field",
      "type": "registry:ui",
      "description": "Combine labels, controls, and help text to compose accessible form fields and grouped inputs.",
      "dependencies": [
        "class-variance-authority"
      ],
      "registryDependencies": [
        "label",
        "separator",
        "utils"
      ],
      "files": [
        {
          "path": "components/ui/field.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "frame",
      "type": "registry:ui",
      "description": "A bordered surface that nests panels inside it with concentric radii and a shared spacing scale.",
      "dependencies": [
        "class-variance-authority"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "components/ui/frame.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "heading",
      "type": "registry:ui",
      "description": "A semantic heading whose visual size can be set independently of its level.",
      "dependencies": [
        "@base-ui/react",
        "class-variance-authority"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "components/ui/heading.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "hover-card",
      "type": "registry:ui",
      "description": "For sighted users to preview content available behind a link.",
      "dependencies": [
        "@base-ui/react"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "components/ui/hover-card.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "input",
      "type": "registry:ui",
      "description": "A text input component for forms and user data entry with built-in styling and accessibility features.",
      "dependencies": [
        "@base-ui/react",
        "class-variance-authority"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "components/ui/input.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "input-group",
      "type": "registry:ui",
      "description": "Add addons, buttons, and helper content to inputs.",
      "dependencies": [
        "class-variance-authority"
      ],
      "registryDependencies": [
        "button",
        "input",
        "textarea",
        "utils"
      ],
      "files": [
        {
          "path": "components/ui/input-group.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "input-otp",
      "type": "registry:ui",
      "description": "Accessible one-time password component with copy-paste functionality.",
      "dependencies": [
        "@tabler/icons-react",
        "input-otp"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "components/ui/input-otp.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "item",
      "type": "registry:ui",
      "description": "A versatile component for displaying content with media, title, description, and actions.",
      "dependencies": [
        "@base-ui/react",
        "class-variance-authority"
      ],
      "registryDependencies": [
        "separator",
        "utils"
      ],
      "files": [
        {
          "path": "components/ui/item.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "kbd",
      "type": "registry:ui",
      "description": "Used to display textual user input from keyboard.",
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "components/ui/kbd.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "label",
      "type": "registry:ui",
      "description": "Renders an accessible label associated with controls.",
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "components/ui/label.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "live-waveform",
      "type": "registry:ui",
      "description": "A canvas-based real-time audio waveform visualizer with microphone input and customizable rendering modes.",
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "components/ui/live-waveform.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "marker",
      "type": "registry:ui",
      "description": "Displays an inline status, system note, bordered row, or labeled separator in a conversation.",
      "dependencies": [
        "@base-ui/react",
        "class-variance-authority"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "components/ui/marker.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "menubar",
      "type": "registry:ui",
      "description": "A visually persistent menu common in desktop applications that provides quick access to a consistent set of commands.",
      "dependencies": [
        "@base-ui/react",
        "@tabler/icons-react"
      ],
      "registryDependencies": [
        "dropdown-menu",
        "utils"
      ],
      "files": [
        {
          "path": "components/ui/menubar.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "message",
      "type": "registry:ui",
      "description": "Displays a message in a conversation, with optional avatar, header, footer, and alignment.",
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "components/ui/message.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "message-scroller",
      "type": "registry:ui",
      "description": "A scroll container for conversational UIs that keeps new messages pinned to the bottom, with a scroll-to-bottom button.",
      "dependencies": [
        "@shadcn/react",
        "@tabler/icons-react"
      ],
      "registryDependencies": [
        "button",
        "utils"
      ],
      "files": [
        {
          "path": "components/ui/message-scroller.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "meter",
      "type": "registry:ui",
      "description": "A linear reading of a bounded value, such as a score, a utilization, or a fill level.",
      "dependencies": [
        "@base-ui/react",
        "class-variance-authority"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "components/ui/meter.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "meter-ring",
      "type": "registry:ui",
      "description": "A radial reading of a bounded value, such as a score, a utilization, or a fill level.",
      "dependencies": [
        "@base-ui/react",
        "class-variance-authority"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "components/ui/meter-ring.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "native-select",
      "type": "registry:ui",
      "description": "A styled native HTML select element with consistent design system integration.",
      "dependencies": [
        "@tabler/icons-react"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "components/ui/native-select.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "navigation-menu",
      "type": "registry:ui",
      "description": "A collection of links for navigating websites.",
      "dependencies": [
        "@base-ui/react",
        "@tabler/icons-react",
        "class-variance-authority"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "components/ui/navigation-menu.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "number-count",
      "type": "registry:ui",
      "description": "An animated number whose digits roll between values, built on NumberFlow.",
      "dependencies": [
        "@number-flow/react"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "components/ui/number-count.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "pagination",
      "type": "registry:ui",
      "description": "Pagination with page navigation, next and previous links.",
      "dependencies": [
        "@tabler/icons-react"
      ],
      "registryDependencies": [
        "button",
        "utils"
      ],
      "files": [
        {
          "path": "components/ui/pagination.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "popover",
      "type": "registry:ui",
      "description": "Displays rich content in a portal, triggered by a button.",
      "dependencies": [
        "@base-ui/react"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "components/ui/popover.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "progress",
      "type": "registry:ui",
      "description": "Displays an indicator showing the completion progress of a task, typically displayed as a progress bar.",
      "dependencies": [
        "@base-ui/react",
        "class-variance-authority"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "components/ui/progress.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "progress-ring",
      "type": "registry:ui",
      "description": "A task's progress drawn as a ring, with support for an indeterminate state.",
      "dependencies": [
        "@base-ui/react",
        "class-variance-authority"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "components/ui/progress-ring.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "radio-group",
      "type": "registry:ui",
      "description": "A set of checkable buttons—known as radio buttons—where no more than one of the buttons can be checked at a time.",
      "dependencies": [
        "@base-ui/react"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "components/ui/radio-group.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "resizable",
      "type": "registry:ui",
      "description": "Accessible resizable panel groups and layouts with keyboard support.",
      "dependencies": [
        "react-resizable-panels"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "components/ui/resizable.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "scroll-area",
      "type": "registry:ui",
      "description": "Augments native scroll functionality for custom, cross-browser styling.",
      "dependencies": [
        "@base-ui/react"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "components/ui/scroll-area.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "select",
      "type": "registry:ui",
      "description": "Displays a list of options for the user to pick from—triggered by a button.",
      "dependencies": [
        "@base-ui/react",
        "@tabler/icons-react"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "components/ui/select.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "separator",
      "type": "registry:ui",
      "description": "Visually or semantically separates content.",
      "dependencies": [
        "@base-ui/react"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "components/ui/separator.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "sheet",
      "type": "registry:ui",
      "description": "Extends the Dialog component to display content that complements the main content of the screen.",
      "dependencies": [
        "@base-ui/react",
        "@tabler/icons-react"
      ],
      "registryDependencies": [
        "button",
        "utils"
      ],
      "files": [
        {
          "path": "components/ui/sheet.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "sidebar",
      "type": "registry:ui",
      "description": "A composable, themeable and customizable sidebar component.",
      "dependencies": [
        "@base-ui/react",
        "@tabler/icons-react",
        "class-variance-authority"
      ],
      "registryDependencies": [
        "button",
        "input",
        "separator",
        "sheet",
        "skeleton",
        "tooltip",
        "use-mobile",
        "utils"
      ],
      "files": [
        {
          "path": "components/ui/sidebar.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "skeleton",
      "type": "registry:ui",
      "description": "Use to show a placeholder while content is loading.",
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "components/ui/skeleton.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "slider",
      "type": "registry:ui",
      "description": "An input where the user selects a value from within a given range.",
      "dependencies": [
        "@base-ui/react"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "components/ui/slider.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "spinner",
      "type": "registry:ui",
      "description": "An indicator that can be used to show a loading state.",
      "dependencies": [
        "@tabler/icons-react"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "components/ui/spinner.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "switch",
      "type": "registry:ui",
      "description": "A control that allows the user to toggle between checked and not checked.",
      "dependencies": [
        "@base-ui/react"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "components/ui/switch.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "table",
      "type": "registry:ui",
      "description": "A responsive table component.",
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "components/ui/table.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "tabs",
      "type": "registry:ui",
      "description": "A set of layered sections of content—known as tab panels—that are displayed one at a time.",
      "dependencies": [
        "@base-ui/react",
        "class-variance-authority"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "components/ui/tabs.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "textarea",
      "type": "registry:ui",
      "description": "Displays a form textarea or a component that looks like a textarea.",
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "components/ui/textarea.tsx",
          "type": "registry:ui"
        }
      ],
      "dependencies": [
        "class-variance-authority"
      ]
    },
    {
      "name": "timeline",
      "type": "registry:ui",
      "description": "A visual representation of events in chronological order.",
      "dependencies": [
        "@base-ui/react"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "components/ui/timeline.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "toast",
      "type": "registry:ui",
      "description": "A succinct message that is displayed temporarily.",
      "dependencies": [
        "@base-ui/react",
        "@tabler/icons-react"
      ],
      "registryDependencies": [
        "button",
        "utils"
      ],
      "files": [
        {
          "path": "components/ui/toast.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "toggle",
      "type": "registry:ui",
      "description": "A two-state button that can be either on or off.",
      "dependencies": [
        "@base-ui/react",
        "class-variance-authority"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "components/ui/toggle.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "toggle-group",
      "type": "registry:ui",
      "description": "A set of two-state buttons that can be toggled on or off.",
      "dependencies": [
        "@base-ui/react",
        "class-variance-authority"
      ],
      "registryDependencies": [
        "toggle",
        "utils"
      ],
      "files": [
        {
          "path": "components/ui/toggle-group.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "tooltip",
      "type": "registry:ui",
      "description": "A popup that displays information related to an element when the element receives keyboard focus or the mouse hovers over it.",
      "dependencies": [
        "@base-ui/react"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "components/ui/tooltip.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "use-mobile",
      "type": "registry:hook",
      "description": "A hook that reports whether the viewport is below the 768px mobile breakpoint.",
      "files": [
        {
          "path": "hooks/use-mobile.ts",
          "type": "registry:hook"
        }
      ]
    },
    {
      "name": "empty-view",
      "type": "registry:component",
      "description": "A ready-made empty state composed from Empty and Button.",
      "registryDependencies": [
        "empty",
        "button"
      ],
      "files": [
        {
          "path": "components/compositions/empty-view.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "number-badge",
      "type": "registry:component",
      "description": "A self-anchoring count badge for avatars and icons with animated counts and 99+ overflow.",
      "dependencies": [
        "@number-flow/react",
        "class-variance-authority"
      ],
      "registryDependencies": [
        "utils",
        "badge",
        "number-count"
      ],
      "files": [
        {
          "path": "components/compositions/number-badge.tsx",
          "type": "registry:component"
        }
      ]
    }
  ]
}
