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*ReactNode—Page content rendered in the main content area.
appNamestring"Aether UI"Product name shown in the sidebar header.
pageTitleReactNode—Title or breadcrumb shown in the topbar.
navGroupsDashboardNavGroup[]—Custom navigation groups. Each group has an optional label and an items array.
userNamestring—User display name shown in the sidebar footer.
userEmailstring—User email or role shown below the name.
userAvatarUrlstring—Avatar image URL for the user section.
headerActionsReactNode—Extra actions rendered in the topbar right slot.
classNamestring—Additional 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.