{
  "name": "gaudi-ui",
  "homepage": "https://gaudi-ui.vercel.app",
  "typeScale": [
    "large-title",
    "display-1",
    "display-2",
    "display-3",
    "display-4",
    "title-1",
    "title-2",
    "title-3",
    "headline",
    "body",
    "body-2",
    "caption-1",
    "caption-2"
  ],
  "items": [
    {
      "name": "theme",
      "kind": "style",
      "version": 1,
      "title": "Theme",
      "description": "Semantic color tokens, the radius scale and the font. Installed by `gaudi-ui init`.",
      "dependencies": [
        "@fontsource-variable/inter"
      ],
      "requires": [],
      "files": [
        "styles/theme.css"
      ]
    },
    {
      "name": "typography",
      "kind": "style",
      "version": 1,
      "title": "Typography",
      "description": "The type scale: text-body, text-title-1 and the rest. Installed by `gaudi-ui init`.",
      "dependencies": [],
      "requires": [],
      "files": [
        "styles/typography.css"
      ]
    },
    {
      "name": "cn",
      "kind": "lib",
      "version": 1,
      "title": "cn",
      "description": "Class-name merging with Tailwind conflict resolution, aware of the type scale. Installed by `gaudi-ui init`.",
      "dependencies": [
        "cn"
      ],
      "requires": [],
      "files": [
        "lib/cn.ts"
      ]
    },
    {
      "name": "button-default",
      "kind": "component",
      "category": "button",
      "version": 1,
      "title": "Button",
      "description": "The primary button: solid, in the theme's primary color.",
      "dependencies": [
        "@base-ui/react"
      ],
      "requires": [],
      "files": [
        "components/button/button-default.tsx"
      ]
    },
    {
      "name": "button-secondary",
      "kind": "component",
      "category": "button",
      "version": 1,
      "title": "Secondary button",
      "description": "A filled button in the secondary color, for actions next to a primary one.",
      "dependencies": [
        "@base-ui/react"
      ],
      "requires": [],
      "files": [
        "components/button/button-secondary.tsx"
      ]
    },
    {
      "name": "button-outline",
      "kind": "component",
      "category": "button",
      "version": 1,
      "title": "Outline button",
      "description": "A bordered button on the page background.",
      "dependencies": [
        "@base-ui/react"
      ],
      "requires": [],
      "files": [
        "components/button/button-outline.tsx"
      ]
    },
    {
      "name": "button-ghost",
      "kind": "component",
      "category": "button",
      "version": 1,
      "title": "Ghost button",
      "description": "No fill until hover, for low-emphasis actions.",
      "dependencies": [
        "@base-ui/react"
      ],
      "requires": [],
      "files": [
        "components/button/button-ghost.tsx"
      ]
    },
    {
      "name": "button-destructive",
      "kind": "component",
      "category": "button",
      "version": 1,
      "title": "Destructive button",
      "description": "A tinted button in the destructive color, for actions that delete or can't be undone.",
      "dependencies": [
        "@base-ui/react"
      ],
      "requires": [],
      "files": [
        "components/button/button-destructive.tsx"
      ]
    },
    {
      "name": "button-sm",
      "kind": "component",
      "category": "button",
      "version": 1,
      "title": "Small button",
      "description": "The default button at 28px.",
      "dependencies": [
        "@base-ui/react"
      ],
      "requires": [],
      "files": [
        "components/button/button-sm.tsx"
      ]
    },
    {
      "name": "button-xs",
      "kind": "component",
      "category": "button",
      "version": 1,
      "title": "Extra small button",
      "description": "The default button at 24px.",
      "dependencies": [
        "@base-ui/react"
      ],
      "requires": [],
      "files": [
        "components/button/button-xs.tsx"
      ]
    },
    {
      "name": "button-lg",
      "kind": "component",
      "category": "button",
      "version": 1,
      "title": "Large button",
      "description": "The default button at 36px.",
      "dependencies": [
        "@base-ui/react"
      ],
      "requires": [],
      "files": [
        "components/button/button-lg.tsx"
      ]
    },
    {
      "name": "button-icon-start",
      "kind": "component",
      "category": "button",
      "version": 1,
      "title": "Button with a leading icon",
      "description": "An icon before the label, hidden from assistive tech.",
      "dependencies": [
        "@base-ui/react",
        "lucide-react"
      ],
      "requires": [],
      "files": [
        "components/button/button-icon-start.tsx"
      ]
    },
    {
      "name": "button-icon-end",
      "kind": "component",
      "category": "button",
      "version": 1,
      "title": "Button with a trailing icon",
      "description": "An icon after the label, hidden from assistive tech.",
      "dependencies": [
        "@base-ui/react",
        "lucide-react"
      ],
      "requires": [],
      "files": [
        "components/button/button-icon-end.tsx"
      ]
    },
    {
      "name": "button-icon-only",
      "kind": "component",
      "category": "button",
      "version": 1,
      "title": "Icon-only button",
      "description": "A square outline button with no visible label, named by aria-label.",
      "dependencies": [
        "@base-ui/react",
        "lucide-react"
      ],
      "requires": [],
      "files": [
        "components/button/button-icon-only.tsx"
      ]
    },
    {
      "name": "button-loading",
      "kind": "component",
      "category": "button",
      "version": 1,
      "title": "Loading button",
      "description": "Swaps its icon for a spinner and sets aria-busy while an action runs, and stays focusable.",
      "dependencies": [
        "@base-ui/react",
        "lucide-react"
      ],
      "requires": [],
      "files": [
        "components/button/button-loading.tsx"
      ]
    },
    {
      "name": "button-disabled",
      "kind": "component",
      "category": "button",
      "version": 1,
      "title": "Focusable disabled button",
      "description": "Disabled, but kept in the tab order with focusableWhenDisabled.",
      "dependencies": [
        "@base-ui/react"
      ],
      "requires": [],
      "files": [
        "components/button/button-disabled.tsx"
      ]
    },
    {
      "name": "button-link",
      "kind": "component",
      "category": "button",
      "version": 1,
      "title": "Link button",
      "description": "The link variant: primary text, underlined on hover, rendered as an <a> through the render prop.",
      "dependencies": [
        "@base-ui/react",
        "lucide-react"
      ],
      "requires": [],
      "files": [
        "components/button/button-link.tsx"
      ]
    },
    {
      "name": "button-cancel",
      "kind": "component",
      "category": "button",
      "version": 1,
      "title": "Cancel button",
      "description": "An outline Cancel button with an X icon that lifts on hover. Based on Shadcn Space Button 11.",
      "dependencies": [
        "@base-ui/react",
        "lucide-react"
      ],
      "requires": [],
      "files": [
        "components/button/button-cancel.tsx"
      ]
    },
    {
      "name": "button-permissions",
      "kind": "component",
      "category": "button",
      "version": 1,
      "title": "Permissions buttons",
      "description": "Reject and Approve buttons whose shield icons shake and bounce on hover. Based on Shadcn Space Button 23.",
      "dependencies": [
        "@base-ui/react",
        "lucide-react",
        "motion"
      ],
      "requires": [],
      "files": [
        "components/button/button-permissions.tsx"
      ]
    },
    {
      "name": "button-copy",
      "kind": "component",
      "category": "button",
      "version": 1,
      "title": "Copy button",
      "description": "Copies text, then swaps to a teal Copied! with a popping check. Based on Shadcn Space Button 24.",
      "dependencies": [
        "@base-ui/react",
        "lucide-react",
        "motion"
      ],
      "requires": [],
      "files": [
        "components/button/button-copy.tsx"
      ]
    },
    {
      "name": "button-send",
      "kind": "component",
      "category": "button",
      "version": 1,
      "title": "Multi-state send button",
      "description": "Steps through Send Message, Sending... and Sent Successfully!, then resets. Based on Shadcn Space Button 30.",
      "dependencies": [
        "@base-ui/react",
        "lucide-react",
        "motion"
      ],
      "requires": [
        "cn"
      ],
      "files": [
        "components/button/button-send.tsx"
      ]
    },
    {
      "name": "button-like",
      "kind": "component",
      "category": "button",
      "version": 1,
      "title": "Animated like button",
      "description": "A like toggle with a ripple, a popping heart, confetti and a sliding count. Based on Shadcn Space Button 20.",
      "dependencies": [
        "@base-ui/react",
        "lucide-react",
        "motion"
      ],
      "requires": [
        "cn"
      ],
      "files": [
        "components/button/button-like.tsx"
      ]
    },
    {
      "name": "button-upvote",
      "kind": "component",
      "category": "button",
      "version": 1,
      "title": "Animated upvote button",
      "description": "An upvote toggle with a ripple, a bouncing arrow, particles and a sliding count. Based on Shadcn Space Button 21.",
      "dependencies": [
        "@base-ui/react",
        "lucide-react",
        "motion"
      ],
      "requires": [
        "cn"
      ],
      "files": [
        "components/button/button-upvote.tsx"
      ]
    },
    {
      "name": "button-heartbeat",
      "kind": "component",
      "category": "button",
      "version": 1,
      "title": "Heartbeat button",
      "description": "A destructive button that pulses with a spreading ring. Based on Shadcn Space Button 04.",
      "dependencies": [
        "@base-ui/react"
      ],
      "requires": [],
      "files": [
        "components/button/button-heartbeat.tsx",
        "components/button/button-heartbeat.css"
      ]
    },
    {
      "name": "button-animated-border",
      "kind": "component",
      "category": "button",
      "version": 1,
      "title": "Animated border button",
      "description": "An outline button with a blue streak running around its border. Based on Shadcn Space Button 06.",
      "dependencies": [
        "@base-ui/react",
        "lucide-react"
      ],
      "requires": [],
      "files": [
        "components/button/button-animated-border.tsx"
      ]
    },
    {
      "name": "button-reveal",
      "kind": "component",
      "category": "button",
      "version": 1,
      "title": "Reveal button",
      "description": "A coupon sticker that peels back on hover and comes off on click to show a code you can copy.",
      "dependencies": [
        "@base-ui/react",
        "lucide-react"
      ],
      "requires": [],
      "files": [
        "components/button/button-reveal.tsx"
      ]
    },
    {
      "name": "docs-lib",
      "kind": "docs",
      "version": 1,
      "title": "Docs config and helpers",
      "description": "The site config and its provider, registry lookups, docs URLs, the preview direction and the docs cn.",
      "dependencies": [
        "cn",
        "fumadocs-core@16.15.10",
        "@types/hast"
      ],
      "requires": [],
      "files": [
        "lib/docs/config.tsx",
        "lib/docs/registry.ts",
        "lib/docs/shared.ts",
        "lib/docs/cn.ts",
        "lib/docs/highlight.d.ts",
        "lib/docs/preview-direction.ts",
        "lib/docs/package-manager.ts"
      ]
    },
    {
      "name": "docs-styles",
      "kind": "docs",
      "version": 1,
      "title": "Docs styles",
      "description": "BoardUI's tokens, page typography and the rules behind the docs components.",
      "dependencies": [
        "fumadocs-ui@npm:@fumadocs/base-ui@16.15.10",
        "@fontsource-variable/inter",
        "@fontsource-variable/jetbrains-mono"
      ],
      "requires": [],
      "files": [
        "styles/docs.css"
      ]
    },
    {
      "name": "docs-vite",
      "kind": "docs",
      "version": 1,
      "title": "Docs build helpers",
      "description": "The ?highlight Vite plugin, the code themes, Fumadocs MDX options and the prerender list.",
      "dependencies": [
        "fumadocs-core@16.15.10",
        "fumadocs-mdx@15.4.0"
      ],
      "requires": [],
      "files": [
        "lib/docs/vite/index.ts",
        "lib/docs/vite/highlight.ts",
        "lib/docs/vite/code-theme.ts"
      ]
    },
    {
      "name": "docs-middleware",
      "kind": "docs",
      "version": 1,
      "title": "Markdown negotiation",
      "description": "Redirects requests that prefer text/markdown to the page's .md version.",
      "dependencies": [
        "@tanstack/react-start",
        "@tanstack/react-router",
        "fumadocs-core@16.15.10"
      ],
      "requires": [
        "docs-lib"
      ],
      "files": [
        "lib/docs/middleware.ts"
      ]
    },
    {
      "name": "docs-icons",
      "kind": "docs",
      "version": 1,
      "title": "Docs icons",
      "description": "The icons the docs components use.",
      "dependencies": [],
      "requires": [],
      "files": [
        "components/docs/icons.tsx"
      ]
    },
    {
      "name": "docs-code-card",
      "kind": "docs",
      "version": 1,
      "title": "Code card",
      "description": "BoardUI's code card with a copy button, tabbed command cards and build-time highlighted code.",
      "dependencies": [
        "@base-ui/react",
        "hast-util-to-jsx-runtime"
      ],
      "requires": [
        "docs-lib",
        "docs-icons"
      ],
      "files": [
        "components/docs/code-card.tsx",
        "components/docs/copy-button.tsx",
        "components/docs/segmented-tabs.tsx"
      ]
    },
    {
      "name": "docs-blocks",
      "kind": "docs",
      "version": 1,
      "title": "Docs blocks",
      "description": "Steps, link cards and CLI command tabs for MDX pages.",
      "dependencies": [
        "@tanstack/react-router"
      ],
      "requires": [
        "docs-code-card"
      ],
      "files": [
        "components/docs/docs-blocks.tsx",
        "components/docs/docs-link.tsx"
      ]
    },
    {
      "name": "docs-table",
      "kind": "docs",
      "version": 1,
      "title": "Docs table",
      "description": "Markdown tables and prop tables in BoardUI's table style.",
      "dependencies": [],
      "requires": [],
      "files": [
        "components/docs/docs-table.tsx"
      ]
    },
    {
      "name": "docs-registry",
      "kind": "docs",
      "version": 1,
      "title": "Registry blocks",
      "description": "Live pattern previews, item sources and the CLI / Manual installation section.",
      "dependencies": [
        "@base-ui/react"
      ],
      "requires": [
        "docs-code-card",
        "docs-blocks"
      ],
      "files": [
        "components/docs/component-preview.tsx",
        "components/docs/component-source.tsx",
        "components/docs/installation.tsx",
        "components/docs/docs-tooltip.tsx",
        "components/docs/underline-tabs.tsx"
      ]
    },
    {
      "name": "docs-sidebar",
      "kind": "docs",
      "version": 1,
      "title": "Docs sidebar",
      "description": "The floating navigation card with Quick Search and collapsible sections.",
      "dependencies": [
        "@base-ui/react",
        "fumadocs-ui@npm:@fumadocs/base-ui@16.15.10"
      ],
      "requires": [
        "docs-lib",
        "docs-icons"
      ],
      "files": [
        "components/docs/docs-sidebar.tsx",
        "lib/docs/nav-groups.ts"
      ]
    },
    {
      "name": "docs-shell",
      "kind": "docs",
      "version": 1,
      "title": "Docs shell",
      "description": "The app frame: sidebar, content column, and the preview direction switch and theme toggle in the corner.",
      "dependencies": [
        "@base-ui/react",
        "fumadocs-ui@npm:@fumadocs/base-ui@16.15.10"
      ],
      "requires": [
        "docs-sidebar",
        "docs-lib",
        "docs-icons"
      ],
      "files": [
        "components/docs/docs-shell.tsx",
        "components/docs/direction-toggle.tsx",
        "components/docs/docs-tooltip.tsx",
        "components/docs/theme-toggle.tsx",
        "lib/docs/theme-transition.ts"
      ]
    },
    {
      "name": "docs-page",
      "kind": "docs",
      "version": 1,
      "title": "Docs page",
      "description": "The content column: breadcrumb, title, lead preview, Copy Page menu, pager and table of contents.",
      "dependencies": [
        "@base-ui/react",
        "fumadocs-ui@npm:@fumadocs/base-ui@16.15.10"
      ],
      "requires": [
        "docs-registry",
        "docs-icons"
      ],
      "files": [
        "components/docs/docs-page.tsx",
        "components/docs/docs-toc.tsx",
        "components/docs/page-actions.tsx",
        "lib/docs/nav-groups.ts"
      ]
    },
    {
      "name": "docs-mdx",
      "kind": "docs",
      "version": 1,
      "title": "MDX components",
      "description": "Every docs component mapped for MDX, with fenced code blocks in the code card.",
      "dependencies": [
        "fumadocs-ui@npm:@fumadocs/base-ui@16.15.10",
        "@types/mdx"
      ],
      "requires": [
        "docs-registry",
        "docs-table"
      ],
      "files": [
        "components/docs/mdx.tsx"
      ]
    },
    {
      "name": "docs-not-found",
      "kind": "docs",
      "version": 1,
      "title": "Not found page",
      "description": "Fumadocs' not-found page under the site's logo and name.",
      "dependencies": [
        "fumadocs-ui@npm:@fumadocs/base-ui@16.15.10"
      ],
      "requires": [
        "docs-lib"
      ],
      "files": [
        "components/docs/not-found.tsx"
      ]
    },
    {
      "name": "docs",
      "kind": "template",
      "version": 1,
      "title": "Docs site",
      "description": "A full docs site like Gaudi UI's on TanStack Start: every docs component, the routes, config and a first page. Installed by `gaudi-ui init --docs`.",
      "dependencies": [
        "@tanstack/react-router",
        "@tanstack/react-start",
        "fumadocs-core@16.15.10",
        "fumadocs-mdx@15.4.0",
        "fumadocs-ui@npm:@fumadocs/base-ui@16.15.10",
        "lucide-react",
        "zod"
      ],
      "requires": [
        "docs-styles",
        "docs-vite",
        "docs-middleware",
        "docs-shell",
        "docs-page",
        "docs-mdx",
        "docs-not-found"
      ],
      "files": [
        "~/vite.config.ts",
        "~/content/docs/meta.json",
        "~/content/docs/getting-started/meta.json",
        "~/content/docs/getting-started/introduction.mdx",
        "~/content/docs/getting-started/writing-pages.mdx",
        "docs.config.tsx",
        "router.tsx",
        "start.ts",
        "lib/source.ts",
        "components/logo.tsx",
        "components/mdx.tsx",
        "styles/app.css",
        "routes/__root.tsx",
        "routes/index.tsx",
        "routes/docs/$.tsx",
        "routes/docs/{$}[.]md.ts",
        "routes/api/search.ts",
        "routes/llms[.]txt.ts",
        "routes/llms-full[.]txt.ts"
      ]
    }
  ]
}
