Skip to content

Sidebar

A composable, themeable and accessible sidebar component.

Examples

Default

Main Content
vue
<SidebarProvider>
  <Sidebar>
    <SidebarHeader>
      <h2 class="px-4 text-lg font-semibold tracking-tight">
        Sidebar
      </h2>
    </SidebarHeader>
    <SidebarContent>
      <SidebarMenu>
        <SidebarMenuItem>
           <SidebarMenuButton>Home</SidebarMenuButton>
        </SidebarMenuItem>
        <SidebarMenuItem>
           <SidebarMenuButton>Settings</SidebarMenuButton>
        </SidebarMenuItem>
      </SidebarMenu>
    </SidebarContent>
    <SidebarFooter>
      <p class="px-4 text-xs text-muted-foreground">
         Footer
      </p>
    </SidebarFooter>
  </Sidebar>
  <main class="w-full">
    <div class="p-4">
      <SidebarTrigger />
      <div class="mt-4">
        Main Content
      </div>
    </div>
  </main>
</SidebarProvider>

Props

SidebarProvider

PropTypeDefaultDescription
default-openbooleantrueThe default open state of the sidebar
openbooleantrueThe controlled open state of the sidebar
variant'sidebar' | 'floating' | 'inset''sidebar'The variant of the sidebar
collapsible'offcanvas' | 'icon' | 'none''offcanvas'The collapsible state of the sidebar
PropTypeDefaultDescription
side'left' | 'right''left'The side of the screen the sidebar should appear on
variant'sidebar' | 'floating' | 'inset''sidebar'The variant of the sidebar
collapsible'offcanvas' | 'icon' | 'none''offcanvas'The collapsible state of the sidebar

Slots

SidebarProvider

SlotDescription
defaultThe content of the sidebar provider
SlotDescription
defaultThe content of the sidebar
headerThe header content
contentThe main content
footerThe footer content
railThe rail content

SidebarHeader

SlotDescription
defaultThe header content

SidebarContent

SlotDescription
defaultThe content

SidebarFooter

SlotDescription
defaultThe footer content

SidebarMenu

SlotDescription
defaultThe menu items

SidebarMenuItem

SlotDescription
defaultThe menu item content

SidebarMenuButton

SlotDescription
defaultThe menu button content

SidebarTrigger

SlotDescription
defaultThe trigger content