A responsive navigation sidebar with collapsible sections and mobile support.
Sidebar Example
Main content area
Standard sidebar with navigation sections.
Sidebar Example
Main content area
import { Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarMenu, SidebarMenuButton, SidebarMenuItem, SidebarProvider, SidebarTrigger } from "@/components/ui/sidebar" import { Home } from "lucide-react" export function SidebarDemo() { return ( <SidebarProvider> <Sidebar> <SidebarHeader> <div className="flex items-center gap-2 px-2"> <p className="text-sm font-semibold">Sidebar Example</p> </div> </SidebarHeader> <SidebarContent> <SidebarGroup> <SidebarGroupLabel>Main Navigation</SidebarGroupLabel> <SidebarGroupContent> <SidebarMenu> <SidebarMenuItem> <SidebarMenuButton isActive tooltip="Dashboard"> <Home className="h-4 w-4" /> <span>Dashboard</span> </SidebarMenuButton> </SidebarMenuItem> </SidebarMenu> </SidebarGroupContent> </SidebarGroup> </SidebarContent> </Sidebar> <div className="flex h-full w-full flex-1 flex-col p-4"> <div className="flex items-center justify-between"> <div className="flex items-center gap-2"> <SidebarTrigger /> <h1 className="text-xl font-semibold">Dashboard</h1> </div> </div> <div className="mt-4"> <p className="text-sm text-muted-foreground">Main content area</p> </div> </div> </SidebarProvider> ) }
Prop | Type | Default | Description |
---|---|---|---|
variant | sidebar | floating | inset | sidebar | The variant of the sidebar. |
side | left | right | left | The side the sidebar appears on. |
collapsible | offcanvas | icon | none | offcanvas | How the sidebar collapses. |
defaultOpen | boolean | true | Whether the sidebar is open by default. |