Sidebar

A collapsible application sidebar with support for navigation groups, badges, tooltips, and multiple layout variants.

Main content area

Installation

pnpm dlx stera-ui add sidebar

Usage

Wrap your layout with SidebarProvider and use SidebarInset for the main content area.

import {
  Sidebar,
  SidebarContent,
  SidebarGroup,
  SidebarGroupLabel,
  SidebarMenu,
  SidebarMenuItem,
  SidebarMenuButton,
  SidebarProvider,
  SidebarInset,
  SidebarTrigger,
} from "@/components/ui/sidebar"
<SidebarProvider>
  <Sidebar>
    <SidebarContent>
      <SidebarGroup>
        <SidebarGroupLabel>Application</SidebarGroupLabel>
        <SidebarMenu>
          <SidebarMenuItem>
            <SidebarMenuButton isActive render={<a href="/" />}>
              <SiHome />
              <span>Home</span>
            </SidebarMenuButton>
          </SidebarMenuItem>
        </SidebarMenu>
      </SidebarGroup>
    </SidebarContent>
  </Sidebar>
  <SidebarInset>
    <header className="flex h-16 items-center gap-2 border-b px-4">
      <SidebarTrigger />
    </header>
    {/* page content */}
  </SidebarInset>
</SidebarProvider>

With Badge

Main content area

Use SidebarMenuBadge to display a count or status indicator next to a menu item.

Variants

Main content area

The variant prop controls the sidebar's visual style. Use "floating" for a detached sidebar with rounded corners and a shadow.

API Reference

PropTypeDefault
variant"sidebar" | "floating" | "inset""sidebar"
collapsible"offcanvas" | "icon" | "none""offcanvas"
side"left" | "right""left"

SidebarProvider

PropTypeDefault
openboolean
defaultOpenbooleantrue
onOpenChange(open: boolean) => void

SidebarMenuButton

PropTypeDefault
isActivebooleanfalse
size"default" | "sm" | "lg""default"
tooltipstring
renderReactElement

Subcomponents

ComponentDescription
SidebarHeaderTop section of the sidebar
SidebarContentScrollable middle section
SidebarFooterBottom section of the sidebar
SidebarGroupLogical section within SidebarContent
SidebarGroupLabelLabel for a sidebar group
SidebarMenuList of menu items
SidebarMenuItemSingle menu item wrapper
SidebarMenuBadgeCount/status badge on a menu item
SidebarMenuActionAction button shown on hover
SidebarMenuSubNested sub-menu container
SidebarMenuSubItemItem within a sub-menu
SidebarMenuSubButtonButton for a sub-menu item
SidebarMenuSkeletonLoading placeholder for a menu item
SidebarRailThin rail for collapse-to-icon mode
SidebarTriggerButton to toggle the sidebar open/closed
SidebarInsetMain content area paired with the sidebar