themelia-ui 3.0.0 → 3.2.0

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 (746) hide show
  1. package/.agents/skills/themelia-ui/SKILL.md +60 -33
  2. package/.agents/skills/themelia-ui/manifest.json +23 -0
  3. package/.agents/skills/themelia-ui/references/api-compatibility.md +5 -4
  4. package/.agents/skills/themelia-ui/references/blocks.md +123 -0
  5. package/.agents/skills/themelia-ui/references/composition-ladder.md +8 -8
  6. package/.agents/skills/themelia-ui/references/composition.md +100 -19
  7. package/.agents/skills/themelia-ui/references/forms.md +23 -3
  8. package/.agents/skills/themelia-ui/references/framework-wiring.md +41 -13
  9. package/.agents/skills/themelia-ui/references/i18n.md +4 -2
  10. package/.agents/skills/themelia-ui/references/imports.md +104 -104
  11. package/.agents/skills/themelia-ui/references/installation.md +60 -31
  12. package/.agents/skills/themelia-ui/references/migration.md +156 -5
  13. package/.agents/skills/themelia-ui/references/provider-and-scoping.md +37 -25
  14. package/.agents/skills/themelia-ui/references/reference-workflows.md +43 -0
  15. package/.agents/skills/themelia-ui/references/structure-and-spacing.md +147 -0
  16. package/.agents/skills/themelia-ui/references/theming.md +174 -131
  17. package/.agents/skills/themelia-ui/references/troubleshooting.md +88 -30
  18. package/.agents/skills/themelia-ui/references/verification.md +60 -5
  19. package/CHANGELOG.md +212 -0
  20. package/README.md +48 -60
  21. package/dist/accordion-CHuzMmWL.js +143 -0
  22. package/dist/{action-menu-BNLURfMK.js → action-menu-BwiL_F6I.js} +35 -33
  23. package/dist/{alert-dialog-BMVo6Z-8.js → alert-dialog-Cg2HhuBe.js} +1 -1
  24. package/dist/avatar-Dc_BNYfB.js +93 -0
  25. package/dist/badge-VlJVZjdm.js +45 -0
  26. package/dist/base/accordion.js +1 -1
  27. package/dist/base/action-menu.js +1 -1
  28. package/dist/base/alert-dialog.js +1 -1
  29. package/dist/base/aspect-ratio.js +3 -1
  30. package/dist/base/avatar.js +1 -1
  31. package/dist/base/badge.js +2 -2
  32. package/dist/base/batch-action-bar.js +1 -1
  33. package/dist/base/buttons.js +1 -1
  34. package/dist/base/cards.js +1 -1
  35. package/dist/base/carousel.js +6 -4
  36. package/dist/base/chart.js +1 -1
  37. package/dist/base/choice-inputs.js +1 -1
  38. package/dist/base/combobox.js +1 -1
  39. package/dist/base/command.js +1 -1
  40. package/dist/base/context-menu.js +22 -21
  41. package/dist/base/copyable.js +1 -1
  42. package/dist/base/date-pickers.js +1 -1
  43. package/dist/base/dialog.js +1 -1
  44. package/dist/base/display.js +1 -1
  45. package/dist/base/dropdown-menu.js +1 -1
  46. package/dist/base/feedback.js +1 -1
  47. package/dist/base/forms-numeric.js +1 -1
  48. package/dist/base/forms.js +1 -1
  49. package/dist/base/hover-card.js +26 -23
  50. package/dist/base/input-group.js +1 -1
  51. package/dist/base/item.js +1 -1
  52. package/dist/base/label.js +1 -1
  53. package/dist/base/menubar.js +20 -14
  54. package/dist/base/navigation-menu.js +47 -38
  55. package/dist/base/navigation.js +1 -1
  56. package/dist/base/otp-input.js +36 -30
  57. package/dist/base/overlay.js +1 -1
  58. package/dist/base/popover-menu.js +1 -1
  59. package/dist/base/popover.js +1 -1
  60. package/dist/base/qr-code.js +51 -47
  61. package/dist/base/repeaters.js +1 -1
  62. package/dist/base/resizable.js +2 -0
  63. package/dist/base/sheet.js +1 -1
  64. package/dist/base/sidebar.js +1 -1
  65. package/dist/base/skeleton.js +1 -1
  66. package/dist/base/spinner.js +1 -1
  67. package/dist/base/structure.js +1 -1
  68. package/dist/base/table.js +1 -1
  69. package/dist/base/text-inputs.js +1 -1
  70. package/dist/base/timeline.js +1 -1
  71. package/dist/base/toaster.js +1 -1
  72. package/dist/base/toggle.js +21 -15
  73. package/dist/base/toolbar.js +1 -1
  74. package/dist/base/tooltip.js +1 -1
  75. package/dist/base/typography.js +2 -2
  76. package/dist/base/upload.js +1 -1
  77. package/dist/base/value-inputs.js +1 -1
  78. package/dist/{batch-action-bar-BZYNKXdV.js → batch-action-bar-DZVMVW83.js} +11 -8
  79. package/dist/{admin/patterns → blocks/admin}/access.js +79 -76
  80. package/dist/blocks/admin/commerce.js +2493 -0
  81. package/dist/{patterns → blocks}/analytics.js +312 -303
  82. package/dist/{patterns → blocks}/onboarding.js +27 -23
  83. package/dist/{patterns → blocks}/timelines.js +1 -1
  84. package/dist/buttons-BX2JfL5X.js +173 -0
  85. package/dist/cards-Ddhz43Bz.js +279 -0
  86. package/dist/chart-BkK3Xm10.js +201 -0
  87. package/dist/choice-inputs-NwRxvmZN.js +694 -0
  88. package/dist/combobox-519ubijc.js +292 -0
  89. package/dist/command-JjApYFds.js +156 -0
  90. package/dist/comments-CCQ2QRaU.js +1443 -0
  91. package/dist/components/base/action-menu/action-menu.d.ts +1 -1
  92. package/dist/components/base/action-menu/action-menu.types.d.ts +2 -2
  93. package/dist/components/base/avatar/avatar.d.ts +5 -2
  94. package/dist/components/base/badge/badge.d.ts +10 -10
  95. package/dist/components/base/badge/badge.variants.d.ts +1 -2
  96. package/dist/components/base/badge/index.d.ts +1 -2
  97. package/dist/components/base/buttons/button.d.ts +9 -8
  98. package/dist/components/base/buttons/button.types.d.ts +2 -2
  99. package/dist/components/base/buttons/index.d.ts +1 -1
  100. package/dist/components/base/buttons/text-button.d.ts +1 -1
  101. package/dist/components/base/cards/card-actions.d.ts +1 -1
  102. package/dist/components/base/cards/card.d.ts +3 -1
  103. package/dist/components/base/cards/partials/card-header.d.ts +2 -1
  104. package/dist/components/base/choice-inputs/choice.types.d.ts +2 -2
  105. package/dist/components/base/choice-inputs/partials/choice-parts.d.ts +3 -3
  106. package/dist/components/base/command/command.d.ts +5 -2
  107. package/dist/components/base/display/icon-badge.d.ts +5 -3
  108. package/dist/components/base/display/index.d.ts +1 -1
  109. package/dist/components/base/display/metadata-list.d.ts +6 -6
  110. package/dist/components/base/display/metadata-value.d.ts +1 -1
  111. package/dist/components/base/display/separator.d.ts +2 -2
  112. package/dist/components/base/feedback/alert.d.ts +3 -2
  113. package/dist/components/base/feedback/empty.d.ts +5 -4
  114. package/dist/components/base/feedback/progress-circle.d.ts +2 -2
  115. package/dist/components/base/feedback/progress.d.ts +3 -1
  116. package/dist/components/base/forms/form-field.d.ts +2 -2
  117. package/dist/components/base/input-group/input-group.d.ts +8 -10
  118. package/dist/components/base/item/item.d.ts +2 -2
  119. package/dist/components/base/overlay/index.d.ts +1 -1
  120. package/dist/components/base/overlay/overlay.types.d.ts +7 -5
  121. package/dist/components/base/qr-code/qr-code.d.ts +4 -4
  122. package/dist/components/base/sheet/sheet.d.ts +1 -1
  123. package/dist/components/base/sidebar/sidebar.d.ts +9 -13
  124. package/dist/components/base/spinner/spinner.d.ts +2 -2
  125. package/dist/components/base/structure/adaptive-grid.d.ts +3 -3
  126. package/dist/components/base/structure/bleed.d.ts +4 -2
  127. package/dist/components/base/structure/grid.d.ts +10 -4
  128. package/dist/components/base/structure/index.d.ts +1 -1
  129. package/dist/components/base/structure/split.d.ts +4 -3
  130. package/dist/components/base/structure/stack.d.ts +5 -5
  131. package/dist/components/base/structure/structure.maps.d.ts +2 -1
  132. package/dist/components/base/structure/structure.types.d.ts +10 -4
  133. package/dist/components/base/toggle/toggle.d.ts +2 -2
  134. package/dist/components/base/toolbar/toolbar.d.ts +3 -3
  135. package/dist/components/base/typography/index.d.ts +2 -0
  136. package/dist/components/base/typography/rich-text/rich-text.variants.d.ts +9 -0
  137. package/dist/components/base/typography/text/index.d.ts +1 -0
  138. package/dist/components/base/typography/text/text.d.ts +15 -8
  139. package/dist/components/base/typography/text/text.variants.d.ts +41 -0
  140. package/dist/components/base/value-inputs/color-input.d.ts +1 -7
  141. package/dist/components/base/value-inputs/slider.d.ts +2 -7
  142. package/dist/components/{admin/patterns → blocks/admin}/commerce/vendor-profile.d.ts +2 -1
  143. package/dist/components/{patterns → blocks}/analytics/analytics.strings.d.ts +2 -5
  144. package/dist/components/features/actions/action-adapters.d.ts +3 -3
  145. package/dist/components/features/actions/actions.types.d.ts +3 -5
  146. package/dist/components/features/actions/index.d.ts +1 -1
  147. package/dist/components/features/activities/activities-feed.d.ts +1 -1
  148. package/dist/components/features/activities/activities.types.d.ts +4 -4
  149. package/dist/components/features/activities/activity-parts.d.ts +3 -3
  150. package/dist/components/features/activities/activity-row.d.ts +4 -4
  151. package/dist/components/features/activities/index.d.ts +1 -1
  152. package/dist/components/features/ai-chat/ai-chat.types.d.ts +10 -3
  153. package/dist/components/features/ai-chat/ai-message-surfaces.d.ts +1 -1
  154. package/dist/components/features/ai-chat/ai-work-surfaces.d.ts +1 -1
  155. package/dist/components/features/combobox/combobox.strings.d.ts +2 -2
  156. package/dist/components/features/combobox/fetching-combobox.d.ts +2 -1
  157. package/dist/components/features/combobox/resource-combobox.d.ts +3 -0
  158. package/dist/components/features/combobox/use-suggestions.d.ts +7 -0
  159. package/dist/components/features/event-calendar/event-calendar.types.d.ts +3 -0
  160. package/dist/components/features/media-library/index.d.ts +1 -1
  161. package/dist/components/features/media-library/media-library-parts.d.ts +4 -3
  162. package/dist/components/features/media-library/media-library-views.d.ts +4 -3
  163. package/dist/components/features/media-library/media-library.d.ts +1 -1
  164. package/dist/components/features/media-library/media-library.strings.d.ts +12 -13
  165. package/dist/components/features/media-library/media-library.types.d.ts +11 -9
  166. package/dist/components/features/media-library/media-resource-gallery.d.ts +1 -1
  167. package/dist/components/features/media-library/use-media-library.d.ts +1 -4
  168. package/dist/components/features/overlays/action-overlay-frame.d.ts +1 -1
  169. package/dist/components/features/overlays/index.d.ts +1 -1
  170. package/dist/components/features/overlays/overlay-parts.d.ts +3 -3
  171. package/dist/components/features/overlays/overlays.types.d.ts +8 -7
  172. package/dist/components/features/rich-text-editor/index.d.ts +0 -1
  173. package/dist/components/features/table/data-table-body.d.ts +1 -1
  174. package/dist/components/features/table/data-table-expanded-row.d.ts +27 -0
  175. package/dist/components/features/table/data-table-header.d.ts +1 -1
  176. package/dist/components/features/table/data-table-size.d.ts +1 -1
  177. package/dist/components/features/table/data-table.d.ts +1 -1
  178. package/dist/components/features/table/index.d.ts +1 -1
  179. package/dist/components/features/table/table-helpers.d.ts +9 -3
  180. package/dist/components/features/table/table.strings.d.ts +11 -0
  181. package/dist/components/features/table/table.types.d.ts +60 -2
  182. package/dist/components/features/theme-tweaker/index.d.ts +1 -1
  183. package/dist/components/features/theme-tweaker/theme-tweaker.strings.d.ts +1 -1
  184. package/dist/components/features/theme-tweaker/theme-tweaker.types.d.ts +6 -10
  185. package/dist/components/features/theme-tweaker/theme-tweaker.utils.d.ts +22 -6
  186. package/dist/components/layout/app-shell/topbar-sidebar-layout.d.ts +1 -1
  187. package/dist/components/layout/auth/auth.d.ts +1 -1
  188. package/dist/components/layout/auth/auth.types.d.ts +1 -1
  189. package/dist/components/primitives/value.d.ts +3 -1
  190. package/dist/containers-B8d8U9GS.js +2 -0
  191. package/dist/{copyable-H1TUEY-H.js → copyable-D9Okb1w6.js} +12 -11
  192. package/dist/core.css +2 -2
  193. package/dist/css/access.css +2 -1
  194. package/dist/css/accordion.css +2 -1
  195. package/dist/css/action-menu.css +2 -1
  196. package/dist/css/activities.css +2 -1
  197. package/dist/css/ai-chat.css +2 -1
  198. package/dist/css/analytics.css +2 -1
  199. package/dist/css/app-shell.css +2 -1
  200. package/dist/css/aspect-ratio.css +2 -1
  201. package/dist/css/async-preview.css +2 -1
  202. package/dist/css/auth.css +2 -1
  203. package/dist/css/avatar.css +2 -1
  204. package/dist/css/badge.css +2 -1
  205. package/dist/css/batch-action-bar.css +2 -1
  206. package/dist/css/buttons.css +2 -1
  207. package/dist/css/cards.css +2 -1
  208. package/dist/css/carousel.css +2 -1
  209. package/dist/css/chart.css +2 -1
  210. package/dist/css/choice-inputs.css +2 -1
  211. package/dist/css/combobox.css +2 -1
  212. package/dist/css/combobox2.css +2 -1
  213. package/dist/css/command.css +2 -1
  214. package/dist/css/comments.css +2 -1
  215. package/dist/css/commerce.css +2 -1
  216. package/dist/css/containers.css +2 -1
  217. package/dist/css/copyable.css +2 -1
  218. package/dist/css/data-view.css +2 -1
  219. package/dist/css/date-pickers.css +2 -1
  220. package/dist/css/display.css +2 -1
  221. package/dist/css/dropdown-menu.css +2 -1
  222. package/dist/css/event-calendar.css +2 -1
  223. package/dist/css/feedback.css +2 -1
  224. package/dist/css/filters.css +2 -1
  225. package/dist/css/forms-numeric.css +2 -1
  226. package/dist/css/forms.css +2 -1
  227. package/dist/css/global-search.css +2 -1
  228. package/dist/css/header.css +2 -1
  229. package/dist/css/hover-card.css +2 -1
  230. package/dist/css/input-group.css +2 -1
  231. package/dist/css/item.css +2 -1
  232. package/dist/css/kanban.css +2 -1
  233. package/dist/css/label.css +2 -1
  234. package/dist/css/map.css +2 -1
  235. package/dist/css/media-library.css +2 -1
  236. package/dist/css/mentions.css +2 -1
  237. package/dist/css/menubar.css +2 -1
  238. package/dist/css/navigation-menu.css +2 -1
  239. package/dist/css/navigation.css +2 -1
  240. package/dist/css/navigation2.css +2 -1
  241. package/dist/css/onboarding.css +2 -1
  242. package/dist/css/otp-input.css +2 -1
  243. package/dist/css/overlay.css +2 -1
  244. package/dist/css/overlays.css +2 -1
  245. package/dist/css/page.css +2 -1
  246. package/dist/css/popover-menu.css +2 -1
  247. package/dist/css/popover.css +2 -1
  248. package/dist/css/primitives.css +2 -1
  249. package/dist/css/products.css +2 -1
  250. package/dist/css/qr-code.css +2 -1
  251. package/dist/css/repeaters.css +2 -1
  252. package/dist/css/resizable.css +2 -1
  253. package/dist/css/resource-assignment.css +2 -1
  254. package/dist/css/resource.css +2 -1
  255. package/dist/css/rich-text-editor.css +2 -1
  256. package/dist/css/schema-form.css +2 -1
  257. package/dist/css/sidebar.css +2 -1
  258. package/dist/css/sidebar2.css +2 -1
  259. package/dist/css/skeleton.css +2 -1
  260. package/dist/css/spinner.css +2 -1
  261. package/dist/css/structure.css +2 -1
  262. package/dist/css/sync.css +2 -1
  263. package/dist/css/table.css +2 -1
  264. package/dist/css/table2.css +2 -1
  265. package/dist/css/text-inputs.css +2 -1
  266. package/dist/css/theme-tweaker.css +2 -1
  267. package/dist/css/timeline.css +2 -1
  268. package/dist/css/timelines.css +2 -1
  269. package/dist/css/toaster.css +2 -1
  270. package/dist/css/toggle.css +2 -1
  271. package/dist/css/toolbar.css +2 -1
  272. package/dist/css/tooltip.css +2 -1
  273. package/dist/css/typography.css +2 -1
  274. package/dist/css/upload.css +2 -1
  275. package/dist/css/value-inputs.css +2 -1
  276. package/dist/css/workspace.css +2 -1
  277. package/dist/css-graph.json +1027 -0
  278. package/dist/date-pickers-BwCwKIVM.js +685 -0
  279. package/dist/{dialog-CtFCuTUF.js → dialog-CAnwRNrm.js} +1 -1
  280. package/dist/display-a7AoX_u7.js +664 -0
  281. package/dist/dropdown-menu-Br8kvjrF.js +235 -0
  282. package/dist/empty.js +0 -0
  283. package/dist/features/actions.js +6 -6
  284. package/dist/features/activities.js +219 -216
  285. package/dist/features/ai-chat.js +593 -565
  286. package/dist/features/async-preview.js +105 -286
  287. package/dist/features/combobox.js +328 -314
  288. package/dist/features/comments.js +1 -1
  289. package/dist/features/data-view.js +56 -55
  290. package/dist/features/event-calendar.js +189 -185
  291. package/dist/features/filters.js +1 -1
  292. package/dist/features/global-search.js +259 -260
  293. package/dist/features/kanban.js +39 -37
  294. package/dist/features/map.js +357 -354
  295. package/dist/features/media-library.js +931 -931
  296. package/dist/features/mentions.js +1 -1
  297. package/dist/features/overlays.js +1 -1
  298. package/dist/features/products.js +950 -942
  299. package/dist/features/resource-assignment.js +39 -37
  300. package/dist/features/resource.js +70 -71
  301. package/dist/features/rich-text-editor.js +2 -2
  302. package/dist/features/schema-form.js +342 -338
  303. package/dist/features/sync.js +14 -12
  304. package/dist/features/table.js +1 -1
  305. package/dist/features/theme-tweaker.js +1002 -962
  306. package/dist/feedback-D4qVsKlD.js +430 -0
  307. package/dist/{filters-DOLKRSmb.js → filters-BhsTkWpZ.js} +386 -383
  308. package/dist/forms-C0WeNPFF.js +250 -0
  309. package/dist/forms-numeric-IwQ1ltNf.js +582 -0
  310. package/dist/hooks/use-native-dialog.d.ts +1 -1
  311. package/dist/index.js +2 -2
  312. package/dist/input-group-HS_Z0Ei_.js +119 -0
  313. package/dist/item-M2pmpWXh.js +150 -0
  314. package/dist/{label-DumoMDm6.js → label-HOBXAscw.js} +7 -5
  315. package/dist/layout/app-shell.js +4 -2
  316. package/dist/layout/auth.js +102 -100
  317. package/dist/layout/header.js +190 -180
  318. package/dist/layout/navigation.js +1 -1
  319. package/dist/layout/page.js +18 -16
  320. package/dist/layout/settings.js +2 -2
  321. package/dist/layout/sidebar.js +50 -46
  322. package/dist/layout/workspace.js +71 -69
  323. package/dist/lib/action-presentation.d.ts +3 -3
  324. package/dist/lib/component-vocabulary.d.ts +2 -2
  325. package/dist/lib/css-length.d.ts +2 -0
  326. package/dist/lib/responsive.d.ts +1 -1
  327. package/dist/lib/theming/index.d.ts +1 -0
  328. package/dist/lib/theming/recipes.d.ts +2 -2
  329. package/dist/lib/theming/themes/dense.d.ts +3 -0
  330. package/dist/lib/theming/themes/editorial.d.ts +3 -0
  331. package/dist/lib/theming/themes/index.d.ts +8 -0
  332. package/dist/lib/theming/themes/pair.d.ts +7 -0
  333. package/dist/lib/theming/themes/sharp.d.ts +3 -0
  334. package/dist/lib/theming/themes/soft.d.ts +3 -0
  335. package/dist/lib/theming/themes/types.d.ts +12 -0
  336. package/dist/lib/ui-provider/index.d.ts +1 -1
  337. package/dist/lib/ui-provider/scope.d.ts +5 -8
  338. package/dist/lib/ui-provider/tokens.d.ts +11 -3
  339. package/dist/lib/ui-provider/tokens.generated.d.ts +6 -4
  340. package/dist/lib/ui-provider/types.d.ts +17 -19
  341. package/dist/lib/ui-provider/ui-scope.d.ts +1 -1
  342. package/dist/{mentions-BbsEHlcH.js → mentions-BOxbigwp.js} +113 -111
  343. package/dist/navigation-Bgu7Vc0M.js +622 -0
  344. package/dist/navigation-DiYACqpE.js +216 -0
  345. package/dist/overlay-BuQOl8aP.js +356 -0
  346. package/dist/{overlays-DvVoS3td.js → overlays-1sULyytH.js} +77 -75
  347. package/dist/popover-CA7SP_iz.js +127 -0
  348. package/dist/popover-menu-QXgQeWeG.js +192 -0
  349. package/dist/{primitives-D0bdDozz.js → primitives-BskKlf35.js} +181 -178
  350. package/dist/primitives.js +1 -1
  351. package/dist/profiles/admin.json +6 -36
  352. package/dist/profiles/general.json +6 -96
  353. package/dist/repeaters-CeH20dvr.js +445 -0
  354. package/dist/rich-text-editor-D_Ppm8yh.js +491 -0
  355. package/dist/{sheet-CKcmRbJ9.js → sheet-CJ1-OAla.js} +3 -3
  356. package/dist/sidebar-D8uGqxio.js +421 -0
  357. package/dist/skeleton-BTKNKTdj.js +173 -0
  358. package/dist/spinner-Tc1QCnxM.js +30 -0
  359. package/dist/{structure-D0WGQAP3.js → structure-CynEZ-OY.js} +15 -23
  360. package/dist/style.css +1 -1
  361. package/dist/styles/TOKENS.md +116 -275
  362. package/dist/styles/animation.css +114 -0
  363. package/dist/styles/base.css +7 -6
  364. package/dist/styles/fields.css +45 -63
  365. package/dist/styles/focus.css +12 -0
  366. package/dist/styles/forced-colors.css +11 -10
  367. package/dist/styles/index.css +23 -30
  368. package/dist/styles/map.css +45 -34
  369. package/dist/styles/mentions.css +14 -52
  370. package/dist/styles/overlays.css +7 -7
  371. package/dist/styles/tailwind.css +76 -127
  372. package/dist/styles/targets.css +3 -3
  373. package/dist/styles/theme/colour.css +86 -0
  374. package/dist/styles/theme/density.css +31 -0
  375. package/dist/styles/theme/elevation.css +9 -0
  376. package/dist/styles/theme/layout.css +18 -0
  377. package/dist/styles/theme/motion.css +18 -0
  378. package/dist/styles/theme/shape.css +12 -0
  379. package/dist/styles/theme/size.css +10 -0
  380. package/dist/styles/theme/spacing.css +11 -0
  381. package/dist/styles/theme/typography.css +20 -0
  382. package/dist/styles/tone.css +61 -0
  383. package/dist/table-B7dtIFUx.js +1262 -0
  384. package/dist/table-Ds_eO9av.js +191 -0
  385. package/dist/tailwind.css +76 -127
  386. package/dist/text-inputs-BboE77nZ.js +395 -0
  387. package/dist/theming-C5ygF5uf.js +292 -0
  388. package/dist/theming.js +2 -2
  389. package/dist/{timeline-BdaGRyj-.js → timeline-BR_jNgvz.js} +57 -49
  390. package/dist/{timelines-BB7550mz.js → timelines-DXG1BfIN.js} +69 -67
  391. package/dist/{toaster-bBMgXm8z.js → toaster-CXL8L7Mm.js} +106 -99
  392. package/dist/tokens.json +1027 -636
  393. package/dist/toolbar-DBK-c4yy.js +74 -0
  394. package/dist/tooltip-BPYP-jUm.js +76 -0
  395. package/dist/{typography-BkxEiwQ1.js → typography-DmeR05Er.js} +87 -53
  396. package/dist/{ui-provider-Cmoq6i_D.js → ui-provider-DpzLUD12.js} +117 -69
  397. package/dist/ui-provider.js +1 -1
  398. package/dist/upload-CYuoJykZ.js +968 -0
  399. package/dist/use-async-preview-BFwf9ElY.js +188 -0
  400. package/dist/value-inputs-ng8aVJJZ.js +728 -0
  401. package/docs/README.md +13 -3
  402. package/docs/build/browser-composition-fixture.ts +28 -0
  403. package/docs/build/recipes.md +11484 -10723
  404. package/docs/generated/component-index.json +9809 -9169
  405. package/docs/generated/components/INDEX.md +5 -5
  406. package/docs/generated/components/base--accordion.md +51 -2
  407. package/docs/generated/components/base--action-menu.md +14 -15
  408. package/docs/generated/components/base--alert-dialog.md +3 -4
  409. package/docs/generated/components/base--aspect-ratio.md +3 -4
  410. package/docs/generated/components/base--avatar.md +7 -7
  411. package/docs/generated/components/base--badge.md +159 -27
  412. package/docs/generated/components/base--batch-action-bar.md +6 -7
  413. package/docs/generated/components/base--buttons.md +151 -47
  414. package/docs/generated/components/base--cards.md +107 -14
  415. package/docs/generated/components/base--carousel.md +1 -2
  416. package/docs/generated/components/base--chart.md +44 -8
  417. package/docs/generated/components/base--choice-inputs.md +10 -11
  418. package/docs/generated/components/base--combobox.md +3 -4
  419. package/docs/generated/components/base--command.md +6 -6
  420. package/docs/generated/components/base--context-menu.md +1 -2
  421. package/docs/generated/components/base--copyable.md +6 -7
  422. package/docs/generated/components/base--date-pickers.md +6 -7
  423. package/docs/generated/components/base--dialog.md +6 -7
  424. package/docs/generated/components/base--direction.md +1 -1
  425. package/docs/generated/components/base--display.md +234 -54
  426. package/docs/generated/components/base--dropdown-menu.md +6 -7
  427. package/docs/generated/components/base--feedback.md +71 -18
  428. package/docs/generated/components/base--forms-numeric.md +6 -7
  429. package/docs/generated/components/base--forms.md +84 -14
  430. package/docs/generated/components/base--hover-card.md +3 -4
  431. package/docs/generated/components/base--input-group.md +27 -30
  432. package/docs/generated/components/base--item.md +8 -9
  433. package/docs/generated/components/base--label.md +2 -3
  434. package/docs/generated/components/base--menubar.md +2 -4
  435. package/docs/generated/components/base--navigation-menu.md +2 -3
  436. package/docs/generated/components/base--navigation.md +2 -3
  437. package/docs/generated/components/base--otp-input.md +3 -4
  438. package/docs/generated/components/base--overlay.md +56 -47
  439. package/docs/generated/components/base--popover-menu.md +7 -8
  440. package/docs/generated/components/base--popover.md +9 -10
  441. package/docs/generated/components/base--qr-code.md +7 -8
  442. package/docs/generated/components/base--repeaters.md +6 -7
  443. package/docs/generated/components/base--resizable.md +2 -3
  444. package/docs/generated/components/base--sheet.md +12 -13
  445. package/docs/generated/components/base--sidebar.md +9 -11
  446. package/docs/generated/components/base--skeleton.md +6 -7
  447. package/docs/generated/components/base--slot.md +1 -1
  448. package/docs/generated/components/base--spinner.md +5 -7
  449. package/docs/generated/components/base--structure.md +320 -70
  450. package/docs/generated/components/base--table.md +61 -3
  451. package/docs/generated/components/base--text-inputs.md +17 -18
  452. package/docs/generated/components/base--timeline.md +45 -4
  453. package/docs/generated/components/base--toaster.md +43 -12
  454. package/docs/generated/components/base--toggle.md +11 -12
  455. package/docs/generated/components/base--toolbar.md +7 -8
  456. package/docs/generated/components/base--tooltip.md +5 -6
  457. package/docs/generated/components/base--typography.md +317 -32
  458. package/docs/generated/components/base--upload.md +8 -9
  459. package/docs/generated/components/base--value-inputs.md +9 -38
  460. package/docs/generated/components/{admin--patterns--access.md → blocks--admin--access.md} +15 -6
  461. package/docs/generated/components/{admin--patterns--commerce.md → blocks--admin--commerce.md} +40 -41
  462. package/docs/generated/components/{patterns--analytics.md → blocks--analytics.md} +57 -14
  463. package/docs/generated/components/{patterns--onboarding.md → blocks--onboarding.md} +6 -7
  464. package/docs/generated/components/{patterns--timelines.md → blocks--timelines.md} +6 -7
  465. package/docs/generated/components/features--actions.md +8 -18
  466. package/docs/generated/components/features--activities.md +31 -32
  467. package/docs/generated/components/features--ai-chat.md +15 -15
  468. package/docs/generated/components/features--async-preview.md +5 -6
  469. package/docs/generated/components/features--combobox.md +71 -5
  470. package/docs/generated/components/features--comments.md +0 -1
  471. package/docs/generated/components/features--data-view.md +63 -8
  472. package/docs/generated/components/features--event-calendar.md +1 -2
  473. package/docs/generated/components/features--filters.md +11 -2
  474. package/docs/generated/components/features--global-search.md +1 -2
  475. package/docs/generated/components/features--kanban.md +1 -2
  476. package/docs/generated/components/features--map.md +1 -2
  477. package/docs/generated/components/features--media-library.md +105 -38
  478. package/docs/generated/components/features--mentions.md +7 -7
  479. package/docs/generated/components/features--overlays.md +75 -22
  480. package/docs/generated/components/features--products.md +10 -11
  481. package/docs/generated/components/features--resource-assignment.md +2 -3
  482. package/docs/generated/components/features--resource.md +3 -4
  483. package/docs/generated/components/features--rich-text-editor.md +42 -13
  484. package/docs/generated/components/features--schema-form.md +1 -2
  485. package/docs/generated/components/features--sync.md +2 -3
  486. package/docs/generated/components/features--table.md +162 -12
  487. package/docs/generated/components/features--theme-tweaker.md +30 -15
  488. package/docs/generated/components/forms.md +2 -2
  489. package/docs/generated/components/layout--app-shell.md +41 -11
  490. package/docs/generated/components/layout--auth.md +8 -9
  491. package/docs/generated/components/layout--containers.md +40 -1
  492. package/docs/generated/components/layout--header.md +2 -3
  493. package/docs/generated/components/layout--navigation.md +0 -1
  494. package/docs/generated/components/layout--page.md +33 -5
  495. package/docs/generated/components/layout--settings.md +0 -1
  496. package/docs/generated/components/layout--sidebar.md +47 -7
  497. package/docs/generated/components/layout--workspace.md +3 -4
  498. package/docs/generated/components/primitives.md +128 -17
  499. package/docs/generated/components/theming.md +147 -4
  500. package/docs/generated/components/ui-provider.md +96 -78
  501. package/docs/generated/composition-ladder.md +8 -8
  502. package/docs/generated/consumer-contract.json +5736 -0
  503. package/docs/generated/imports.md +104 -104
  504. package/docs/generated/migration-broad-imports.json +267 -90
  505. package/docs/generated/migration-broad-imports.md +266 -101
  506. package/docs/generated/migration-codemod.json +365 -70
  507. package/docs/generated/migration.md +665 -95
  508. package/docs/generated/profiles.md +27 -27
  509. package/docs/generated/public-api.md +104 -102
  510. package/docs/generated/recipes.json +755 -810
  511. package/docs/generated/workflows/communications-overview/analytics/communications-reference.tsx +19 -0
  512. package/docs/generated/workflows/index.json +691 -0
  513. package/docs/generated/workflows/media-picking/media-library/media-picking-reference.tsx +63 -0
  514. package/docs/generated/workflows/media-picking/media-library/reference-data.ts +3 -0
  515. package/docs/generated/workflows/multi-section-form/form-workflow/multi-section-reference.tsx +46 -0
  516. package/docs/generated/workflows/nested-action-flow/action-overlays/nested-action-reference.tsx +39 -0
  517. package/docs/generated/workflows/record-detail/page-layout/record-detail-reference.tsx +24 -0
  518. package/docs/generated/workflows/resource-index/data-view/resource-index-reference.tsx +51 -0
  519. package/docs/generated/workflows/scoped-resource-selection/combobox/scoped-resource-reference.tsx +50 -0
  520. package/docs/generated/workflows/website-content-editor/media-library/reference-data.ts +3 -0
  521. package/docs/generated/workflows/website-content-editor/rich-text-editor/website-content-reference.tsx +33 -0
  522. package/docs/generated/workflows/workspace-navigation/app-shell/workspace-navigation-reference.tsx +26 -0
  523. package/docs/learn/api-compatibility.md +5 -4
  524. package/docs/learn/blocks.md +123 -0
  525. package/docs/learn/composition.md +100 -19
  526. package/docs/learn/forms.md +23 -3
  527. package/docs/learn/framework-wiring.md +41 -13
  528. package/docs/learn/i18n.md +4 -2
  529. package/docs/learn/installation.md +60 -31
  530. package/docs/learn/migration.md +156 -5
  531. package/docs/learn/provider-and-scoping.md +37 -25
  532. package/docs/learn/reference-workflows.md +43 -0
  533. package/docs/learn/structure-and-spacing.md +147 -0
  534. package/docs/learn/theming.md +174 -131
  535. package/docs/learn/troubleshooting.md +88 -30
  536. package/docs/learn/verification.md +60 -5
  537. package/package.json +42 -473
  538. package/scripts/consumer/codemod.mjs +50 -32
  539. package/scripts/consumer/contract-reader.mjs +42 -0
  540. package/scripts/consumer/css-scan.mjs +51 -0
  541. package/scripts/consumer/diagnose.mjs +136 -0
  542. package/scripts/consumer/find-component.mjs +30 -17
  543. package/scripts/consumer/install-skill.mjs +93 -11
  544. package/src/styles/TOKENS.md +116 -275
  545. package/dist/accordion-6YPJ9XRO.js +0 -135
  546. package/dist/admin/patterns/access.css +0 -15
  547. package/dist/admin/patterns/commerce.css +0 -29
  548. package/dist/admin/patterns/commerce.js +0 -2493
  549. package/dist/avatar-CS7zow2q.js +0 -85
  550. package/dist/badge-CxOuTfVr.js +0 -63
  551. package/dist/base/accordion.css +0 -3
  552. package/dist/base/action-menu.css +0 -6
  553. package/dist/base/alert-dialog.css +0 -4
  554. package/dist/base/aspect-ratio.css +0 -2
  555. package/dist/base/avatar.css +0 -4
  556. package/dist/base/badge.css +0 -2
  557. package/dist/base/batch-action-bar.css +0 -5
  558. package/dist/base/buttons.css +0 -4
  559. package/dist/base/cards.css +0 -13
  560. package/dist/base/carousel.css +0 -5
  561. package/dist/base/chart.css +0 -2
  562. package/dist/base/choice-inputs.css +0 -10
  563. package/dist/base/combobox.css +0 -3
  564. package/dist/base/command.css +0 -9
  565. package/dist/base/context-menu.css +0 -2
  566. package/dist/base/copyable.css +0 -6
  567. package/dist/base/date-pickers.css +0 -11
  568. package/dist/base/dialog.css +0 -4
  569. package/dist/base/display.css +0 -8
  570. package/dist/base/dropdown-menu.css +0 -2
  571. package/dist/base/feedback.css +0 -5
  572. package/dist/base/forms-numeric.css +0 -12
  573. package/dist/base/forms.css +0 -14
  574. package/dist/base/hover-card.css +0 -2
  575. package/dist/base/input-group.css +0 -6
  576. package/dist/base/item.css +0 -9
  577. package/dist/base/label.css +0 -3
  578. package/dist/base/menubar.css +0 -2
  579. package/dist/base/navigation-menu.css +0 -2
  580. package/dist/base/navigation.css +0 -12
  581. package/dist/base/otp-input.css +0 -9
  582. package/dist/base/overlay.css +0 -4
  583. package/dist/base/popover-menu.css +0 -11
  584. package/dist/base/popover.css +0 -3
  585. package/dist/base/qr-code.css +0 -2
  586. package/dist/base/repeaters.css +0 -18
  587. package/dist/base/resizable.css +0 -2
  588. package/dist/base/sheet.css +0 -4
  589. package/dist/base/sidebar.css +0 -12
  590. package/dist/base/skeleton.css +0 -9
  591. package/dist/base/spinner.css +0 -2
  592. package/dist/base/structure.css +0 -2
  593. package/dist/base/table.css +0 -3
  594. package/dist/base/text-inputs.css +0 -2
  595. package/dist/base/timeline.css +0 -9
  596. package/dist/base/toaster.css +0 -2
  597. package/dist/base/toggle.css +0 -2
  598. package/dist/base/toolbar.css +0 -5
  599. package/dist/base/tooltip.css +0 -2
  600. package/dist/base/typography.css +0 -2
  601. package/dist/base/upload.css +0 -10
  602. package/dist/base/value-inputs.css +0 -14
  603. package/dist/buttons-CqXKWty3.js +0 -179
  604. package/dist/cards-C6Ulbkw7.js +0 -271
  605. package/dist/chart-nomhJ87z.js +0 -193
  606. package/dist/choice-inputs-OUDn0kQw.js +0 -680
  607. package/dist/combobox-C8oP92bT.js +0 -266
  608. package/dist/command-Bp3B6pUu.js +0 -143
  609. package/dist/comments-CAnDlyXO.js +0 -1438
  610. package/dist/components/admin/patterns/index.d.ts +0 -2
  611. package/dist/components/features/rich-text-editor/exec-command-engine.d.ts +0 -2
  612. package/dist/components/patterns/index.d.ts +0 -3
  613. package/dist/css/styles.css +0 -1
  614. package/dist/date-pickers-DOwIT-Nk.js +0 -661
  615. package/dist/display-B3Q17h5z.js +0 -645
  616. package/dist/dropdown-menu-TyNLCLML.js +0 -223
  617. package/dist/features/actions.css +0 -11
  618. package/dist/features/activities.css +0 -25
  619. package/dist/features/ai-chat.css +0 -14
  620. package/dist/features/async-preview.css +0 -10
  621. package/dist/features/combobox.css +0 -12
  622. package/dist/features/comments.css +0 -24
  623. package/dist/features/data-view.css +0 -31
  624. package/dist/features/event-calendar.css +0 -17
  625. package/dist/features/filters.css +0 -24
  626. package/dist/features/global-search.css +0 -19
  627. package/dist/features/kanban.css +0 -7
  628. package/dist/features/map.css +0 -15
  629. package/dist/features/media-library.css +0 -27
  630. package/dist/features/mentions.css +0 -17
  631. package/dist/features/overlays.css +0 -11
  632. package/dist/features/products.css +0 -29
  633. package/dist/features/resource-assignment.css +0 -14
  634. package/dist/features/resource.css +0 -15
  635. package/dist/features/rich-text-editor.css +0 -8
  636. package/dist/features/schema-form.css +0 -22
  637. package/dist/features/sync.css +0 -11
  638. package/dist/features/table.css +0 -20
  639. package/dist/features/theme-tweaker.css +0 -27
  640. package/dist/feedback-DRerHGuV.js +0 -469
  641. package/dist/forms-CPrGGif_.js +0 -242
  642. package/dist/forms-numeric-CPVsL7Vf.js +0 -569
  643. package/dist/index.css +0 -3
  644. package/dist/input-group-BYe0rhoB.js +0 -126
  645. package/dist/item-B3yQ26as.js +0 -146
  646. package/dist/layout/app-shell.css +0 -13
  647. package/dist/layout/auth.css +0 -14
  648. package/dist/layout/containers.css +0 -2
  649. package/dist/layout/header.css +0 -20
  650. package/dist/layout/navigation.css +0 -11
  651. package/dist/layout/page.css +0 -15
  652. package/dist/layout/settings.css +0 -16
  653. package/dist/layout/sidebar.css +0 -16
  654. package/dist/layout/workspace.css +0 -15
  655. package/dist/navigation-CsqTA16F.js +0 -614
  656. package/dist/navigation-DzxzPuwg.js +0 -202
  657. package/dist/overlay-WQOsLd69.js +0 -345
  658. package/dist/patterns/analytics.css +0 -15
  659. package/dist/patterns/onboarding.css +0 -11
  660. package/dist/patterns/timelines.css +0 -11
  661. package/dist/popover-DriLnIFc.js +0 -123
  662. package/dist/popover-menu-C2UCMAe7.js +0 -189
  663. package/dist/primitives.css +0 -3
  664. package/dist/repeaters-DuP1N0nw.js +0 -438
  665. package/dist/rich-text-editor-BQXFe9oN.js +0 -595
  666. package/dist/sidebar-D0N6ckJL.js +0 -412
  667. package/dist/skeleton-DGR9df28.js +0 -172
  668. package/dist/spinner-CUAVFecI.js +0 -52
  669. package/dist/styles/FACTORS.md +0 -36
  670. package/dist/styles/SCOPES.md +0 -86
  671. package/dist/styles/themes/default.css +0 -164
  672. package/dist/styles/theming/animation.css +0 -143
  673. package/dist/styles/theming/colors.css +0 -97
  674. package/dist/styles/theming/feedback.css +0 -17
  675. package/dist/styles/theming/field.css +0 -21
  676. package/dist/styles/theming/focus.css +0 -88
  677. package/dist/styles/theming/layers.css +0 -13
  678. package/dist/styles/theming/layout.css +0 -21
  679. package/dist/styles/theming/motion.css +0 -42
  680. package/dist/styles/theming/overlay.css +0 -52
  681. package/dist/styles/theming/sizing.css +0 -118
  682. package/dist/styles/theming/text.css +0 -30
  683. package/dist/styles/theming/typography.css +0 -26
  684. package/dist/styles/tokens/components.css +0 -22
  685. package/dist/styles/tokens/foundation.css +0 -80
  686. package/dist/styles/tokens/layout.css +0 -19
  687. package/dist/styles/tokens/palette.css +0 -88
  688. package/dist/styles/tokens/primitives.css +0 -18
  689. package/dist/styles/tokens/states.css +0 -77
  690. package/dist/table-BC4qqsUb.js +0 -180
  691. package/dist/table-BHDpjajL.js +0 -982
  692. package/dist/text-inputs-DF_lD7pA.js +0 -385
  693. package/dist/theming-D6KRU7hO.js +0 -104
  694. package/dist/toolbar-DWRywF0R.js +0 -68
  695. package/dist/tooltip-t1VQQ2tZ.js +0 -73
  696. package/dist/upload-B38YZeFJ.js +0 -938
  697. package/dist/value-inputs-Q4ymjXlV.js +0 -716
  698. package/src/styles/FACTORS.md +0 -36
  699. package/src/styles/SCOPES.md +0 -86
  700. /package/dist/components/{admin/patterns → blocks/admin}/access/admin.strings.d.ts +0 -0
  701. /package/dist/components/{admin/patterns → blocks/admin}/access/credential-list.d.ts +0 -0
  702. /package/dist/components/{admin/patterns → blocks/admin}/access/index.d.ts +0 -0
  703. /package/dist/components/{admin/patterns → blocks/admin}/access/role-permissions.d.ts +0 -0
  704. /package/dist/components/{admin/patterns → blocks/admin}/access/sensitive-action.d.ts +0 -0
  705. /package/dist/components/{admin/patterns → blocks/admin}/commerce/account.d.ts +0 -0
  706. /package/dist/components/{admin/patterns → blocks/admin}/commerce/address-lines.d.ts +0 -0
  707. /package/dist/components/{admin/patterns → blocks/admin}/commerce/booking.d.ts +0 -0
  708. /package/dist/components/{admin/patterns → blocks/admin}/commerce/cart.d.ts +0 -0
  709. /package/dist/components/{admin/patterns → blocks/admin}/commerce/commerce.strings.d.ts +0 -0
  710. /package/dist/components/{admin/patterns → blocks/admin}/commerce/commerce.types.d.ts +0 -0
  711. /package/dist/components/{admin/patterns → blocks/admin}/commerce/format-amount.d.ts +0 -0
  712. /package/dist/components/{admin/patterns → blocks/admin}/commerce/index.d.ts +0 -0
  713. /package/dist/components/{admin/patterns → blocks/admin}/commerce/inventory-section.d.ts +0 -0
  714. /package/dist/components/{admin/patterns → blocks/admin}/commerce/invoice.d.ts +0 -0
  715. /package/dist/components/{admin/patterns → blocks/admin}/commerce/loyalty.d.ts +0 -0
  716. /package/dist/components/{admin/patterns → blocks/admin}/commerce/order-customer.d.ts +0 -0
  717. /package/dist/components/{admin/patterns → blocks/admin}/commerce/order-detail.d.ts +0 -0
  718. /package/dist/components/{admin/patterns → blocks/admin}/commerce/order-line-item.d.ts +0 -0
  719. /package/dist/components/{admin/patterns → blocks/admin}/commerce/order-transactions.d.ts +0 -0
  720. /package/dist/components/{admin/patterns → blocks/admin}/commerce/order.d.ts +0 -0
  721. /package/dist/components/{admin/patterns → blocks/admin}/commerce/seo-listing.d.ts +0 -0
  722. /package/dist/components/{admin/patterns → blocks/admin}/commerce/seo-score.d.ts +0 -0
  723. /package/dist/components/{admin/patterns → blocks/admin}/commerce/summary-panel.d.ts +0 -0
  724. /package/dist/components/{patterns → blocks}/analytics/activity-heatmap.d.ts +0 -0
  725. /package/dist/components/{patterns → blocks}/analytics/analytics.types.d.ts +0 -0
  726. /package/dist/components/{patterns → blocks}/analytics/chart-card.d.ts +0 -0
  727. /package/dist/components/{patterns → blocks}/analytics/format-metric-value.d.ts +0 -0
  728. /package/dist/components/{patterns → blocks}/analytics/index.d.ts +0 -0
  729. /package/dist/components/{patterns → blocks}/analytics/metric-bar.d.ts +0 -0
  730. /package/dist/components/{patterns → blocks}/analytics/metric-comparison.d.ts +0 -0
  731. /package/dist/components/{patterns → blocks}/analytics/metric-gradient.d.ts +0 -0
  732. /package/dist/components/{patterns → blocks}/analytics/metric-grid.d.ts +0 -0
  733. /package/dist/components/{patterns → blocks}/analytics/metric-micro-grid.d.ts +0 -0
  734. /package/dist/components/{patterns → blocks}/analytics/metric-skeleton.d.ts +0 -0
  735. /package/dist/components/{patterns → blocks}/analytics/metric-trend-chip.d.ts +0 -0
  736. /package/dist/components/{patterns → blocks}/analytics/metric.d.ts +0 -0
  737. /package/dist/components/{patterns → blocks}/analytics/time-ruler.d.ts +0 -0
  738. /package/dist/components/{patterns → blocks}/onboarding/checklist.d.ts +0 -0
  739. /package/dist/components/{patterns → blocks}/onboarding/index.d.ts +0 -0
  740. /package/dist/components/{patterns → blocks}/onboarding/onboarding.strings.d.ts +0 -0
  741. /package/dist/components/{patterns → blocks}/timelines/changelog-timeline.d.ts +0 -0
  742. /package/dist/components/{patterns → blocks}/timelines/index.d.ts +0 -0
  743. /package/dist/components/{patterns → blocks}/timelines/milestones-timeline.d.ts +0 -0
  744. /package/dist/components/{patterns → blocks}/timelines/steps.d.ts +0 -0
  745. /package/dist/components/{patterns → blocks}/timelines/timelines.strings.d.ts +0 -0
  746. /package/dist/styles/{theming/breakpoints.css → breakpoints.css} +0 -0
@@ -1,6 +1,6 @@
1
1
  <!-- GENERATED by scripts/gen-consumer-docs.mjs — do not edit. -->
2
2
 
3
- # `patterns/analytics`
3
+ # `blocks/analytics`
4
4
 
5
5
  Figures are summarised — metric tiles, trends, comparisons, a heatmap or a titled chart card.
6
6
 
@@ -14,8 +14,7 @@ Figures are summarised — metric tiles, trends, comparisons, a heatmap or a tit
14
14
  ## Import
15
15
 
16
16
  ```tsx fragment — import-only example
17
- import { ActivityHeatmap } from "themelia-ui/patterns/analytics"
18
- import "themelia-ui/patterns/analytics.css"
17
+ import { ActivityHeatmap } from "themelia-ui/blocks/analytics"
19
18
  ```
20
19
 
21
20
  ## Optional peers
@@ -96,7 +95,7 @@ date-fns locale: the heatmap needs abbreviations sized to its columns.
96
95
  | --- | :-: | --- | --- |
97
96
  | `metricErrorLabel` | yes | `string` | Shown in place of the figure when `error` is set. |
98
97
  | `metricProgressLabel` | yes | `(label: string) => string` | Names the `colored` variant's progress bar for a screen reader. |
99
- | `metricInfoLabel` | no | `string` | Names the info affordance beside a label that carries a `tooltip`. Optional for<br>backward compatibility; the default applies. |
98
+ | `metricInfoLabel` | yes | `string` | Names the info affordance beside a label that carries a `tooltip`. |
100
99
 
101
100
  ### `ChartCard`
102
101
 
@@ -162,6 +161,16 @@ Kind: callable.
162
161
 
163
162
  Kind: callable.
164
163
 
164
+ **Use when:** One quantitative measure needs value hierarchy and optional comparison, trend or progress.
165
+
166
+ **Avoid when:** An ordinary fact or a group that MetricGrid already arranges.
167
+
168
+ **Compose:** Read MetricProps for state and surface variants; they are not shared by every analytics export. The analytics module requires recharts.
169
+
170
+ **Capabilities:** single quantitative measure; metric comparison trend.
171
+
172
+ **Alternatives:** MetricGrid, MetadataList.
173
+
165
174
  ```text
166
175
  ({ data, variant, tone, showSparkline, showChange, showIcon, loading, error, strings, progress, className, ...props }: MetricProps) => import("react").JSX.Element
167
176
  ```
@@ -319,6 +328,16 @@ Four pairs off the categorical ramp. Named for the look, not for a meaning.
319
328
 
320
329
  Kind: callable.
321
330
 
331
+ **Use when:** Several quantitative measures need responsive tiles with comparison or trend.
332
+
333
+ **Avoid when:** Ordinary label/value facts, identifiers or prose summaries.
334
+
335
+ **Compose:** Pass MetricData and the period context. Use null for an unavailable quantity, zero for measured zero. The module requires recharts and already owns tile arrangement.
336
+
337
+ **Capabilities:** quantitative metrics; dashboard figures; responsive metric tiles.
338
+
339
+ **Alternatives:** Metric, MetadataList.
340
+
322
341
  ```text
323
342
  ({ metrics, variant, tone, columns, showSparklines, showChanges, showIcons, loading, className, ...props }: MetricGridProps) => import("react").JSX.Element
324
343
  ```
@@ -570,10 +589,34 @@ Kind: interface.
570
589
 
571
590
  Preview route: Analytics — `/analytics`
572
591
 
592
+ ### Communications overview reference
593
+
594
+ ```tsx fragment — excerpt from the live preview; surrounding values are supplied by the application
595
+ import { useState } from "react"
596
+ import { Button } from "themelia-ui/base/buttons"
597
+ import { Card } from "themelia-ui/base/cards"
598
+ import { MetadataList } from "themelia-ui/base/display"
599
+ import { Stack } from "themelia-ui/base/structure"
600
+ import { Text } from "themelia-ui/base/typography"
601
+ import { MetricGrid } from "themelia-ui/blocks/analytics"
602
+
603
+ export default function CommunicationsReference() {
604
+ const [retried, setRetried] = useState(false)
605
+ return <Stack>
606
+ <MetricGrid metrics={[{ id: "delivered", label: "Messages delivered during the selected reporting period", value: 128, valueType: "number" }, { id: "retry", label: "Messages awaiting retry", value: retried ? 0 : 3, valueType: "number" }]} variant="card" />
607
+ <Card title="Latest communication" headerAction={<Button disabled={retried} onClick={() => setRetried(true)}>Retry delivery</Button>}>
608
+ <MetadataList items={[{ id: "subject", label: "Subject", value: "Workspace invitation" }, { id: "status", label: "Delivery state", value: retried ? "Delivered" : "Retry available" }, { id: "recipient", label: "Recipient", value: "member@example.test" }, { id: "time", label: "Last attempt", value: { kind: "datetime", value: "2026-09-01T09:30:00Z" } }, { id: "opened", label: "Opened", value: "Unknown; tracking unavailable" }]} />
609
+ <Text>The application owns delivery policy and permission checks. Metrics describe quantities; this subject and its delivery facts stay in a record surface.</Text>
610
+ </Card>
611
+ <Text role="status">{retried ? "Mock retry completed" : "Mock delivery is waiting"}</Text>
612
+ </Stack>
613
+ }
614
+ ```
615
+
573
616
  ### Metric bar
574
617
 
575
618
  ```tsx fragment — excerpt from the live preview; surrounding values are supplied by the application
576
- import { MetricBar } from "themelia-ui/patterns/analytics"
619
+ import { MetricBar } from "themelia-ui/blocks/analytics"
577
620
 
578
621
  import { METRICS } from "./data"
579
622
 
@@ -591,7 +634,7 @@ export default function AnalyticsBar() {
591
634
  ### Metric grid
592
635
 
593
636
  ```tsx fragment — excerpt from the live preview; surrounding values are supplied by the application
594
- import { MetricGrid } from "themelia-ui/patterns/analytics"
637
+ import { MetricGrid } from "themelia-ui/blocks/analytics"
595
638
 
596
639
  import { METRICS } from "./data"
597
640
 
@@ -606,13 +649,13 @@ export default function AnalyticsGrid() {
606
649
 
607
650
  ```tsx fragment — excerpt from the live preview; surrounding values are supplied by the application
608
651
  import { Stack } from "themelia-ui/base/structure"
609
- import { Metric, MetricGrid } from "themelia-ui/patterns/analytics"
652
+ import { Metric, MetricGrid } from "themelia-ui/blocks/analytics"
610
653
 
611
654
  import { CHURN, FULFILMENT, ORDERS, REVENUE } from "./data"
612
655
 
613
656
  export default function AnalyticsVariants() {
614
657
  return (
615
- <Stack gap="xl">
658
+ <Stack>
616
659
  <MetricGrid metrics={[REVENUE, CHURN]} variant="bordered" columns={2} />
617
660
  <MetricGrid metrics={[ORDERS, FULFILMENT]} variant="compact" columns={2} />
618
661
  <MetricGrid metrics={[REVENUE, CHURN]} variant="accent" columns={2} />
@@ -626,7 +669,7 @@ export default function AnalyticsVariants() {
626
669
  ### Comparison
627
670
 
628
671
  ```tsx fragment — excerpt from the live preview; surrounding values are supplied by the application
629
- import { MetricComparison } from "themelia-ui/patterns/analytics"
672
+ import { MetricComparison } from "themelia-ui/blocks/analytics"
630
673
 
631
674
  export default function AnalyticsComparison() {
632
675
  return (
@@ -643,7 +686,7 @@ export default function AnalyticsComparison() {
643
686
  ### Gradient hero
644
687
 
645
688
  ```tsx fragment — excerpt from the live preview; surrounding values are supplied by the application
646
- import { MetricGradient } from "themelia-ui/patterns/analytics"
689
+ import { MetricGradient } from "themelia-ui/blocks/analytics"
647
690
 
648
691
  import { SERIES } from "./data"
649
692
 
@@ -666,7 +709,7 @@ export default function AnalyticsHero() {
666
709
  ### Micro grid
667
710
 
668
711
  ```tsx fragment — excerpt from the live preview; surrounding values are supplied by the application
669
- import { MetricMicroGrid } from "themelia-ui/patterns/analytics"
712
+ import { MetricMicroGrid } from "themelia-ui/blocks/analytics"
670
713
 
671
714
  const MICRO = [
672
715
  { label: "Sessions", value: "18.2k", data: [4, 9, 6, 12, 10, 17] },
@@ -690,7 +733,7 @@ export default function AnalyticsMicro() {
690
733
  import { Area, AreaChart, CartesianGrid, XAxis } from "recharts"
691
734
 
692
735
  import type { ChartConfig } from "themelia-ui/base/chart"
693
- import { ChartCard } from "themelia-ui/patterns/analytics"
736
+ import { ChartCard } from "themelia-ui/blocks/analytics"
694
737
 
695
738
  import { SERIES } from "./data"
696
739
 
@@ -721,7 +764,7 @@ export default function AnalyticsChartCard() {
721
764
  ```tsx fragment — excerpt from the live preview; surrounding values are supplied by the application
722
765
  import {
723
766
  ActivityHeatmap, type ActivityHeatmapDay, type ActivityLevel,
724
- } from "themelia-ui/patterns/analytics"
767
+ } from "themelia-ui/blocks/analytics"
725
768
 
726
769
  /* A fixed, cyclic pattern, not random data, for stable visual baselines. */
727
770
  const HEATMAP: ActivityHeatmapDay[] = Array.from({ length: 182 }, (_, index) => {
@@ -742,7 +785,7 @@ export default function AnalyticsHeatmap() {
742
785
  ### Time ruler
743
786
 
744
787
  ```tsx fragment — excerpt from the live preview; surrounding values are supplied by the application
745
- import { TimeRuler } from "themelia-ui/patterns/analytics"
788
+ import { TimeRuler } from "themelia-ui/blocks/analytics"
746
789
 
747
790
  const HOURS = [
748
791
  0, 0, 0, 0, 1, 2, 5, 9, 14, 18, 22, 25,
@@ -1,6 +1,6 @@
1
1
  <!-- GENERATED by scripts/gen-consumer-docs.mjs — do not edit. -->
2
2
 
3
- # `patterns/onboarding`
3
+ # `blocks/onboarding`
4
4
 
5
5
  A checklist tracks setup tasks the user completes over time.
6
6
 
@@ -8,14 +8,13 @@ A checklist tracks setup tasks the user completes over time.
8
8
 
9
9
  - **Use when:** A checklist tracks setup tasks the user completes over time.
10
10
  - **Avoid when:** The steps are one linear flow with a current position.
11
- - **Consider instead:** `patterns/timelines`
11
+ - **Consider instead:** `blocks/timelines`
12
12
  - **Stability:** stable.
13
13
 
14
14
  ## Import
15
15
 
16
16
  ```tsx fragment — import-only example
17
- import { Checklist } from "themelia-ui/patterns/onboarding"
18
- import "themelia-ui/patterns/onboarding.css"
17
+ import { Checklist } from "themelia-ui/blocks/onboarding"
19
18
  ```
20
19
 
21
20
  ## Composition
@@ -106,7 +105,7 @@ import { Badge } from "themelia-ui/base/badge"
106
105
  import { Button } from "themelia-ui/base/buttons"
107
106
  import { Stack } from "themelia-ui/base/structure"
108
107
  import { Text } from "themelia-ui/base/typography"
109
- import { Checklist } from "themelia-ui/patterns/onboarding"
108
+ import { Checklist } from "themelia-ui/blocks/onboarding"
110
109
 
111
110
  export default function BlocksChecklist() {
112
111
  return (
@@ -120,11 +119,11 @@ export default function BlocksChecklist() {
120
119
  title: "Connect a data source",
121
120
  badge: <Badge tone="warning">Required</Badge>,
122
121
  content: (
123
- <Stack gap="md">
122
+ <Stack gap="sm">
124
123
  <Text type="secondary">Pick where your data lives. You can add more later.</Text>
125
124
  <Stack direction="horizontal" gap="sm" wrap>
126
125
  <Button tone="primary">Connect Postgres</Button>
127
- <Button tone="secondary" buttonStyle="outline">Upload a CSV</Button>
126
+ <Button tone="secondary" appearance="outline">Upload a CSV</Button>
128
127
  </Stack>
129
128
  </Stack>
130
129
  ),
@@ -1,6 +1,6 @@
1
1
  <!-- GENERATED by scripts/gen-consumer-docs.mjs — do not edit. -->
2
2
 
3
- # `patterns/timelines`
3
+ # `blocks/timelines`
4
4
 
5
5
  A sequence is presented as changelog entries, milestones, or a step tracker.
6
6
 
@@ -14,8 +14,7 @@ A sequence is presented as changelog entries, milestones, or a step tracker.
14
14
  ## Import
15
15
 
16
16
  ```tsx fragment — import-only example
17
- import { ChangelogTimeline } from "themelia-ui/patterns/timelines"
18
- import "themelia-ui/patterns/timelines.css"
17
+ import { ChangelogTimeline } from "themelia-ui/blocks/timelines"
19
18
  ```
20
19
 
21
20
  ## Composition
@@ -231,7 +230,7 @@ Preview route: Timelines, onboarding & admin — `/blocks-admin`
231
230
  ### Changelog
232
231
 
233
232
  ```tsx fragment — excerpt from the live preview; surrounding values are supplied by the application
234
- import { ChangelogTimeline, type ChangelogEntry } from "themelia-ui/patterns/timelines"
233
+ import { ChangelogTimeline, type ChangelogEntry } from "themelia-ui/blocks/timelines"
235
234
 
236
235
  const CHANGELOG: ChangelogEntry[] = [
237
236
  {
@@ -277,7 +276,7 @@ export default function BlocksChangelog() {
277
276
  ### Milestones
278
277
 
279
278
  ```tsx fragment — excerpt from the live preview; surrounding values are supplied by the application
280
- import { MilestonesTimeline, type Milestone } from "themelia-ui/patterns/timelines"
279
+ import { MilestonesTimeline, type Milestone } from "themelia-ui/blocks/timelines"
281
280
 
282
281
  const MILESTONES: Milestone[] = [
283
282
  { id: "1", title: "Discovery", description: "Interviews with eight teams.", status: "completed", dueDate: "12 Jun" },
@@ -298,7 +297,7 @@ export default function BlocksMilestones() {
298
297
 
299
298
  ```tsx fragment — excerpt from the live preview; surrounding values are supplied by the application
300
299
  import { Stack } from "themelia-ui/base/structure"
301
- import { Steps, StepsBar, type Step } from "themelia-ui/patterns/timelines"
300
+ import { Steps, StepsBar, type Step } from "themelia-ui/blocks/timelines"
302
301
 
303
302
  const STEPS: Step[] = [
304
303
  { id: "1", title: "Create your workspace", description: "Name it and pick a region.", status: "completed", timestamp: "Done 14 Aug" },
@@ -309,7 +308,7 @@ const STEPS: Step[] = [
309
308
 
310
309
  export default function BlocksSteps() {
311
310
  return (
312
- <Stack gap="2xl">
311
+ <Stack>
313
312
  <StepsBar steps={STEPS} />
314
313
  <Steps steps={STEPS} />
315
314
  </Stack>
@@ -15,7 +15,6 @@ The same operation runs from a table row, a card menu and the command palette, a
15
15
 
16
16
  ```tsx fragment — import-only example
17
17
  import { ActionHttpError } from "themelia-ui/features/actions"
18
- import "themelia-ui/features/actions.css"
19
18
  ```
20
19
 
21
20
  ## Composition
@@ -35,12 +34,12 @@ Kind: const.
35
34
  unknown
36
35
  ```
37
36
 
38
- ### `ActionButtonStyle`
37
+ ### `ActionAppearance`
39
38
 
40
39
  Kind: type.
41
40
 
42
41
  ```text
43
- (typeof ACTION_BUTTON_STYLES)[number]
42
+ (typeof ACTION_APPEARANCES)[number]
44
43
  ```
45
44
 
46
45
  ### `ActionContext`
@@ -266,7 +265,6 @@ Kind: interface.
266
265
  | `confirmLabel` | no | `ActionMessage<TPayload, TValues, TResult>` | |
267
266
  | `cancelLabel` | no | `ActionMessage<TPayload, TValues, TResult>` | |
268
267
  | `tone` | no | `ActionTone` | |
269
- | `size` | no | `ActionOverlaySize` | |
270
268
  | `drawerDirection` | no | `ActionDrawerDirection` | |
271
269
  | `formId` | no | `string` | |
272
270
  | `showCancel` | no | `boolean` | |
@@ -281,7 +279,7 @@ Kind: interface.
281
279
  | `closeOnEscape` | no | `boolean` | |
282
280
  | `closeOnSuccess` | no | `boolean` | |
283
281
  | `closeOnBackdropClick` | no | `boolean` | |
284
- | `confirmStyle` | no | `Extract<ActionButtonStyle, 'solid' \| 'outline'>` | |
282
+ | `confirmAppearance` | no | `Extract<ActionAppearance, 'solid' \| 'outline'>` | |
285
283
  | `footer` | no | `ReactNode` | |
286
284
  | `alertMessage` | no | `ActionMessage<TPayload, TValues, TResult>` | |
287
285
  | `render` | no | `BivariantCallback<[ context: ActionRenderContext<TPayload, TValues> ], ReactNode>` | |
@@ -313,14 +311,6 @@ Kind: interface.
313
311
  | --- | :-: | --- | --- |
314
312
  | `strings` | no | `StringsProp<ActionOverlayStrings>` | |
315
313
 
316
- ### `ActionOverlaySize`
317
-
318
- Kind: type.
319
-
320
- ```text
321
- 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | '4xl' | '5xl' | 'full'
322
- ```
323
-
324
314
  ### `ActionOverlayStrings`
325
315
 
326
316
  Kind: interface.
@@ -787,7 +777,7 @@ Kind: callable.
787
777
  Kind: callable.
788
778
 
789
779
  ```text
790
- (action: ResolvedAction<TPayload, TValues, TResult>) => { label: string; onClick: () => void; disabled: boolean; icon: import('react').ComponentType<{ className?: string; }> | undefined; tone: string; buttonStyle: string | undefined; }
780
+ (action: ResolvedAction<TPayload, TValues, TResult>) => { label: string; onClick: () => void; disabled: boolean; icon: import('react').ComponentType<{ className?: string; }> | undefined; tone: string; appearance: string | undefined; }
791
781
  ```
792
782
 
793
783
  ### `toPageAction`
@@ -795,7 +785,7 @@ Kind: callable.
795
785
  Kind: callable.
796
786
 
797
787
  ```text
798
- (action: ResolvedAction<TPayload, TValues, TResult>) => { id: string; label: import('react').ReactNode; onClick: () => void; disabled: boolean; loading: boolean; icon: import('react').ComponentType<{ className?: string; }> | undefined; tone: string | undefined; buttonStyle: string | undefined; visible: boolean; group: string | undefined; placement: ActionPlacement; }
788
+ (action: ResolvedAction<TPayload, TValues, TResult>) => { id: string; label: import('react').ReactNode; onClick: () => void; disabled: boolean; loading: boolean; icon: import('react').ComponentType<{ className?: string; }> | undefined; tone: string | undefined; appearance: string | undefined; visible: boolean; group: string | undefined; placement: ActionPlacement; }
799
789
  ```
800
790
 
801
791
  ### `toTableAction`
@@ -803,7 +793,7 @@ Kind: callable.
803
793
  Kind: callable.
804
794
 
805
795
  ```text
806
- (action: ResolvedAction<TData>) => { id: string; label: string; onClick: (row: TData) => void; disabled: boolean; isDisabled: () => boolean; isVisible: () => boolean; icon: import('react').ReactElement<{ className?: string; }, string | import('react').JSXElementConstructor<any>> | undefined; tone: string; buttonStyle: string | undefined; }
796
+ (action: ResolvedAction<TData>) => { id: string; label: string; onClick: (row: TData) => void; disabled: boolean; isDisabled: () => boolean; isVisible: () => boolean; icon: import('react').ReactElement<{ className?: string; }, string | import('react').JSXElementConstructor<any>> | undefined; tone: string; appearance: string | undefined; }
807
797
  ```
808
798
 
809
799
  ### `useAction`
@@ -970,8 +960,8 @@ function ActionsDemo() {
970
960
  const cardActions = useActionSurface({ surface: "card", scope: "invoice", payload: "INV-4418" })
971
961
 
972
962
  return (
973
- <Stack gap="xl" style={{ width: "100%" }}>
974
- <Stack direction="horizontal" gap="md" align="center">
963
+ <Stack style={{ width: "100%" }}>
964
+ <Stack direction="horizontal" gap="sm" align="center">
975
965
  {pageActions.map((action) => (
976
966
  <Button
977
967
  key={action.key}
@@ -8,14 +8,13 @@ An audit or activity log renders actor, change and time, grouped by day.
8
8
 
9
9
  - **Use when:** An audit or activity log renders actor, change and time, grouped by day.
10
10
  - **Avoid when:** The entries are milestones or a changelog, or the thread is a discussion.
11
- - **Consider instead:** `patterns/timelines`, `features/comments`
11
+ - **Consider instead:** `blocks/timelines`, `features/comments`
12
12
  - **Stability:** stable.
13
13
 
14
14
  ## Import
15
15
 
16
16
  ```tsx fragment — import-only example
17
17
  import { ActivityActionsMenu } from "themelia-ui/features/activities"
18
- import "themelia-ui/features/activities.css"
19
18
  ```
20
19
 
21
20
  ## Optional peers
@@ -144,20 +143,6 @@ renders nothing.
144
143
  ({ label, first, className, }: { label: string; first: boolean; className?: string; }) => import("react").JSX.Element | null
145
144
  ```
146
145
 
147
- ### `ActivityDensity`
148
-
149
- Kind: type.
150
-
151
- How much of a row is drawn.
152
-
153
- `compact` a dot and one line, for an audit trail read by scanning.
154
- `default` an icon and a second line, for a record's own history.
155
- `rich` the whole row: metadata, changes, resources, actions.
156
-
157
- ```text
158
- "compact" | "default" | "rich"
159
- ```
160
-
161
146
  ### `ActivityEmptyState`
162
147
 
163
148
  Kind: callable.
@@ -254,7 +239,7 @@ The timeline of events, grouped by date on one rail.
254
239
  **Alternatives:** Comments, ActivityLog.
255
240
 
256
241
  ```text
257
- ({ activities, density, itemSpacing, groupByDate, expandedByDefault, detailsCollapsible, defaultExpandedIds, expandedIds, onExpandedIdsChange, currentUserId, loading, error, onRetry, eventConfig, strings, slots, rowClassNames, className, locale, formatRelativeTime, formatAbsoluteTime, formatDateGroupLabel, getSourceLabel, actionsForActivity, onActivityClick, onActorClick, onResourceClick, onAction, onActivityExpandedChange, resources, onResourcesChange, }: ActivityFeedProps<TData>) => import("react").JSX.Element
242
+ ({ activities, variant, itemSpacing, groupByDate, expandedByDefault, detailsCollapsible, defaultExpandedIds, expandedIds, onExpandedIdsChange, currentUserId, loading, error, onRetry, eventConfig, strings, slots, rowClassNames, className, locale, formatRelativeTime, formatAbsoluteTime, formatDateGroupLabel, getSourceLabel, actionsForActivity, onActivityClick, onActorClick, onResourceClick, onAction, onActivityExpandedChange, resources, onResourcesChange, }: ActivityFeedProps<TData>) => import("react").JSX.Element
258
243
  ```
259
244
 
260
245
  ### `ActivityFeedAccessors`
@@ -291,7 +276,7 @@ Extends: `ActivityFeedAccessors<TData>`, `ActivityFeedCallbacks<TData>`, `Activi
291
276
  | member | required | type | description / documented default |
292
277
  | --- | :-: | --- | --- |
293
278
  | `activities` | no | `ReadonlyArray<ActivityItem<TData>>` | In display order. Grouped by date as they come, not bucketed — bucketing would silently<br>reorder a feed sorted by something other than date. |
294
- | `density` | no | `ActivityDensity` | How much of a row is drawn. `rich` adds metadata, changes, resources, and actions. |
279
+ | `variant` | no | `ActivityVariant` | How much of a row is drawn. `rich` adds metadata, changes, resources, and actions. |
295
280
  | `itemSpacing` | no | `ActivityItemSpacing` | The rhythm between rows, independent of how much each row draws. |
296
281
  | `groupByDate` | no | `boolean` | |
297
282
  | `expandedByDefault` | no | `boolean` | |
@@ -391,7 +376,7 @@ Kind: type.
391
376
  The rhythm between rows, independent of how much each row draws.
392
377
 
393
378
  ```text
394
- "compact" | "default" | "relaxed"
379
+ "default" | "sm"
395
380
  ```
396
381
 
397
382
  ### `ActivityKeyedItem`
@@ -595,7 +580,7 @@ The dot on the rail. It knows whether it is last, because the connector below it
595
580
  tells a reader the run has ended.
596
581
 
597
582
  ```text
598
- ({ icon, tone, density, last, className }: ActivityMarkerProps) => import("react").JSX.Element
583
+ ({ icon, tone, variant, last, className }: ActivityMarkerProps) => import("react").JSX.Element
599
584
  ```
600
585
 
601
586
  ### `ActivityMarkerProps`
@@ -606,7 +591,7 @@ Kind: interface.
606
591
  | --- | :-: | --- | --- |
607
592
  | `icon` | yes | `ReactNode` | |
608
593
  | `tone` | yes | `ActivityTone` | |
609
- | `density` | yes | `ActivityDensity` | |
594
+ | `variant` | yes | `ActivityVariant` | |
610
595
  | `last` | yes | `boolean` | The rail stops at the last row rather than running into nothing. |
611
596
  | `className` | no | `string` | |
612
597
 
@@ -618,7 +603,7 @@ Everything a custom renderer needs about where its row sits.
618
603
 
619
604
  | member | required | type | description / documented default |
620
605
  | --- | :-: | --- | --- |
621
- | `density` | yes | `ActivityDensity` | |
606
+ | `variant` | yes | `ActivityVariant` | |
622
607
  | `isLast` | yes | `boolean` | |
623
608
  | `isFirstInGroup` | yes | `boolean` | |
624
609
  | `activity` | yes | `ActivityItem<TData>` | |
@@ -704,12 +689,12 @@ Kind: interface.
704
689
 
705
690
  Kind: callable.
706
691
 
707
- One entry on the rail. Density changes the marker size and the row rhythm together —
692
+ One entry on the rail. The variant changes the marker size and the row rhythm together —
708
693
  changing one without the other is what makes a compact feed look mis-aligned rather than
709
694
  dense.
710
695
 
711
696
  ```text
712
- ({ activity, density, itemSpacing, eventConfig, tone, last, expanded, onExpandedChange, detailsCollapsible, detailLabels, relativeTime, absoluteTime, sourceLabel, youLabel, showChangesLabel, hideChangesLabel, moreLabel, actionsLabel, currentUserId, actions, onActivityClick, onActorClick, onResourceClick, onAction, getResourceConfig, headlineOverride, markerOverride, customDetails, rowClassName, markerClassName, contentClassName, detailsClassName, }: ActivityRowProps<TData>) => import("react").JSX.Element
697
+ ({ activity, variant, itemSpacing, eventConfig, tone, last, expanded, onExpandedChange, detailsCollapsible, detailLabels, relativeTime, absoluteTime, sourceLabel, youLabel, showChangesLabel, hideChangesLabel, moreLabel, actionsLabel, currentUserId, actions, onActivityClick, onActorClick, onResourceClick, onAction, getResourceConfig, headlineOverride, markerOverride, customDetails, rowClassName, markerClassName, contentClassName, detailsClassName, }: ActivityRowProps<TData>) => import("react").JSX.Element
713
698
  ```
714
699
 
715
700
  ### `ActivityRowClassNames`
@@ -740,7 +725,7 @@ Kind: interface.
740
725
  | member | required | type | description / documented default |
741
726
  | --- | :-: | --- | --- |
742
727
  | `activity` | yes | `ActivityItem<TData>` | |
743
- | `density` | yes | `ActivityDensity` | |
728
+ | `variant` | yes | `ActivityVariant` | |
744
729
  | `itemSpacing` | yes | `ActivityItemSpacing` | |
745
730
  | `eventConfig` | yes | `ActivityEventConfig` | |
746
731
  | `tone` | yes | `ActivityTone` | |
@@ -780,6 +765,20 @@ Kind: type.
780
765
  SemanticTone
781
766
  ```
782
767
 
768
+ ### `ActivityVariant`
769
+
770
+ Kind: type.
771
+
772
+ How much of a row is drawn.
773
+
774
+ `compact` a dot and one line, for an audit trail read by scanning.
775
+ `default` an icon and a second line, for a record's own history.
776
+ `rich` the whole row: metadata, changes, resources, actions.
777
+
778
+ ```text
779
+ "compact" | "default" | "rich"
780
+ ```
781
+
783
782
  ### `createActivityEventAdapter`
784
783
 
785
784
  Kind: callable.
@@ -926,13 +925,13 @@ import { ExternalLinkIcon, RotateCwIcon } from "lucide-react"
926
925
  import { PillRadioGroup, Select } from "themelia-ui/base/choice-inputs"
927
926
  import { Stack } from "themelia-ui/base/structure"
928
927
  import { Text } from "themelia-ui/base/typography"
929
- import { ActivityFeed, type ActivityDensity } from "themelia-ui/features/activities"
928
+ import { ActivityFeed, type ActivityVariant } from "themelia-ui/features/activities"
930
929
 
931
930
  import styles from "./activities.module.css"
932
931
  import { ACTIVITIES, REGISTRY } from "./data"
933
932
 
934
933
  export default function ActivityFeedExample() {
935
- const [density, setDensity] = useState<ActivityDensity>("rich")
934
+ const [variant, setVariant] = useState<ActivityVariant>("rich")
936
935
  const [activities, setActivities] = useState(ACTIVITIES)
937
936
  const [feedState, setFeedState] = useState("ready")
938
937
  const [log, setLog] = useState<string[]>([])
@@ -943,8 +942,8 @@ export default function ActivityFeedExample() {
943
942
  <>
944
943
  <Stack direction="horizontal" gap="sm" wrap>
945
944
  <PillRadioGroup
946
- value={density}
947
- onValueChange={(next) => next && setDensity(next as ActivityDensity)}
945
+ value={variant}
946
+ onValueChange={(next) => next && setVariant(next as ActivityVariant)}
948
947
  options={[
949
948
  { value: "compact", label: "compact" },
950
949
  { value: "default", label: "default" },
@@ -965,7 +964,7 @@ export default function ActivityFeedExample() {
965
964
  loading={feedState === "refreshing" || feedState === "loading"}
966
965
  error={feedState === "error" || feedState === "initial-error" ? "The activity service is unavailable. Try again to reload history." : undefined}
967
966
  onRetry={() => setFeedState("ready")}
968
- density={density}
967
+ variant={variant}
969
968
  currentUserId="u1"
970
969
  resources={REGISTRY}
971
970
  onActorClick={(actor) => note(`actor: ${actor.name}`)}
@@ -1041,8 +1040,8 @@ export default function ActivityLogExample() {
1041
1040
  return (
1042
1041
  <>
1043
1042
  <Stack direction="horizontal" gap="sm" wrap>
1044
- <Button tone="neutral" buttonStyle="outline" onClick={() => setEntries([])} disabled={entries.length === 0}>Show empty log</Button>
1045
- <Button tone="neutral" buttonStyle="outline" onClick={() => setEntries(ENTRIES)}>Restore sample</Button>
1043
+ <Button tone="neutral" appearance="outline" onClick={() => setEntries([])} disabled={entries.length === 0}>Show empty log</Button>
1044
+ <Button tone="neutral" appearance="outline" onClick={() => setEntries(ENTRIES)}>Restore sample</Button>
1046
1045
  <Select aria-label="Log state" value={logState} className={styles.stateSelect}
1047
1046
  options={[{ value: "ready", label: "Loaded" }, { value: "loading", label: "Updating" }, { value: "error", label: "Failed" }]}
1048
1047
  onValueChange={(value) => value && setLogState(value)} />
@@ -15,7 +15,6 @@ A conversational surface streams assistant messages, tool calls, artifacts and a
15
15
 
16
16
  ```tsx fragment — import-only example
17
17
  import { AiAgent } from "themelia-ui/features/ai-chat"
18
- import "themelia-ui/features/ai-chat.css"
19
18
  ```
20
19
 
21
20
  ## Composition
@@ -814,7 +813,7 @@ waiting on. It paints through `background-clip`, so its colour is transparent by
814
813
  contrast probe reading `color` alone will call it a 1:1 failure.
815
814
 
816
815
  ```text
817
- ({ children, paused, duration, className, }: AiShimmerProps) => import("react").JSX.Element
816
+ ({ children, paused, duration, size, className, }: AiShimmerProps) => import("react").JSX.Element
818
817
  ```
819
818
 
820
819
  ### `AiShimmerProps`
@@ -826,6 +825,7 @@ Kind: interface.
826
825
  | `children` | no | `ReactNode` | Defaults to the "Thinking…" placeholder. |
827
826
  | `paused` | no | `boolean` | Renders the text still, in the muted foreground. |
828
827
  | `duration` | no | `number` | Sweep duration, in seconds. |
828
+ | `size` | no | `TextProps["size"]` | Step on the type scale, as on `Text`. Unset, the provider's default size. |
829
829
  | `className` | no | `string` | |
830
830
 
831
831
  ### `AiSourceItem`
@@ -895,7 +895,7 @@ One task of an agent's plan, with its status and its sub-tasks. A task reports w
895
895
  done, not merely that something is.
896
896
 
897
897
  ```text
898
- ({ task, density, indent, className, strings, }: AiTaskProps) => import("react").JSX.Element
898
+ ({ task, defaultExpanded, indent, className, strings, }: AiTaskProps) => import("react").JSX.Element
899
899
  ```
900
900
 
901
901
  ### `AiTaskItem`
@@ -919,8 +919,8 @@ Kind: interface.
919
919
  | member | required | type | description / documented default |
920
920
  | --- | :-: | --- | --- |
921
921
  | `task` | yes | `AiTaskItem` | |
922
- | `density` | no | `"compact" \| "expanded"` | `compact` collapses the sub-tasks behind a toggle; `expanded` always shows them. |
923
- | `indent` | no | `number` | Indent per nesting level, as a multiple of `--space-xl`. |
922
+ | `defaultExpanded` | no | `boolean` | Opens every level of sub-tasks at first. Off, only the top level starts open and the rest<br>sit behind their toggles. @default false |
923
+ | `indent` | no | `number` | Indent per nesting level, as a multiple of `--padding`. |
924
924
  | `className` | no | `string` | |
925
925
  | `strings` | no | `Partial<Strings.AiTaskStrings>` | |
926
926
 
@@ -1249,7 +1249,7 @@ export default function Chat() {
1249
1249
  status: streaming ? "working" : "idle",
1250
1250
  }}
1251
1251
  headerActions={
1252
- <Button type="button" tone="neutral" buttonStyle="ghost" onClick={() => note("settings")}>
1252
+ <Button type="button" tone="neutral" appearance="ghost" onClick={() => note("settings")}>
1253
1253
  Settings
1254
1254
  </Button>
1255
1255
  }
@@ -1294,7 +1294,7 @@ export default function Turn() {
1294
1294
 
1295
1295
  return (
1296
1296
  <>
1297
- <Stack gap="lg">
1297
+ <Stack>
1298
1298
  <AiMessageBubble
1299
1299
  role="user"
1300
1300
  authorName="You"
@@ -1357,7 +1357,7 @@ const CHAIN = [
1357
1357
 
1358
1358
  export default function Thinking() {
1359
1359
  return (
1360
- <Stack gap="lg">
1360
+ <Stack>
1361
1361
  <AiReasoning durationSeconds={4}>
1362
1362
  The totals are summed as floats. 0.1 + 0.2 is 0.30000000000000004, and rounding
1363
1363
  each line before summing compounds the error across a long invoice.
@@ -1366,7 +1366,7 @@ export default function Thinking() {
1366
1366
  Checking whether the backfill needs to run per tenant…
1367
1367
  </AiReasoning>
1368
1368
  <AiChainOfThought steps={CHAIN} streaming />
1369
- <AiTask task={PLAN} density="expanded" />
1369
+ <AiTask task={PLAN} defaultExpanded />
1370
1370
  </Stack>
1371
1371
  )
1372
1372
  }
@@ -1382,7 +1382,7 @@ import { AiToolCall } from "themelia-ui/features/ai-chat"
1382
1382
 
1383
1383
  export default function Tools() {
1384
1384
  return (
1385
- <Stack gap="md">
1385
+ <Stack gap="sm">
1386
1386
  <AiToolCall name="read_file" status="pending" />
1387
1387
  <AiToolCall
1388
1388
  name="search_codebase"
@@ -1432,7 +1432,7 @@ export default function Output() {
1432
1432
 
1433
1433
  return (
1434
1434
  <>
1435
- <Stack gap="lg">
1435
+ <Stack>
1436
1436
  <AiArtifact
1437
1437
  title="totals.ts"
1438
1438
  subtitle="TypeScript · 11 lines"
@@ -1453,7 +1453,7 @@ export default function Output() {
1453
1453
  <AiSources sources={SOURCES} defaultExpanded />
1454
1454
  <AiSources sources={SOURCES} variant="avatars" />
1455
1455
 
1456
- <Stack direction="horizontal" gap="md" wrap>
1456
+ <Stack direction="horizontal" gap="sm" wrap>
1457
1457
  {attachments.map((attachment) => (
1458
1458
  <AiAttachment
1459
1459
  key={attachment.id}
@@ -1497,7 +1497,7 @@ export default function Approval() {
1497
1497
  const [approval, setApproval] = useState<"pending" | "approved" | "rejected">("pending")
1498
1498
 
1499
1499
  return (
1500
- <Stack gap="lg">
1500
+ <Stack>
1501
1501
  <AiConfirmation
1502
1502
  title="Run the backfill on 4,102 invoices"
1503
1503
  description="Rewrites every stored amount into cents. There is no undo."
@@ -1507,8 +1507,8 @@ export default function Approval() {
1507
1507
  onReject={() => setApproval("rejected")}
1508
1508
  />
1509
1509
  {approval !== "pending" && (
1510
- <Stack direction="horizontal" gap="md">
1511
- <Button type="button" tone="neutral" buttonStyle="outline" onClick={() => setApproval("pending")}>
1510
+ <Stack direction="horizontal" gap="sm">
1511
+ <Button type="button" tone="neutral" appearance="outline" onClick={() => setApproval("pending")}>
1512
1512
  Ask again
1513
1513
  </Button>
1514
1514
  </Stack>