{ "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "sidebar-06", "title": "Sidebar 06", "description": "A sidebar with submenus as dropdowns.", "registryDependencies": ["sidebar", "breadcrumb", "separator", "card", "dropdown-menu"], "files": [ { "path": "registry/radix-sera/blocks/sidebar-06/page.tsx", "content": "import { AppSidebar } from \"@/registry/radix-sera/blocks/sidebar-06/components/app-sidebar\"\nimport {\n Breadcrumb,\n BreadcrumbItem,\n BreadcrumbLink,\n BreadcrumbList,\n BreadcrumbPage,\n BreadcrumbSeparator,\n} from \"@/registry/radix-sera/ui/breadcrumb\"\nimport { Separator } from \"@/registry/radix-sera/ui/separator\"\nimport {\n SidebarInset,\n SidebarProvider,\n SidebarTrigger,\n} from \"@/registry/radix-sera/ui/sidebar\"\n\nexport default function Page() {\n return (\n \n \n \n
\n \n \n \n \n \n Build Your Application\n \n \n \n Data Fetching\n \n \n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n \n \n )\n}\n", "type": "registry:page", "target": "app/dashboard/page.tsx" }, { "path": "registry/radix-sera/blocks/sidebar-06/components/app-sidebar.tsx", "content": "\"use client\"\n\nimport * as React from \"react\"\n\nimport { NavMain } from \"@/registry/radix-sera/blocks/sidebar-06/components/nav-main\"\nimport { SidebarOptInForm } from \"@/registry/radix-sera/blocks/sidebar-06/components/sidebar-opt-in-form\"\nimport {\n Sidebar,\n SidebarContent,\n SidebarFooter,\n SidebarHeader,\n SidebarMenu,\n SidebarMenuButton,\n SidebarMenuItem,\n SidebarRail,\n} from \"@/registry/radix-sera/ui/sidebar\"\nimport { IconPlaceholder } from \"@/app/(create)/components/icon-placeholder\"\n\n// This is sample data.\nconst data = {\n navMain: [\n {\n title: \"Getting Started\",\n url: \"#\",\n items: [\n {\n title: \"Installation\",\n url: \"#\",\n },\n {\n title: \"Project Structure\",\n url: \"#\",\n },\n ],\n },\n {\n title: \"Build Your Application\",\n url: \"#\",\n items: [\n {\n title: \"Routing\",\n url: \"#\",\n },\n {\n title: \"Data Fetching\",\n url: \"#\",\n isActive: true,\n },\n {\n title: \"Rendering\",\n url: \"#\",\n },\n {\n title: \"Caching\",\n url: \"#\",\n },\n {\n title: \"Styling\",\n url: \"#\",\n },\n {\n title: \"Optimizing\",\n url: \"#\",\n },\n {\n title: \"Configuring\",\n url: \"#\",\n },\n {\n title: \"Testing\",\n url: \"#\",\n },\n {\n title: \"Authentication\",\n url: \"#\",\n },\n {\n title: \"Deploying\",\n url: \"#\",\n },\n {\n title: \"Upgrading\",\n url: \"#\",\n },\n {\n title: \"Examples\",\n url: \"#\",\n },\n ],\n },\n {\n title: \"API Reference\",\n url: \"#\",\n items: [\n {\n title: \"Components\",\n url: \"#\",\n },\n {\n title: \"File Conventions\",\n url: \"#\",\n },\n {\n title: \"Functions\",\n url: \"#\",\n },\n {\n title: \"next.config.js Options\",\n url: \"#\",\n },\n {\n title: \"CLI\",\n url: \"#\",\n },\n {\n title: \"Edge Runtime\",\n url: \"#\",\n },\n ],\n },\n {\n title: \"Architecture\",\n url: \"#\",\n items: [\n {\n title: \"Accessibility\",\n url: \"#\",\n },\n {\n title: \"Fast Refresh\",\n url: \"#\",\n },\n {\n title: \"Next.js Compiler\",\n url: \"#\",\n },\n {\n title: \"Supported Browsers\",\n url: \"#\",\n },\n {\n title: \"Turbopack\",\n url: \"#\",\n },\n ],\n },\n ],\n}\n\nexport function AppSidebar({ ...props }: React.ComponentProps) {\n return (\n \n \n \n \n \n \n
\n \n
\n
\n Documentation\n v1.0.0\n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n \n
\n
\n \n
\n )\n}\n", "type": "registry:component" }, { "path": "registry/radix-sera/blocks/sidebar-06/components/nav-main.tsx", "content": "\"use client\"\n\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuTrigger,\n} from \"@/registry/radix-sera/ui/dropdown-menu\"\nimport {\n SidebarGroup,\n SidebarMenu,\n SidebarMenuButton,\n SidebarMenuItem,\n useSidebar,\n} from \"@/registry/radix-sera/ui/sidebar\"\nimport { IconPlaceholder } from \"@/app/(create)/components/icon-placeholder\"\n\nexport function NavMain({\n items,\n}: {\n items: {\n title: string\n url: string\n icon?: React.ReactNode\n isActive?: boolean\n items?: {\n title: string\n url: string\n }[]\n }[]\n}) {\n const { isMobile } = useSidebar()\n\n return (\n \n \n {items.map((item) => (\n \n \n \n \n {item.title}{\" \"}\n \n \n \n {item.items?.length ? (\n \n {item.items.map((item) => (\n \n {item.title}\n \n ))}\n \n ) : null}\n \n \n ))}\n \n \n )\n}\n", "type": "registry:component" }, { "path": "registry/radix-sera/blocks/sidebar-06/components/sidebar-opt-in-form.tsx", "content": "import { Button } from \"@/registry/radix-sera/ui/button\"\nimport {\n Card,\n CardContent,\n CardDescription,\n CardHeader,\n CardTitle,\n} from \"@/registry/radix-sera/ui/card\"\nimport { SidebarInput } from \"@/registry/radix-sera/ui/sidebar\"\n\nexport function SidebarOptInForm() {\n return (\n \n \n Subscribe to our newsletter\n \n Opt-in to receive updates and news about the sidebar.\n \n \n \n
\n
\n \n \n
\n
\n
\n
\n )\n}\n", "type": "registry:component" } ], "categories": ["sidebar", "dashboard"], "type": "registry:block" }