@adia-ai/a2ui-corpus 0.7.10 → 0.7.12

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 +91 -5
  3. package/catalog-a2ui_0_9_rules.txt +6 -1
  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 +2 -2
  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.12] — 2026-06-04
4
+
5
+ ### Changed
6
+ - **Corpus re-harvested** — `chunks/` (284 files) + `chunk-embeddings.json` (284 × 1536d) regenerated. One content change (`settings-admin-page`: a `[data-theme]` → `[theme]` reference inside an annotated-HTML comment, from the repo-wide token-attribute rename — see `@adia-ai/web-components`); the rest is a `captured_at`-only refresh.
7
+
8
+ ## [0.7.11] — 2026-06-04
9
+
10
+ ### Changed
11
+ - **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).
12
+
3
13
  ## [0.7.10] — 2026-06-03
4
14
 
5
15
  ### Changed
@@ -10850,7 +10850,7 @@
10850
10850
  },
10851
10851
  "Frame": {
10852
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). All three regions are OPTIONAL and positioned\nby tag + DOM order (Light DOM, no slot projection — ADR-0033), so the\ncommon shape is just <section> + <footer>. Use for tab / 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",
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
10854
  "type": "object",
10855
10855
  "allOf": [
10856
10856
  {
@@ -24754,7 +24754,7 @@
24754
24754
  },
24755
24755
  "ThemePanel": {
24756
24756
  "title": "ThemePanel",
24757
- "description": "Module-tier appearance-preferences control surface. Owns the three knobs\nof the AdiaUI theming contract: [data-theme=<slug>] named themes,\n--a-density / --a-radius-k parametric overrides, and color-scheme\nlight/dark switching, plus optional localStorage persistence behind a\nsmall attribute API.\n\nDrops into any consumer's <popover-ui slot=\"content\"> (the canonical\ncomposition) or directly into a sidebar section. Eight named themes\nship by default; section visibility flips on/off via boolean attributes\n([parametric], [presets], [scheme-toggle]).\n\nPromoted from the duplicated <div id=\"theme-panel\"> block in site/ and\nplaygrounds/admin-shell/ — see docs/specs/theme-panel-module.md.\n",
24757
+ "description": "Module-tier appearance-preferences control surface. Owns the three knobs\nof the AdiaUI theming contract: [theme=<slug>] named themes,\n--a-density / --a-radius-k parametric overrides, and color-scheme\nlight/dark switching, plus optional localStorage persistence behind a\nsmall attribute API.\n\nDrops into any consumer's <popover-ui slot=\"content\"> (the canonical\ncomposition) or directly into a sidebar section. Eight named themes\nship by default; section visibility flips on/off via boolean attributes\n([parametric], [presets], [scheme-toggle]).\n\nPromoted from the duplicated <div id=\"theme-panel\"> block in site/ and\nplaygrounds/admin-shell/ — see docs/specs/theme-panel-module.md.\n",
24758
24758
  "type": "object",
24759
24759
  "allOf": [
24760
24760
  {
@@ -24804,7 +24804,7 @@
24804
24804
  "default": false
24805
24805
  },
24806
24806
  "presets": {
24807
- "description": "Renders the compact / reset / spacious preset row. Each preset\napplies a (density, radius) pair; \"default\" also clears the\n[data-theme] attribute.\n",
24807
+ "description": "Renders the compact / reset / spacious preset row. Each preset\napplies a (density, radius) pair; \"default\" also clears the\n[theme] attribute.\n",
24808
24808
  "type": "boolean",
24809
24809
  "default": false
24810
24810
  },
@@ -24834,12 +24834,12 @@
24834
24834
  "default": "adia-theme-"
24835
24835
  },
24836
24836
  "target": {
24837
- "description": "CSS selector for the element that receives [data-theme] and\n--a-density / --a-radius-k writes. Defaults to :root (the\n<html> element). Scoped targets are useful for preview-pane\ndemos.\n",
24837
+ "description": "CSS selector for the element that receives [theme] and\n--a-density / --a-radius-k writes. Defaults to :root (the\n<html> element). Scoped targets are useful for preview-pane\ndemos.\n",
24838
24838
  "type": "string",
24839
24839
  "default": ":root"
24840
24840
  },
24841
24841
  "themes": {
24842
- "description": "Space-separated list of theme slugs to render as buttons. Author\nmay restrict ([themes=\"default ocean\"]) or extend. Tolerant —\nunknown slugs render a button; clicking applies [data-theme=slug]\nregardless of whether themes.css has a matching block.\n",
24842
+ "description": "Space-separated list of theme slugs to render as buttons. Author\nmay restrict ([themes=\"default ocean\"]) or extend. Tolerant —\nunknown slugs render a button; clicking applies [theme=slug]\nregardless of whether themes.css has a matching block.\n",
24843
24843
  "type": "string",
24844
24844
  "default": "default ocean forest sunset lavender rose slate midnight"
24845
24845
  }
@@ -24943,6 +24943,92 @@
24943
24943
  "version": 1
24944
24944
  }
24945
24945
  },
24946
+ "ThemeProvider": {
24947
+ "title": "ThemeProvider",
24948
+ "description": "Foundation-providing wrapper — adopts the AdiaUI foundation (design tokens +\nresets + page-frame + every primitive's CSS) into the document from anywhere\nin the DOM, so a surface renders fully-styled WITHOUT a hand-wired\n<link rel=\"stylesheet\"> in <head>. Layout-transparent (display: contents): the\nelement owns no box; children lay out as if it weren't there.\n\nMechanism: it imports the constructable-stylesheet twin of web-components.min.css\n(byte-identical to the CDN bundle, emitted from the same build buffer) and\nadopts it once into document.adoptedStyleSheets, deduped — adoption fires at\nmodule load, before paint. Coexists with the render-blocking <link> path; both\ndeliver the same bytes. Use a <link> (-> the CDN web-components.min.css) for\nmulti-page / top-level surfaces (cacheable across navigations, zero flash); use\n<theme-provider> for SPA roots, embedded apps, and dynamic mounts where you do\nnot control <head> (e.g. <embed-shell>, an A2UI surface, a micro-frontend).\n\nTheming: the base foundation is OS light/dark via light-dark() tokens. Two opt-in\nattributes adopt their layer on demand — theme=\"ocean|forest|slate|…\" applies a\nnamed preset (adopts the themes layer; matches the [theme] hook) and\nscale=\"verse|prose\" sets the compact / long-form typographic register (adopts the\nmatching register layer; maps onto the [verse]/[prose] attribute). Each layer is\nfetched only when its attribute is set, so a bare provider stays lean.\nOpt-in infra: NOT in the all-in-one @adia-ai/web-components barrel (it carries\nthe whole foundation); import @adia-ai/web-components/components/theme-provider\nexplicitly. Distinct from <frame-ui> (a layout skeleton, owns no CSS delivery)\nand the page shells (chrome over the same foundation).\n",
24949
+ "type": "object",
24950
+ "allOf": [
24951
+ {
24952
+ "$ref": "#/$defs/ComponentCommon"
24953
+ },
24954
+ {
24955
+ "$ref": "#/$defs/CatalogComponentCommon"
24956
+ }
24957
+ ],
24958
+ "properties": {
24959
+ "theme": {
24960
+ "description": "Named theme preset for the wrapped subtree (default, ocean, forest, sunset, lavender, rose, slate, midnight). Adopts the themes layer on demand + matches the [theme=\"…\"] hook.",
24961
+ "type": "string",
24962
+ "default": ""
24963
+ },
24964
+ "component": {
24965
+ "const": "ThemeProvider"
24966
+ },
24967
+ "scale": {
24968
+ "description": "Typographic / density register for the subtree — \"verse\" (compact) or \"prose\" (long-form). Adopts the matching register layer on demand; maps onto the [verse]/[prose] attribute (additive).",
24969
+ "type": "string",
24970
+ "default": ""
24971
+ }
24972
+ },
24973
+ "required": [
24974
+ "component"
24975
+ ],
24976
+ "unevaluatedProperties": false,
24977
+ "x-adiaui": {
24978
+ "anti_patterns": [],
24979
+ "category": "layout",
24980
+ "composes": [],
24981
+ "events": {},
24982
+ "examples": [
24983
+ {
24984
+ "description": "A client-mounted app root that self-provides the foundation (no head link).",
24985
+ "a2ui": "[\n { \"id\": \"root\", \"component\": \"ThemeProvider\", \"children\": [\"panel\"] },\n { \"id\": \"panel\", \"component\": \"Frame\", \"children\": [\"body\", \"actions\"] },\n { \"id\": \"body\", \"component\": \"Section\", \"children\": [\"copy\"] },\n { \"id\": \"copy\", \"component\": \"Text\", \"variant\": \"body\", \"textContent\": \"Fully styled — no <head> stylesheet link.\" },\n { \"id\": \"actions\", \"component\": \"Footer\", \"children\": [\"go\"] },\n { \"id\": \"go\", \"component\": \"Button\", \"text\": \"Continue\", \"variant\": \"primary\" }\n]",
24986
+ "name": "spa-root"
24987
+ }
24988
+ ],
24989
+ "keywords": [
24990
+ "style",
24991
+ "provider",
24992
+ "foundation",
24993
+ "tokens",
24994
+ "reset",
24995
+ "adopt",
24996
+ "stylesheet",
24997
+ "shell",
24998
+ "embed",
24999
+ "spa"
25000
+ ],
25001
+ "name": "UIThemeProvider",
25002
+ "related": [
25003
+ "Frame",
25004
+ "Card"
25005
+ ],
25006
+ "slots": {},
25007
+ "states": [
25008
+ {
25009
+ "description": "Default — foundation adopted into the document; children rendered.",
25010
+ "name": "idle"
25011
+ }
25012
+ ],
25013
+ "status": "experimental",
25014
+ "synonyms": {
25015
+ "foundation": [
25016
+ "foundation",
25017
+ "tokens",
25018
+ "styles"
25019
+ ],
25020
+ "provider": [
25021
+ "provider",
25022
+ "root",
25023
+ "host"
25024
+ ]
25025
+ },
25026
+ "tag": "theme-provider",
25027
+ "tokens": {},
25028
+ "traits": [],
25029
+ "version": 1
25030
+ }
25031
+ },
24946
25032
  "Timeline": {
24947
25033
  "title": "Timeline",
24948
25034
  "description": "Timeline and step wizard. Two modes: timeline (per-item state) and steps (parent-driven).",
@@ -283,7 +283,7 @@
283
283
 
284
284
  ## Frame
285
285
  - Use <frame-ui> for a scroll-body-with-pinned-footer panel — the <section> scrolls; <header> / <footer> stay fixed.
286
- - Regions are native <header> / <section> / <footer> children, positioned by tag + DOM order. Do NOT add slot= attributes slot is inert in Light DOM.
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
287
  - Most panels need only <section> + <footer>; add <header> only when the panel has its own title or toolbar.
288
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
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.
@@ -707,6 +707,11 @@
707
707
  - Use [rows] to set initial height (default 3) and [resize] (vertical | horizontal | both | none; default vertical) to control user resize. Never substitute a native <textarea> just to get rows / resize.
708
708
  - Enter (without Shift) dispatches a bubbling `submit` event; Shift+Enter inserts a newline. This is unconditional — there is no opt-in/opt-out attribute. For chat composer surfaces wrap inside <chat-composer> + <chat-input-ui> (which adds the send button + model picker + paste-to-attach plumbing on top of the same Enter→submit semantics).
709
709
 
710
+ ## ThemeProvider
711
+ - Wrap a client-mounted surface root (SPA shell, embedded app, dynamic mount) in <theme-provider> so it self-provides the AdiaUI foundation — no <head> stylesheet link required.
712
+ - For multi-page / top-level pages, prefer a render-blocking <link rel="stylesheet" href=".../web-components.min.css"> in <head> instead — cacheable across navigations, styled on the first frame. <theme-provider> and the link deliver byte-identical CSS, so they coexist.
713
+ - Theme the wrapped subtree with theme="ocean" (a named preset) and/or scale="verse|prose" (compact / long-form register) — the provider adopts the matching opt-in layer on demand. The base foundation is OS light/dark automatically. Keep <theme-provider> at/near the mount root — display:contents means an ancestor "> " child selector will not reach its children.
714
+
710
715
  ## TimePicker
711
716
  - `<time-picker-ui>` is the canonical standalone time-of-day picker. Per ADR-0025 NEVER wrap a native `<input type="time">` — segments are contenteditable spans + ElementInternals provides form participation.
712
717
  - `value` MUST be ISO 8601 time `HH:mm` or `HH:mm:ss` (24-hour), or empty string. Localized formats (e.g. "9:30 AM") are not accepted; display formatting is derived from `hour-cycle` regardless of how the value is stored.