Sidebar
v1.0.9Updated 27 Aug 2026Primary vertical navigation panel. Sections with collapsible groups, item badges, active highlight, and collapsed/expanded states. The "MA" workspace badge centers correctly in collapsed icon-only mode.
Preview
Live · 11 stories▸Why this is recommendednavsidebarmenushell+1
The default, out-of-the-box Sidebar.
- ✓Primary nav of every app page
- ✓A left menu users can shrink to an icon rail and expand back
- Built-in shrink/expand toggle (`collapsible`) — icon rail and back, no consumer state needed
- Collapsible (icon-only) mode, controlled via `collapsed` or uncontrolled
- Grouped sections with separators
- Item badges (count / dot)
- Active route highlight
- Footer slot for user / workspace
- ✕In-page tab navigation (use Tabs)
Install
Ask your agent, or call the MCP tool directly. The resolved bundle is written into your project.
Usage
Tick variants in the left menu — each adds a tab with that variant’s real story source, the same code the preview above renders.
Props
collapsedCollapsed icon-only rail. Pass to control the state; omit with `collapsible` for built-in toggling
—collapsibleRender the built-in shrink/expand footer control (uncontrolled unless `collapsed` is passed)
—defaultCollapsedInitial state when uncontrolled and `collapsible`
—onCollapsedChangeFired when the built-in control toggles
—sectionsGrouped navigation. Each SidebarSection = { title?: ReactNode, links: SidebarLink[] }; a SidebarLink = { label, href, icon, id?, count?, active?, description?, children? } (icon required; nest via children). `description` adds a hover/focus tooltip explaining where the link goes — shown in BOTH expanded and collapsed modes, with the label as its heading; omit it for the previous behaviour (no tooltip while expanded). `title` is a ReactNode so a section heading can carry an affordance beside its name. MCP feedback fb_94f476df.
—activeHrefActive link href, matched against SidebarLink.href for the active highlight
—appBrandBrand/workspace block at the top (label + icon/initials)
—pinnedPinned items rendered above sections; pairs with onPin / onUnpin
—recentRecent items rendered at the bottom of the scroll area
—workspaceWorkspace footer (name + storage meter) above the user block
—userFooter user pill; onUserClick opens an account menu
—labelsi18n overrides merged over DEFAULT_SIDEBAR_LABELS
—