{ "$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 once at the top of 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" } ] } ] }