App Shells
Full application shell layouts — collapsible sidebars, dashboard shells, split panes, and command palette wrappers.
App Shell
Full application shell with collapsible sidebar, header actions, mobile drawer, and nested navigation sections.
Dashboard
Welcome back, Alice. Here's what's happening.
import { AppShell } from "@launchapp/design-system/blocks/layout";const navSections = [ { title: "Main", items: [ { label: "Dashboard", href: "/dashboard", isActive: true }, { label: "Analytics", href: "/analytics" }, { label: "Projects", href: "/projects", badge: "3" }, ], }, { title: "Settings", items: [ { label: "Profile", href: "/settings/profile" }, { label: "Billing", href: "/settings/billing" }, ], },];export default function Page() { return ( <AppShell navSections={navSections} user={{ name: "Alice Johnson", email: "alice@example.com", avatarFallback: "AJ" }} collapsible > <div className="p-6">Page content goes here</div> </AppShell> );}Dashboard Layout
Dashboard layout with optional sticky header and 1–3 column arrangements for side panels and main content.
Main Content
Charts and data tables go here.
import { DashboardLayout } from "@launchapp/design-system/blocks/layout";export default function Page() { return ( <DashboardLayout columns={2} header={<div className="px-6 py-3 border-b">Header</div>} leftPanel={<aside className="p-4 border-r">Side panel</aside>} > <div className="p-6">Main content</div> </DashboardLayout> );}Command Palette Shell
App shell with a built-in ⌘K command palette for quick navigation, actions, and search.
Command Palette Shell wraps your app with a ⌘K accessible command palette.
import { CommandPaletteShell } from "@launchapp/design-system/blocks/layout";const groups = [ { id: "navigation", label: "Navigation", actions: [ { id: "dashboard", label: "Dashboard", href: "#", shortcut: "D" }, { id: "settings", label: "Settings", href: "#", shortcut: "S" }, ], },];export default function Page() { return ( <CommandPaletteShell groups={groups} triggerShortcut="k"> <div className="p-6">Press ⌘K to open palette</div> </CommandPaletteShell> );}Split Pane Layout
Resizable split-pane layout supporting horizontal and vertical orientations, with configurable panel sizes.
File tree, navigation, or secondary content.
Primary content, editor, or detail view.
import { SplitPaneLayout } from "@launchapp/design-system/blocks/layout";export default function Page() { return ( <SplitPaneLayout orientation="horizontal" primaryPanel={<div className="p-4 h-full bg-muted/30">Primary panel</div>} secondaryPanel={<div className="p-4 h-full">Secondary panel</div>} defaultSplit={60} /> );}Multi Panel Layout
Flexible multi-panel application layout with configurable pane arrangement.
No preview available
See the code snippet below for usage.
import { MultiPanelLayout } from "@launchapp/design-system/blocks/layout";export default function Page() { return ( <div className="h-[480px]"> <MultiPanelLayout leftPanel={<div className="p-4 h-full bg-muted/30">Navigation / File Tree</div>} mainPanel={<div className="p-4 h-full">Editor / Main Content</div>} rightPanel={<div className="p-4 h-full bg-muted/20">Inspector / Properties</div>} /> </div> );}