
Dialog Component
Components
An animated sidebar with sliding navigation highlights, collapsible layouts, rolling notification badges, and responsive interactions for modern application interfaces.
Sidebar holds destinations, nested groups, badges, and workspace controls in a side panel that collapses to an icon-only rail. The active highlight slides to each new destination, badge counts roll, collapsed tooltips settle elastically, and the panel can be resized on desktop or slid in on mobile.
Use it when an app has several destinations users move between all day, such as project tools, developer consoles, CMSs, and admin panels. Animation should reinforce where users are, not make navigation harder to follow.
Set primary or muted active colours, item roundness, and a bar, dot, or no indicator, plus a header with team switcher, breadcrumbs, and search. Optional effects include sliding highlights, press feedback, rolling text, elastic tooltips, rolling badges, a rotating toggle icon, and a subtle page-scale transition.
A project management platform can keep Inbox, Calendar, and nested project groups in the sidebar. Users collapse it to an icon rail on a dense board, and tooltips identify each icon.
A multi-team SaaS app can use the header’s team switcher, so switching teams updates the workspace name and icon while the active highlight stays clear.
A developer tool can let engineers widen the panel for long service names, while unread incident counts roll on their badges as they change.
Marketing sites, landing pages, and portfolios with a few links are better served by a header or compact menu. Mobile-first products with few destinations may suit bottom navigation more.
It can’t fix weak information architecture, since deep nesting and vague labels stay hard to navigate.
Don’t enable every micro-interaction at once. Each effect should communicate state, not compete for attention.
Use lightweight transitions for collapse, highlights, and tooltips, avoid heavy layout work while resizing, and let the latest route win. Only roll badges when values change, keep nested updates local, and keep page-scale transitions subtle.
Use navigation landmarks, labelled toggle and group controls, current-page state, and accessible names for icon-only items. The ⌘B or Ctrl+B shortcut should support a visible control, and resizing needs a non-drag alternative. On mobile, use a slide-in panel with clear open and close controls and proper focus handling, and with reduced motion simplify highlights, tooltips, badges, and page transitions.
| Prop | Type | Default | Description |
|---|---|---|---|
theme | string | vscode | Colour palette, tooltips included. With Highlight color set to Primary, the active item takes its primary colour. |
mode | string | dark | Light or dark version of the palette. Starts dark. |
resizable | boolean | true | Lets you drag the sidebar's edge to change its width. |
highlightColor | string | primary | Background of the active item. |
itemRounded | string | none | Corner radius of the items and their highlight. |
slideHighlight | boolean | true | The active highlight slides to the newly chosen item instead of jumping. |
activeIndicator | string | bar | Extra mark on the active item. |
pressFeedback | boolean | false | Items squeeze slightly when pressed. |
rollingText | boolean | true | Item labels roll to a second copy on hover. |
elasticTooltips | boolean | false | Tooltips spring out when the sidebar is collapsed to icons. |
rollingNumbers | boolean | true | Badge counts roll to the new number and pop. |
showTeamSwitcher | boolean | false | Shows a team menu at the top of the sidebar. |
spinToggle | boolean | false | The collapse button spins half a turn on hover. |
showBreadcrumb | boolean | true | Shows a breadcrumb and search in the page header. |
scaleContent | boolean | true | Page content scales and fades slightly when you switch pages. |
Sidebar is an animated React navigation component with collapsible layouts, nested groups, sliding active highlights, notification badges, and responsive mobile behaviour.
Yes. It switches between expanded and icon-only states through a toggle or keyboard shortcut.
Yes. ⌘B on macOS and Ctrl+B on Windows toggle the sidebar. Test them for conflicts with existing app shortcuts.
Yes. Edge dragging resizes it on desktop when SidebarRail is present. It isn’t available in the mobile state.
Yes. An optional header team switcher updates the team name and icon, while workspace data and permissions come from the application.
Yes. On small screens it becomes a slide-in panel opened from a menu control or an optional edge swipe.
Need a custom effect? Tell us what to create.