Skip to main content

Subnav

In-page section tab row (under PageHeader) — not app Navbar. Thin <nav> shell; pair with NavItem placement=subnav (bottom-border active tab).

Subnav ≠ Navbar

  • Navbar — app-level top chrome (brand, global routes, profile). Use <Navbar> + NavItem placement="navbar".
  • Subnav — in-page section tabs under a title (Settings → General / Billing). Use <Subnav> + NavItem placement="subnav".
  • Both use the same NavItem component; placement only changes link styling (pill/underline vs bottom-border tab).

Same labels — different placement (compare)

"General" / "Billing" with placement="navbar" vs placement="subnav".

Navbar item (global header)

Subnav item (section tabs)

Subnav default (section tabs)

Typical composition — PageHeader + Subnav

Subnav sits below the page title, not inside the app navbar.

Settings

Account and workspace preferences.

Tab panel content goes here.

Full stack (where each layer lives)

Top: Navbar (app). Below title: Subnav (page section).

API

PropRequiredTypeDefaultDescription
themeOptionalSiteThemeatelierVisual theme.
ariaLabelOptionalstringSectionLandmark label for the tab row.
childrenOptionalReactNodeNavItem links with placement=subnav (not navbar).