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 @@ Presenting label/key and value facts, a collapsible region, a keyboard hint or a
15
15
 
16
16
  ```tsx fragment — import-only example
17
17
  import { BooleanIndicator } from "themelia-ui/base/display"
18
- import "themelia-ui/base/display.css"
19
18
  ```
20
19
 
21
20
  ## Composition
@@ -208,8 +207,8 @@ MetadataListStrings
208
207
 
209
208
  Kind: callable.
210
209
 
211
- A glyph in a tinted medallion. Its size comes from `--icon-badge-size`, so a caller
212
- needing a smaller mark re-points the token instead of redrawing the badge.
210
+ A glyph in a tinted medallion. `tone` coordinates fill and glyph; `shape` chooses
211
+ rounded or circular geometry. Internal sizing variables are not consumer overrides.
213
212
 
214
213
  ```text
215
214
  ({ icon, children, tone, shape, solid, bordered, className, ...props }: IconBadgeProps) => import("react").JSX.Element
@@ -242,8 +241,10 @@ Kind: type.
242
241
 
243
242
  Kind: type.
244
243
 
244
+ A medallion's tones: the kit's tone union, without secondary.
245
+
245
246
  ```text
246
- "neutral" | "primary" | "success" | "warning" | "destructive" | "info"
247
+ Extract<SemanticTone, "neutral" | "primary" | "success" | "warning" | "destructive" | "info">
247
248
  ```
248
249
 
249
250
  ### `InlineStat`
@@ -307,7 +308,7 @@ are pressed in turn rather than together.
307
308
  Kind: type.
308
309
 
309
310
  ```text
310
- DescriptorBase & ValueFallback & DisplayOverride & { kind: "badge"; value: DisplayValue; badgeTone?: BadgeProps["tone"]; badgeVariant?: BadgeProps["variant"]; }
311
+ DescriptorBase & ValueFallback & DisplayOverride & { kind: "badge"; value: DisplayValue; badgeTone?: BadgeProps["tone"]; badgeAppearance?: BadgeProps["appearance"]; }
311
312
  ```
312
313
 
313
314
  ### `MetadataColumns`
@@ -342,16 +343,6 @@ Kind: type.
342
343
  DescriptorBase & ValueFallback & { kind: "date"; value: DateValueInput; pattern?: string; }
343
344
  ```
344
345
 
345
- ### `MetadataDensity`
346
-
347
- Kind: type.
348
-
349
- `compact` tightens the rhythm for a dense panel.
350
-
351
- ```text
352
- "default" | "compact"
353
- ```
354
-
355
346
  ### `MetadataEmptyValueDescriptor`
356
347
 
357
348
  Kind: type.
@@ -404,7 +395,7 @@ when the list is empty, so a caller can render it unconditionally.
404
395
  **Alternatives:** Item, FormField.
405
396
 
406
397
  ```text
407
- ({ items, columns, density, emptyLabel, title, titleSeparator, className, layout, separator, itemSeparator, strings, }: MetadataListProps) => import("react").JSX.Element | null
398
+ ({ items, columns, size, emptyLabel, title, titleSeparator, className, layout, separator, itemSeparator, strings, }: MetadataListProps) => import("react").JSX.Element | null
408
399
  ```
409
400
 
410
401
  ### `MetadataListItem`
@@ -461,6 +452,16 @@ DescriptorBase & ValueFallback & DisplayOverride & { kind: "mono"; value: Displa
461
452
 
462
453
  Kind: type.
463
454
 
455
+ ### `MetadataSize`
456
+
457
+ Kind: type.
458
+
459
+ `sm` tightens the rhythm for a dense panel.
460
+
461
+ ```text
462
+ "default" | "sm"
463
+ ```
464
+
464
465
  ### `MetadataTextValueDescriptor`
465
466
 
466
467
  Kind: type.
@@ -571,7 +572,7 @@ Extends: `SeparatorPrimitive.Props`, `Pick<SeparatorPrimitive.Props, "aria-hidde
571
572
  | member | required | type | description / documented default |
572
573
  | --- | :-: | --- | --- |
573
574
  | `variant` | no | `SeparatorVariant` | How the rule is drawn. Structural, not semantic — a dashed rule is the same divider,<br>drawn as provisional. |
574
- | `thickness` | no | `string \| number` | The rule's thickness: a CSS length, or a number in pixels. Overrides<br>`--separator-thickness` for this rule, e.g. a seam between panels. |
575
+ | `thickness` | no | `string \| number` | The rule's thickness: a CSS length, or a number in pixels. Overrides the hairline for<br>this rule, e.g. a seam between panels. |
575
576
  | `label` | no | `React.ReactNode` | Text set into a gap in the rule — "OR", "More options". Horizontal only. It drops the<br>separator role, because the rule is then decoration around real text. |
576
577
 
577
578
  ### `SeparatorVariant`
@@ -607,7 +608,186 @@ Extends: `React.ComponentProps<"span">`.
607
608
 
608
609
  ## Preview recipes
609
610
 
610
- Preview route: Collapsible — `/collapsible`
611
+ Preview route: Analytics — `/analytics`
612
+
613
+ ### Compose your own
614
+
615
+ ```tsx fragment — excerpt from the live preview; surrounding values are supplied by the application
616
+ import { ArrowUpIcon, CreditCardIcon } from "lucide-react"
617
+
618
+ import { Badge } from "themelia-ui/base/badge"
619
+ import { Card } from "themelia-ui/base/cards"
620
+ import { Sparkline } from "themelia-ui/base/chart"
621
+ import { IconBadge } from "themelia-ui/base/display"
622
+ import { Stack } from "themelia-ui/base/structure"
623
+ import { DisplayLabel, Text } from "themelia-ui/base/typography"
624
+ import { Money } from "themelia-ui/primitives"
625
+
626
+ export default function AnalyticsBlueprint() {
627
+ return (
628
+ <Card style={{ maxWidth: "20rem" }}>
629
+ <Stack gap="sm">
630
+ <Stack direction="horizontal" align="center" gap="sm">
631
+ <IconBadge icon={CreditCardIcon} tone="primary" />
632
+ <DisplayLabel>Revenue</DisplayLabel>
633
+ </Stack>
634
+ <Stack direction="horizontal" align="center" justify="between" gap="sm">
635
+ <Money amount={48200} currency="EUR" size="xl" weight="semibold" />
636
+ <Badge tone="success">
637
+ <ArrowUpIcon />
638
+ 12.4%
639
+ </Badge>
640
+ </Stack>
641
+ <Sparkline data={[18, 22, 19, 27, 24, 31, 29, 38]} tone="success" label="Revenue rising over eight weeks" />
642
+ <Text size="xs" type="secondary">
643
+ Net of refunds, this quarter
644
+ </Text>
645
+ </Stack>
646
+ </Card>
647
+ )
648
+ }
649
+ ```
650
+
651
+ ### Compose your own checklist
652
+
653
+ ```tsx fragment — excerpt from the live preview; surrounding values are supplied by the application
654
+ import { CheckIcon, CircleIcon } from "lucide-react"
655
+
656
+ import { Accordion } from "themelia-ui/base/accordion"
657
+ import { Button } from "themelia-ui/base/buttons"
658
+ import { IconBadge } from "themelia-ui/base/display"
659
+ import { Progress } from "themelia-ui/base/feedback"
660
+ import { Stack } from "themelia-ui/base/structure"
661
+ import { Text } from "themelia-ui/base/typography"
662
+
663
+ export default function ChecklistBlueprint() {
664
+ return (
665
+ <Stack style={{ maxWidth: "34rem", width: "100%" }}>
666
+ <Progress value={1} max={3} label="1 of 3 steps complete" />
667
+ <Accordion
668
+ media="medallion"
669
+ defaultValue={["invite"]}
670
+ items={[
671
+ {
672
+ value: "profile",
673
+ title: "Complete your profile",
674
+ icon: <IconBadge icon={CheckIcon} tone="success" shape="circle" />,
675
+ content: <Text type="secondary">Name, avatar and time zone are set.</Text>,
676
+ },
677
+ {
678
+ value: "invite",
679
+ title: "Invite your team",
680
+ icon: <IconBadge icon={CircleIcon} shape="circle" />,
681
+ content: (
682
+ <Stack gap="sm" align="start">
683
+ <Text type="secondary">Teammates see the same projects and saved views.</Text>
684
+ <Button>Send invites</Button>
685
+ </Stack>
686
+ ),
687
+ },
688
+ {
689
+ value: "connect",
690
+ title: "Connect a data source",
691
+ icon: <IconBadge icon={CircleIcon} shape="circle" />,
692
+ content: <Text type="secondary">Postgres, a CSV upload or the REST API.</Text>,
693
+ },
694
+ ]}
695
+ />
696
+ </Stack>
697
+ )
698
+ }
699
+ ```
700
+
701
+ ### Compose your own permissions
702
+
703
+ ```tsx fragment — excerpt from the live preview; surrounding values are supplied by the application
704
+ import { CheckIcon } from "lucide-react"
705
+
706
+ import { Badge } from "themelia-ui/base/badge"
707
+ import { VisuallyHidden } from "themelia-ui/base/display"
708
+ import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from "themelia-ui/base/table"
709
+ import { Text } from "themelia-ui/base/typography"
710
+
711
+ const ROLES = ["Owner", "Editor", "Viewer"] as const
712
+ const PERMISSIONS: { name: string; granted: readonly boolean[] }[] = [
713
+ { name: "Edit projects", granted: [true, true, false] },
714
+ { name: "Manage billing", granted: [true, false, false] },
715
+ { name: "Export data", granted: [true, true, true] },
716
+ ]
717
+
718
+ export default function RolesBlueprint() {
719
+ return (
720
+ <Table>
721
+ <TableHeader>
722
+ <TableRow>
723
+ <TableHead>Permission</TableHead>
724
+ {ROLES.map((role) => (
725
+ <TableHead key={role} align="center">
726
+ {role}
727
+ </TableHead>
728
+ ))}
729
+ </TableRow>
730
+ </TableHeader>
731
+ <TableBody>
732
+ {PERMISSIONS.map((permission) => (
733
+ <TableRow key={permission.name}>
734
+ <TableCell>{permission.name}</TableCell>
735
+ {permission.granted.map((granted, index) => (
736
+ <TableCell key={ROLES[index]} align="center">
737
+ {granted ? (
738
+ <Badge tone="success">
739
+ <CheckIcon aria-hidden />
740
+ <VisuallyHidden>Granted</VisuallyHidden>
741
+ </Badge>
742
+ ) : (
743
+ <>
744
+ <Text tag="span" type="secondary" aria-hidden>
745
+ —
746
+ </Text>
747
+ <VisuallyHidden>Not granted</VisuallyHidden>
748
+ </>
749
+ )}
750
+ </TableCell>
751
+ ))}
752
+ </TableRow>
753
+ ))}
754
+ </TableBody>
755
+ </Table>
756
+ )
757
+ }
758
+ ```
759
+
760
+ ### Compose your own
761
+
762
+ ```tsx fragment — excerpt from the live preview; surrounding values are supplied by the application
763
+ import { Button } from "themelia-ui/base/buttons"
764
+ import { Card } from "themelia-ui/base/cards"
765
+ import { MetadataList } from "themelia-ui/base/display"
766
+ import { Stack } from "themelia-ui/base/structure"
767
+ import { toast } from "themelia-ui/base/toaster"
768
+ import { Money } from "themelia-ui/primitives"
769
+
770
+ export default function CartSummaryBlueprint() {
771
+ return (
772
+ <Card title="Order summary" description="3 items" style={{ maxWidth: "24rem" }}>
773
+ <Stack>
774
+ <MetadataList
775
+ layout="rows"
776
+ items={[
777
+ { label: "Subtotal", value: <Money amount={258} currency="EUR" /> },
778
+ { label: "Shipping", value: <Money amount={4.8} currency="EUR" /> },
779
+ { label: "Tax", value: <Money amount={51.6} currency="EUR" /> },
780
+ { label: "Total", value: <Money amount={314.4} currency="EUR" weight="semibold" /> },
781
+ ]}
782
+ />
783
+ <Button onClick={() => toast("Checkout requested", { description: "Preview callback — connect this action to your application." })}>
784
+ Check out
785
+ </Button>
786
+ </Stack>
787
+ </Card>
788
+ )
789
+ }
790
+ ```
611
791
 
612
792
  ### Collapsible
613
793
 
@@ -625,7 +805,7 @@ export default function CollapsibleExample() {
625
805
  </Text>
626
806
  </CollapsibleTrigger>
627
807
  <CollapsibleContent>
628
- <Stack gap="sm" style={{ paddingTop: "var(--space-md)" }}>
808
+ <Stack gap="sm" style={{ paddingTop: "var(--gap-sm)" }}>
629
809
  <Text type="secondary" size="sm">
630
810
  Content that expands to its natural height.
631
811
  </Text>
@@ -650,7 +830,7 @@ import { Text } from "themelia-ui/base/typography"
650
830
 
651
831
  export default function ContentBlockSurfaces() {
652
832
  return (
653
- <Grid columns={{ base: 1, sm: 2 }} gap="lg">
833
+ <Grid columns={{ base: 1, sm: 2 }}>
654
834
  {(["plain", "bordered", "muted", "card"] as const).map((surface) => (
655
835
  <GridCell key={surface}>
656
836
  <ContentBlock
@@ -684,7 +864,7 @@ import { Text } from "themelia-ui/base/typography"
684
864
 
685
865
  export default function ContentBlockFlush() {
686
866
  return (
687
- <Grid columns={2} gap="lg">
867
+ <Grid columns={2}>
688
868
  <GridCell>
689
869
  <ContentBlock surface="card" flush>
690
870
  <ItemGroup ruled>
@@ -692,7 +872,7 @@ export default function ContentBlockFlush() {
692
872
  { name: "Production", value: "sk_live_••••0b3d" },
693
873
  { name: "Staging", value: "sk_test_••••a771" },
694
874
  ].map((row) => (
695
- <Item key={row.name} style={{ paddingInline: "var(--space-xl)" }}>
875
+ <Item key={row.name} style={{ paddingInline: "var(--padding)" }}>
696
876
  <ItemMedia>
697
877
  <IconBadge icon={KeyRoundIcon} />
698
878
  </ItemMedia>
@@ -737,14 +917,14 @@ import { Text } from "themelia-ui/base/typography"
737
917
 
738
918
  export default function ContentBlockHeader() {
739
919
  return (
740
- <Stack gap="lg">
920
+ <Stack>
741
921
  <ContentBlock
742
922
  surface="card"
743
923
  icon={<TruckIcon aria-hidden="true" />}
744
924
  title="Shipment"
745
925
  titleSuffix={<Badge tone="info">In transit</Badge>}
746
926
  headerEnd={
747
- <Button tone="neutral" buttonStyle="ghost">
927
+ <Button tone="neutral" appearance="ghost">
748
928
  Track
749
929
  </Button>
750
930
  }
@@ -770,15 +950,15 @@ import { Stack } from "themelia-ui/base/structure"
770
950
 
771
951
  export default function IconBadgeExample() {
772
952
  return (
773
- <Stack gap="xl">
774
- <Stack direction="horizontal" gap="lg" wrap align="center">
953
+ <Stack>
954
+ <Stack direction="horizontal" wrap align="center">
775
955
  {(["neutral", "primary", "success", "warning", "destructive", "info"] as const).map(
776
956
  (tone) => (
777
957
  <IconBadge key={tone} icon={CreditCardIcon} tone={tone} />
778
958
  ),
779
959
  )}
780
960
  </Stack>
781
- <Stack direction="horizontal" gap="lg" wrap align="center">
961
+ <Stack direction="horizontal" wrap align="center">
782
962
  {(["neutral", "primary", "success", "warning", "destructive", "info"] as const).map(
783
963
  (tone) => (
784
964
  <IconBadge key={tone} icon={CreditCardIcon} tone={tone} shape="circle" solid />
@@ -813,7 +993,7 @@ import { Text } from "themelia-ui/base/typography"
813
993
 
814
994
  export default function DirectionSlot() {
815
995
  return (
816
- <Stack gap="lg">
996
+ <Stack>
817
997
  <DirectionProvider direction="rtl">
818
998
  <div dir="rtl">
819
999
  <ContentBlock surface="card" title="اتجاه من اليمين إلى اليسار">
@@ -844,7 +1024,7 @@ import { Stack } from "themelia-ui/base/structure"
844
1024
 
845
1025
  export default function DateBlockExample() {
846
1026
  return (
847
- <Stack direction="horizontal" gap="lg" wrap align="start">
1027
+ <Stack direction="horizontal" wrap align="start">
848
1028
  <DateBlock date="2026-08-16" />
849
1029
  <DateBlock date="2026-12-31" />
850
1030
  <DateBlock date="2027-01-04" showYear />
@@ -862,7 +1042,7 @@ import { Stack } from "themelia-ui/base/structure"
862
1042
 
863
1043
  export default function DateBlockParts() {
864
1044
  return (
865
- <Stack direction="horizontal" gap="lg" wrap align="start">
1045
+ <Stack direction="horizontal" wrap align="start">
866
1046
  <DateBlock date="2026-09-02" showWeekday={false} />
867
1047
  <DateBlock date="2026-09-02" showMonth={false} />
868
1048
  <DateBlock date="2026-09-02" showYear />
@@ -921,8 +1101,8 @@ import { Text } from "themelia-ui/base/typography"
921
1101
 
922
1102
  export default function DateBlockUnboxed() {
923
1103
  return (
924
- <Stack gap="lg">
925
- <Stack direction="horizontal" gap="xl" wrap align="start">
1104
+ <Stack>
1105
+ <Stack direction="horizontal" wrap align="start">
926
1106
  <DateBlock date="2026-08-27" boxed={false} />
927
1107
  <DateBlock date="2026-08-27" boxed={false} showWeekday={false} />
928
1108
  </Stack>
@@ -944,22 +1124,22 @@ import { Stack } from "themelia-ui/base/structure"
944
1124
 
945
1125
  export default function InlineStatExample() {
946
1126
  return (
947
- <Stack gap="xl">
1127
+ <Stack>
948
1128
  <Card style={{ maxWidth: "24rem" }}>
949
1129
  <CardContent>
950
- <Stack gap="md">
1130
+ <Stack gap="sm">
951
1131
  <InlineStat label="Subtotal" value="€ 1,240.00" mono />
952
1132
  <InlineStat label="Shipping" value="€ 18.50" mono />
953
1133
  <InlineStat label="Discount" value={null} mono />
954
1134
  </Stack>
955
1135
  </CardContent>
956
1136
  </Card>
957
- <Stack direction="horizontal" gap="2xl" wrap>
1137
+ <Stack direction="horizontal" wrap>
958
1138
  <InlineStat layout="inline" label="Region" value="eu-west-1" mono />
959
1139
  <InlineStat layout="inline" label="Plan" value="Team" />
960
1140
  <InlineStat layout="inline" label="Seats" value="12" mono />
961
1141
  </Stack>
962
- <Stack direction="horizontal" gap="2xl" wrap>
1142
+ <Stack direction="horizontal" wrap>
963
1143
  <InlineStat layout="stacked" label="Open invoices" value="14" mono />
964
1144
  <InlineStat layout="stacked" label="Overdue" value="3" mono />
965
1145
  <InlineStat layout="stacked" label="Collected" value="€ 48,200.00" mono />
@@ -979,7 +1159,7 @@ import { Text } from "themelia-ui/base/typography"
979
1159
  export default function KbdExample() {
980
1160
  return (
981
1161
  <Stack gap="sm">
982
- <Stack direction="horizontal" gap="md" align="center">
1162
+ <Stack direction="horizontal" gap="sm" align="center">
983
1163
  <Text size="sm" type="secondary">Open the palette with</Text>
984
1164
  <Kbd>⌘K</Kbd>
985
1165
  <Text size="sm" type="secondary">or</Text>
@@ -987,7 +1167,7 @@ export default function KbdExample() {
987
1167
  <Text size="sm" type="secondary">· close with</Text>
988
1168
  <Kbd>Esc</Kbd>
989
1169
  </Stack>
990
- <Stack direction="horizontal" gap="md" align="center">
1170
+ <Stack direction="horizontal" gap="sm" align="center">
991
1171
  <Text size="sm" type="secondary">Go to the inbox with</Text>
992
1172
  {/* A sequence: G, then I. The wider gap between caps says "in turn". */}
993
1173
  <KbdGroup>
@@ -1043,24 +1223,24 @@ const SUMMARY: MetadataInlineListItem[] = [
1043
1223
 
1044
1224
  export default function MetadataInline() {
1045
1225
  return (
1046
- <Stack gap="lg">
1226
+ <Stack>
1047
1227
  <MetadataList layout="inline" itemSeparator items={SUMMARY} />
1048
- <MetadataList layout="inline" itemSeparator="—" density="compact" items={SUMMARY} />
1228
+ <MetadataList layout="inline" itemSeparator="—" size="sm" items={SUMMARY} />
1049
1229
  </Stack>
1050
1230
  )
1051
1231
  }
1052
1232
  ```
1053
1233
 
1054
- ### density
1234
+ ### size
1055
1235
 
1056
1236
  ```tsx fragment — excerpt from the live preview; surrounding values are supplied by the application
1057
1237
  import { MetadataList } from "themelia-ui/base/display"
1058
1238
 
1059
1239
  import { FACTS } from "./data"
1060
1240
 
1061
- export default function MetadataDensity() {
1241
+ export default function MetadataSize() {
1062
1242
  return (
1063
- <MetadataList density="compact" columns={2} items={FACTS.slice(0, 4)} title="Invoice" titleSeparator />
1243
+ <MetadataList size="sm" columns={2} items={FACTS.slice(0, 4)} title="Invoice" titleSeparator />
1064
1244
  )
1065
1245
  }
1066
1246
  ```
@@ -1077,13 +1257,13 @@ const SCROLL_FRAME = {
1077
1257
  maxHeight: "9rem",
1078
1258
  border: "var(--border-width) solid var(--border)",
1079
1259
  borderRadius: "var(--radius)",
1080
- padding: "var(--surface-y) var(--surface-x)",
1260
+ padding: "var(--padding)",
1081
1261
  } as const
1082
1262
 
1083
1263
  export default function ScrollAreaExample() {
1084
1264
  return (
1085
1265
  <ScrollArea style={SCROLL_FRAME}>
1086
- <Stack gap="xs">
1266
+ <Stack gap="sm">
1087
1267
  {Array.from({ length: 12 }, (_, index) => (
1088
1268
  <Text key={index} size="sm" type="secondary">
1089
1269
  Scrollable line {index + 1}
@@ -1103,7 +1283,7 @@ import { Stack } from "themelia-ui/base/structure"
1103
1283
 
1104
1284
  export default function BooleanIndicatorExample() {
1105
1285
  return (
1106
- <Stack direction="horizontal" gap="xl">
1286
+ <Stack direction="horizontal">
1107
1287
  <BooleanIndicator value strings={{ true: "Active", false: "Paused" }} />
1108
1288
  <BooleanIndicator value={false} strings={{ true: "Active", false: "Paused" }} />
1109
1289
  </Stack>
@@ -1136,10 +1316,10 @@ import { Text } from "themelia-ui/base/typography"
1136
1316
 
1137
1317
  export default function SeparatorExample() {
1138
1318
  return (
1139
- <Stack gap="lg" style={{ width: "100%" }}>
1319
+ <Stack style={{ width: "100%" }}>
1140
1320
  <Separator />
1141
1321
  <Separator label="OR" />
1142
- <Stack direction="horizontal" gap="md" align="center" style={{ height: "1.5rem" }}>
1322
+ <Stack direction="horizontal" gap="sm" align="center" style={{ height: "1.5rem" }}>
1143
1323
  <Text size="sm">Left</Text>
1144
1324
  <Separator orientation="vertical" />
1145
1325
  <Text size="sm">Right</Text>
@@ -1159,24 +1339,24 @@ import { Text } from "themelia-ui/base/typography"
1159
1339
 
1160
1340
  export default function SeparatorVariants() {
1161
1341
  return (
1162
- <Stack gap="xl" style={{ maxWidth: "26rem", width: "100%" }}>
1163
- <Stack gap="xs">
1342
+ <Stack style={{ maxWidth: "26rem", width: "100%" }}>
1343
+ <Stack gap="sm">
1164
1344
  <Text size="xs" type="secondary">solid</Text>
1165
1345
  <Separator />
1166
1346
  </Stack>
1167
- <Stack gap="xs">
1347
+ <Stack gap="sm">
1168
1348
  <Text size="xs" type="secondary">dashed</Text>
1169
1349
  <Separator variant="dashed" />
1170
1350
  </Stack>
1171
- <Stack gap="xs">
1351
+ <Stack gap="sm">
1172
1352
  <Text size="xs" type="secondary">dotted</Text>
1173
1353
  <Separator variant="dotted" />
1174
1354
  </Stack>
1175
- <Stack gap="xs">
1355
+ <Stack gap="sm">
1176
1356
  <Text size="xs" type="secondary">thickness=&#123;2&#125;</Text>
1177
1357
  <Separator thickness={2} />
1178
1358
  </Stack>
1179
- <Stack direction="horizontal" gap="lg" style={{ height: "3rem" }}>
1359
+ <Stack direction="horizontal" style={{ height: "3rem" }}>
1180
1360
  <Text size="sm">Vertical</Text>
1181
1361
  <Separator orientation="vertical" variant="dashed" />
1182
1362
  <Text size="sm">rules</Text>
@@ -15,12 +15,11 @@ Composing a menu anatomy — submenus, radio and checkbox items — from its par
15
15
 
16
16
  ```tsx fragment — import-only example
17
17
  import { DropdownMenu } from "themelia-ui/base/dropdown-menu"
18
- import "themelia-ui/base/dropdown-menu.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.
@@ -220,9 +219,9 @@ export default function DropdownMenuExample() {
220
219
  const [sort, setSort] = useState("date")
221
220
 
222
221
  return (
223
- <Stack direction="horizontal" gap="lg">
222
+ <Stack direction="horizontal">
224
223
  <DropdownMenu>
225
- <DropdownMenuTrigger render={<Button buttonStyle="outline" tone="neutral" />}>
224
+ <DropdownMenuTrigger render={<Button appearance="outline" tone="neutral" />}>
226
225
  Options <ChevronDownIcon />
227
226
  </DropdownMenuTrigger>
228
227
  <DropdownMenuContent>
@@ -268,9 +267,9 @@ import { UIProvider } from "themelia-ui/ui-provider"
268
267
 
269
268
  export default function DropdownScheme() {
270
269
  return (
271
- <Stack direction="horizontal" gap="lg">
270
+ <Stack direction="horizontal">
272
271
  <DropdownMenu>
273
- <DropdownMenuTrigger render={<Button buttonStyle="outline" tone="neutral" />}>
272
+ <DropdownMenuTrigger render={<Button appearance="outline" tone="neutral" />}>
274
273
  Default <ChevronDownIcon />
275
274
  </DropdownMenuTrigger>
276
275
  <DropdownMenuContent>
@@ -280,7 +279,7 @@ export default function DropdownScheme() {
280
279
  </DropdownMenu>
281
280
  <UIProvider config={{ overlay: { darkMenus: false } }}>
282
281
  <DropdownMenu>
283
- <DropdownMenuTrigger render={<Button buttonStyle="outline" tone="neutral" />}>
282
+ <DropdownMenuTrigger render={<Button appearance="outline" tone="neutral" />}>
284
283
  Follows the page <ChevronDownIcon />
285
284
  </DropdownMenuTrigger>
286
285
  <DropdownMenuContent>