Figma UI kit
Navigation

Header and toolbar

v1.2.1

Identify the page and hold its global actions.

Quick usage

Import the shared component; never copy its markup into a feature. The Web TSX tab beside the live stage has a complete, working example.

import PageHeader from '@/shared/components/PageHeader';

Live stage and code

The live component and its controls on the left, the code on the right; change a control and the code follows: Web TSX (the component in a working example), Tailwind and HTML (the markup it renders, with its data attributes), React Native, SwiftUI and Jetpack Compose. The header theme switch drives every stage.

Props

Read from the component's source when the docs build: names and defaults from its signature, types and descriptions from its JSDoc. A blank type means the prop has no JSDoc yet.

PropTypeDefaultDescription
breadcrumb---
titleReact.ReactNode--
metaReact.ReactNodenullA status chip or a count beside the title.
actionsReact.ReactNodenullButtons, primary last.

Source: frontend/src/shared/components/PageHeader/PageHeader.js

DOM contract

What the rendered element carries: the data attributes its styles key on, its roles and ARIA, its focus style, and whether its stylesheet draws the 44px hit boundary. Also read from the source.

Data attributesdata-ds
RolesNative element semantics only
ARIANone set by the component
FocusNo :focus-visible rule of its own
44px hit boundaryNot a pressable root

Accessibility and touch

All header controls are 32 or 36px.

Header

Visible height 28px. The ::after boundary adds 8px above and below, so a gloved finger lands on a 44px target while the row keeps its density.

Do and avoid

Do
Skid frame rev CWaiting on customer
Do: cap a header status pill at a max-width (130px) and ellipsise inside it.
Avoid
Skid frame rev CWaiting on customer to confirm revised flange spec
Avoid: unconstrained dynamic text. The pill grows into the header controls and pushes them off screen.

Rules and constraints

Use it for

  • Title, stage, the page commit, global utilities.

Avoid

  • Never a 28px button in a page header.
  • Never a status pill that can grow into the controls beside it (gate C20).

Constraints

  • Drawers and side panels sit under the measured header height (gate C24).

More in Navigation