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/product-frame/ (manifest.json + render.js). Resolved through the layout component chain (runtime surface → theme → optional site override).
Purpose
CSS-only device, browser, or terminal shell for a verified product screenshot or command transcript.
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
Common author-facing props (from manifest): kind, orientation, src, alt, caption, command, output, size, placeholder
Surfaces
layout (and narrow where the theme supports it). Not the document Markdown directive surface.
Public status
released
Fallback
No image → empty frame.
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/product-frame/ |
| Manifest | …/product-frame/manifest.json |
| Renderer | …/product-frame/render.js |
| Internal matrix | docs/aup/capability-matrix.md §3 (internal, non-routed) |
| Matrix row concept | layout-component · product-frame |
Notes
Product landing evidence chrome.
Related
- Components hub — navigation only
- Surfaces hub
- Component resolution
- Use and override components