Dashboard layout with fixed sidebar, top bar, and scrollable content area
<DashboardShell
sidebar={<Sidebar />}
topbar={<Topbar />}
scrollArea="content"
mobileSidebarOpen={mobileSidebarOpen}
onMobileSidebarChange={setMobileSidebarOpen}
>
{children}
</DashboardShell>sidebarReact.ReactNoderequiredSidebar content (navigation)
topbarReact.ReactNodeTop bar content (optional)
scrollArea"content" | "page"default: "content"Scroll behavior (content area only or entire page)
sidebarWidthstringdefault: "16rem"Sidebar width (CSS value)
insetbooleandefault: trueEnable inset padding for content
mobileSidebarOpenbooleanMobile sidebar state (controlled)
onMobileSidebarChange(open: boolean) => voidCallback when mobile sidebar state changes
+12% from last month
+12% from last month
+12% from last month
+12% from last month
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. The content area scrolls independently while the sidebar and topbar remain fixed.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. The content area scrolls independently while the sidebar and topbar remain fixed.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. The content area scrolls independently while the sidebar and topbar remain fixed.