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
@@ -2,151 +2,100 @@
2
2
  * themelia-ui → Tailwind CSS v4.
3
3
  *
4
4
  * GENERATED by scripts/gen-tailwind-bridge.mjs — run `npm run tokens:tailwind`.
5
- * Edit the tokens, not this file. `verify docs-freshness` fails if the two disagree.
5
+ * Edit the theme, not this file. `verify docs-freshness` fails if the two disagree.
6
6
  *
7
- * Import it AFTER Tailwind and after the kit's stylesheet:
7
+ * Import it after Tailwind; the kit's own CSS arrives with its components:
8
8
  *
9
9
  * @import "tailwindcss";
10
- * @import "themelia-ui/core.css";
11
10
  * @import "themelia-ui/tailwind.css";
12
11
  *
13
- * It is a theme declaration only — no utilities, no rules, nothing to ship at runtime that
14
- * Tailwind does not already emit. Tailwind drops every key no utility uses.
12
+ * A theme declaration only: no utilities and no rules. Tailwind drops every key no utility
13
+ * uses.
15
14
  *
16
- * Two things it does. It makes the kit's contract addressable from Tailwind, so
17
- * `bg-primary`, `text-muted-foreground`, `rounded-sm` and `p-md` mean what they mean
18
- * everywhere else in the kit. And it stops Tailwind's own defaults from overwriting the token
19
- * names the two projects share — both descend from shadcn, so 41 names collide and 23 of them
20
- * are silently re-pointed without this file. The kit's small radius, six type steps and three
21
- * font stacks quietly become Tailwind's, and `--text-sm` loses its type-factor fallback so
22
- * scoped type scaling stops working. The 39 restated names below are the fix.
15
+ * It makes the theme addressable from Tailwind, so `bg-primary`, `text-muted-foreground`,
16
+ * `rounded-sm` and `p-padding` mean what they mean in the kit, and `text-sm` follows the type
17
+ * factor as Text does. And it keeps Tailwind's defaults
18
+ * off the names both declare: `--radius-sm`, `--shadow-lg`, the type steps and the font stacks
19
+ * would otherwise take Tailwind's values. A name the kit leaves unset (`initial`) removes
20
+ * Tailwind's default, so the kit's fallback holds.
23
21
  *
24
- * `inline` is load-bearing, not a style choice. Without it every key resolves once at
25
- * `:root`, and `bg-primary` inside a `.dark` subtree paints the light colour. The second
26
- * block is the exception that proves it: literals, which resolve the same everywhere and
27
- * must stay readable at the element so a theme can move them.
22
+ * `inline` is load-bearing in the first block: a plain @theme resolves each key once at
23
+ * `:root`, and `bg-primary` in a dark region would paint the light colour. The second block
24
+ * restates literals, which must stay readable at the element so a theme can move them.
28
25
  */
29
26
  @theme inline {
30
27
  /* ── colour ────────────────────────────────────────────────────────────────────
31
- * The key is Tailwind's, the value reads the kit's. Nothing of the kit's is overridden,
32
- * so a consumer re-pointing a token at any scope — including .dark — is followed.
28
+ * The key is Tailwind's, the value reads the kit's variable at the element.
33
29
  */
34
- --color-background: var(--background);
35
- --color-foreground: var(--foreground);
36
- --color-card: var(--card);
37
- --color-card-foreground: var(--card-foreground);
38
- --color-popover: var(--popover);
39
- --color-popover-foreground: var(--popover-foreground);
40
- --color-primary: var(--primary);
41
- --color-primary-foreground: var(--primary-foreground);
42
- --color-secondary: var(--secondary);
43
- --color-secondary-foreground: var(--secondary-foreground);
44
- --color-muted: var(--muted);
45
- --color-muted-foreground: var(--muted-foreground);
46
- --color-accent: var(--accent);
47
- --color-accent-foreground: var(--accent-foreground);
48
- --color-destructive: var(--destructive);
49
- --color-destructive-foreground: var(--destructive-foreground);
50
- --color-border: var(--border);
51
- --color-input: var(--input);
52
- --color-ring: var(--ring);
53
- --color-chart-1: var(--chart-1);
54
- --color-chart-2: var(--chart-2);
55
- --color-chart-3: var(--chart-3);
56
- --color-chart-4: var(--chart-4);
57
- --color-chart-5: var(--chart-5);
58
- --color-sidebar: var(--sidebar);
59
- --color-sidebar-foreground: var(--sidebar-foreground);
60
- --color-sidebar-primary: var(--sidebar-primary);
61
- --color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
62
- --color-sidebar-accent: var(--sidebar-accent);
63
- --color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
64
- --color-sidebar-border: var(--sidebar-border);
65
- --color-sidebar-ring: var(--sidebar-ring);
66
- --color-success: var(--success);
67
- --color-success-foreground: var(--success-foreground);
68
- --color-info: var(--info);
69
- --color-info-foreground: var(--info-foreground);
70
- --color-link: var(--link-color);
71
- --color-primary-accent: var(--primary-accent);
72
- --color-warning: var(--warning);
73
- --color-warning-foreground: var(--warning-foreground);
74
- --color-warning-accent: var(--warning-accent);
75
- --color-destructive-accent: var(--destructive-accent);
76
- --color-inverse-background: var(--inverse-background);
77
- --color-inverse-foreground: var(--inverse-foreground);
78
- --color-inverse-muted: var(--inverse-muted);
79
- --color-inverse-subtle: var(--inverse-subtle);
80
- --color-inverse-disabled: var(--inverse-disabled);
81
- --color-inverse-surface: var(--inverse-surface);
82
- --color-inverse-surface-strong: var(--inverse-surface-strong);
83
- --color-inverse-border: var(--inverse-border);
84
- --color-inverse-decoration: var(--inverse-decoration);
30
+ --color-accent: var(--accent);
31
+ --color-accent-foreground: var(--accent-foreground);
32
+ --color-background: var(--background);
33
+ --color-border: var(--border);
34
+ --color-card: var(--card);
35
+ --color-card-foreground: var(--card-foreground);
36
+ --color-chart-1: var(--chart-1);
37
+ --color-chart-2: var(--chart-2);
38
+ --color-chart-3: var(--chart-3);
39
+ --color-chart-4: var(--chart-4);
40
+ --color-chart-5: var(--chart-5);
41
+ --color-destructive: var(--destructive);
42
+ --color-destructive-foreground: var(--destructive-foreground);
43
+ --color-foreground: var(--foreground);
44
+ --color-info: var(--info);
45
+ --color-info-foreground: var(--info-foreground);
46
+ --color-input: var(--input);
47
+ --color-link: var(--link);
48
+ --color-muted: var(--muted);
49
+ --color-muted-foreground: var(--muted-foreground);
50
+ --color-overlay-backdrop: var(--overlay-backdrop);
51
+ --color-popover: var(--popover);
52
+ --color-popover-foreground: var(--popover-foreground);
53
+ --color-primary: var(--primary);
54
+ --color-primary-foreground: var(--primary-foreground);
55
+ --color-ring: var(--ring);
56
+ --color-secondary: var(--secondary);
57
+ --color-secondary-foreground: var(--secondary-foreground);
58
+ --color-sidebar: var(--sidebar);
59
+ --color-sidebar-accent: var(--sidebar-accent);
60
+ --color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
61
+ --color-sidebar-border: var(--sidebar-border);
62
+ --color-sidebar-foreground: var(--sidebar-foreground);
63
+ --color-sidebar-ring: var(--sidebar-ring);
64
+ --color-success: var(--success);
65
+ --color-success-foreground: var(--success-foreground);
66
+ --color-warning: var(--warning);
67
+ --color-warning-foreground: var(--warning-foreground);
85
68
 
86
69
  /* ── spacing ───────────────────────────────────────────────────────────────────
87
- * Tailwind's namespace is `--spacing-*`, the kit's ladder is `--space-*`. A different name,
88
- * so `p-md` follows a scoped `--density-scale` the way the kit's own padding does.
70
+ * The kit's four lengths, which density and scale move.
89
71
  */
90
- --spacing-2xs: var(--space-2xs);
91
- --spacing-xs: var(--space-xs);
92
- --spacing-sm: var(--space-sm);
93
- --spacing-md: var(--space-md);
94
- --spacing-lg: var(--space-lg);
95
- --spacing-xl: var(--space-xl);
96
- --spacing-2xl: var(--space-2xl);
72
+ --spacing-padding: var(--padding);
73
+ --spacing-padding-sm: var(--padding-sm);
74
+ --spacing-gap: var(--gap);
75
+ --spacing-gap-sm: var(--gap-sm);
97
76
 
98
- /* ── names the kit and Tailwind both use — formulas ────────────────────────────
99
- * These restate the kit's own declared values. `--text-sm: var(--text-sm)` would
100
- * reference itself and resolve to nothing; restating makes the override a no-op and
101
- * takes Tailwind's default — which silently re-points every kit token the two share — out of the way.
102
- * Inlined, each formula reads its inputs at the element.
77
+ /* ── type ──────────────────────────────────────────────────────────────────────
78
+ * Each step times the type factor, as Text sizes it; nothing reaches `:root`.
103
79
  */
104
- --shadow-2xs: 0 1px 2px 0px color-mix(in oklab, var(--shadow-ink) 4%, transparent);
105
- --shadow-xs: 0 1px 2px 0px color-mix(in oklab, var(--shadow-ink) 6%, transparent), 0 1px 1px -1px color-mix(in oklab, var(--shadow-ink) 6%, transparent);
106
- --shadow-sm: 0 1px 2px 0px color-mix(in oklab, var(--shadow-ink) 6%, transparent), 0 2px 4px -2px color-mix(in oklab, var(--shadow-ink) 10%, transparent);
107
- --shadow-md: 0 2px 4px -1px color-mix(in oklab, var(--shadow-ink) 8%, transparent), 0 8px 16px -8px color-mix(in oklab, var(--shadow-ink) 16%, transparent);
108
- --shadow-lg: 0 4px 8px -2px color-mix(in oklab, var(--shadow-ink) 10%, transparent), 0 12px 24px -12px color-mix(in oklab, var(--shadow-ink) 18%, transparent);
109
- --shadow-xl: 0 8px 16px -4px color-mix(in oklab, var(--shadow-ink) 12%, transparent), 0 20px 40px -20px color-mix(in oklab, var(--shadow-ink) 22%, transparent);
110
- --shadow-2xl: 0 16px 32px -8px color-mix(in oklab, var(--shadow-ink) 18%, transparent), 0 32px 64px -28px color-mix(in oklab, var(--shadow-ink) 28%, transparent);
111
- --text-xs: calc(0.75rem * var(--text-scale, var(--scale)));
112
- --text-pxs: calc(0.8125rem * var(--text-scale, var(--scale)));
113
- --text-sm: calc(0.875rem * var(--text-scale, var(--scale)));
114
- --text-base: calc(1rem * var(--text-scale, var(--scale)));
115
- --text-lg: calc(1.125rem * var(--text-scale, var(--scale)));
116
- --text-xl: calc(1.25rem * var(--text-scale, var(--scale)));
117
- --text-2xl: calc(1.5rem * var(--text-scale, var(--scale)));
118
- --font-heading: var(--font-sans);
119
- --animate-ping: ping 1s var(--ease-out) infinite;
120
- --animate-pulse: pulse 2s var(--ease-in-out) infinite;
80
+ --text-2xl: calc(1.5rem * var(--text-scale));
81
+ --text-base: calc(1rem * var(--text-scale));
82
+ --text-lg: calc(1.125rem * var(--text-scale));
83
+ --text-pxs: calc(0.8125rem * var(--text-scale));
84
+ --text-sm: calc(0.875rem * var(--text-scale));
85
+ --text-xl: calc(1.25rem * var(--text-scale));
86
+ --text-xs: calc(0.75rem * var(--text-scale));
121
87
  }
122
88
 
123
89
  @theme {
124
- /* ── names the kit and Tailwind both use — literals ────────────────────────────
125
- * Not inline: an inlined literal is frozen into the utility, so a theme or provider that
126
- * re-points one of these would move the kit and not `rounded-sm` or `font-sans`. Here the
127
- * utility reads the variable at the element, and the value Tailwind emits to `:root` is
128
- * the kit's own, so it overrides nothing.
90
+ /* ── names the kit and Tailwind both use ───────────────────────────────────────
91
+ * The kit's own values, so Tailwind's defaults replace nothing.
129
92
  */
130
- --radius-sm: 0.5rem;
131
- --radius-pill: 999px;
132
- --text-xs--line-height: calc(1 / 0.75);
133
- --text-pxs--line-height: calc(1.125 / 0.8125);
134
- --text-sm--line-height: calc(1.25 / 0.875);
135
- --text-base--line-height: calc(1.5 / 1);
136
- --text-lg--line-height: calc(1.75 / 1.125);
137
- --text-xl--line-height: calc(1.75 / 1.25);
138
- --text-2xl--line-height: calc(2 / 1.5);
139
- --font-sans: 'Geist', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', sans-serif;
140
- --font-serif: Merriweather, ui-serif, serif;
141
- --font-mono: 'Geist Mono', ui-monospace, SFMono-Regular, 'SF Mono', Menlo, Consolas, 'Liberation Mono', monospace;
142
- --leading-none: 1;
143
- --leading-tight: 1.25;
144
- --leading-snug: 1.375;
145
- --leading-normal: 1.5;
146
- --leading-relaxed: 1.625;
147
- --tracking-tight: -0.025em;
148
- --tracking-widest: 0.1em;
149
- --ease-out: cubic-bezier(0.23, 1, 0.32, 1);
150
- --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
151
- --animate-spin: spin 1s linear infinite;
93
+ --font-heading: initial;
94
+ --font-mono: 'Geist Mono', ui-monospace, SFMono-Regular, 'SF Mono', Menlo, Consolas, 'Liberation Mono', monospace;
95
+ --font-sans: 'Geist', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', sans-serif;
96
+ --radius: 1rem;
97
+ --radius-pill: 999px;
98
+ --radius-sm: 0.5rem;
99
+ --shadow: 0 1px 2px 0 oklch(0 0 0 / 6%), 0 1px 1px -1px oklch(0 0 0 / 6%);
100
+ --shadow-lg: 0 4px 8px -2px oklch(0 0 0 / 10%), 0 12px 24px -12px oklch(0 0 0 / 18%);
152
101
  }
@@ -13,8 +13,8 @@
13
13
  top: 50%;
14
14
  left: 50%;
15
15
  translate: -50% -50%;
16
- /* `max()`: only ever grows the target. */
17
- width: max(100%, var(--hit-area-min));
18
- height: max(100%, var(--hit-area-min));
16
+ /* `max()`: only ever grows the target. A fixed 24px: the minimum does not scale. */
17
+ width: max(100%, 1.5rem);
18
+ height: max(100%, 1.5rem);
19
19
  }
20
20
  }
@@ -0,0 +1,86 @@
1
+ /*
2
+ * Colour. Every value is a literal, declared once at `:root`, and every colour is
3
+ * `light-dark(light, dark)`: the used `color-scheme` of the element that paints picks the half.
4
+ * `.light`, `.dark` and `[data-theme]` set only `color-scheme`, so a dark island inside a light
5
+ * page, and a consumer's `:root { --primary: … }`, reach every component without re-declaring
6
+ * anything below `:root`.
7
+ *
8
+ * The names are shadcn's where shadcn has one, so a shadcn theme drops in.
9
+ */
10
+ :root {
11
+ color-scheme: light dark;
12
+
13
+ /* Surfaces and ink. */
14
+ --background: light-dark(oklch(1 0 0), oklch(0.205 0 0)); /* The page and the app shell. */
15
+ --foreground: light-dark(oklch(0.28 0 0), oklch(0.985 0 0)); /* Primary text and icons. */
16
+ --card: light-dark(oklch(1 0 0), oklch(0.25 0 0)); /* Framed regions: cards, table frames, panels. */
17
+ --card-foreground: light-dark(oklch(0.28 0 0), oklch(0.985 0 0));
18
+ --popover: light-dark(oklch(1 0 0), oklch(0.28 0 0)); /* Anchored popups, menus, palettes, toasts. */
19
+ --popover-foreground: light-dark(oklch(0.28 0 0), oklch(0.985 0 0));
20
+ --muted: light-dark(oklch(0.97 0 0), oklch(0.23 0 0)); /* Wells and placeholders. */
21
+ --muted-foreground: light-dark(oklch(0.5 0 0), oklch(0.708 0 0)); /* Supporting text. */
22
+ --accent: light-dark(oklch(0.97 0 0), oklch(0.33 0 0)); /* The one hover and current fill. */
23
+ --accent-foreground: light-dark(oklch(0.205 0 0), oklch(0.985 0 0));
24
+ --border: light-dark(oklch(0.922 0 0), oklch(1 0 0 / 10%)); /* Every divider and frame. */
25
+ --input: light-dark(oklch(0.73 0 0), oklch(1 0 0 / 28%)); /* Control frames. */
26
+ --ring: light-dark(oklch(0.58 0 0), oklch(0.62 0 0)); /* Focus. */
27
+
28
+ /* Tones: a solid fill and the text on it. */
29
+ --primary: light-dark(oklch(0.45 0.124 167.35), oklch(0.7 0.13 167.35));
30
+ --primary-foreground: light-dark(oklch(0.985 0 0), oklch(0.18 0.03 167.35));
31
+ --secondary: light-dark(oklch(0.97 0 0), oklch(0.25 0 0));
32
+ --secondary-foreground: light-dark(oklch(0.205 0 0), oklch(0.985 0 0));
33
+ --destructive: light-dark(oklch(0.5 0.245 27.325), oklch(0.74 0.158 22.216));
34
+ --destructive-foreground: light-dark(oklch(0.99 0 0), oklch(0.18 0.05 22));
35
+ --success: light-dark(oklch(0.4 0.16 145), oklch(0.76 0.16 145));
36
+ --success-foreground: light-dark(oklch(0.985 0 0), oklch(0.18 0.05 145));
37
+ --warning: light-dark(oklch(0.72 0.16 90), oklch(0.82 0.16 90));
38
+ --warning-foreground: light-dark(oklch(0.2 0.05 80), oklch(0.18 0.05 80));
39
+ --info: light-dark(oklch(0.45 0.214 276.966), oklch(0.72 0.14 250));
40
+ --info-foreground: light-dark(oklch(0.99 0 0), oklch(0.18 0.05 250));
41
+ --link: light-dark(oklch(0.462 0.1776 259.13), oklch(0.72 0.12 259.13));
42
+
43
+ /*
44
+ * Two tint strengths, applied at the use site:
45
+ * `color-mix(in oklab, var(--tone) var(--tint), transparent)`.
46
+ */
47
+ --tint: 10%; /* Soft fills: a selected row, a soft badge, an alert's wash. */
48
+ --tint-strong: 30%; /* Tinted lines and edges. */
49
+
50
+ /* Categorical chart series. Hue is the series' identity; only lightness moves by mode. */
51
+ --chart-1: light-dark(oklch(0.56 0.11 167), oklch(0.74 0.13 167));
52
+ --chart-2: light-dark(oklch(0.56 0.11 230), oklch(0.72 0.14 230));
53
+ --chart-3: light-dark(oklch(0.56 0.17 285), oklch(0.72 0.15 285));
54
+ --chart-4: light-dark(oklch(0.58 0.16 330), oklch(0.74 0.15 330));
55
+ --chart-5: light-dark(oklch(0.6 0.14 60), oklch(0.78 0.14 60));
56
+
57
+ /* The application sidebar. */
58
+ --sidebar: light-dark(oklch(0.96 0 0), oklch(0.16 0 0));
59
+ --sidebar-foreground: light-dark(oklch(0.28 0 0), oklch(0.985 0 0));
60
+ --sidebar-accent: light-dark(oklch(0.98 0 0), oklch(0.28 0 0));
61
+ --sidebar-accent-foreground: light-dark(oklch(0.205 0 0), oklch(0.985 0 0));
62
+ --sidebar-border: light-dark(oklch(0.922 0 0), oklch(1 0 0 / 10%));
63
+ --sidebar-ring: light-dark(oklch(0.58 0 0), oklch(0.62 0 0));
64
+
65
+ /* The scrim behind a modal. */
66
+ --overlay-backdrop: oklch(0 0 0 / 0.5);
67
+ }
68
+
69
+ .light,
70
+ [data-theme="light"] {
71
+ color-scheme: light;
72
+ }
73
+
74
+ .dark,
75
+ [data-theme="dark"] {
76
+ color-scheme: dark;
77
+ }
78
+
79
+ /*
80
+ * `--surface-ground` is the ground a surface painted, for a sticky cell or a fade that must
81
+ * match it. A colour island resets it, so a reader inside falls back to the island's own
82
+ * `--background` instead of a ground resolved in the other mode.
83
+ */
84
+ :where([data-theme], .light, .dark) {
85
+ --surface-ground: initial;
86
+ }
@@ -0,0 +1,31 @@
1
+ /*
2
+ * Density presets. Each overrides the spacing and control geometry on its own element, and
3
+ * the values inherit from there; type keeps its size. `default` resets a preset set further
4
+ * out. UIProvider's `scale` writes the same variables inline, computed in JavaScript.
5
+ */
6
+ [data-density="compact"] {
7
+ --padding: 0.75rem;
8
+ --padding-sm: 0.375rem;
9
+ --gap: 0.75rem;
10
+ --gap-sm: 0.375rem;
11
+ --control-height: 2rem;
12
+ --control-height-sm: 1.75rem;
13
+ }
14
+
15
+ [data-density="default"] {
16
+ --padding: 1rem;
17
+ --padding-sm: 0.5rem;
18
+ --gap: 1rem;
19
+ --gap-sm: 0.5rem;
20
+ --control-height: 2.125rem;
21
+ --control-height-sm: 1.875rem;
22
+ }
23
+
24
+ [data-density="comfortable"] {
25
+ --padding: 1.25rem;
26
+ --padding-sm: 0.625rem;
27
+ --gap: 1.25rem;
28
+ --gap-sm: 0.625rem;
29
+ --control-height: 2.25rem;
30
+ --control-height-sm: 2rem;
31
+ }
@@ -0,0 +1,9 @@
1
+ /*
2
+ * Elevation: two shadows. `--shadow` lifts a surface a little off the page (a framed card,
3
+ * a raised chip, a slider thumb); `--shadow-lg` floats one above it (popovers, menus, dialogs,
4
+ * toasts). A popup pairs `--shadow-lg` with a hairline in `--border`.
5
+ */
6
+ :root {
7
+ --shadow: 0 1px 2px 0 oklch(0 0 0 / 6%), 0 1px 1px -1px oklch(0 0 0 / 6%);
8
+ --shadow-lg: 0 4px 8px -2px oklch(0 0 0 / 10%), 0 12px 24px -12px oklch(0 0 0 / 18%);
9
+ }
@@ -0,0 +1,18 @@
1
+ /*
2
+ * Layout: stacking tiers, with gaps between them so an application can slot its own layer
3
+ * in, and the shell's three measures.
4
+ */
5
+ :root {
6
+ --z-sticky: 10; /* Sticky table headers and toolbars. */
7
+ --z-docked: 20; /* A floating batch bar: above a sticky header, below any menu it opens. */
8
+ --z-popover: 50; /* Menus, selects, popovers. */
9
+ --z-toast: 100; /* Above a menu still open when a toast arrives. */
10
+ --z-tooltip: 1000; /* Always last: a tooltip may describe anything, a toast included. */
11
+
12
+ --sidebar-width: 16rem;
13
+ --header-height: 3.5rem;
14
+ --content-width: 64rem;
15
+
16
+ /* The scrim's filter. `none` by default: a blur repaints everything behind it each frame. */
17
+ --overlay-backdrop-filter: none;
18
+ }
@@ -0,0 +1,18 @@
1
+ /*
2
+ * Motion: two durations and one easing. Modules transition an explicit property list, never
3
+ * `all`. `prefers-reduced-motion` and the provider's `motion.reduced` set both durations to 0.
4
+ */
5
+ :root {
6
+ --duration-fast: 150ms;
7
+ --duration: 200ms;
8
+ /* A strong ease-out: motion starts at once and settles without a sluggish tail. */
9
+ --ease: cubic-bezier(0.23, 1, 0.32, 1);
10
+ --disabled-opacity: 0.5;
11
+ }
12
+
13
+ @media (prefers-reduced-motion: reduce) {
14
+ :root {
15
+ --duration-fast: 0ms;
16
+ --duration: 0ms;
17
+ }
18
+ }
@@ -0,0 +1,12 @@
1
+ /*
2
+ * Shape: two radii and one border width. `--radius` rounds whatever holds other rounded things
3
+ * (cards, dialogs, popovers, menus); `--radius-sm` everything inside one or smaller than one
4
+ * (controls, rows, chips, badges, tooltips). A container insets its items by the difference,
5
+ * so the corners nest: outer = inner + inset. `--radius-pill` and `50%` are shapes, not steps.
6
+ */
7
+ :root {
8
+ --radius: 1rem;
9
+ --radius-sm: 0.5rem;
10
+ --radius-pill: 999px;
11
+ --border-width: 1px;
12
+ }
@@ -0,0 +1,10 @@
1
+ /*
2
+ * Size: two control heights and two icon sizes. A glyph button below the small control is an
3
+ * icon plus the small padding on each side, not a third height.
4
+ */
5
+ :root {
6
+ --control-height: 2.125rem;
7
+ --control-height-sm: 1.875rem;
8
+ --icon-size: 1rem;
9
+ --icon-size-sm: 0.75rem;
10
+ }
@@ -0,0 +1,11 @@
1
+ /*
2
+ * Spacing: two paddings and two gaps. The larger one is for containers and between groups
3
+ * (a card's inset, the gap between fields or sections); the smaller one is for items and
4
+ * inside a group (a row's inset, icon and label, title and description).
5
+ */
6
+ :root {
7
+ --padding: 1rem;
8
+ --padding-sm: 0.5rem;
9
+ --gap: 1rem;
10
+ --gap-sm: 0.5rem;
11
+ }
@@ -0,0 +1,20 @@
1
+ /*
2
+ * Typography, read only by Text and Heading: the font stacks, the size ramp and the one type
3
+ * factor. Text multiplies a size by `--text-scale` where it applies it; line heights, weights
4
+ * and tracking are Text's and Heading's own values.
5
+ */
6
+ :root {
7
+ --font-sans: 'Geist', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', sans-serif;
8
+ --font-mono: 'Geist Mono', ui-monospace, SFMono-Regular, 'SF Mono', Menlo, Consolas, 'Liberation Mono', monospace;
9
+ /* Optional: headings follow the sans stack until a theme sets this. */
10
+ --font-heading: initial;
11
+
12
+ --text-xs: 0.75rem;
13
+ --text-pxs: 0.8125rem;
14
+ --text-sm: 0.875rem; /* The default body size. */
15
+ --text-base: 1rem;
16
+ --text-lg: 1.125rem;
17
+ --text-xl: 1.25rem;
18
+ --text-2xl: 1.5rem;
19
+ --text-scale: 1;
20
+ }
@@ -0,0 +1,61 @@
1
+ /*
2
+ * The tone rule. A component with a `tone` prop renders `data-tone`, and reads three
3
+ * variables instead of naming a colour:
4
+ *
5
+ * --tone the hue: a solid fill, a tint, a line
6
+ * --tone-foreground text and icons on a solid fill
7
+ * --tone-ink the hue as text or a glyph, on the page or on a tint
8
+ *
9
+ * .soft { background-color: color-mix(in oklab, var(--tone) var(--tint), transparent); color: var(--tone-ink); }
10
+ * .solid { background-color: var(--tone); color: var(--tone-foreground); }
11
+ *
12
+ * The ink is the hue itself on a dark page. On a light one it mixes toward the text colour
13
+ * by as much as the hue needs to hold contrast: none for most, more for red, most for amber,
14
+ * which is light. Secondary's ink is the text colour. In `base`, so a component's own rule
15
+ * outranks it.
16
+ */
17
+ @layer base {
18
+ /* Each toned element restates its share, so a chip nested in a warning one does not inherit 45%. */
19
+ :is([data-tone], [data-ref-tone]) {
20
+ --_tone-ink: 100%;
21
+ --tone-ink: color-mix(in oklab, var(--tone) var(--_tone-ink), light-dark(var(--foreground), var(--tone)));
22
+ }
23
+
24
+ :is([data-tone="neutral"], [data-ref-tone="neutral"]) {
25
+ --tone: var(--foreground);
26
+ --tone-foreground: var(--background);
27
+ }
28
+
29
+ :is([data-tone="primary"], [data-ref-tone="primary"]) {
30
+ --tone: var(--primary);
31
+ --tone-foreground: var(--primary-foreground);
32
+ }
33
+
34
+ :is([data-tone="secondary"], [data-ref-tone="secondary"]) {
35
+ --tone: var(--muted-foreground);
36
+ --tone-foreground: var(--background);
37
+ --tone-ink: var(--foreground);
38
+ }
39
+
40
+ :is([data-tone="info"], [data-ref-tone="info"]) {
41
+ --tone: var(--info);
42
+ --tone-foreground: var(--info-foreground);
43
+ }
44
+
45
+ :is([data-tone="success"], [data-ref-tone="success"]) {
46
+ --tone: var(--success);
47
+ --tone-foreground: var(--success-foreground);
48
+ }
49
+
50
+ :is([data-tone="warning"], [data-ref-tone="warning"]) {
51
+ --tone: var(--warning);
52
+ --tone-foreground: var(--warning-foreground);
53
+ --_tone-ink: 45%;
54
+ }
55
+
56
+ :is([data-tone="destructive"], [data-ref-tone="destructive"]) {
57
+ --tone: var(--destructive);
58
+ --tone-foreground: var(--destructive-foreground);
59
+ --_tone-ink: 85%;
60
+ }
61
+ }