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. |