{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "admin-inset-layout",
  "description": "Admin dashboard layout with inset sidebar",
  "dependencies": [
    "lucide-react"
  ],
  "registryDependencies": [
    "sidebar",
    "breadcrumb",
    "separator",
    "collapsible",
    "dropdown-menu",
    "avatar",
    "button",
    "dialog",
    "command",
    "@delta/scroll-fade-effect"
  ],
  "files": [
    {
      "path": "blocks/admin-inset-layout/page.tsx",
      "content": "import { AppHeader } from \"@/components/app-header\"\nimport { AppSidebar } from \"@/components/app-sidebar\"\nimport {\n  Breadcrumb,\n  BreadcrumbItem,\n  BreadcrumbLink,\n  BreadcrumbList,\n  BreadcrumbPage,\n  BreadcrumbSeparator,\n} from \"@/components/ui/breadcrumb\"\nimport { SidebarInset, SidebarProvider } from \"@/components/ui/sidebar\"\n\nexport default function Page() {\n  return (\n    <div className=\"bg-sidebar flex h-screen w-full flex-col overflow-hidden\">\n      <AppHeader />\n      <div className=\"flex flex-1 overflow-hidden pt-12\">\n        <SidebarProvider\n          className=\"min-h-0 !pr-0\"\n          style={\n            {\n              \"--sidebar-width\": \"15.25rem\",\n              \"--sidebar-width-mobile\": \"15.25rem\",\n            } as React.CSSProperties\n          }\n        >\n          <AppSidebar />\n          <div className=\"flex flex-1 overflow-hidden py-3 sm:pr-3\">\n            <SidebarInset\n              className=\"flex flex-1 flex-col overscroll-none rounded-sm border md:shadow-[0_1px_2px_0_rgba(0,0,0,0.03),0_1px_3px_0_rgba(0,0,0,0.04)] dark:md:shadow-[0_1px_2px_0_rgba(0,0,0,0.2),0_1px_3px_0_rgba(0,0,0,0.15)]\"\n              style={{\n                WebkitOverflowScrolling: \"auto\",\n                overscrollBehavior: \"none\",\n              }}\n            >\n              <header className=\"flex h-16 shrink-0 items-center gap-2 overscroll-none border-b\">\n                <div className=\"flex items-center gap-2 px-4\">\n                  <Breadcrumb>\n                    <BreadcrumbList>\n                      <BreadcrumbItem className=\"hidden md:block\">\n                        <BreadcrumbLink href=\"#\">\n                          Building Your Application\n                        </BreadcrumbLink>\n                      </BreadcrumbItem>\n                      <BreadcrumbSeparator className=\"hidden md:block\" />\n                      <BreadcrumbItem>\n                        <BreadcrumbPage>Data Fetching</BreadcrumbPage>\n                      </BreadcrumbItem>\n                    </BreadcrumbList>\n                  </Breadcrumb>\n                </div>\n              </header>\n              <div\n                className=\"flex flex-1 flex-col gap-4 overflow-y-auto overscroll-none p-4 pb-8 [scrollbar-color:rgb(163_163_163_/_0.5)_transparent] [scrollbar-width:thin] [&::-webkit-scrollbar]:h-1.5 [&::-webkit-scrollbar]:w-1.5 [&::-webkit-scrollbar-thumb]:rounded-full [&::-webkit-scrollbar-thumb]:bg-[rgb(163_163_163_/_0.5)] hover:[&::-webkit-scrollbar-thumb]:bg-[rgb(163_163_163_/_0.7)] [&::-webkit-scrollbar-track]:bg-transparent\"\n                style={{\n                  WebkitOverflowScrolling: \"auto\",\n                  overscrollBehavior: \"none\",\n                }}\n              >\n                <div className=\"grid auto-rows-min gap-4 md:grid-cols-3\">\n                  <div className=\"bg-muted/50 aspect-video rounded-xl\" />\n                  <div className=\"bg-muted/50 aspect-video rounded-xl\" />\n                  <div className=\"bg-muted/50 aspect-video rounded-xl\" />\n                </div>\n                <div className=\"bg-muted/50 min-h-[100vh] flex-1 rounded-xl md:min-h-min\" />\n                <div className=\"grid auto-rows-min gap-4 md:grid-cols-2\">\n                  <div className=\"bg-muted/50 aspect-square rounded-xl\" />\n                  <div className=\"bg-muted/50 aspect-square rounded-xl\" />\n                </div>\n                <div className=\"bg-muted/50 h-[400px] rounded-xl\" />\n                <div className=\"grid auto-rows-min gap-4 md:grid-cols-4\">\n                  <div className=\"bg-muted/50 aspect-video rounded-xl\" />\n                  <div className=\"bg-muted/50 aspect-video rounded-xl\" />\n                  <div className=\"bg-muted/50 aspect-video rounded-xl\" />\n                  <div className=\"bg-muted/50 aspect-video rounded-xl\" />\n                </div>\n                <div className=\"bg-muted/50 h-[600px] rounded-xl\" />\n              </div>\n            </SidebarInset>\n          </div>\n        </SidebarProvider>\n      </div>\n    </div>\n  )\n}\n",
      "type": "registry:page",
      "target": "app/admin-inset-layout/page.tsx"
    },
    {
      "path": "blocks/admin-inset-layout/components/app-sidebar.tsx",
      "content": "\"use client\"\n\nimport * as React from \"react\"\nimport {\n  BookOpen,\n  Bot,\n  Frame,\n  LifeBuoy,\n  Map,\n  PieChart,\n  Send,\n  Settings2,\n  SquareTerminal,\n} from \"lucide-react\"\n\nimport { NavMain } from \"@/components/nav-main\"\nimport { NavProjects } from \"@/components/nav-projects\"\nimport { NavResources } from \"@/components/nav-resources\"\nimport { NavSecondary } from \"@/components/nav-secondary\"\nimport { NavUser } from \"@/components/nav-user\"\nimport { SearchCommand } from \"@/components/search-command\"\nimport { ScrollFadeEffect } from \"@/components/ui/scroll-fade-effect\"\nimport {\n  Sidebar,\n  SidebarContent,\n  SidebarFooter,\n} from \"@/components/ui/sidebar\"\n\nconst data = {\n  user: {\n    name: \"pprunty\",\n    email: \"m@example.com\",\n    avatar: \"https://patrickprunty.com/icon.webp\",\n  },\n  navMain: [\n    {\n      title: \"Playground\",\n      url: \"#\",\n      icon: SquareTerminal,\n      isActive: true,\n      items: [\n        {\n          title: \"History\",\n          url: \"#\",\n        },\n        {\n          title: \"Starred\",\n          url: \"#\",\n        },\n        {\n          title: \"Settings\",\n          url: \"#\",\n        },\n      ],\n    },\n    {\n      title: \"Models\",\n      url: \"#\",\n      icon: Bot,\n      items: [\n        {\n          title: \"Genesis\",\n          url: \"#\",\n        },\n        {\n          title: \"Explorer\",\n          url: \"#\",\n        },\n        {\n          title: \"Quantum\",\n          url: \"#\",\n        },\n      ],\n    },\n    {\n      title: \"Documentation\",\n      url: \"#\",\n      icon: BookOpen,\n      items: [\n        {\n          title: \"Introduction\",\n          url: \"#\",\n        },\n        {\n          title: \"Get Started\",\n          url: \"#\",\n        },\n        {\n          title: \"Tutorials\",\n          url: \"#\",\n        },\n        {\n          title: \"Changelog\",\n          url: \"#\",\n        },\n      ],\n    },\n    {\n      title: \"Settings\",\n      url: \"#\",\n      icon: Settings2,\n      items: [\n        {\n          title: \"General\",\n          url: \"#\",\n        },\n        {\n          title: \"Team\",\n          url: \"#\",\n        },\n        {\n          title: \"Billing\",\n          url: \"#\",\n        },\n        {\n          title: \"Limits\",\n          url: \"#\",\n        },\n      ],\n    },\n    {\n      title: \"Analytics\",\n      url: \"#\",\n      icon: Bot,\n      items: [\n        {\n          title: \"Overview\",\n          url: \"#\",\n        },\n        {\n          title: \"Reports\",\n          url: \"#\",\n        },\n        {\n          title: \"Insights\",\n          url: \"#\",\n        },\n      ],\n    },\n    {\n      title: \"Integrations\",\n      url: \"#\",\n      icon: BookOpen,\n      items: [\n        {\n          title: \"Apps\",\n          url: \"#\",\n        },\n        {\n          title: \"Webhooks\",\n          url: \"#\",\n        },\n        {\n          title: \"API Keys\",\n          url: \"#\",\n        },\n      ],\n    },\n    {\n      title: \"Security\",\n      url: \"#\",\n      icon: Settings2,\n      items: [\n        {\n          title: \"Authentication\",\n          url: \"#\",\n        },\n        {\n          title: \"Permissions\",\n          url: \"#\",\n        },\n        {\n          title: \"Audit Log\",\n          url: \"#\",\n        },\n      ],\n    },\n  ],\n  navSecondary: [\n    {\n      title: \"Support\",\n      url: \"#\",\n      icon: LifeBuoy,\n    },\n    {\n      title: \"Feedback\",\n      url: \"#\",\n      icon: Send,\n    },\n  ],\n  resources: [\n    {\n      title: \"Status\",\n      url: \"#\",\n    },\n    {\n      title: \"Changelog\",\n      url: \"#\",\n    },\n    {\n      title: \"Pricing\",\n      url: \"#\",\n    },\n    {\n      title: \"Documentation\",\n      url: \"#\",\n    },\n    {\n      title: \"API Reference\",\n      url: \"#\",\n    },\n    {\n      title: \"Community\",\n      url: \"#\",\n    },\n    {\n      title: \"Blog\",\n      url: \"#\",\n    },\n    {\n      title: \"Careers\",\n      url: \"#\",\n    },\n  ],\n  projects: [\n    {\n      name: \"Design Engineering\",\n      url: \"#\",\n      icon: Frame,\n    },\n    {\n      name: \"Sales & Marketing\",\n      url: \"#\",\n      icon: PieChart,\n    },\n    {\n      name: \"Travel\",\n      url: \"#\",\n      icon: Map,\n    },\n  ],\n}\n\nexport function AppSidebar({ ...props }: React.ComponentProps<typeof Sidebar>) {\n  return (\n    <Sidebar\n      variant=\"inset\"\n      className=\"[&_[data-slot='sidebar-container']]:pr-0 [&_[data-slot='sidebar-container']]:pl-2\"\n      {...props}\n    >\n      <div className=\"h-14 shrink-0\" />\n      <div className=\"shrink-0 px-2 pb-2\">\n        <SearchCommand />\n      </div>\n      <SidebarContent className=\"gap-1\">\n        <ScrollFadeEffect\n          intensity={48}\n          className=\"overscroll-none [scrollbar-color:rgb(163_163_163_/_0.5)_transparent] [scrollbar-width:thin] [&::-webkit-scrollbar]:h-1.5 [&::-webkit-scrollbar]:w-1.5 [&::-webkit-scrollbar-thumb]:rounded-full [&::-webkit-scrollbar-thumb]:bg-[rgb(163_163_163_/_0.5)] hover:[&::-webkit-scrollbar-thumb]:bg-[rgb(163_163_163_/_0.7)] [&::-webkit-scrollbar-track]:bg-transparent\"\n        >\n          <NavMain items={data.navMain} />\n          <NavResources items={data.resources} />\n          <NavProjects projects={data.projects} />\n          <NavSecondary items={data.navSecondary} className=\"mt-auto\" />\n        </ScrollFadeEffect>\n      </SidebarContent>\n      <SidebarFooter>\n        <NavUser user={data.user} />\n      </SidebarFooter>\n    </Sidebar>\n  )\n}\n",
      "type": "registry:component",
      "target": "components/app-sidebar.tsx"
    },
    {
      "path": "blocks/admin-inset-layout/components/app-header.tsx",
      "content": "\"use client\"\n\nimport { Button } from \"@/components/ui/button\"\nimport {\n  DropdownMenu,\n  DropdownMenuContent,\n  DropdownMenuItem,\n  DropdownMenuTrigger,\n} from \"@/components/ui/dropdown-menu\"\n\nexport function AppHeader() {\n  return (\n    <header className=\"bg-sidebar fixed top-0 z-50 w-full\">\n      <div className=\"flex h-14 w-full items-center justify-between px-4\">\n        <div className=\"flex items-center\">\n          <h1 className=\"text-xl font-semibold sm:pl-2\">Delta UI Platform</h1>\n        </div>\n        <div className=\"flex items-center gap-6\">\n          <nav className=\"hidden items-center gap-6 md:flex\">\n            <a\n              href=\"#\"\n              className=\"text-muted-foreground hover:text-foreground text-sm transition-colors\"\n            >\n              Docs\n            </a>\n            <a\n              href=\"#\"\n              className=\"text-muted-foreground hover:text-foreground text-sm transition-colors\"\n            >\n              API reference\n            </a>\n          </nav>\n          <div className=\"flex items-center gap-2\">\n            <Button variant=\"outline\" size=\"sm\">\n              Log in\n            </Button>\n            <Button size=\"sm\">Sign up</Button>\n            <DropdownMenu>\n              <DropdownMenuTrigger asChild>\n                <Button variant=\"ghost\" size=\"sm\" className=\"h-8 w-8 p-0\">\n                  <svg\n                    width=\"1em\"\n                    height=\"1em\"\n                    viewBox=\"0 0 24 24\"\n                    fill=\"currentColor\"\n                  >\n                    <path d=\"M3 8a1 1 0 0 1 1-1h16a1 1 0 1 1 0 2H4a1 1 0 0 1-1-1Zm0 8a1 1 0 0 1 1-1h10a1 1 0 1 1 0 2H4a1 1 0 0 1-1-1Z\"></path>\n                  </svg>\n                  <span className=\"sr-only\">Open menu</span>\n                </Button>\n              </DropdownMenuTrigger>\n              <DropdownMenuContent align=\"end\">\n                <DropdownMenuItem>Help</DropdownMenuItem>\n                <DropdownMenuItem>Pricing</DropdownMenuItem>\n                <DropdownMenuItem>Manage cookies</DropdownMenuItem>\n              </DropdownMenuContent>\n            </DropdownMenu>\n          </div>\n        </div>\n      </div>\n    </header>\n  )\n}\n",
      "type": "registry:component",
      "target": "components/app-header.tsx"
    },
    {
      "path": "blocks/admin-inset-layout/components/nav-main.tsx",
      "content": "\"use client\"\n\nimport { ChevronRight, type LucideIcon } from \"lucide-react\"\n\nimport {\n  Collapsible,\n  CollapsibleContent,\n  CollapsibleTrigger,\n} from \"@/components/ui/collapsible\"\nimport {\n  SidebarGroup,\n  SidebarGroupLabel,\n  SidebarMenu,\n  SidebarMenuAction,\n  SidebarMenuButton,\n  SidebarMenuItem,\n  SidebarMenuSub,\n  SidebarMenuSubButton,\n  SidebarMenuSubItem,\n} from \"@/components/ui/sidebar\"\n\nexport function NavMain({\n  items,\n}: {\n  items: {\n    title: string\n    url: string\n    icon: LucideIcon\n    isActive?: boolean\n    items?: {\n      title: string\n      url: string\n    }[]\n  }[]\n}) {\n  return (\n    <SidebarGroup>\n      <SidebarGroupLabel className=\"text-foreground font-medium\">\n        Platform\n      </SidebarGroupLabel>\n      <SidebarMenu className=\"gap-0\">\n        {items.map((item) => (\n          <Collapsible key={item.title} asChild defaultOpen={item.isActive}>\n            <SidebarMenuItem>\n              <SidebarMenuButton asChild tooltip={item.title} className=\"gap-1\">\n                <a href={item.url}>\n                  <span>{item.title}</span>\n                </a>\n              </SidebarMenuButton>\n              {item.items?.length ? (\n                <>\n                  <CollapsibleTrigger asChild>\n                    <SidebarMenuAction className=\"data-[state=open]:rotate-90\">\n                      <ChevronRight />\n                      <span className=\"sr-only\">Toggle</span>\n                    </SidebarMenuAction>\n                  </CollapsibleTrigger>\n                  <CollapsibleContent>\n                    <SidebarMenuSub className=\"gap-0\">\n                      {item.items?.map((subItem) => (\n                        <SidebarMenuSubItem key={subItem.title}>\n                          <SidebarMenuSubButton asChild>\n                            <a href={subItem.url}>\n                              <span>{subItem.title}</span>\n                            </a>\n                          </SidebarMenuSubButton>\n                        </SidebarMenuSubItem>\n                      ))}\n                    </SidebarMenuSub>\n                  </CollapsibleContent>\n                </>\n              ) : null}\n            </SidebarMenuItem>\n          </Collapsible>\n        ))}\n      </SidebarMenu>\n    </SidebarGroup>\n  )\n}\n",
      "type": "registry:component",
      "target": "components/nav-main.tsx"
    },
    {
      "path": "blocks/admin-inset-layout/components/nav-projects.tsx",
      "content": "\"use client\"\n\nimport {\n  Folder,\n  MoreHorizontal,\n  Share,\n  Trash2,\n  type LucideIcon,\n} from \"lucide-react\"\n\nimport {\n  DropdownMenu,\n  DropdownMenuContent,\n  DropdownMenuItem,\n  DropdownMenuSeparator,\n  DropdownMenuTrigger,\n} from \"@/components/ui/dropdown-menu\"\nimport {\n  SidebarGroup,\n  SidebarGroupLabel,\n  SidebarMenu,\n  SidebarMenuAction,\n  SidebarMenuButton,\n  SidebarMenuItem,\n  useSidebar,\n} from \"@/components/ui/sidebar\"\n\nexport function NavProjects({\n  projects,\n}: {\n  projects: {\n    name: string\n    url: string\n    icon: LucideIcon\n  }[]\n}) {\n  const { isMobile } = useSidebar()\n\n  return (\n    <SidebarGroup className=\"group-data-[collapsible=icon]:hidden\">\n      <SidebarGroupLabel className=\"text-foreground font-medium\">\n        Projects\n      </SidebarGroupLabel>\n      <SidebarMenu className=\"gap-0\">\n        {projects.map((item) => (\n          <SidebarMenuItem key={item.name}>\n            <SidebarMenuButton asChild className=\"gap-1\">\n              <a href={item.url}>\n                <item.icon />\n                <span>{item.name}</span>\n              </a>\n            </SidebarMenuButton>\n            <DropdownMenu>\n              <DropdownMenuTrigger asChild>\n                <SidebarMenuAction showOnHover>\n                  <MoreHorizontal />\n                  <span className=\"sr-only\">More</span>\n                </SidebarMenuAction>\n              </DropdownMenuTrigger>\n              <DropdownMenuContent\n                className=\"w-48\"\n                side={isMobile ? \"bottom\" : \"right\"}\n                align={isMobile ? \"end\" : \"start\"}\n              >\n                <DropdownMenuItem>\n                  <Folder className=\"text-muted-foreground\" />\n                  <span>View Project</span>\n                </DropdownMenuItem>\n                <DropdownMenuItem>\n                  <Share className=\"text-muted-foreground\" />\n                  <span>Share Project</span>\n                </DropdownMenuItem>\n                <DropdownMenuSeparator />\n                <DropdownMenuItem>\n                  <Trash2 className=\"text-muted-foreground\" />\n                  <span>Delete Project</span>\n                </DropdownMenuItem>\n              </DropdownMenuContent>\n            </DropdownMenu>\n          </SidebarMenuItem>\n        ))}\n        <SidebarMenuItem>\n          <SidebarMenuButton>\n            <MoreHorizontal />\n            <span>More</span>\n          </SidebarMenuButton>\n        </SidebarMenuItem>\n      </SidebarMenu>\n    </SidebarGroup>\n  )\n}\n",
      "type": "registry:component",
      "target": "components/nav-projects.tsx"
    },
    {
      "path": "blocks/admin-inset-layout/components/nav-resources.tsx",
      "content": "import * as React from \"react\"\n\nimport {\n  SidebarGroup,\n  SidebarGroupLabel,\n  SidebarMenu,\n  SidebarMenuButton,\n  SidebarMenuItem,\n} from \"@/components/ui/sidebar\"\n\nexport function NavResources({\n  items,\n}: {\n  items: {\n    title: string\n    url: string\n  }[]\n}) {\n  return (\n    <SidebarGroup className=\"group-data-[collapsible=icon]:hidden\">\n      <SidebarGroupLabel className=\"text-foreground font-medium\">\n        Resources\n      </SidebarGroupLabel>\n      <SidebarMenu className=\"gap-0\">\n        {items.map((item) => (\n          <SidebarMenuItem key={item.title}>\n            <SidebarMenuButton asChild>\n              <a href={item.url}>\n                <span>{item.title}</span>\n              </a>\n            </SidebarMenuButton>\n          </SidebarMenuItem>\n        ))}\n      </SidebarMenu>\n    </SidebarGroup>\n  )\n}\n",
      "type": "registry:component",
      "target": "components/nav-resources.tsx"
    },
    {
      "path": "blocks/admin-inset-layout/components/nav-secondary.tsx",
      "content": "import * as React from \"react\"\nimport { type LucideIcon } from \"lucide-react\"\n\nimport {\n  SidebarGroup,\n  SidebarGroupContent,\n  SidebarMenu,\n  SidebarMenuButton,\n  SidebarMenuItem,\n} from \"@/components/ui/sidebar\"\n\nexport function NavSecondary({\n  items,\n  ...props\n}: {\n  items: {\n    title: string\n    url: string\n    icon: LucideIcon\n  }[]\n} & React.ComponentPropsWithoutRef<typeof SidebarGroup>) {\n  return (\n    <SidebarGroup {...props}>\n      <SidebarGroupContent>\n        <SidebarMenu className=\"gap-0\">\n          {items.map((item) => (\n            <SidebarMenuItem key={item.title}>\n              <SidebarMenuButton asChild size=\"sm\" className=\"gap-1\">\n                <a href={item.url}>\n                  <item.icon />\n                  <span>{item.title}</span>\n                </a>\n              </SidebarMenuButton>\n            </SidebarMenuItem>\n          ))}\n        </SidebarMenu>\n      </SidebarGroupContent>\n    </SidebarGroup>\n  )\n}\n",
      "type": "registry:component",
      "target": "components/nav-secondary.tsx"
    },
    {
      "path": "blocks/admin-inset-layout/components/nav-user.tsx",
      "content": "\"use client\"\n\nimport {\n  BadgeCheck,\n  Bell,\n  ChevronsUpDown,\n  CreditCard,\n  LogOut,\n  Sparkles,\n} from \"lucide-react\"\n\nimport {\n  Avatar,\n  AvatarFallback,\n  AvatarImage,\n} from \"@/components/ui/avatar\"\nimport {\n  DropdownMenu,\n  DropdownMenuContent,\n  DropdownMenuGroup,\n  DropdownMenuItem,\n  DropdownMenuLabel,\n  DropdownMenuSeparator,\n  DropdownMenuTrigger,\n} from \"@/components/ui/dropdown-menu\"\nimport {\n  SidebarMenu,\n  SidebarMenuButton,\n  SidebarMenuItem,\n  useSidebar,\n} from \"@/components/ui/sidebar\"\n\nexport function NavUser({\n  user,\n}: {\n  user: {\n    name: string\n    email: string\n    avatar: string\n  }\n}) {\n  const { isMobile } = useSidebar()\n\n  return (\n    <SidebarMenu>\n      <SidebarMenuItem>\n        <DropdownMenu>\n          <DropdownMenuTrigger asChild>\n            <SidebarMenuButton\n              size=\"lg\"\n              className=\"data-[state=open]:bg-sidebar-accent data-[state=open]:text-sidebar-accent-foreground gap-1\"\n            >\n              <Avatar className=\"h-8 w-8 rounded-lg\">\n                <AvatarImage src={user.avatar} alt={user.name} />\n                <AvatarFallback className=\"rounded-lg\">CN</AvatarFallback>\n              </Avatar>\n              <div className=\"grid flex-1 text-left text-sm leading-tight\">\n                <span className=\"truncate font-medium\">{user.name}</span>\n                <span className=\"truncate text-xs\">{user.email}</span>\n              </div>\n              <ChevronsUpDown className=\"ml-auto size-4\" />\n            </SidebarMenuButton>\n          </DropdownMenuTrigger>\n          <DropdownMenuContent\n            className=\"w-(--radix-dropdown-menu-trigger-width) min-w-56 rounded-lg\"\n            side={isMobile ? \"bottom\" : \"right\"}\n            align=\"end\"\n            sideOffset={4}\n          >\n            <DropdownMenuLabel className=\"p-0 font-normal\">\n              <div className=\"flex items-center gap-2 px-1 py-1.5 text-left text-sm\">\n                <Avatar className=\"h-8 w-8 rounded-lg\">\n                  <AvatarImage src={user.avatar} alt={user.name} />\n                  <AvatarFallback className=\"rounded-lg\">CN</AvatarFallback>\n                </Avatar>\n                <div className=\"grid flex-1 text-left text-sm leading-tight\">\n                  <span className=\"truncate font-medium\">{user.name}</span>\n                  <span className=\"truncate text-xs\">{user.email}</span>\n                </div>\n              </div>\n            </DropdownMenuLabel>\n            <DropdownMenuSeparator />\n            <DropdownMenuGroup>\n              <DropdownMenuItem>\n                <Sparkles />\n                Upgrade to Pro\n              </DropdownMenuItem>\n            </DropdownMenuGroup>\n            <DropdownMenuSeparator />\n            <DropdownMenuGroup>\n              <DropdownMenuItem>\n                <BadgeCheck />\n                Account\n              </DropdownMenuItem>\n              <DropdownMenuItem>\n                <CreditCard />\n                Billing\n              </DropdownMenuItem>\n              <DropdownMenuItem>\n                <Bell />\n                Notifications\n              </DropdownMenuItem>\n            </DropdownMenuGroup>\n            <DropdownMenuSeparator />\n            <DropdownMenuItem variant=\"destructive\">\n              <LogOut />\n              Log out\n            </DropdownMenuItem>\n          </DropdownMenuContent>\n        </DropdownMenu>\n      </SidebarMenuItem>\n    </SidebarMenu>\n  )\n}\n",
      "type": "registry:component",
      "target": "components/nav-user.tsx"
    },
    {
      "path": "blocks/admin-inset-layout/components/search-command.tsx",
      "content": "\"use client\"\n\nimport * as React from \"react\"\nimport { CornerDownLeftIcon, Search } from \"lucide-react\"\n\nimport { Button } from \"@/components/ui/button\"\nimport {\n  Command,\n  CommandEmpty,\n  CommandInput,\n  CommandList,\n} from \"@/components/ui/command\"\nimport {\n  Dialog,\n  DialogContent,\n  DialogDescription,\n  DialogHeader,\n  DialogTitle,\n  DialogTrigger,\n} from \"@/components/ui/dialog\"\n\nexport function SearchCommand() {\n  const [open, setOpen] = React.useState(false)\n\n  React.useEffect(() => {\n    const down = (e: KeyboardEvent) => {\n      if (e.key === \"k\" && (e.metaKey || e.ctrlKey)) {\n        if (\n          (e.target instanceof HTMLElement && e.target.isContentEditable) ||\n          e.target instanceof HTMLInputElement ||\n          e.target instanceof HTMLTextAreaElement ||\n          e.target instanceof HTMLSelectElement\n        ) {\n          return\n        }\n\n        e.preventDefault()\n        setOpen((open) => !open)\n      }\n    }\n\n    document.addEventListener(\"keydown\", down)\n    return () => document.removeEventListener(\"keydown\", down)\n  }, [])\n\n  return (\n    <Dialog open={open} onOpenChange={setOpen}>\n      <DialogTrigger asChild>\n        <Button\n          variant=\"secondary\"\n          className=\"bg-surface text-surface-foreground/60 dark:bg-card relative h-8 w-full justify-start border pl-2.5 font-normal shadow-none\"\n          onClick={() => setOpen(true)}\n        >\n          <Search className=\"mr-2 h-4 w-4\" />\n          <span>Search...</span>\n          <kbd className=\"bg-background text-muted-foreground pointer-events-none ml-auto hidden h-5 items-center justify-center gap-1 rounded border px-1 font-sans text-[0.7rem] font-medium select-none sm:flex\">\n            <span className=\"text-xs\">⌘</span>K\n          </kbd>\n        </Button>\n      </DialogTrigger>\n      <DialogContent\n        showCloseButton={false}\n        className=\"rounded-xl border-none bg-clip-padding p-2 pb-11 shadow-2xl ring-4 ring-neutral-200/80 dark:bg-neutral-900 dark:ring-neutral-800\"\n      >\n        <DialogHeader className=\"sr-only\">\n          <DialogTitle>Search</DialogTitle>\n          <DialogDescription>Search for commands and pages</DialogDescription>\n        </DialogHeader>\n        <Command className=\"**:data-[slot=command-input-wrapper]:bg-input/50 **:data-[slot=command-input-wrapper]:border-input rounded-none bg-transparent **:data-[slot=command-input]:!h-9 **:data-[slot=command-input]:py-0 **:data-[slot=command-input-wrapper]:mb-0 **:data-[slot=command-input-wrapper]:!h-9 **:data-[slot=command-input-wrapper]:rounded-md **:data-[slot=command-input-wrapper]:border\">\n          <CommandInput placeholder=\"Type a command or search...\" />\n          <CommandList>\n            <CommandEmpty>No results found.</CommandEmpty>\n          </CommandList>\n        </Command>\n        <div className=\"text-muted-foreground absolute inset-x-0 bottom-0 z-20 flex h-10 items-center gap-2 rounded-b-xl border-t border-t-neutral-100 bg-neutral-50 px-4 text-xs font-medium dark:border-t-neutral-700 dark:bg-neutral-800\">\n          <div className=\"flex items-center gap-2\">\n            <kbd className=\"bg-background text-muted-foreground pointer-events-none flex h-5 items-center justify-center gap-1 rounded border px-1 font-sans text-[0.7rem] font-medium select-none\">\n              <CornerDownLeftIcon className=\"size-3\" />\n            </kbd>\n            Search\n          </div>\n        </div>\n      </DialogContent>\n    </Dialog>\n  )\n}\n",
      "type": "registry:component",
      "target": "components/search-command.tsx"
    }
  ],
  "meta": {
    "iframeHeight": "800px",
    "container": "",
    "mobile": "component"
  },
  "categories": [
    "layout",
    "dashboard"
  ],
  "type": "registry:block"
}