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
@@ -15,7 +15,6 @@ Writing table markup directly, with rows you control and no sorting or selection
15
15
 
16
16
  ```tsx fragment — import-only example
17
17
  import { Table } from "themelia-ui/base/table"
18
- import "themelia-ui/base/table.css"
19
18
  ```
20
19
 
21
20
  ## Composition
@@ -202,7 +201,66 @@ Kind: interface.
202
201
 
203
202
  ## Preview recipes
204
203
 
205
- Preview route: Table — `/table`
204
+ Preview route: Timelines, onboarding & admin — `/blocks-admin`
205
+
206
+ ### Compose your own permissions
207
+
208
+ ```tsx fragment — excerpt from the live preview; surrounding values are supplied by the application
209
+ import { CheckIcon } from "lucide-react"
210
+
211
+ import { Badge } from "themelia-ui/base/badge"
212
+ import { VisuallyHidden } from "themelia-ui/base/display"
213
+ import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from "themelia-ui/base/table"
214
+ import { Text } from "themelia-ui/base/typography"
215
+
216
+ const ROLES = ["Owner", "Editor", "Viewer"] as const
217
+ const PERMISSIONS: { name: string; granted: readonly boolean[] }[] = [
218
+ { name: "Edit projects", granted: [true, true, false] },
219
+ { name: "Manage billing", granted: [true, false, false] },
220
+ { name: "Export data", granted: [true, true, true] },
221
+ ]
222
+
223
+ export default function RolesBlueprint() {
224
+ return (
225
+ <Table>
226
+ <TableHeader>
227
+ <TableRow>
228
+ <TableHead>Permission</TableHead>
229
+ {ROLES.map((role) => (
230
+ <TableHead key={role} align="center">
231
+ {role}
232
+ </TableHead>
233
+ ))}
234
+ </TableRow>
235
+ </TableHeader>
236
+ <TableBody>
237
+ {PERMISSIONS.map((permission) => (
238
+ <TableRow key={permission.name}>
239
+ <TableCell>{permission.name}</TableCell>
240
+ {permission.granted.map((granted, index) => (
241
+ <TableCell key={ROLES[index]} align="center">
242
+ {granted ? (
243
+ <Badge tone="success">
244
+ <CheckIcon aria-hidden />
245
+ <VisuallyHidden>Granted</VisuallyHidden>
246
+ </Badge>
247
+ ) : (
248
+ <>
249
+ <Text tag="span" type="secondary" aria-hidden>
250
+ —
251
+ </Text>
252
+ <VisuallyHidden>Not granted</VisuallyHidden>
253
+ </>
254
+ )}
255
+ </TableCell>
256
+ ))}
257
+ </TableRow>
258
+ ))}
259
+ </TableBody>
260
+ </Table>
261
+ )
262
+ }
263
+ ```
206
264
 
207
265
  ### Sortable columns
208
266
 
@@ -298,7 +356,7 @@ import styles from "./table-empty.module.css"
298
356
 
299
357
  export default function TableEmptyExample() {
300
358
  return (
301
- <Stack gap="xl" style={{ width: "100%" }}>
359
+ <Stack style={{ width: "100%" }}>
302
360
  <Table>
303
361
  <TableHeader>
304
362
  <TableRow>
@@ -15,12 +15,11 @@ Free text is typed — plain, multiline, password, search or slug.
15
15
 
16
16
  ```tsx fragment — import-only example
17
17
  import { FieldShell } from "themelia-ui/base/text-inputs"
18
- import "themelia-ui/base/text-inputs.css"
19
18
  ```
20
19
 
21
20
  ## Composition
22
21
 
23
- This module depends on no other module.
22
+ This module composes `base/typography`.
24
23
 
25
24
  Application policy—routing, fetching, persistence, permissions, and translation—stays
26
25
  outside the package and arrives through the public props, callbacks, slots, or accessors below.
@@ -339,29 +338,29 @@ Preview route: Form field — `/form-field`
339
338
  import { Stack } from "themelia-ui/base/structure"
340
339
  import { Input, NativeSelect } from "themelia-ui/base/text-inputs"
341
340
  import { MonoValue } from "themelia-ui/primitives"
342
- import { Scope } from "themelia-ui/ui-provider"
341
+ import { UIScope } from "themelia-ui/ui-provider"
343
342
 
344
343
  export default function FormsScale() {
345
344
  return (
346
- <Stack gap="lg" style={{ width: "100%" }}>
347
- {[1, 0.875, 1.125].map((scale) => (
348
- <Scope key={scale} vars={{ "--density-scale": scale }}>
349
- <Stack direction="horizontal" gap="md" align="center" justify="start">
345
+ <Stack style={{ width: "100%" }}>
346
+ {(["compact", "default", "comfortable"] as const).map((density) => (
347
+ <UIScope key={density} config={{ density }}>
348
+ <Stack direction="horizontal" gap="sm" align="center" justify="start">
350
349
  {/* Widths on the wrappers: Input's style lands on the inner control, not its frame. */}
351
- <MonoValue size="xs" style={{ width: "3.5rem", flexShrink: 0, fontSize: "0.75rem" }}>
352
- {scale}
350
+ <MonoValue size="xs" style={{ width: "6rem", flexShrink: 0 }}>
351
+ {density}
353
352
  </MonoValue>
354
353
  {/* Named even in a geometry demo: a placeholder is not a label. */}
355
354
  <div style={{ width: "12rem", flexShrink: 0 }}>
356
- <Input placeholder="Field" aria-label={`Example field at density ${scale}`} />
355
+ <Input placeholder="Field" aria-label={`Example field at ${density} density`} />
357
356
  </div>
358
357
  <div style={{ width: "9rem", flexShrink: 0 }}>
359
- <NativeSelect defaultValue="a" aria-label={`Example select at density ${scale}`}>
358
+ <NativeSelect defaultValue="a" aria-label={`Example select at ${density} density`}>
360
359
  <option value="a">Option</option>
361
360
  </NativeSelect>
362
361
  </div>
363
362
  </Stack>
364
- </Scope>
363
+ </UIScope>
365
364
  ))}
366
365
  </Stack>
367
366
  )
@@ -378,7 +377,7 @@ import { Input, NativeSelect, Textarea } from "themelia-ui/base/text-inputs"
378
377
 
379
378
  export default function SharedSurface() {
380
379
  return (
381
- <Stack gap="lg" style={{ maxWidth: "26rem", width: "100%" }}>
380
+ <Stack style={{ maxWidth: "26rem", width: "100%" }}>
382
381
  <FormField label="Input">
383
382
  <Input placeholder="Northwind Traders" />
384
383
  </FormField>
@@ -412,7 +411,7 @@ import { UIProvider } from "themelia-ui/ui-provider"
412
411
  export default function IphoneInputZoom() {
413
412
  return (
414
413
  <UIProvider config={{ forms: { preventIPhoneZoom: true } }}>
415
- <Stack style={{ maxWidth: "26rem", width: "100%" }}>
414
+ <Stack gap="sm" style={{ maxWidth: "26rem", width: "100%" }}>
416
415
  <FormField label="Enabled on iPhones"><Input placeholder="16px minimum on iPhone" /></FormField>
417
416
  <FormField label="iPhone textarea"><Textarea /></FormField>
418
417
  <FormField label="iPhone native select"><NativeSelect><option>First option</option></NativeSelect></FormField>
@@ -436,7 +435,7 @@ import { Input, NativeSelect } from "themelia-ui/base/text-inputs"
436
435
 
437
436
  export default function States() {
438
437
  return (
439
- <Stack gap="lg" style={{ maxWidth: "26rem", width: "100%" }}>
438
+ <Stack style={{ maxWidth: "26rem", width: "100%" }}>
440
439
  <FormField label="Default" helperText="The supporting line.">
441
440
  <Input placeholder="name@example.com" />
442
441
  </FormField>
@@ -471,7 +470,7 @@ export default function Affordances() {
471
470
  const [search, setSearch] = useState("shipping")
472
471
 
473
472
  return (
474
- <Stack gap="lg" style={{ maxWidth: "26rem", width: "100%" }}>
473
+ <Stack style={{ maxWidth: "26rem", width: "100%" }}>
475
474
  <FormField label="Search" helperText="Clear appears once there is a value.">
476
475
  <SearchInput
477
476
  value={search}
@@ -513,7 +512,7 @@ function SlugFieldDemo() {
513
512
  const [title, setTitle] = useState("Northwind Traders — Q4 Report & Notes")
514
513
 
515
514
  return (
516
- <Stack gap="lg" style={{ maxWidth: "26rem", width: "100%" }}>
515
+ <Stack style={{ maxWidth: "26rem", width: "100%" }}>
517
516
  <FormField label="Title">
518
517
  <Input value={title} onChange={(event) => setTitle(event.target.value)} />
519
518
  </FormField>
@@ -541,7 +540,7 @@ import { Textarea } from "themelia-ui/base/text-inputs"
541
540
 
542
541
  export default function TextareaExample() {
543
542
  return (
544
- <Stack gap="xl" style={{ maxWidth: "26rem", width: "100%" }}>
543
+ <Stack style={{ maxWidth: "26rem", width: "100%" }}>
545
544
  <FormField label="Notes" helperText="Plain multi-line text.">
546
545
  <Textarea rows={4} placeholder="Anything worth recording." />
547
546
  </FormField>
@@ -8,14 +8,13 @@ Composing a generic vertical sequence of dated entries.
8
8
 
9
9
  - **Use when:** Composing a generic vertical sequence of dated entries.
10
10
  - **Avoid when:** The sequence is a changelog, milestones or a step tracker.
11
- - **Consider instead:** `patterns/timelines`, `features/activities`
11
+ - **Consider instead:** `blocks/timelines`, `features/activities`
12
12
  - **Stability:** stable.
13
13
 
14
14
  ## Import
15
15
 
16
16
  ```tsx fragment — import-only example
17
17
  import { Stepper } from "themelia-ui/base/timeline"
18
- import "themelia-ui/base/timeline.css"
19
18
  ```
20
19
 
21
20
  ## Composition
@@ -159,7 +158,49 @@ takes the primary tone of `current`; `completed` is an outcome (a milestone that
159
158
 
160
159
  ## Preview recipes
161
160
 
162
- Preview route: Timeline — `/timeline`
161
+ Preview route: Timelines, onboarding & admin — `/blocks-admin`
162
+
163
+ ### Compose your own timeline
164
+
165
+ ```tsx fragment — excerpt from the live preview; surrounding values are supplied by the application
166
+ import { RocketIcon, WrenchIcon } from "lucide-react"
167
+
168
+ import { Badge } from "themelia-ui/base/badge"
169
+ import { Stack } from "themelia-ui/base/structure"
170
+ import { Timeline, type TimelineItem } from "themelia-ui/base/timeline"
171
+ import { MonoValue } from "themelia-ui/primitives"
172
+
173
+ const RELEASES: TimelineItem[] = [
174
+ {
175
+ id: "3.1.0",
176
+ title: "Saved views",
177
+ timestamp: <MonoValue size="xs" type="secondary">v3.1.0</MonoValue>,
178
+ icon: RocketIcon,
179
+ status: "success",
180
+ description: "Filters and columns can be saved and shared with the team.",
181
+ children: (
182
+ <Stack direction="horizontal" gap="sm">
183
+ <Badge tone="success">Added</Badge>
184
+ <Badge tone="neutral">Tables</Badge>
185
+ </Stack>
186
+ ),
187
+ },
188
+ {
189
+ id: "3.0.2",
190
+ title: "Faster exports",
191
+ timestamp: <MonoValue size="xs" type="secondary">v3.0.2</MonoValue>,
192
+ icon: WrenchIcon,
193
+ status: "neutral",
194
+ description: "Large exports stream instead of waiting for the whole file.",
195
+ },
196
+ ]
197
+
198
+ export default function ChangelogBlueprint() {
199
+ return (
200
+ <Timeline items={RELEASES} />
201
+ )
202
+ }
203
+ ```
163
204
 
164
205
  ### An order's progress
165
206
 
@@ -288,7 +329,7 @@ import { WIZARD } from "./data"
288
329
 
289
330
  export default function StepperDefault() {
290
331
  return (
291
- <Stack gap="2xl">
332
+ <Stack>
292
333
  <Stepper steps={WIZARD} />
293
334
  <Stepper variant="trail" steps={WIZARD} />
294
335
  </Stack>
@@ -15,12 +15,11 @@ A message is transient, non-blocking, and reports the outcome of an action.
15
15
 
16
16
  ```tsx fragment — import-only example
17
17
  import { Toaster } from "themelia-ui/base/toaster"
18
- import "themelia-ui/base/toaster.css"
19
18
  ```
20
19
 
21
20
  ## Composition
22
21
 
23
- This module depends on no other module.
22
+ This module composes `base/typography`.
24
23
 
25
24
  Application policy—routing, fetching, persistence, permissions, and translation—stays
26
25
  outside the package and arrives through the public props, callbacks, slots, or accessors below.
@@ -177,7 +176,39 @@ One queue of toasts, its timers, and the `toast()` bound to it.
177
176
 
178
177
  ## Preview recipes
179
178
 
180
- Preview route: Toast — `/toast`
179
+ Preview route: Cart, checkout & billing — `/blocks-commerce`
180
+
181
+ ### Compose your own
182
+
183
+ ```tsx fragment — excerpt from the live preview; surrounding values are supplied by the application
184
+ import { Button } from "themelia-ui/base/buttons"
185
+ import { Card } from "themelia-ui/base/cards"
186
+ import { MetadataList } from "themelia-ui/base/display"
187
+ import { Stack } from "themelia-ui/base/structure"
188
+ import { toast } from "themelia-ui/base/toaster"
189
+ import { Money } from "themelia-ui/primitives"
190
+
191
+ export default function CartSummaryBlueprint() {
192
+ return (
193
+ <Card title="Order summary" description="3 items" style={{ maxWidth: "24rem" }}>
194
+ <Stack>
195
+ <MetadataList
196
+ layout="rows"
197
+ items={[
198
+ { label: "Subtotal", value: <Money amount={258} currency="EUR" /> },
199
+ { label: "Shipping", value: <Money amount={4.8} currency="EUR" /> },
200
+ { label: "Tax", value: <Money amount={51.6} currency="EUR" /> },
201
+ { label: "Total", value: <Money amount={314.4} currency="EUR" weight="semibold" /> },
202
+ ]}
203
+ />
204
+ <Button onClick={() => toast("Checkout requested", { description: "Preview callback — connect this action to your application." })}>
205
+ Check out
206
+ </Button>
207
+ </Stack>
208
+ </Card>
209
+ )
210
+ }
211
+ ```
181
212
 
182
213
  ### Statuses
183
214
 
@@ -189,24 +220,24 @@ import { toast } from "themelia-ui/base/toaster"
189
220
  export default function ToastStatuses() {
190
221
  return (
191
222
  <Stack direction="horizontal" gap="sm" wrap>
192
- <Button buttonStyle="outline" tone="neutral" onClick={() => toast("Draft saved")}>
223
+ <Button appearance="outline" tone="neutral" onClick={() => toast("Draft saved")}>
193
224
  Neutral
194
225
  </Button>
195
226
  <Button
196
- buttonStyle="outline"
227
+ appearance="outline"
197
228
  tone="neutral"
198
229
  onClick={() => toast.success("Invoice sent", { description: "Northwind Traders · $1,299.50" })}
199
230
  >
200
231
  Success
201
232
  </Button>
202
- <Button buttonStyle="outline" tone="neutral" onClick={() => toast.info("Two seats left on this plan")}>
233
+ <Button appearance="outline" tone="neutral" onClick={() => toast.info("Two seats left on this plan")}>
203
234
  Info
204
235
  </Button>
205
- <Button buttonStyle="outline" tone="neutral" onClick={() => toast.warning("Your card expires next month")}>
236
+ <Button appearance="outline" tone="neutral" onClick={() => toast.warning("Your card expires next month")}>
206
237
  Warning
207
238
  </Button>
208
239
  <Button
209
- buttonStyle="outline"
240
+ appearance="outline"
210
241
  tone="neutral"
211
242
  onClick={() => toast.error("Could not reach the server", { description: "Retrying in 30 seconds." })}
212
243
  >
@@ -228,7 +259,7 @@ export default function ToastActions() {
228
259
  return (
229
260
  <Stack direction="horizontal" gap="sm" wrap>
230
261
  <Button
231
- buttonStyle="outline"
262
+ appearance="outline"
232
263
  tone="neutral"
233
264
  onClick={() =>
234
265
  toast("Invoice deleted", {
@@ -241,7 +272,7 @@ export default function ToastActions() {
241
272
  With undo
242
273
  </Button>
243
274
  <Button
244
- buttonStyle="outline"
275
+ appearance="outline"
245
276
  tone="neutral"
246
277
  onClick={() =>
247
278
  toast.warning("Discard unsaved changes?", {
@@ -271,7 +302,7 @@ export default function ToastPromise() {
271
302
  return (
272
303
  <Stack direction="horizontal" gap="sm" wrap>
273
304
  <Button
274
- buttonStyle="outline"
305
+ appearance="outline"
275
306
  tone="neutral"
276
307
  onClick={() =>
277
308
  void toast.promise(wait(1800), {
@@ -284,7 +315,7 @@ export default function ToastPromise() {
284
315
  Resolves
285
316
  </Button>
286
317
  <Button
287
- buttonStyle="outline"
318
+ appearance="outline"
288
319
  tone="neutral"
289
320
  onClick={() =>
290
321
  void toast
@@ -15,12 +15,11 @@ A control holds a pressed state, alone or as one of a mutually exclusive group.
15
15
 
16
16
  ```tsx fragment — import-only example
17
17
  import { Toggle } from "themelia-ui/base/toggle"
18
- import "themelia-ui/base/toggle.css"
19
18
  ```
20
19
 
21
20
  ## Composition
22
21
 
23
- This module depends on no other module.
22
+ This module composes `base/typography`.
24
23
 
25
24
  Application policy—routing, fetching, persistence, permissions, and translation—stays
26
25
  outside the package and arrives through the public props, callbacks, slots, or accessors below.
@@ -37,7 +36,7 @@ with the next one. Inside a `ToggleGroup`, `value` names the toggle, and the gro
37
36
  into its own value; outside a group it is unused.
38
37
 
39
38
  ```text
40
- ({ variant, className, ...props }: ToggleProps) => import("react").JSX.Element
39
+ ({ appearance, className, ...props }: ToggleProps) => import("react").JSX.Element
41
40
  ```
42
41
 
43
42
  ### `ToggleGroup`
@@ -71,7 +70,7 @@ Extends: `TogglePrimitive.Props`, `Pick<TogglePrimitive.Props, "pressed" | "defa
71
70
 
72
71
  | member | required | type | description / documented default |
73
72
  | --- | :-: | --- | --- |
74
- | `variant` | no | `"ghost" \| "outline"` | Sunk when engaged, or outlined. Match whatever sits beside it in the row — `outline`<br>for a lone control, `ghost` inside a group. |
73
+ | `appearance` | no | `"ghost" \| "outline"` | Sunk when engaged, or outlined. Match whatever sits beside it in the row — `outline`<br>for a lone control, `ghost` inside a group. |
75
74
 
76
75
  ## Preview recipes
77
76
 
@@ -91,11 +90,11 @@ export default function ToggleExample() {
91
90
  const [bold, setBold] = useState(false)
92
91
 
93
92
  return (
94
- <Stack direction="horizontal" gap="lg" align="center">
93
+ <Stack direction="horizontal" align="center">
95
94
  <Toggle pressed={bold} onPressedChange={setBold} aria-label="Bold">
96
95
  <BoldIcon />
97
96
  </Toggle>
98
- <Toggle variant="outline" aria-label="Italic">
97
+ <Toggle appearance="outline" aria-label="Italic">
99
98
  <ItalicIcon />
100
99
  </Toggle>
101
100
  <Toggle disabled aria-label="Underline">
@@ -124,8 +123,8 @@ export default function ToggleGroupExample() {
124
123
  const [align, setAlign] = useState("left")
125
124
 
126
125
  return (
127
- <Stack gap="xl">
128
- <Stack gap="xs" align="start">
126
+ <Stack>
127
+ <Stack gap="sm" align="start">
129
128
  <Text size="xs" type="secondary">multiple — several at once</Text>
130
129
  <ToggleGroup multiple value={marks} onValueChange={setMarks}>
131
130
  <Toggle value="bold" aria-label="Bold"><BoldIcon /></Toggle>
@@ -134,7 +133,7 @@ export default function ToggleGroupExample() {
134
133
  </ToggleGroup>
135
134
  </Stack>
136
135
 
137
- <Stack gap="xs" align="start">
136
+ <Stack gap="sm" align="start">
138
137
  <Text size="xs" type="secondary">one at a time</Text>
139
138
  <ToggleGroup
140
139
  value={[align]}
@@ -146,11 +145,11 @@ export default function ToggleGroupExample() {
146
145
  </ToggleGroup>
147
146
  </Stack>
148
147
 
149
- <Stack gap="xs" align="start">
148
+ <Stack gap="sm" align="start">
150
149
  <Text size="xs" type="secondary">attached={"{false}"} — separate buttons</Text>
151
150
  <ToggleGroup attached={false} multiple>
152
- <Toggle value="a" variant="outline">Day</Toggle>
153
- <Toggle value="b" variant="outline">Week</Toggle>
151
+ <Toggle value="a" appearance="outline">Day</Toggle>
152
+ <Toggle value="b" appearance="outline">Week</Toggle>
154
153
  </ToggleGroup>
155
154
  </Stack>
156
155
  </Stack>
@@ -15,12 +15,11 @@ A persistent group of related actions or controls needs one tab stop and arrow-k
15
15
 
16
16
  ```tsx fragment — import-only example
17
17
  import { Toolbar } from "themelia-ui/base/toolbar"
18
- import "themelia-ui/base/toolbar.css"
19
18
  ```
20
19
 
21
20
  ## Composition
22
21
 
23
- This module composes `base/buttons`.
22
+ This module composes `base/buttons`, `base/typography`.
24
23
 
25
24
  Application policy—routing, fetching, persistence, permissions, and translation—stays
26
25
  outside the package and arrives through the public props, callbacks, slots, or accessors below.
@@ -45,17 +44,17 @@ names the set.
45
44
  Kind: callable.
46
45
 
47
46
  A toolbar item rendered through the kit Button: Base UI owns the navigation behaviour, the
48
- Button its look. It takes `tone`, `buttonStyle`, `iconOnly`, `loading` and `render`.
47
+ Button its look. It takes `tone`, `appearance`, `iconOnly`, `loading` and `render`.
49
48
 
50
49
  ```text
51
- ({ render, tone, buttonStyle, iconOnly, loading, fullWidth, className, ...props }: ToolbarButtonProps) => React.JSX.Element
50
+ ({ render, tone, appearance, iconOnly, loading, fullWidth, className, ...props }: ToolbarButtonProps) => React.JSX.Element
52
51
  ```
53
52
 
54
53
  ### `ToolbarButtonProps`
55
54
 
56
55
  Kind: interface.
57
56
 
58
- Extends: `Omit<ToolbarPrimitive.Button.Props, "render">`, `Pick<ButtonProps, "tone" | "buttonStyle" | "iconOnly" | "loading" | "fullWidth">`.
57
+ Extends: `Omit<ToolbarPrimitive.Button.Props, "render">`, `Pick<ButtonProps, "tone" | "appearance" | "iconOnly" | "loading" | "fullWidth">`.
59
58
 
60
59
  | member | required | type | description / documented default |
61
60
  | --- | :-: | --- | --- |
@@ -157,7 +156,7 @@ import {
157
156
 
158
157
  export default function ToolbarExample() {
159
158
  return (
160
- <Stack direction="horizontal">
159
+ <Stack gap="sm" direction="horizontal">
161
160
  <Toolbar aria-label="Formatting">
162
161
  <ToolbarGroup>
163
162
  <ToolbarButton iconOnly aria-label="Bold">
@@ -177,7 +176,7 @@ export default function ToolbarExample() {
177
176
  </ToolbarButton>
178
177
  </ToolbarGroup>
179
178
  <ToolbarSeparator />
180
- <ToolbarInput aria-label="Font size" defaultValue="14" inputMode="numeric" style={{ width: "calc(4rem * var(--scale))" }} />
179
+ <ToolbarInput aria-label="Font size" defaultValue="14" inputMode="numeric" style={{ width: "4rem" }} />
181
180
  <ToolbarLink
182
181
  href="#/toolbar"
183
182
  onClick={(event) => {
@@ -203,7 +202,7 @@ import { Toolbar, ToolbarButton } from "themelia-ui/base/toolbar"
203
202
 
204
203
  export default function ToolbarOrientation() {
205
204
  return (
206
- <Stack direction="horizontal" gap="xl" align="start">
205
+ <Stack direction="horizontal" align="start">
207
206
  <Toolbar aria-label="History" orientation="vertical">
208
207
  <ToolbarButton iconOnly aria-label="Undo">
209
208
  <Undo2Icon />
@@ -15,12 +15,11 @@ A short, non-essential hint labels a control on hover or focus.
15
15
 
16
16
  ```tsx fragment — import-only example
17
17
  import { Tooltip } from "themelia-ui/base/tooltip"
18
- import "themelia-ui/base/tooltip.css"
19
18
  ```
20
19
 
21
20
  ## Composition
22
21
 
23
- This module depends on no other module.
22
+ This module composes `base/typography`.
24
23
 
25
24
  Application policy—routing, fetching, persistence, permissions, and translation—stays
26
25
  outside the package and arrives through the public props, callbacks, slots, or accessors below.
@@ -82,22 +81,22 @@ import { Tooltip, TooltipContent, TooltipTrigger } from "themelia-ui/base/toolti
82
81
 
83
82
  export default function TooltipExample() {
84
83
  return (
85
- <Stack direction="horizontal" gap="lg" align="center" wrap>
84
+ <Stack direction="horizontal" align="center" wrap>
86
85
  <Tooltip>
87
- <TooltipTrigger render={<Button buttonStyle="outline" tone="neutral" />}>
86
+ <TooltipTrigger render={<Button appearance="outline" tone="neutral" />}>
88
87
  Hover or focus
89
88
  </TooltipTrigger>
90
89
  <TooltipContent>Charged on the first of the month.</TooltipContent>
91
90
  </Tooltip>
92
91
 
93
92
  <Tooltip>
94
- <TooltipTrigger render={<Button buttonStyle="ghost" tone="neutral" iconOnly aria-label="About billing" />}>
93
+ <TooltipTrigger render={<Button appearance="ghost" tone="neutral" iconOnly aria-label="About billing" />}>
95
94
  <InfoIcon />
96
95
  </TooltipTrigger>
97
96
  <TooltipContent>An icon-only control still needs a name of its own.</TooltipContent>
98
97
  </Tooltip>
99
98
 
100
- <TooltipButton tooltip="TooltipButton wires the two together" buttonStyle="outline" tone="neutral">
99
+ <TooltipButton tooltip="TooltipButton wires the two together" appearance="outline" tone="neutral">
101
100
  TooltipButton
102
101
  </TooltipButton>
103
102
  </Stack>