[!NOTE] Compound component — an opinionated composition of Helix primitives. Composes:
Button,Breadcrumb.
Import
import { PageHeader, PageHeaderBreadcrumb, PageHeaderContent, PageHeaderHeadingGroup, PageHeaderHeading, PageHeaderDescription, PageHeaderActions } from "@timelycare/helix-ui"
Usage
<PageHeader>
<PageHeaderBreadcrumb>
<Breadcrumb>
<BreadcrumbList>
<BreadcrumbItem><BreadcrumbLink href="/">Home</BreadcrumbLink></BreadcrumbItem>
<BreadcrumbSeparator />
<BreadcrumbItem><BreadcrumbPage>Appointments</BreadcrumbPage></BreadcrumbItem>
</BreadcrumbList>
</Breadcrumb>
</PageHeaderBreadcrumb>
<PageHeaderContent>
<PageHeaderHeadingGroup>
<PageHeaderHeading>Appointments</PageHeaderHeading>
<PageHeaderDescription>Manage your upcoming visits</PageHeaderDescription>
</PageHeaderHeadingGroup>
<PageHeaderActions>
<Button>New appointment</Button>
</PageHeaderActions>
</PageHeaderContent>
</PageHeader>
For route-driven breadcrumbs, NavBreadcrumb fills the trail from the same nav items model you pass to AppSidebar:
<PageHeaderBreadcrumb>
<NavBreadcrumb items={navItems} pathname={pathname} trailing={[{ label: client.name }]} />
</PageHeaderBreadcrumb>
NavBreadcrumb derives only the static section → item chain from the route; the nav model can't know a dynamic entity name. On a detail route (e.g. /clients/1074, which resolves to the /clients/list item), pass the entity as trailing — otherwise the resolved list item becomes the terminal (current-page) crumb, so the breadcrumb reads as the list and offers no link back to it. With trailing, the item links back and the dynamic leaf reads as the current page.