Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 11 additions & 2 deletions content/docs/layout/page-header.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -65,8 +65,17 @@ interface PageHeaderComponentProps extends React.HTMLAttributes<HTMLDivElement>

`subtitle` is the canonical key: `@objectstack/spec/ui`'s `PageHeaderProps` — the contract
for the authored `page:header` node — declares `title / subtitle / breadcrumb / actions /
recordChrome / showStar / showCopyId / aria` and has no `description`. Both `title` and
`subtitle` interpolate `{field.path}` tokens against the surrounding record context.
recordChrome / showStar / showCopyId / maxVisible / mobileMaxVisible / aria` and has no
`description`. Both `title` and `subtitle` interpolate `{field.path}` tokens against the
surrounding record context.

`maxVisible` and `mobileMaxVisible` are the canonical node's action-overflow budget, and
they belong to that contract rather than to this component: the `page:header` renderer in
`@object-ui/components` reads them, and `@object-ui/layout`'s `PageHeader` — the component
documented above — does not. The shape describes them as "How many header actions render as
inline buttons before the rest fold into the overflow menu (renderer default 3)" and "The
`maxVisible` budget on mobile viewports (renderer default 1)";
[Slotted pages](/docs/guide/slotted-pages) shows them authored on a page.

`icon` is deliberately **not** in that list, and the distinction matters because this page
documents a React component while the spec governs an authored node. `PageHeaderProps.icon`
Expand Down