{
  "$schema": "https://ui.shadcn.com/schema/registry.json",
  "name": "veritheme",
  "homepage": "https://veritheme.com",
  "items": [
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "base",
      "type": "registry:item",
      "title": "Veritheme base",
      "description": "Veritheme design tokens (all themes, light + dark), element resets, and vt- utility classes. Required by every Veritheme component.",
      "files": [
        {
          "path": "r/styles/base.css",
          "type": "registry:file",
          "target": "~/styles/veritheme/base.css"
        }
      ],
      "docs": "Import styles/veritheme/base.css once (e.g. in your root layout or global CSS).\nDark mode: add class \"dark\" to <html>. Themes: data-theme=\"default\" | \"editorial\" | \"rounded-sans\" on <html>.\nFonts are not bundled — load Inter (default), Source Serif 4 (editorial), or Manrope (rounded-sans) yourself.",
      "categories": [
        "tokens"
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "button",
      "type": "registry:component",
      "title": "Button",
      "description": "Trigger for actions and navigation. Seven visual variants (primary, secondary, bordered, clear, danger, link, ghost), three sizes (sm, md, lg), icon-only mode. Uses CSS slot API (--btn-* vars) for per-instance customization. When to use: Reach for a button for any clickable action, including low-emphasis text actions. Keep one primary button per view — secondary actions use bordered or ghost. Don't use a button for inline navigation inside text; use a link instead.",
      "files": [
        {
          "path": "r/styles/button.css",
          "type": "registry:file",
          "target": "~/styles/veritheme/button.css"
        }
      ],
      "registryDependencies": [
        "https://veritheme.com/r/base.json"
      ],
      "docs": "Import styles/veritheme/button.css after base.css.\n\nUsage:\n<button class=\"vt-btn vt-btn-primary\">\n  Primary\n</button>\n<button class=\"vt-btn vt-btn-secondary\">\n  Secondary\n</button>\n<button class=\"vt-btn vt-btn-bordered\">\n  Bordered\n</button>\n<button class=\"vt-btn vt-btn-ghost\">\n  Ghost\n</button>\n<button class=\"vt-btn vt-btn-danger\">\n  Danger\n</button>\n<button class=\"vt-btn vt-btn-link\">\n  Link\n</button>",
      "categories": [
        "atom"
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "badge",
      "type": "registry:component",
      "title": "Badge",
      "description": "Inline label. Two styles (filled, bordered) x five colors, single small size; optional 14x14 leading icon (badge height stays 24px). When to use: Static status or category tag (Paid, Active, Feature). Soft style for table/list statuses. NOT clickable; counts → count-badge; removable/selectable tokens → chip; standalone rounded label → pill.",
      "files": [
        {
          "path": "r/styles/badge.css",
          "type": "registry:file",
          "target": "~/styles/veritheme/badge.css"
        }
      ],
      "registryDependencies": [
        "https://veritheme.com/r/base.json"
      ],
      "docs": "Import styles/veritheme/badge.css after base.css.\n\nUsage:\n<div class=\"vt-flex vt-flex-wrap vt-items-center vt-gap-3\">\n  <span class=\"vt-badge\">Primary</span>\n  <span class=\"vt-badge vt-badge-secondary\">Secondary</span>\n  <span class=\"vt-badge vt-badge-info\">Info</span>\n  <span class=\"vt-badge vt-badge-danger\">Danger</span>\n  <span class=\"vt-badge vt-badge-success\">Success</span>\n  <span class=\"vt-badge vt-badge-warning\">Warning</span>\n</div>\n<div class=\"vt-flex vt-flex-wrap vt-items-center vt-gap-3\">\n  <span class=\"vt-badge vt-badge-bordered\">Primary</span>\n  <span class=\"vt-badge vt-badge-bordered vt-badge-info\">Info</span>\n  <span class=\"vt-badge vt-badge-bordered vt-badge-danger\">Danger</span>\n  <span class=\"vt-badge vt-badge-bordered vt-badge-success\">Success</span>\n</div>\n<div class=\"vt-flex vt-flex-wrap vt-items-center vt-gap-3\">\n  <span class=\"vt-badge vt-badge-soft\">Primary</span>\n  <span class=\"vt-badge vt-badge-soft vt-badge-secondary\">Secondary</span>\n  <span class=\"vt-badge vt-badge-soft vt-badge-info\">Info</span>\n  <span class=\"vt-badge vt-badge-soft vt-badge-danger\">Danger</span>\n  <span class=\"vt-badge vt-badge-soft vt-badge-success\">Success</span>\n  <span class=\"vt-badge vt-badge-soft vt-badge-warning\">Warning</span>\n</div>",
      "categories": [
        "atom"
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "pill",
      "type": "registry:component",
      "title": "Pill",
      "description": "Rounded pill label for compact tags and filters. When to use: Standalone rounded label for emphasis (plan names, hero eyebrows). NOT for statuses in tables → badge; NOT for counters → count-badge.",
      "files": [
        {
          "path": "r/styles/pill.css",
          "type": "registry:file",
          "target": "~/styles/veritheme/pill.css"
        }
      ],
      "registryDependencies": [
        "https://veritheme.com/r/base.json"
      ],
      "docs": "Import styles/veritheme/pill.css after base.css.\n\nUsage:\n<span class=\"vt-pill vt-bg-surface-subtle vt-text-foreground-primary\">Design</span>\n<span class=\"vt-pill vt-border vt-border-border-default vt-text-foreground-primary\">Bordered</span>",
      "categories": [
        "atom"
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "kbd",
      "type": "registry:component",
      "title": "Kbd",
      "description": "Keyboard-key chip for shortcuts (⌘K). When to use: Keyboard shortcut keys in docs, menus and search hints.",
      "files": [
        {
          "path": "r/styles/kbd.css",
          "type": "registry:file",
          "target": "~/styles/veritheme/kbd.css"
        }
      ],
      "registryDependencies": [
        "https://veritheme.com/r/base.json"
      ],
      "docs": "Import styles/veritheme/kbd.css after base.css.",
      "categories": [
        "atom"
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "avatar",
      "type": "registry:component",
      "title": "Avatar",
      "description": "User image with fallback initials or icon. Four sizes. Optional status dot. When to use: User/entity identity: photo or initials; sizes sm/md/lg/xl carry built-in text sizing. Decorative icon tiles → icon-badge.",
      "files": [
        {
          "path": "r/styles/avatar.css",
          "type": "registry:file",
          "target": "~/styles/veritheme/avatar.css"
        }
      ],
      "registryDependencies": [
        "https://veritheme.com/r/base.json"
      ],
      "docs": "Import styles/veritheme/avatar.css after base.css.\n\nUsage:\n<div class=\"vt-text-center\">\n  <div class=\"vt-avatar vt-avatar-sm vt-relative\">\n    <span class=\"vt-font-medium vt-text-foreground-muted\">S</span>\n  </div>\n  <p class=\"vt-text-xs vt-text-foreground-muted vt-mt-2\">sm</p>\n</div>\n\n<div class=\"vt-text-center\">\n  <div class=\"vt-avatar vt-avatar-md vt-relative\">\n    <span class=\"vt-text-sm vt-font-medium vt-text-foreground-muted\">JD</span>\n  </div>\n  <p class=\"vt-text-xs vt-text-foreground-muted vt-mt-2\">md</p>\n</div>\n\n<div class=\"vt-text-center\">\n  <div class=\"vt-avatar vt-avatar-lg vt-relative\">\n    <span class=\"vt-text-lg vt-font-medium vt-text-foreground-muted\">JD</span>\n  </div>\n  <p class=\"vt-text-xs vt-text-foreground-muted vt-mt-2\">lg</p>\n</div>\n\n<div class=\"vt-text-center\">\n  <div class=\"vt-avatar vt-avatar-xl vt-relative\">\n    <span class=\"vt-text-2xl vt-font-medium vt-text-foreground-muted\">JD</span>\n  </div>\n  <p class=\"vt-text-xs vt-text-foreground-muted vt-mt-2\">xl</p>\n</div>",
      "categories": [
        "atom"
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "separator",
      "type": "registry:component",
      "title": "Separator",
      "description": "Visual divider. Horizontal or vertical. When to use: Divider between related groups when spacing alone is not enough. Prefer whitespace first.",
      "files": [
        {
          "path": "r/styles/separator.css",
          "type": "registry:file",
          "target": "~/styles/veritheme/separator.css"
        }
      ],
      "registryDependencies": [
        "https://veritheme.com/r/base.json"
      ],
      "docs": "Import styles/veritheme/separator.css after base.css.\n\nUsage:\n<div>\n  <h4 class=\"vt-text-sm vt-font-semibold\">Veritheme</h4>\n  <p class=\"vt-text-sm vt-text-foreground-muted\">An open-source UI component library.</p>\n</div>\n<div class=\"vt-separator vt-separator-h\"></div>\n<div class=\"vt-flex vt-items-center vt-gap-4 vt-text-sm\">\n  <span>Docs</span>\n  <span class=\"vt-text-foreground-muted\">Source</span>\n  <span class=\"vt-text-foreground-muted\">Changelog</span>\n</div>",
      "categories": [
        "atom"
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "skeleton",
      "type": "registry:component",
      "title": "Skeleton",
      "description": "Loading placeholder block shaped like the content it replaces. When to use: Loading placeholder shaped like the coming content — use for lists, cards, tables while data loads. Known-total progress → progress.",
      "files": [
        {
          "path": "r/styles/skeleton.css",
          "type": "registry:file",
          "target": "~/styles/veritheme/skeleton.css"
        }
      ],
      "registryDependencies": [
        "https://veritheme.com/r/base.json"
      ],
      "docs": "Import styles/veritheme/skeleton.css after base.css.",
      "categories": [
        "atom"
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "link",
      "type": "registry:component",
      "title": "Link",
      "description": "Styled anchor element. Default / Hover / Visited. When to use: Inline navigation inside text. NOT for actions → button (text-only action = vt-btn vt-btn-ghost).",
      "files": [
        {
          "path": "r/styles/link.css",
          "type": "registry:file",
          "target": "~/styles/veritheme/link.css"
        }
      ],
      "registryDependencies": [
        "https://veritheme.com/r/base.json"
      ],
      "docs": "Import styles/veritheme/link.css after base.css.\n\nUsage:\n<a href=\"#\" class=\"vt-link\">Default link</a>\n<a href=\"#\" class=\"vt-link vt-link-muted\">Muted link</a>",
      "categories": [
        "atom"
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "tooltip",
      "type": "registry:component",
      "title": "Tooltip",
      "description": "Small floating label shown on hover. Appears above trigger by default. When to use: Short text hint on hover for icon-only controls (wrap trigger in vt-tooltip-wrap). NOT for rich/interactive content → popover; never hide critical info in a tooltip.",
      "files": [
        {
          "path": "r/styles/tooltip.css",
          "type": "registry:file",
          "target": "~/styles/veritheme/tooltip.css"
        }
      ],
      "registryDependencies": [
        "https://veritheme.com/r/base.json"
      ],
      "docs": "Import styles/veritheme/tooltip.css after base.css.\n\nUsage:\n<div class=\"vt-tooltip-wrap\">\n  <button class=\"vt-btn vt-btn-bordered\">\n    Hover me\n  </button>\n  <div class=\"vt-tooltip\">\n    Add to library\n    <div class=\"vt-absolute vt-top-full vt-left-1/2 vt--translate-x-1/2 vt-border-4 vt-border-transparent vt-border-t-info-fill\"></div>\n  </div>\n</div>\n<div class=\"vt-tooltip-wrap\">\n  <button class=\"vt-btn vt-btn-bordered vt-btn-icon\">\n\n    <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\" class=\"lucide lucide-plus vt-w-4 vt-h-4\">\n      <path d=\"M5 12h14\"></path><path d=\"M12 5v14\"></path>\n    </svg>\n  </button>\n  <div class=\"vt-tooltip\">\n    Add new item\n    <div class=\"vt-absolute vt-top-full vt-left-1/2 vt--translate-x-1/2 vt-border-4 vt-border-transparent vt-border-t-info-fill\"></div>\n  </div>\n</div>",
      "categories": [
        "atom"
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "checkbox",
      "type": "registry:component",
      "title": "Checkbox",
      "description": "Boolean toggle. Supports indeterminate state. When to use: Multiple independent yes/no choices, or agreement rows (with check-label). Single choice from few visible → radio; instant on/off setting → switch.",
      "files": [
        {
          "path": "r/styles/checkbox.css",
          "type": "registry:file",
          "target": "~/styles/veritheme/checkbox.css"
        }
      ],
      "registryDependencies": [
        "https://veritheme.com/r/base.json"
      ],
      "docs": "Import styles/veritheme/checkbox.css after base.css.\n\nUsage:\n<label class=\"vt-check-label vt-items-start\" onclick=\"this.querySelector('.vt-checkbox').classList.toggle('checked')\">\n  <div class=\"vt-checkbox checked vt-mt-0.5\">\n    <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\" class=\"lucide lucide-check check-icon vt-w-3 vt-h-3\">\n      <path d=\"M20 6 9 17l-5-5\"></path>\n    </svg>\n  </div>\n  <div>\n    <p class=\"vt-text-sm vt-font-medium\">Accept terms and conditions</p>\n    <p class=\"vt-text-sm vt-text-foreground-muted\">You agree to our Terms of Service and Privacy Policy.</p>\n  </div>\n</label>\n\n<label class=\"vt-check-label vt-items-start\" onclick=\"this.querySelector('.vt-checkbox').classList.toggle('checked')\">\n  <div class=\"vt-checkbox vt-mt-0.5\">\n    <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\" class=\"lucide lucide-check check-icon vt-w-3 vt-h-3\">\n      <path d=\"M20 6 9 17l-5-5\"></path>\n    </svg>\n  </div>\n  <div>\n    <p class=\"vt-text-sm vt-font-medium\">Marketing emails</p>\n    <p class=\"vt-text-sm vt-text-foreground-muted\">Receive emails about new products and features.</p>\n  </div>\n</label>",
      "categories": [
        "atom"
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "radio",
      "type": "registry:component",
      "title": "Radio",
      "description": "Radio button with custom circle indicator; group by input name (or [data-group] for the JS-bundle demo pattern). When to use: Single choice among 2–5 visible options. More options → select; on/off → switch.",
      "files": [
        {
          "path": "r/styles/radio.css",
          "type": "registry:file",
          "target": "~/styles/veritheme/radio.css"
        }
      ],
      "registryDependencies": [
        "https://veritheme.com/r/base.json"
      ],
      "docs": "Import styles/veritheme/radio.css after base.css.\n\nUsage:\n<label class=\"vt-check-label\">\n  <input type=\"radio\" name=\"plan\" class=\"vt-radio\" checked />\n  Starter\n</label>\n<label class=\"vt-check-label\">\n  <input type=\"radio\" name=\"plan\" class=\"vt-radio\" />\n  Pro\n</label>",
      "categories": [
        "atom"
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "switch",
      "type": "registry:component",
      "title": "Switch",
      "description": "Toggle between on/off states. When to use: Instant on/off setting that applies immediately (no submit). If applied on save → checkbox.",
      "files": [
        {
          "path": "r/styles/switch.css",
          "type": "registry:file",
          "target": "~/styles/veritheme/switch.css"
        }
      ],
      "registryDependencies": [
        "https://veritheme.com/r/base.json"
      ],
      "docs": "Import styles/veritheme/switch.css after base.css.\n\nUsage:\n<div class=\"vt-text-center\">\n  <button role=\"switch\" aria-checked=\"false\" class=\"vt-switch vt-bg-surface-moderate\" onclick=\"this.classList.toggle('vt-active'); this.classList.toggle('vt-bg-surface-moderate'); this.classList.toggle('vt-bg-brand-fill'); this.setAttribute('aria-checked', this.classList.contains('vt-active'))\">\n    <span class=\"vt-switch-thumb\"></span>\n  </button>\n  <p class=\"vt-text-xs vt-text-foreground-muted vt-mt-2\">Off</p>\n</div>\n<div class=\"vt-text-center\">\n  <button role=\"switch\" aria-checked=\"true\" class=\"vt-switch vt-active vt-bg-brand-fill\" onclick=\"this.classList.toggle('vt-active'); this.classList.toggle('vt-bg-surface-moderate'); this.classList.toggle('vt-bg-brand-fill'); this.setAttribute('aria-checked', this.classList.contains('vt-active'))\">\n    <span class=\"vt-switch-thumb\"></span>\n  </button>\n  <p class=\"vt-text-xs vt-text-foreground-muted vt-mt-2\">On</p>\n</div>",
      "categories": [
        "atom"
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "rating",
      "type": "registry:component",
      "title": "Rating",
      "description": "Star rating display. Read-only or interactive. SM / MD / LG. When to use: Star ratings display or input.",
      "files": [
        {
          "path": "r/styles/rating.css",
          "type": "registry:file",
          "target": "~/styles/veritheme/rating.css"
        }
      ],
      "registryDependencies": [
        "https://veritheme.com/r/base.json"
      ],
      "docs": "Import styles/veritheme/rating.css after base.css.\n\nUsage:\n<div class=\"vt-rating\" role=\"img\" aria-label=\"Rated 3 out of 5\">\n  <span class=\"vt-star vt-filled\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"100%\" height=\"100%\" viewBox=\"0 0 24 24\" fill=\"currentColor\" stroke=\"currentColor\" stroke-width=\"0\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z\"></path></svg></span><span class=\"vt-star vt-filled\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"100%\" height=\"100%\" viewBox=\"0 0 24 24\" fill=\"currentColor\" stroke=\"currentColor\" stroke-width=\"0\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z\"></path></svg></span><span class=\"vt-star vt-filled\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"100%\" height=\"100%\" viewBox=\"0 0 24 24\" fill=\"currentColor\" stroke=\"currentColor\" stroke-width=\"0\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z\"></path></svg></span><span class=\"vt-star\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"100%\" height=\"100%\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z\"></path></svg></span><span class=\"vt-star\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"100%\" height=\"100%\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z\"></path></svg></span>\n</div>",
      "categories": [
        "molecule"
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "input",
      "type": "registry:component",
      "title": "Input",
      "description": "Single-line text field. Supports leading/trailing icons, error state, disabled. When to use: Single-line text entry. sm size only in dense toolbars/filters. Always pair with a visible label; helper/error text goes below at 12px (vt-caption).",
      "files": [
        {
          "path": "r/styles/input.css",
          "type": "registry:file",
          "target": "~/styles/veritheme/input.css"
        }
      ],
      "registryDependencies": [
        "https://veritheme.com/r/base.json"
      ],
      "docs": "Import styles/veritheme/input.css after base.css.\n\nUsage:\n<input type=\"email\" placeholder=\"Email\" class=\"vt-input\" aria-label=\"Email\">",
      "categories": [
        "form"
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "textarea",
      "type": "registry:component",
      "title": "Textarea",
      "description": "Multi-line text input. Vertically resizable by default. When to use: Multi-line text entry. Same label/helper rules as input.",
      "files": [
        {
          "path": "r/styles/textarea.css",
          "type": "registry:file",
          "target": "~/styles/veritheme/textarea.css"
        }
      ],
      "registryDependencies": [
        "https://veritheme.com/r/base.json"
      ],
      "docs": "Import styles/veritheme/textarea.css after base.css.\n\nUsage:\n<textarea placeholder=\"Type your message here.\" rows=\"4\" class=\"vt-textarea\" aria-label=\"Type your message here.\"></textarea>",
      "categories": [
        "form"
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "label",
      "type": "registry:component",
      "title": "Label",
      "description": "Form field label with optional required marker. When to use: Form field caption above a control. Group headings inside cards/sidebars → section-label.",
      "files": [
        {
          "path": "r/styles/label.css",
          "type": "registry:file",
          "target": "~/styles/veritheme/label.css"
        }
      ],
      "registryDependencies": [
        "https://veritheme.com/r/base.json"
      ],
      "docs": "Import styles/veritheme/label.css after base.css.",
      "categories": [
        "form"
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "otp-input",
      "type": "registry:component",
      "title": "OtpInput",
      "description": "6-cell verification code input. When to use: One-time verification codes, one box per digit.",
      "files": [
        {
          "path": "r/styles/otp-input.css",
          "type": "registry:file",
          "target": "~/styles/veritheme/otp-input.css"
        }
      ],
      "registryDependencies": [
        "https://veritheme.com/r/base.json"
      ],
      "docs": "Import styles/veritheme/otp-input.css after base.css.\n\nUsage:\n<div class=\"vt-flex vt-items-center vt-gap-2\" data-otp=\"\">\n  <input type=\"text\" inputmode=\"numeric\" maxlength=\"1\" class=\"vt-otp-cell\" aria-label=\"Value\" aria-describedby=\"otp-input-1-1\">\n  <input type=\"text\" inputmode=\"numeric\" maxlength=\"1\" class=\"vt-otp-cell\" aria-label=\"Value\" aria-describedby=\"otp-input-1-1\">\n  <input type=\"text\" inputmode=\"numeric\" maxlength=\"1\" class=\"vt-otp-cell\" aria-label=\"Value\" aria-describedby=\"otp-input-1-1\">\n  <input type=\"text\" inputmode=\"numeric\" maxlength=\"1\" class=\"vt-otp-cell\" aria-label=\"Value\" aria-describedby=\"otp-input-1-1\">\n  <input type=\"text\" inputmode=\"numeric\" maxlength=\"1\" class=\"vt-otp-cell\" aria-label=\"Value\" aria-describedby=\"otp-input-1-1\">\n  <input type=\"text\" inputmode=\"numeric\" maxlength=\"1\" class=\"vt-otp-cell\" aria-label=\"Value\" aria-describedby=\"otp-input-1-1\">\n</div>\n<p class=\"vt-text-sm vt-text-foreground-muted\" id=\"otp-input-1-1\">Enter the 6-digit code sent to your email</p>",
      "categories": [
        "form"
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "number-input",
      "type": "registry:component",
      "title": "NumberInput",
      "description": "Numeric field with increment/decrement buttons. When to use: Precise numeric values with +/- steppers. Ranges where exact value matters less → slider.",
      "files": [
        {
          "path": "r/styles/number-input.css",
          "type": "registry:file",
          "target": "~/styles/veritheme/number-input.css"
        }
      ],
      "registryDependencies": [
        "https://veritheme.com/r/base.json"
      ],
      "docs": "Import styles/veritheme/number-input.css after base.css.\nInteractive: include veritheme.min.js (see https://veritheme.com/docs/installation/) — the JS bundle auto-initializes it from its data-* attributes.\n\nUsage:\n<div class=\"vt-number-input vt-bg-surface-card\" data-number-input=\"\">\n  <button type=\"button\" class=\"vt-number-input-btn\" data-action=\"decrement\">\n    <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\" class=\"lucide lucide-minus vt-w-4 vt-h-4\">\n      <path d=\"M5 12h14\"></path>\n    </svg>\n  </button>\n  <input type=\"number\" value=\"1\" min=\"0\" max=\"99\" class=\"vt-number-input-value vt-bg-transparent vt-outline-none vt-tabular-nums\" data-number-value=\"\" aria-label=\"Value\">\n  <button type=\"button\" class=\"vt-number-input-btn\" data-action=\"increment\">\n    <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\" class=\"lucide lucide-plus vt-w-4 vt-h-4\">\n      <path d=\"M5 12h14\"></path><path d=\"M12 5v14\"></path>\n    </svg>\n  </button>\n</div>",
      "categories": [
        "form"
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "select",
      "type": "registry:component",
      "title": "Select",
      "description": "Dropdown select. Supports groups, disabled options, search. When to use: Single choice among a known small set in a form. Large/searchable lists → combobox; menus of actions → dropdown-menu.",
      "files": [
        {
          "path": "r/styles/select.css",
          "type": "registry:file",
          "target": "~/styles/veritheme/select.css"
        }
      ],
      "registryDependencies": [
        "https://veritheme.com/r/base.json",
        "https://veritheme.com/r/input.json",
        "https://veritheme.com/r/separator.json"
      ],
      "docs": "Import styles/veritheme/select.css after base.css.\nInteractive: include veritheme.min.js (see https://veritheme.com/docs/installation/) — the JS bundle auto-initializes it from its data-* attributes.\n\nUsage:\n<div class=\"vt-select-wrapper vt-relative\">\n  <div id=\"trigger1\" class=\"vt-select-trigger\" onclick=\"toggleSelect('dropdown1')\">\n    <span class=\"placeholder\">Select a fruit</span>\n    <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\" class=\"lucide lucide-chevron-down\">\n      <path d=\"m6 9 6 6 6-6\"></path>\n    </svg>\n  </div>\n  <div id=\"dropdown1\" class=\"vt-select-dropdown\">\n    <div class=\"vt-select-item\" onclick=\"selectItem('dropdown1','trigger1','Apple')\">Apple</div>\n    <div class=\"vt-select-item\" onclick=\"selectItem('dropdown1','trigger1','Banana')\">Banana</div>\n    <div class=\"vt-select-item\" onclick=\"selectItem('dropdown1','trigger1','Blueberry')\">Blueberry</div>\n    <div class=\"vt-select-item\" onclick=\"selectItem('dropdown1','trigger1','Grapes')\">Grapes</div>\n    <div class=\"vt-select-item\" onclick=\"selectItem('dropdown1','trigger1','Pineapple')\">Pineapple</div>\n  </div>\n</div>",
      "categories": [
        "form"
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "tabs",
      "type": "registry:component",
      "title": "Tabs",
      "description": "Tabbed content switcher. Two variants: pill (filled) and underline. When to use: Switching content views in place (same page context). Page navigation → nav-item/link; compact display-mode toggles → button-group or mode-btn.",
      "files": [
        {
          "path": "r/styles/tabs.css",
          "type": "registry:file",
          "target": "~/styles/veritheme/tabs.css"
        }
      ],
      "registryDependencies": [
        "https://veritheme.com/r/base.json"
      ],
      "docs": "Import styles/veritheme/tabs.css after base.css.\nInteractive: include veritheme.min.js (see https://veritheme.com/docs/installation/) — the JS bundle auto-initializes it from its data-* attributes.\n\nUsage:\n<div class=\"vt-w-full vt-max-w-md\">\n  <div data-tab-group=\"default\">\n    <div role=\"tablist\" aria-label=\"Account settings\" class=\"vt-tabs-list vt-w-full\">\n      <button role=\"tab\" aria-selected=\"true\" aria-controls=\"panel-default-account\" id=\"tab-default-account\" data-tab=\"account\" class=\"vt-tabs-trigger vt-active vt-flex-1\" tabindex=\"0\">Account</button>\n      <button role=\"tab\" aria-selected=\"false\" aria-controls=\"panel-default-password\" id=\"tab-default-password\" data-tab=\"password\" class=\"vt-tabs-trigger vt-flex-1\" tabindex=\"-1\">Password</button>\n      <button role=\"tab\" aria-selected=\"false\" aria-controls=\"panel-default-settings\" id=\"tab-default-settings\" data-tab=\"settings\" class=\"vt-tabs-trigger vt-flex-1\" tabindex=\"-1\">Settings</button>\n    </div>\n    <div role=\"tabpanel\" id=\"panel-default-account\" aria-labelledby=\"tab-default-account\" data-panel=\"account\" class=\"vt-mt-4 vt-card vt-bg-surface-card vt-p-6\" tabindex=\"0\">\n      <h3 class=\"vt-text-base vt-font-semibold vt-mb-1\">Account</h3>\n      <p class=\"vt-text-sm vt-text-foreground-muted vt-mb-4\">Make changes to your account here.</p>\n      <div class=\"vt-space-y-4\">\n        <div class=\"vt-space-y-2\">\n          <label class=\"vt-label\" for=\"tabs-1-1\">\n            Name\n          </label>\n          <input type=\"text\" value=\"John Doe\" class=\"vt-input\" id=\"tabs-1-1\">\n        </div>\n        <div class=\"vt-space-y-2\">\n          <label class=\"vt-label\" for=\"tabs-1-2\">\n            Username\n          </label>\n          <input type=\"text\" value=\"@johndoe\" class=\"vt-input\" id=\"tabs-1-2\">\n        </div>\n        <button class=\"vt-btn vt-btn-primary\">\n          Save changes\n        </button>\n      </div>\n    </div>\n    <div role=\"tabpanel\" id=\"panel-default-password\" aria-labelledby=\"tab-default-password\" data-panel=\"password\" class=\"vt-mt-4 vt-card vt-bg-surface-card vt-p-6 vt-hidden\" tabindex=\"0\">\n      <h3 class=\"vt-text-base vt-font-semibold vt-mb-1\">Password</h3>\n      <p class=\"vt-text-sm vt-text-foreground-muted vt-mb-4\">Change your password here.</p>\n      <div class=\"vt-space-y-4\">\n        <div class=\"vt-space-y-2\">\n          <label class=\"vt-label\" for=\"tabs-1-3\">\n            Current password\n          </label>\n          <input type=\"password\" class=\"vt-input\" id=\"tabs-1-3\">\n        </div>\n        <div class=\"vt-space-y-2\">\n          <label class=\"vt-label\" for=\"tabs-1-4\">\n            New password\n          </label>\n          <input type=\"password\" class=\"vt-input\" id=\"tabs-1-4\">\n        </div>\n        <button class=\"vt-btn vt-btn-primary\">\n          Save password\n        </button>\n      </div>\n    </div>\n    <div role=\"tabpanel\" id=\"panel-default-settings\" aria-labelledby=\"tab-default-settings\" data-panel=\"settings\" class=\"vt-mt-4 vt-card vt-bg-surface-card vt-p-6 vt-hidden\" tabindex=\"0\">\n      <h3 class=\"vt-text-base vt-font-semibold vt-mb-1\">Settings</h3>\n      <p class=\"vt-text-sm vt-text-foreground-muted\">Manage your application preferences.</p>\n    </div>\n  </div>\n</div>",
      "categories": [
        "navigation"
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "breadcrumb",
      "type": "registry:component",
      "title": "Breadcrumb",
      "description": "Navigation trail showing current location in hierarchy. When to use: Where the user IS in a hierarchy. Progress through a flow → stepper.",
      "files": [
        {
          "path": "r/styles/breadcrumb.css",
          "type": "registry:file",
          "target": "~/styles/veritheme/breadcrumb.css"
        }
      ],
      "registryDependencies": [
        "https://veritheme.com/r/base.json",
        "https://veritheme.com/r/link.json",
        "https://veritheme.com/r/separator.json"
      ],
      "docs": "Import styles/veritheme/breadcrumb.css after base.css.\n\nUsage:\n<nav aria-label=\"Breadcrumb\">\n  <ol class=\"vt-breadcrumb\">\n    <li class=\"vt-inline-flex vt-items-center\">\n      <a href=\"#\" class=\"vt-breadcrumb-link\">Home</a>\n    </li>\n    <li class=\"vt-inline-flex vt-items-center\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\" class=\"lucide lucide-chevron-right vt-w-4 vt-h-4 vt-breadcrumb-separator\">\n        <path d=\"m9 18 6-6-6-6\"></path>\n      </svg>\n    </li>\n    <li class=\"vt-inline-flex vt-items-center\">\n      <a href=\"#\" class=\"vt-breadcrumb-link\">Products</a>\n    </li>\n    <li class=\"vt-inline-flex vt-items-center\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\" class=\"lucide lucide-chevron-right vt-w-4 vt-h-4 vt-breadcrumb-separator\">\n        <path d=\"m9 18 6-6-6-6\"></path>\n      </svg>\n    </li>\n    <li class=\"vt-inline-flex vt-items-center\">\n      <span class=\"vt-breadcrumb-current\">T-Shirts</span>\n    </li>\n  </ol>\n</nav>",
      "categories": [
        "navigation"
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "stepper",
      "type": "registry:component",
      "title": "Stepper",
      "description": "Multi-step progress indicator with step numbers, labels, and connecting lines. When to use: Progress through a multi-step flow (checkout, onboarding). Location in hierarchy → breadcrumb.",
      "files": [
        {
          "path": "r/styles/stepper.css",
          "type": "registry:file",
          "target": "~/styles/veritheme/stepper.css"
        }
      ],
      "registryDependencies": [
        "https://veritheme.com/r/base.json",
        "https://veritheme.com/r/badge.json",
        "https://veritheme.com/r/separator.json"
      ],
      "docs": "Import styles/veritheme/stepper.css after base.css.\n\nUsage:\n<div class=\"vt-stepper vt-max-w-2xl vt-mx-auto\">\n  <!-- Step 1: Completed -->\n  <div class=\"vt-stepper-step\">\n    <div class=\"vt-stepper-circle vt-w-8 vt-h-8 vt-bg-brand-fill\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\" class=\"lucide lucide-check vt-w-4 vt-h-4 vt-text-generic-white\">\n        <path d=\"M20 6 9 17l-5-5\"></path>\n      </svg>\n    </div>\n    <span class=\"vt-mt-2 vt-text-sm vt-font-medium vt-text-brand-fill\">Account</span>\n  </div>\n  <!-- Line: Completed -->\n  <div class=\"vt-stepper-line vt-bg-brand-fill\"></div>\n  <!-- Step 2: Current -->\n  <div class=\"vt-stepper-step\">\n    <div class=\"vt-stepper-circle vt-w-8 vt-h-8 vt-bg-brand-fill vt-ring-4 vt-ring-primary/20\">\n      <span class=\"vt-text-sm vt-font-semibold vt-text-generic-white\">2</span>\n    </div>\n    <span class=\"vt-mt-2 vt-text-sm vt-font-medium vt-text-brand-fill\">Profile</span>\n  </div>\n  <!-- Line: Upcoming -->\n  <div class=\"vt-stepper-line vt-bg-border-default\"></div>\n  <!-- Step 3: Upcoming -->\n  <div class=\"vt-stepper-step\">\n    <div class=\"vt-stepper-circle vt-w-8 vt-h-8 vt-bg-surface-moderate\">\n      <span class=\"vt-text-sm vt-font-medium vt-text-foreground-muted\">3</span>\n    </div>\n    <span class=\"vt-mt-2 vt-text-sm vt-text-foreground-muted\">Preferences</span>\n  </div>\n  <!-- Line: Upcoming -->\n  <div class=\"vt-stepper-line vt-bg-border-default\"></div>\n  <!-- Step 4: Upcoming -->\n  <div class=\"vt-stepper-step\">\n    <div class=\"vt-stepper-circle vt-w-8 vt-h-8 vt-bg-surface-moderate\">\n      <span class=\"vt-text-sm vt-font-medium vt-text-foreground-muted\">4</span>\n    </div>\n    <span class=\"vt-mt-2 vt-text-sm vt-text-foreground-muted\">Complete</span>\n  </div>\n</div>",
      "categories": [
        "navigation"
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "pagination",
      "type": "registry:component",
      "title": "Pagination",
      "description": "Page navigation with prev/next and numbered page buttons. When to use: Navigating pages of long lists/tables. Do not paginate under ~20 items.",
      "files": [
        {
          "path": "r/styles/pagination.css",
          "type": "registry:file",
          "target": "~/styles/veritheme/pagination.css"
        }
      ],
      "registryDependencies": [
        "https://veritheme.com/r/base.json",
        "https://veritheme.com/r/button.json"
      ],
      "docs": "Import styles/veritheme/pagination.css after base.css.\n\nUsage:\n<nav class=\"vt-flex vt-items-center vt-gap-1\">\n  <!-- Previous -->\n  <button class=\"vt-page-btn vt-px-3 vt-w-auto vt-text-foreground-muted\">\n    <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\" class=\"lucide lucide-chevron-left vt-w-4 vt-h-4\">\n      <path d=\"m15 18-6-6 6-6\"></path>\n    </svg>\n    Previous\n  </button>\n  <!-- Page 1 -->\n  <button class=\"vt-page-btn\">1</button>\n  <!-- Page 2 (active) -->\n  <button class=\"vt-page-btn vt-active\">2</button>\n  <!-- Page 3 -->\n  <button class=\"vt-page-btn\">3</button>\n  <!-- Ellipsis -->\n  <span class=\"vt-inline-flex vt-items-center vt-justify-center vt-h-10 vt-w-10 vt-text-sm vt-text-foreground-muted\">...</span>\n  <!-- Page 10 -->\n  <button class=\"vt-page-btn\">10</button>\n  <!-- Next -->\n  <button class=\"vt-page-btn vt-px-3 vt-w-auto vt-text-foreground-muted\">\n    Next\n    <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\" class=\"lucide lucide-chevron-right vt-w-4 vt-h-4\">\n      <path d=\"m9 18 6-6-6-6\"></path>\n    </svg>\n  </button>\n</nav>",
      "categories": [
        "navigation"
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "section-label",
      "type": "registry:component",
      "title": "SectionLabel",
      "description": "Uppercase 12px group label for sidebars and card sections. When to use: Uppercase 12px group label for sidebar groups and card sections. Form field captions → label.",
      "files": [
        {
          "path": "r/styles/section-label.css",
          "type": "registry:file",
          "target": "~/styles/veritheme/section-label.css"
        }
      ],
      "registryDependencies": [
        "https://veritheme.com/r/base.json"
      ],
      "docs": "Import styles/veritheme/section-label.css after base.css.\n\nUsage:\n<p class=\"vt-section-label vt-px-3 vt-py-2\">Workspace</p>",
      "categories": [
        "atom"
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "feature-item",
      "type": "registry:component",
      "title": "FeatureItem",
      "description": "Icon + title + description block for feature grids. When to use: Marketing feature row: icon tile + title + description (landing grids).",
      "files": [
        {
          "path": "r/styles/feature-item.css",
          "type": "registry:file",
          "target": "~/styles/veritheme/feature-item.css"
        }
      ],
      "registryDependencies": [
        "https://veritheme.com/r/base.json"
      ],
      "docs": "Import styles/veritheme/feature-item.css after base.css.",
      "categories": [
        "atom"
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "empty-state",
      "type": "registry:component",
      "title": "EmptyState",
      "description": "Zero-state placeholder with illustration icon, title, description, and CTA button. When to use: No-data view with icon, one-line explanation, and a primary action. Every list/table/board needs one designed.",
      "files": [
        {
          "path": "r/styles/empty-state.css",
          "type": "registry:file",
          "target": "~/styles/veritheme/empty-state.css"
        }
      ],
      "registryDependencies": [
        "https://veritheme.com/r/base.json",
        "https://veritheme.com/r/button.json"
      ],
      "docs": "Import styles/veritheme/empty-state.css after base.css.\n\nUsage:\n<div class=\"vt-empty-state\">\n  <div class=\"vt-icon-badge vt-w-12 vt-h-12 vt-bg-surface-moderate vt-mb-4\">\n    <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\" class=\"lucide lucide-file-plus vt-w-6 vt-h-6 vt-text-foreground-muted\">\n      <path d=\"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z\"></path><path d=\"M14 2v5a1 1 0 0 0 1 1h5\"></path><path d=\"M9 15h6\"></path><path d=\"M12 18v-6\"></path>\n    </svg>\n  </div>\n  <h3 class=\"vt-text-lg vt-font-semibold vt-mb-1\">No documents</h3>\n  <p class=\"vt-text-sm vt-text-foreground-muted vt-max-w-sm vt-mb-6\">You haven't created any documents yet. Start by creating your first document.</p>\n  <button class=\"vt-btn vt-btn-primary vt-gap-2\">\n\n    <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\" class=\"lucide lucide-plus vt-w-4 vt-h-4\">\n      <path d=\"M5 12h14\"></path><path d=\"M12 5v14\"></path>\n    </svg>\n    Create Document\n  </button>\n</div>",
      "categories": [
        "atom"
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "list-item",
      "type": "registry:component",
      "title": "ListItem",
      "description": "List row: leading icon/avatar, text block, trailing metadata or action. When to use: Row with leading icon/avatar, text, trailing meta/actions — the building block of lists inside cards.",
      "files": [
        {
          "path": "r/styles/list-item.css",
          "type": "registry:file",
          "target": "~/styles/veritheme/list-item.css"
        }
      ],
      "registryDependencies": [
        "https://veritheme.com/r/base.json"
      ],
      "docs": "Import styles/veritheme/list-item.css after base.css.\n\nUsage:\n<div class=\"vt-list-item\">\n  <div class=\"vt-avatar vt-avatar-sm\"><img src=\"…\" alt=\"Mia Park\" /></div>\n  <div class=\"vt-flex-1 vt-min-w-0\">\n    <p class=\"vt-text-sm vt-font-medium vt-truncate\">Mia Park</p>\n    <p class=\"vt-caption vt-truncate\">Updated the roadmap</p>\n  </div>\n  <span class=\"vt-caption\">Jul 18</span>\n</div>",
      "categories": [
        "atom"
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "toast",
      "type": "registry:component",
      "title": "Toast",
      "description": "Temporary floating notification. Auto-dismiss with progress bar. Success / Error / Warning / Info. When to use: Transient feedback after an action (saved, copied, failed) — auto-dismisses. NOT persistent information → alert or banner.",
      "files": [
        {
          "path": "r/styles/toast.css",
          "type": "registry:file",
          "target": "~/styles/veritheme/toast.css"
        }
      ],
      "registryDependencies": [
        "https://veritheme.com/r/base.json",
        "https://veritheme.com/r/button.json"
      ],
      "docs": "Import styles/veritheme/toast.css after base.css.\nInteractive: include veritheme.min.js (see https://veritheme.com/docs/installation/) — the JS bundle auto-initializes it from its data-* attributes.\n\nUsage:\n<div class=\"vt-toast\">\n  <div class=\"vt-flex-1\"><p class=\"vt-text-sm vt-font-semibold\">Scheduled: Catch up</p><p class=\"vt-text-xs vt-text-foreground-muted vt-mt-0.5\">Friday, February 14, 2026 at 5:57 PM</p></div>\n  <button class=\"vt-btn vt-btn-bordered vt-btn-sm vt-flex-shrink-0\">Undo</button>\n</div>\n\n<div class=\"vt-toast\">\n  <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\" class=\"lucide lucide-circle-check vt-w-5 vt-h-5 vt-text-success-fill vt-flex-shrink-0 vt-mt-0.5\">\n    <circle cx=\"12\" cy=\"12\" r=\"10\"></circle><path d=\"m9 12 2 2 4-4\"></path>\n  </svg>\n  <div class=\"vt-flex-1\"><p class=\"vt-text-sm vt-font-semibold\">Success</p><p class=\"vt-text-xs vt-text-foreground-muted vt-mt-0.5\">Your changes have been saved.</p></div>\n</div>\n\n<div class=\"vt-toast vt-border-error-fill/50\">\n  <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\" class=\"lucide lucide-circle-alert vt-w-5 vt-h-5 vt-text-error-fill vt-flex-shrink-0 vt-mt-0.5\">\n    <circle cx=\"12\" cy=\"12\" r=\"10\"></circle><line x1=\"12\" x2=\"12\" y1=\"8\" y2=\"12\"></line><line x1=\"12\" x2=\"12.01\" y1=\"16\" y2=\"16\"></line>\n  </svg>\n  <div class=\"vt-flex-1\"><p class=\"vt-text-sm vt-font-semibold\">Error</p><p class=\"vt-text-xs vt-text-foreground-muted vt-mt-0.5\">Something went wrong. Please try again.</p></div>\n  <button class=\"vt-btn vt-btn-bordered vt-btn-sm vt-flex-shrink-0\">Retry</button>\n</div>",
      "categories": [
        "atom"
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "banner",
      "type": "registry:component",
      "title": "Banner",
      "description": "Full-width page-level notification. Sticks to top of content area. When to use: Page- or section-level announcement across the top (maintenance, cookie, release). NOT inline field feedback → alert; NOT transient → toast.",
      "files": [
        {
          "path": "r/styles/banner.css",
          "type": "registry:file",
          "target": "~/styles/veritheme/banner.css"
        }
      ],
      "registryDependencies": [
        "https://veritheme.com/r/base.json",
        "https://veritheme.com/r/button.json"
      ],
      "docs": "Import styles/veritheme/banner.css after base.css.\n\nUsage:\n<div class=\"vt-banner vt-banner-info\">\n  <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\" class=\"lucide lucide-info vt-w-5 vt-h-5 vt-shrink-0\">\n    <circle cx=\"12\" cy=\"12\" r=\"10\"></circle><path d=\"M12 16v-4\"></path><path d=\"M12 8h.01\"></path>\n  </svg>\n  <p class=\"vt-text-sm vt-flex-1\">A new software update is available. See what's new in version 3.0.</p>\n  <button class=\"vt-shrink-0 vt-p-1 vt-rounded-lg vt-hover:bg-black/5 vt-dark:hover:bg-white/10 vt-transition-colors\">\n    <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\" class=\"lucide lucide-x vt-w-4 vt-h-4\">\n      <path d=\"M18 6 6 18\"></path><path d=\"m6 6 12 12\"></path>\n    </svg>\n  </button>\n</div>",
      "categories": [
        "atom"
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "progress",
      "type": "registry:component",
      "title": "Progress",
      "description": "Horizontal progress bar. SM / MD / LG. Multiple color variants. When to use: Determinate progress toward a known total (upload, checklist completion). Unknown-length loading → skeleton.",
      "files": [
        {
          "path": "r/styles/progress.css",
          "type": "registry:file",
          "target": "~/styles/veritheme/progress.css"
        }
      ],
      "registryDependencies": [
        "https://veritheme.com/r/base.json"
      ],
      "docs": "Import styles/veritheme/progress.css after base.css.\n\nUsage:\n<div>\n  <p class=\"vt-text-xs vt-text-foreground-muted vt-mb-2\">0%</p>\n  <div class=\"vt-progress\">\n    <div class=\"vt-progress-bar vt-inline-034359d7a8\"></div>\n  </div>\n</div>\n\n<div>\n  <p class=\"vt-text-xs vt-text-foreground-muted vt-mb-2\">25%</p>\n  <div class=\"vt-progress\">\n    <div class=\"vt-progress-bar vt-inline-c15b25bfc3\"></div>\n  </div>\n</div>\n\n<div>\n  <p class=\"vt-text-xs vt-text-foreground-muted vt-mb-2\">50%</p>\n  <div class=\"vt-progress\">\n    <div class=\"vt-progress-bar vt-inline-e73a22bd90\"></div>\n  </div>\n</div>\n\n<div>\n  <p class=\"vt-text-xs vt-text-foreground-muted vt-mb-2\">75%</p>\n  <div class=\"vt-progress\">\n    <div class=\"vt-progress-bar vt-inline-c311217ce1\"></div>\n  </div>\n</div>\n\n<div>\n  <p class=\"vt-text-xs vt-text-foreground-muted vt-mb-2\">100%</p>\n  <div class=\"vt-progress\">\n    <div class=\"vt-progress-bar vt-inline-16000cc0ae\"></div>\n  </div>\n</div>",
      "categories": [
        "atom"
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "chip",
      "type": "registry:component",
      "title": "Chip",
      "description": "Filter tag with selected/removable states. When to use: Selectable or removable token: filters, tag inputs, interest pickers (vt-chip-active for selected). NOT for pure read-only status → badge.",
      "files": [
        {
          "path": "r/styles/chip.css",
          "type": "registry:file",
          "target": "~/styles/veritheme/chip.css"
        }
      ],
      "registryDependencies": [
        "https://veritheme.com/r/base.json"
      ],
      "docs": "Import styles/veritheme/chip.css after base.css.\n\nUsage:\n<span class=\"vt-chip\">Default</span>\n<span class=\"vt-chip vt-chip-active\">\n  <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\" class=\"lucide lucide-check vt-w-3.5 vt-h-3.5\">\n    <path d=\"M20 6 9 17l-5-5\"></path>\n  </svg> Selected\n</span>\n<span class=\"vt-chip\">\n  Removable\n  <button class=\"vt-text-foreground-muted vt-hover:text-foreground-primary vt-transition-colors\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\" class=\"lucide lucide-x vt-w-3.5 vt-h-3.5\">\n      <path d=\"M18 6 6 18\"></path><path d=\"m6 6 12 12\"></path>\n    </svg></button>\n</span>\n<span class=\"vt-chip vt-opacity-50 vt-cursor-not-allowed\">Disabled</span>",
      "categories": [
        "atom"
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "toolbar",
      "type": "registry:component",
      "title": "Toolbar",
      "description": "Horizontal bar of action buttons grouped with separators. When to use: Horizontal row of icon actions (each with a tooltip). Vertical navigation → sidebar.",
      "files": [
        {
          "path": "r/styles/toolbar.css",
          "type": "registry:file",
          "target": "~/styles/veritheme/toolbar.css"
        }
      ],
      "registryDependencies": [
        "https://veritheme.com/r/base.json",
        "https://veritheme.com/r/button.json",
        "https://veritheme.com/r/separator.json"
      ],
      "docs": "Import styles/veritheme/toolbar.css after base.css.\n\nUsage:\n<div class=\"vt-toolbar\">\n  <button class=\"vt-toolbar-btn vt-px-3 vt-w-auto\">\n    <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\" class=\"lucide lucide-plus vt-w-4 vt-h-4 vt-mr-2\">\n      <path d=\"M5 12h14\"></path><path d=\"M12 5v14\"></path>\n    </svg>\n    New\n  </button>\n  <button class=\"vt-toolbar-btn vt-px-3 vt-w-auto\">\n    <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\" class=\"lucide lucide-upload vt-w-4 vt-h-4 vt-mr-2\">\n      <path d=\"M12 3v12\"></path><path d=\"m17 8-5-5-5 5\"></path><path d=\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\"></path>\n    </svg>\n    Upload\n  </button>\n  <button class=\"vt-toolbar-btn vt-px-3 vt-w-auto\">\n    <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\" class=\"lucide lucide-download vt-w-4 vt-h-4 vt-mr-2\">\n      <path d=\"M12 15V3\"></path><path d=\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\"></path><path d=\"m7 10 5 5 5-5\"></path>\n    </svg>\n    Download\n  </button>\n  <button class=\"vt-toolbar-btn vt-px-3 vt-w-auto\">\n    <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\" class=\"lucide lucide-share-2 vt-w-4 vt-h-4 vt-mr-2\">\n      <circle cx=\"18\" cy=\"5\" r=\"3\"></circle><circle cx=\"6\" cy=\"12\" r=\"3\"></circle><circle cx=\"18\" cy=\"19\" r=\"3\"></circle><line x1=\"8.59\" x2=\"15.42\" y1=\"13.51\" y2=\"17.49\"></line><line x1=\"15.41\" x2=\"8.59\" y1=\"6.51\" y2=\"10.49\"></line>\n    </svg>\n    Share\n  </button>\n</div>",
      "categories": [
        "atom"
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "calendar-day",
      "type": "registry:component",
      "title": "CalendarDay",
      "description": "A single day cell of the calendar grid with selected / in-range / muted states. When to use: Day cell inside calendar grids; vt-active = selected (brand).",
      "files": [
        {
          "path": "r/styles/calendar-day.css",
          "type": "registry:file",
          "target": "~/styles/veritheme/calendar-day.css"
        }
      ],
      "registryDependencies": [
        "https://veritheme.com/r/base.json"
      ],
      "docs": "Import styles/veritheme/calendar-day.css after base.css.",
      "categories": [
        "atom"
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "carousel-nav",
      "type": "registry:component",
      "title": "CarouselNav",
      "description": "Round prev/next navigation button for the carousel. When to use: Prev/next buttons and dot indicators for carousels (active dot = brand).",
      "files": [
        {
          "path": "r/styles/carousel-nav.css",
          "type": "registry:file",
          "target": "~/styles/veritheme/carousel-nav.css"
        }
      ],
      "registryDependencies": [
        "https://veritheme.com/r/base.json"
      ],
      "docs": "Import styles/veritheme/carousel-nav.css after base.css.",
      "categories": [
        "atom"
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "color-swatch",
      "type": "registry:component",
      "title": "ColorSwatch",
      "description": "Docs-site internal widget (not part of the shipped library). When to use: Color token preview tile (docs).",
      "files": [
        {
          "path": "r/styles/color-swatch.css",
          "type": "registry:file",
          "target": "~/styles/veritheme/color-swatch.css"
        }
      ],
      "registryDependencies": [
        "https://veritheme.com/r/base.json"
      ],
      "docs": "Import styles/veritheme/color-swatch.css after base.css.",
      "categories": [
        "atom"
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "code-header",
      "type": "registry:component",
      "title": "CodeHeader",
      "description": "Docs-site internal widget (not part of the shipped library). When to use: Header bar above code blocks (filename + copy action).",
      "files": [
        {
          "path": "r/styles/code-header.css",
          "type": "registry:file",
          "target": "~/styles/veritheme/code-header.css"
        }
      ],
      "registryDependencies": [
        "https://veritheme.com/r/base.json"
      ],
      "docs": "Import styles/veritheme/code-header.css after base.css.",
      "categories": [
        "atom"
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "code-inline",
      "type": "registry:component",
      "title": "CodeInline",
      "description": "Inline code chip for short literals inside a sentence. When to use: Inline code fragments inside prose.",
      "files": [
        {
          "path": "r/styles/code-inline.css",
          "type": "registry:file",
          "target": "~/styles/veritheme/code-inline.css"
        }
      ],
      "registryDependencies": [
        "https://veritheme.com/r/base.json"
      ],
      "docs": "Import styles/veritheme/code-inline.css after base.css.",
      "categories": [
        "atom"
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "count-badge",
      "type": "registry:component",
      "title": "CountBadge",
      "description": "Small numeric counter badge (unread counts) for buttons, tabs and nav items. When to use: Numeric counter: unread counts on nav items, icons, tabs. NOT for text statuses → badge.",
      "files": [
        {
          "path": "r/styles/count-badge.css",
          "type": "registry:file",
          "target": "~/styles/veritheme/count-badge.css"
        }
      ],
      "registryDependencies": [
        "https://veritheme.com/r/base.json"
      ],
      "docs": "Import styles/veritheme/count-badge.css after base.css.\n\nUsage:\n<div class=\"vt-relative vt-inline-flex\">\n  <button class=\"vt-notification-btn\" aria-label=\"Notifications\">\n    <svg class=\"vt-w-4 vt-h-4\">...</svg>\n  </button>\n  <span class=\"vt-count-badge vt-absolute vt--top-1.5 vt--right-1.5\">3</span>\n</div>",
      "categories": [
        "atom"
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "icon-badge",
      "type": "registry:component",
      "title": "IconBadge",
      "description": "Square or round icon tile (colored fill + centered icon) for lists, stats and brand marks. When to use: Decorative icon tile or app logo (square/round tinted background + icon). Non-interactive — a clickable icon needs vt-btn vt-btn-icon.",
      "files": [
        {
          "path": "r/styles/icon-badge.css",
          "type": "registry:file",
          "target": "~/styles/veritheme/icon-badge.css"
        }
      ],
      "registryDependencies": [
        "https://veritheme.com/r/base.json"
      ],
      "docs": "Import styles/veritheme/icon-badge.css after base.css.\n\nUsage:\n<div class=\"vt-icon-badge vt-bg-brand-fill\">\n  <svg class=\"vt-w-5 vt-h-5 vt-text-on-brand\">...</svg>\n</div>\n<div class=\"vt-icon-badge vt-icon-badge-sm vt-icon-badge-square vt-bg-surface-subtle\">\n  <svg class=\"vt-w-4 vt-h-4 vt-text-foreground-secondary\">...</svg>\n</div>",
      "categories": [
        "atom"
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "footer-link",
      "type": "registry:component",
      "title": "FooterLink",
      "description": "Muted footer link with hover state. When to use: Muted footer navigation link.",
      "files": [
        {
          "path": "r/styles/footer-link.css",
          "type": "registry:file",
          "target": "~/styles/veritheme/footer-link.css"
        }
      ],
      "registryDependencies": [
        "https://veritheme.com/r/base.json"
      ],
      "docs": "Import styles/veritheme/footer-link.css after base.css.",
      "categories": [
        "atom"
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "timeline-dot",
      "type": "registry:component",
      "title": "TimelineDot",
      "description": "Colored marker dot on the timeline. When to use: Event marker in activity feeds/timelines (brand dot + connector line).",
      "files": [
        {
          "path": "r/styles/timeline-dot.css",
          "type": "registry:file",
          "target": "~/styles/veritheme/timeline-dot.css"
        }
      ],
      "registryDependencies": [
        "https://veritheme.com/r/base.json"
      ],
      "docs": "Import styles/veritheme/timeline-dot.css after base.css.",
      "categories": [
        "atom"
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "notification-btn",
      "type": "registry:component",
      "title": "NotificationBtn",
      "description": "Icon button with a notification dot/count overlay. When to use: Round 40×40 header button (radius-2xl → reads as a circle) that houses a bell/inbox icon plus a notification-badge overlay. Use ONLY for the notifications/alerts affordance in an app header. Do NOT reuse it as a generic icon button in a toolbar or action row — its circular shape breaks visual consistency with sibling controls (button-group, btn, page-btn). For a plain icon-only action use `vt-page-btn` (square 40×40, radius-lg) or `vt-btn` icon-only so height and radius match its neighbours.",
      "files": [
        {
          "path": "r/styles/notification-btn.css",
          "type": "registry:file",
          "target": "~/styles/veritheme/notification-btn.css"
        }
      ],
      "registryDependencies": [
        "https://veritheme.com/r/base.json"
      ],
      "docs": "Import styles/veritheme/notification-btn.css after base.css.",
      "categories": [
        "atom"
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "check-label",
      "type": "registry:component",
      "title": "CheckLabel",
      "description": "Checkbox/radio + label row wrapper with correct spacing, cursor and disabled dimming. When to use: Clickable row binding a checkbox/radio to its label text — use for agreement lines and checklists.",
      "files": [
        {
          "path": "r/styles/check-label.css",
          "type": "registry:file",
          "target": "~/styles/veritheme/check-label.css"
        }
      ],
      "registryDependencies": [
        "https://veritheme.com/r/base.json"
      ],
      "docs": "Import styles/veritheme/check-label.css after base.css.",
      "categories": [
        "atom"
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "dropdown-wrap",
      "type": "registry:component",
      "title": "DropdownWrap",
      "description": "Relative-positioned wrapper that anchors a dropdown panel to its trigger. When to use: Positioning wrapper that anchors dropdown panels to their trigger.",
      "files": [
        {
          "path": "r/styles/dropdown-wrap.css",
          "type": "registry:file",
          "target": "~/styles/veritheme/dropdown-wrap.css"
        }
      ],
      "registryDependencies": [
        "https://veritheme.com/r/base.json"
      ],
      "docs": "Import styles/veritheme/dropdown-wrap.css after base.css.",
      "categories": [
        "atom"
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "card",
      "type": "registry:component",
      "title": "Card",
      "description": "Content container with optional header, body, footer, badge, and action button. When to use: Grouping surface for related content. Never nest cards — divide inside with spacing or separators; page sections are spacing-separated, not boxed-in-boxes.",
      "files": [
        {
          "path": "r/styles/card.css",
          "type": "registry:file",
          "target": "~/styles/veritheme/card.css"
        }
      ],
      "registryDependencies": [
        "https://veritheme.com/r/base.json",
        "https://veritheme.com/r/badge.json",
        "https://veritheme.com/r/button.json",
        "https://veritheme.com/r/separator.json"
      ],
      "docs": "Import styles/veritheme/card.css after base.css.\n\nUsage:\n<div class=\"vt-card vt-max-w-sm\">\n\n  <div class=\"vt-card-header\">\n\n    <h3 class=\"vt-text-lg vt-font-semibold vt-leading-none vt-tracking-tight\">Card Title</h3>\n    <p class=\"vt-text-sm vt-text-foreground-muted vt-mt-1.5\">Card description goes here.</p>\n  </div>\n  <div class=\"vt-card-body\">\n\n    <p class=\"vt-text-sm\">Card content with some details about this item that needs to be displayed to the user.</p>\n  </div>\n</div>",
      "categories": [
        "atom"
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "alert",
      "type": "registry:component",
      "title": "Alert",
      "description": "Callout block for info, success, warning, error. Optional action button and dismiss. When to use: Inline contextual message inside the content flow (form warnings, section notices). NOT app-wide → banner; NOT transient after an action → toast.",
      "files": [
        {
          "path": "r/styles/alert.css",
          "type": "registry:file",
          "target": "~/styles/veritheme/alert.css"
        }
      ],
      "registryDependencies": [
        "https://veritheme.com/r/base.json",
        "https://veritheme.com/r/button.json"
      ],
      "docs": "Import styles/veritheme/alert.css after base.css.\n\nUsage:\n<div class=\"vt-alert\">\n  <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\" class=\"lucide lucide-info vt-w-5 vt-h-5 vt-shrink-0 vt-mt-0.5\">\n    <circle cx=\"12\" cy=\"12\" r=\"10\"></circle><path d=\"M12 16v-4\"></path><path d=\"M12 8h.01\"></path>\n  </svg>\n  <div>\n    <h3 class=\"vt-text-sm vt-font-semibold\">Heads up!</h3>\n    <p class=\"vt-text-sm vt-mt-1\">You can add components to your app using the CLI.</p>\n  </div>\n</div>",
      "categories": [
        "atom"
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "calendar-weekday",
      "type": "registry:component",
      "title": "CalendarWeekday",
      "description": "Weekday header cell of the calendar grid. When to use: Weekday header cell (Su Mo …) above calendar grids — 12px, muted, centered.",
      "files": [
        {
          "path": "r/styles/calendar-weekday.css",
          "type": "registry:file",
          "target": "~/styles/veritheme/calendar-weekday.css"
        }
      ],
      "registryDependencies": [
        "https://veritheme.com/r/base.json"
      ],
      "docs": "Import styles/veritheme/calendar-weekday.css after base.css.",
      "categories": [
        "atom"
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "button-group",
      "type": "registry:component",
      "title": "ButtonGroup",
      "description": "Row or column of connected buttons sharing a single border. When to use: Segmented control of related toggles/actions (Day/Week/Month). More than ~4 options → select.",
      "files": [
        {
          "path": "r/styles/button-group.css",
          "type": "registry:file",
          "target": "~/styles/veritheme/button-group.css"
        }
      ],
      "registryDependencies": [
        "https://veritheme.com/r/base.json",
        "https://veritheme.com/r/button.json"
      ],
      "docs": "Import styles/veritheme/button-group.css after base.css.\n\nUsage:\n<div class=\"vt-btn-group\">\n  <button>Left</button>\n  <button>Center</button>\n  <button>Right</button>\n</div>",
      "categories": [
        "atom"
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "dialog",
      "type": "registry:component",
      "title": "Dialog",
      "description": "Modal dialog. Confirmation / Destructive / With form input variants. When to use: Blocking modal for a focused task or confirmation. NOT for lightweight hints → popover/tooltip.",
      "files": [
        {
          "path": "r/styles/dialog.css",
          "type": "registry:file",
          "target": "~/styles/veritheme/dialog.css"
        }
      ],
      "registryDependencies": [
        "https://veritheme.com/r/base.json",
        "https://veritheme.com/r/button.json",
        "https://veritheme.com/r/input.json",
        "https://veritheme.com/r/separator.json"
      ],
      "docs": "Import styles/veritheme/dialog.css after base.css.\nInteractive: include veritheme.min.js (see https://veritheme.com/docs/installation/) — the JS bundle auto-initializes it from its data-* attributes.\n\nUsage:\n<button class=\"vt-btn vt-btn-primary\" onclick=\"openDialog('dialog1')\">\n  Edit Profile\n</button>\n<button class=\"vt-btn vt-btn-danger\" onclick=\"openDialog('dialog2')\">\n  Delete Account\n</button>\n<button class=\"vt-btn vt-btn-bordered\" onclick=\"openDialog('dialog3')\">\n  Success Dialog\n</button>\n<button class=\"vt-btn vt-btn-danger\" onclick=\"openDialog('dialog-confirm-delete')\">\n  Confirm Delete\n</button>",
      "categories": [
        "atom"
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "popover",
      "type": "registry:component",
      "title": "Popover",
      "description": "Floating panel anchored to a trigger. 5 placement options. Any content inside. When to use: Small interactive overlay anchored to a trigger (filters, pickers, hints with actions). NOT blocking/critical flows → dialog.",
      "files": [
        {
          "path": "r/styles/popover.css",
          "type": "registry:file",
          "target": "~/styles/veritheme/popover.css"
        }
      ],
      "registryDependencies": [
        "https://veritheme.com/r/base.json",
        "https://veritheme.com/r/button.json"
      ],
      "docs": "Import styles/veritheme/popover.css after base.css.\nInteractive: include veritheme.min.js (see https://veritheme.com/docs/installation/) — the JS bundle auto-initializes it from its data-* attributes.\n\nUsage:\n<div class=\"popover-wrapper\">\n  <button class=\"vt-btn vt-btn-bordered\" data-popover-trigger=\"pop1\">\n    Open popover\n  </button>\n  <div id=\"pop1\" class=\"vt-popover-content vt-popover-bottom-start vt-w-80 vt-p-4\">\n    <div class=\"vt-space-y-2 vt-mb-4\">\n      <h4 class=\"vt-font-medium vt-text-sm\">Dimensions</h4>\n      <p class=\"vt-text-xs vt-text-foreground-muted\">Set the dimensions for the layer.</p>\n    </div>\n    <div class=\"vt-grid vt-grid-cols-2 vt-gap-3\">\n      <div class=\"vt-space-y-1\">\n        <label class=\"vt-text-xs vt-font-medium\" for=\"popover-1-1\">Width</label>\n        <input type=\"text\" value=\"100%\" class=\"vt-input vt-h-8 vt-px-2 vt-text-xs\" id=\"popover-1-1\">\n      </div>\n      <div class=\"vt-space-y-1\">\n        <label class=\"vt-text-xs vt-font-medium\" for=\"popover-1-2\">Height</label>\n        <input type=\"text\" value=\"25px\" class=\"vt-input vt-h-8 vt-px-2 vt-text-xs\" id=\"popover-1-2\">\n      </div>\n      <div class=\"vt-space-y-1\">\n        <label class=\"vt-text-xs vt-font-medium\" for=\"popover-1-3\">Max Width</label>\n        <input type=\"text\" value=\"300px\" class=\"vt-input vt-h-8 vt-px-2 vt-text-xs\" id=\"popover-1-3\">\n      </div>\n      <div class=\"vt-space-y-1\">\n        <label class=\"vt-text-xs vt-font-medium\" for=\"popover-1-4\">Max Height</label>\n        <input type=\"text\" value=\"none\" class=\"vt-input vt-h-8 vt-px-2 vt-text-xs\" id=\"popover-1-4\">\n      </div>\n    </div>\n  </div>\n</div>",
      "categories": [
        "atom"
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "accordion",
      "type": "registry:component",
      "title": "Accordion",
      "description": "Collapsible sections. Single or multiple open. Animated expand/collapse. When to use: Collapsible sections for long secondary content (FAQ, advanced settings). NOT for primary navigation → sidebar/tabs.",
      "files": [
        {
          "path": "r/styles/accordion.css",
          "type": "registry:file",
          "target": "~/styles/veritheme/accordion.css"
        }
      ],
      "registryDependencies": [
        "https://veritheme.com/r/base.json"
      ],
      "docs": "Import styles/veritheme/accordion.css after base.css.\nInteractive: include veritheme.min.js (see https://veritheme.com/docs/installation/) — the JS bundle auto-initializes it from its data-* attributes.\n\nUsage:\n<div class=\"vt-w-full\" data-accordion=\"single\" data-accordion-shift=\"\">\n  <div data-accordion-item=\"\">\n    <button data-accordion-trigger=\"\" aria-expanded=\"true\">\n      Is it accessible?\n      <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\" data-accordion-icon=\"true\" class=\"lucide lucide-chevron-down vt-rotate-180\">\n        <path d=\"m6 9 6 6 6-6\"></path>\n      </svg>\n    </button>\n    <div data-accordion-content=\"\" role=\"region\">\n      Yes. It adheres to the WAI-ARIA design pattern. All interactive elements are keyboard accessible and screen reader friendly.\n    </div>\n  </div>\n  <div data-accordion-item=\"\">\n    <button data-accordion-trigger=\"\" aria-expanded=\"false\">\n      Is it styled?\n      <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\" data-accordion-icon=\"true\" class=\"lucide lucide-chevron-down\">\n        <path d=\"m6 9 6 6 6-6\"></path>\n      </svg>\n    </button>\n    <div data-accordion-content=\"\" role=\"region\" class=\"vt-hidden\">\n      Yes. It comes with default styles that match the other components. You can also customize it with your own CSS or utility classes.\n    </div>\n  </div>\n  <div data-accordion-item=\"\">\n    <button data-accordion-trigger=\"\" aria-expanded=\"false\">\n      Is it animated?\n      <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\" data-accordion-icon=\"true\" class=\"lucide lucide-chevron-down\">\n        <path d=\"m6 9 6 6 6-6\"></path>\n      </svg>\n    </button>\n    <div data-accordion-content=\"\" role=\"region\" class=\"vt-hidden\">\n      Yes. It includes smooth transitions for opening and closing. The chevron icon rotates to indicate the current state.\n    </div>\n  </div>\n</div>",
      "categories": [
        "atom"
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "slider",
      "type": "registry:component",
      "title": "Slider",
      "description": "Range input for numeric value selection. When to use: Continuous or wide numeric range where feel > precision (volume, price range). Exact numbers → number-input.",
      "files": [
        {
          "path": "r/styles/slider.css",
          "type": "registry:file",
          "target": "~/styles/veritheme/slider.css"
        }
      ],
      "registryDependencies": [
        "https://veritheme.com/r/base.json"
      ],
      "docs": "Import styles/veritheme/slider.css after base.css.\n\nUsage:\n<input type=\"range\" min=\"0\" max=\"100\" value=\"50\" aria-label=\"Value\">",
      "categories": [
        "atom"
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "mini-controls",
      "type": "registry:component",
      "title": "MiniControls",
      "description": "Docs-site internal widget (not part of the shipped library). When to use: Compact inline +/- controls for tight spaces (cart quantities).",
      "files": [
        {
          "path": "r/styles/mini-controls.css",
          "type": "registry:file",
          "target": "~/styles/veritheme/mini-controls.css"
        }
      ],
      "registryDependencies": [
        "https://veritheme.com/r/base.json"
      ],
      "docs": "Import styles/veritheme/mini-controls.css after base.css.",
      "categories": [
        "atom"
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "typography",
      "type": "registry:component",
      "title": "Typography",
      "description": "Typography scale reference — the ten named text styles (heading/body/label/caption) plus the monospace code pair. When to use: Named text-style classes — Heading/SM|MD|LG (vt-heading-sm/md/lg), Body/SM|MD|LG (vt-body-sm, vt-body, vt-body-lg), Label/SM|MD|LG (vt-label-sm/md/lg), Caption (vt-caption) and the Code pair (vt-code-sm, vt-code). Prefer these over raw size utilities for standalone text. The old names still resolve: vt-h1…vt-h6, vt-display and vt-overline are aliases onto the ten styles.",
      "files": [
        {
          "path": "r/styles/typography.css",
          "type": "registry:file",
          "target": "~/styles/veritheme/typography.css"
        }
      ],
      "registryDependencies": [
        "https://veritheme.com/r/base.json"
      ],
      "docs": "Import styles/veritheme/typography.css after base.css.",
      "categories": [
        "atom"
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "sidebar",
      "type": "registry:component",
      "title": "Sidebar",
      "description": "App sidebar container — brand block, nav groups and footer slot. When to use: App-level navigation frame: groups (vt-sidebar-label), links, badges, footer.",
      "files": [
        {
          "path": "r/styles/sidebar.css",
          "type": "registry:file",
          "target": "~/styles/veritheme/sidebar.css"
        }
      ],
      "registryDependencies": [
        "https://veritheme.com/r/base.json"
      ],
      "docs": "Import styles/veritheme/sidebar.css after base.css.",
      "categories": [
        "atom"
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "toc",
      "type": "registry:component",
      "title": "Toc",
      "description": "Docs-site internal widget (not part of the shipped library). When to use: In-page table of contents for long docs pages.",
      "files": [
        {
          "path": "r/styles/toc.css",
          "type": "registry:file",
          "target": "~/styles/veritheme/toc.css"
        }
      ],
      "registryDependencies": [
        "https://veritheme.com/r/base.json"
      ],
      "docs": "Import styles/veritheme/toc.css after base.css.",
      "categories": [
        "atom"
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "nav-item",
      "type": "registry:component",
      "title": "NavItem",
      "description": "Sidebar/nav link row with icon, label, active state and optional trailing count. When to use: Sidebar/topbar navigation entry with active state. In-page view switching → tabs.",
      "files": [
        {
          "path": "r/styles/nav-item.css",
          "type": "registry:file",
          "target": "~/styles/veritheme/nav-item.css"
        }
      ],
      "registryDependencies": [
        "https://veritheme.com/r/base.json"
      ],
      "docs": "Import styles/veritheme/nav-item.css after base.css.\n\nUsage:\n<a href=\"#\" class=\"vt-nav-item vt-active\" aria-current=\"page\">\n  <svg class=\"vt-w-4 vt-h-4\">...</svg>\n  Dashboard\n</a>\n<a href=\"#\" class=\"vt-nav-item\">\n  <svg class=\"vt-w-4 vt-h-4\">...</svg>\n  Inbox\n  <span class=\"vt-count-badge vt-ml-auto\">3</span>\n</a>",
      "categories": [
        "atom"
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-card",
      "type": "registry:component",
      "title": "ComponentCard",
      "description": "Docs-site internal widget (not part of the shipped library). When to use: Catalog card linking to a component page (docs site).",
      "files": [
        {
          "path": "r/styles/component-card.css",
          "type": "registry:file",
          "target": "~/styles/veritheme/component-card.css"
        }
      ],
      "registryDependencies": [
        "https://veritheme.com/r/base.json"
      ],
      "docs": "Import styles/veritheme/component-card.css after base.css.",
      "categories": [
        "atom"
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "mode-btn",
      "type": "registry:component",
      "title": "ModeBtn",
      "description": "Docs-site internal widget (not part of the shipped library). When to use: Compact view-mode toggle (grid/list) in toolbars. General segmented choice → button-group.",
      "files": [
        {
          "path": "r/styles/mode-btn.css",
          "type": "registry:file",
          "target": "~/styles/veritheme/mode-btn.css"
        }
      ],
      "registryDependencies": [
        "https://veritheme.com/r/base.json"
      ],
      "docs": "Import styles/veritheme/mode-btn.css after base.css.",
      "categories": [
        "atom"
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-block",
      "type": "registry:component",
      "title": "ExampleBlock",
      "description": "Docs-site internal widget (not part of the shipped library). When to use: Docs preview/code block wrapper (docs site).",
      "files": [
        {
          "path": "r/styles/example-block.css",
          "type": "registry:file",
          "target": "~/styles/veritheme/example-block.css"
        }
      ],
      "registryDependencies": [
        "https://veritheme.com/r/base.json"
      ],
      "docs": "Import styles/veritheme/example-block.css after base.css.",
      "categories": [
        "atom"
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "anatomy",
      "type": "registry:component",
      "title": "Anatomy",
      "description": "Docs-site internal widget (not part of the shipped library). When to use: Anatomy diagram wrapper for docs pages.",
      "files": [
        {
          "path": "r/styles/anatomy.css",
          "type": "registry:file",
          "target": "~/styles/veritheme/anatomy.css"
        }
      ],
      "registryDependencies": [
        "https://veritheme.com/r/base.json"
      ],
      "docs": "Import styles/veritheme/anatomy.css after base.css.",
      "categories": [
        "atom"
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "api-table",
      "type": "registry:component",
      "title": "ApiTable",
      "description": "Docs-site internal widget (not part of the shipped library). When to use: Props/classes reference table on docs pages.",
      "files": [
        {
          "path": "r/styles/api-table.css",
          "type": "registry:file",
          "target": "~/styles/veritheme/api-table.css"
        }
      ],
      "registryDependencies": [
        "https://veritheme.com/r/base.json"
      ],
      "docs": "Import styles/veritheme/api-table.css after base.css.",
      "categories": [
        "atom"
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "combobox",
      "type": "registry:component",
      "title": "Combobox",
      "description": "Searchable select with optional multi-select (shows Chips). Keyboard navigable. When to use: Searchable select, optionally multi-value with tags. Overkill for under ~10 options → select.",
      "files": [
        {
          "path": "r/styles/combobox.css",
          "type": "registry:file",
          "target": "~/styles/veritheme/combobox.css"
        }
      ],
      "registryDependencies": [
        "https://veritheme.com/r/base.json",
        "https://veritheme.com/r/input.json",
        "https://veritheme.com/r/chip.json",
        "https://veritheme.com/r/checkbox.json",
        "https://veritheme.com/r/separator.json"
      ],
      "docs": "Import styles/veritheme/combobox.css after base.css.\nInteractive: include veritheme.min.js (see https://veritheme.com/docs/installation/) — the JS bundle auto-initializes it from its data-* attributes.\n\nUsage:\n<div class=\"vt-w-72 vt-relative vt-combobox-wrapper\">\n  <div class=\"vt-relative\">\n    <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\" class=\"lucide lucide-search vt-absolute vt-left-3 vt-top-1/2 vt--translate-y-1/2 vt-w-4 vt-h-4 vt-text-foreground-muted\">\n      <path d=\"m21 21-4.34-4.34\"></path><circle cx=\"11\" cy=\"11\" r=\"8\"></circle>\n    </svg>\n    <input type=\"text\" placeholder=\"Search framework...\" onfocus=\"openCombobox('cb-default')\" oninput=\"filterCombobox(this, 'cb-default')\" class=\"vt-input vt-pl-10\" aria-label=\"Search framework...\">\n  </div>\n  <div id=\"cb-default\" class=\"vt-dropdown-menu vt-w-full vt-mt-1\" data-combobox-content=\"\">\n    <div class=\"vt-combobox-item\" onclick=\"selectComboboxItem(this)\">\n\n      <span class=\"vt-w-4 vt-h-4 vt-shrink-0 vt-combobox-icon\"></span>\n      Next.js\n    </div>\n    <div class=\"vt-combobox-item\" onclick=\"selectComboboxItem(this)\">\n\n      <span class=\"vt-w-4 vt-h-4 vt-shrink-0 vt-combobox-icon\"></span>\n      SvelteKit\n    </div>\n    <div class=\"vt-combobox-item\" onclick=\"selectComboboxItem(this)\">\n\n      <span class=\"vt-w-4 vt-h-4 vt-shrink-0 vt-combobox-icon\"></span>\n      Nuxt\n    </div>\n    <div class=\"vt-combobox-item\" onclick=\"selectComboboxItem(this)\">\n\n      <span class=\"vt-w-4 vt-h-4 vt-shrink-0 vt-combobox-icon\"></span>\n      Remix\n    </div>\n    <div class=\"vt-combobox-item vt-selected\" onclick=\"selectComboboxItem(this)\">\n\n      <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"vt-w-4 vt-h-4 vt-shrink-0 vt-text-info-fill vt-combobox-icon\"><path d=\"M20 6 9 17l-5-5\"></path></svg>\n      Astro\n    </div>\n    <div class=\"vt-combobox-empty vt-hidden vt-py-4 vt-text-center vt-text-sm vt-text-foreground-muted\">No results found.</div>\n  </div>\n</div>",
      "categories": [
        "form"
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "command",
      "type": "registry:component",
      "title": "Command",
      "description": "Command palette with search, grouped results, and keyboard shortcuts. When to use: Command palette (⌘K) for global search/actions. NOT a form control → select/combobox.",
      "files": [
        {
          "path": "r/styles/command.css",
          "type": "registry:file",
          "target": "~/styles/veritheme/command.css"
        }
      ],
      "registryDependencies": [
        "https://veritheme.com/r/base.json",
        "https://veritheme.com/r/input.json",
        "https://veritheme.com/r/separator.json"
      ],
      "docs": "Import styles/veritheme/command.css after base.css.\nInteractive: include veritheme.min.js (see https://veritheme.com/docs/installation/) — the JS bundle auto-initializes it from its data-* attributes.\n\nUsage:\n<div class=\"vt-command-wrapper vt-rounded-xl vt-border vt-border-border-default vt-bg-surface-card vt-shadow-2xl vt-max-w-md vt-w-full vt-overflow-hidden\">\n  <!-- Search input -->\n  <div class=\"vt-flex vt-w-full vt-items-center vt-border-b vt-border-border-default vt-px-3\">\n    <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\" class=\"lucide lucide-search vt-w-4 vt-h-4 vt-text-foreground-muted vt-shrink-0\">\n      <path d=\"m21 21-4.34-4.34\"></path><circle cx=\"11\" cy=\"11\" r=\"8\"></circle>\n    </svg>\n    <input type=\"text\" placeholder=\"Type a command or search...\" class=\"vt-command-input vt-flex vt-h-12 vt-flex-1 vt-bg-transparent vt-px-3 vt-text-sm vt-outline-none vt-placeholder:text-foreground-muted\" oninput=\"filterCommand(this)\" onkeydown=\"navigateCommand(event, this)\" aria-label=\"Type a command or search...\" aria-describedby=\"command-1-1\">\n  </div>\n  <!-- List -->\n  <div class=\"vt-command-list vt-p-2 vt-max-h-72 vt-overflow-y-auto\">\n    <!-- Group: Suggestions -->\n    <div class=\"vt-command-group\" data-command-group=\"\">\n      <div class=\"vt-text-xs vt-font-semibold vt-text-foreground-muted vt-px-2 vt-py-1.5\" data-command-label=\"\">Suggestions</div>\n      <div class=\"vt-command-item vt-selected\" data-value=\"calendar\">\n\n        <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\" class=\"lucide lucide-calendar vt-w-4 vt-h-4 vt-text-foreground-muted vt-shrink-0\">\n          <path d=\"M8 2v4\"></path><path d=\"M16 2v4\"></path><rect width=\"18\" height=\"18\" x=\"3\" y=\"4\" rx=\"2\"></rect><path d=\"M3 10h18\"></path>\n        </svg>\n        Calendar\n      </div>\n      <div class=\"vt-command-item\" data-value=\"emoji\">\n\n        <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\" class=\"lucide lucide-smile vt-w-4 vt-h-4 vt-text-foreground-muted vt-shrink-0\">\n          <circle cx=\"12\" cy=\"12\" r=\"10\"></circle><path d=\"M8 14s1.5 2 4 2 4-2 4-2\"></path><line x1=\"9\" x2=\"9.01\" y1=\"9\" y2=\"9\"></line><line x1=\"15\" x2=\"15.01\" y1=\"9\" y2=\"9\"></line>\n        </svg>\n        Search Emoji\n      </div>\n      <div class=\"vt-command-item\" data-value=\"calculator\">\n\n        <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\" class=\"lucide lucide-calculator vt-w-4 vt-h-4 vt-text-foreground-muted vt-shrink-0\">\n          <rect width=\"16\" height=\"20\" x=\"4\" y=\"2\" rx=\"2\"></rect><line x1=\"8\" x2=\"16\" y1=\"6\" y2=\"6\"></line><line x1=\"16\" x2=\"16\" y1=\"14\" y2=\"18\"></line><path d=\"M16 10h.01\"></path><path d=\"M12 10h.01\"></path><path d=\"M8 10h.01\"></path><path d=\"M12 14h.01\"></path><path d=\"M8 14h.01\"></path><path d=\"M12 18h.01\"></path><path d=\"M8 18h.01\"></path>\n        </svg>\n        Calculator\n      </div>\n    </div>\n    <!-- Separator -->\n    <div class=\"vt-separator vt-separator-h vt-my-1 vt--mx-2 vt-w-auto vt-command-separator\"></div>\n    <!-- Group: Settings -->\n    <div class=\"vt-command-group\" data-command-group=\"\">\n      <div class=\"vt-text-xs vt-font-semibold vt-text-foreground-muted vt-px-2 vt-py-1.5\" data-command-label=\"\">Settings</div>\n      <div class=\"vt-command-item\" data-value=\"profile\">\n\n        <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\" class=\"lucide lucide-user vt-w-4 vt-h-4 vt-text-foreground-muted vt-shrink-0\">\n          <path d=\"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2\"></path><circle cx=\"12\" cy=\"7\" r=\"4\"></circle>\n        </svg>\n        Profile\n      </div>\n      <div class=\"vt-command-item\" data-value=\"billing\">\n\n        <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\" class=\"lucide lucide-credit-card vt-w-4 vt-h-4 vt-text-foreground-muted vt-shrink-0\">\n          <rect width=\"20\" height=\"14\" x=\"2\" y=\"5\" rx=\"2\"></rect><line x1=\"2\" x2=\"22\" y1=\"10\" y2=\"10\"></line>\n        </svg>\n        Billing\n      </div>\n      <div class=\"vt-command-item\" data-value=\"settings\">\n\n        <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\" class=\"lucide lucide-settings vt-w-4 vt-h-4 vt-text-foreground-muted vt-shrink-0\">\n          <path d=\"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915\"></path><circle cx=\"12\" cy=\"12\" r=\"3\"></circle>\n        </svg>\n        Settings\n      </div>\n    </div>\n  </div>\n  <!-- Empty state -->\n  <div class=\"vt-command-empty vt-hidden vt-py-6 vt-text-center vt-text-sm vt-text-foreground-muted\">\n    No results found.\n  </div>\n  <!-- Selection feedback (Enter on the highlighted item) -->\n  <p class=\"vt-px-3 vt-py-2 vt-border-t vt-border-border-default vt-text-xs vt-text-foreground-muted\" data-command-status=\"\" aria-live=\"polite\" id=\"command-1-1\">Use arrows and Enter to run a command</p>\n</div>",
      "categories": [
        "navigation"
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "tree-view",
      "type": "registry:component",
      "title": "TreeView",
      "description": "Hierarchical, collapsible tree for file systems and nested navigation. Branch toggles rotate a chevron; children expand/collapse. When to use: Hierarchical parent/child data (files, org structure) with expand/collapse. Flat data → list.",
      "files": [
        {
          "path": "r/styles/tree-view.css",
          "type": "registry:file",
          "target": "~/styles/veritheme/tree-view.css"
        }
      ],
      "registryDependencies": [
        "https://veritheme.com/r/base.json"
      ],
      "docs": "Import styles/veritheme/tree-view.css after base.css.\nInteractive: include veritheme.min.js (see https://veritheme.com/docs/installation/) — the JS bundle auto-initializes it from its data-* attributes.\n\nUsage:\n<div class=\"vt-w-72 vt-rounded-2xl vt-border vt-border-border-default vt-bg-surface-card vt-p-3\" data-tree=\"\">\n  <!-- src (open) -->\n  <div data-tree-branch=\"\" class=\"open\">\n    <button type=\"button\" class=\"vt-tree-toggle\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\" class=\"lucide lucide-chevron-right vt-w-4 vt-h-4 vt-shrink-0 vt-tree-chevron\">\n        <path d=\"m9 18 6-6-6-6\"></path>\n      </svg>\n      <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\" class=\"lucide lucide-folder-open vt-w-4 vt-h-4 vt-shrink-0 vt-text-info-fill\">\n        <path d=\"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2\"></path>\n      </svg>\n      <span>src</span>\n    </button>\n    <div class=\"vt-tree-children\">\n      <!-- components (open) -->\n      <div data-tree-branch=\"\" class=\"open\">\n        <button type=\"button\" class=\"vt-tree-toggle\">\n          <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\" class=\"lucide lucide-chevron-right vt-w-4 vt-h-4 vt-shrink-0 vt-tree-chevron\">\n            <path d=\"m9 18 6-6-6-6\"></path>\n          </svg>\n          <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\" class=\"lucide lucide-folder-open vt-w-4 vt-h-4 vt-shrink-0 vt-text-info-fill\">\n            <path d=\"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2\"></path>\n          </svg>\n          <span>components</span>\n        </button>\n        <div class=\"vt-tree-children\">\n          <a class=\"vt-tree-leaf\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\" class=\"lucide lucide-file-code vt-w-4 vt-h-4 vt-shrink-0 vt-text-success-fill\">\n              <path d=\"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z\"></path><path d=\"M14 2v5a1 1 0 0 0 1 1h5\"></path><path d=\"M10 12.5 8 15l2 2.5\"></path><path d=\"m14 12.5 2 2.5-2 2.5\"></path>\n            </svg> Button.astro</a>\n          <a class=\"vt-tree-leaf\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\" class=\"lucide lucide-file-code vt-w-4 vt-h-4 vt-shrink-0 vt-text-success-fill\">\n              <path d=\"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z\"></path><path d=\"M14 2v5a1 1 0 0 0 1 1h5\"></path><path d=\"M10 12.5 8 15l2 2.5\"></path><path d=\"m14 12.5 2 2.5-2 2.5\"></path>\n            </svg> Card.astro</a>\n          <a class=\"vt-tree-leaf\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\" class=\"lucide lucide-file-code vt-w-4 vt-h-4 vt-shrink-0 vt-text-success-fill\">\n              <path d=\"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z\"></path><path d=\"M14 2v5a1 1 0 0 0 1 1h5\"></path><path d=\"M10 12.5 8 15l2 2.5\"></path><path d=\"m14 12.5 2 2.5-2 2.5\"></path>\n            </svg> Dialog.astro</a>\n        </div>\n      </div>\n      <!-- pages (closed) -->\n      <div data-tree-branch=\"\">\n        <button type=\"button\" class=\"vt-tree-toggle\">\n          <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\" class=\"lucide lucide-chevron-right vt-w-4 vt-h-4 vt-shrink-0 vt-tree-chevron\">\n            <path d=\"m9 18 6-6-6-6\"></path>\n          </svg>\n          <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\" class=\"lucide lucide-folder vt-w-4 vt-h-4 vt-shrink-0 vt-text-info-fill\">\n            <path d=\"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z\"></path>\n          </svg>\n          <span>pages</span>\n        </button>\n        <div class=\"vt-tree-children\">\n          <a class=\"vt-tree-leaf\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\" class=\"lucide lucide-file-code vt-w-4 vt-h-4 vt-shrink-0 vt-text-success-fill\">\n              <path d=\"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z\"></path><path d=\"M14 2v5a1 1 0 0 0 1 1h5\"></path><path d=\"M10 12.5 8 15l2 2.5\"></path><path d=\"m14 12.5 2 2.5-2 2.5\"></path>\n            </svg> index.astro</a>\n          <a class=\"vt-tree-leaf\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\" class=\"lucide lucide-file-code vt-w-4 vt-h-4 vt-shrink-0 vt-text-success-fill\">\n              <path d=\"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z\"></path><path d=\"M14 2v5a1 1 0 0 0 1 1h5\"></path><path d=\"M10 12.5 8 15l2 2.5\"></path><path d=\"m14 12.5 2 2.5-2 2.5\"></path>\n            </svg> about.astro</a>\n        </div>\n      </div>\n      <!-- styles -->\n      <div data-tree-branch=\"\">\n        <button type=\"button\" class=\"vt-tree-toggle\">\n          <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\" class=\"lucide lucide-chevron-right vt-w-4 vt-h-4 vt-shrink-0 vt-tree-chevron\">\n            <path d=\"m9 18 6-6-6-6\"></path>\n          </svg>\n          <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\" class=\"lucide lucide-folder vt-w-4 vt-h-4 vt-shrink-0 vt-text-info-fill\">\n            <path d=\"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z\"></path>\n          </svg>\n          <span>styles</span>\n        </button>\n        <div class=\"vt-tree-children\">\n          <a class=\"vt-tree-leaf\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\" class=\"lucide lucide-file-text vt-w-4 vt-h-4 vt-shrink-0 vt-text-warning-fill\">\n              <path d=\"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z\"></path><path d=\"M14 2v5a1 1 0 0 0 1 1h5\"></path><path d=\"M10 9H8\"></path><path d=\"M16 13H8\"></path><path d=\"M16 17H8\"></path>\n            </svg> main.scss</a>\n        </div>\n      </div>\n      <!-- root files -->\n      <a class=\"vt-tree-leaf\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\" class=\"lucide lucide-file-text vt-w-4 vt-h-4 vt-shrink-0 vt-text-foreground-muted\">\n          <path d=\"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z\"></path><path d=\"M14 2v5a1 1 0 0 0 1 1h5\"></path><path d=\"M10 9H8\"></path><path d=\"M16 13H8\"></path><path d=\"M16 17H8\"></path>\n        </svg> package.json</a>\n      <a class=\"vt-tree-leaf\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\" class=\"lucide lucide-file-text vt-w-4 vt-h-4 vt-shrink-0 vt-text-foreground-muted\">\n          <path d=\"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z\"></path><path d=\"M14 2v5a1 1 0 0 0 1 1h5\"></path><path d=\"M10 9H8\"></path><path d=\"M16 13H8\"></path><path d=\"M16 17H8\"></path>\n        </svg> tsconfig.json</a>\n      <a class=\"vt-tree-leaf\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\" class=\"lucide lucide-file-image vt-w-4 vt-h-4 vt-shrink-0 vt-text-error-fill\">\n          <path d=\"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z\"></path><path d=\"M14 2v5a1 1 0 0 0 1 1h5\"></path><circle cx=\"10\" cy=\"12\" r=\"2\"></circle><path d=\"m20 17-1.296-1.296a2.41 2.41 0 0 0-3.408 0L9 22\"></path>\n        </svg> favicon.svg</a>\n    </div>\n  </div>\n</div>",
      "categories": [
        "data-display"
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "resizable",
      "type": "registry:component",
      "title": "Resizable",
      "description": "Draggable handle between two panels; -col for a vertical divider (horizontal drag), -row for a horizontal divider. When to use: User-adjustable split panes (editors, consoles). Fixed layouts → grid utilities.",
      "files": [
        {
          "path": "r/styles/resizable.css",
          "type": "registry:file",
          "target": "~/styles/veritheme/resizable.css"
        }
      ],
      "registryDependencies": [
        "https://veritheme.com/r/base.json"
      ],
      "docs": "Import styles/veritheme/resizable.css after base.css.\nInteractive: include veritheme.min.js (see https://veritheme.com/docs/installation/) — the JS bundle auto-initializes it from its data-* attributes.\n\nUsage:\n<div class=\"vt-rounded-2xl vt-border vt-border-border-default vt-overflow-hidden vt-h-64 vt-flex vt-bg-surface-card\" data-resizable=\"horizontal\">\n  <!-- Left panel ~60% -->\n  <div class=\"vt-p-4 vt-flex vt-flex-col vt-min-w-0 vt-inline-86d5a62908\">\n    <p class=\"vt-text-xs vt-font-medium vt-text-foreground-muted vt-mb-2\">Panel 1</p>\n    <div class=\"vt-flex-1 vt-flex vt-items-center vt-justify-center\">\n      <span class=\"vt-text-sm vt-text-foreground-muted vt-size-label\">60%</span>\n    </div>\n  </div>\n  <!-- Drag handle -->\n  <div class=\"vt-w-1.5 vt-bg-border-default vt-flex vt-flex-col vt-items-center vt-justify-center vt-gap-0.5 vt-hover:bg-info-fill/50 vt-transition-colors vt-cursor-col-resize vt-flex-shrink-0 vt-resize-handle\">\n    <div class=\"vt-w-0.5 vt-h-0.5 vt-rounded-full vt-bg-foreground-muted\"></div>\n    <div class=\"vt-w-0.5 vt-h-0.5 vt-rounded-full vt-bg-foreground-muted\"></div>\n    <div class=\"vt-w-0.5 vt-h-0.5 vt-rounded-full vt-bg-foreground-muted\"></div>\n  </div>\n  <!-- Right panel ~40% -->\n  <div class=\"vt-p-4 vt-flex vt-flex-col vt-min-w-0 vt-inline-3ec96985f7\">\n    <p class=\"vt-text-xs vt-font-medium vt-text-foreground-muted vt-mb-2\">Panel 2</p>\n    <div class=\"vt-flex-1 vt-flex vt-items-center vt-justify-center\">\n      <span class=\"vt-text-sm vt-text-foreground-muted vt-size-label\">40%</span>\n    </div>\n  </div>\n</div>",
      "categories": [
        "layout"
      ]
    }
  ]
}
