Web Device layout component — not an AUP primitive; not an AUP Web-only widget; not a Markdown directive.
Default-theme package: providers/runtime/web-device/themes/default/components/portal-header/ (manifest.json + render.js). Resolved through the layout component chain (runtime surface → theme → optional site override).
Purpose
Mega-nav portal header with site name and navigation sections.
Boundaries
- Do not call this an AUP primitive or put it under
docs/aup/primitives/. - Do not mix multiple layout components' contracts on this page.
- Manifest props are the author-facing contract; invented props are not portable.
Author entry
layout.aup section
Common author-facing props (from manifest): siteName, nav
Surfaces
layout (and narrow where the theme supports it). Not the document Markdown directive surface.
Public status
released
Fallback
Empty nav needs an explicit empty state.
Sample
No isolated docs-safe live mock on this page. The contract is proven by site pages that mount this unit in layout.aup (or the docs shell). Copy author source from the evidence paths; do not invent props beyond the target manifest.json.
Evidence
| Item | Path |
|---|---|
| Theme package | providers/runtime/web-device/themes/default/components/portal-header/ |
| Manifest | …/portal-header/manifest.json |
| Renderer | …/portal-header/render.js |
| Internal matrix | docs/aup/capability-matrix.md §3 (internal, non-routed) |
| Matrix row concept | layout-component · portal-header |
Notes
May ship with script.js. Not AUP widget app-header.
Related
- Components hub — navigation only
- Surfaces hub
- Component resolution
- Use and override components