Prodular UI

Page header

Pro

The title area of an app screen: breadcrumb, title, description, a meta row for status and owners, actions on the right and optional tabs on the bottom border.

npx prodular-ui add page-header

Part of Prodular UI Pro. Preview and read the docs freely, install with a license. See pricing

Record page

Breadcrumb, an identity mark, status, owners and renewal in the meta row, three actions and tabs.

NL

Northwind Logistics

Active
MOTL
Maya Okafor and Theo Lindqvist
Scale, 240 seats
Renews Mar 1, 2027

List page

Title, description and actions with a bottom border.

Invoices

Every invoice issued from Ledgerline, including drafts and voided invoices. Amounts are shown in USD.

Anatomy

<PageHeader>  <PageHeaderBreadcrumb>{breadcrumb}</PageHeaderBreadcrumb>  <PageHeaderRow>    <PageHeaderContent>      <PageHeaderTitle>Northwind Logistics</PageHeaderTitle>      <PageHeaderMeta>        <PageHeaderMetaItem><CreditCardIcon />Scale plan</PageHeaderMetaItem>      </PageHeaderMeta>    </PageHeaderContent>    <PageHeaderActions>      <Button variant="outline">Edit</Button>      <Button>Create invoice</Button>    </PageHeaderActions>  </PageHeaderRow>  <PageHeaderTabs>{tabs}</PageHeaderTabs></PageHeader>

Guidance

Use it when

  • The top of every app screen, so titles, actions and tabs sit in the same place everywhere.
  • The meta row for two to four facts people look for first on a record: status, owner, plan, dates.

Avoid

  • More than one primary action. Move the rest to outline buttons or a More menu.
  • A description longer than two lines. Link to docs instead.
  • Putting the page header inside a Card.

Rules for AI agents

Published in llms-full.txt, the registry and the MCP server, so coding agents follow them when they build with this component.

  • Render exactly one PageHeaderTitle per screen. It is the h1.
  • Put actions in PageHeaderActions with the primary button last. Icon-only buttons need aria-label.
  • Use PageHeaderTabs with a Tabs list set to variant="line" for sub-navigation of the record. Do not also pass bordered.
  • Use PageHeaderMetaItem for each fact, with a lucide icon or Avatar first and plain text after. Use Status for state, never a colored text span.
  • Use bordered on list pages without tabs so the header separates from the content below.

API

PageHeader

PropTypeDefaultDescription
borderedbooleanfalseBottom border and padding. Leave off when using PageHeaderTabs.

PageHeaderBreadcrumb

PropTypeDefaultDescription
childrenBreadcrumbSits above the title.

PageHeaderHeading

PropTypeDefaultDescription
childrenReactNodeTitle with an optional avatar, logo or Status on the same line.

PageHeaderMeta

PropTypeDefaultDescription
childrenPageHeaderMetaItem[]A wrapping row of 13px facts.

PageHeaderActions

PropTypeDefaultDescription
childrenButton[]Right-aligned on wide screens, below the title on small ones.

PageHeaderTabs

PropTypeDefaultDescription
childrenTabsLine tabs whose underline sits on the header border.

Installation

The Prodular UI CLI adds the source to components/ui with everything it depends on. In a project that already uses shadcn/ui, the shadcn CLI installs it from the Prodular registry too. See Installation for the first setup.

npx prodular-ui add page-header# or, with the registry in components.jsonnpx shadcn@latest add @prodular/page-header