themelia-ui 3.0.0 → 3.1.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 (709) hide show
  1. package/.agents/skills/themelia-ui/SKILL.md +27 -29
  2. package/.agents/skills/themelia-ui/references/api-compatibility.md +3 -3
  3. package/.agents/skills/themelia-ui/references/composition.md +2 -18
  4. package/.agents/skills/themelia-ui/references/framework-wiring.md +8 -8
  5. package/.agents/skills/themelia-ui/references/imports.md +104 -104
  6. package/.agents/skills/themelia-ui/references/installation.md +55 -27
  7. package/.agents/skills/themelia-ui/references/migration.md +136 -5
  8. package/.agents/skills/themelia-ui/references/provider-and-scoping.md +13 -19
  9. package/.agents/skills/themelia-ui/references/theming.md +170 -131
  10. package/.agents/skills/themelia-ui/references/troubleshooting.md +62 -27
  11. package/.agents/skills/themelia-ui/references/verification.md +2 -3
  12. package/CHANGELOG.md +187 -0
  13. package/README.md +45 -60
  14. package/dist/accordion-CHuzMmWL.js +143 -0
  15. package/dist/{action-menu-BNLURfMK.js → action-menu-BwiL_F6I.js} +35 -33
  16. package/dist/{alert-dialog-BMVo6Z-8.js → alert-dialog-Bmo1YrTm.js} +1 -1
  17. package/dist/avatar-Dc_BNYfB.js +93 -0
  18. package/dist/badge-VlJVZjdm.js +45 -0
  19. package/dist/base/accordion.js +1 -1
  20. package/dist/base/action-menu.js +1 -1
  21. package/dist/base/alert-dialog.js +1 -1
  22. package/dist/base/aspect-ratio.js +3 -1
  23. package/dist/base/avatar.js +1 -1
  24. package/dist/base/badge.js +2 -2
  25. package/dist/base/batch-action-bar.js +1 -1
  26. package/dist/base/buttons.js +1 -1
  27. package/dist/base/cards.js +1 -1
  28. package/dist/base/carousel.js +6 -4
  29. package/dist/base/chart.js +1 -1
  30. package/dist/base/choice-inputs.js +1 -1
  31. package/dist/base/combobox.js +1 -1
  32. package/dist/base/command.js +1 -1
  33. package/dist/base/context-menu.js +22 -21
  34. package/dist/base/copyable.js +1 -1
  35. package/dist/base/date-pickers.js +1 -1
  36. package/dist/base/dialog.js +1 -1
  37. package/dist/base/display.js +1 -1
  38. package/dist/base/dropdown-menu.js +1 -1
  39. package/dist/base/feedback.js +1 -1
  40. package/dist/base/forms-numeric.js +1 -1
  41. package/dist/base/forms.js +1 -1
  42. package/dist/base/hover-card.js +26 -23
  43. package/dist/base/input-group.js +1 -1
  44. package/dist/base/item.js +1 -1
  45. package/dist/base/label.js +1 -1
  46. package/dist/base/menubar.js +20 -14
  47. package/dist/base/navigation-menu.js +47 -38
  48. package/dist/base/navigation.js +1 -1
  49. package/dist/base/otp-input.js +36 -30
  50. package/dist/base/overlay.js +1 -1
  51. package/dist/base/popover-menu.js +1 -1
  52. package/dist/base/popover.js +1 -1
  53. package/dist/base/qr-code.js +51 -47
  54. package/dist/base/repeaters.js +1 -1
  55. package/dist/base/resizable.js +2 -0
  56. package/dist/base/sheet.js +1 -1
  57. package/dist/base/sidebar.js +1 -1
  58. package/dist/base/skeleton.js +1 -1
  59. package/dist/base/spinner.js +1 -1
  60. package/dist/base/structure.js +1 -1
  61. package/dist/base/table.js +1 -1
  62. package/dist/base/text-inputs.js +1 -1
  63. package/dist/base/timeline.js +1 -1
  64. package/dist/base/toaster.js +1 -1
  65. package/dist/base/toggle.js +21 -15
  66. package/dist/base/toolbar.js +1 -1
  67. package/dist/base/tooltip.js +1 -1
  68. package/dist/base/typography.js +2 -2
  69. package/dist/base/upload.js +1 -1
  70. package/dist/base/value-inputs.js +1 -1
  71. package/dist/{batch-action-bar-BZYNKXdV.js → batch-action-bar-DZVMVW83.js} +11 -8
  72. package/dist/{admin/patterns → blocks/admin}/access.js +79 -76
  73. package/dist/blocks/admin/commerce.js +2493 -0
  74. package/dist/{patterns → blocks}/analytics.js +312 -303
  75. package/dist/{patterns → blocks}/onboarding.js +27 -23
  76. package/dist/{patterns → blocks}/timelines.js +1 -1
  77. package/dist/buttons-BX2JfL5X.js +173 -0
  78. package/dist/cards-DdiICdMM.js +279 -0
  79. package/dist/chart-BkK3Xm10.js +201 -0
  80. package/dist/choice-inputs-CCw-0gD6.js +694 -0
  81. package/dist/combobox-Byu8N-Oe.js +274 -0
  82. package/dist/command-CnB_IZSo.js +156 -0
  83. package/dist/comments-C6Y_ddMt.js +1443 -0
  84. package/dist/components/base/action-menu/action-menu.d.ts +1 -1
  85. package/dist/components/base/action-menu/action-menu.types.d.ts +2 -2
  86. package/dist/components/base/avatar/avatar.d.ts +5 -2
  87. package/dist/components/base/badge/badge.d.ts +10 -10
  88. package/dist/components/base/badge/badge.variants.d.ts +1 -2
  89. package/dist/components/base/badge/index.d.ts +1 -2
  90. package/dist/components/base/buttons/button.d.ts +9 -8
  91. package/dist/components/base/buttons/button.types.d.ts +2 -2
  92. package/dist/components/base/buttons/index.d.ts +1 -1
  93. package/dist/components/base/buttons/text-button.d.ts +1 -1
  94. package/dist/components/base/cards/card-actions.d.ts +1 -1
  95. package/dist/components/base/cards/card.d.ts +3 -1
  96. package/dist/components/base/cards/partials/card-header.d.ts +2 -1
  97. package/dist/components/base/choice-inputs/choice.types.d.ts +2 -2
  98. package/dist/components/base/choice-inputs/partials/choice-parts.d.ts +3 -3
  99. package/dist/components/base/command/command.d.ts +5 -2
  100. package/dist/components/base/display/icon-badge.d.ts +5 -3
  101. package/dist/components/base/display/index.d.ts +1 -1
  102. package/dist/components/base/display/metadata-list.d.ts +6 -6
  103. package/dist/components/base/display/metadata-value.d.ts +1 -1
  104. package/dist/components/base/display/separator.d.ts +2 -2
  105. package/dist/components/base/feedback/alert.d.ts +3 -2
  106. package/dist/components/base/feedback/empty.d.ts +5 -4
  107. package/dist/components/base/feedback/progress-circle.d.ts +2 -2
  108. package/dist/components/base/feedback/progress.d.ts +3 -1
  109. package/dist/components/base/input-group/input-group.d.ts +8 -10
  110. package/dist/components/base/item/item.d.ts +2 -2
  111. package/dist/components/base/overlay/index.d.ts +1 -1
  112. package/dist/components/base/overlay/overlay.types.d.ts +7 -5
  113. package/dist/components/base/qr-code/qr-code.d.ts +4 -4
  114. package/dist/components/base/sheet/sheet.d.ts +1 -1
  115. package/dist/components/base/sidebar/sidebar.d.ts +9 -13
  116. package/dist/components/base/spinner/spinner.d.ts +2 -2
  117. package/dist/components/base/structure/adaptive-grid.d.ts +3 -3
  118. package/dist/components/base/structure/bleed.d.ts +3 -2
  119. package/dist/components/base/structure/grid.d.ts +2 -2
  120. package/dist/components/base/structure/index.d.ts +1 -1
  121. package/dist/components/base/structure/split.d.ts +3 -3
  122. package/dist/components/base/structure/stack.d.ts +5 -5
  123. package/dist/components/base/structure/structure.maps.d.ts +2 -1
  124. package/dist/components/base/structure/structure.types.d.ts +10 -4
  125. package/dist/components/base/toggle/toggle.d.ts +2 -2
  126. package/dist/components/base/toolbar/toolbar.d.ts +3 -3
  127. package/dist/components/base/typography/index.d.ts +2 -0
  128. package/dist/components/base/typography/rich-text/rich-text.variants.d.ts +9 -0
  129. package/dist/components/base/typography/text/index.d.ts +1 -0
  130. package/dist/components/base/typography/text/text.d.ts +15 -8
  131. package/dist/components/base/typography/text/text.variants.d.ts +41 -0
  132. package/dist/components/base/value-inputs/color-input.d.ts +1 -7
  133. package/dist/components/base/value-inputs/slider.d.ts +2 -7
  134. package/dist/components/{admin/patterns → blocks/admin}/commerce/vendor-profile.d.ts +2 -1
  135. package/dist/components/{patterns → blocks}/analytics/analytics.strings.d.ts +2 -5
  136. package/dist/components/features/actions/action-adapters.d.ts +3 -3
  137. package/dist/components/features/actions/actions.types.d.ts +3 -5
  138. package/dist/components/features/actions/index.d.ts +1 -1
  139. package/dist/components/features/activities/activities-feed.d.ts +1 -1
  140. package/dist/components/features/activities/activities.types.d.ts +4 -4
  141. package/dist/components/features/activities/activity-parts.d.ts +3 -3
  142. package/dist/components/features/activities/activity-row.d.ts +4 -4
  143. package/dist/components/features/activities/index.d.ts +1 -1
  144. package/dist/components/features/ai-chat/ai-chat.types.d.ts +10 -3
  145. package/dist/components/features/ai-chat/ai-message-surfaces.d.ts +1 -1
  146. package/dist/components/features/ai-chat/ai-work-surfaces.d.ts +1 -1
  147. package/dist/components/features/combobox/combobox.strings.d.ts +2 -2
  148. package/dist/components/features/event-calendar/event-calendar.types.d.ts +3 -0
  149. package/dist/components/features/media-library/index.d.ts +1 -1
  150. package/dist/components/features/media-library/media-library-parts.d.ts +4 -3
  151. package/dist/components/features/media-library/media-library-views.d.ts +4 -3
  152. package/dist/components/features/media-library/media-library.d.ts +1 -1
  153. package/dist/components/features/media-library/media-library.strings.d.ts +12 -13
  154. package/dist/components/features/media-library/media-library.types.d.ts +11 -9
  155. package/dist/components/features/media-library/media-resource-gallery.d.ts +1 -1
  156. package/dist/components/features/media-library/use-media-library.d.ts +1 -4
  157. package/dist/components/features/overlays/action-overlay-frame.d.ts +1 -1
  158. package/dist/components/features/overlays/index.d.ts +1 -1
  159. package/dist/components/features/overlays/overlay-parts.d.ts +3 -3
  160. package/dist/components/features/overlays/overlays.types.d.ts +8 -7
  161. package/dist/components/features/rich-text-editor/index.d.ts +0 -1
  162. package/dist/components/features/table/data-table-body.d.ts +1 -1
  163. package/dist/components/features/table/data-table-expanded-row.d.ts +27 -0
  164. package/dist/components/features/table/data-table-header.d.ts +1 -1
  165. package/dist/components/features/table/data-table-size.d.ts +1 -1
  166. package/dist/components/features/table/data-table.d.ts +1 -1
  167. package/dist/components/features/table/index.d.ts +1 -1
  168. package/dist/components/features/table/table-helpers.d.ts +9 -3
  169. package/dist/components/features/table/table.strings.d.ts +11 -0
  170. package/dist/components/features/table/table.types.d.ts +60 -2
  171. package/dist/components/features/theme-tweaker/index.d.ts +1 -1
  172. package/dist/components/features/theme-tweaker/theme-tweaker.strings.d.ts +1 -1
  173. package/dist/components/features/theme-tweaker/theme-tweaker.types.d.ts +6 -10
  174. package/dist/components/features/theme-tweaker/theme-tweaker.utils.d.ts +22 -6
  175. package/dist/components/layout/app-shell/topbar-sidebar-layout.d.ts +1 -1
  176. package/dist/components/layout/auth/auth.d.ts +1 -1
  177. package/dist/components/layout/auth/auth.types.d.ts +1 -1
  178. package/dist/components/primitives/value.d.ts +3 -1
  179. package/dist/containers-B8d8U9GS.js +2 -0
  180. package/dist/{copyable-H1TUEY-H.js → copyable-D9Okb1w6.js} +12 -11
  181. package/dist/core.css +2 -2
  182. package/dist/css/access.css +2 -1
  183. package/dist/css/accordion.css +2 -1
  184. package/dist/css/action-menu.css +2 -1
  185. package/dist/css/activities.css +2 -1
  186. package/dist/css/ai-chat.css +2 -1
  187. package/dist/css/analytics.css +2 -1
  188. package/dist/css/app-shell.css +2 -1
  189. package/dist/css/aspect-ratio.css +2 -1
  190. package/dist/css/async-preview.css +2 -1
  191. package/dist/css/auth.css +2 -1
  192. package/dist/css/avatar.css +2 -1
  193. package/dist/css/badge.css +2 -1
  194. package/dist/css/batch-action-bar.css +2 -1
  195. package/dist/css/buttons.css +2 -1
  196. package/dist/css/cards.css +2 -1
  197. package/dist/css/carousel.css +2 -1
  198. package/dist/css/chart.css +2 -1
  199. package/dist/css/choice-inputs.css +2 -1
  200. package/dist/css/combobox.css +2 -1
  201. package/dist/css/combobox2.css +2 -1
  202. package/dist/css/command.css +2 -1
  203. package/dist/css/comments.css +2 -1
  204. package/dist/css/commerce.css +2 -1
  205. package/dist/css/containers.css +2 -1
  206. package/dist/css/copyable.css +2 -1
  207. package/dist/css/data-view.css +2 -1
  208. package/dist/css/date-pickers.css +2 -1
  209. package/dist/css/display.css +2 -1
  210. package/dist/css/dropdown-menu.css +2 -1
  211. package/dist/css/event-calendar.css +2 -1
  212. package/dist/css/feedback.css +2 -1
  213. package/dist/css/filters.css +2 -1
  214. package/dist/css/forms-numeric.css +2 -1
  215. package/dist/css/forms.css +2 -1
  216. package/dist/css/global-search.css +2 -1
  217. package/dist/css/header.css +2 -1
  218. package/dist/css/hover-card.css +2 -1
  219. package/dist/css/input-group.css +2 -1
  220. package/dist/css/item.css +2 -1
  221. package/dist/css/kanban.css +2 -1
  222. package/dist/css/label.css +2 -1
  223. package/dist/css/map.css +2 -1
  224. package/dist/css/media-library.css +2 -1
  225. package/dist/css/mentions.css +2 -1
  226. package/dist/css/menubar.css +2 -1
  227. package/dist/css/navigation-menu.css +2 -1
  228. package/dist/css/navigation.css +2 -1
  229. package/dist/css/navigation2.css +2 -1
  230. package/dist/css/onboarding.css +2 -1
  231. package/dist/css/otp-input.css +2 -1
  232. package/dist/css/overlay.css +2 -1
  233. package/dist/css/overlays.css +2 -1
  234. package/dist/css/page.css +2 -1
  235. package/dist/css/popover-menu.css +2 -1
  236. package/dist/css/popover.css +2 -1
  237. package/dist/css/primitives.css +2 -1
  238. package/dist/css/products.css +2 -1
  239. package/dist/css/qr-code.css +2 -1
  240. package/dist/css/repeaters.css +2 -1
  241. package/dist/css/resizable.css +2 -1
  242. package/dist/css/resource-assignment.css +2 -1
  243. package/dist/css/resource.css +2 -1
  244. package/dist/css/rich-text-editor.css +2 -1
  245. package/dist/css/schema-form.css +2 -1
  246. package/dist/css/sidebar.css +2 -1
  247. package/dist/css/sidebar2.css +2 -1
  248. package/dist/css/skeleton.css +2 -1
  249. package/dist/css/spinner.css +2 -1
  250. package/dist/css/structure.css +2 -1
  251. package/dist/css/sync.css +2 -1
  252. package/dist/css/table.css +2 -1
  253. package/dist/css/table2.css +2 -1
  254. package/dist/css/text-inputs.css +2 -1
  255. package/dist/css/theme-tweaker.css +2 -1
  256. package/dist/css/timeline.css +2 -1
  257. package/dist/css/timelines.css +2 -1
  258. package/dist/css/toaster.css +2 -1
  259. package/dist/css/toggle.css +2 -1
  260. package/dist/css/toolbar.css +2 -1
  261. package/dist/css/tooltip.css +2 -1
  262. package/dist/css/typography.css +2 -1
  263. package/dist/css/upload.css +2 -1
  264. package/dist/css/value-inputs.css +2 -1
  265. package/dist/css/workspace.css +2 -1
  266. package/dist/css-graph.json +1027 -0
  267. package/dist/date-pickers-C2HgjpFU.js +685 -0
  268. package/dist/{dialog-CtFCuTUF.js → dialog-0nRFg5Zs.js} +1 -1
  269. package/dist/display-BGN834xV.js +664 -0
  270. package/dist/dropdown-menu-Br8kvjrF.js +235 -0
  271. package/dist/empty.js +0 -0
  272. package/dist/features/actions.js +6 -6
  273. package/dist/features/activities.js +219 -216
  274. package/dist/features/ai-chat.js +593 -565
  275. package/dist/features/async-preview.js +105 -286
  276. package/dist/features/combobox.js +119 -117
  277. package/dist/features/comments.js +1 -1
  278. package/dist/features/data-view.js +56 -55
  279. package/dist/features/event-calendar.js +189 -185
  280. package/dist/features/filters.js +1 -1
  281. package/dist/features/global-search.js +259 -260
  282. package/dist/features/kanban.js +39 -37
  283. package/dist/features/map.js +357 -354
  284. package/dist/features/media-library.js +931 -931
  285. package/dist/features/mentions.js +1 -1
  286. package/dist/features/overlays.js +1 -1
  287. package/dist/features/products.js +950 -942
  288. package/dist/features/resource-assignment.js +39 -37
  289. package/dist/features/resource.js +70 -71
  290. package/dist/features/rich-text-editor.js +2 -2
  291. package/dist/features/schema-form.js +342 -338
  292. package/dist/features/sync.js +14 -12
  293. package/dist/features/table.js +1 -1
  294. package/dist/features/theme-tweaker.js +1002 -962
  295. package/dist/feedback-D4qVsKlD.js +430 -0
  296. package/dist/{filters-DOLKRSmb.js → filters-geLuSlFL.js} +386 -383
  297. package/dist/forms-NxbJK4Mh.js +250 -0
  298. package/dist/forms-numeric-C6NMdj6G.js +582 -0
  299. package/dist/index.js +2 -2
  300. package/dist/input-group-HS_Z0Ei_.js +119 -0
  301. package/dist/item-CuUJyETl.js +150 -0
  302. package/dist/{label-DumoMDm6.js → label-HOBXAscw.js} +7 -5
  303. package/dist/layout/app-shell.js +4 -2
  304. package/dist/layout/auth.js +102 -100
  305. package/dist/layout/header.js +190 -180
  306. package/dist/layout/navigation.js +1 -1
  307. package/dist/layout/page.js +18 -16
  308. package/dist/layout/settings.js +2 -2
  309. package/dist/layout/sidebar.js +43 -43
  310. package/dist/layout/workspace.js +71 -69
  311. package/dist/lib/action-presentation.d.ts +3 -3
  312. package/dist/lib/component-vocabulary.d.ts +2 -2
  313. package/dist/lib/css-length.d.ts +2 -0
  314. package/dist/lib/responsive.d.ts +1 -1
  315. package/dist/lib/theming/index.d.ts +1 -0
  316. package/dist/lib/theming/recipes.d.ts +2 -2
  317. package/dist/lib/theming/themes/dense.d.ts +3 -0
  318. package/dist/lib/theming/themes/editorial.d.ts +3 -0
  319. package/dist/lib/theming/themes/index.d.ts +8 -0
  320. package/dist/lib/theming/themes/pair.d.ts +7 -0
  321. package/dist/lib/theming/themes/sharp.d.ts +3 -0
  322. package/dist/lib/theming/themes/soft.d.ts +3 -0
  323. package/dist/lib/theming/themes/types.d.ts +12 -0
  324. package/dist/lib/ui-provider/index.d.ts +1 -1
  325. package/dist/lib/ui-provider/scope.d.ts +5 -8
  326. package/dist/lib/ui-provider/tokens.d.ts +11 -3
  327. package/dist/lib/ui-provider/tokens.generated.d.ts +6 -4
  328. package/dist/lib/ui-provider/types.d.ts +17 -19
  329. package/dist/{mentions-BbsEHlcH.js → mentions-oeYNv_j1.js} +113 -111
  330. package/dist/navigation-BTX5Ti0Z.js +622 -0
  331. package/dist/navigation-WYKjDhZq.js +216 -0
  332. package/dist/overlay-C8RAgi2_.js +356 -0
  333. package/dist/{overlays-DvVoS3td.js → overlays-9BxwFTou.js} +77 -75
  334. package/dist/popover-CA7SP_iz.js +127 -0
  335. package/dist/popover-menu-DcLeiw9r.js +192 -0
  336. package/dist/{primitives-D0bdDozz.js → primitives-BskKlf35.js} +181 -178
  337. package/dist/primitives.js +1 -1
  338. package/dist/profiles/admin.json +6 -36
  339. package/dist/profiles/general.json +6 -96
  340. package/dist/repeaters-DfptvbGA.js +445 -0
  341. package/dist/rich-text-editor-D_Ppm8yh.js +491 -0
  342. package/dist/{sheet-CKcmRbJ9.js → sheet-D-DVZH_b.js} +3 -3
  343. package/dist/sidebar-DXQOy_Cb.js +421 -0
  344. package/dist/skeleton-CubvHel9.js +173 -0
  345. package/dist/spinner-Tc1QCnxM.js +30 -0
  346. package/dist/{structure-D0WGQAP3.js → structure-B9Y5NkP_.js} +15 -22
  347. package/dist/style.css +1 -1
  348. package/dist/styles/TOKENS.md +115 -275
  349. package/dist/styles/animation.css +114 -0
  350. package/dist/styles/base.css +7 -6
  351. package/dist/styles/fields.css +45 -63
  352. package/dist/styles/focus.css +12 -0
  353. package/dist/styles/forced-colors.css +11 -10
  354. package/dist/styles/index.css +23 -30
  355. package/dist/styles/map.css +45 -34
  356. package/dist/styles/mentions.css +14 -52
  357. package/dist/styles/overlays.css +7 -7
  358. package/dist/styles/tailwind.css +76 -127
  359. package/dist/styles/targets.css +3 -3
  360. package/dist/styles/theme/colour.css +86 -0
  361. package/dist/styles/theme/density.css +31 -0
  362. package/dist/styles/theme/elevation.css +9 -0
  363. package/dist/styles/theme/layout.css +18 -0
  364. package/dist/styles/theme/motion.css +18 -0
  365. package/dist/styles/theme/shape.css +12 -0
  366. package/dist/styles/theme/size.css +10 -0
  367. package/dist/styles/theme/spacing.css +11 -0
  368. package/dist/styles/theme/typography.css +20 -0
  369. package/dist/styles/tone.css +61 -0
  370. package/dist/table-DT_20ity.js +1262 -0
  371. package/dist/table-Ds_eO9av.js +191 -0
  372. package/dist/tailwind.css +76 -127
  373. package/dist/text-inputs-BboE77nZ.js +395 -0
  374. package/dist/theming-C5ygF5uf.js +292 -0
  375. package/dist/theming.js +2 -2
  376. package/dist/{timeline-BdaGRyj-.js → timeline-BRZbSdhf.js} +57 -49
  377. package/dist/{timelines-BB7550mz.js → timelines-DczZKW5p.js} +69 -67
  378. package/dist/{toaster-bBMgXm8z.js → toaster-CXL8L7Mm.js} +106 -99
  379. package/dist/tokens.json +1027 -636
  380. package/dist/toolbar-DBK-c4yy.js +74 -0
  381. package/dist/tooltip-BPYP-jUm.js +76 -0
  382. package/dist/{typography-BkxEiwQ1.js → typography-DmeR05Er.js} +87 -53
  383. package/dist/{ui-provider-Cmoq6i_D.js → ui-provider-DpzLUD12.js} +117 -69
  384. package/dist/ui-provider.js +1 -1
  385. package/dist/upload-C_6mlbfl.js +968 -0
  386. package/dist/use-async-preview-BFwf9ElY.js +188 -0
  387. package/dist/value-inputs-CnO6RZeT.js +728 -0
  388. package/docs/README.md +2 -2
  389. package/docs/build/recipes.md +10992 -10628
  390. package/docs/generated/component-index.json +11133 -11624
  391. package/docs/generated/components/INDEX.md +5 -5
  392. package/docs/generated/components/base--accordion.md +51 -2
  393. package/docs/generated/components/base--action-menu.md +14 -15
  394. package/docs/generated/components/base--alert-dialog.md +3 -4
  395. package/docs/generated/components/base--aspect-ratio.md +3 -4
  396. package/docs/generated/components/base--avatar.md +7 -7
  397. package/docs/generated/components/base--badge.md +159 -27
  398. package/docs/generated/components/base--batch-action-bar.md +6 -7
  399. package/docs/generated/components/base--buttons.md +151 -47
  400. package/docs/generated/components/base--cards.md +107 -14
  401. package/docs/generated/components/base--carousel.md +1 -2
  402. package/docs/generated/components/base--chart.md +44 -8
  403. package/docs/generated/components/base--choice-inputs.md +10 -11
  404. package/docs/generated/components/base--combobox.md +3 -4
  405. package/docs/generated/components/base--command.md +6 -6
  406. package/docs/generated/components/base--context-menu.md +1 -2
  407. package/docs/generated/components/base--copyable.md +6 -7
  408. package/docs/generated/components/base--date-pickers.md +6 -7
  409. package/docs/generated/components/base--dialog.md +6 -7
  410. package/docs/generated/components/base--direction.md +1 -1
  411. package/docs/generated/components/base--display.md +234 -54
  412. package/docs/generated/components/base--dropdown-menu.md +6 -7
  413. package/docs/generated/components/base--feedback.md +71 -18
  414. package/docs/generated/components/base--forms-numeric.md +6 -7
  415. package/docs/generated/components/base--forms.md +12 -13
  416. package/docs/generated/components/base--hover-card.md +3 -4
  417. package/docs/generated/components/base--input-group.md +27 -30
  418. package/docs/generated/components/base--item.md +8 -9
  419. package/docs/generated/components/base--label.md +2 -3
  420. package/docs/generated/components/base--menubar.md +2 -4
  421. package/docs/generated/components/base--navigation-menu.md +2 -3
  422. package/docs/generated/components/base--navigation.md +2 -3
  423. package/docs/generated/components/base--otp-input.md +3 -4
  424. package/docs/generated/components/base--overlay.md +56 -47
  425. package/docs/generated/components/base--popover-menu.md +7 -8
  426. package/docs/generated/components/base--popover.md +9 -10
  427. package/docs/generated/components/base--qr-code.md +7 -8
  428. package/docs/generated/components/base--repeaters.md +6 -7
  429. package/docs/generated/components/base--resizable.md +2 -3
  430. package/docs/generated/components/base--sheet.md +12 -13
  431. package/docs/generated/components/base--sidebar.md +9 -11
  432. package/docs/generated/components/base--skeleton.md +6 -7
  433. package/docs/generated/components/base--slot.md +1 -1
  434. package/docs/generated/components/base--spinner.md +5 -7
  435. package/docs/generated/components/base--structure.md +264 -65
  436. package/docs/generated/components/base--table.md +61 -3
  437. package/docs/generated/components/base--text-inputs.md +17 -18
  438. package/docs/generated/components/base--timeline.md +45 -4
  439. package/docs/generated/components/base--toaster.md +43 -12
  440. package/docs/generated/components/base--toggle.md +11 -12
  441. package/docs/generated/components/base--toolbar.md +7 -8
  442. package/docs/generated/components/base--tooltip.md +5 -6
  443. package/docs/generated/components/base--typography.md +279 -32
  444. package/docs/generated/components/base--upload.md +8 -9
  445. package/docs/generated/components/base--value-inputs.md +9 -38
  446. package/docs/generated/components/{admin--patterns--access.md → blocks--admin--access.md} +5 -6
  447. package/docs/generated/components/{admin--patterns--commerce.md → blocks--admin--commerce.md} +40 -41
  448. package/docs/generated/components/{patterns--analytics.md → blocks--analytics.md} +13 -14
  449. package/docs/generated/components/{patterns--onboarding.md → blocks--onboarding.md} +6 -7
  450. package/docs/generated/components/{patterns--timelines.md → blocks--timelines.md} +6 -7
  451. package/docs/generated/components/features--actions.md +8 -18
  452. package/docs/generated/components/features--activities.md +31 -32
  453. package/docs/generated/components/features--ai-chat.md +15 -15
  454. package/docs/generated/components/features--async-preview.md +5 -6
  455. package/docs/generated/components/features--combobox.md +4 -5
  456. package/docs/generated/components/features--comments.md +0 -1
  457. package/docs/generated/components/features--data-view.md +4 -5
  458. package/docs/generated/components/features--event-calendar.md +1 -2
  459. package/docs/generated/components/features--filters.md +1 -2
  460. package/docs/generated/components/features--global-search.md +1 -2
  461. package/docs/generated/components/features--kanban.md +1 -2
  462. package/docs/generated/components/features--map.md +1 -2
  463. package/docs/generated/components/features--media-library.md +37 -38
  464. package/docs/generated/components/features--mentions.md +7 -7
  465. package/docs/generated/components/features--overlays.md +21 -22
  466. package/docs/generated/components/features--products.md +10 -11
  467. package/docs/generated/components/features--resource-assignment.md +2 -3
  468. package/docs/generated/components/features--resource.md +3 -4
  469. package/docs/generated/components/features--rich-text-editor.md +4 -13
  470. package/docs/generated/components/features--schema-form.md +1 -2
  471. package/docs/generated/components/features--sync.md +2 -3
  472. package/docs/generated/components/features--table.md +162 -12
  473. package/docs/generated/components/features--theme-tweaker.md +30 -15
  474. package/docs/generated/components/forms.md +2 -2
  475. package/docs/generated/components/layout--app-shell.md +10 -11
  476. package/docs/generated/components/layout--auth.md +8 -9
  477. package/docs/generated/components/layout--containers.md +0 -1
  478. package/docs/generated/components/layout--header.md +2 -3
  479. package/docs/generated/components/layout--navigation.md +0 -1
  480. package/docs/generated/components/layout--page.md +3 -4
  481. package/docs/generated/components/layout--settings.md +0 -1
  482. package/docs/generated/components/layout--sidebar.md +6 -7
  483. package/docs/generated/components/layout--workspace.md +3 -4
  484. package/docs/generated/components/primitives.md +128 -17
  485. package/docs/generated/components/theming.md +147 -4
  486. package/docs/generated/components/ui-provider.md +95 -77
  487. package/docs/generated/imports.md +104 -104
  488. package/docs/generated/migration-broad-imports.json +267 -90
  489. package/docs/generated/migration-broad-imports.md +266 -101
  490. package/docs/generated/migration-codemod.json +365 -70
  491. package/docs/generated/migration.md +665 -95
  492. package/docs/generated/profiles.md +27 -27
  493. package/docs/generated/public-api.md +104 -102
  494. package/docs/generated/recipes.json +585 -810
  495. package/docs/learn/api-compatibility.md +3 -3
  496. package/docs/learn/composition.md +2 -18
  497. package/docs/learn/framework-wiring.md +8 -8
  498. package/docs/learn/installation.md +55 -27
  499. package/docs/learn/migration.md +136 -5
  500. package/docs/learn/provider-and-scoping.md +13 -19
  501. package/docs/learn/theming.md +170 -131
  502. package/docs/learn/troubleshooting.md +62 -27
  503. package/docs/learn/verification.md +2 -3
  504. package/package.json +39 -473
  505. package/scripts/consumer/codemod.mjs +51 -12
  506. package/scripts/consumer/find-component.mjs +2 -4
  507. package/src/styles/TOKENS.md +115 -275
  508. package/dist/accordion-6YPJ9XRO.js +0 -135
  509. package/dist/admin/patterns/access.css +0 -15
  510. package/dist/admin/patterns/commerce.css +0 -29
  511. package/dist/admin/patterns/commerce.js +0 -2493
  512. package/dist/avatar-CS7zow2q.js +0 -85
  513. package/dist/badge-CxOuTfVr.js +0 -63
  514. package/dist/base/accordion.css +0 -3
  515. package/dist/base/action-menu.css +0 -6
  516. package/dist/base/alert-dialog.css +0 -4
  517. package/dist/base/aspect-ratio.css +0 -2
  518. package/dist/base/avatar.css +0 -4
  519. package/dist/base/badge.css +0 -2
  520. package/dist/base/batch-action-bar.css +0 -5
  521. package/dist/base/buttons.css +0 -4
  522. package/dist/base/cards.css +0 -13
  523. package/dist/base/carousel.css +0 -5
  524. package/dist/base/chart.css +0 -2
  525. package/dist/base/choice-inputs.css +0 -10
  526. package/dist/base/combobox.css +0 -3
  527. package/dist/base/command.css +0 -9
  528. package/dist/base/context-menu.css +0 -2
  529. package/dist/base/copyable.css +0 -6
  530. package/dist/base/date-pickers.css +0 -11
  531. package/dist/base/dialog.css +0 -4
  532. package/dist/base/display.css +0 -8
  533. package/dist/base/dropdown-menu.css +0 -2
  534. package/dist/base/feedback.css +0 -5
  535. package/dist/base/forms-numeric.css +0 -12
  536. package/dist/base/forms.css +0 -14
  537. package/dist/base/hover-card.css +0 -2
  538. package/dist/base/input-group.css +0 -6
  539. package/dist/base/item.css +0 -9
  540. package/dist/base/label.css +0 -3
  541. package/dist/base/menubar.css +0 -2
  542. package/dist/base/navigation-menu.css +0 -2
  543. package/dist/base/navigation.css +0 -12
  544. package/dist/base/otp-input.css +0 -9
  545. package/dist/base/overlay.css +0 -4
  546. package/dist/base/popover-menu.css +0 -11
  547. package/dist/base/popover.css +0 -3
  548. package/dist/base/qr-code.css +0 -2
  549. package/dist/base/repeaters.css +0 -18
  550. package/dist/base/resizable.css +0 -2
  551. package/dist/base/sheet.css +0 -4
  552. package/dist/base/sidebar.css +0 -12
  553. package/dist/base/skeleton.css +0 -9
  554. package/dist/base/spinner.css +0 -2
  555. package/dist/base/structure.css +0 -2
  556. package/dist/base/table.css +0 -3
  557. package/dist/base/text-inputs.css +0 -2
  558. package/dist/base/timeline.css +0 -9
  559. package/dist/base/toaster.css +0 -2
  560. package/dist/base/toggle.css +0 -2
  561. package/dist/base/toolbar.css +0 -5
  562. package/dist/base/tooltip.css +0 -2
  563. package/dist/base/typography.css +0 -2
  564. package/dist/base/upload.css +0 -10
  565. package/dist/base/value-inputs.css +0 -14
  566. package/dist/buttons-CqXKWty3.js +0 -179
  567. package/dist/cards-C6Ulbkw7.js +0 -271
  568. package/dist/chart-nomhJ87z.js +0 -193
  569. package/dist/choice-inputs-OUDn0kQw.js +0 -680
  570. package/dist/combobox-C8oP92bT.js +0 -266
  571. package/dist/command-Bp3B6pUu.js +0 -143
  572. package/dist/comments-CAnDlyXO.js +0 -1438
  573. package/dist/components/admin/patterns/index.d.ts +0 -2
  574. package/dist/components/features/rich-text-editor/exec-command-engine.d.ts +0 -2
  575. package/dist/components/patterns/index.d.ts +0 -3
  576. package/dist/css/styles.css +0 -1
  577. package/dist/date-pickers-DOwIT-Nk.js +0 -661
  578. package/dist/display-B3Q17h5z.js +0 -645
  579. package/dist/dropdown-menu-TyNLCLML.js +0 -223
  580. package/dist/features/actions.css +0 -11
  581. package/dist/features/activities.css +0 -25
  582. package/dist/features/ai-chat.css +0 -14
  583. package/dist/features/async-preview.css +0 -10
  584. package/dist/features/combobox.css +0 -12
  585. package/dist/features/comments.css +0 -24
  586. package/dist/features/data-view.css +0 -31
  587. package/dist/features/event-calendar.css +0 -17
  588. package/dist/features/filters.css +0 -24
  589. package/dist/features/global-search.css +0 -19
  590. package/dist/features/kanban.css +0 -7
  591. package/dist/features/map.css +0 -15
  592. package/dist/features/media-library.css +0 -27
  593. package/dist/features/mentions.css +0 -17
  594. package/dist/features/overlays.css +0 -11
  595. package/dist/features/products.css +0 -29
  596. package/dist/features/resource-assignment.css +0 -14
  597. package/dist/features/resource.css +0 -15
  598. package/dist/features/rich-text-editor.css +0 -8
  599. package/dist/features/schema-form.css +0 -22
  600. package/dist/features/sync.css +0 -11
  601. package/dist/features/table.css +0 -20
  602. package/dist/features/theme-tweaker.css +0 -27
  603. package/dist/feedback-DRerHGuV.js +0 -469
  604. package/dist/forms-CPrGGif_.js +0 -242
  605. package/dist/forms-numeric-CPVsL7Vf.js +0 -569
  606. package/dist/index.css +0 -3
  607. package/dist/input-group-BYe0rhoB.js +0 -126
  608. package/dist/item-B3yQ26as.js +0 -146
  609. package/dist/layout/app-shell.css +0 -13
  610. package/dist/layout/auth.css +0 -14
  611. package/dist/layout/containers.css +0 -2
  612. package/dist/layout/header.css +0 -20
  613. package/dist/layout/navigation.css +0 -11
  614. package/dist/layout/page.css +0 -15
  615. package/dist/layout/settings.css +0 -16
  616. package/dist/layout/sidebar.css +0 -16
  617. package/dist/layout/workspace.css +0 -15
  618. package/dist/navigation-CsqTA16F.js +0 -614
  619. package/dist/navigation-DzxzPuwg.js +0 -202
  620. package/dist/overlay-WQOsLd69.js +0 -345
  621. package/dist/patterns/analytics.css +0 -15
  622. package/dist/patterns/onboarding.css +0 -11
  623. package/dist/patterns/timelines.css +0 -11
  624. package/dist/popover-DriLnIFc.js +0 -123
  625. package/dist/popover-menu-C2UCMAe7.js +0 -189
  626. package/dist/primitives.css +0 -3
  627. package/dist/repeaters-DuP1N0nw.js +0 -438
  628. package/dist/rich-text-editor-BQXFe9oN.js +0 -595
  629. package/dist/sidebar-D0N6ckJL.js +0 -412
  630. package/dist/skeleton-DGR9df28.js +0 -172
  631. package/dist/spinner-CUAVFecI.js +0 -52
  632. package/dist/styles/FACTORS.md +0 -36
  633. package/dist/styles/SCOPES.md +0 -86
  634. package/dist/styles/themes/default.css +0 -164
  635. package/dist/styles/theming/animation.css +0 -143
  636. package/dist/styles/theming/colors.css +0 -97
  637. package/dist/styles/theming/feedback.css +0 -17
  638. package/dist/styles/theming/field.css +0 -21
  639. package/dist/styles/theming/focus.css +0 -88
  640. package/dist/styles/theming/layers.css +0 -13
  641. package/dist/styles/theming/layout.css +0 -21
  642. package/dist/styles/theming/motion.css +0 -42
  643. package/dist/styles/theming/overlay.css +0 -52
  644. package/dist/styles/theming/sizing.css +0 -118
  645. package/dist/styles/theming/text.css +0 -30
  646. package/dist/styles/theming/typography.css +0 -26
  647. package/dist/styles/tokens/components.css +0 -22
  648. package/dist/styles/tokens/foundation.css +0 -80
  649. package/dist/styles/tokens/layout.css +0 -19
  650. package/dist/styles/tokens/palette.css +0 -88
  651. package/dist/styles/tokens/primitives.css +0 -18
  652. package/dist/styles/tokens/states.css +0 -77
  653. package/dist/table-BC4qqsUb.js +0 -180
  654. package/dist/table-BHDpjajL.js +0 -982
  655. package/dist/text-inputs-DF_lD7pA.js +0 -385
  656. package/dist/theming-D6KRU7hO.js +0 -104
  657. package/dist/toolbar-DWRywF0R.js +0 -68
  658. package/dist/tooltip-t1VQQ2tZ.js +0 -73
  659. package/dist/upload-B38YZeFJ.js +0 -938
  660. package/dist/value-inputs-Q4ymjXlV.js +0 -716
  661. package/src/styles/FACTORS.md +0 -36
  662. package/src/styles/SCOPES.md +0 -86
  663. /package/dist/components/{admin/patterns → blocks/admin}/access/admin.strings.d.ts +0 -0
  664. /package/dist/components/{admin/patterns → blocks/admin}/access/credential-list.d.ts +0 -0
  665. /package/dist/components/{admin/patterns → blocks/admin}/access/index.d.ts +0 -0
  666. /package/dist/components/{admin/patterns → blocks/admin}/access/role-permissions.d.ts +0 -0
  667. /package/dist/components/{admin/patterns → blocks/admin}/access/sensitive-action.d.ts +0 -0
  668. /package/dist/components/{admin/patterns → blocks/admin}/commerce/account.d.ts +0 -0
  669. /package/dist/components/{admin/patterns → blocks/admin}/commerce/address-lines.d.ts +0 -0
  670. /package/dist/components/{admin/patterns → blocks/admin}/commerce/booking.d.ts +0 -0
  671. /package/dist/components/{admin/patterns → blocks/admin}/commerce/cart.d.ts +0 -0
  672. /package/dist/components/{admin/patterns → blocks/admin}/commerce/commerce.strings.d.ts +0 -0
  673. /package/dist/components/{admin/patterns → blocks/admin}/commerce/commerce.types.d.ts +0 -0
  674. /package/dist/components/{admin/patterns → blocks/admin}/commerce/format-amount.d.ts +0 -0
  675. /package/dist/components/{admin/patterns → blocks/admin}/commerce/index.d.ts +0 -0
  676. /package/dist/components/{admin/patterns → blocks/admin}/commerce/inventory-section.d.ts +0 -0
  677. /package/dist/components/{admin/patterns → blocks/admin}/commerce/invoice.d.ts +0 -0
  678. /package/dist/components/{admin/patterns → blocks/admin}/commerce/loyalty.d.ts +0 -0
  679. /package/dist/components/{admin/patterns → blocks/admin}/commerce/order-customer.d.ts +0 -0
  680. /package/dist/components/{admin/patterns → blocks/admin}/commerce/order-detail.d.ts +0 -0
  681. /package/dist/components/{admin/patterns → blocks/admin}/commerce/order-line-item.d.ts +0 -0
  682. /package/dist/components/{admin/patterns → blocks/admin}/commerce/order-transactions.d.ts +0 -0
  683. /package/dist/components/{admin/patterns → blocks/admin}/commerce/order.d.ts +0 -0
  684. /package/dist/components/{admin/patterns → blocks/admin}/commerce/seo-listing.d.ts +0 -0
  685. /package/dist/components/{admin/patterns → blocks/admin}/commerce/seo-score.d.ts +0 -0
  686. /package/dist/components/{admin/patterns → blocks/admin}/commerce/summary-panel.d.ts +0 -0
  687. /package/dist/components/{patterns → blocks}/analytics/activity-heatmap.d.ts +0 -0
  688. /package/dist/components/{patterns → blocks}/analytics/analytics.types.d.ts +0 -0
  689. /package/dist/components/{patterns → blocks}/analytics/chart-card.d.ts +0 -0
  690. /package/dist/components/{patterns → blocks}/analytics/format-metric-value.d.ts +0 -0
  691. /package/dist/components/{patterns → blocks}/analytics/index.d.ts +0 -0
  692. /package/dist/components/{patterns → blocks}/analytics/metric-bar.d.ts +0 -0
  693. /package/dist/components/{patterns → blocks}/analytics/metric-comparison.d.ts +0 -0
  694. /package/dist/components/{patterns → blocks}/analytics/metric-gradient.d.ts +0 -0
  695. /package/dist/components/{patterns → blocks}/analytics/metric-grid.d.ts +0 -0
  696. /package/dist/components/{patterns → blocks}/analytics/metric-micro-grid.d.ts +0 -0
  697. /package/dist/components/{patterns → blocks}/analytics/metric-skeleton.d.ts +0 -0
  698. /package/dist/components/{patterns → blocks}/analytics/metric-trend-chip.d.ts +0 -0
  699. /package/dist/components/{patterns → blocks}/analytics/metric.d.ts +0 -0
  700. /package/dist/components/{patterns → blocks}/analytics/time-ruler.d.ts +0 -0
  701. /package/dist/components/{patterns → blocks}/onboarding/checklist.d.ts +0 -0
  702. /package/dist/components/{patterns → blocks}/onboarding/index.d.ts +0 -0
  703. /package/dist/components/{patterns → blocks}/onboarding/onboarding.strings.d.ts +0 -0
  704. /package/dist/components/{patterns → blocks}/timelines/changelog-timeline.d.ts +0 -0
  705. /package/dist/components/{patterns → blocks}/timelines/index.d.ts +0 -0
  706. /package/dist/components/{patterns → blocks}/timelines/milestones-timeline.d.ts +0 -0
  707. /package/dist/components/{patterns → blocks}/timelines/steps.d.ts +0 -0
  708. /package/dist/components/{patterns → blocks}/timelines/timelines.strings.d.ts +0 -0
  709. /package/dist/styles/{theming/breakpoints.css → breakpoints.css} +0 -0
@@ -3,6 +3,134 @@
3
3
  What changes between versions, what to do when you upgrade, and which changes a stable major
4
4
  allows.
5
5
 
6
+ ## Upgrading to 3.1
7
+
8
+ 3.1 renames and removes public API as well as adding to it. Upgrade deliberately, not
9
+ through a caret range: pin `themelia-ui` to `~3.0.0` until you have run the codemod and fixed
10
+ what TypeScript reports.
11
+
12
+ **Blocks are published under `blocks/`.** The tier the documentation, the component index
13
+ and the finder call Blocks now has subpaths that say so:
14
+
15
+ | was | is |
16
+ | --- | --- |
17
+ | `themelia-ui/patterns/analytics` | `themelia-ui/blocks/analytics` |
18
+ | `themelia-ui/patterns/onboarding` | `themelia-ui/blocks/onboarding` |
19
+ | `themelia-ui/patterns/timelines` | `themelia-ui/blocks/timelines` |
20
+ | `themelia-ui/admin/patterns/access` | `themelia-ui/blocks/admin/access` |
21
+ | `themelia-ui/admin/patterns/commerce` | `themelia-ui/blocks/admin/commerce` |
22
+
23
+ Module stylesheet subpaths are removed. Importing a component in a bundled app brings its CSS.
24
+
25
+ **Components bring their own CSS.** In a bundled app, importing a component now brings its
26
+ stylesheet, once, and a module you never import brings none. To upgrade:
27
+
28
+ 1. Run the codemod over each directory that holds application code: `src/`, and `app/` or
29
+ `.storybook/` where you have them.
30
+ It removes JavaScript imports of `themelia-ui/style.css` and of module stylesheets, which would
31
+ now load the CSS twice.
32
+ 2. The codemod removes obsolete module CSS `@import`s. Review any remaining stylesheet
33
+ references it reports. With Tailwind, keep `@import "tailwindcss"` and the bridge, and drop
34
+ `@import "themelia-ui/style.css"` or `@import "themelia-ui/core.css"` from the Tailwind entry.
35
+ 3. If the application renders on the server with Vite (Astro, React Router, TanStack Start, Vike),
36
+ list `themelia-ui`, and any installed package that imports it, in `ssr.noExternal`; Astro
37
+ renders the kit unstyled without it. See
38
+ [Server rendering with Vite](installation.md#server-rendering-with-vite).
39
+ 4. If your bundler config sets its own resolve conditions, keep `module` in them.
40
+ 5. Pages that link stylesheets without a bundler link `style.css`.
41
+
42
+ **Fill style is `appearance`.** `tone` is colour, `appearance` is fill and `variant` is
43
+ structure, on every component. TypeScript reports each rename:
44
+
45
+ | was | is |
46
+ | --- | --- |
47
+ | `buttonStyle` on a Button, a Button-like component or an action definition | `appearance` |
48
+ | `ButtonStyle`, `ActionButtonStyle` | `ButtonAppearance`, `ActionAppearance` |
49
+ | `defaults: { button: { buttonStyle } }` | `defaults: { button: { appearance } }` |
50
+ | `variant` on `Badge`, `Toggle` and `SidebarMenuButton` | `appearance` |
51
+ | `BadgeVariant` | `BadgeAppearance` |
52
+ | `badgeVariants({ tone, variant })` on your own element | `<Badge tone appearance render={<a … />}>` |
53
+ | `badgeVariant` on a metadata badge value | `badgeAppearance` |
54
+ | `confirmStyle` on an overlay or an action modality | `confirmAppearance` |
55
+
56
+ Button renders `data-appearance` instead of `data-style`, and Toggle `data-appearance`
57
+ instead of `data-variant`: update CSS that selects either.
58
+
59
+ **Two steps for every size.** A size, padding or gap prop offers `default` and `sm`. `md` is
60
+ `default`, which is also what leaving the prop out gives you; a step larger than the default
61
+ is gone. The gaps map like this:
62
+
63
+ | was | is |
64
+ | --- | --- |
65
+ | `gap="2xs"`, `"xs"`, `"sm"`, `"md"` | `gap="sm"` (8px) |
66
+ | `gap="lg"`, `"xl"`, `"2xl"` | `gap="default"` (16px), or no `gap` |
67
+ | no `gap` on a `Stack` or `Split` (8px) | 16px; write `gap="sm"` to keep 8px |
68
+
69
+ Widths take `default`, `sm`, `full`, `none` or a CSS length such as `"48rem"`, and a free
70
+ string no longer type-checks. `Slider` and `SliderField` lose `size`, `InputGroupButton`
71
+ takes `iconOnly` instead of its icon sizes, and an action modality's `size`, which nothing
72
+ read, is gone.
73
+
74
+ **`density` belongs to the provider.** `MetadataList density="compact"` becomes
75
+ `size="sm"`, `MediaLibrary density="compact"` becomes `size="sm"`, `ActivityFeed density`
76
+ becomes `variant`, and `AiTask density="expanded"` becomes `defaultExpanded`. CSS that
77
+ selects `[data-row-density]`, `[data-media-density]` or `[data-activity-density]` selects
78
+ `[data-size]` or `[data-variant]`.
79
+
80
+ `Text` drops `size="xxs"` and `weight="regular"`: write `xs` and `normal`.
81
+
82
+ **The theme is one level.** It is about eighty variables, declared once at `:root`, each
83
+ colour a `light-dark(light, dark)` pair. For a theme of your own:
84
+
85
+ - Declare it on `:root` alone. The selector list 3.0 asked for (`:root, [data-ui-scope],
86
+ [data-density], [data-theme], .light, .dark`) is not needed: nothing below `:root` declares a
87
+ theme variable again.
88
+ - Write a dark value into the colour's pair, `--primary: light-dark(#2563eb, #60a5fa)`, rather
89
+ than a `.dark { … }` block, which colours a dark page but misses a dark region inside a light
90
+ one.
91
+ - The palette, the alpha steps, the spacing ladder, the control, icon and avatar ladders, the
92
+ derived role variables and the scale factors are gone. The codemod renames a variable that
93
+ has a successor and reports the rest:
94
+
95
+ | was | is |
96
+ | --- | --- |
97
+ | `--space-2xs` to `--space-md` | `--gap-sm` between things, `--padding-sm` for an inset |
98
+ | `--space-lg` to `--space-2xl` | `--gap` between things, `--padding` for an inset |
99
+ | `--surface-px`, `--surface-py`; `--row-px`, `--row-py` | `--padding`; `--padding-sm` |
100
+ | `--control-h`, `--control-h-sm` | `--control-height`, `--control-height-sm` |
101
+ | `--size-icon`, `--size-icon-sm` | `--icon-size`, `--icon-size-sm` |
102
+ | `--primary-10` and every other alpha step | `color-mix(in oklab, var(--primary) var(--tint), transparent)`; a line takes `--tint-strong` |
103
+ | `--accent-50`, `--border-60`, `--muted-50` | `--accent`, `--border`, `--muted` |
104
+ | `--control-border`, `--focus-ring-color`, `--link-color` | `--input`, `--ring`, `--link` |
105
+ | `--shadow-xs`, `--shadow-sm`; `--shadow-md` to `--shadow-2xl`, `--popover-shadow` | `--shadow`; `--shadow-lg` |
106
+ | `--duration-normal`, `--duration-instant`, `--ease-out` | `--duration`, `--duration-fast`, `--ease` |
107
+ | `--leading-*`, `--weight-*`, `--tracking-*` | Text's `lineHeight`, `weight` and `caps` |
108
+ | `--scale`, `--density-scale` | the provider's `scale` and `density` |
109
+ | `--inverse-*` | a nested provider with `colorScheme: "dark"` |
110
+ | `--animate-spin` and the other `--animate-*` | `--keyframes-spin` and the others, which hold the name alone: `animation: var(--keyframes-spin) 1s linear infinite` |
111
+
112
+ `--text-scale` stays, and Text multiplies each step by it. A component variable you set from
113
+ outside, such as `--content-block-p`, `--overlay-region-p`, `--field-label-width` or
114
+ `--chart-aspect`, is the component's own now: set the theme variable it reads, or style the
115
+ component through `className`. With Tailwind, `p-padding` and `gap-gap-sm` replace `p-md` and
116
+ the other spacing keys, and `rounded` is the container radius.
117
+
118
+ **A browser floor for `light-dark()`.** Safari 17.5 or newer; Chrome and Edge 125 and Firefox
119
+ 121 are unchanged.
120
+
121
+ Run the codemod from your project over each directory that holds application code, dry
122
+ first; the commands below show `src/`. It rewrites the moved subpaths, removes the
123
+ stylesheet imports components now bring, renames each theme variable that has a successor,
124
+ and reports the rest:
125
+
126
+ ```sh
127
+ node node_modules/themelia-ui/scripts/consumer/codemod.mjs --dry-run src/
128
+ node node_modules/themelia-ui/scripts/consumer/codemod.mjs src/
129
+ ```
130
+
131
+ Every change with its replacement is listed in the
132
+ migration reference (`node_modules/themelia-ui/docs/generated/migration.md`).
133
+
6
134
  ## Upgrading to 3.0
7
135
 
8
136
  3.0 changes how the package loads, and gives a few props one shape.
@@ -16,6 +144,9 @@ the package as it is. Server rendering and test runners need no configuration fo
16
144
  CommonJS code on Node 20.19 or later can `require()` it. Jest still needs the package
17
145
  exempted in `transformIgnorePatterns`.
18
146
 
147
+ From 3.1, components bring their own CSS again, and server rendering with Vite lists the
148
+ package in `ssr.noExternal`; see [Upgrading to 3.1](#upgrading-to-31).
149
+
19
150
  TypeScript flags the rest:
20
151
 
21
152
  - `Scope` takes `render` instead of `as`: `<Scope vars={vars} render={<section />}>`.
@@ -201,14 +332,14 @@ Every change is one of:
201
332
  - **additive**: a new export, a new optional prop
202
333
  - **documentation-only**: no runtime or type change
203
334
  - **behaviour-preserving internal**: a refactor whose observable behaviour is identical
204
- - **deprecation**: the old name still works, and says what replaces it
335
+ - **deprecation**: an old name still works while a replacement is available
205
336
  - **breaking**: anything else
206
337
 
207
- ## Within a stable major
338
+ ## Upgrade policy
208
339
 
209
- An alias introduced during a stable major is deprecated in that major, documented with its
210
- replacement, and removed only in the next one. It stays for one full stable major unless
211
- security or correctness makes keeping it unsafe.
340
+ 3.1 removes obsolete aliases and adapters without retaining them for another release. Pin the
341
+ installed version until the application is ready to apply the migration guide, type-check and
342
+ build. Breaking changes are recorded before the API snapshot is updated.
212
343
 
213
344
  ## Import paths
214
345
 
@@ -65,37 +65,31 @@ below a slice as well as at it:
65
65
  </UIProvider>
66
66
  ```
67
67
 
68
- This applies to every record-shaped field: `theme.colors`, `theme.palette`, `theme.vars`,
69
- `typography.fonts`, `typography.sizes` and `motion.durations`. Below them a record is a flat
70
- map of token to value, and a value is replaced, not merged.
68
+ This applies to every record-shaped field: `theme.colors`, `theme.vars`, `typography.fonts`,
69
+ `typography.sizes` and `motion.durations`. Below them a record is a flat map of variable to
70
+ value, and a value is replaced, not merged.
71
71
 
72
72
  That is the configuration components read, and the CSS follows it: each scope writes the
73
73
  merged overrides on its element, so inside the nested scope above `--primary` is red and
74
- `--secondary` is green. Raw inputs (palette steps, radii, fonts, durations and the scale
75
- factors) inherit through every boundary. Semantic colours and type sizes do not: a `Scope`,
76
- or any other element on the boundary list, declares them again from the palette. To keep a
77
- colour across one of those, set it through `theme.palette` or declare it at the boundary
78
- list; see [Theming](theming.md#setting-a-theme).
74
+ `--secondary` is green. Nothing below `:root` declares a theme variable again, so every value
75
+ inherits through any element, a `Scope` or a `data-density` region included; see
76
+ [Theming](theming.md#setting-a-theme).
79
77
 
80
78
  ## Scope — tokens only
81
79
 
82
- Overriding a factor requires a **scope boundary**, not just any element:
80
+ `Scope` sets theme variables on a region, without the config machinery:
83
81
 
84
82
  ```tsx fragment — shape only, not a program
85
- <Scope vars={{ "--density-scale": 0.8 }}>
83
+ <Scope vars={{ "--control-height": "2.5rem" }}>
86
84
  <Toolbar />
87
85
  </Scope>
88
86
  ```
89
87
 
90
88
  `Scope` renders a `div` without layout. `render` picks another element, as on every
91
- component (`render={<section />}`), and `transparent={false}` gives it a box.
92
-
93
- Derived tokens are declared at `:root, [data-ui-scope], [data-density], [data-theme], .light,
94
- .dark` (see `src/styles/SCOPES.md` (`node_modules/themelia-ui/src/styles/SCOPES.md`)). A plain
95
- `<div style={{ "--density-scale": 0.8 }}>` sets the variable and nothing reads it: the
96
- measurements above it already resolved against the old value. `Scope` renders
97
- `data-ui-scope`, which puts the element on that list and makes every derived token
98
- re-compute.
89
+ component (`render={<section />}`), and `transparent={false}` gives it a box. Every
90
+ component inside reads the variables it sets, because components compute from the theme where
91
+ they use it; any element with a `style` does the same, and `Scope` only adds the missing
92
+ layout rule and the `data-ui-scope` marker.
99
93
 
100
94
  ## Portals and scopes
101
95
 
@@ -175,7 +169,7 @@ ship the scrollbar rule in the consuming application's stylesheet:
175
169
  ```
176
170
 
177
171
  `disableStyleElements` does not disable kit behavior; it moves those small rules into the
178
- consuming app. It does not replace the normal `core.css`, module stylesheet, or `style.css` import.
172
+ consuming app. It does not change how the kit's CSS loads.
179
173
 
180
174
  ## Reading the config
181
175