App Shell
Full-page layout shell with header, sidebar, main content, and footer slots via CSS grid.
Preview
Import
import { AppShell } from "@sigil-ui/components";Usage
<AppShell
header={<div className="px-4 py-2 text-sm font-medium border-b border-[color:var(--s-border)] bg-[var(--s-surface)]">Header</div>}
sidebar={<div className="p-3 text-xs text-[var(--s-text-muted)]">Sidebar</div>}
sidebarWidth={160}
className="min-h-0 h-48 w-full max-w-2xl border border-[color:var(--s-border)] bg-[var(--s-background)] overflow-hidden"
>
<div className="p-4 text-sm text-[var(--s-text)]">Main content area</div>
</AppShell>Right sidebar
<AppShell sidebar={<nav>Panel</nav>} sidebarPosition="right" sidebarWidth={300}>
Content
</AppShell>Without sidebar
<AppShell header={<header>Header</header>}>
Full-width content area
</AppShell>Props
| Prop | Type | Default | Description |
|---|---|---|---|
header | ReactNode | — | Header content (spans full width) |
sidebar | ReactNode | — | Sidebar content |
footer | ReactNode | — | Footer content (spans full width) |
sidebarWidth | number | string | 256 | Sidebar width (number = px) |
sidebarPosition | "left" | "right" | "left" | Which side the sidebar appears on |
className | string | — | Additional CSS classes |