{
  "$schema": "https://ui.shadcn.com/schema/registry.json",
  "name": "vitrum",
  "homepage": "https://vitrumui.vercel.app",
  "items": [
    {
      "name": "theme",
      "type": "registry:theme",
      "title": "Vitrum Theme",
      "description": "Material tokens, the glass surface system, and motion primitives. Every Vitrum component depends on this stylesheet.",
      "files": [
        {
          "path": "registry/vitrum/theme/vitrum.css",
          "type": "registry:file",
          "target": "~/vitrum.css"
        }
      ],
      "docs": "Import the stylesheet once in your global CSS (after `@import \"tailwindcss\"`): `@import \"../vitrum.css\";` \u2014 adjust the relative path to where your globals live."
    },
    {
      "name": "glass",
      "type": "registry:ui",
      "title": "Glass",
      "description": "The material primitive: refractive glass surfaces with engine detection, geometry-exact displacement baking, shared filter definitions, and pointer sheen.",
      "dependencies": [
        "radix-ui"
      ],
      "registryDependencies": [
        "https://vitrumui.vercel.app/r/theme.json",
        "utils"
      ],
      "files": [
        {
          "path": "registry/vitrum/ui/glass.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/vitrum/ui/glass-root.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/vitrum/ui/glass-defs.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/vitrum/ui/glass-watcher.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/vitrum/lib/glass-filter.ts",
          "type": "registry:lib"
        },
        {
          "path": "registry/vitrum/lib/glass-engine.ts",
          "type": "registry:lib"
        },
        {
          "path": "registry/vitrum/lib/glass-optics.ts",
          "type": "registry:lib"
        },
        {
          "path": "registry/vitrum/lib/optics-manager.ts",
          "type": "registry:lib"
        },
        {
          "path": "registry/vitrum/hooks/use-sheen.ts",
          "type": "registry:hook"
        },
        {
          "path": "registry/vitrum/hooks/use-glass-engine.ts",
          "type": "registry:hook"
        }
      ],
      "docs": "Render <GlassRoot/> once at the top of <body> to enable refraction. Without it, surfaces render in the frost engine."
    },
    {
      "name": "aurora-field",
      "type": "registry:ui",
      "title": "Aurora Field",
      "description": "Ambient gradient backdrop \u2014 three drifting light blobs with a noise tile, zero JavaScript. Glass needs light behind it; this is the light.",
      "registryDependencies": [
        "https://vitrumui.vercel.app/r/theme.json",
        "utils"
      ],
      "files": [
        {
          "path": "registry/vitrum/ui/aurora-field.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "glass-scene",
      "type": "registry:ui",
      "title": "Glass Scene",
      "description": "Scene refraction: bend any content you own, in every modern browser. A backdrop, any number of lenses, one baked map.",
      "registryDependencies": [
        "https://vitrumui.vercel.app/r/glass.json",
        "utils"
      ],
      "files": [
        {
          "path": "registry/vitrum/ui/glass-scene.tsx",
          "type": "registry:ui"
        }
      ],
      "docs": "The scene activates in the frost engine, where backdrop displacement is unavailable; the refract engine already bends through the surfaces themselves."
    },
    {
      "name": "button",
      "type": "registry:ui",
      "title": "Button",
      "description": "A pill of glass. Variants for accent, film, destructive, ghost, and link.",
      "dependencies": [
        "radix-ui",
        "class-variance-authority"
      ],
      "registryDependencies": [
        "https://vitrumui.vercel.app/r/glass.json",
        "utils"
      ],
      "files": [
        {
          "path": "registry/vitrum/ui/button.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "card",
      "type": "registry:ui",
      "title": "Card",
      "description": "A slab of glass with header, content, and footer anatomy.",
      "registryDependencies": [
        "https://vitrumui.vercel.app/r/glass.json",
        "utils"
      ],
      "files": [
        {
          "path": "registry/vitrum/ui/card.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "badge",
      "type": "registry:ui",
      "title": "Badge",
      "description": "A sliver of film glass for labels and counts.",
      "dependencies": [
        "radix-ui",
        "class-variance-authority"
      ],
      "registryDependencies": [
        "https://vitrumui.vercel.app/r/glass.json",
        "utils"
      ],
      "files": [
        {
          "path": "registry/vitrum/ui/badge.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "input",
      "type": "registry:ui",
      "title": "Input",
      "description": "A text field sunk into the surface \u2014 a recessed well rather than a raised slab.",
      "registryDependencies": [
        "https://vitrumui.vercel.app/r/glass.json",
        "utils"
      ],
      "files": [
        {
          "path": "registry/vitrum/ui/input.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "textarea",
      "type": "registry:ui",
      "title": "Textarea",
      "description": "A multiline well with content-aware sizing.",
      "registryDependencies": [
        "https://vitrumui.vercel.app/r/glass.json",
        "utils"
      ],
      "files": [
        {
          "path": "registry/vitrum/ui/textarea.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "skeleton",
      "type": "registry:ui",
      "title": "Skeleton",
      "description": "Loading placeholder with a specular sweep gliding across the surface.",
      "registryDependencies": [
        "https://vitrumui.vercel.app/r/glass.json",
        "utils"
      ],
      "files": [
        {
          "path": "registry/vitrum/ui/skeleton.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "alert",
      "type": "registry:ui",
      "title": "Alert",
      "description": "An inline pane of tinted glass for callouts and statuses.",
      "dependencies": [
        "class-variance-authority"
      ],
      "registryDependencies": [
        "https://vitrumui.vercel.app/r/glass.json",
        "utils"
      ],
      "files": [
        {
          "path": "registry/vitrum/ui/alert.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "avatar",
      "type": "registry:ui",
      "title": "Avatar",
      "description": "Identity disc with a glass rim and a film fallback.",
      "dependencies": [
        "radix-ui"
      ],
      "registryDependencies": [
        "https://vitrumui.vercel.app/r/glass.json",
        "utils"
      ],
      "files": [
        {
          "path": "registry/vitrum/ui/avatar.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "checkbox",
      "type": "registry:ui",
      "title": "Checkbox",
      "description": "A recessed well that fills with light when checked.",
      "dependencies": [
        "radix-ui",
        "lucide-react"
      ],
      "registryDependencies": [
        "https://vitrumui.vercel.app/r/glass.json",
        "utils"
      ],
      "files": [
        {
          "path": "registry/vitrum/ui/checkbox.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "radio-group",
      "type": "registry:ui",
      "title": "Radio Group",
      "description": "Exclusive choices with roving keyboard focus.",
      "dependencies": [
        "radix-ui"
      ],
      "registryDependencies": [
        "https://vitrumui.vercel.app/r/glass.json",
        "utils"
      ],
      "files": [
        {
          "path": "registry/vitrum/ui/radio-group.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "switch",
      "type": "registry:ui",
      "title": "Switch",
      "description": "A disc of glass riding a recessed track, refracting as it slides.",
      "dependencies": [
        "radix-ui"
      ],
      "registryDependencies": [
        "https://vitrumui.vercel.app/r/glass.json",
        "utils"
      ],
      "files": [
        {
          "path": "registry/vitrum/ui/switch.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "slider",
      "type": "registry:ui",
      "title": "Slider",
      "description": "Value selection with a refractive glass thumb.",
      "dependencies": [
        "radix-ui"
      ],
      "registryDependencies": [
        "https://vitrumui.vercel.app/r/glass.json",
        "utils"
      ],
      "files": [
        {
          "path": "registry/vitrum/ui/slider.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "progress",
      "type": "registry:ui",
      "title": "Progress",
      "description": "Linear bar, ring, and spinner \u2014 liquid light measuring completion.",
      "dependencies": [
        "radix-ui"
      ],
      "registryDependencies": [
        "https://vitrumui.vercel.app/r/glass.json",
        "utils"
      ],
      "files": [
        {
          "path": "registry/vitrum/ui/progress.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "select",
      "type": "registry:ui",
      "title": "Select",
      "description": "A listbox in a veil of glass, fully keyboard-driven.",
      "dependencies": [
        "radix-ui",
        "lucide-react"
      ],
      "registryDependencies": [
        "https://vitrumui.vercel.app/r/glass.json",
        "utils"
      ],
      "files": [
        {
          "path": "registry/vitrum/ui/select.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "dialog",
      "type": "registry:ui",
      "title": "Dialog",
      "description": "A modal veil centered over a frosted scrim.",
      "dependencies": [
        "radix-ui",
        "lucide-react"
      ],
      "registryDependencies": [
        "https://vitrumui.vercel.app/r/glass.json",
        "utils"
      ],
      "files": [
        {
          "path": "registry/vitrum/ui/dialog.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "sheet",
      "type": "registry:ui",
      "title": "Sheet",
      "description": "An edge-anchored veil panel for secondary surfaces.",
      "dependencies": [
        "radix-ui",
        "lucide-react"
      ],
      "registryDependencies": [
        "https://vitrumui.vercel.app/r/glass.json",
        "utils"
      ],
      "files": [
        {
          "path": "registry/vitrum/ui/sheet.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "popover",
      "type": "registry:ui",
      "title": "Popover",
      "description": "Anchored content in a floating veil.",
      "dependencies": [
        "radix-ui"
      ],
      "registryDependencies": [
        "https://vitrumui.vercel.app/r/glass.json",
        "utils"
      ],
      "files": [
        {
          "path": "registry/vitrum/ui/popover.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "tooltip",
      "type": "registry:ui",
      "title": "Tooltip",
      "description": "A film of glass naming whatever the pointer rests on.",
      "dependencies": [
        "radix-ui"
      ],
      "registryDependencies": [
        "https://vitrumui.vercel.app/r/glass.json",
        "utils"
      ],
      "files": [
        {
          "path": "registry/vitrum/ui/tooltip.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "dropdown-menu",
      "type": "registry:ui",
      "title": "Dropdown Menu",
      "description": "Menus, submenus, checkboxes, and radio items in veiled glass.",
      "dependencies": [
        "radix-ui",
        "lucide-react"
      ],
      "registryDependencies": [
        "https://vitrumui.vercel.app/r/glass.json",
        "utils"
      ],
      "files": [
        {
          "path": "registry/vitrum/ui/dropdown-menu.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "tabs",
      "type": "registry:ui",
      "title": "Tabs",
      "description": "Sectioned content with an accent underline.",
      "dependencies": [
        "radix-ui"
      ],
      "registryDependencies": [
        "https://vitrumui.vercel.app/r/glass.json",
        "utils"
      ],
      "files": [
        {
          "path": "registry/vitrum/ui/tabs.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "segmented-control",
      "type": "registry:ui",
      "title": "Segmented Control",
      "description": "Equal segments selected by a sliding pane of glass that refracts the labels it passes.",
      "dependencies": [
        "radix-ui"
      ],
      "registryDependencies": [
        "https://vitrumui.vercel.app/r/glass.json",
        "utils"
      ],
      "files": [
        {
          "path": "registry/vitrum/ui/segmented-control.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "accordion",
      "type": "registry:ui",
      "title": "Accordion",
      "description": "Vertically collapsing sections with sprung reveals.",
      "dependencies": [
        "radix-ui",
        "lucide-react"
      ],
      "registryDependencies": [
        "https://vitrumui.vercel.app/r/glass.json",
        "utils"
      ],
      "files": [
        {
          "path": "registry/vitrum/ui/accordion.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "command",
      "type": "registry:ui",
      "title": "Command",
      "description": "Fast keyboard-first command palette in a glass veil.",
      "dependencies": [
        "radix-ui",
        "cmdk",
        "lucide-react"
      ],
      "registryDependencies": [
        "https://vitrumui.vercel.app/r/glass.json",
        "utils",
        "https://vitrumui.vercel.app/r/dialog.json"
      ],
      "files": [
        {
          "path": "registry/vitrum/ui/command.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "toaster",
      "type": "registry:ui",
      "title": "Toast",
      "description": "Notification slabs that stack without blurring each other.",
      "dependencies": [
        "sonner",
        "lucide-react"
      ],
      "registryDependencies": [
        "https://vitrumui.vercel.app/r/glass.json",
        "utils",
        "https://vitrumui.vercel.app/r/progress.json"
      ],
      "files": [
        {
          "path": "registry/vitrum/ui/toaster.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "navbar",
      "type": "registry:ui",
      "title": "Navbar",
      "description": "A floating glass bar that condenses on scroll.",
      "dependencies": [
        "radix-ui"
      ],
      "registryDependencies": [
        "https://vitrumui.vercel.app/r/glass.json",
        "utils"
      ],
      "files": [
        {
          "path": "registry/vitrum/ui/navbar.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "gauge",
      "type": "registry:ui",
      "title": "Gauge",
      "description": "A vessel of glass holding liquid light \u2014 a meter with a meniscus.",
      "registryDependencies": [
        "https://vitrumui.vercel.app/r/glass.json",
        "utils"
      ],
      "files": [
        {
          "path": "registry/vitrum/ui/gauge.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "dock",
      "type": "registry:ui",
      "title": "Dock",
      "description": "A shelf of glass whose icons swell toward the pointer.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [
        "https://vitrumui.vercel.app/r/glass.json",
        "utils"
      ],
      "files": [
        {
          "path": "registry/vitrum/ui/dock.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "lens",
      "type": "registry:ui",
      "title": "Lens",
      "description": "A magnifying disc that trails the pointer and bends the surface beneath it.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [
        "https://vitrumui.vercel.app/r/glass.json",
        "utils"
      ],
      "files": [
        {
          "path": "registry/vitrum/ui/lens.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "glass-auth",
      "type": "registry:block",
      "title": "Auth",
      "description": "Sign-in pane: recessed fields, accent action, passkey alternative \u2014 one slab of glass.",
      "dependencies": [
        "radix-ui",
        "lucide-react"
      ],
      "registryDependencies": [
        "https://vitrumui.vercel.app/r/glass.json",
        "https://vitrumui.vercel.app/r/button.json",
        "https://vitrumui.vercel.app/r/checkbox.json",
        "https://vitrumui.vercel.app/r/input.json",
        "utils"
      ],
      "files": [
        {
          "path": "registry/vitrum/blocks/glass-auth.tsx",
          "type": "registry:component",
          "target": "components/blocks/glass-auth.tsx"
        }
      ]
    },
    {
      "name": "glass-dashboard",
      "type": "registry:block",
      "title": "Dashboard",
      "description": "Operations panel with liquid meters, a sliding period control, and an activity feed.",
      "dependencies": [
        "radix-ui",
        "lucide-react"
      ],
      "registryDependencies": [
        "https://vitrumui.vercel.app/r/avatar.json",
        "https://vitrumui.vercel.app/r/badge.json",
        "https://vitrumui.vercel.app/r/card.json",
        "https://vitrumui.vercel.app/r/gauge.json",
        "https://vitrumui.vercel.app/r/progress.json",
        "https://vitrumui.vercel.app/r/segmented-control.json",
        "utils"
      ],
      "files": [
        {
          "path": "registry/vitrum/blocks/glass-dashboard.tsx",
          "type": "registry:component",
          "target": "components/blocks/glass-dashboard.tsx"
        }
      ]
    },
    {
      "name": "glass-player",
      "type": "registry:block",
      "title": "Player",
      "description": "Media player with artwork under a magnifying lens and a glass-thumbed scrubber.",
      "dependencies": [
        "radix-ui",
        "lucide-react",
        "motion"
      ],
      "registryDependencies": [
        "https://vitrumui.vercel.app/r/glass.json",
        "https://vitrumui.vercel.app/r/button.json",
        "https://vitrumui.vercel.app/r/lens.json",
        "https://vitrumui.vercel.app/r/slider.json",
        "utils"
      ],
      "files": [
        {
          "path": "registry/vitrum/blocks/glass-player.tsx",
          "type": "registry:component",
          "target": "components/blocks/glass-player.tsx"
        }
      ]
    },
    {
      "name": "glass-launcher",
      "type": "registry:block",
      "title": "Launcher",
      "description": "A workspace shell made entirely of glass: bar above, palette in the middle, dock below.",
      "dependencies": [
        "radix-ui",
        "lucide-react",
        "cmdk",
        "motion"
      ],
      "registryDependencies": [
        "https://vitrumui.vercel.app/r/glass.json",
        "https://vitrumui.vercel.app/r/badge.json",
        "https://vitrumui.vercel.app/r/command.json",
        "https://vitrumui.vercel.app/r/dock.json",
        "https://vitrumui.vercel.app/r/navbar.json",
        "utils"
      ],
      "files": [
        {
          "path": "registry/vitrum/blocks/glass-launcher.tsx",
          "type": "registry:component",
          "target": "components/blocks/glass-launcher.tsx"
        }
      ]
    }
  ]
}
