Sidebar

A responsive navigation sidebar with collapsible sections and mobile support.

navigation
sidebar
menu
layout

Preview

Dashboard

Main content area

Variants

Standard sidebar with navigation sections.

Dashboard

Main content area

Code

TSX
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
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>
    )
  }

API Reference

PropTypeDefaultDescription
variantsidebar | floating | insetsidebarThe variant of the sidebar.
sideleft | rightleftThe side the sidebar appears on.
collapsibleoffcanvas | icon | noneoffcanvasHow the sidebar collapses.
defaultOpenbooleantrueWhether the sidebar is open by default.