{"$schema":"https://velocity-ui.com/schema/registry-item.json","name":"dashboard-shell","title":"Dashboard Shell","description":"A composable app shell for SaaS dashboards and team experiences.","type":"registry:component","version":"1.0.0","status":"stable","registryDependencies":[],"dependencies":{"lucide-react":"^0.563.0"},"devDependencies":{},"files":[{"path":"src/components/site/dashboard-shell.tsx","type":"component","target":"src/components/site/dashboard-shell.tsx","content":"import type { ReactNode } from \"react\";\nimport Link from \"next/link\";\nimport type { Route } from \"next\";\nimport { BarChart3, Boxes, FolderHeart, Settings, ShieldCheck } from \"lucide-react\";\nimport { cn } from \"@/lib/utils\";\n\nconst navItems = [\n  { title: \"Overview\", href: \"/dashboard\", icon: BarChart3 },\n  { title: \"Registry\", href: \"/registry\", icon: Boxes },\n  { title: \"Favorites\", href: \"/favorites\", icon: FolderHeart },\n  { title: \"Settings\", href: \"/settings\", icon: Settings },\n  { title: \"Admin\", href: \"/admin\", icon: ShieldCheck },\n];\n\ntype DashboardShellProps = {\n  children: ReactNode;\n  className?: string;\n};\n\nexport function DashboardShell({ children, className }: DashboardShellProps) {\n  return (\n    <div className={cn(\"grid min-h-screen bg-background text-foreground lg:grid-cols-[17rem_1fr]\", className)}>\n      <aside className=\"hidden border-r border-border/60 bg-card/40 p-4 lg:block\">\n        <Link href=\"/\" className=\"mb-6 flex items-center gap-3 rounded-xl px-3 py-2 font-semibold\">\n          <span className=\"size-2.5 rounded-full bg-emerald-400 shadow-[0_0_24px_rgba(52,211,153,0.6)]\" />\n          Velocity UI\n        </Link>\n        <nav className=\"space-y-1\">\n          {navItems.map((item) => (\n            <Link\n              key={item.href}\n              href={item.href as Route}\n              className=\"flex items-center gap-3 rounded-xl px-3 py-2 text-sm text-muted-foreground transition hover:bg-accent hover:text-foreground\"\n            >\n              <item.icon className=\"size-4\" />\n              {item.title}\n            </Link>\n          ))}\n        </nav>\n      </aside>\n      <section className=\"min-w-0\">{children}</section>\n    </div>\n  );\n}\n"}],"cssVars":{},"meta":{"category":"dashboard","tags":["layout","navigation","teams"],"docs":"/docs/registry","preview":"/dashboard"}}