Shells

Dashboard Shell

A full-page SaaS application shell with a collapsible sidebar, topbar with search and notifications, and a flexible content slot. Composable nav groups and user info are passed as props.

HomeDashboard

Revenue

$48,295

+12.5%

Users

2,841

+8.1%

Conversion

3.24%

-0.4%

Uptime

99.9%

0%

import { DashboardShell } from "@aetherstack/blocks"

Installation

terminal
npx aether-ui add dashboard-shell

Import

import.tsx
import { DashboardShell } from "@aetherstack/blocks"

Usage

dashboard-shell.tsx
import { DashboardShell } from "@aetherstack/blocks"

export default function AppLayout({ children }: { children: React.ReactNode }) {
  return (
    <DashboardShell
      appName="Acme"
      pageTitle="Dashboard"
      userName="Alice Martin"
      userEmail="alice@example.com"
    >
      {children}
    </DashboardShell>
  )
}

Props

PropTypeDefaultDescription
children*ReactNodePage content rendered in the main content area.
appNamestring"Aether UI"Product name shown in the sidebar header.
pageTitleReactNodeTitle or breadcrumb shown in the topbar.
navGroupsDashboardNavGroup[]Custom navigation groups. Each group has an optional label and an items array.
userNamestringUser display name shown in the sidebar footer.
userEmailstringUser email or role shown below the name.
userAvatarUrlstringAvatar image URL for the user section.
headerActionsReactNodeExtra actions rendered in the topbar right slot.
classNamestringAdditional classes on the shell wrapper.

* Required

Accessibility

  • The sidebar has role="navigation" with aria-label for screen reader landmark navigation.
  • The mobile menu toggle button has aria-expanded and aria-controls attributes.
  • Keyboard navigation works through the sidebar links with visible focus rings.