Sidebar

A collapsible sidebar for navigation. Plays open and close sounds.

A collapsible sidebar for navigation. The sensory-ui Sidebar plays sounds when expanding and collapsing, reinforcing the structural movement.

Pattern: Open sound / close sound (props live on SidebarProvider)

Demo

Live demoSwitch sound packs to compare
OverviewProfileSettings
Sidebar open

Installation

npx shadcn@latest add SatyamVyas04/sensory-ui/sensory-ui-sidebar

Import

import {
  Sidebar,
  SidebarContent,
  SidebarFooter,
  SidebarGroup,
  SidebarGroupContent,
  SidebarGroupLabel,
  SidebarHeader,
  SidebarInset,
  SidebarMenu,
  SidebarMenuAction,
  SidebarMenuButton,
  SidebarMenuItem,
  SidebarProvider,
  SidebarSeparator,
  SidebarTrigger,
} from "@/components/ui/sensory-ui/sidebar";

Sound Props

PropTypeDefaultDescription
openSoundSoundRole | false"overlay.open"Sound played when the sidebar expands. Set on SidebarProvider.
closeSoundSoundRole | false"overlay.close"Sound played when the sidebar collapses. Set on SidebarProvider.
volumenumber1Per-component volume multiplier (0–1).

Default Sound Role

overlay.open on expand, overlay.close on collapse.

Usage

<SidebarProvider>
  <Sidebar>
    <SidebarHeader />
    <SidebarContent>
      <SidebarGroup>
        <SidebarGroupLabel>Application</SidebarGroupLabel>
        <SidebarGroupContent>
          <SidebarMenu>{/* ... */}</SidebarMenu>
        </SidebarGroupContent>
      </SidebarGroup>
    </SidebarContent>
    <SidebarFooter />
  </Sidebar>
  <SidebarInset>{/* Main content */}</SidebarInset>
</SidebarProvider>

Custom sounds

<SidebarProvider openSound="interaction.confirm" closeSound="interaction.subtle">
  {/* ... */}
</SidebarProvider>

Disable sounds

<SidebarProvider openSound={false} closeSound={false}>
  {/* ... */}
</SidebarProvider>

Customizations

Dashboard sidebar

<SidebarProvider openSound="overlay.open" closeSound="overlay.close">
  <SidebarContent>
    <SidebarGroup>
      <SidebarGroupLabel>Dashboard</SidebarGroupLabel>
      <SidebarMenu>
        <SidebarMenuItem>
          <SidebarMenuButton>Overview</SidebarMenuButton>
        </SidebarMenuItem>
        <SidebarMenuItem>
          <SidebarMenuButton>Analytics</SidebarMenuButton>
        </SidebarMenuItem>
      </SidebarMenu>
    </SidebarGroup>
  </SidebarContent>
</SidebarProvider>

Documentation sidebar

<SidebarProvider openSound="overlay.expand" closeSound="overlay.collapse">
  {/* Collapsible doc sections */}
</SidebarProvider>

Default Props

PropValue
openSound"overlay.open"
closeSound"overlay.close"
volume1

Tasteful Sound Choices

SituationRecommended SoundWhy
Dashboard sidebaroverlay.open / overlay.closeDefault: structural
Documentation sidebaroverlay.expand / overlay.collapseContent expansion
Collapsible sidebarinteraction.tap / interaction.subtleLighter toggle
Silent sidebarfalseFor power users

When to Use

  • Dashboards: Primary navigation sidebar
  • Documentation: Multi-level doc navigation
  • Admin panels: Settings and content navigation
  • Any app with persistent side navigation

Avoid sound on

  • Sidebars that auto-collapse/expand
  • Sidebars with frequent toggle interactions

Event Triggers

EventDefault Sound
Sidebar expandsoverlay.open
Sidebar collapsesoverlay.close

shadcn/ui Reference

View the original Sidebar documentation.