AppShell
v1.0.19Updated 20 Oct 2026Top-level frame that arranges Sidebar + Topbar + main content. Every full-page screen in build69 wraps in AppShell.
Preview
Live · 10 stories▸Why this is recommendedlayoutshellframeapp+1
The default, out-of-the-box AppShell.
- ✓Every authenticated page
- ✓Dashboard / list / detail compositions
- ✓Workflow designer and other tool pages
- Composable slots: sidebar, topbar, main, agent bar
- Collapsible sidebar state
- Sidebar hover-expand floating overlay (peek) with pin-to-keep button
- Configurable hover open / close delays
- Sticky topbar + sticky agent bar
- Responsive collapse on narrow viewports
- Mobile drawer closes itself once a sidebar row navigates, including when the host routes client-side (closeDrawerOnNavigate)
- Light & dark mode aware
- i18n: labels prop overrides every built-in UI string (nav toggles, progress bar, pin/resize aria, drawer title) — see AppShellLabels / DEFAULT_APP_SHELL_LABELS
- ✕Public marketing pages (use a bespoke layout)
- ✕Login or other unauthenticated screens
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
sidebarSidebar element
yestopbarTopbar element
—agentBarAgentBar element pinned bottom
—childrenMain content area
yessidebarHoverExpandEnable hover-expand floating overlay when collapsed
—sidebarHoverOpenDelayHover open delay in ms
—sidebarHoverCloseDelayHover close delay in ms
—mobileOpenControl the mobile drawer; omit and AppShell keeps its own state
—onMobileOpenChangeFires whenever the mobile drawer should open or close, including the automatic close after a row navigates
—closeDrawerOnNavigateClose the mobile drawer once a sidebar row has navigated. Default true. A client-side route change is invisible to the shell otherwise, so the drawer and its overlay stayed over the new page
—labelsOverride any built-in UI string — nav toggles, progress bar, pin/resize aria, drawer title (i18n). Merged over DEFAULT_APP_SHELL_LABELS.
—