# Sidebar
> Collapsible app navigation shell with mobile Sheet.
Import from `@aspyn-io/kit`. Scaffold source: `npx shadcn@latest add https://design.aspyn.io/r/sidebar.json`
## Install
```tsx
import {
SidebarProvider,
Sidebar,
SidebarHeader,
SidebarContent,
SidebarFooter,
SidebarGroup,
SidebarGroupLabel,
SidebarGroupContent,
SidebarMenu,
SidebarMenuItem,
SidebarMenuButton,
SidebarTrigger,
SidebarInset,
} from "@aspyn-io/kit";
```
### Sidebar
A full navigation shell: composable groups, menus, and active states, backed by SidebarProvider (keyboard toggle ⌘/Ctrl+B, cookie-persisted state, mobile Sheet).
```tsx
…
Platform
{nav.map((item) => (
{item}
))}
…
{/* page content */}
```
### Sub-menus, badges & actions
Nest SidebarMenuSub for sub-items, SidebarMenuBadge for counts, and SidebarMenuAction for a hover action on a row.
```tsx
Projects
Website
Inbox
12
```
## Notes
- Wrap your app in SidebarProvider and put page content in SidebarInset. Sidebar supports side (left/right), variant (sidebar/floating/inset), and collapsible (offcanvas/icon/none).
- SidebarTrigger toggles it; ⌘/Ctrl+B is wired by default and the open state persists via cookie. On mobile it becomes a Sheet automatically.
- Colors come from a dedicated --as-sidebar-* token set (bg-sidebar, sidebar-accent, sidebar-border…), so the chrome themes independently of the main surface.