@adia-ai/a2ui-corpus 0.7.11 → 0.7.13

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 +11 -1
  2. package/catalog-a2ui_0_9.json +101 -5
  3. package/catalog-a2ui_0_9_rules.txt +5 -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 +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.13] — 2026-06-06
4
+
5
+ ### Changed
6
+ - **Chunk corpus re-harvested** against the current apps/ + site/pages/ surfaces (population-health + embedded-app) — 284 chunks + 1536-d embeddings refreshed.
7
+
8
+ ## [0.7.12] — 2026-06-04
9
+
10
+ ### Changed
11
+ - **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.
12
+
3
13
  ## [0.7.11] — 2026-06-04
4
14
 
5
15
  ### Changed
@@ -1083,7 +1093,7 @@ the generated `_catalog.json` consumed by
1083
1093
 
1084
1094
  **Lockstep cut.** All 8 published `@adia-ai/*` packages bump
1085
1095
  0.2.2 → 0.2.3 per
1086
- [`docs/specs/package-architecture.md` § 15](../../../../docs/specs/package-architecture.md#15-versioning-policy).
1096
+ [`docs/specs/package-architecture.md` § 15](../../../docs/specs/package-architecture.md#15-versioning-policy).
1087
1097
  Patch cut — no breaking changes.
1088
1098
 
1089
1099
  ### Changed
@@ -10900,7 +10900,17 @@
10900
10900
  "Modal",
10901
10901
  "Col"
10902
10902
  ],
10903
- "slots": {},
10903
+ "slots": {
10904
+ "body": {
10905
+ "description": "The scrolling region — the only one with overflow. The native `<section>` child takes this role by tag + DOM order; any element can opt in via `slot=\"body\"`. Scrolls between the pinned header and footer (requires a definite-height parent)."
10906
+ },
10907
+ "footer": {
10908
+ "description": "Pinned bottom region — typically an action bar kept visible while the body scrolls. The native `<footer>` child takes this role by tag + DOM order; any element can opt in via `slot=\"footer\"`. Optional."
10909
+ },
10910
+ "header": {
10911
+ "description": "Pinned top region — stays fixed while the body scrolls. The native `<header>` child takes this role by tag + DOM order; any element can opt in via `slot=\"header\"` (a CSS [slot] match in Light DOM, not native projection — ADR-0033), e.g. `<section slot=\"header\">` as a pinned rail. Optional."
10912
+ }
10913
+ },
10904
10914
  "states": [
10905
10915
  {
10906
10916
  "description": "Default, ready for interaction.",
@@ -24754,7 +24764,7 @@
24754
24764
  },
24755
24765
  "ThemePanel": {
24756
24766
  "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",
24767
+ "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
24768
  "type": "object",
24759
24769
  "allOf": [
24760
24770
  {
@@ -24804,7 +24814,7 @@
24804
24814
  "default": false
24805
24815
  },
24806
24816
  "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",
24817
+ "description": "Renders the compact / reset / spacious preset row. Each preset\napplies a (density, radius) pair; \"default\" also clears the\n[theme] attribute.\n",
24808
24818
  "type": "boolean",
24809
24819
  "default": false
24810
24820
  },
@@ -24834,12 +24844,12 @@
24834
24844
  "default": "adia-theme-"
24835
24845
  },
24836
24846
  "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",
24847
+ "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
24848
  "type": "string",
24839
24849
  "default": ":root"
24840
24850
  },
24841
24851
  "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",
24852
+ "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
24853
  "type": "string",
24844
24854
  "default": "default ocean forest sunset lavender rose slate midnight"
24845
24855
  }
@@ -24943,6 +24953,92 @@
24943
24953
  "version": 1
24944
24954
  }
24945
24955
  },
24956
+ "ThemeProvider": {
24957
+ "title": "ThemeProvider",
24958
+ "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",
24959
+ "type": "object",
24960
+ "allOf": [
24961
+ {
24962
+ "$ref": "#/$defs/ComponentCommon"
24963
+ },
24964
+ {
24965
+ "$ref": "#/$defs/CatalogComponentCommon"
24966
+ }
24967
+ ],
24968
+ "properties": {
24969
+ "theme": {
24970
+ "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.",
24971
+ "type": "string",
24972
+ "default": ""
24973
+ },
24974
+ "component": {
24975
+ "const": "ThemeProvider"
24976
+ },
24977
+ "scale": {
24978
+ "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).",
24979
+ "type": "string",
24980
+ "default": ""
24981
+ }
24982
+ },
24983
+ "required": [
24984
+ "component"
24985
+ ],
24986
+ "unevaluatedProperties": false,
24987
+ "x-adiaui": {
24988
+ "anti_patterns": [],
24989
+ "category": "layout",
24990
+ "composes": [],
24991
+ "events": {},
24992
+ "examples": [
24993
+ {
24994
+ "description": "A client-mounted app root that self-provides the foundation (no head link).",
24995
+ "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]",
24996
+ "name": "spa-root"
24997
+ }
24998
+ ],
24999
+ "keywords": [
25000
+ "style",
25001
+ "provider",
25002
+ "foundation",
25003
+ "tokens",
25004
+ "reset",
25005
+ "adopt",
25006
+ "stylesheet",
25007
+ "shell",
25008
+ "embed",
25009
+ "spa"
25010
+ ],
25011
+ "name": "UIThemeProvider",
25012
+ "related": [
25013
+ "Frame",
25014
+ "Card"
25015
+ ],
25016
+ "slots": {},
25017
+ "states": [
25018
+ {
25019
+ "description": "Default — foundation adopted into the document; children rendered.",
25020
+ "name": "idle"
25021
+ }
25022
+ ],
25023
+ "status": "experimental",
25024
+ "synonyms": {
25025
+ "foundation": [
25026
+ "foundation",
25027
+ "tokens",
25028
+ "styles"
25029
+ ],
25030
+ "provider": [
25031
+ "provider",
25032
+ "root",
25033
+ "host"
25034
+ ]
25035
+ },
25036
+ "tag": "theme-provider",
25037
+ "tokens": {},
25038
+ "traits": [],
25039
+ "version": 1
25040
+ }
25041
+ },
24946
25042
  "Timeline": {
24947
25043
  "title": "Timeline",
24948
25044
  "description": "Timeline and step wizard. Two modes: timeline (per-item state) and steps (parent-driven).",
@@ -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.