@adia-ai/a2ui-corpus 0.7.9 → 0.7.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (290) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/catalog-a2ui_0_9.json +121 -56
  3. package/catalog-a2ui_0_9_rules.txt +12 -0
  4. package/chunk-embeddings.json +1 -1
  5. package/chunks/_index.json +1 -1
  6. package/chunks/accordion-settings.json +1 -1
  7. package/chunks/activity-feed.json +1 -1
  8. package/chunks/agent-canvas-shell.json +1 -1
  9. package/chunks/agent-command-palette-search.json +1 -1
  10. package/chunks/agent-reasoning-collapsed.json +1 -1
  11. package/chunks/agent-tool-call-result.json +1 -1
  12. package/chunks/agent-trace-timeline.json +1 -1
  13. package/chunks/ai-streaming-response.json +1 -1
  14. package/chunks/alert-banner.json +1 -1
  15. package/chunks/analytics-chart.json +1 -1
  16. package/chunks/analytics-sparklines-dashboard.json +1 -1
  17. package/chunks/api-key-table.json +1 -1
  18. package/chunks/app-product-listing-card.json +1 -1
  19. package/chunks/audit-log.json +1 -1
  20. package/chunks/auth-account-deleted-actions.json +1 -1
  21. package/chunks/auth-account-deleted.json +1 -1
  22. package/chunks/auth-card-content.json +1 -1
  23. package/chunks/auth-card-header.json +1 -1
  24. package/chunks/auth-email-entry.json +1 -1
  25. package/chunks/auth-email-verify-confirm.json +1 -1
  26. package/chunks/auth-email-verify.json +1 -1
  27. package/chunks/auth-forbidden-actions.json +1 -1
  28. package/chunks/auth-forbidden.json +1 -1
  29. package/chunks/auth-invite-actions.json +1 -1
  30. package/chunks/auth-invite-team-card.json +1 -1
  31. package/chunks/auth-link-expired-form.json +1 -1
  32. package/chunks/auth-link-expired.json +1 -1
  33. package/chunks/auth-locked-account.json +1 -1
  34. package/chunks/auth-locked-recovery-options.json +1 -1
  35. package/chunks/auth-mfa-enrollment-submit.json +1 -1
  36. package/chunks/auth-mfa-enrollment.json +1 -1
  37. package/chunks/auth-mfa-fallback-actions.json +1 -1
  38. package/chunks/auth-mfa-recovery.json +1 -1
  39. package/chunks/auth-new-password-form.json +1 -1
  40. package/chunks/auth-new-password.json +1 -1
  41. package/chunks/auth-oauth-fallback-actions.json +1 -1
  42. package/chunks/auth-oauth-interstitial.json +1 -1
  43. package/chunks/auth-password-challenge.json +1 -1
  44. package/chunks/auth-password-reset-form.json +1 -1
  45. package/chunks/auth-password-reset.json +1 -1
  46. package/chunks/auth-profile-form.json +1 -1
  47. package/chunks/auth-profile-setup.json +1 -1
  48. package/chunks/auth-reset-sent.json +1 -1
  49. package/chunks/auth-session-expired-actions.json +1 -1
  50. package/chunks/auth-session-expired.json +1 -1
  51. package/chunks/auth-signin-card-email.json +1 -1
  52. package/chunks/auth-signin-card-magic-link.json +1 -1
  53. package/chunks/auth-signin-card-mfa.json +1 -1
  54. package/chunks/auth-signin-card-otp.json +1 -1
  55. package/chunks/auth-signin-card-password.json +1 -1
  56. package/chunks/auth-signin-card-recovery.json +1 -1
  57. package/chunks/auth-signout-actions.json +1 -1
  58. package/chunks/auth-signout.json +1 -1
  59. package/chunks/auth-signup-email-entry.json +1 -1
  60. package/chunks/auth-signup-entry.json +1 -1
  61. package/chunks/auth-signup-social-auths.json +1 -1
  62. package/chunks/auth-signup-verify.json +1 -1
  63. package/chunks/auth-social-auths.json +1 -1
  64. package/chunks/auth-sso-providers.json +1 -1
  65. package/chunks/auth-sso-required.json +1 -1
  66. package/chunks/auth-team-invite.json +1 -1
  67. package/chunks/avatar-group-overflow.json +1 -1
  68. package/chunks/badge-variants-table.json +1 -1
  69. package/chunks/billing-overview.json +1 -1
  70. package/chunks/billing-progress-label.json +1 -1
  71. package/chunks/blog-post-card.json +1 -1
  72. package/chunks/breadcrumb-navigation.json +1 -1
  73. package/chunks/calendar-month-view.json +1 -1
  74. package/chunks/card-grid-images.json +1 -1
  75. package/chunks/card-header-with-description.json +1 -1
  76. package/chunks/changelog-activity-feed.json +1 -1
  77. package/chunks/chart-with-filter-pills.json +1 -1
  78. package/chunks/chat-page-shell.json +1 -1
  79. package/chunks/chat-streaming-surface.json +1 -1
  80. package/chunks/code-snippet.json +1 -1
  81. package/chunks/color-picker-swatches.json +1 -1
  82. package/chunks/command-palette.json +1 -1
  83. package/chunks/commerce-pricing-tiers.json +1 -1
  84. package/chunks/comparison-table.json +1 -1
  85. package/chunks/contact-form.json +1 -1
  86. package/chunks/conversion-funnel-6step.json +1 -1
  87. package/chunks/dashboard-acquisition-panel.json +1 -1
  88. package/chunks/dashboard-admin-page.json +1 -1
  89. package/chunks/dashboard-audience-kpis.json +1 -1
  90. package/chunks/dashboard-audience-panel.json +1 -1
  91. package/chunks/dashboard-behavior-panel.json +1 -1
  92. package/chunks/dashboard-chart-recent.json +1 -1
  93. package/chunks/dashboard-cohort-retention.json +1 -1
  94. package/chunks/dashboard-conversion-panel.json +1 -1
  95. package/chunks/dashboard-country-list.json +1 -1
  96. package/chunks/dashboard-filter-bar.json +1 -1
  97. package/chunks/dashboard-funnel.json +1 -1
  98. package/chunks/dashboard-notifications-panel.json +1 -1
  99. package/chunks/dashboard-overview-panel.json +1 -1
  100. package/chunks/dashboard-page-header.json +1 -1
  101. package/chunks/dashboard-pages-table.json +1 -1
  102. package/chunks/dashboard-quick-actions.json +1 -1
  103. package/chunks/dashboard-reports-panel.json +1 -1
  104. package/chunks/dashboard-reports-table.json +1 -1
  105. package/chunks/dashboard-storage-card.json +1 -1
  106. package/chunks/dashboard-tabs.json +1 -1
  107. package/chunks/dashboard-team-actions-storage.json +1 -1
  108. package/chunks/dashboard-team-list.json +1 -1
  109. package/chunks/dashboard-traffic-channels.json +1 -1
  110. package/chunks/dashboard-transactions-table.json +1 -1
  111. package/chunks/data-import-wizard.json +1 -1
  112. package/chunks/date-range-picker.json +1 -1
  113. package/chunks/date-time-picker-form.json +1 -1
  114. package/chunks/divider-text-label.json +1 -1
  115. package/chunks/doc-editor-shell.json +1 -1
  116. package/chunks/drawer-2fa-key.json +1 -1
  117. package/chunks/drawer-2fa-sms.json +1 -1
  118. package/chunks/drawer-2fa-totp.json +1 -1
  119. package/chunks/drawer-cancel-sub.json +1 -1
  120. package/chunks/drawer-change-plan.json +1 -1
  121. package/chunks/drawer-custom-roles.json +1 -1
  122. package/chunks/drawer-data-start.json +1 -1
  123. package/chunks/drawer-delete-account.json +1 -1
  124. package/chunks/drawer-delete-workspace.json +1 -1
  125. package/chunks/drawer-discord.json +1 -1
  126. package/chunks/drawer-figma.json +1 -1
  127. package/chunks/drawer-first-dashboard.json +1 -1
  128. package/chunks/drawer-gcal.json +1 -1
  129. package/chunks/drawer-github.json +1 -1
  130. package/chunks/drawer-invite.json +1 -1
  131. package/chunks/drawer-report.json +1 -1
  132. package/chunks/drawer-revoke-session.json +1 -1
  133. package/chunks/drawer-role.json +1 -1
  134. package/chunks/drawer-slack.json +1 -1
  135. package/chunks/drawer-smtp.json +1 -1
  136. package/chunks/drawer-source.json +1 -1
  137. package/chunks/drawer-transaction.json +1 -1
  138. package/chunks/editor-code-pane.json +1 -1
  139. package/chunks/editor-page-shell.json +1 -1
  140. package/chunks/email-inbox-list.json +1 -1
  141. package/chunks/empty-state-danger.json +1 -1
  142. package/chunks/empty-state-minimal.json +1 -1
  143. package/chunks/empty-state-warning.json +1 -1
  144. package/chunks/empty-state.json +1 -1
  145. package/chunks/error-404-actions.json +1 -1
  146. package/chunks/error-404.json +1 -1
  147. package/chunks/error-500-actions.json +1 -1
  148. package/chunks/error-500.json +1 -1
  149. package/chunks/error-maintenance-actions.json +1 -1
  150. package/chunks/error-maintenance.json +1 -1
  151. package/chunks/error-page-shell.json +1 -1
  152. package/chunks/faq-accordion.json +1 -1
  153. package/chunks/feature-grid-icons.json +1 -1
  154. package/chunks/file-upload-dnd.json +1 -1
  155. package/chunks/footer-multi-column.json +1 -1
  156. package/chunks/footer-primary-only.json +1 -1
  157. package/chunks/form-page-shell.json +1 -1
  158. package/chunks/gallery-page-shell.json +1 -1
  159. package/chunks/hero-section-split.json +1 -1
  160. package/chunks/icon-text-row.json +1 -1
  161. package/chunks/image-caption-tile.json +1 -1
  162. package/chunks/image-carousel.json +1 -1
  163. package/chunks/image-upload-preview.json +1 -1
  164. package/chunks/import-mapping-flow.json +1 -1
  165. package/chunks/integrations-grid.json +1 -1
  166. package/chunks/inventory-list-stock.json +1 -1
  167. package/chunks/invite-members.json +1 -1
  168. package/chunks/invoice-line-items.json +1 -1
  169. package/chunks/kanban-board-3col.json +1 -1
  170. package/chunks/kanban-page-shell.json +1 -1
  171. package/chunks/keyboard-shortcut-display.json +1 -1
  172. package/chunks/labeled-textarea.json +1 -1
  173. package/chunks/leaderboard-table.json +1 -1
  174. package/chunks/linked-record-row.json +1 -1
  175. package/chunks/loading-skeleton-placeholder.json +1 -1
  176. package/chunks/marketing-hero-cta.json +1 -1
  177. package/chunks/marketing-page-shell.json +1 -1
  178. package/chunks/masonry-gallery.json +1 -1
  179. package/chunks/member-edit-drawer.json +1 -1
  180. package/chunks/metadata-description-list.json +1 -1
  181. package/chunks/modal-dialog-confirm.json +1 -1
  182. package/chunks/nav-menu-icons.json +1 -1
  183. package/chunks/newsletter-subscription.json +1 -1
  184. package/chunks/notification-badges-feed.json +1 -1
  185. package/chunks/notification-preferences-panel.json +1 -1
  186. package/chunks/notification-toast-row.json +1 -1
  187. package/chunks/onb-completion.json +1 -1
  188. package/chunks/onb-extension-install.json +1 -1
  189. package/chunks/onb-hero-welcome.json +1 -1
  190. package/chunks/onb-import-picker.json +1 -1
  191. package/chunks/onb-mobile-handoff.json +1 -1
  192. package/chunks/onb-notification-prefs.json +1 -1
  193. package/chunks/onb-persona-picker.json +1 -1
  194. package/chunks/onb-provider-tiles.json +1 -1
  195. package/chunks/onb-settings-review.json +1 -1
  196. package/chunks/onb-step-footer.json +1 -1
  197. package/chunks/onb-step-header.json +1 -1
  198. package/chunks/onb-step-progress.json +1 -1
  199. package/chunks/onb-step-shell.json +1 -1
  200. package/chunks/onb-story-pane.json +1 -1
  201. package/chunks/onb-tutorial-steps.json +1 -1
  202. package/chunks/order-tracking-timeline.json +1 -1
  203. package/chunks/pagination-controls.json +1 -1
  204. package/chunks/payment-method-form.json +1 -1
  205. package/chunks/period-comparison.json +1 -1
  206. package/chunks/permission-matrix-table.json +1 -1
  207. package/chunks/playground-a2ui.json +1 -1
  208. package/chunks/playground-app-shell.json +1 -1
  209. package/chunks/playground-chat.json +1 -1
  210. package/chunks/playground-construct-canvas.json +1 -1
  211. package/chunks/playground-css-channel.json +1 -1
  212. package/chunks/playground-gen-ui.json +1 -1
  213. package/chunks/playground-render-preview.json +1 -1
  214. package/chunks/playground-streams-bridge.json +1 -1
  215. package/chunks/playground-table-toolbar.json +1 -1
  216. package/chunks/popover-with-content.json +1 -1
  217. package/chunks/pricing-tiers.json +1 -1
  218. package/chunks/product-tour.json +1 -1
  219. package/chunks/progress-tracker-milestones.json +1 -1
  220. package/chunks/radio-button-group.json +1 -1
  221. package/chunks/real-time-metrics-dashboard.json +1 -1
  222. package/chunks/reg-address-form.json +1 -1
  223. package/chunks/reg-billing-card.json +1 -1
  224. package/chunks/reg-brand-scrape.json +1 -1
  225. package/chunks/reg-departments-toggle.json +1 -1
  226. package/chunks/reg-extended-profile.json +1 -1
  227. package/chunks/reg-final-done.json +1 -1
  228. package/chunks/reg-helpdesk-grid.json +1 -1
  229. package/chunks/reg-import-picker.json +1 -1
  230. package/chunks/reg-integrations-grid.json +1 -1
  231. package/chunks/reg-invite-form.json +1 -1
  232. package/chunks/reg-legal-entity.json +1 -1
  233. package/chunks/reg-org-chart-review.json +1 -1
  234. package/chunks/reg-profile-identity.json +1 -1
  235. package/chunks/reg-step-footer.json +1 -1
  236. package/chunks/reg-step-header.json +1 -1
  237. package/chunks/reg-step-progress.json +1 -1
  238. package/chunks/reg-step-shell.json +1 -1
  239. package/chunks/reg-story-pane.json +1 -1
  240. package/chunks/reg-success-summary.json +1 -1
  241. package/chunks/reg-team-size.json +1 -1
  242. package/chunks/reg-usecase-picker.json +1 -1
  243. package/chunks/reg-workspace-name.json +1 -1
  244. package/chunks/responsive-grid-pattern.json +1 -1
  245. package/chunks/responsive-kpi-grid.json +1 -1
  246. package/chunks/responsive-row-pattern.json +1 -1
  247. package/chunks/responsive-wrap-at-pattern.json +1 -1
  248. package/chunks/revenue-heatmap.json +1 -1
  249. package/chunks/role-management.json +1 -1
  250. package/chunks/search-with-filters.json +1 -1
  251. package/chunks/section-with-stack.json +1 -1
  252. package/chunks/segmented-control-billing-tabs.json +1 -1
  253. package/chunks/select-multiple-preselected.json +1 -1
  254. package/chunks/settings-2fa-setup.json +1 -1
  255. package/chunks/settings-admin-page.json +1 -1
  256. package/chunks/settings-appearance-theme-panel.json +1 -1
  257. package/chunks/settings-appearance.json +1 -1
  258. package/chunks/settings-general-form.json +1 -1
  259. package/chunks/settings-integrations.json +1 -1
  260. package/chunks/settings-members-invite.json +1 -1
  261. package/chunks/settings-page-shell.json +1 -1
  262. package/chunks/settings-privacy.json +1 -1
  263. package/chunks/settings-profile-security.json +1 -1
  264. package/chunks/settings-toggle-switches.json +1 -1
  265. package/chunks/sidebar-nav.json +1 -1
  266. package/chunks/sidebar-navigation-panel.json +1 -1
  267. package/chunks/slider-range-controls.json +1 -1
  268. package/chunks/social-media-post-card.json +1 -1
  269. package/chunks/sortable-search-paginate-table.json +1 -1
  270. package/chunks/split-pane-editor-preview.json +1 -1
  271. package/chunks/stat-cards-kpi-dashboard.json +1 -1
  272. package/chunks/status-dashboard.json +1 -1
  273. package/chunks/stepper-form-wizard.json +1 -1
  274. package/chunks/survey-rating-form.json +1 -1
  275. package/chunks/tabs-with-panels.json +1 -1
  276. package/chunks/tag-chips-filter.json +1 -1
  277. package/chunks/team-members-list.json +1 -1
  278. package/chunks/testimonial-grid.json +1 -1
  279. package/chunks/testimonials-avatar-cards.json +1 -1
  280. package/chunks/timeline-events.json +1 -1
  281. package/chunks/toolbar-icons.json +1 -1
  282. package/chunks/toolbar-tooltips.json +1 -1
  283. package/chunks/tooltip-hover-button.json +1 -1
  284. package/chunks/trial-banner.json +1 -1
  285. package/chunks/user-identity-row.json +1 -1
  286. package/chunks/user-onboarding-checklist.json +1 -1
  287. package/chunks/user-profile-card.json +1 -1
  288. package/chunks/video-player-controls.json +1 -1
  289. package/chunks/webhook-config.json +1 -1
  290. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,15 @@
1
1
  # Changelog — @adia-ai/a2ui-corpus
2
2
 
3
+ ## [0.7.11] — 2026-06-04
4
+
5
+ ### Changed
6
+ - **Corpus re-harvested** — `chunks/` (284 files) + `chunk-embeddings.json` (284 × 1536d) regenerated. `captured_at`-only refresh, **no chunk content change** (the 0.7.11 work was the `<frame-ui>` slot-override, `button-ui` hover, the `resizable` trait corners, the `<embed-shell>` resizable wiring, and the `list-item-ui` / `<preview-ui>` fixes — none are chunk-annotated demo markup; embedding vectors are byte-stable, only the harvest timestamp moved).
7
+
8
+ ## [0.7.10] — 2026-06-03
9
+
10
+ ### Changed
11
+ - **Corpus re-harvested** — `chunks/` (284 files) + `chunk-embeddings.json` (284 × 1536d) regenerated. `captured_at`-only refresh, no chunk content change (v0.7.10 work was the `<frame-ui>` primitive + `list-item-ui` grid + `[verse]` type bump + the new `<embed-shell>` — none are chunk-annotated demo markup).
12
+
3
13
  ## [0.7.9] — 2026-06-03
4
14
 
5
15
  ### Changed
@@ -2372,7 +2372,7 @@
2372
2372
  },
2373
2373
  "AppShell": {
2374
2374
  "title": "AppShell",
2375
- "description": "Behavior-only application shell. Canonical authoring shape uses\ncluster-namespaced bespoke children <admin-topbar> at the top,\n<admin-sidebar slot=\"leading|trailing\"> rails, <admin-content> for\nthe main content region, <admin-command> for the Cmd+K palette, and\noptional <admin-statusbar> at the bottom. The shell wires sidebar\ntoggle forwarding, command-palette triggers, and the ResizeObserver\nthat drives responsive sidebar collapse; each bespoke child owns\nits own resize / collapse / open state-as-attribute semantics per\nADR-0023.\n\nLegacy data-attribute shapes (<aside data-sidebar>, <dialog\ndata-command>, [data-resize], <aside-ui slot=>, <span data-spacer>,\n<div data-actions>) were RETIRED in v0.4.0 per ADR-0024 and are no\nlonger recognized. Consumers must use the bespoke vocabulary.\n",
2375
+ "description": "Embedded multi-surface shell composes a primary [app] surface with secondary\n[panel=\"<name>\"] surfaces the consumer provides, arranging them responsively.\nPeer of <admin-shell>. Content-agnostic: it orchestrates whatever [app] +\n[panel] children it is given (it owns layout, not content), so any embedded app\nsupplies its own surfaces.\n\n>=760px the open panel is an EQUAL 50/50 column beside the app and the frame\ngrows to fit; <760px it is a cover sheet that slides up over the app (identity\ntransform at rest, so popovers inside still anchor). Clean attribute contract\n(ADR-0024, no data-*): [app], [panel=\"<name>\"], trigger [opens=\"<name>\"],\n[close]; reflects [panel] on the shell + [active] on the open panel.\n",
2376
2376
  "type": "object",
2377
2377
  "allOf": [
2378
2378
  {
@@ -2386,10 +2386,9 @@
2386
2386
  "component": {
2387
2387
  "const": "AppShell"
2388
2388
  },
2389
- "mode": {
2390
- "description": "Layout variant space-separated token set. Recognized tokens:\n rounded — softens content-surface edges (border-radius from --page-content-radius)\n borderless — removes outer chrome borders (content dividers persist)\nThe CSS uses `mode~=\"<token>\"` attribute selectors, so multiple\ntokens combine additively (\"rounded borderless\" = both).\n\nDefault since v0.6.13: \"rounded borderless\". A bare `<admin-shell>`\nwith no `mode` attribute auto-promotes to this pair on connect.\nAuthor-supplied `mode` attributes (including the empty string\n`mode=\"\"` for flat bordered chrome) are respected verbatim.\n",
2391
- "type": "string",
2392
- "default": "rounded borderless"
2389
+ "panel": {
2390
+ "description": "The open panel's name (empty / absent = none). Reflected state. Set it by\nclicking an [opens=\"<name>\"] trigger, dispatching an `embed:open` event, or\ncalling .open(name) / .close() / .toggle(name).\n",
2391
+ "type": "string"
2393
2392
  }
2394
2393
  },
2395
2394
  "required": [
@@ -2401,86 +2400,69 @@
2401
2400
  "category": "layout",
2402
2401
  "composes": [],
2403
2402
  "events": {
2404
- "command-select": {
2405
- "description": "Forwarded from the command palette when an option is chosen.",
2406
- "detail": {
2407
- "value": "string"
2408
- }
2409
- },
2410
- "sidebar-resize": {
2411
- "description": "Fired as a sidebar is dragged; debounced on the trailing edge.",
2403
+ "embed:change": {
2404
+ "description": "Fired after the open panel changes.",
2412
2405
  "detail": {
2413
- "sidebar": "string",
2414
- "width": "number"
2406
+ "panel": "string"
2415
2407
  }
2416
2408
  },
2417
- "sidebar-toggle": {
2418
- "description": "Fired when a sidebar is collapsed or expanded.",
2409
+ "embed:open": {
2410
+ "description": "Request to open or toggle a panel (consumed by the shell).",
2419
2411
  "detail": {
2420
- "expanded": "boolean",
2421
- "sidebar": "string"
2412
+ "panel": "string"
2422
2413
  }
2423
2414
  }
2424
2415
  },
2425
2416
  "examples": [],
2426
2417
  "keywords": [
2427
- "app-shell",
2418
+ "embed",
2428
2419
  "shell",
2429
2420
  "layout",
2430
- "admin",
2431
- "dashboard",
2432
- "sidebar",
2433
- "nav"
2421
+ "panel",
2422
+ "multi-pane",
2423
+ "cover-sheet",
2424
+ "app-shell"
2434
2425
  ],
2435
- "name": "AdminShell",
2426
+ "name": "EmbedShell",
2436
2427
  "related": [
2437
- "Nav",
2438
- "NavGroup",
2439
- "NavItem",
2440
- "Command"
2428
+ "AdminShell",
2429
+ "Frame",
2430
+ "Drawer"
2441
2431
  ],
2442
2432
  "slots": {
2443
- "description": {
2444
- "description": "Secondary metadata inside any chrome bar. Muted + --a-ui-sm size."
2445
- },
2446
2433
  "default": {
2447
- "description": "Bespoke children compose here in document order <admin-topbar>, <admin-sidebar slot=\"leading\">, <admin-content> (containing <admin-page> / <admin-page-header> / <admin-page-body>), <admin-sidebar slot=\"trailing\">, <admin-command>, optional <admin-statusbar>. The shell's grid layout reads child tag selectors to place them."
2448
- },
2449
- "action": {
2450
- "description": "Trailing control cluster inside any chrome bar. The first [slot=\"action\"] child pushes itself (and siblings) to the end; subsequent siblings flow with gap."
2451
- },
2452
- "action-leading": {
2453
- "description": "Leading (inline-start) control cluster inside any chrome bar. Pairs with [slot=\"action\"] for dual-cluster chrome (e.g. back button + breadcrumb on the left, primary actions on the right)."
2454
- },
2455
- "heading": {
2456
- "description": "Primary label inside any chrome bar. Medium-weight + strong fg."
2457
- },
2458
- "icon": {
2459
- "description": "Leading glyph inside any chrome bar (<admin-topbar>, <admin-statusbar>, <admin-sidebar> header/footer). Muted color, flex-align."
2434
+ "description": "Document-order children: one [app] primary surface + any number of [panel=\"<name>\"] secondary surfaces. The shell always shows [app] and reveals the open [panel] (50/50 column >=760px, cover sheet <760px). Triggers ([opens], [close]) may live anywhere inside."
2460
2435
  }
2461
2436
  },
2462
2437
  "states": [
2463
2438
  {
2464
- "description": "Default, interactive shell.",
2439
+ "description": "No panel open — the app fills the frame.",
2465
2440
  "name": "idle"
2441
+ },
2442
+ {
2443
+ "description": "A panel is open ([panel=\"<name>\"] reflected; the panel carries [active]).",
2444
+ "name": "open"
2466
2445
  }
2467
2446
  ],
2468
- "status": "stable",
2447
+ "status": "draft",
2469
2448
  "synonyms": {
2470
- "admin": [
2471
- "dashboard",
2449
+ "embed": [
2450
+ "embedded",
2472
2451
  "shell",
2473
- "app-shell"
2452
+ "app-shell",
2453
+ "multi-pane"
2474
2454
  ],
2475
- "dashboard": [
2476
- "admin",
2477
- "shell",
2478
- "app-shell"
2455
+ "panel": [
2456
+ "pane",
2457
+ "sheet",
2458
+ "drawer"
2479
2459
  ]
2480
2460
  },
2481
- "tag": "admin-shell",
2461
+ "tag": "embed-shell",
2482
2462
  "tokens": {},
2483
- "traits": [],
2463
+ "traits": [
2464
+ "resizable"
2465
+ ],
2484
2466
  "version": 1
2485
2467
  }
2486
2468
  },
@@ -10866,6 +10848,89 @@
10866
10848
  "version": 1
10867
10849
  }
10868
10850
  },
10851
+ "Frame": {
10852
+ "title": "Frame",
10853
+ "description": "Sticky-header / scrolling-body / sticky-footer layout frame — the\nchrome-less app-shell skeleton. A flex column that fills its parent's\nblock size: a native <header> child pins to the top, a <footer> child\npins to the bottom, and the <section> child scrolls between them (the\nonly region with overflow). Regions are positioned by tag + DOM order, OR any\nelement can take a region role via slot=\"header|body|footer\" (a CSS [slot] match,\nnot native projection — ADR-0033) — e.g. <section slot=\"header\"> as a pinned rail.\nAll three are OPTIONAL, so the common shape is just <section> + <footer>. Use for\ntab / panel content\nwhere actions stay visible while the body scrolls. Distinct from <card-ui>\n(adds border + elevation + a rich header grid), <drawer-ui> / <modal-ui>\n(add a backdrop + dismiss), and the page shells (<admin-page> / <page-ui>) —\nthose layer chrome over this same region contract. Requires a definite-height\nparent (a flex/grid chain rooted at a viewport height) for the section to\nscroll; in a content-sized parent it collapses to its content (no scroll,\nnot broken).\n",
10854
+ "type": "object",
10855
+ "allOf": [
10856
+ {
10857
+ "$ref": "#/$defs/ComponentCommon"
10858
+ },
10859
+ {
10860
+ "$ref": "#/$defs/CatalogComponentCommon"
10861
+ }
10862
+ ],
10863
+ "properties": {
10864
+ "component": {
10865
+ "const": "Frame"
10866
+ }
10867
+ },
10868
+ "required": [
10869
+ "component"
10870
+ ],
10871
+ "unevaluatedProperties": false,
10872
+ "x-adiaui": {
10873
+ "anti_patterns": [],
10874
+ "category": "layout",
10875
+ "composes": [],
10876
+ "events": {},
10877
+ "examples": [
10878
+ {
10879
+ "description": "Scrolling body with a pinned footer action bar (no header).",
10880
+ "a2ui": "[\n { \"id\": \"root\", \"component\": \"Frame\", \"children\": [\"body\", \"actions\"] },\n { \"id\": \"body\", \"component\": \"Section\", \"children\": [\"copy\"] },\n { \"id\": \"copy\", \"component\": \"Text\", \"variant\": \"body\", \"textContent\": \"Scrollable panel content.\" },\n { \"id\": \"actions\", \"component\": \"Footer\", \"children\": [\"save\"] },\n { \"id\": \"save\", \"component\": \"Button\", \"text\": \"Save\", \"variant\": \"primary\" }\n]",
10881
+ "name": "panel-with-footer"
10882
+ }
10883
+ ],
10884
+ "keywords": [
10885
+ "frame",
10886
+ "panel",
10887
+ "layout",
10888
+ "scroll",
10889
+ "sticky",
10890
+ "footer",
10891
+ "header",
10892
+ "shell",
10893
+ "app",
10894
+ "sheet"
10895
+ ],
10896
+ "name": "UIFrame",
10897
+ "related": [
10898
+ "Card",
10899
+ "Drawer",
10900
+ "Modal",
10901
+ "Col"
10902
+ ],
10903
+ "slots": {},
10904
+ "states": [
10905
+ {
10906
+ "description": "Default, ready for interaction.",
10907
+ "name": "idle"
10908
+ }
10909
+ ],
10910
+ "status": "stable",
10911
+ "synonyms": {
10912
+ "panel": [
10913
+ "panel",
10914
+ "frame",
10915
+ "sheet"
10916
+ ],
10917
+ "scroll": [
10918
+ "scroll",
10919
+ "frame",
10920
+ "body"
10921
+ ],
10922
+ "shell": [
10923
+ "shell",
10924
+ "frame",
10925
+ "app"
10926
+ ]
10927
+ },
10928
+ "tag": "frame-ui",
10929
+ "tokens": {},
10930
+ "traits": [],
10931
+ "version": 1
10932
+ }
10933
+ },
10869
10934
  "GenRoot": {
10870
10935
  "title": "GenRoot",
10871
10936
  "description": "Composition shell for chat + canvas generative UI. Manages layout modes\n(chat-only / split / canvas-only) and delegates a unified API across\nchild chat-ui, canvas-ui, and inspector-ui elements.\n",
@@ -281,6 +281,13 @@
281
281
  - Do NOT wrap children in <row-ui> just to align them — the `justify` prop already lays children out horizontally. A nested row-ui double-applies layout and breaks the chrome's gap tokens.
282
282
  - Prefer flat <button-ui> children. If you need non-button content (text summary, pagination indicator), keep it as a single flat child so `justify` resolves cleanly.
283
283
 
284
+ ## Frame
285
+ - Use <frame-ui> for a scroll-body-with-pinned-footer panel — the <section> scrolls; <header> / <footer> stay fixed.
286
+ - Regions are positioned by tag + DOM order (native <header> / <section> / <footer>) OR by a role slot: slot="header"/"footer" pins ANY element as a rail, slot="body" makes it the scroll region (e.g. <section slot="header"> is a pinned rail). The native tag is the 90% sugar; reach for the slot when the element you want differs from the region role.
287
+ - Most panels need only <section> + <footer>; add <header> only when the panel has its own title or toolbar.
288
+ - For a bordered/elevated surface use <card-ui>; for an overlay use <drawer-ui> / <modal-ui>; for routed page layout use <admin-page> / <page-ui>. frame-ui is the bare layout only.
289
+ - frame-ui fills its parent — give the parent a definite height (a flex/grid chain to a viewport height) or the section will not scroll.
290
+
284
291
  ## Grid
285
292
  - For asymmetric column ratios, use [columns="N"] plus [span="M"] on the child that should be wider. Never set gridTemplateColumns via inline style in compositions — the component's responsive resolver sets it internally for @bp values; direct inline style bypasses that and reads as a local hack.
286
293
  - Canonical ratios: 1:1 → columns="2"; 2:1 → columns="3" + span="2"; 3:1 → columns="4" + span="3"; 3:2 → columns="5" + span="3"+"2"; 4:1 → columns="5" + span="4". Round unusual ratios (e.g. 7:5) to 3:2.
@@ -1095,6 +1102,11 @@ inside <grid-ui>; reach for the page composite only when search
1095
1102
  - All slots optional; common pattern is [slot="heading"] + [slot="action"] only. Empty admin-topbar renders zero-height (no visual chrome).
1096
1103
  - Sits at slot="header" of <admin-shell>, <admin-content>, or <admin-sidebar>; do not place inside <admin-page slot="header"> (use <admin-page-header> there).
1097
1104
 
1105
+ ## AppShell
1106
+ - embed-shell takes exactly one [app] child + any number of [panel="<name>"] children. It owns layout, not content — the consumer supplies the surfaces.
1107
+ - Open a panel with an [opens="<name>"] trigger anywhere inside, or an `embed:open` event; dismiss with [close]. Do not toggle visibility manually — the shell reflects [panel] + sets [active] on the open panel.
1108
+ - Use clean attributes (ADR-0024) — [app], [panel], [opens], [close] — not the legacy data-* shapes.
1109
+
1098
1110
  ## SimpleContent
1099
1111
  - simple-content is the article surface inside simple-shell. Use for primary page body. Sibling to <simple-hero> (optional).
1100
1112
  - CSS-only — do not import its JS module (there isn't one); does not need an `import` in shell HTML.