@dxos/ui-theme 0.8.4-main.8342792842 → 0.8.4-main.8360d9e660

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 (378) hide show
  1. package/dist/lib/browser/index.mjs +574 -2647
  2. package/dist/lib/browser/index.mjs.map +4 -4
  3. package/dist/lib/browser/meta.json +1 -1
  4. package/dist/lib/node-esm/index.mjs +574 -2647
  5. package/dist/lib/node-esm/index.mjs.map +4 -4
  6. package/dist/lib/node-esm/meta.json +1 -1
  7. package/dist/plugin/node-cjs/meta.json +1 -1
  8. package/dist/plugin/node-cjs/plugins/ThemePlugin.cjs +144 -0
  9. package/dist/plugin/node-cjs/plugins/ThemePlugin.cjs.map +7 -0
  10. package/dist/plugin/node-cjs/theme.css +901 -773
  11. package/dist/plugin/node-cjs/theme.css.map +3 -3
  12. package/dist/plugin/node-esm/meta.json +1 -1
  13. package/dist/plugin/node-esm/plugins/ThemePlugin.mjs +112 -0
  14. package/dist/plugin/node-esm/plugins/ThemePlugin.mjs.map +7 -0
  15. package/dist/plugin/node-esm/theme.css +901 -773
  16. package/dist/plugin/node-esm/theme.css.map +3 -3
  17. package/dist/types/src/Theme.stories.d.ts +27 -0
  18. package/dist/types/src/Theme.stories.d.ts.map +1 -0
  19. package/dist/types/src/defs.d.ts +21 -0
  20. package/dist/types/src/defs.d.ts.map +1 -0
  21. package/dist/types/src/fragments/density.d.ts +7 -0
  22. package/dist/types/src/fragments/density.d.ts.map +1 -0
  23. package/dist/types/src/fragments/disabled.d.ts.map +1 -0
  24. package/dist/types/src/{styles/fragments → fragments}/elevation.d.ts +0 -6
  25. package/dist/types/src/fragments/elevation.d.ts.map +1 -0
  26. package/dist/types/src/fragments/focus.d.ts +4 -0
  27. package/dist/types/src/fragments/focus.d.ts.map +1 -0
  28. package/dist/types/src/fragments/hover.d.ts +10 -0
  29. package/dist/types/src/fragments/hover.d.ts.map +1 -0
  30. package/dist/types/src/fragments/index.d.ts +9 -0
  31. package/dist/types/src/fragments/index.d.ts.map +1 -0
  32. package/dist/types/src/{styles/fragments → fragments}/size.d.ts +2 -2
  33. package/dist/types/src/fragments/size.d.ts.map +1 -0
  34. package/dist/types/src/fragments/text.d.ts +3 -0
  35. package/dist/types/src/fragments/text.d.ts.map +1 -0
  36. package/dist/types/src/fragments/valence.d.ts +4 -0
  37. package/dist/types/src/fragments/valence.d.ts.map +1 -0
  38. package/dist/types/src/index.d.ts +3 -11
  39. package/dist/types/src/index.d.ts.map +1 -1
  40. package/dist/types/src/plugins/ThemePlugin.d.ts +16 -0
  41. package/dist/types/src/plugins/ThemePlugin.d.ts.map +1 -0
  42. package/dist/types/src/plugins/dark-mode.d.ts +1 -0
  43. package/dist/types/src/plugins/dark-mode.d.ts.map +1 -0
  44. package/dist/types/src/theme/components/avatar.d.ts.map +1 -0
  45. package/dist/types/src/theme/components/breadcrumb.d.ts.map +1 -0
  46. package/dist/types/src/theme/components/button.d.ts +15 -0
  47. package/dist/types/src/theme/components/button.d.ts.map +1 -0
  48. package/dist/types/src/theme/components/card.d.ts +11 -0
  49. package/dist/types/src/theme/components/card.d.ts.map +1 -0
  50. package/dist/types/src/theme/components/dialog.d.ts.map +1 -0
  51. package/dist/types/src/theme/components/icon-button.d.ts.map +1 -0
  52. package/dist/types/src/{styles → theme}/components/icon.d.ts +3 -0
  53. package/dist/types/src/theme/components/icon.d.ts.map +1 -0
  54. package/dist/types/src/{styles → theme}/components/index.d.ts +2 -1
  55. package/dist/types/src/theme/components/index.d.ts.map +1 -0
  56. package/dist/types/src/{styles → theme}/components/input.d.ts +25 -21
  57. package/dist/types/src/theme/components/input.d.ts.map +1 -0
  58. package/dist/types/src/theme/components/link.d.ts.map +1 -0
  59. package/dist/types/src/theme/components/list.d.ts.map +1 -0
  60. package/dist/types/src/{styles → theme}/components/main.d.ts +2 -2
  61. package/dist/types/src/theme/components/main.d.ts.map +1 -0
  62. package/dist/types/src/{styles → theme}/components/menu.d.ts +1 -1
  63. package/dist/types/src/theme/components/menu.d.ts.map +1 -0
  64. package/dist/types/src/{styles → theme}/components/message.d.ts +1 -0
  65. package/dist/types/src/theme/components/message.d.ts.map +1 -0
  66. package/dist/types/src/{styles → theme}/components/popover.d.ts +1 -1
  67. package/dist/types/src/theme/components/popover.d.ts.map +1 -0
  68. package/dist/types/src/{styles → theme}/components/scroll-area.d.ts +6 -0
  69. package/dist/types/src/theme/components/scroll-area.d.ts.map +1 -0
  70. package/dist/types/src/theme/components/select.d.ts.map +1 -0
  71. package/dist/types/src/theme/components/separator.d.ts.map +1 -0
  72. package/dist/types/src/theme/components/skeleton.d.ts.map +1 -0
  73. package/dist/types/src/theme/components/splitter.d.ts +4 -0
  74. package/dist/types/src/theme/components/splitter.d.ts.map +1 -0
  75. package/dist/types/src/theme/components/status.d.ts.map +1 -0
  76. package/dist/types/src/theme/components/tag.d.ts.map +1 -0
  77. package/dist/types/src/theme/components/toast.d.ts.map +1 -0
  78. package/dist/types/src/{styles → theme}/components/toolbar.d.ts +2 -2
  79. package/dist/types/src/theme/components/toolbar.d.ts.map +1 -0
  80. package/dist/types/src/theme/components/tooltip.d.ts.map +1 -0
  81. package/dist/types/src/theme/components/treegrid.d.ts.map +1 -0
  82. package/dist/types/src/theme/index.d.ts +3 -0
  83. package/dist/types/src/theme/index.d.ts.map +1 -0
  84. package/dist/types/src/theme/primitives/column.d.ts +7 -0
  85. package/dist/types/src/theme/primitives/column.d.ts.map +1 -0
  86. package/dist/types/src/theme/primitives/index.d.ts +3 -0
  87. package/dist/types/src/theme/primitives/index.d.ts.map +1 -0
  88. package/dist/types/src/theme/primitives/panel.d.ts +9 -0
  89. package/dist/types/src/theme/primitives/panel.d.ts.map +1 -0
  90. package/dist/types/src/theme/theme.d.ts.map +1 -0
  91. package/dist/types/src/util/hash-styles.d.ts +8 -5
  92. package/dist/types/src/util/hash-styles.d.ts.map +1 -1
  93. package/dist/types/src/util/mx.d.ts +292 -1
  94. package/dist/types/src/util/mx.d.ts.map +1 -1
  95. package/dist/types/tsconfig.tsbuildinfo +1 -1
  96. package/package.json +19 -26
  97. package/src/Theme.stories.tsx +224 -0
  98. package/src/css/base/base.css +43 -0
  99. package/src/{styles/layers → css/base}/typography.css +3 -5
  100. package/src/{styles/layers → css/components}/button.css +22 -14
  101. package/src/{styles/layers → css/components}/checkbox.css +12 -8
  102. package/src/{styles/layers → css/components}/dialog.css +16 -11
  103. package/src/{styles/layers → css/components}/focus-ring.css +45 -40
  104. package/src/css/components/link.css +9 -0
  105. package/src/css/components/panel.css +117 -0
  106. package/src/css/components/scrollbar.css +24 -0
  107. package/src/css/components/selected.css +23 -0
  108. package/src/css/components/surface.css +34 -0
  109. package/src/css/components/tag.css +130 -0
  110. package/src/css/components/text.css +124 -0
  111. package/src/css/integrations/codemirror.css +32 -0
  112. package/src/css/integrations/tldraw.css +13 -0
  113. package/src/css/layout/main.css +212 -0
  114. package/src/{styles/layers → css/layout}/native.css +6 -4
  115. package/src/css/layout/positioning.css +19 -0
  116. package/src/{styles/layers → css/layout}/size.css +148 -115
  117. package/src/css/theme/animation.css +229 -0
  118. package/src/css/theme/border.css +23 -0
  119. package/src/css/theme/palette.css +30 -0
  120. package/src/css/theme/semantic.css +111 -0
  121. package/src/css/theme/spacing.css +133 -0
  122. package/src/css/theme/styles.css +145 -0
  123. package/src/css/theme/text.css +37 -0
  124. package/src/css/utilities.css +7 -0
  125. package/src/defs.ts +48 -0
  126. package/src/fragments/density.ts +13 -0
  127. package/src/{styles/fragments → fragments}/elevation.ts +6 -8
  128. package/src/fragments/focus.ts +11 -0
  129. package/src/fragments/hover.ts +18 -0
  130. package/src/{styles/fragments → fragments}/index.ts +2 -8
  131. package/src/fragments/size.ts +123 -0
  132. package/src/fragments/text.ts +6 -0
  133. package/src/fragments/valence.ts +33 -0
  134. package/src/index.ts +3 -15
  135. package/src/plugins/ThemePlugin.ts +137 -0
  136. package/src/plugins/dark-mode.ts +22 -0
  137. package/src/{styles → theme}/components/avatar.ts +11 -11
  138. package/src/theme/components/button.ts +48 -0
  139. package/src/theme/components/card.ts +93 -0
  140. package/src/{styles → theme}/components/dialog.ts +12 -12
  141. package/src/{styles → theme}/components/icon-button.ts +1 -1
  142. package/src/{styles → theme}/components/icon.ts +9 -2
  143. package/src/{styles → theme}/components/index.ts +2 -1
  144. package/src/theme/components/input.ts +186 -0
  145. package/src/{styles → theme}/components/link.ts +3 -3
  146. package/src/{styles → theme}/components/list.ts +3 -3
  147. package/src/{styles → theme}/components/main.ts +2 -2
  148. package/src/{styles → theme}/components/menu.ts +9 -11
  149. package/src/{styles → theme}/components/message.ts +11 -6
  150. package/src/{styles → theme}/components/popover.ts +13 -11
  151. package/src/theme/components/scroll-area.ts +103 -0
  152. package/src/{styles → theme}/components/select.ts +8 -15
  153. package/src/{styles → theme}/components/separator.ts +3 -3
  154. package/src/{styles → theme}/components/skeleton.ts +2 -2
  155. package/src/theme/components/splitter.ts +20 -0
  156. package/src/{styles → theme}/components/status.ts +5 -5
  157. package/src/{styles → theme}/components/tag.ts +1 -1
  158. package/src/{styles → theme}/components/toast.ts +5 -6
  159. package/src/{styles → theme}/components/toolbar.ts +6 -7
  160. package/src/{styles → theme}/components/tooltip.ts +4 -5
  161. package/src/{styles → theme}/components/treegrid.ts +8 -8
  162. package/src/theme/index.ts +6 -0
  163. package/src/theme/primitives/column.ts +30 -0
  164. package/src/theme/primitives/index.ts +6 -0
  165. package/src/theme/primitives/panel.ts +50 -0
  166. package/src/{styles → theme}/theme.ts +11 -19
  167. package/src/theme.css +79 -4
  168. package/src/typings.d.ts +0 -1
  169. package/src/util/hash-styles.ts +118 -98
  170. package/src/util/mx.ts +62 -45
  171. package/dist/plugin/node-cjs/chunk-UUMDOU7E.cjs +0 -79
  172. package/dist/plugin/node-cjs/chunk-UUMDOU7E.cjs.map +0 -7
  173. package/dist/plugin/node-cjs/chunk-YBWOZKXY.cjs +0 -1634
  174. package/dist/plugin/node-cjs/chunk-YBWOZKXY.cjs.map +0 -7
  175. package/dist/plugin/node-cjs/config/tailwind.cjs +0 -29
  176. package/dist/plugin/node-cjs/config/tailwind.cjs.map +0 -7
  177. package/dist/plugin/node-cjs/plugins/esbuild-plugin.cjs +0 -90
  178. package/dist/plugin/node-cjs/plugins/esbuild-plugin.cjs.map +0 -7
  179. package/dist/plugin/node-cjs/plugins/plugin.cjs +0 -124
  180. package/dist/plugin/node-cjs/plugins/plugin.cjs.map +0 -7
  181. package/dist/plugin/node-esm/chunk-AFRHJHP4.mjs +0 -49
  182. package/dist/plugin/node-esm/chunk-AFRHJHP4.mjs.map +0 -7
  183. package/dist/plugin/node-esm/chunk-LTGUAP22.mjs +0 -1629
  184. package/dist/plugin/node-esm/chunk-LTGUAP22.mjs.map +0 -7
  185. package/dist/plugin/node-esm/config/tailwind.mjs +0 -8
  186. package/dist/plugin/node-esm/config/tailwind.mjs.map +0 -7
  187. package/dist/plugin/node-esm/plugins/esbuild-plugin.mjs +0 -63
  188. package/dist/plugin/node-esm/plugins/esbuild-plugin.mjs.map +0 -7
  189. package/dist/plugin/node-esm/plugins/plugin.mjs +0 -98
  190. package/dist/plugin/node-esm/plugins/plugin.mjs.map +0 -7
  191. package/dist/types/src/Tokens.stories.d.ts +0 -10
  192. package/dist/types/src/Tokens.stories.d.ts.map +0 -1
  193. package/dist/types/src/config/index.d.ts +0 -3
  194. package/dist/types/src/config/index.d.ts.map +0 -1
  195. package/dist/types/src/config/tailwind.d.ts +0 -9
  196. package/dist/types/src/config/tailwind.d.ts.map +0 -1
  197. package/dist/types/src/config/tokens/alias-colors.d.ts +0 -21
  198. package/dist/types/src/config/tokens/alias-colors.d.ts.map +0 -1
  199. package/dist/types/src/config/tokens/index.d.ts +0 -3
  200. package/dist/types/src/config/tokens/index.d.ts.map +0 -1
  201. package/dist/types/src/config/tokens/lengths.d.ts +0 -142
  202. package/dist/types/src/config/tokens/lengths.d.ts.map +0 -1
  203. package/dist/types/src/config/tokens/physical-colors.d.ts +0 -23
  204. package/dist/types/src/config/tokens/physical-colors.d.ts.map +0 -1
  205. package/dist/types/src/config/tokens/semantic-colors.d.ts +0 -192
  206. package/dist/types/src/config/tokens/semantic-colors.d.ts.map +0 -1
  207. package/dist/types/src/config/tokens/sememes-calls.d.ts +0 -3
  208. package/dist/types/src/config/tokens/sememes-calls.d.ts.map +0 -1
  209. package/dist/types/src/config/tokens/sememes-codemirror.d.ts +0 -43
  210. package/dist/types/src/config/tokens/sememes-codemirror.d.ts.map +0 -1
  211. package/dist/types/src/config/tokens/sememes-hue.d.ts +0 -4
  212. package/dist/types/src/config/tokens/sememes-hue.d.ts.map +0 -1
  213. package/dist/types/src/config/tokens/sememes-sheet.d.ts +0 -58
  214. package/dist/types/src/config/tokens/sememes-sheet.d.ts.map +0 -1
  215. package/dist/types/src/config/tokens/sememes-system.d.ts +0 -104
  216. package/dist/types/src/config/tokens/sememes-system.d.ts.map +0 -1
  217. package/dist/types/src/config/tokens/sizes.d.ts +0 -9
  218. package/dist/types/src/config/tokens/sizes.d.ts.map +0 -1
  219. package/dist/types/src/config/tokens/tokens.d.ts +0 -498
  220. package/dist/types/src/config/tokens/tokens.d.ts.map +0 -1
  221. package/dist/types/src/config/tokens/types.d.ts +0 -5
  222. package/dist/types/src/config/tokens/types.d.ts.map +0 -1
  223. package/dist/types/src/plugins/esbuild-plugin.d.ts +0 -9
  224. package/dist/types/src/plugins/esbuild-plugin.d.ts.map +0 -1
  225. package/dist/types/src/plugins/plugin.d.ts +0 -20
  226. package/dist/types/src/plugins/plugin.d.ts.map +0 -1
  227. package/dist/types/src/plugins/resolveContent.d.ts +0 -2
  228. package/dist/types/src/plugins/resolveContent.d.ts.map +0 -1
  229. package/dist/types/src/styles/components/anchored-overflow.d.ts +0 -6
  230. package/dist/types/src/styles/components/anchored-overflow.d.ts.map +0 -1
  231. package/dist/types/src/styles/components/avatar.d.ts.map +0 -1
  232. package/dist/types/src/styles/components/breadcrumb.d.ts.map +0 -1
  233. package/dist/types/src/styles/components/button.d.ts +0 -19
  234. package/dist/types/src/styles/components/button.d.ts.map +0 -1
  235. package/dist/types/src/styles/components/dialog.d.ts.map +0 -1
  236. package/dist/types/src/styles/components/icon-button.d.ts.map +0 -1
  237. package/dist/types/src/styles/components/icon.d.ts.map +0 -1
  238. package/dist/types/src/styles/components/index.d.ts.map +0 -1
  239. package/dist/types/src/styles/components/input.d.ts.map +0 -1
  240. package/dist/types/src/styles/components/link.d.ts.map +0 -1
  241. package/dist/types/src/styles/components/list.d.ts.map +0 -1
  242. package/dist/types/src/styles/components/main.d.ts.map +0 -1
  243. package/dist/types/src/styles/components/menu.d.ts.map +0 -1
  244. package/dist/types/src/styles/components/message.d.ts.map +0 -1
  245. package/dist/types/src/styles/components/popover.d.ts.map +0 -1
  246. package/dist/types/src/styles/components/scroll-area.d.ts.map +0 -1
  247. package/dist/types/src/styles/components/select.d.ts.map +0 -1
  248. package/dist/types/src/styles/components/separator.d.ts.map +0 -1
  249. package/dist/types/src/styles/components/skeleton.d.ts.map +0 -1
  250. package/dist/types/src/styles/components/status.d.ts.map +0 -1
  251. package/dist/types/src/styles/components/tag.d.ts.map +0 -1
  252. package/dist/types/src/styles/components/toast.d.ts.map +0 -1
  253. package/dist/types/src/styles/components/toolbar.d.ts.map +0 -1
  254. package/dist/types/src/styles/components/tooltip.d.ts.map +0 -1
  255. package/dist/types/src/styles/components/treegrid.d.ts.map +0 -1
  256. package/dist/types/src/styles/fragments/density.d.ts +0 -13
  257. package/dist/types/src/styles/fragments/density.d.ts.map +0 -1
  258. package/dist/types/src/styles/fragments/dimension.d.ts +0 -5
  259. package/dist/types/src/styles/fragments/dimension.d.ts.map +0 -1
  260. package/dist/types/src/styles/fragments/disabled.d.ts.map +0 -1
  261. package/dist/types/src/styles/fragments/elevation.d.ts.map +0 -1
  262. package/dist/types/src/styles/fragments/focus.d.ts +0 -6
  263. package/dist/types/src/styles/fragments/focus.d.ts.map +0 -1
  264. package/dist/types/src/styles/fragments/group.d.ts +0 -5
  265. package/dist/types/src/styles/fragments/group.d.ts.map +0 -1
  266. package/dist/types/src/styles/fragments/hover.d.ts +0 -17
  267. package/dist/types/src/styles/fragments/hover.d.ts.map +0 -1
  268. package/dist/types/src/styles/fragments/index.d.ts +0 -17
  269. package/dist/types/src/styles/fragments/index.d.ts.map +0 -1
  270. package/dist/types/src/styles/fragments/layout.d.ts +0 -3
  271. package/dist/types/src/styles/fragments/layout.d.ts.map +0 -1
  272. package/dist/types/src/styles/fragments/motion.d.ts +0 -2
  273. package/dist/types/src/styles/fragments/motion.d.ts.map +0 -1
  274. package/dist/types/src/styles/fragments/ornament.d.ts +0 -5
  275. package/dist/types/src/styles/fragments/ornament.d.ts.map +0 -1
  276. package/dist/types/src/styles/fragments/selected.d.ts +0 -13
  277. package/dist/types/src/styles/fragments/selected.d.ts.map +0 -1
  278. package/dist/types/src/styles/fragments/shimmer.d.ts +0 -3
  279. package/dist/types/src/styles/fragments/shimmer.d.ts.map +0 -1
  280. package/dist/types/src/styles/fragments/size.d.ts.map +0 -1
  281. package/dist/types/src/styles/fragments/surface.d.ts +0 -9
  282. package/dist/types/src/styles/fragments/surface.d.ts.map +0 -1
  283. package/dist/types/src/styles/fragments/text.d.ts +0 -7
  284. package/dist/types/src/styles/fragments/text.d.ts.map +0 -1
  285. package/dist/types/src/styles/fragments/valence.d.ts +0 -13
  286. package/dist/types/src/styles/fragments/valence.d.ts.map +0 -1
  287. package/dist/types/src/styles/index.d.ts +0 -5
  288. package/dist/types/src/styles/index.d.ts.map +0 -1
  289. package/dist/types/src/styles/primitives/container.d.ts +0 -15
  290. package/dist/types/src/styles/primitives/container.d.ts.map +0 -1
  291. package/dist/types/src/styles/primitives/index.d.ts +0 -2
  292. package/dist/types/src/styles/primitives/index.d.ts.map +0 -1
  293. package/dist/types/src/styles/theme.d.ts.map +0 -1
  294. package/dist/types/src/tailwind.d.ts +0 -3
  295. package/dist/types/src/tailwind.d.ts.map +0 -1
  296. package/dist/types/src/types.d.ts +0 -3
  297. package/dist/types/src/types.d.ts.map +0 -1
  298. package/dist/types/src/util/withLogical.d.ts +0 -164
  299. package/dist/types/src/util/withLogical.d.ts.map +0 -1
  300. package/src/Tokens.stories.tsx +0 -88
  301. package/src/config/index.ts +0 -6
  302. package/src/config/tailwind.ts +0 -265
  303. package/src/config/tokens/alias-colors.ts +0 -39
  304. package/src/config/tokens/index.ts +0 -6
  305. package/src/config/tokens/lengths.ts +0 -106
  306. package/src/config/tokens/physical-colors.ts +0 -125
  307. package/src/config/tokens/semantic-colors.ts +0 -27
  308. package/src/config/tokens/sememes-calls.ts +0 -17
  309. package/src/config/tokens/sememes-codemirror.ts +0 -50
  310. package/src/config/tokens/sememes-hue.ts +0 -54
  311. package/src/config/tokens/sememes-sheet.ts +0 -62
  312. package/src/config/tokens/sememes-system.ts +0 -307
  313. package/src/config/tokens/sizes.ts +0 -12
  314. package/src/config/tokens/tokens.ts +0 -90
  315. package/src/config/tokens/types.ts +0 -9
  316. package/src/docs/theme.drawio.svg +0 -635
  317. package/src/plugins/esbuild-plugin.ts +0 -65
  318. package/src/plugins/plugin.ts +0 -130
  319. package/src/plugins/resolveContent.ts +0 -51
  320. package/src/styles/components/README.md +0 -6
  321. package/src/styles/components/anchored-overflow.ts +0 -20
  322. package/src/styles/components/button.ts +0 -48
  323. package/src/styles/components/input.ts +0 -177
  324. package/src/styles/components/scroll-area.ts +0 -90
  325. package/src/styles/fragments/density.ts +0 -17
  326. package/src/styles/fragments/dimension.ts +0 -8
  327. package/src/styles/fragments/focus.ts +0 -16
  328. package/src/styles/fragments/group.ts +0 -12
  329. package/src/styles/fragments/hover.ts +0 -25
  330. package/src/styles/fragments/layout.ts +0 -7
  331. package/src/styles/fragments/motion.ts +0 -6
  332. package/src/styles/fragments/ornament.ts +0 -10
  333. package/src/styles/fragments/selected.ts +0 -45
  334. package/src/styles/fragments/shimmer.ts +0 -9
  335. package/src/styles/fragments/size.ts +0 -117
  336. package/src/styles/fragments/surface.ts +0 -29
  337. package/src/styles/fragments/text.ts +0 -12
  338. package/src/styles/fragments/valence.ts +0 -46
  339. package/src/styles/index.ts +0 -8
  340. package/src/styles/layers/README.md +0 -15
  341. package/src/styles/layers/anchored-overflow.css +0 -9
  342. package/src/styles/layers/animation.css +0 -17
  343. package/src/styles/layers/attention.css +0 -8
  344. package/src/styles/layers/base.css +0 -25
  345. package/src/styles/layers/can-scroll.css +0 -26
  346. package/src/styles/layers/drag-preview.css +0 -18
  347. package/src/styles/layers/hues.css +0 -110
  348. package/src/styles/layers/index.css +0 -27
  349. package/src/styles/layers/main.css +0 -183
  350. package/src/styles/layers/positioning.css +0 -23
  351. package/src/styles/layers/scrollbar.css +0 -10
  352. package/src/styles/layers/surfaces.css +0 -31
  353. package/src/styles/layers/tag.css +0 -132
  354. package/src/styles/layers/tldraw.css +0 -91
  355. package/src/styles/layers/tokens.css +0 -47
  356. package/src/styles/primitives/container.ts +0 -33
  357. package/src/styles/primitives/index.ts +0 -5
  358. package/src/tailwind.ts +0 -7
  359. package/src/types.ts +0 -7
  360. package/src/util/withLogical.ts +0 -114
  361. /package/dist/types/src/{styles/fragments → fragments}/disabled.d.ts +0 -0
  362. /package/dist/types/src/{styles → theme}/components/avatar.d.ts +0 -0
  363. /package/dist/types/src/{styles → theme}/components/breadcrumb.d.ts +0 -0
  364. /package/dist/types/src/{styles → theme}/components/dialog.d.ts +0 -0
  365. /package/dist/types/src/{styles → theme}/components/icon-button.d.ts +0 -0
  366. /package/dist/types/src/{styles → theme}/components/link.d.ts +0 -0
  367. /package/dist/types/src/{styles → theme}/components/list.d.ts +0 -0
  368. /package/dist/types/src/{styles → theme}/components/select.d.ts +0 -0
  369. /package/dist/types/src/{styles → theme}/components/separator.d.ts +0 -0
  370. /package/dist/types/src/{styles → theme}/components/skeleton.d.ts +0 -0
  371. /package/dist/types/src/{styles → theme}/components/status.d.ts +0 -0
  372. /package/dist/types/src/{styles → theme}/components/tag.d.ts +0 -0
  373. /package/dist/types/src/{styles → theme}/components/toast.d.ts +0 -0
  374. /package/dist/types/src/{styles → theme}/components/tooltip.d.ts +0 -0
  375. /package/dist/types/src/{styles → theme}/components/treegrid.d.ts +0 -0
  376. /package/dist/types/src/{styles → theme}/theme.d.ts +0 -0
  377. /package/src/{styles/fragments → fragments}/disabled.ts +0 -0
  378. /package/src/{styles → theme}/components/breadcrumb.ts +0 -0
@@ -1,2180 +1,274 @@
1
- // src/config/tailwind.ts
2
- import tailwindcssContainerQueries from "@tailwindcss/container-queries";
3
- import tailwindcssForms from "@tailwindcss/forms";
4
- import merge from "lodash.merge";
5
- import tailwindScrollbar from "tailwind-scrollbar";
6
- import defaultConfig from "tailwindcss/stubs/config.full.js";
7
- import tailwindcssLogical from "tailwindcss-logical";
8
- import tailwindcssRadix from "tailwindcss-radix";
9
-
10
- // src/config/tokens/sizes.ts
1
+ // src/defs.ts
2
+ var osTranslations = "org.dxos.i18n.os";
3
+ var hues = [
4
+ "red",
5
+ "orange",
6
+ "amber",
7
+ "yellow",
8
+ "lime",
9
+ "green",
10
+ "emerald",
11
+ "teal",
12
+ "cyan",
13
+ "sky",
14
+ "blue",
15
+ "indigo",
16
+ "violet",
17
+ "purple",
18
+ "fuchsia",
19
+ "pink",
20
+ "rose"
21
+ ];
22
+ var hueShades = [
23
+ 50,
24
+ 100,
25
+ 200,
26
+ 300,
27
+ 400,
28
+ 500,
29
+ 600,
30
+ 700,
31
+ 800,
32
+ 900,
33
+ 950
34
+ ];
35
+ var roles = [
36
+ "fill",
37
+ "surface",
38
+ "surface-text",
39
+ "text",
40
+ "border"
41
+ ];
11
42
  var cardMinInlineSize = 18;
12
43
  var cardDefaultInlineSize = 20;
13
44
  var cardMaxInlineSize = 22;
14
45
  var cardMinBlockSize = 18;
15
46
  var cardMaxBlockSize = 30;
16
47
 
17
- // src/config/tokens/tokens.ts
18
- import adapter from "@ch-ui/tailwind-tokens";
19
-
20
- // src/config/tokens/physical-colors.ts
21
- var reflectiveRelation = {
22
- initial: 1e3,
23
- slope: -1e3,
24
- method: "floor"
25
- };
26
- var gamuts = [
27
- "srgb",
28
- "p3",
29
- "rec2020"
30
- ];
31
- var DEG_RAD = Math.PI / 180;
32
- var hueKeyPoint = (hue) => {
33
- const hueDeg = (360 * (hue / 17) + 26) % 360;
34
- return {
35
- keyPoint: [
36
- 0.5,
37
- 0.13 + 0.024 * Math.sin((hueDeg - 15) * DEG_RAD),
38
- hueDeg
39
- ],
40
- lowerCp: 1,
41
- upperCp: 1,
42
- torsion: 0
43
- };
44
- };
45
- var huePalettes = {
46
- red: hueKeyPoint(0),
47
- orange: hueKeyPoint(1),
48
- amber: hueKeyPoint(2),
49
- yellow: hueKeyPoint(3),
50
- lime: hueKeyPoint(4),
51
- green: hueKeyPoint(5),
52
- emerald: hueKeyPoint(6),
53
- teal: hueKeyPoint(7),
54
- cyan: hueKeyPoint(8),
55
- sky: hueKeyPoint(9),
56
- blue: hueKeyPoint(10),
57
- indigo: hueKeyPoint(11),
58
- violet: hueKeyPoint(12),
59
- purple: hueKeyPoint(13),
60
- fuchsia: hueKeyPoint(14),
61
- pink: hueKeyPoint(15),
62
- rose: hueKeyPoint(16)
63
- };
64
- var systemPalettes = {
65
- neutral: {
66
- keyPoint: [
67
- 0.5,
68
- 1e-3,
69
- 260
70
- ],
71
- lowerCp: 0,
72
- upperCp: 0,
73
- torsion: 0,
74
- // Values used directly.
75
- // TODO(burdon): Audit.
76
- values: [
77
- 25,
78
- 50,
79
- 75,
80
- 100,
81
- 150,
82
- 200,
83
- 250,
84
- 300,
85
- 400,
86
- 500,
87
- 600,
88
- 700,
89
- 750,
90
- 800,
91
- 850,
92
- 900
93
- ]
94
- },
95
- // https://oklch.com/#0.5,0.2,260,100 (#0559d2)
96
- primary: {
97
- keyPoint: [
98
- 0.5,
99
- 0.2,
100
- 260
101
- ],
102
- lowerCp: 0.86,
103
- upperCp: 1,
104
- torsion: -30,
105
- // Values used directly.
106
- // TODO(burdon): Audit.
107
- values: [
108
- 100,
109
- 150,
110
- 200,
111
- 350,
112
- 400,
113
- 450,
114
- 500,
115
- 750,
116
- 800,
117
- 850
118
- ]
119
- }
120
- };
121
- var physicalSeries = {
122
- ...huePalettes,
123
- ...systemPalettes
124
- };
125
- var physicalColors = {
126
- namespace: "dx-",
127
- definitions: {
128
- // @ts-ignore
129
- series: physicalSeries,
130
- accompanyingSeries: {
131
- reflectiveRelation
132
- }
133
- },
134
- conditions: {
135
- srgb: [
136
- ":root, .dark"
137
- ],
138
- p3: [
139
- "@media (color-gamut: p3)",
140
- ":root, .dark"
141
- ],
142
- rec2020: [
143
- "@media (color-gamut: rec2020)",
144
- ":root, .dark"
145
- ]
146
- },
147
- series: Object.entries(physicalSeries).reduce((acc, [id]) => {
148
- acc[id] = gamuts.reduce((acc2, gamut) => {
149
- acc2[gamut] = {
150
- extends: id,
151
- physicalValueRelation: {
152
- extends: "reflectiveRelation"
153
- }
154
- };
155
- return acc2;
156
- }, {});
157
- return acc;
158
- }, {})
159
- };
160
-
161
- // src/config/tokens/sememes-hue.ts
162
- var hueSememes = [
163
- ...Object.keys(huePalettes),
164
- "neutral",
165
- "primary"
166
- ].reduce((acc, palette) => {
167
- acc[`${palette}Cursor`] = {
168
- light: [
169
- palette,
170
- 400
171
- ],
172
- dark: [
173
- palette,
174
- 300
175
- ]
176
- };
177
- acc[`${palette}Text`] = {
178
- light: [
179
- palette,
180
- 550
181
- ],
182
- dark: [
183
- palette,
184
- 300
185
- ]
186
- };
187
- acc[`${palette}Fill`] = {
188
- light: [
189
- palette,
190
- 500
191
- ],
192
- dark: [
193
- palette,
194
- 500
195
- ]
196
- };
197
- acc[`${palette}Surface`] = {
198
- light: [
199
- palette,
200
- 200
201
- ],
202
- dark: [
203
- palette,
204
- 700
205
- ]
206
- };
207
- acc[`${palette}SurfaceText`] = {
208
- light: [
209
- palette,
210
- 700
211
- ],
212
- dark: [
213
- palette,
214
- 200
215
- ]
216
- };
217
- acc[`${palette}Screen`] = {
218
- light: [
219
- palette,
220
- 100
221
- ],
222
- dark: [
223
- palette,
224
- 800
225
- ]
226
- };
227
- return acc;
228
- }, {});
229
- var valenceAliasSememeStems = [
230
- "Text",
231
- "Surface",
232
- "SurfaceText",
233
- "Fill",
234
- "Cursor"
235
- ];
236
- var valenceMapping = {
237
- emerald: [
238
- "success"
239
- ],
240
- cyan: [
241
- "info"
242
- ],
243
- amber: [
244
- "warning"
245
- ],
246
- rose: [
247
- "error"
248
- ],
249
- primary: [
250
- "current"
251
- ],
252
- fuchsia: [
253
- "internal"
254
- ]
255
- };
256
- var valenceAliases = valenceAliasSememeStems.reduce((acc, stem) => {
257
- return Object.entries(valenceMapping).reduce((acc2, [hue, valences]) => {
258
- acc2[`${hue}${stem}`] = {
259
- root: valences.map((valence) => `${valence}${stem}`)
260
- };
261
- return acc2;
262
- }, acc);
263
- }, {});
264
-
265
- // src/config/tokens/sememes-sheet.ts
266
- var sheetSememes = {
267
- // NOTE: background styles for the main content area must have transparency otherwise they will mask the selection.
268
- axisSurface: {
269
- light: [
270
- "neutral",
271
- 50
272
- ],
273
- dark: [
274
- "neutral",
275
- 800
276
- ]
277
- },
278
- axisText: {
279
- light: [
280
- "neutral",
281
- 800
282
- ],
283
- dark: [
284
- "neutral",
285
- 200
286
- ]
287
- },
288
- axisSelectedSurface: {
289
- light: [
290
- "neutral",
291
- 100
292
- ],
293
- dark: [
294
- "neutral",
295
- 900
296
- ]
297
- },
298
- axisSelectedText: {
299
- light: [
300
- "neutral",
301
- 100
302
- ],
303
- dark: [
304
- "neutral",
305
- 900
306
- ]
307
- },
308
- gridCell: {
309
- // TODO(thure): Why override only dark?
310
- light: [
311
- "neutral",
312
- "50/0"
313
- ],
314
- dark: [
315
- "neutral",
316
- 850
317
- ]
318
- },
319
- gridCellSelected: {
320
- // TODO(thure): Can this not just use `attention`?
321
- light: [
322
- "neutral",
323
- 50
324
- ],
325
- dark: [
326
- "neutral",
327
- 800
328
- ]
329
- },
330
- gridOverlay: {
331
- light: [
332
- "primary",
333
- "500/.5"
334
- ],
335
- dark: [
336
- "primary",
337
- "500/.5"
338
- ]
339
- },
340
- gridSelectionOverlay: {
341
- light: [
342
- "primary",
343
- "500/.2"
344
- ],
345
- dark: [
346
- "primary",
347
- "500/.2"
348
- ]
349
- },
350
- gridHighlight: {
351
- light: [
352
- "emerald",
353
- "500/.5"
354
- ],
355
- dark: [
356
- "emerald",
357
- "500/.5"
358
- ]
359
- },
360
- // TODO(burdon): Factor out def (in common with editor).
361
- gridCommented: {
362
- light: [
363
- "green",
364
- 200
365
- ],
366
- dark: [
367
- "green",
368
- 600
369
- ]
370
- },
371
- gridCommentedActive: {
372
- light: [
373
- "green",
374
- "200/.5"
375
- ],
376
- dark: [
377
- "green",
378
- "600/.5"
379
- ]
380
- }
381
- };
382
- var sheetAliases = {
383
- activeSurface: {
384
- root: [
385
- "gridLine"
386
- ]
387
- },
388
- accentFocusIndicator: {
389
- root: [
390
- "gridFocusIndicatorColor"
391
- ]
392
- },
393
- neutralFocusIndicator: {
394
- gridFocusStack: [
395
- "gridFocusIndicatorColor"
396
- ]
397
- }
398
- };
48
+ // src/fragments/density.ts
49
+ var coarseBlockSize = "min-h-[2.5rem]";
50
+ var coarseDimensions = `${coarseBlockSize} px-3`;
51
+ var fineBlockSize = "min-h-[2.5rem] pointer-fine:min-h-[2rem]";
52
+ var fineDimensions = `${fineBlockSize} px-2`;
53
+ var densityBlockSize = (density = "coarse") => density === "fine" ? fineBlockSize : coarseBlockSize;
399
54
 
400
- // src/config/tokens/sememes-system.ts
401
- var getMapValue = (map, key, defaultValue) => {
402
- let value = map[key];
403
- if (!value) {
404
- value = defaultValue();
405
- map[key] = value;
406
- }
407
- return value;
408
- };
409
- var applyAlpha = (sememe, alpha) => {
410
- if (alpha >= 1) {
411
- return sememe;
412
- } else {
413
- return {
414
- light: [
415
- sememe.light[0],
416
- `${sememe.light[1]}/${alpha}`
417
- ],
418
- dark: [
419
- sememe.dark[0],
420
- `${sememe.dark[1]}/${alpha}`
421
- ]
422
- };
423
- }
424
- };
425
- var DARK_ELEVATION_MIN = 855;
426
- var DARK_ELEVATION_MAX = 731;
427
- var DARK_CONTRAST_MIN = 750;
428
- var DARK_CONTRAST_MAX = 665;
429
- var LIGHT_ELEVATION_MIN = 0;
430
- var LIGHT_ELEVATION_MAX = 0;
431
- var LIGHT_CONTRAST_MIN = 82;
432
- var LIGHT_CONTRAST_MAX = 24;
433
- var ELEVATION_SCALE = 2;
434
- var CONTRAST_SCALE = 3;
435
- var darkElevationCadence = (depth) => Math.round(DARK_ELEVATION_MAX + (DARK_ELEVATION_MIN - DARK_ELEVATION_MAX) * ((ELEVATION_SCALE - depth) / ELEVATION_SCALE));
436
- var darkContrastCadence = (depth) => Math.round(DARK_CONTRAST_MAX + (DARK_CONTRAST_MIN - DARK_CONTRAST_MAX) * ((ELEVATION_SCALE - depth) / ELEVATION_SCALE));
437
- var lightElevationCadence = (depth) => Math.round(LIGHT_ELEVATION_MIN + (LIGHT_ELEVATION_MAX - LIGHT_ELEVATION_MIN) * ((CONTRAST_SCALE - depth) / CONTRAST_SCALE));
438
- var lightContrastCadence = (depth) => Math.round(LIGHT_CONTRAST_MAX + (LIGHT_CONTRAST_MIN - LIGHT_CONTRAST_MAX) * (depth / CONTRAST_SCALE));
439
- var elevationCadence = (lightDepth, darkDepth = lightDepth, alpha = 1) => applyAlpha({
440
- light: [
441
- "neutral",
442
- lightElevationCadence(lightDepth)
443
- ],
444
- dark: [
445
- "neutral",
446
- darkElevationCadence(darkDepth)
447
- ]
448
- }, alpha);
449
- var contrastCadence = (lightDepth, darkDepth = lightDepth, alpha = 1) => applyAlpha({
450
- light: [
451
- "neutral",
452
- lightContrastCadence(lightDepth)
453
- ],
454
- dark: [
455
- "neutral",
456
- darkContrastCadence(darkDepth)
457
- ]
458
- }, alpha);
459
- var systemSememes = {
460
- //
461
- // Elevation cadence tokens
462
- //
463
- baseSurface: elevationCadence(0),
464
- groupSurface: elevationCadence(1),
465
- modalSurface: elevationCadence(2, 1.7),
466
- //
467
- // Contrast cadence tokens
468
- //
469
- textInputSurfaceBase: contrastCadence(0, 0),
470
- textInputSurfaceGroup: contrastCadence(0, 0.5),
471
- textInputSurfaceModal: contrastCadence(0, 1),
472
- inputSurfaceBase: contrastCadence(0.8, 0.33),
473
- inputSurfaceGroup: contrastCadence(0.8, 0.66),
474
- inputSurfaceModal: contrastCadence(0.8, 1),
475
- hoverSurfaceBase: contrastCadence(2, 1.5),
476
- hoverSurfaceGroup: contrastCadence(2, 2),
477
- hoverSurfaceModal: contrastCadence(2, 2.5),
478
- separatorBase: contrastCadence(3, 2),
479
- separatorGroup: contrastCadence(3, 2.5),
480
- separatorModal: contrastCadence(3, 3),
481
- subduedSeparator: contrastCadence(3, 1),
482
- scrollbarTrack: contrastCadence(0),
483
- scrollbarThumbSubdued: contrastCadence(1, 1),
484
- scrollbarThumb: contrastCadence(2.5, 2.5),
485
- scrollbarThumbHover: contrastCadence(3.5, 3.5),
486
- scrollbarThumbActive: contrastCadence(4.5, 4.5),
487
- unAccent: {
488
- light: [
489
- "neutral",
490
- 400
491
- ],
492
- dark: [
493
- "neutral",
494
- 400
495
- ]
496
- },
497
- unAccentHover: {
498
- light: [
499
- "neutral",
500
- 450
501
- ],
502
- dark: [
503
- "neutral",
504
- 450
505
- ]
506
- },
507
- hoverOverlay: {
508
- light: [
509
- "neutral",
510
- "450/.1"
511
- ],
512
- dark: [
513
- "neutral",
514
- "450/.1"
515
- ]
516
- },
517
- //
518
- // Special surfaces.
519
- //
520
- // Screen overlay for modal dialogs.
521
- scrimSurface: applyAlpha({
522
- light: [
523
- "neutral",
524
- LIGHT_CONTRAST_MAX
525
- ],
526
- dark: [
527
- "neutral",
528
- DARK_ELEVATION_MIN
529
- ]
530
- }, 0.65),
531
- // High contrast for focused interactive elements. (Technically this is part of the surface cadence, but the contrast cadence is on the opposite side of the elevation cadence as this point.)
532
- focusSurface: {
533
- light: [
534
- "neutral",
535
- 0
536
- ],
537
- dark: [
538
- "neutral",
539
- 1e3
540
- ]
541
- },
542
- deckSurface: {
543
- light: [
544
- "neutral",
545
- 50
546
- ],
547
- dark: [
548
- "neutral",
549
- 950
550
- ]
551
- },
552
- // For tooltips only; the highest elevation from the opposite theme
553
- inverseSurface: {
554
- light: [
555
- "neutral",
556
- DARK_ELEVATION_MIN
557
- ],
558
- dark: [
559
- "neutral",
560
- LIGHT_ELEVATION_MIN
561
- ]
562
- },
563
- //
564
- // Accent surfaces
565
- //
566
- accentSurfaceRelated: {
567
- light: [
568
- "primary",
569
- "300/.1"
570
- ],
571
- dark: [
572
- "primary",
573
- "400/.1"
574
- ]
575
- },
576
- accentSurfaceHover: {
577
- light: [
578
- "primary",
579
- 600
580
- ],
581
- dark: [
582
- "primary",
583
- 475
584
- ]
585
- },
586
- accentSurface: {
587
- light: [
588
- "primary",
589
- 500
590
- ],
591
- dark: [
592
- "primary",
593
- 500
594
- ]
595
- },
596
- //
597
- // Text (text-) and other foregrounds
598
- // TODO(thure): Establish contrast-order cadence for text.
599
- //
600
- baseText: {
601
- light: [
602
- "neutral",
603
- 1e3
604
- ],
605
- dark: [
606
- "neutral",
607
- 50
608
- ]
609
- },
610
- inverseSurfaceText: {
611
- light: [
612
- "neutral",
613
- 50
614
- ],
615
- dark: [
616
- "neutral",
617
- 1e3
618
- ]
619
- },
620
- description: {
621
- light: [
622
- "neutral",
623
- 550
624
- ],
625
- dark: [
626
- "neutral",
627
- 350
628
- ]
629
- },
630
- subdued: {
631
- light: [
632
- "neutral",
633
- 700
634
- ],
635
- dark: [
636
- "neutral",
637
- 300
638
- ]
639
- },
640
- placeholder: {
641
- light: [
642
- "neutral",
643
- 500
644
- ],
645
- dark: [
646
- "neutral",
647
- 500
648
- ]
649
- },
650
- accentText: {
651
- light: [
652
- "primary",
653
- 550
654
- ],
655
- dark: [
656
- "primary",
657
- 400
658
- ]
659
- },
660
- accentSurfaceText: {
661
- light: [
662
- "neutral",
663
- 0
664
- ],
665
- dark: [
666
- "neutral",
667
- 0
668
- ]
669
- },
670
- accentTextHover: {
671
- light: [
672
- "primary",
673
- 500
674
- ],
675
- dark: [
676
- "primary",
677
- 350
678
- ]
679
- },
680
- accentFocusIndicator: {
681
- light: [
682
- "primary",
683
- 300
684
- ],
685
- dark: [
686
- "primary",
687
- 450
688
- ]
689
- },
690
- neutralFocusIndicator: {
691
- light: [
692
- "neutral",
693
- 300
694
- ],
695
- dark: [
696
- "neutral",
697
- 550
698
- ]
699
- }
700
- };
701
- var aliasDefs = {
702
- // Selected items, current items, other surfaces needing special contrast against baseSurface.
703
- activeSurface: {
704
- root: "inputSurfaceBase"
705
- },
706
- // Main sidebar panel.
707
- sidebarSurface: {
708
- root: "groupSurface"
709
- },
710
- // Plank header.
711
- headerSurface: {
712
- root: "groupSurface"
713
- },
714
- // Toolbars, table/sheet headers, etc.
715
- toolbarSurface: {
716
- root: "groupSurface"
717
- },
718
- // Forms, cards, etc.
719
- cardSurface: {
720
- root: "groupSurface"
721
- },
722
- // Secondary aliases.
723
- textInputSurface: {
724
- root: "textInputSurfaceBase",
725
- group: "textInputSurfaceGroup",
726
- modal: "textInputSurfaceModal"
727
- },
728
- inputSurface: {
729
- root: "inputSurfaceBase",
730
- group: "inputSurfaceGroup",
731
- modal: "inputSurfaceModal"
732
- },
733
- hoverSurface: {
734
- root: "hoverSurfaceBase",
735
- group: "hoverSurfaceGroup",
736
- modal: "hoverSurfaceModal"
737
- },
738
- // TODO(thure): Rename uses of this token to `focusSurface` and remove this alias.
739
- attention: {
740
- root: "focusSurface"
741
- },
742
- // In “master-detail” patterns, the background of the item in the list which is enumerated in the adjacent view.
743
- // TODO(burdon): Review tokens.
744
- currentRelated: {
745
- root: "modalSurface"
746
- },
747
- // Borders and dividers.
748
- separator: {
749
- root: "separatorBase",
750
- group: "separatorGroup",
751
- modal: "separatorModal"
752
- }
753
- };
754
- var systemAliases = Object.entries(aliasDefs).reduce((aliases, [alias, values]) => {
755
- Object.entries(values).forEach(([key, sememe]) => {
756
- const record = getMapValue(aliases, sememe, () => ({}));
757
- const list = getMapValue(record, key, () => []);
758
- list.push(alias);
759
- });
760
- return aliases;
761
- }, {});
55
+ // src/fragments/disabled.ts
56
+ var staticDisabled = "opacity-40 cursor-not-allowed shadow-none";
57
+ var dataDisabled = "data-[disabled]:opacity-40 data-[disabled]:cursor-not-allowed";
762
58
 
763
- // src/config/tokens/alias-colors.ts
764
- var groupAliases = [
765
- "groupSurface",
766
- ...systemAliases.groupSurface?.root ?? []
767
- ];
768
- var modalAliases = [
769
- "modalSurface",
770
- ...systemAliases.modalSurface?.root ?? []
59
+ // src/fragments/elevation.ts
60
+ var surfaceShadow = ({ elevation }) => [
61
+ elevation === "positioned" ? "shadow-sm" : elevation === "dialog" || elevation === "toast" ? "shadow-md" : "shadow-none"
771
62
  ];
772
- var aliasColors = {
773
- conditions: {
774
- root: [
775
- ":root, .dark"
776
- ],
777
- group: [
778
- [
779
- ".sidebar-surface, .dark .sidebar-surface",
780
- ...groupAliases.map((alias) => `.bg-${alias}, .dark .bg-${alias}`)
781
- ].join(", ")
782
- ],
783
- modal: [
784
- [
785
- ".modal-surface, .dark .modal-surface",
786
- ...modalAliases.map((alias) => `.bg-${alias}, .dark .bg-${alias}`)
787
- ].join(", ")
788
- ],
789
- gridFocusStack: [
790
- '[data-grid-focus-indicator-variant="stack"]'
791
- ]
792
- },
793
- aliases: {
794
- // TODO(thure): Aliases should be merged more elegantly, this causes overwrites.
795
- ...sheetAliases,
796
- ...systemAliases,
797
- ...valenceAliases
798
- },
799
- namespace: "dx-"
800
- };
801
-
802
- // src/config/tokens/lengths.ts
803
- var lengthsFacet = {
804
- physical: {
805
- namespace: "dx-",
806
- conditions: {
807
- root: [
808
- ":root"
809
- ]
810
- },
811
- series: {
812
- line: {
813
- root: {
814
- unit: "px",
815
- initial: 0,
816
- slope: 1
817
- }
818
- },
819
- // "gap"
820
- lacuna: {
821
- root: {
822
- unit: "rem",
823
- initial: 0,
824
- slope: 0.125
825
- }
826
- }
827
- }
828
- },
829
- semantic: {
830
- namespace: "dx-",
831
- conditions: {
832
- root: [
833
- ":root"
834
- ]
835
- },
836
- sememes: {
837
- noLine: {
838
- root: [
839
- "line",
840
- 0
841
- ]
842
- },
843
- hairLine: {
844
- root: [
845
- "line",
846
- 1
847
- ]
848
- },
849
- thickLine: {
850
- root: [
851
- "line",
852
- 2
853
- ]
854
- },
855
- trimXs: {
856
- root: [
857
- "lacuna",
858
- 3
859
- ]
860
- },
861
- trimSm: {
862
- root: [
863
- "lacuna",
864
- 4
865
- ]
866
- },
867
- trimMd: {
868
- root: [
869
- "lacuna",
870
- 6
871
- ]
872
- },
873
- trimLg: {
874
- root: [
875
- "lacuna",
876
- 12
877
- ]
878
- },
879
- inputFine: {
880
- root: [
881
- "lacuna",
882
- 3
883
- ]
884
- },
885
- inputCoarse: {
886
- root: [
887
- "lacuna",
888
- 4
889
- ]
890
- }
891
- }
892
- },
893
- alias: {
894
- namespace: "dx-",
895
- conditions: {
896
- fine: [
897
- ":root, .density-fine"
898
- ],
899
- coarse: [
900
- ".density-coarse"
901
- ],
902
- flush: [
903
- ".density-flush"
904
- ],
905
- gridFocusStack: [
906
- '[data-grid-focus-indicator-variant="stack"]'
907
- ]
908
- },
909
- aliases: {
910
- noLine: {
911
- fine: [
912
- "focusOffset"
913
- ]
914
- },
915
- hairLine: {
916
- fine: [
917
- "modalLine",
918
- "landmarkLine",
919
- "positionedLine",
920
- "gridGap",
921
- "gridFocusIndicatorWidth"
922
- ]
923
- },
924
- thickLine: {
925
- fine: [
926
- "focusLine"
927
- ],
928
- gridFocusStack: [
929
- "gridFocusIndicatorWidth"
930
- ]
931
- },
932
- inputFine: {
933
- fine: [
934
- "iconButtonPadding"
935
- ]
936
- },
937
- inputCoarse: {
938
- coarse: [
939
- "iconButtonPadding"
940
- ]
941
- },
942
- trimXs: {
943
- fine: [
944
- "cardSpacingChrome",
945
- "labelSpacingBlock",
946
- "inputSpacingBlock"
947
- ]
948
- },
949
- // TODO(burdon): Remove?
950
- trimSm: {
951
- fine: [
952
- "cardSpacingInline",
953
- "cardSpacingBlock",
954
- "cardSpacingGap"
955
- ]
956
- },
957
- trimMd: {
958
- coarse: [
959
- "cardSpacingInline",
960
- "cardSpacingBlock",
961
- "cardSpacingGap"
962
- ]
963
- }
964
- }
965
- }
966
- };
967
- var maxSizesFacet = {
968
- physical: {
969
- namespace: "dx-",
970
- conditions: {
971
- root: [
972
- ":root"
973
- ]
974
- },
975
- series: {
976
- size: {
977
- root: {
978
- unit: "rem",
979
- initial: 0,
980
- slope: 1
981
- }
982
- }
983
- }
984
- },
985
- semantic: {
986
- namespace: "dx-",
987
- conditions: {
988
- root: [
989
- ":root"
990
- ]
991
- },
992
- sememes: {
993
- "prose-max-width": {
994
- root: [
995
- "size",
996
- 50
997
- ]
998
- },
999
- "container-max-width": {
1000
- root: [
1001
- "size",
1002
- 50
1003
- ]
1004
- },
1005
- "card-default-width": {
1006
- root: [
1007
- "size",
1008
- cardDefaultInlineSize
1009
- ]
1010
- },
1011
- "card-min-width": {
1012
- root: [
1013
- "size",
1014
- cardMinInlineSize
1015
- ]
1016
- },
1017
- "card-max-width": {
1018
- root: [
1019
- "size",
1020
- cardMaxInlineSize
1021
- ]
1022
- },
1023
- "card-min-height": {
1024
- root: [
1025
- "size",
1026
- cardMinBlockSize
1027
- ]
1028
- },
1029
- "card-max-height": {
1030
- root: [
1031
- "size",
1032
- cardMaxBlockSize
1033
- ]
1034
- }
1035
- }
1036
- }
1037
- };
1038
-
1039
- // src/config/tokens/sememes-calls.ts
1040
- var callsSememes = {
1041
- callActive: {
1042
- light: [
1043
- "green",
1044
- "500"
1045
- ],
1046
- dark: [
1047
- "green",
1048
- "500"
1049
- ]
1050
- },
1051
- callAlert: {
1052
- light: [
1053
- "rose",
1054
- "500"
1055
- ],
1056
- dark: [
1057
- "rose",
1058
- "500"
1059
- ]
1060
- }
1061
- };
1062
-
1063
- // src/config/tokens/sememes-codemirror.ts
1064
- var codemirrorSememes = {
1065
- // NOTE: background styles for the main content area must have transparency otherwise they will mask the selection.
1066
- cmCodeblock: {
1067
- light: [
1068
- "neutral",
1069
- "500/.1"
1070
- ],
1071
- dark: [
1072
- "neutral",
1073
- "500/.1"
1074
- ]
1075
- },
1076
- cmActiveLine: {
1077
- light: [
1078
- "neutral",
1079
- "200/.5"
1080
- ],
1081
- dark: [
1082
- "neutral",
1083
- "800/.5"
1084
- ]
1085
- },
1086
- cmSeparator: {
1087
- light: [
1088
- "primary",
1089
- 500
1090
- ],
1091
- dark: [
1092
- "primary",
1093
- 500
1094
- ]
1095
- },
1096
- cmCursor: {
1097
- light: [
1098
- "neutral",
1099
- 900
1100
- ],
1101
- dark: [
1102
- "neutral",
1103
- 100
1104
- ]
1105
- },
1106
- cmSelection: {
1107
- light: [
1108
- "primary",
1109
- "400/.5"
1110
- ],
1111
- dark: [
1112
- "primary",
1113
- "600/.5"
1114
- ]
1115
- },
1116
- cmFocusedSelection: {
1117
- light: [
1118
- "primary",
1119
- 400
1120
- ],
1121
- dark: [
1122
- "primary",
1123
- 600
1124
- ]
1125
- },
1126
- cmHighlight: {
1127
- light: [
1128
- "neutral",
1129
- 950
1130
- ],
1131
- dark: [
1132
- "neutral",
1133
- 50
1134
- ]
1135
- },
1136
- cmHighlightSurface: {
1137
- light: [
1138
- "sky",
1139
- 200
1140
- ],
1141
- dark: [
1142
- "cyan",
1143
- 600
1144
- ]
1145
- },
1146
- // TODO(burdon): Factor out defs in common with sheet.
1147
- cmCommentText: {
1148
- light: [
1149
- "neutral",
1150
- 50
1151
- ],
1152
- dark: [
1153
- "neutral",
1154
- 950
1155
- ]
1156
- },
1157
- cmCommentSurface: {
1158
- light: [
1159
- "amber",
1160
- 700
1161
- ],
1162
- dark: [
1163
- "amber",
1164
- 200
1165
- ]
63
+ var surfaceZIndex = ({ level, elevation }) => {
64
+ switch (level) {
65
+ case "tooltip":
66
+ return elevation === "dialog" ? [
67
+ "z-[53]"
68
+ ] : elevation === "toast" ? [
69
+ "z-[43]"
70
+ ] : [
71
+ "z-50"
72
+ ];
73
+ case "menu":
74
+ return elevation === "dialog" ? [
75
+ "z-[52]"
76
+ ] : elevation === "toast" ? [
77
+ "z-[42]"
78
+ ] : [
79
+ "z-20"
80
+ ];
81
+ default:
82
+ return elevation === "dialog" ? [
83
+ "z-[51]"
84
+ ] : elevation === "toast" ? [
85
+ "z-[41]"
86
+ ] : [
87
+ "z-[1]"
88
+ ];
1166
89
  }
1167
90
  };
1168
91
 
1169
- // src/config/tokens/semantic-colors.ts
1170
- var semanticColors = {
1171
- conditions: {
1172
- light: [
1173
- ":root"
1174
- ],
1175
- dark: [
1176
- ".dark"
1177
- ]
1178
- },
1179
- sememes: {
1180
- // Define each set of sememes in its own file.
1181
- ...callsSememes,
1182
- ...codemirrorSememes,
1183
- ...hueSememes,
1184
- ...sheetSememes,
1185
- ...systemSememes
1186
- },
1187
- namespace: "dx-"
1188
- };
1189
-
1190
- // src/config/tokens/tokens.ts
1191
- var hues = Object.keys(huePalettes);
1192
- var tokenSet = {
1193
- colors: {
1194
- physical: physicalColors,
1195
- semantic: semanticColors,
1196
- alias: aliasColors
1197
- },
1198
- lengths: lengthsFacet,
1199
- maxSizes: maxSizesFacet
1200
- };
1201
- var adapterConfig = {
1202
- colors: {
1203
- facet: "colors",
1204
- disposition: "overwrite",
1205
- tokenization: "recursive"
1206
- },
1207
- borderWidth: {
1208
- facet: "lengths",
1209
- disposition: "extend",
1210
- tokenization: "omit-series"
1211
- },
1212
- ringWidth: {
1213
- facet: "lengths",
1214
- disposition: "extend",
1215
- tokenization: "omit-series"
1216
- },
1217
- ringOffsetWidth: {
1218
- facet: "lengths",
1219
- disposition: "extend",
1220
- tokenization: "omit-series"
1221
- },
1222
- outlineWidth: {
1223
- facet: "lengths",
1224
- disposition: "extend",
1225
- tokenization: "omit-series"
1226
- },
1227
- spacing: {
1228
- facet: "lengths",
1229
- disposition: "extend",
1230
- tokenization: "keep-series"
1231
- }
1232
- };
1233
- var userDefaultTokenSet = {
1234
- colors: {
1235
- physical: {
1236
- definitions: {
1237
- series: {
1238
- neutral: physicalColors.definitions.series.neutral,
1239
- primary: physicalColors.definitions.series.primary
1240
- },
1241
- accompanyingSeries: physicalColors.definitions.accompanyingSeries
1242
- },
1243
- conditions: physicalColors.conditions,
1244
- series: {
1245
- neutral: physicalColors.series.neutral,
1246
- primary: physicalColors.series.primary
1247
- },
1248
- namespace: physicalColors.namespace
1249
- },
1250
- semantic: {
1251
- conditions: semanticColors.conditions,
1252
- sememes: systemSememes,
1253
- namespace: semanticColors.namespace
1254
- },
1255
- alias: {
1256
- conditions: aliasColors.conditions,
1257
- aliases: systemAliases,
1258
- namespace: aliasColors.namespace
1259
- }
1260
- }
1261
- };
1262
- var tokensTailwindConfig = adapter(tokenSet, adapterConfig);
92
+ // src/fragments/focus.ts
93
+ var focusRing = "dx-focus-ring";
94
+ var subduedFocus = "focus:outline-hidden focus-visible:outline-hidden focus:ring-0 ring-0 focus:border-0 border-0";
95
+ var staticFocusRing = "ring-2 ring-offset-0 ring-primary-350 ring-offset-white dark:ring-primary-450 dark:ring-offset-black";
1263
96
 
1264
- // src/config/tailwind.ts
1265
- var { extend: extendTokens, ...overrideTokens } = tokensTailwindConfig;
1266
- var tailwindConfig = ({ env = "production", content = [], extensions = [] }) => ({
1267
- darkMode: "class",
1268
- theme: {
1269
- // Configure fonts in theme.css and package.json.
1270
- fontFamily: {
1271
- body: [
1272
- "Inter Variable",
1273
- ...defaultConfig.theme.fontFamily.sans
1274
- ],
1275
- mono: [
1276
- "JetBrains Mono Variable",
1277
- ...defaultConfig.theme.fontFamily.mono
1278
- ]
1279
- },
1280
- extend: merge({
1281
- // Generates is-card-default-width, is-card-min-width, etc.
1282
- spacing: {
1283
- "prose-max-width": "var(--dx-prose-max-width)",
1284
- "container-max-width": "var(--dx-container-max-width)",
1285
- "card-default-width": "var(--dx-card-default-width)",
1286
- "card-min-width": "var(--dx-card-min-width)",
1287
- "card-max-width": "var(--dx-card-max-width)",
1288
- "card-min-height": "var(--dx-card-min-height)",
1289
- "card-max-height": "var(--dx-card-max-height)"
1290
- },
1291
- backgroundImage: {
1292
- "gradient-radial": "radial-gradient(var(--tw-gradient-stops))",
1293
- "gradient-conic": "conic-gradient(from 180deg at 50% 50%, var(--tw-gradient-stops))"
1294
- },
1295
- borderRadius: {
1296
- none: "0",
1297
- sm: "0.25rem",
1298
- DEFAULT: "0.5rem",
1299
- md: "0.75rem",
1300
- lg: "1rem"
1301
- },
1302
- screens: {
1303
- "pointer-fine": {
1304
- raw: "(pointer: fine)"
1305
- },
1306
- "hover-hover": {
1307
- raw: "(hover: hover)"
1308
- },
1309
- "md": "768px",
1310
- "lg": "1024px"
1311
- },
1312
- fontSize: {
1313
- // Base size 16px
1314
- // Scale 1.125
1315
- "xs": [
1316
- "0.790rem",
1317
- {
1318
- lineHeight: "1rem"
1319
- }
1320
- ],
1321
- "sm": [
1322
- "0.889rem",
1323
- {
1324
- lineHeight: "1.25rem"
1325
- }
1326
- ],
1327
- "base": [
1328
- "1rem",
1329
- {
1330
- lineHeight: "1.5rem"
1331
- }
1332
- ],
1333
- "lg": [
1334
- "1.125rem",
1335
- {
1336
- lineHeight: "1.75rem"
1337
- }
1338
- ],
1339
- "xl": [
1340
- "1.266rem",
1341
- {
1342
- lineHeight: "1.75rem"
1343
- }
1344
- ],
1345
- "2xl": [
1346
- "1.424rem",
1347
- {
1348
- lineHeight: "2rem"
1349
- }
1350
- ],
1351
- "3xl": [
1352
- "1.602rem",
1353
- {
1354
- lineHeight: "2.25rem"
1355
- }
1356
- ],
1357
- "4xl": [
1358
- "1.802rem",
1359
- {
1360
- lineHeight: "2.5rem"
1361
- }
1362
- ],
1363
- "5xl": [
1364
- "2.027rem",
1365
- {
1366
- lineHeight: "2.5rem"
1367
- }
1368
- ],
1369
- "6xl": [
1370
- "2.281rem",
1371
- {
1372
- lineHeight: "2.5rem"
1373
- }
1374
- ],
1375
- "7xl": [
1376
- "2.566rem",
1377
- {
1378
- lineHeight: "2.75rem"
1379
- }
1380
- ],
1381
- "8xl": [
1382
- "2.887rem",
1383
- {
1384
- lineHeight: "3rem"
1385
- }
1386
- ],
1387
- "9xl": [
1388
- "3.247rem",
1389
- {
1390
- lineHeight: "3.25rem"
1391
- }
1392
- ]
1393
- },
1394
- boxShadow: {
1395
- "slider": "0 0 0 5px rgba(0, 0, 0, 0.3)"
1396
- },
1397
- transitionProperty: {
1398
- "max-height": "max-height"
1399
- },
1400
- transitionTimingFunction: {
1401
- "in-out-symmetric": "cubic-bezier(0.5, 0, 0.5, 1)"
1402
- },
1403
- keyframes: {
1404
- // Fade
1405
- "fade-in": {
1406
- from: {
1407
- opacity: 0
1408
- },
1409
- to: {
1410
- opacity: 1
1411
- }
1412
- },
1413
- "fade-out": {
1414
- from: {
1415
- opacity: 1
1416
- },
1417
- to: {
1418
- opacity: 0
1419
- }
1420
- },
1421
- // Popper chrome
1422
- "slide-down-and-fade": {
1423
- from: {
1424
- opacity: 1,
1425
- transform: "translateY(0)"
1426
- },
1427
- to: {
1428
- opacity: 0,
1429
- transform: "translateY(16px)"
1430
- }
1431
- },
1432
- "slide-left-and-fade": {
1433
- from: {
1434
- opacity: 0,
1435
- transform: "translateX(-16px)"
1436
- },
1437
- to: {
1438
- opacity: 1,
1439
- transform: "translateX(0)"
1440
- }
1441
- },
1442
- "slide-up-and-fade": {
1443
- from: {
1444
- opacity: 0,
1445
- transform: "translateY(16px)"
1446
- },
1447
- to: {
1448
- opacity: 1,
1449
- transform: "translateY(0)"
1450
- }
1451
- },
1452
- "slide-right-and-fade": {
1453
- from: {
1454
- opacity: 0,
1455
- transform: "translateX(16px)"
1456
- },
1457
- to: {
1458
- opacity: 1,
1459
- transform: "translateX(0)"
1460
- }
1461
- },
1462
- // Toast
1463
- "toast-hide": {
1464
- "0%": {
1465
- opacity: "1"
1466
- },
1467
- "100%": {
1468
- opacity: "0"
1469
- }
1470
- },
1471
- "toast-slide-in-right": {
1472
- "0%": {
1473
- transform: "translateX(calc(100% + 1rem))"
1474
- },
1475
- "100%": {
1476
- transform: "translateX(0)"
1477
- }
1478
- },
1479
- "toast-slide-in-bottom": {
1480
- "0%": {
1481
- transform: "translateY(calc(100% + 1rem))"
1482
- },
1483
- "100%": {
1484
- transform: "translateY(0)"
1485
- }
1486
- },
1487
- "toast-swipe-out": {
1488
- "0%": {
1489
- transform: "translateX(var(--radix-toast-swipe-end-x))"
1490
- },
1491
- "100%": {
1492
- transform: "translateX(calc(100% + 1rem))"
1493
- }
1494
- },
1495
- // Accordion
1496
- "slide-down": {
1497
- from: {
1498
- height: "0px"
1499
- },
1500
- to: {
1501
- height: "var(--radix-accordion-content-height)"
1502
- }
1503
- },
1504
- "slide-up": {
1505
- from: {
1506
- height: "var(--radix-accordion-content-height)"
1507
- },
1508
- to: {
1509
- height: "0px"
1510
- }
1511
- },
1512
- // Shimmer
1513
- "shimmer-loop": {
1514
- "100%": {
1515
- transform: "translateX(100%)"
1516
- }
1517
- },
1518
- // HALO
1519
- "halo-pulse": {
1520
- "0%": {
1521
- opacity: 0.3
1522
- },
1523
- "5%": {
1524
- opacity: 1
1525
- },
1526
- "100%": {
1527
- opacity: 0.3
1528
- }
1529
- },
1530
- // Progress
1531
- "progress-indeterminate": {
1532
- "0%": {
1533
- left: 0,
1534
- width: "0%"
1535
- },
1536
- "25%": {
1537
- left: "25%",
1538
- width: "50%"
1539
- },
1540
- "75%": {
1541
- left: "50%",
1542
- width: "100%"
1543
- },
1544
- "100%": {
1545
- left: "100%",
1546
- width: "0%"
1547
- }
1548
- },
1549
- // Border trail effect
1550
- "trail": {
1551
- to: {
1552
- "offset-distance": "100%"
1553
- }
1554
- },
1555
- "trail-offset": {
1556
- "0%": {
1557
- "offset-distance": "50%"
1558
- },
1559
- "100%": {
1560
- "offset-distance": "150%"
1561
- }
1562
- }
1563
- },
1564
- animation: {
1565
- // Fade
1566
- "fade-in": "fade-in 200ms ease-out",
1567
- "fade-out": "fade-out 400ms ease-out",
1568
- // Popper chrome
1569
- "slide-down-and-fade": "slide-down-and-fade 400ms cubic-bezier(0.16, 1, 0.3, 1)",
1570
- "slide-left-and-fade": "slide-left-and-fade 400ms cubic-bezier(0.16, 1, 0.3, 1)",
1571
- "slide-up-and-fade": "slide-up-and-fade 400ms cubic-bezier(0.16, 1, 0.3, 1)",
1572
- "slide-right-and-fade": "slide-right-and-fade 400ms cubic-bezier(0.16, 1, 0.3, 1)",
1573
- // Toast
1574
- "toast-hide": "toast-hide 100ms ease-in forwards",
1575
- "toast-slide-in-right": "toast-slide-in-right 150ms cubic-bezier(0.16, 1, 0.3, 1)",
1576
- "toast-slide-in-bottom": "toast-slide-in-bottom 150ms cubic-bezier(0.16, 1, 0.3, 1)",
1577
- "toast-swipe-out": "toast-swipe-out 100ms ease-out forwards",
1578
- // Accordion
1579
- "slide-down": "slide-down 300ms cubic-bezier(0.87, 0, 0.13, 1)",
1580
- "slide-up": "slide-up 300ms cubic-bezier(0.87, 0, 0.13, 1)",
1581
- // Border trail effect
1582
- "trail": "trail 6s linear infinite",
1583
- "trail-offset": "trail-offset 6s linear infinite",
1584
- // Progress effects
1585
- "spin": "spin 1.5s linear infinite",
1586
- "spin-slow": "spin 3s linear infinite",
1587
- "shimmer": "shimmer-loop 2s infinite",
1588
- "halo-pulse": "halo-pulse 2s ease-out infinite",
1589
- "progress-indeterminate": "progress-indeterminate 2s ease-out infinite",
1590
- "progress-linear": "progress-linear 2s ease-out infinite"
1591
- }
1592
- }, extendTokens, ...extensions),
1593
- ...overrideTokens,
1594
- colors: {
1595
- ...overrideTokens.colors,
1596
- inherit: "inherit",
1597
- current: "currentColor",
1598
- transparent: "transparent",
1599
- black: "black",
1600
- white: "white"
1601
- }
1602
- },
1603
- plugins: [
1604
- tailwindcssContainerQueries,
1605
- tailwindcssForms,
1606
- tailwindcssLogical,
1607
- tailwindcssRadix(),
1608
- // https://adoxography.github.io/tailwind-scrollbar/utilities
1609
- tailwindScrollbar({
1610
- nocompatible: true,
1611
- preferredStrategy: "pseudoelements"
1612
- })
1613
- ],
1614
- ...env === "development" && {
1615
- mode: "jit"
1616
- },
1617
- content,
1618
- future: {
1619
- hoverOnlyWhenSupported: true
1620
- }
1621
- });
97
+ // src/fragments/hover.ts
98
+ var subtleHover = "hover:bg-hover-overlay";
99
+ var ghostHover = "hover:bg-hover-surface";
100
+ var ghostFocusWithin = "focus-within:bg-hover-surface";
101
+ var hoverableControls = "[--controls-opacity:1] hover-hover:[--controls-opacity:0] hover-hover:hover:[--controls-opacity:1]";
102
+ var groupHoverControlItemWithTransition = "transition-opacity duration-200 opacity-0 group-hover:opacity-100";
103
+ var hoverableFocusedKeyboardControls = "focus-visible:[--controls-opacity:1]";
104
+ var hoverableFocusedWithinControls = "focus-within:[--controls-opacity:1]";
105
+ var hoverableOpenControlItem = "hover-hover:aria-[expanded=true]:[--controls-opacity:1]";
106
+ var hoverableControlItem = "opacity-(--controls-opacity)";
1622
107
 
1623
108
  // src/util/hash-styles.ts
1624
- var neutralColor = {
109
+ var neutral = {
1625
110
  hue: "neutral",
1626
- text: "text-neutralFill",
1627
- icon: "text-neutralSurfaceText",
1628
- bg: "bg-neutralFill",
1629
- surface: "bg-neutralSurface",
1630
- border: "border-neutralFill"
111
+ fill: "bg-neutral-fill",
112
+ surface: "bg-neutral-surface",
113
+ surfaceText: "text-neutral-surface-text",
114
+ text: "text-neutral-text",
115
+ border: "border-neutral-border"
1631
116
  };
1632
117
  var styles = [
118
+ {
119
+ hue: "red",
120
+ fill: "bg-red-fill",
121
+ surface: "bg-red-surface",
122
+ surfaceText: "text-red-surface-text",
123
+ text: "text-red-text",
124
+ border: "border-red-border"
125
+ },
1633
126
  {
1634
127
  hue: "orange",
1635
- text: "text-orangeFill",
1636
- icon: "text-orangeSurfaceText",
1637
- bg: "bg-orangeFill",
1638
- surface: "bg-orangeSurface",
1639
- border: "border-orangeFill"
128
+ fill: "bg-orange-fill",
129
+ surface: "bg-orange-surface",
130
+ surfaceText: "text-orange-surface-text",
131
+ text: "text-orange-text",
132
+ border: "border-orange-border"
1640
133
  },
1641
134
  {
1642
135
  hue: "amber",
1643
- text: "text-amberFill",
1644
- icon: "text-amberSurfaceText",
1645
- bg: "bg-amberFill",
1646
- surface: "bg-amberSurface",
1647
- border: "border-amberFill"
136
+ fill: "bg-amber-fill",
137
+ surface: "bg-amber-surface",
138
+ surfaceText: "text-amber-surface-text",
139
+ text: "text-amber-text",
140
+ border: "border-amber-border"
1648
141
  },
1649
142
  {
1650
143
  hue: "yellow",
1651
- text: "text-yellowFill",
1652
- icon: "text-yellowSurfaceText",
1653
- bg: "bg-yellowFill",
1654
- surface: "bg-yellowSurface",
1655
- border: "border-yellowFill"
144
+ fill: "bg-yellow-fill",
145
+ surface: "bg-yellow-surface",
146
+ surfaceText: "text-yellow-surface-text",
147
+ text: "text-yellow-text",
148
+ border: "border-yellow-border"
1656
149
  },
1657
150
  {
1658
151
  hue: "lime",
1659
- text: "text-limeFill",
1660
- icon: "text-limeSurfaceText",
1661
- bg: "bg-limeFill",
1662
- surface: "bg-limeSurface",
1663
- border: "border-limeFill"
152
+ fill: "bg-lime-fill",
153
+ surface: "bg-lime-surface",
154
+ surfaceText: "text-lime-surface-text",
155
+ text: "text-lime-text",
156
+ border: "border-lime-border"
1664
157
  },
1665
158
  {
1666
159
  hue: "green",
1667
- text: "text-greenFill",
1668
- icon: "text-greenSurfaceText",
1669
- bg: "bg-greenFill",
1670
- surface: "bg-greenSurface",
1671
- border: "border-greenFill"
160
+ fill: "bg-green-fill",
161
+ surface: "bg-green-surface",
162
+ surfaceText: "text-green-surface-text",
163
+ text: "text-green-text",
164
+ border: "border-green-border"
1672
165
  },
1673
166
  {
1674
167
  hue: "emerald",
1675
- text: "text-emeraldFill",
1676
- icon: "text-emeraldSurfaceText",
1677
- bg: "bg-emeraldFill",
1678
- surface: "bg-emeraldSurface",
1679
- border: "border-emeraldFill"
168
+ fill: "bg-emerald-fill",
169
+ surface: "bg-emerald-surface",
170
+ surfaceText: "text-emerald-surface-text",
171
+ text: "text-emerald-text",
172
+ border: "border-emerald-border"
1680
173
  },
1681
174
  {
1682
175
  hue: "teal",
1683
- text: "text-tealFill",
1684
- icon: "text-tealSurfaceText",
1685
- bg: "bg-tealFill",
1686
- surface: "bg-tealSurface",
1687
- border: "border-tealFill"
176
+ fill: "bg-teal-fill",
177
+ surface: "bg-teal-surface",
178
+ surfaceText: "text-teal-surface-text",
179
+ text: "text-teal-text",
180
+ border: "border-teal-border"
1688
181
  },
1689
182
  {
1690
183
  hue: "cyan",
1691
- text: "text-cyanFill",
1692
- icon: "text-cyanSurfaceText",
1693
- bg: "bg-cyanFill",
1694
- surface: "bg-cyanSurface",
1695
- border: "border-cyanFill"
184
+ fill: "bg-cyan-fill",
185
+ surface: "bg-cyan-surface",
186
+ surfaceText: "text-cyan-surface-text",
187
+ text: "text-cyan-text",
188
+ border: "border-cyan-border"
1696
189
  },
1697
190
  {
1698
191
  hue: "sky",
1699
- text: "text-skyFill",
1700
- icon: "text-skySurfaceText",
1701
- bg: "bg-skyFill",
1702
- surface: "bg-skySurface",
1703
- border: "border-skyFill"
192
+ fill: "bg-sky-fill",
193
+ surface: "bg-sky-surface",
194
+ surfaceText: "text-sky-surface-text",
195
+ text: "text-sky-text",
196
+ border: "border-sky-border"
197
+ },
198
+ {
199
+ hue: "blue",
200
+ fill: "bg-blue-fill",
201
+ surface: "bg-blue-surface",
202
+ surfaceText: "text-blue-surface-text",
203
+ text: "text-blue-text",
204
+ border: "border-blue-border"
1704
205
  },
1705
206
  {
1706
207
  hue: "indigo",
1707
- text: "text-indigoFill",
1708
- icon: "text-indigoSurfaceText",
1709
- bg: "bg-indigoFill",
1710
- surface: "bg-indigoSurface",
1711
- border: "border-indigoFill"
208
+ fill: "bg-indigo-fill",
209
+ surface: "bg-indigo-surface",
210
+ surfaceText: "text-indigo-surface-text",
211
+ text: "text-indigo-text",
212
+ border: "border-indigo-border"
1712
213
  },
1713
214
  {
1714
215
  hue: "violet",
1715
- text: "text-violetFill",
1716
- icon: "text-violetSurfaceText",
1717
- bg: "bg-violetFill",
1718
- surface: "bg-violetSurface",
1719
- border: "border-violetFill"
216
+ fill: "bg-violet-fill",
217
+ surface: "bg-violet-surface",
218
+ surfaceText: "text-violet-surface-text",
219
+ text: "text-violet-text",
220
+ border: "border-violet-border"
1720
221
  },
1721
222
  {
1722
223
  hue: "purple",
1723
- text: "text-purpleFill",
1724
- icon: "text-purpleSurfaceText",
1725
- bg: "bg-purpleFill",
1726
- surface: "bg-purpleSurface",
1727
- border: "border-purpleFill"
224
+ fill: "bg-purple-fill",
225
+ surface: "bg-purple-surface",
226
+ surfaceText: "text-purple-surface-text",
227
+ text: "text-purple-text",
228
+ border: "border-purple-border"
1728
229
  },
1729
230
  {
1730
231
  hue: "fuchsia",
1731
- text: "text-fuchsiaFill",
1732
- icon: "text-fuchsiaSurfaceText",
1733
- bg: "bg-fuchsiaFill",
1734
- surface: "bg-fuchsiaSurface",
1735
- border: "border-fuchsiaFill"
232
+ fill: "bg-fuchsia-fill",
233
+ surface: "bg-fuchsia-surface",
234
+ surfaceText: "text-fuchsia-surface-text",
235
+ text: "text-fuchsia-text",
236
+ border: "border-fuchsia-border"
1736
237
  },
1737
238
  {
1738
- hue: "rose",
1739
- text: "text-roseFill",
1740
- icon: "text-roseSurfaceText",
1741
- bg: "bg-roseFill",
1742
- surface: "bg-roseSurface",
1743
- border: "border-roseFill"
239
+ hue: "pink",
240
+ fill: "bg-pink-fill",
241
+ surface: "bg-pink-surface",
242
+ surfaceText: "text-pink-surface-text",
243
+ text: "text-pink-text",
244
+ border: "border-pink-border"
1744
245
  },
1745
246
  {
1746
- hue: "pink",
1747
- text: "text-pinkFill",
1748
- icon: "text-pinkSurfaceText",
1749
- bg: "bg-pinkFill",
1750
- surface: "bg-pinkSurface",
1751
- border: "border-pinkFill"
247
+ hue: "rose",
248
+ fill: "bg-rose-fill",
249
+ surface: "bg-rose-surface",
250
+ surfaceText: "text-rose-surface-text",
251
+ text: "text-rose-text",
252
+ border: "border-rose-border"
1752
253
  }
1753
254
  ];
255
+ var palette = {
256
+ neutral,
257
+ hues: styles
258
+ };
1754
259
  var getStyles = (hue) => {
1755
- return styles.find((color) => color.hue === hue) || neutralColor;
260
+ return styles.find((color) => color.hue === hue) || neutral;
261
+ };
262
+ var getHashStyles = (id) => {
263
+ return getStyles(getHashHue(id));
1756
264
  };
1757
265
  var getHashHue = (id) => {
1758
266
  return id ? styles[getHash(id) % styles.length].hue : "neutral";
1759
267
  };
1760
- var getHashStyles = (id) => {
1761
- const hue = getHashHue(id);
1762
- return getStyles(hue);
1763
- };
1764
268
  var getHash = (id) => id.split("").reduce((acc, char) => acc + char.charCodeAt(0), 0);
1765
269
 
1766
270
  // src/util/mx.ts
1767
- import { extendTailwindMerge, validators as validators2 } from "tailwind-merge";
1768
-
1769
- // src/util/withLogical.ts
1770
- import { mergeConfigs, validators } from "tailwind-merge";
1771
- var getLength = () => [
1772
- validators.isLength,
1773
- validators.isArbitraryLength
1774
- ];
1775
- var getLengthWithAuto = () => [
1776
- "auto",
1777
- validators.isLength,
1778
- validators.isArbitraryLength
1779
- ];
1780
- var getLengthWithEmpty = () => [
1781
- "",
1782
- validators.isLength,
1783
- validators.isArbitraryLength
1784
- ];
1785
- var getAny = () => [
1786
- validators.isAny
1787
- ];
1788
- var getRounded = () => [
1789
- "none",
1790
- "",
1791
- validators.isTshirtSize,
1792
- "full",
1793
- validators.isArbitraryLength
1794
- ];
1795
- var classGroupsConfig = {
1796
- float: [
1797
- {
1798
- float: [
1799
- "start",
1800
- "end"
1801
- ]
1802
- }
1803
- ],
1804
- clear: [
1805
- {
1806
- clear: [
1807
- "start",
1808
- "end"
1809
- ]
1810
- }
1811
- ],
1812
- resize: [
1813
- {
1814
- resize: [
1815
- "block ",
1816
- "inline"
1817
- ]
1818
- }
1819
- ],
1820
- "text-alignment": [
1821
- {
1822
- text: [
1823
- "start",
1824
- "end"
1825
- ]
1826
- }
1827
- ],
1828
- "logical.overscroll-b": [
1829
- {
1830
- "overscroll-b": [
1831
- "auto ",
1832
- "contain",
1833
- "auto"
1834
- ]
1835
- }
1836
- ],
1837
- "logical.overscroll-i": [
1838
- {
1839
- "overscroll-b": [
1840
- "auto ",
1841
- "contain",
1842
- "auto"
1843
- ]
1844
- }
1845
- ],
1846
- "logical.bs": [
1847
- {
1848
- bs: getLength()
1849
- }
1850
- ],
1851
- "logical.min-bs": [
1852
- {
1853
- "min-bs": getAny()
1854
- }
1855
- ],
1856
- "logical.max-bs": [
1857
- {
1858
- "max-bs": getAny()
1859
- }
1860
- ],
1861
- "logical.is": [
1862
- {
1863
- is: getLength()
1864
- }
1865
- ],
1866
- "logical.min-is": [
1867
- {
1868
- "min-is": getAny()
1869
- }
1870
- ],
1871
- "logical.max-is": [
1872
- {
1873
- "max-is": getAny()
1874
- }
1875
- ],
1876
- "logical.mlb": [
1877
- {
1878
- mlb: getAny()
1879
- }
1880
- ],
1881
- "logical.mli": [
1882
- {
1883
- mli: getAny()
1884
- }
1885
- ],
1886
- "logical.mbs": [
1887
- {
1888
- mbs: getAny()
1889
- }
1890
- ],
1891
- "logical.mbe": [
1892
- {
1893
- mbe: getAny()
1894
- }
1895
- ],
1896
- "logical.mis": [
1897
- {
1898
- mis: getAny()
1899
- }
1900
- ],
1901
- "logical.mie": [
1902
- {
1903
- mie: getAny()
1904
- }
1905
- ],
1906
- "logical.plb": [
1907
- {
1908
- plb: getAny()
1909
- }
1910
- ],
1911
- "logical.pli": [
1912
- {
1913
- pli: getAny()
1914
- }
1915
- ],
1916
- "logical.pbs": [
1917
- {
1918
- pbs: getAny()
1919
- }
1920
- ],
1921
- "logical.pbe": [
1922
- {
1923
- pbe: getAny()
1924
- }
1925
- ],
1926
- "logical.pis": [
1927
- {
1928
- pis: getAny()
1929
- }
1930
- ],
1931
- "logical.pie": [
1932
- {
1933
- pie: getAny()
1934
- }
1935
- ],
1936
- "logical.space-b": [
1937
- {
1938
- "space-b": getLength()
1939
- }
1940
- ],
1941
- "logical.space-i": [
1942
- {
1943
- "space-i": getLength()
1944
- }
1945
- ],
1946
- "logical.inset-block": [
1947
- {
1948
- "inset-block": getLengthWithAuto()
1949
- }
1950
- ],
1951
- "logical.inset-inline": [
1952
- {
1953
- "inset-inline": getLengthWithAuto()
1954
- }
1955
- ],
1956
- "logical.block-start": [
1957
- {
1958
- "block-start": getLengthWithAuto()
1959
- }
1960
- ],
1961
- "logical.block-end": [
1962
- {
1963
- "block-end": getLengthWithAuto()
1964
- }
1965
- ],
1966
- "logical.inline-start": [
1967
- {
1968
- "inline-start": getLengthWithAuto()
1969
- }
1970
- ],
1971
- "logical.inline-end": [
1972
- {
1973
- "inline-end": getLengthWithAuto()
1974
- }
1975
- ],
1976
- "logical.border-li": [
1977
- {
1978
- "border-li": getLengthWithEmpty()
1979
- }
1980
- ],
1981
- "logical.border-lb": [
1982
- {
1983
- "border-lb": getLengthWithEmpty()
1984
- }
1985
- ],
1986
- "logical.border-bs": [
1987
- {
1988
- "border-bs": getLengthWithEmpty()
1989
- }
1990
- ],
1991
- "logical.border-be": [
1992
- {
1993
- "border-be": getLengthWithEmpty()
1994
- }
1995
- ],
1996
- "logical.border-is": [
1997
- {
1998
- "border-is": getLengthWithEmpty()
1999
- }
2000
- ],
2001
- "logical.border-ie": [
2002
- {
2003
- "border-ie": getLengthWithEmpty()
2004
- }
2005
- ],
2006
- "logical.border-color-bs": [
2007
- {
2008
- "border-bs": getAny()
2009
- }
2010
- ],
2011
- "logical.border-color-be": [
2012
- {
2013
- "border-be": getAny()
2014
- }
2015
- ],
2016
- "logical.border-color-is": [
2017
- {
2018
- "border-is": getAny()
2019
- }
2020
- ],
2021
- "logical.border-color-ie": [
2022
- {
2023
- "border-ie": getAny()
2024
- }
2025
- ],
2026
- "logical.rounded-bs": [
2027
- {
2028
- "rounded-bs": getRounded()
2029
- }
2030
- ],
2031
- "logical.rounded-be": [
2032
- {
2033
- "rounded-be": getRounded()
2034
- }
2035
- ],
2036
- "logical.rounded-is": [
2037
- {
2038
- "rounded-is": getRounded()
2039
- }
2040
- ],
2041
- "logical.rounded-ie": [
2042
- {
2043
- "rounded-ie": getRounded()
2044
- }
2045
- ],
2046
- "logical.rounded-ss": [
2047
- {
2048
- "rounded-ss": getRounded()
2049
- }
2050
- ],
2051
- "logical.rounded-se": [
2052
- {
2053
- "rounded-se": getRounded()
2054
- }
2055
- ],
2056
- "logical.rounded-es": [
2057
- {
2058
- "rounded-es": getRounded()
2059
- }
2060
- ],
2061
- "logical.rounded-ee": [
2062
- {
2063
- "rounded-ee": getRounded()
2064
- }
2065
- ],
2066
- "logical.divide-b": [
2067
- {
2068
- "divide-b": getLengthWithEmpty()
2069
- }
2070
- ],
2071
- "logical.divide-i": [
2072
- {
2073
- "divide-i": getLengthWithEmpty()
2074
- }
2075
- ]
2076
- };
2077
- var withLogical = (prevConfig) => {
2078
- return mergeConfigs(prevConfig, {
2079
- extend: {
2080
- classGroups: classGroupsConfig,
2081
- conflictingClassGroups: {
2082
- "inset-block": [
2083
- "logical.block-start",
2084
- "logical.block-end"
2085
- ],
2086
- "inset-inline": [
2087
- "logical.inline-start",
2088
- "logical.inline-end"
2089
- ],
2090
- p: [
2091
- "logical.plb",
2092
- "logical.pli",
2093
- "logical.pbs",
2094
- "logical.pbe",
2095
- "logical.pis",
2096
- "logical.pie"
2097
- ],
2098
- pli: [
2099
- "logical.pis",
2100
- "logical.pie"
2101
- ],
2102
- plb: [
2103
- "logical.pbs",
2104
- "logical.pbe"
2105
- ],
2106
- m: [
2107
- "logical.mlb",
2108
- "logical.mli",
2109
- "logical.mbs",
2110
- "logical.mbe",
2111
- "logical.mis",
2112
- "logical.mie"
2113
- ],
2114
- mli: [
2115
- "logical.mis",
2116
- "logical.mie"
2117
- ],
2118
- mlb: [
2119
- "logical.mbs",
2120
- "logical.mbe"
2121
- ],
2122
- overscroll: [
2123
- "overscroll-i",
2124
- "overscroll-b"
2125
- ],
2126
- rounded: [
2127
- "logical.rounded-bs",
2128
- "logical.rounded-be",
2129
- "logical.rounded-is",
2130
- "logical.rounded-ie",
2131
- "logical.rounded-ss",
2132
- "logical.rounded-se",
2133
- "logical.rounded-es",
2134
- "logical.rounded-ee"
2135
- ],
2136
- "logical.rounded-bs": [
2137
- "logical.rounded-ss",
2138
- "logical.rounded-se"
2139
- ],
2140
- "logical.rounded-be": [
2141
- "logical.rounded-es",
2142
- "logical.rounded-ee"
2143
- ],
2144
- "logical.rounded-is": [
2145
- "logical.rounded-ss",
2146
- "logical.rounded-es"
2147
- ],
2148
- "logical.rounded-ie": [
2149
- "logical.rounded-ee",
2150
- "logical.rounded-se"
2151
- ],
2152
- "logical.border-li": [
2153
- "logical.border-is",
2154
- "logical.border-ie"
2155
- ],
2156
- "logical.border-lb": [
2157
- "logical.border-bs",
2158
- "logical.border-be"
2159
- ],
2160
- "border-color": [
2161
- "logical.border-color-bs",
2162
- "logical.border-color-be",
2163
- "logical.border-color-is",
2164
- "logical.border-color-ie"
2165
- ],
2166
- border: [
2167
- "logical.border-bs",
2168
- "logical.border-be",
2169
- "logical.border-is",
2170
- "logical.border-ie"
2171
- ]
2172
- }
2173
- }
2174
- });
2175
- };
2176
-
2177
- // src/util/mx.ts
271
+ import { extendTailwindMerge, validators } from "tailwind-merge";
2178
272
  var mx = extendTailwindMerge({
2179
273
  extend: {
2180
274
  classGroups: {
@@ -2194,11 +288,11 @@ var mx = extendTailwindMerge({
2194
288
  "font-extrabold",
2195
289
  "font-black",
2196
290
  // Arbitrary numbers
2197
- validators2.isArbitraryNumber
291
+ validators.isArbitraryNumber
2198
292
  ],
2199
293
  density: [
2200
- "density-fine",
2201
- "density-coarse"
294
+ "dx-density-fine",
295
+ "dx-density-coarse"
2202
296
  ],
2203
297
  "dx-focus-ring": [
2204
298
  "dx-focus-ring",
@@ -2218,428 +312,299 @@ var mx = extendTailwindMerge({
2218
312
  ]
2219
313
  }
2220
314
  }
2221
- }, withLogical);
315
+ });
316
+ var composableProps = ({ className, classNames, ...props }, { className: defaultClassNames, ...defaults } = {}) => ({
317
+ ...defaults,
318
+ ...props,
319
+ className: mx(defaultClassNames, className, classNames)
320
+ });
2222
321
 
2223
- // src/styles/components/anchored-overflow.ts
2224
- var anchoredOverflowRoot = (_props, ...etc) => mx("overflow-anchored overflow-auto", ...etc);
2225
- var anchoredOverflowAnchor = (_props, ...etc) => mx("overflow-anchor is-px bs-px", ...etc);
2226
- var anchoredOverflowTheme = {
2227
- root: anchoredOverflowRoot,
2228
- anchor: anchoredOverflowAnchor
322
+ // src/fragments/size.ts
323
+ var largeIconSize = {
324
+ "--icon-size": "1.25rem"
2229
325
  };
2230
-
2231
- // src/styles/fragments/density.ts
2232
- var coarseBlockSize = "min-bs-[2.5rem]";
2233
- var coarseTextPadding = "pli-3";
2234
- var coarseButtonPadding = "pli-4";
2235
- var coarseDimensions = `${coarseBlockSize} ${coarseTextPadding}`;
2236
- var coarseButtonDimensions = `${coarseBlockSize} ${coarseButtonPadding}`;
2237
- var fineBlockSize = "min-bs-[2.5rem] pointer-fine:min-bs-[2rem]";
2238
- var fineTextPadding = "pli-2";
2239
- var fineButtonPadding = "pli-2.5";
2240
- var fineDimensions = `${fineBlockSize} ${fineTextPadding}`;
2241
- var fineButtonDimensions = `${fineBlockSize} ${fineButtonPadding}`;
2242
- var densityBlockSize = (density = "coarse") => density === "fine" ? fineBlockSize : coarseBlockSize;
2243
-
2244
- // src/styles/fragments/disabled.ts
2245
- var staticDisabled = "opacity-40 cursor-not-allowed shadow-none";
2246
- var dataDisabled = "data-[disabled]:opacity-40 data-[disabled]:cursor-not-allowed";
2247
-
2248
- // src/styles/fragments/dimension.ts
2249
- var textBlockWidth = "is-full mli-auto max-is-[--text-content]";
2250
-
2251
- // src/styles/fragments/elevation.ts
2252
- var contentShadow = (_) => [
2253
- "shadow-none"
2254
- ];
2255
- var surfaceShadow = ({ elevation }) => [
2256
- elevation === "positioned" ? "shadow" : elevation === "dialog" || elevation === "toast" ? "shadow-md" : "shadow-none"
2257
- ];
2258
- var surfaceZIndex = ({ level, elevation }) => {
2259
- switch (level) {
2260
- case "tooltip":
2261
- return elevation === "dialog" ? [
2262
- "z-[53]"
2263
- ] : elevation === "toast" ? [
2264
- "z-[43]"
2265
- ] : [
2266
- "z-30"
2267
- ];
2268
- case "menu":
2269
- return elevation === "dialog" ? [
2270
- "z-[52]"
2271
- ] : elevation === "toast" ? [
2272
- "z-[42]"
2273
- ] : [
2274
- "z-20"
2275
- ];
2276
- default:
2277
- return elevation === "dialog" ? [
2278
- "z-[51]"
2279
- ] : elevation === "toast" ? [
2280
- "z-[41]"
2281
- ] : [
2282
- "z-[1]"
2283
- ];
2284
- }
2285
- };
2286
-
2287
- // src/styles/fragments/focus.ts
2288
- var focusRing = "dx-focus-ring";
2289
- var dropRing = "ring-1 ring-offset-0 ring-primary-350 ring-offset-white dark:ring-primary-450 dark:ring-offset-black";
2290
- var dropRingInner = "before:z-[1] before:absolute before:inset-0 before:ring-1 before:ring-inset before:ring-primary-350 before:dark:ring-primary-450";
2291
- var subduedFocus = "focus:outline-none focus-visible:outline-none focus:ring-0 ring-0 focus:border-0 border-0";
2292
- var staticFocusRing = "ring-2 ring-offset-0 ring-primary-350 ring-offset-white dark:ring-primary-450 dark:ring-offset-black";
2293
-
2294
- // src/styles/fragments/group.ts
2295
- var group = (props) => [
2296
- props.elevation === "base" ? "bg-transparent border border-separator" : "bg-modalSurface",
2297
- surfaceShadow(props)
2298
- ];
2299
-
2300
- // src/styles/fragments/hover.ts
2301
- var hoverColors = "transition-colors duration-100 linear hover:bg-hoverSurface";
2302
- var ghostHover = "hover:bg-hoverSurface";
2303
- var ghostFocusWithin = "focus-within:bg-hoverSurface";
2304
- var subtleHover = "hover:bg-hoverOverlay";
2305
- var hoverableControls = "[--controls-opacity:1] hover-hover:[--controls-opacity:0] hover-hover:hover:[--controls-opacity:1]";
2306
- var groupHoverControlItemWithTransition = "transition-opacity duration-200 opacity-0 group-hover:opacity-100";
2307
- var hoverableFocusedKeyboardControls = "focus-visible:[--controls-opacity:1]";
2308
- var hoverableFocusedWithinControls = "focus-within:[--controls-opacity:1]";
2309
- var hoverableFocusedControls = "focus:[--controls-opacity:1]";
2310
- var hoverableOpenControlItem = "hover-hover:aria-[expanded=true]:[--controls-opacity:1]";
2311
- var hoverableControlItem = "opacity-[--controls-opacity]";
2312
- var hoverableControlItemTransition = "transition-opacity duration-200";
2313
- var staticHoverableControls = "hover-hover:[--controls-opacity:1]";
2314
-
2315
- // src/styles/fragments/layout.ts
2316
- var bounceLayout = "fixed inset-0 z-0 overflow-auto overscroll-auto";
2317
- var fixedInsetFlexLayout = "flex flex-col fixed inset-0 overflow-hidden overscroll-none";
2318
-
2319
- // src/styles/fragments/motion.ts
2320
- var popperMotion = "will-change-[opacity,transform] data-[side=top]:animate-slide-down-and-fade data-[side=right]:animate-slide-left-and-fade data-[side=bottom]:animate-slide-up-and-fade data-[side=left]:animate-slide-right-and-fade";
2321
-
2322
- // src/styles/fragments/ornament.ts
2323
- var separatorBorderColor = "border-separator";
2324
- var subduedSeparatorBorderColor = "border-subduedSeparator";
2325
- var inlineSeparator = "self-stretch border-ie mli-1";
2326
- var blockSeparator = "self-stretch border-be mlb-1";
2327
-
2328
- // src/styles/fragments/selected.ts
2329
- var ghostSelectedCurrent = [
2330
- ghostHover,
2331
- "aria-[current]:bg-inputSurface hover:aria-[current]:bg-hoverSurface",
2332
- "aria-selected:bg-primary-100 dark:aria-selected:bg-primary-850 hover:aria-selected:bg-primary-150 hover:dark:aria-selected:bg-primary-800",
2333
- "aria-[current]:aria-selected:bg-primary-200 dark:aria-[current]:aria-selected:bg-primary-750 hover:aria-[current]:aria-selected:bg-primary-200 hover:dark:aria-[current]:aria-selected:bg-primary-750"
2334
- ];
2335
- var ghostHighlighted = "data-[highlighted]:bg-primary-100 dark:data-[highlighted]:bg-primary-600 hover:data-[highlighted]:bg-primary-150 hover:dark:data-[highlighted]:bg-primary-500";
2336
- var ghostSelectedTrackingInterFromNormal = "tracking-[0.0092em]";
2337
- var ghostSelected = "aria-selected:bg-baseSurface aria-selected:text-accentText hover:aria-selected:text-accentTextHover aria-selected:font-semibold aria-selected:tracking-normal transition-[color,font-variation-settings,letter-spacing]";
2338
- var ghostSelectedContainerMd = "@md:aria-selected:bg-baseSurface @md:aria-selected:text-accentText @md:hover:aria-selected:text-accentTextHover @md:aria-selected:font-semibold @md:aria-selected:tracking-normal @md:transition-[color,font-variation-settings,letter-spacing]";
2339
- var staticGhostSelectedCurrent = ({ current, selected }) => [
2340
- current && selected ? "bg-primary-200 dark:bg-primary-750 hover:bg-primary-200 hover:dark:bg-primary-750" : current ? "bg-inputSurface hover:bg-hoverSurface" : selected ? "bg-primary-100 dark:bg-primary-850 hover:bg-primary-150 hover:dark:bg-primary-800" : ghostHover
2341
- ];
2342
- var staticGhostSelected = ({ selected }) => selected ? [
2343
- "bg-primary-200 dark:bg-primary-750"
2344
- ] : [];
2345
-
2346
- // src/styles/fragments/shimmer.ts
2347
- var shimmer = "relative before:absolute before:inset-0 before:-translate-x-full before:animate-shimmer before:bg-gradient-to-r before:from-transparent before:via-neutral-100/10 before:to-transparent isolate overflow-hidden";
2348
- var strongShimmer = "relative before:absolute before:inset-0 before:-translate-x-full before:animate-shimmer before:bg-gradient-to-r before:from-transparent before:via-primary-100/80 before:to-transparent isolate overflow-hidden";
2349
-
2350
- // src/styles/fragments/surface.ts
2351
- var baseSurface = "base-surface";
2352
- var sidebarSurface = "sidebar-surface backdrop-blur-md dark:backdrop-blur-lg";
2353
- var sidebarBorder = "border-separator";
2354
- var activeSurface = "base-surface";
2355
- var groupBorder = "border-separator";
2356
- var modalSurface = "modal-surface backdrop-blur-md";
2357
- var attentionSurface = "attention-surface";
2358
- var accentSurface = "bg-accentSurface text-accentSurfaceText";
2359
-
2360
- // src/styles/fragments/size.ts
2361
326
  var sizeWidthMap = /* @__PURE__ */ new Map([
2362
327
  [
2363
328
  0,
2364
- "is-0"
329
+ "w-0"
2365
330
  ],
2366
331
  [
2367
332
  "px",
2368
- "is-px"
333
+ "w-px"
2369
334
  ],
2370
335
  [
2371
336
  0.5,
2372
- "is-0.5"
337
+ "w-0.5"
2373
338
  ],
2374
339
  [
2375
340
  1,
2376
- "is-1"
341
+ "w-1"
2377
342
  ],
2378
343
  [
2379
344
  1.5,
2380
- "is-1.5"
345
+ "w-1.5"
2381
346
  ],
2382
347
  [
2383
348
  2,
2384
- "is-2"
349
+ "w-2"
2385
350
  ],
2386
351
  [
2387
352
  2.5,
2388
- "is-2.5"
353
+ "w-2.5"
2389
354
  ],
2390
355
  [
2391
356
  3,
2392
- "is-3"
357
+ "w-3"
2393
358
  ],
2394
359
  [
2395
360
  3.5,
2396
- "is-3.5"
361
+ "w-3.5"
2397
362
  ],
2398
363
  [
2399
364
  4,
2400
- "is-4"
365
+ "w-4"
2401
366
  ],
2402
367
  [
2403
368
  5,
2404
- "is-5"
369
+ "w-5"
2405
370
  ],
2406
371
  [
2407
372
  6,
2408
- "is-6"
373
+ "w-6"
2409
374
  ],
2410
375
  [
2411
376
  7,
2412
- "is-7"
377
+ "w-7"
2413
378
  ],
2414
379
  [
2415
380
  8,
2416
- "is-8"
381
+ "w-8"
2417
382
  ],
2418
383
  [
2419
384
  9,
2420
- "is-9"
385
+ "w-9"
2421
386
  ],
2422
387
  [
2423
388
  10,
2424
- "is-10"
389
+ "w-10"
2425
390
  ],
2426
391
  [
2427
392
  11,
2428
- "is-11"
393
+ "w-11"
2429
394
  ],
2430
395
  [
2431
396
  12,
2432
- "is-12"
397
+ "w-12"
2433
398
  ],
2434
399
  [
2435
400
  14,
2436
- "is-14"
401
+ "w-14"
2437
402
  ],
2438
403
  [
2439
404
  16,
2440
- "is-16"
405
+ "w-16"
2441
406
  ],
2442
407
  [
2443
408
  20,
2444
- "is-20"
409
+ "w-20"
2445
410
  ],
2446
411
  [
2447
412
  24,
2448
- "is-24"
413
+ "w-24"
2449
414
  ],
2450
415
  [
2451
416
  28,
2452
- "is-28"
417
+ "w-28"
2453
418
  ],
2454
419
  [
2455
420
  32,
2456
- "is-32"
421
+ "w-32"
2457
422
  ],
2458
423
  [
2459
424
  36,
2460
- "is-36"
425
+ "w-36"
2461
426
  ],
2462
427
  [
2463
428
  40,
2464
- "is-40"
429
+ "w-40"
2465
430
  ],
2466
431
  [
2467
432
  44,
2468
- "is-44"
433
+ "w-44"
2469
434
  ],
2470
435
  [
2471
436
  48,
2472
- "is-48"
437
+ "w-48"
2473
438
  ],
2474
439
  [
2475
440
  52,
2476
- "is-52"
441
+ "w-52"
2477
442
  ],
2478
443
  [
2479
444
  56,
2480
- "is-56"
445
+ "w-56"
2481
446
  ],
2482
447
  [
2483
448
  60,
2484
- "is-60"
449
+ "w-60"
2485
450
  ],
2486
451
  [
2487
452
  64,
2488
- "is-64"
453
+ "w-64"
2489
454
  ],
2490
455
  [
2491
456
  72,
2492
- "is-72"
457
+ "w-72"
2493
458
  ],
2494
459
  [
2495
460
  80,
2496
- "is-80"
461
+ "w-80"
2497
462
  ],
2498
463
  [
2499
464
  96,
2500
- "is-96"
465
+ "w-96"
2501
466
  ]
2502
467
  ]);
2503
468
  var sizeHeightMap = /* @__PURE__ */ new Map([
2504
469
  [
2505
470
  0,
2506
- "bs-0"
471
+ "h-0"
2507
472
  ],
2508
473
  [
2509
474
  "px",
2510
- "bs-px"
475
+ "h-px"
2511
476
  ],
2512
477
  [
2513
478
  0.5,
2514
- "bs-0.5"
479
+ "h-0.5"
2515
480
  ],
2516
481
  [
2517
482
  1,
2518
- "bs-1"
483
+ "h-1"
2519
484
  ],
2520
485
  [
2521
486
  1.5,
2522
- "bs-1.5"
487
+ "h-1.5"
2523
488
  ],
2524
489
  [
2525
490
  2,
2526
- "bs-2"
491
+ "h-2"
2527
492
  ],
2528
493
  [
2529
494
  2.5,
2530
- "bs-2.5"
495
+ "h-2.5"
2531
496
  ],
2532
497
  [
2533
498
  3,
2534
- "bs-3"
499
+ "h-3"
2535
500
  ],
2536
501
  [
2537
502
  3.5,
2538
- "bs-3.5"
503
+ "h-3.5"
2539
504
  ],
2540
505
  [
2541
506
  4,
2542
- "bs-4"
507
+ "h-4"
2543
508
  ],
2544
509
  [
2545
510
  5,
2546
- "bs-5"
511
+ "h-5"
2547
512
  ],
2548
513
  [
2549
514
  6,
2550
- "bs-6"
515
+ "h-6"
2551
516
  ],
2552
517
  [
2553
518
  7,
2554
- "bs-7"
519
+ "h-7"
2555
520
  ],
2556
521
  [
2557
522
  8,
2558
- "bs-8"
523
+ "h-8"
2559
524
  ],
2560
525
  [
2561
526
  9,
2562
- "bs-9"
527
+ "h-9"
2563
528
  ],
2564
529
  [
2565
530
  10,
2566
- "bs-10"
531
+ "h-10"
2567
532
  ],
2568
533
  [
2569
534
  11,
2570
- "bs-11"
535
+ "h-11"
2571
536
  ],
2572
537
  [
2573
538
  12,
2574
- "bs-12"
539
+ "h-12"
2575
540
  ],
2576
541
  [
2577
542
  14,
2578
- "bs-14"
543
+ "h-14"
2579
544
  ],
2580
545
  [
2581
546
  16,
2582
- "bs-16"
547
+ "h-16"
2583
548
  ],
2584
549
  [
2585
550
  20,
2586
- "bs-20"
551
+ "h-20"
2587
552
  ],
2588
553
  [
2589
554
  24,
2590
- "bs-24"
555
+ "h-24"
2591
556
  ],
2592
557
  [
2593
558
  28,
2594
- "bs-28"
559
+ "h-28"
2595
560
  ],
2596
561
  [
2597
562
  32,
2598
- "bs-32"
563
+ "h-32"
2599
564
  ],
2600
565
  [
2601
566
  36,
2602
- "bs-36"
567
+ "h-36"
2603
568
  ],
2604
569
  [
2605
570
  40,
2606
- "bs-40"
571
+ "h-40"
2607
572
  ],
2608
573
  [
2609
574
  44,
2610
- "bs-44"
575
+ "h-44"
2611
576
  ],
2612
577
  [
2613
578
  48,
2614
- "bs-48"
579
+ "h-48"
2615
580
  ],
2616
581
  [
2617
582
  52,
2618
- "bs-52"
583
+ "h-52"
2619
584
  ],
2620
585
  [
2621
586
  56,
2622
- "bs-56"
587
+ "h-56"
2623
588
  ],
2624
589
  [
2625
590
  60,
2626
- "bs-60"
591
+ "h-60"
2627
592
  ],
2628
593
  [
2629
594
  64,
2630
- "bs-64"
595
+ "h-64"
2631
596
  ],
2632
597
  [
2633
598
  72,
2634
- "bs-72"
599
+ "h-72"
2635
600
  ],
2636
601
  [
2637
602
  80,
2638
- "bs-80"
603
+ "h-80"
2639
604
  ],
2640
605
  [
2641
606
  96,
2642
- "bs-96"
607
+ "h-96"
2643
608
  ]
2644
609
  ]);
2645
610
  var sizes = new Set(sizeWidthMap.keys());
@@ -2673,67 +638,49 @@ var computeSize = (value, defaultSize) => {
2673
638
  };
2674
639
  var sizeValue = (size) => size === "px" ? 1 : size;
2675
640
 
2676
- // src/styles/fragments/text.ts
2677
- var placeholderText = "placeholder-neutral-300 dark:placeholder-neutral-500";
2678
- var staticPlaceholderText = "text-neutral-300 dark:text-neutral-500";
2679
- var descriptionText = "text-sm font-normal text-description";
2680
- var descriptionTextPrimary = "text-sm font-normal text-baseText";
2681
- var descriptionMessage = [
2682
- descriptionText,
2683
- "border border-dashed border-separator rounded p-4"
2684
- ];
2685
- var chromeText = "text-sm font-normal";
641
+ // src/fragments/text.ts
642
+ var descriptionTextPrimary = "text-sm font-normal text-base-surface-text";
643
+ var descriptionMessage = "text-description border border-dashed border-separator rounded-sm p-4";
2686
644
 
2687
- // src/styles/fragments/valence.ts
2688
- var successText = "text-xs font-medium text-successText";
2689
- var infoText = "text-xs font-medium text-infoText";
2690
- var warningText = "text-xs font-medium text-warningText";
2691
- var errorText = "text-xs font-medium text-errorText";
2692
- var valenceColorText = (valence) => {
645
+ // src/fragments/valence.ts
646
+ var textValence = (valence) => {
2693
647
  switch (valence) {
2694
648
  case "success":
2695
- return successText;
649
+ return "font-medium text-success-text";
2696
650
  case "info":
2697
- return infoText;
651
+ return "font-medium text-info-text";
2698
652
  case "warning":
2699
- return warningText;
653
+ return "font-medium text-warning-text";
2700
654
  case "error":
2701
- return errorText;
2702
- default:
2703
- return void 0;
655
+ return "font-medium text-error-text";
2704
656
  }
2705
657
  };
2706
- var neutralMessageColors = "border border-dashed border-separator text-subdued";
2707
- var successMessageColors = "text-successSurfaceText bg-successSurface";
2708
- var infoMessageColors = "text-infoSurfaceText bg-infoSurface";
2709
- var warningMessageColors = "text-warningSurfaceText bg-warningSurface";
2710
- var errorMessageColors = "text-errorSurfaceText bg-errorSurface";
2711
658
  var messageValence = (valence) => {
2712
659
  switch (valence) {
2713
660
  case "success":
2714
- return successMessageColors;
661
+ return "font-medium text-success-text border-success-text bg-success-surface";
2715
662
  case "info":
2716
- return infoMessageColors;
663
+ return "font-medium text-info-text border-info-text bg-info-surface";
2717
664
  case "warning":
2718
- return warningMessageColors;
665
+ return "font-medium text-warning-text border-warning-text bg-warning-surface";
2719
666
  case "error":
2720
- return errorMessageColors;
667
+ return "font-medium text-error-text border-error-text bg-error-surface";
2721
668
  default:
2722
- return neutralMessageColors;
669
+ return "font-medium text-neutral-text border-neutral-text bg-neutral-surface";
2723
670
  }
2724
671
  };
2725
672
 
2726
- // src/styles/components/avatar.ts
2727
- var avatarRoot = ({ size = 10, inGroup }, ...etc) => mx("relative inline-flex shrink-0", getSize(size), inGroup && (size === "px" || size <= 3 ? "-mie-1" : "-mie-2"), ...etc);
673
+ // src/theme/components/avatar.ts
674
+ var avatarRoot = ({ size = 10, inGroup }, ...etc) => mx("relative inline-flex shrink-0", getSize(size), inGroup && (size === "px" || size <= 3 ? "-mr-1" : "-mr-2"), ...etc);
2728
675
  var avatarLabel = ({ srOnly }, ...etc) => mx(srOnly && "sr-only", ...etc);
2729
- var avatarDescription = ({ srOnly }, ...etc) => mx(descriptionText, srOnly && "sr-only", ...etc);
2730
- var avatarFrame = ({ variant }, ...etc) => mx("is-full bs-full bg-[--surface-bg]", variant === "circle" ? "rounded-full" : "rounded", ...etc);
2731
- var avatarStatusIcon = ({ status, size = 3 }, ...etc) => mx("absolute block-end-0 inline-end-0", getSize(size), status === "inactive" ? "text-amber-350 dark:text-amber-250" : status === "active" ? "text-emerald-350 dark:text-emerald-250" : "text-neutral-350 dark:text-neutral-250", ...etc);
2732
- var avatarRing = ({ status, variant, animation }, ...etc) => mx("absolute inset-0 border-2", variant === "circle" ? "rounded-full" : "rounded", status === "current" ? "border-primary-400 dark:border-primary-500" : status === "active" ? "border-emerald-400 dark:border-emerald-400" : status === "error" ? "border-rose-400 dark:border-rose-500" : status === "warning" ? "border-amber-400 dark:border-amber-500" : status === "inactive" ? "border-separator" : status === "internal" ? "border-fuchsia-600" : "border-[color:var(--surface-bg)]", animation === "pulse" ? "animate-halo-pulse" : "", ...etc);
676
+ var avatarDescription = ({ srOnly }, ...etc) => mx("text-description", srOnly && "sr-only", ...etc);
677
+ var avatarFrame = ({ variant }, ...etc) => mx("w-full h-full bg-(--surface-bg)", variant === "circle" ? "rounded-full" : "rounded-sm", ...etc);
678
+ var avatarStatusIcon = ({ status, size = 3 }, ...etc) => mx("absolute bottom-0 end-0", getSize(size), status === "inactive" ? "text-amber-400 dark:text-amber-300" : status === "active" ? "text-emerald-400 dark:text-emerald-300" : "text-neutral-400 dark:text-neutral-300", ...etc);
679
+ var avatarRing = ({ status, variant, animation }, ...etc) => mx("absolute inset-0 border-2", variant === "circle" ? "rounded-full" : "rounded-sm", status === "current" ? "border-primary-400 dark:border-primary-500" : status === "active" ? "border-emerald-400 dark:border-emerald-400" : status === "error" ? "border-rose-400 dark:border-rose-500" : status === "warning" ? "border-amber-400 dark:border-amber-500" : status === "inactive" ? "border-separator" : status === "internal" ? "border-fuchsia-600" : "border-[color:var(--surface-bg)]", animation === "pulse" ? "animate-halo-pulse" : "", ...etc);
2733
680
  var avatarFallbackText = (_props, ...etc) => mx("fill-white", ...etc);
2734
681
  var avatarGroup = (_props, ...etc) => mx("inline-flex items-center", ...etc);
2735
- var avatarGroupLabel = ({ size, srOnly }, ...etc) => mx(srOnly ? "sr-only" : "rounded-full truncate text-sm leading-none plb-1 pli-2 relative z-[1] flex items-center justify-center", size && getSizeHeight(size), ...etc);
2736
- var avatarGroupDescription = ({ srOnly }, ...etc) => mx(srOnly ? "sr-only" : descriptionText, ...etc);
682
+ var avatarGroupLabel = ({ size, srOnly }, ...etc) => mx(srOnly ? "sr-only" : "rounded-full truncate text-sm leading-none py-1 px-2 relative z-[1] flex items-center justify-center", size && getSizeHeight(size), ...etc);
683
+ var avatarGroupDescription = ({ srOnly }, ...etc) => mx(srOnly ? "sr-only" : "text-description", ...etc);
2737
684
  var avatarTheme = {
2738
685
  root: avatarRoot,
2739
686
  label: avatarLabel,
@@ -2747,7 +694,7 @@ var avatarTheme = {
2747
694
  groupDescription: avatarGroupDescription
2748
695
  };
2749
696
 
2750
- // src/styles/components/breadcrumb.ts
697
+ // src/theme/components/breadcrumb.ts
2751
698
  var breadcrumbRoot = (_props, ...etc) => mx("shrink-0 flex items-center", ...etc);
2752
699
  var breadcrumbList = (_props, ...etc) => mx("contents", ...etc);
2753
700
  var breadcrumbListItem = (_props, ...etc) => mx("contents", ...etc);
@@ -2761,38 +708,70 @@ var breadcrumbTheme = {
2761
708
  separator: breadcrumbSeparator
2762
709
  };
2763
710
 
2764
- // src/styles/components/button.ts
2765
- var primaryButtonColors = "text-accentSurfaceText bg-accentSurface hover:bg-accentSurfaceHover aria-pressed:bg-primary-500 dark:aria-pressed:bg-primary-500 data-[state=open]:bg-primary-500 dark:data-[state=open]:bg-primary-500 aria-checked:bg-primary-500 dark:aria-checked:bg-primary-500 aria-checked:text-primary-100";
2766
- var staticDefaultButtonColors = "bg-inputSurface";
2767
- var defaultButtonColors = mx(staticDefaultButtonColors, "data-[state=open]:bg-inputSurface aria-pressed:text-accentText aria-pressed:bg-baseSurface aria-checked:text-accentText aria-checked:bg-baseSurface");
2768
- var ghostButtonColors = mx(ghostHover, "hover:text-inherit data-[state=open]:bg-inputSurface aria-pressed:text-accentText aria-pressed:bg-baseSurface aria-checked:text-accentText aria-checked:bg-baseSurface");
711
+ // src/theme/components/card.ts
712
+ var cardRoot = ({ border, fullWidth }, ...etc) => mx("dx-card group/card relative flex flex-col w-full min-h-(--dx-rail-item) dx-card-min-width overflow-hidden", border && "bg-card-surface border border-separator dark:border-subdued-separator rounded-xs dx-focus-ring-group-y-indicator", fullWidth && "max-w-none!", ...etc);
713
+ var cardToolbar = (_, ...etc) => mx("dx-card__toolbar dx-density-fine bg-transparent p-0! gap-0! col-span-3 grid! grid-cols-subgrid! [contain:none]", ...etc);
714
+ var cardTitle = (_props, ...etc) => mx("dx-card__title grow truncate", ...etc);
715
+ var cardContent = (_props, ...etc) => mx("dx-card__content contents [&>:last-child]:pb-1", ...etc);
716
+ var cardHeading = ({ variant = "default" }, ...etc) => mx("dx-card__heading", variant === "default" && "py-1", variant === "subtitle" && "py-2 text-xs text-description font-medium uppercase", ...etc);
717
+ var cardText = ({ variant = "default", truncate: _truncate }, ...etc) => mx("dx-card__text flex overflow-hidden", variant === "default" && "py-1", variant === "description" && "py-1.5", ...etc);
718
+ var cardTextSpan = ({ variant = "default", truncate }, ...etc) => mx(variant === "description" && "text-sm text-description line-clamp-3", truncate && "truncate", ...etc);
719
+ var cardPoster = (_props, ...etc) => mx("dx-card__poster col-span-3 max-h-[200px]", ...etc);
720
+ var cardPosterIcon = (_props, ...etc) => mx("dx-card__poster-icon col-span-3 grid place-items-center bg-input-surface text-subdued max-h-[200px]", ...etc);
721
+ var cardAction = (_props, ...etc) => mx("dx-card__acztion col-span-3 !grid grid-cols-subgrid p-0! w-full text-start overflow-hidden", ...etc);
722
+ var cardActionLabel = (_props, ...etc) => mx("dx-card__action-label min-w-0 flex-1 truncate", ...etc);
723
+ var cardLink = (_props, ...etc) => mx("dx-card__link col-span-3 !grid grid-cols-subgrid group p-0! dx-button dx-focus-ring min-h-1!", ...etc);
724
+ var cardLinkLabel = (_props, ...etc) => mx("dx-card__link-label min-w-0 flex-1 truncate", ...etc);
725
+ var cardIconBlock = (_props, ...etc) => mx("dx-card__icon-block grid h-[var(--dx-rail-item)] w-[var(--dx-rail-item)] place-items-center [&>*]:p-1", ...etc);
726
+ var cardTheme = {
727
+ root: cardRoot,
728
+ toolbar: cardToolbar,
729
+ title: cardTitle,
730
+ content: cardContent,
731
+ heading: cardHeading,
732
+ text: cardText,
733
+ "text-span": cardTextSpan,
734
+ poster: cardPoster,
735
+ "poster-icon": cardPosterIcon,
736
+ action: cardAction,
737
+ "action-label": cardActionLabel,
738
+ link: cardLink,
739
+ "link-label": cardLinkLabel,
740
+ "icon-block": cardIconBlock
741
+ };
742
+
743
+ // src/theme/components/button.ts
744
+ var primaryButtonColors = "text-accent-surface-text bg-accent-surface hover:bg-accent-surface-hover aria-pressed:bg-primary-500 dark:aria-pressed:bg-primary-500 data-[state=open]:bg-primary-500 dark:data-[state=open]:bg-primary-500 aria-checked:bg-primary-500 dark:aria-checked:bg-primary-500 aria-checked:text-primary-100";
745
+ var staticDefaultButtonColors = "bg-input-surface text-input-surface-text";
746
+ var defaultButtonColors = mx(staticDefaultButtonColors, "data-[state=open]:bg-input-surface aria-pressed:text-accent-text aria-pressed:bg-base-surface aria-checked:text-accent-text aria-checked:bg-base-surface");
747
+ var ghostButtonColors = mx(ghostHover, "hover:text-inherit data-[state=open]:bg-input-surface aria-pressed:text-accent-text aria-pressed:bg-base-surface aria-checked:text-accent-text aria-checked:bg-base-surface");
2769
748
  var buttonRoot = (_props, ...etc) => {
2770
- return mx("dx-button dx-focus-ring group max-is-full [&_span]:truncate", ...etc);
749
+ return mx("dx-button dx-focus-ring group [&_span]:truncate", ...etc);
2771
750
  };
2772
751
  var buttonGroup = (_props, ...etc) => {
2773
- return mx("inline-flex rounded-sm [&>:first-child]:rounded-is-sm [&>:last-child]:rounded-ie-sm [&>button]:relative", ...etc);
752
+ return mx("inline-flex rounded-xs [&>:first-child]:rounded-w-sm [&>:last-child]:rounded-ie-sm [&>button]:relative", ...etc);
2774
753
  };
2775
754
  var buttonTheme = {
2776
755
  root: buttonRoot,
2777
756
  group: buttonGroup
2778
757
  };
2779
758
 
2780
- // src/styles/components/dialog.ts
759
+ // src/theme/components/dialog.ts
2781
760
  var sizeMap = {
2782
- sm: "md:!max-is-[24rem]",
2783
- md: "md:!max-is-[32rem]",
2784
- lg: "md:!max-is-[40rem]",
2785
- xl: "md:!max-is-[60rem]"
761
+ sm: "md:max-w-[24rem]",
762
+ md: "md:max-w-[32rem]!",
763
+ lg: "md:max-w-[40rem]!",
764
+ xl: "md:max-w-[60rem]!"
2786
765
  };
2787
766
  var dialogOverlay = (_props, ...etc) => mx("dx-dialog__overlay", ...etc);
2788
- var dialogContent = ({ inOverlayLayout, size }, ...etc) => {
2789
- return mx("@container dx-dialog__content dx-focus-ring modal-surface density-coarse is-full gap-4", !inOverlayLayout && "fixed z-50 top-[50%] left-[50%] -translate-x-[50%] -translate-y-[50%]", size && sizeMap[size], ...etc);
767
+ var dialogContent = ({ inOverlayLayout, size = "md" }, ...etc) => {
768
+ return mx("@container", "dx-dialog__content dx-focus-ring dx-modal-surface dx-density-coarse py-4", !inOverlayLayout && "fixed z-50 top-[50%] left-[50%] -translate-x-[50%] -translate-y-[50%]", sizeMap[size], ...etc);
2790
769
  };
2791
- var dialogHeader = (_props, ...etc) => mx("dx-dialog__header flex items-center justify-between", ...etc);
2792
- var dialogBody = (_props, ...etc) => mx("dx-dialog__body flex flex-col gap-4 bs-full overflow-hidden", ...etc);
2793
- var dialogActionBar = (_props, ...etc) => mx("dx-dialog__actionbar flex items-center density-coarse", ...etc);
770
+ var dialogHeader = (_props, ...etc) => mx("dx-dialog__header flex pb-4 items-center justify-between", ...etc);
771
+ var dialogBody = (_props, ...etc) => mx("dx-dialog__body flex flex-col h-full py-2 gap-2", ...etc);
772
+ var dialogActionBar = (_props, ...etc) => mx("dx-dialog__actionbar flex items-center pt-4 gap-2 dx-density-coarse", ...etc);
2794
773
  var dialogTitle = ({ srOnly }, ...etc) => mx("dx-dialog__title", srOnly && "sr-only", ...etc);
2795
- var dialogDescription = ({ srOnly }, ...etc) => mx("dx-dialog__description", descriptionText, srOnly && "sr-only", ...etc);
774
+ var dialogDescription = ({ srOnly }, ...etc) => mx("dx-dialog__description", "text-description", srOnly && "sr-only", ...etc);
2796
775
  var dialogTheme = {
2797
776
  overlay: dialogOverlay,
2798
777
  content: dialogContent,
@@ -2803,70 +782,67 @@ var dialogTheme = {
2803
782
  description: dialogDescription
2804
783
  };
2805
784
 
2806
- // src/styles/components/icon.ts
2807
- var iconRoot = ({ size }, etc) => mx("shrink-0 bs-[1em] is-[1em] text-[var(--icons-color,currentColor)]", size && getSize(size), etc);
785
+ // src/theme/components/icon.ts
786
+ var iconRoot = ({ size }, etc) => mx("shrink-0 text-[var(--icons-color,currentColor)]", size ? getSize(size) : "[width:var(--icon-size,1em)] [height:var(--icon-size,1em)]", etc);
2808
787
  var iconTheme = {
2809
788
  root: iconRoot
2810
789
  };
2811
790
 
2812
- // src/styles/components/icon-button.ts
791
+ // src/theme/components/icon-button.ts
2813
792
  var iconButtonRoot = ({ iconOnly }, ...etc) => {
2814
- return mx("gap-2", iconOnly && "p-iconButtonPadding min-bs-0", ...etc);
793
+ return mx("gap-2", iconOnly && "p-icon-button-padding min-h-0", ...etc);
2815
794
  };
2816
795
  var iconButtonTheme = {
2817
796
  root: iconButtonRoot
2818
797
  };
2819
798
 
2820
- // src/styles/components/input.ts
2821
- var neutralInputValence = "";
2822
- var successInputValence = "shadow-emerald-500/50 dark:shadow-emerald-600/50";
2823
- var infoInputValence = "shadow-cyan-500/50 dark:shadow-cyan-600/50";
2824
- var warningInputValence = "shadow-amber-500/50 dark:shadow-amber-600/50";
2825
- var errorInputValence = "shadow-rose-500/50 dark:shadow-rose-600/50";
2826
- var textInputSurfaceFocus = "transition-colors bg-textInputSurface focus:bg-focusSurface border border-separator focus:border-separator";
2827
- var textInputSurfaceHover = "hover:bg-textInputSurface focus:hover:bg-focusSurface";
2828
- var booleanInputSurface = "shadow-inner transition-colors bg-unAccent aria-checked:bg-accentSurface aria-[checked=mixed]:bg-accentSurface";
2829
- var booleanInputSurfaceHover = "hover:bg-unAccentHover hover:aria-checked:bg-accentSurfaceHover hover:aria-[checked=mixed]:bg-accentSurfaceHover";
2830
- var inputTextLabel = "text-description text-xs font-medium mbs-inputSpacingBlock mbe-labelSpacingBlock first:mbs-0";
799
+ // src/theme/components/input.ts
800
+ var inputTextLabel = "py-1 text-sm text-description";
801
+ var textInputSurfaceFocus = "transition-colors bg-input-surface focus:bg-focus-surface border border-separator focus:border-separator";
802
+ var textInputSurfaceHover = "hover:bg-focus-surface";
803
+ var booleanInputSurface = "shadow-inner transition-colors bg-un-accent aria-checked:bg-accent-surface aria-[checked=mixed]:bg-accent-surface";
804
+ var booleanInputSurfaceHover = "hover:bg-un-accent-hover hover:aria-checked:bg-accent-surface-hover hover:aria-[checked=mixed]:bg-accent-surface-hover";
2831
805
  var inputValence = (valence) => {
2832
806
  switch (valence) {
2833
807
  case "success":
2834
- return successInputValence;
808
+ return "shadow-emerald-500/50 dark:shadow-emerald-600/50";
2835
809
  case "info":
2836
- return infoInputValence;
810
+ return "shadow-cyan-500/50 dark:shadow-cyan-600/50";
2837
811
  case "warning":
2838
- return warningInputValence;
812
+ return "shadow-amber-500/50 dark:shadow-amber-600/50";
2839
813
  case "error":
2840
- return errorInputValence;
2841
- default:
2842
- return null;
814
+ return "shadow-rose-500/50 dark:shadow-rose-600/50";
2843
815
  }
2844
816
  };
2845
817
  var sharedSubduedInputStyles = (props) => [
2846
- 'plb-0 is-full bg-transparent text-current [[data-drag-autoscroll="active"]_&]:pointer-events-none',
818
+ "py-0 w-full bg-transparent text-current placeholder-placeholder",
819
+ '[[data-drag-autoscroll="active"]_&]:pointer-events-none',
2847
820
  props.density === "fine" ? fineBlockSize : coarseBlockSize,
2848
- placeholderText,
2849
821
  subduedFocus,
2850
822
  props.disabled && staticDisabled
2851
823
  ];
2852
824
  var sharedDefaultInputStyles = (props) => [
2853
- 'plb-0 is-full text-baseText rounded-sm text-[color:var(--surface-text)] [[data-drag-autoscroll="active"]_&]:pointer-events-none',
825
+ "py-0 w-full text-base-surface-text rounded-xs placeholder-placeholder",
826
+ '[[data-drag-autoscroll="active"]_&]:pointer-events-none',
2854
827
  textInputSurfaceFocus,
2855
- placeholderText,
2856
828
  props.density === "fine" ? fineDimensions : coarseDimensions,
2857
829
  props.disabled ? staticDisabled : textInputSurfaceHover
2858
830
  ];
2859
831
  var sharedStaticInputStyles = (props) => [
2860
- 'plb-0 is-full text-baseText rounded-sm text-[color:var(--surface-text)] [[data-drag-autoscroll="active"]_&]:pointer-events-none',
832
+ "py-0 w-full text-base-surface-text rounded-xs placeholder-placeholder",
833
+ '[[data-drag-autoscroll="active"]_&]:pointer-events-none',
2861
834
  textInputSurfaceFocus,
2862
835
  textInputSurfaceHover,
2863
- props.focused && "bg-attention",
2864
- placeholderText,
836
+ props.focused && "bg-attention-surface",
2865
837
  inputValence(props.validationValence),
2866
838
  props.disabled && staticDisabled,
2867
839
  props.focused && staticFocusRing
2868
840
  ];
2869
- var inputInput = (props, ...etc) => props.variant === "subdued" ? mx(...sharedSubduedInputStyles(props), ...etc) : props.variant === "static" ? mx(...sharedStaticInputStyles(props), ...etc) : mx(...sharedDefaultInputStyles(props), !props.disabled && focusRing, inputValence(props.validationValence) || neutralInputValence, ...etc);
841
+ var inputInput = (props, ...etc) => props.variant === "subdued" ? mx(...sharedSubduedInputStyles(props), ...etc) : props.variant === "static" ? mx(...sharedStaticInputStyles(props), ...etc) : mx(...sharedDefaultInputStyles(props), !props.disabled && focusRing, inputValence(props.validationValence), ...etc);
842
+ var inputTextArea = (props, ...etc) => inputInput(props, ...[
843
+ "-mb-1.5",
844
+ ...etc
845
+ ]);
2870
846
  var inputCheckbox = ({ size = 5 }, ...etc) => mx("dx-checkbox dx-focus-ring", getSize(size), ...etc);
2871
847
  var inputCheckboxIndicator = ({ size = 5, checked }, ...etc) => mx(getSize(computeSize(sizeValue(size) * 0.65, 4)), !checked && "invisible", ...etc);
2872
848
  var inputSwitch = ({ size = 5, disabled }, ...etc) => mx(
@@ -2875,42 +851,45 @@ var inputSwitch = ({ size = 5, disabled }, ...etc) => mx(
2875
851
  booleanInputSurface,
2876
852
  !disabled && booleanInputSurfaceHover,
2877
853
  // TODO(burdon): Added m-1 margin to make 40px width to align with 40px icon button.
2878
- "cursor-pointer shrink-0 rounded-full pli-1 mx-1 relative",
854
+ "cursor-pointer shrink-0 rounded-full px-1 mx-1 relative",
2879
855
  focusRing,
2880
856
  ...etc
2881
857
  );
2882
858
  var inputSwitchThumb = ({ size = 5 }, ...etc) => mx(getSize(size === "px" ? "px" : size - 2), "block bg-white rounded-full transition-transform duration-100 will-change-transform data-[state=checked]:translate-x-[100%]", ...etc);
2883
- var inputWithSegmentsInput = (props, ...etc) => mx("font-mono selection:bg-transparent mli-auto", props.disabled && "cursor-not-allowed", ...etc);
859
+ var inputWithSegmentsInput = (props, ...etc) => mx("font-mono selection:bg-transparent mx-auto", props.density === "fine" ? "text-base pointer-fine:text-sm" : "text-lg", props.disabled && "cursor-not-allowed", ...etc);
860
+ var inputSegment = (props, ...etc) => mx("flex items-center justify-center font-mono", props.density === "fine" ? "size-10 pointer-fine:size-8 rounded-xs" : "size-12 rounded-xs", "bg-input-surface text-base-surface-text transition-colors border border-separator", "data-[focused]:bg-attention-surface data-[focused]:border-neutral-focus-indicator", "data-[focused]:ring-2 data-[focused]:ring-offset-0 data-[focused]:ring-neutral-focus-indicator", inputValence(props.validationValence), props.disabled && staticDisabled, ...etc);
2884
861
  var inputLabel = (props, ...etc) => mx("block", inputTextLabel, props.srOnly && "sr-only", ...etc);
2885
- var inputDescription = (props, ...etc) => mx(descriptionText, props.srOnly && "sr-only", ...etc);
2886
- var inputDescriptionAndValidation = (props, ...etc) => mx("leading-none mlb-labelSpacingBlock", props.srOnly && "sr-only", ...etc);
2887
- var inputValidation = (props, ...etc) => mx(descriptionText, props.srOnly ? "sr-only" : valenceColorText(props.validationValence), ...etc);
862
+ var inputDescription = (props, ...etc) => mx("text-description", props.srOnly && "sr-only", ...etc);
863
+ var inputDescriptionAndValidation = (props, ...etc) => mx("leading-none my-1.5", props.srOnly && "sr-only", ...etc);
864
+ var inputValidation = (props, ...etc) => mx(inputTextLabel, props.srOnly ? "sr-only" : textValence(props.validationValence), ...etc);
2888
865
  var inputTheme = {
2889
866
  input: inputInput,
867
+ textArea: inputTextArea,
2890
868
  inputWithSegments: inputWithSegmentsInput,
869
+ segment: inputSegment,
2891
870
  checkbox: inputCheckbox,
2892
871
  checkboxIndicator: inputCheckboxIndicator,
2893
872
  label: inputLabel,
2894
873
  description: inputDescription,
2895
- validation: inputValidation,
2896
874
  switch: inputSwitch,
2897
875
  switchThumb: inputSwitchThumb,
876
+ validation: inputValidation,
2898
877
  descriptionAndValidation: inputDescriptionAndValidation
2899
878
  };
2900
879
 
2901
- // src/styles/components/link.ts
2902
- var linkRoot = ({ variant }, ...etc) => mx("underline decoration-1 underline-offset-2 transition-color rounded-sm", variant === "neutral" ? "text-inherit hover:opacity-90 visited:text-inherit visited:hover:opacity-90" : "text-accentText hover:text-accentTextHover visited:text-accentText visited:hover:text-accentTextHover", focusRing, ...etc);
880
+ // src/theme/components/link.ts
881
+ var linkRoot = ({ variant }, ...etc) => mx("underline decoration-1 underline-offset-2 transition-color rounded-xs", variant === "neutral" ? "text-inherit hover:opacity-90 visited:text-inherit visited:hover:opacity-90" : "text-accent-text hover:text-accent-text-hover visited:text-accent-text visited:hover:text-accent-text-hover", focusRing, ...etc);
2903
882
  var linkTheme = {
2904
883
  root: linkRoot
2905
884
  };
2906
885
 
2907
- // src/styles/components/list.ts
886
+ // src/theme/components/list.ts
2908
887
  var listRoot = (_, ...etc) => mx(...etc);
2909
888
  var listItem = ({ collapsible }, ...etc) => mx(!collapsible && "flex", ...etc);
2910
889
  var listItemEndcap = ({ density }, ...etc) => mx(density === "fine" ? getSize(8) : getSize(10), "shrink-0 flex items-center justify-center", ...etc);
2911
890
  var listItemHeading = ({ density }, ...etc) => mx(densityBlockSize(density), "flex items-center", ...etc);
2912
- var listItemDragHandleIcon = (_props, ...etc) => mx(getSize(5), "mbs-2.5", ...etc);
2913
- var listItemOpenTrigger = ({ density }, ...etc) => mx("is-5 rounded flex justify-center items-center", densityBlockSize(density), ghostHover, focusRing, ...etc);
891
+ var listItemDragHandleIcon = (_props, ...etc) => mx(getSize(5), "mt-2.5", ...etc);
892
+ var listItemOpenTrigger = ({ density }, ...etc) => mx("w-5 rounded-sm flex justify-center items-center", densityBlockSize(density), ghostHover, focusRing, ...etc);
2914
893
  var listItemOpenTriggerIcon = (_props, ...etc) => {
2915
894
  return mx(getSize(5), ...etc);
2916
895
  };
@@ -2926,9 +905,9 @@ var listTheme = {
2926
905
  }
2927
906
  };
2928
907
 
2929
- // src/styles/components/main.ts
2930
- var topbarBlockPaddingStart = "pbs-[--topbar-size] sticky-top-from-topbar-bottom";
2931
- var bottombarBlockPaddingEnd = "pbe-[--statusbar-size] sticky-bottom-from-statusbar-bottom";
908
+ // src/theme/components/main.ts
909
+ var topbarBlockPaddingStart = "py-(--dx-topbar-size) dx-sticky-top-from-topbar-bottom";
910
+ var bottombarBlockPaddingEnd = "pb-(--dx-statusbar-size) dx-sticky-bottom-from-statusbar-bottom";
2932
911
  var mainPadding = "dx-main-content-padding";
2933
912
  var mainPaddingTransitions = "dx-main-content-padding-transitions";
2934
913
  var mainIntrinsicSize = "dx-main-intrinsic-size";
@@ -2941,23 +920,17 @@ var mainTheme = {
2941
920
  overlay: mainOverlay
2942
921
  };
2943
922
 
2944
- // src/styles/components/menu.ts
2945
- var menuViewport = (_props, ...etc) => mx("rounded p-1 max-bs-[--radix-dropdown-menu-content-available-height] overflow-y-auto", ...etc);
2946
- var menuContent = ({ elevation }, ...etc) => mx(
2947
- "is-48 rounded md:is-56 border border-separator",
2948
- surfaceZIndex({
2949
- elevation,
2950
- level: "menu"
2951
- }),
2952
- surfaceShadow({
2953
- elevation: "positioned"
2954
- }),
2955
- modalSurface,
2956
- ...etc
2957
- );
2958
- var menuItem = (_props, ...etc) => mx("flex cursor-pointer select-none items-center gap-2 rounded-sm pli-2 plb-2 text-sm", "data-[highlighted]:bg-hoverSurface", subduedFocus, dataDisabled, ...etc);
2959
- var menuSeparator = (_props, ...etc) => mx("mlb-1 mli-2 bs-px bg-separator", ...etc);
2960
- var menuGroupLabel = (_props, ...etc) => mx(descriptionText, "select-none pli-2 plb-2", ...etc);
923
+ // src/theme/components/menu.ts
924
+ var menuContent = ({ elevation }, ...etc) => mx("dx-modal-surface w-48 rounded-sm md:w-56 border border-separator", surfaceZIndex({
925
+ elevation,
926
+ level: "menu"
927
+ }), surfaceShadow({
928
+ elevation: "positioned"
929
+ }), ...etc);
930
+ var menuViewport = (_props, ...etc) => mx("rounded-sm p-1 max-h-[var(--radix-dropdown-menu-content-available-height)] overflow-y-auto", ...etc);
931
+ var menuItem = (_props, ...etc) => mx("flex cursor-pointer select-none items-center gap-2 rounded-xs px-2 py-2 text-sm", "data-[highlighted]:bg-hover-surface", subduedFocus, dataDisabled, ...etc);
932
+ var menuSeparator = (_props, ...etc) => mx("my-1 mx-2 h-px bg-separator", ...etc);
933
+ var menuGroupLabel = (_props, ...etc) => mx("text-description", "select-none px-2 py-2", ...etc);
2961
934
  var menuArrow = (_props, ...etc) => mx("fill-separator", ...etc);
2962
935
  var menuTheme = {
2963
936
  content: menuContent,
@@ -2968,34 +941,45 @@ var menuTheme = {
2968
941
  arrow: menuArrow
2969
942
  };
2970
943
 
2971
- // src/styles/components/message.ts
944
+ // src/theme/components/message.ts
2972
945
  var messageRoot = ({ valence }, etc) => {
2973
- return mx("p-trimSm rounded-md", messageValence(valence), etc);
946
+ return mx("grid grid-cols-[min-content_1fr] gap-x-2 p-trim-sm rounded-sm", messageValence(valence), etc);
947
+ };
948
+ var messageHeader = (_, etc) => {
949
+ return mx("col-span-2 grid grid-cols-subgrid items-center", etc);
2974
950
  };
2975
951
  var messageTitle = (_, etc) => {
2976
- return mx("font-medium flex gap-trimSm", etc);
952
+ return mx("col-start-2 text-lg gap-trim-sm [&>svg]:inline-block", etc);
2977
953
  };
2978
954
  var messageIcon = (_, etc) => {
2979
- return mx("flex bs-[1lh] items-center", etc);
955
+ return mx("col-start-1", etc);
2980
956
  };
2981
957
  var messageContent = (_, etc) => {
2982
- return mx("first:font-medium", etc);
958
+ return mx("grid grid-cols-subgrid col-start-2 first:font-medium", etc);
2983
959
  };
2984
960
  var messageTheme = {
2985
961
  root: messageRoot,
2986
- content: messageContent,
962
+ header: messageHeader,
2987
963
  icon: messageIcon,
2988
- title: messageTitle
964
+ title: messageTitle,
965
+ content: messageContent
2989
966
  };
2990
967
 
2991
- // src/styles/components/popover.ts
2992
- var popoverViewport = ({ constrainBlock, constrainInline }, ...etc) => mx("flex flex-col rounded-md", constrainBlock && "max-bs-[--radix-popover-content-available-height] overflow-hidden", constrainInline && "max-is-[--radix-popover-content-available-width] overflow-hidden", ...etc);
2993
- var popoverContent = ({ elevation }, ...etc) => mx("border border-separator rounded-md", modalSurface, surfaceShadow({
968
+ // src/theme/components/popover.ts
969
+ var popoverContent = ({ elevation }, ...etc) => mx("dx-modal-surface border border-separator rounded-sm", surfaceShadow({
2994
970
  elevation: "positioned"
2995
971
  }), surfaceZIndex({
2996
972
  elevation,
2997
973
  level: "menu"
2998
974
  }), focusRing, ...etc);
975
+ var popoverViewport = ({ constrainBlock, constrainInline }, ...etc) => mx(
976
+ "flex flex-col min-h-0 min-w-popover-min-width",
977
+ (constrainBlock || constrainInline) && "overflow-hidden",
978
+ // Ensures it respects available height from Radix (or 100dvh).
979
+ constrainBlock && "max-h-[min(var(--radix-popover-content-available-height),calc(100dvh-var(--spacing-screen-border)*2))]",
980
+ constrainInline && "max-w-(--radix-popover-content-available-width)",
981
+ ...etc
982
+ );
2999
983
  var popoverArrow = (_props, ...etc) => mx("fill-separator", ...etc);
3000
984
  var popoverTheme = {
3001
985
  content: popoverContent,
@@ -3003,60 +987,49 @@ var popoverTheme = {
3003
987
  arrow: popoverArrow
3004
988
  };
3005
989
 
3006
- // src/styles/components/scroll-area.ts
990
+ // src/theme/components/scroll-area.ts
3007
991
  var scrollAreaRoot = ({ orientation, margin, thin }, ...etc) => mx(
3008
992
  "overflow-hidden",
3009
- orientation === "vertical" && "group/scroll-v bs-full is-full min-bs-0",
3010
- orientation === "horizontal" && "group/scroll-h bs-full is-full min-is-0",
3011
- orientation === "all" && "group/scroll-all bs-full is-full min-bs-0 min-is-0",
3012
- // Balance left/right, top/bottom "margin" with scrollbar.
993
+ orientation === "vertical" && "group/scroll-v dx-container",
994
+ orientation === "horizontal" && "group/scroll-h dx-container",
995
+ orientation === "all" && "group/scroll-all dx-container",
996
+ // TODO(burdon): Audit composition.
997
+ // Apply col-span-full only when inside a Column.Root grid (detected via dx-column marker).
998
+ "[.dx-column_&]:col-span-full",
999
+ // NOTE: Uses --gutter CSS variable
1000
+ // If contained within Column.Root grid, the gutter is set by that component.
3013
1001
  margin && [
3014
- orientation === "vertical" && (thin ? "pis-[4px]" : "pis-[8px]"),
3015
- orientation === "horizontal" && (thin ? "pbs-[4px]" : "pbs-[8px]"),
3016
- orientation === "all" && (thin ? "pis-[4px] pbs-[8px]" : "pis-[8px] pbs-[8px]")
3017
- ],
3018
- ...etc
3019
- );
3020
- var scrollAreaViewport = ({ orientation, autoHide, padding: padding2, snap, thin }, ...etc) => mx(
3021
- "bs-full is-full",
3022
- orientation === "vertical" && "flex flex-col overflow-y-scroll",
3023
- orientation === "horizontal" && "flex overflow-x-scroll",
3024
- orientation === "all" && "overflow-scroll",
3025
- thin ? "[&::-webkit-scrollbar]:is-[4px] [&::-webkit-scrollbar]:bs-[4px]" : "[&::-webkit-scrollbar]:is-[8px] [&::-webkit-scrollbar]:bs-[8px]",
3026
- // '[&::-webkit-scrollbar-thumb]:rounded-full',
3027
- "[&::-webkit-scrollbar-thumb]:bg-transparent",
3028
- "[&::-webkit-scrollbar-corner]:bg-transparent",
3029
- // TODO(burdon): Define token.
3030
- autoHide ? [
3031
- orientation === "vertical" && "group-hover/scroll-v:[&::-webkit-scrollbar-thumb]:bg-subduedSeparator",
3032
- orientation === "horizontal" && "group-hover/scroll-h:[&::-webkit-scrollbar-thumb]:bg-subduedSeparator",
3033
- orientation === "all" && "group-hover/scroll-all:[&::-webkit-scrollbar-thumb]:bg-subduedSeparator"
3034
- ] : [
3035
- orientation === "vertical" && "[&::-webkit-scrollbar-thumb]:bg-subduedSeparator",
3036
- orientation === "horizontal" && "[&::-webkit-scrollbar-thumb]:bg-subduedSeparator",
3037
- orientation === "all" && "[&::-webkit-scrollbar-thumb]:bg-subduedSeparator"
3038
- ],
3039
- // TODO(burdon): Are scrollbars reserved on native devices?
3040
- padding2 && [
3041
- orientation === "vertical" && "pli-[4px]",
3042
- orientation === "horizontal" && "pbe-[4px]",
3043
- orientation === "all" && "pis-[4px] pbe-[4px]"
3044
- ],
3045
- snap && [
3046
- orientation === "vertical" && "snap-y snap-mandatory",
3047
- orientation === "horizontal" && "snap-x snap-mandatory",
3048
- orientation === "all" && "snap-both snap-mandatory"
1002
+ orientation === "vertical" && (thin ? "pl-[var(--gutter,4px)] pr-[calc(var(--gutter,4px)-4px)]" : "pl-[var(--gutter,8px)] pr-[calc(var(--gutter,8px)-8px)]"),
1003
+ orientation === "horizontal" && (thin ? "py-[var(--gutter,4px)]" : "py-[var(--gutter,8px)]"),
1004
+ orientation === "all" && (thin ? "pl-[var(--gutter,4px)] py-[var(--gutter,8px)]" : "pl-[var(--gutter,8px)] py-[var(--gutter,8px)]")
3049
1005
  ],
3050
1006
  ...etc
3051
1007
  );
1008
+ var scrollAreaViewport = ({ orientation, autoHide, padding, snap, thin }, ...etc) => mx("h-full w-full", orientation === "vertical" && "flex flex-col overflow-y-scroll", orientation === "horizontal" && "flex overflow-x-scroll", orientation === "all" && "overflow-scroll", thin ? "[&::-webkit-scrollbar]:w-[4px] [&::-webkit-scrollbar]:h-[4px]" : "[&::-webkit-scrollbar]:w-[8px] [&::-webkit-scrollbar]:h-[8px]", "[&::-webkit-scrollbar-corner]:bg-transparent", "[&::-webkit-scrollbar-track]:bg-transparent", "[&::-webkit-scrollbar-thumb]:rounded-none", autoHide ? [
1009
+ orientation === "vertical" && "group-hover/scroll-v:[&::-webkit-scrollbar-thumb]:bg-scrollbar-thumb",
1010
+ orientation === "horizontal" && "group-hover/scroll-h:[&::-webkit-scrollbar-thumb]:bg-scrollbar-thumb",
1011
+ orientation === "all" && "group-hover/scroll-all:[&::-webkit-scrollbar-thumb]:bg-scrollbar-thumb"
1012
+ ] : [
1013
+ orientation === "vertical" && "[&::-webkit-scrollbar-thumb]:bg-scrollbar-thumb",
1014
+ orientation === "horizontal" && "[&::-webkit-scrollbar-thumb]:bg-scrollbar-thumb",
1015
+ orientation === "all" && "[&::-webkit-scrollbar-thumb]:bg-scrollbar-thumb"
1016
+ ], padding && [
1017
+ orientation === "vertical" && "px-[4px]",
1018
+ orientation === "horizontal" && "pb-[4px]",
1019
+ orientation === "all" && "pl-[4px] pb-[4px]"
1020
+ ], snap && [
1021
+ orientation === "vertical" && "snap-y snap-mandatory",
1022
+ orientation === "horizontal" && "snap-x snap-mandatory",
1023
+ orientation === "all" && "snap-both snap-mandatory"
1024
+ ], ...etc);
3052
1025
  var scrollAreaTheme = {
3053
1026
  root: scrollAreaRoot,
3054
1027
  viewport: scrollAreaViewport
3055
1028
  };
3056
1029
 
3057
- // src/styles/components/select.ts
1030
+ // src/theme/components/select.ts
3058
1031
  var selectContent = ({ elevation }, ...etc) => {
3059
- return mx("min-w-[--radix-select-trigger-width] rounded max-bs-[--radix-select-content-available-height] border border-separator", modalSurface, surfaceShadow({
1032
+ return mx("dx-modal-surface rounded-sm border border-separator", "min-w-(--radix-select-trigger-width) max-h-(--radix-select-content-available-height)", surfaceShadow({
3060
1033
  elevation: "positioned"
3061
1034
  }), surfaceZIndex({
3062
1035
  elevation,
@@ -3064,11 +1037,11 @@ var selectContent = ({ elevation }, ...etc) => {
3064
1037
  }), ...etc);
3065
1038
  };
3066
1039
  var selectViewport = (_props, ...etc) => mx(...etc);
3067
- var selectItem = (_props, ...etc) => mx("flex items-center min-bs-[2rem] pli-3 plb-1 gap-2", "text-baseText leading-none select-none outline-none", "[&>svg]:invisible [&[data-state=checked]>svg]:visible", ghostHighlighted, ...etc);
1040
+ var selectItem = (_props, ...etc) => mx("flex items-center min-h-[2rem] px-3 py-1 gap-2", "text-base-surface-text leading-none select-none outline-hidden", "[&>svg]:invisible [&[data-state=checked]>svg]:visible", "dx-highlighted", ...etc);
3068
1041
  var selectItemIndicator = (_props, ...etc) => mx("items-center", ...etc);
3069
1042
  var selectArrow = (_props, ...etc) => mx("fill-separator", ...etc);
3070
- var selectSeparator = (_props, ...etc) => mx(blockSeparator, separatorBorderColor, ...etc);
3071
- var selectScrollButton = (_props, ...etc) => mx(modalSurface, "flex items-center justify-center cursor-default bs-6 is-full", ...etc);
1043
+ var selectSeparator = (_props, ...etc) => mx("self-stretch border-b my-1 border-separator", ...etc);
1044
+ var selectScrollButton = (_props, ...etc) => mx("dx-modal-surface flex items-center justify-center cursor-default h-6 w-full", ...etc);
3072
1045
  var selectTheme = {
3073
1046
  content: selectContent,
3074
1047
  viewport: selectViewport,
@@ -3079,46 +1052,54 @@ var selectTheme = {
3079
1052
  scrollButton: selectScrollButton
3080
1053
  };
3081
1054
 
3082
- // src/styles/components/separator.ts
3083
- var separatorRoot = ({ orientation, subdued }, ...etc) => mx(orientation === "vertical" ? inlineSeparator : blockSeparator, subdued ? subduedSeparatorBorderColor : separatorBorderColor, ...etc);
1055
+ // src/theme/components/splitter.ts
1056
+ var splitterRoot = (_props, ...etc) => mx("relative h-full overflow-hidden", ...etc);
1057
+ var splitterPanel = (_props, ...etc) => mx("absolute inset-x-0 flex flex-col overflow-hidden", ...etc);
1058
+ var splitterTheme = {
1059
+ root: splitterRoot,
1060
+ panel: splitterPanel
1061
+ };
1062
+
1063
+ // src/theme/components/separator.ts
1064
+ var separatorRoot = ({ orientation, subdued }, ...etc) => mx("self-stretch", orientation === "vertical" ? "border-e mx-1" : "border-b my-1", subdued ? "border-subdued-separator" : "border-separator", ...etc);
3084
1065
  var separatorTheme = {
3085
1066
  root: separatorRoot
3086
1067
  };
3087
1068
 
3088
- // src/styles/components/skeleton.ts
3089
- var skeletonRoot = ({ variant = "default" }, ...etc) => mx("animate-pulse bg-neutral-250 dark:bg-neutral-750 rounded-md", variant === "circle" && "rounded-full", variant === "text" && "rounded", ...etc);
1069
+ // src/theme/components/skeleton.ts
1070
+ var skeletonRoot = ({ variant = "default" }, ...etc) => mx("animate-pulse bg-neutral-300 dark:bg-neutral-700 rounded-md", variant === "circle" && "rounded-full", variant === "text" && "rounded-sm", ...etc);
3090
1071
  var skeletonTheme = {
3091
1072
  root: skeletonRoot
3092
1073
  };
3093
1074
 
3094
- // src/styles/components/status.ts
3095
- var statusRoot = ({ variant = "default" }, ...etc) => mx("bs-1 relative bg-hoverOverlay rounded-full overflow-hidden", variant === "main-bottom" ? "is-full block" : "is-20 inline-block", ...etc);
3096
- var statusBar = ({ indeterminate, variant = "default" }, ...etc) => mx("absolute inset-block-0 block rounded-full", variant === "main-bottom" ? "bg-accentSurface" : "bg-unAccent", indeterminate ? "animate-progress-indeterminate" : "inline-start-0", ...etc);
1075
+ // src/theme/components/status.ts
1076
+ var statusRoot = ({ variant = "default" }, ...etc) => mx("h-1 relative bg-hover-overlay rounded-full overflow-hidden", variant === "main-bottom" ? "w-full block" : "inline-20 inline-block", ...etc);
1077
+ var statusBar = ({ indeterminate, variant = "default" }, ...etc) => mx("absolute inset-y-0 block rounded-full", variant === "main-bottom" ? "bg-accent-surface" : "bg-un-accent", indeterminate ? "animate-progress-indeterminate" : "start-0", ...etc);
3097
1078
  var statusTheme = {
3098
1079
  root: statusRoot,
3099
1080
  bar: statusBar
3100
1081
  };
3101
1082
 
3102
- // src/styles/components/tag.ts
3103
- var tagRoot = ({ palette = "neutral" }, ...etc) => mx("dx-tag", ...etc);
1083
+ // src/theme/components/tag.ts
1084
+ var tagRoot = (_, ...etc) => mx("dx-tag", ...etc);
3104
1085
  var tagTheme = {
3105
1086
  root: tagRoot
3106
1087
  };
3107
1088
 
3108
- // src/styles/components/toast.ts
1089
+ // src/theme/components/toast.ts
3109
1090
  var toastViewport = (_props, ...etc) => mx(
3110
1091
  // TODO(burdon): block-end should take into account status bar.
3111
- "z-40 fixed block-end-[calc(env(safe-area-inset-bottom)+1rem)] inset-start-[calc(env(safe-area-inset-left)+1rem)] inset-end-[calc(env(safe-area-inset-right)+1rem)] is-auto md:inline-end-[calc(env(safe-area-inset-right)+1rem)] md:inline-start-auto md:is-full md:max-is-sm",
1092
+ "z-40 fixed bottom-[calc(env(safe-area-inset-bottom)+1rem)] inset-start-[calc(env(safe-area-inset-left)+1rem)] inset-end-[calc(env(safe-area-inset-right)+1rem)] w-auto md:end-[calc(env(safe-area-inset-right)+1rem)] md:left-auto md:w-full md:max-w-sm",
3112
1093
  "rounded-md flex flex-col gap-2",
3113
1094
  ...etc
3114
1095
  );
3115
- var toastRoot = (_props, ...etc) => mx("rounded-md flex p-2 gap-2", modalSurface, surfaceShadow({
1096
+ var toastRoot = (_props, ...etc) => mx("dx-modal-surface rounded-md flex p-2 gap-2", surfaceShadow({
3116
1097
  elevation: "toast"
3117
1098
  }), "radix-state-open:animate-toast-slide-in-bottom md:radix-state-open:animate-toast-slide-in-right", "radix-state-closed:animate-toast-hide", "radix-swipe-end:animate-toast-swipe-out", "translate-x-radix-toast-swipe-move-x", "radix-swipe-cancel:translate-x-0 radix-swipe-cancel:duration-200 radix-swipe-cancel:ease-[ease]", focusRing, ...etc);
3118
- var toastBody = (_props, ...etc) => mx("grow flex flex-col gap-1 justify-center pis-2", ...etc);
1099
+ var toastBody = (_props, ...etc) => mx("grow flex flex-col gap-1 justify-center pl-2", ...etc);
3119
1100
  var toastActions = (_props, ...etc) => mx("shrink-0 flex flex-col gap-1 justify-center", ...etc);
3120
1101
  var toastTitle = ({ srOnly }, ...etc) => mx("shrink-0 font-medium", srOnly && "sr-only", ...etc);
3121
- var toastDescription = ({ srOnly }, ...etc) => mx(descriptionText, "shrink-0", srOnly && "sr-only", ...etc);
1102
+ var toastDescription = ({ srOnly }, ...etc) => mx("text-description", "shrink-0", srOnly && "sr-only", ...etc);
3122
1103
  var toastTheme = {
3123
1104
  viewport: toastViewport,
3124
1105
  root: toastRoot,
@@ -3128,75 +1109,65 @@ var toastTheme = {
3128
1109
  actions: toastActions
3129
1110
  };
3130
1111
 
3131
- // src/styles/components/toolbar.ts
3132
- var toolbarLayout = "is-full shrink-0 flex flex-nowrap p-1 gap-1 items-center overflow-x-auto scrollbar-none contain-layout";
1112
+ // src/theme/components/toolbar.ts
1113
+ var toolbarLayout = "w-full shrink-0 flex flex-nowrap p-1 gap-1 items-center overflow-x-auto scrollbar-none dx-contain-layout";
3133
1114
  var toolbarRoot = ({ density, disabled, layoutManaged }, ...etc) => {
3134
- return mx("bg-toolbarSurface dx-toolbar", density === "coarse" && "bs-[var(--rail-size)] !pli-3", disabled && "*:opacity-20", !layoutManaged && toolbarLayout, ...etc);
1115
+ return mx("bg-toolbar-surface dx-toolbar", density === "coarse" && "h-(--dx-rail-size) px-3!", disabled && "*:opacity-20", !layoutManaged && toolbarLayout, ...etc);
3135
1116
  };
3136
- var toolbarInner = ({ layoutManaged }, ...etc) => {
3137
- return mx(!layoutManaged && [
3138
- "flex gap-1",
3139
- textBlockWidth
3140
- ], ...etc);
1117
+ var toolbarText = (_, ...etc) => {
1118
+ return mx("px-2 grow truncate items-center", ...etc);
3141
1119
  };
3142
1120
  var toolbarTheme = {
3143
1121
  root: toolbarRoot,
3144
- inner: toolbarInner
1122
+ text: toolbarText
3145
1123
  };
3146
1124
 
3147
- // src/styles/components/tooltip.ts
3148
- var tooltipContent = ({ elevation }, ...etc) => mx(
3149
- "inline-flex items-center rounded-sm plb-1 pli-2 max-is-64 bg-inverseSurface text-inverseSurfaceText",
3150
- // popperMotion,
3151
- surfaceShadow({
3152
- elevation: "positioned"
3153
- }),
3154
- surfaceZIndex({
3155
- elevation,
3156
- level: "tooltip"
3157
- }),
3158
- chromeText,
3159
- ...etc
3160
- );
3161
- var tooltipArrow = (_props, ...etc) => mx("fill-inverseSurface", ...etc);
1125
+ // src/theme/components/tooltip.ts
1126
+ var tooltipContent = ({ elevation }, ...etc) => mx("inline-flex items-center p-1 max-w-64 text-sm bg-inverse-surface text-inverse-surface-text rounded-sm", surfaceShadow({
1127
+ elevation: "positioned"
1128
+ }), surfaceZIndex({
1129
+ elevation,
1130
+ level: "tooltip"
1131
+ }), ...etc);
1132
+ var tooltipArrow = (_props, ...etc) => mx("fill-inverse-surface", ...etc);
3162
1133
  var tooltipTheme = {
3163
1134
  content: tooltipContent,
3164
1135
  arrow: tooltipArrow
3165
1136
  };
3166
1137
 
3167
- // src/styles/components/treegrid.ts
1138
+ // src/theme/components/treegrid.ts
3168
1139
  var levelStyles = /* @__PURE__ */ new Map([
3169
1140
  [
3170
1141
  1,
3171
- "[&>.indent:first-of-type]:pis-0 font-medium"
1142
+ "[&>.indent:first-of-type]:pl-0 font-medium"
3172
1143
  ],
3173
1144
  [
3174
1145
  2,
3175
- "[&>.indent:first-of-type]:pis-0"
1146
+ "[&>.indent:first-of-type]:pl-0"
3176
1147
  ],
3177
1148
  [
3178
1149
  3,
3179
- "[&>.indent:first-of-type]:pis-1"
1150
+ "[&>.indent:first-of-type]:pl-1"
3180
1151
  ],
3181
1152
  [
3182
1153
  4,
3183
- "[&>.indent:first-of-type]:pis-2"
1154
+ "[&>.indent:first-of-type]:pl-2"
3184
1155
  ],
3185
1156
  [
3186
1157
  5,
3187
- "[&>.indent:first-of-type]:pis-3"
1158
+ "[&>.indent:first-of-type]:pl-3"
3188
1159
  ],
3189
1160
  [
3190
1161
  6,
3191
- "[&>.indent:first-of-type]:pis-4"
1162
+ "[&>.indent:first-of-type]:pl-4"
3192
1163
  ],
3193
1164
  [
3194
1165
  7,
3195
- "[&>.indent:first-of-type]:pis-5"
1166
+ "[&>.indent:first-of-type]:pl-5"
3196
1167
  ],
3197
1168
  [
3198
1169
  8,
3199
- "[&>.indent:first-of-type]:pis-6"
1170
+ "[&>.indent:first-of-type]:pl-6"
3200
1171
  ]
3201
1172
  ]);
3202
1173
  var treegridRoot = (_, ...etc) => mx("grid", ...etc);
@@ -3208,32 +1179,67 @@ var treegridTheme = {
3208
1179
  cell: treegridCell
3209
1180
  };
3210
1181
 
3211
- // src/styles/primitives/container.ts
3212
- var padding = {
3213
- sm: "pli-2",
3214
- md: "pli-3",
3215
- lg: "pli-6"
1182
+ // src/theme/theme.ts
1183
+ import { getDeep } from "@dxos/util";
1184
+
1185
+ // src/theme/primitives/column.ts
1186
+ var columnRoot = (_, ...etc) => mx("dx-column w-full min-w-0 grid", ...etc);
1187
+ var columnRow = (_, ...etc) => mx("col-span-3 grid grid-cols-subgrid", ...etc);
1188
+ var columnSegment = (_, ...etc) => mx("col-start-2 col-span-1 min-w-0", ...etc);
1189
+ var columnTheme = {
1190
+ root: columnRoot,
1191
+ row: columnRow,
1192
+ segment: columnSegment
3216
1193
  };
3217
- var containerColumn = ({ variant }, ...etc) => mx(variant && padding[variant], ...etc);
3218
- var containerTheme = {
3219
- column: containerColumn
1194
+
1195
+ // src/theme/primitives/panel.ts
1196
+ var panelRoot = (_, ...etc) => mx(
1197
+ // prettier-ignore
1198
+ "h-full w-full grid grid-cols-[100%] overflow-hidden",
1199
+ // Add uncategorized children to content slot.
1200
+ "[&>*:not([data-slot])]:[grid-area:content]",
1201
+ ...etc
1202
+ );
1203
+ var panelToolbar = (_, ...etc) => mx(
1204
+ // prettier-ignore
1205
+ "[grid-area:toolbar]",
1206
+ "h-(--dx-toolbar-size)",
1207
+ "[.dx-main-mobile-layout_&]:px-3",
1208
+ ...etc
1209
+ );
1210
+ var panelContent = (_, ...etc) => mx(
1211
+ // prettier-ignore
1212
+ "[grid-area:content] overflow-hidden min-h-0",
1213
+ ...etc
1214
+ );
1215
+ var panelStatusbar = (_, ...etc) => mx(
1216
+ // prettier-ignore
1217
+ "[grid-area:statusbar]",
1218
+ "h-(--dx-statusbar-size)",
1219
+ ...etc
1220
+ );
1221
+ var panelTheme = {
1222
+ root: panelRoot,
1223
+ toolbar: panelToolbar,
1224
+ content: panelContent,
1225
+ statusbar: panelStatusbar
3220
1226
  };
3221
1227
 
3222
- // src/styles/theme.ts
3223
- import { get } from "@dxos/util";
1228
+ // src/theme/theme.ts
3224
1229
  var defaultTheme = {
3225
1230
  themeName: () => "default",
3226
1231
  //
3227
1232
  // Primitives
3228
1233
  //
3229
- container: containerTheme,
1234
+ column: columnTheme,
1235
+ panel: panelTheme,
3230
1236
  //
3231
1237
  // Components
3232
1238
  //
3233
- anchoredOverflow: anchoredOverflowTheme,
3234
1239
  avatar: avatarTheme,
3235
1240
  breadcrumb: breadcrumbTheme,
3236
1241
  button: buttonTheme,
1242
+ card: cardTheme,
3237
1243
  dialog: dialogTheme,
3238
1244
  icon: iconTheme,
3239
1245
  iconButton: iconButtonTheme,
@@ -3248,6 +1254,7 @@ var defaultTheme = {
3248
1254
  select: selectTheme,
3249
1255
  separator: separatorTheme,
3250
1256
  skeleton: skeletonTheme,
1257
+ splitter: splitterTheme,
3251
1258
  status: statusTheme,
3252
1259
  tag: tagTheme,
3253
1260
  toast: toastTheme,
@@ -3255,31 +1262,14 @@ var defaultTheme = {
3255
1262
  tooltip: tooltipTheme,
3256
1263
  treegrid: treegridTheme
3257
1264
  };
3258
- var missing = /* @__PURE__ */ new Set();
3259
1265
  var bindTheme = (theme) => {
3260
- return (path, defaultClassName, styleProps, ...etc) => {
3261
- const result = get(theme, path);
3262
- const className = typeof result === "function" && result(styleProps ?? {}, ...etc);
3263
- if (!className) {
3264
- if (!missing.has(path)) {
3265
- missing.add(path);
3266
- }
3267
- }
3268
- return className || defaultClassName;
1266
+ return (path, styleProps, ...etc) => {
1267
+ const result = getDeep(theme, path.split("."));
1268
+ return typeof result === "function" ? result(styleProps ?? {}, ...etc) : void 0;
3269
1269
  };
3270
1270
  };
3271
1271
  var defaultTx = bindTheme(defaultTheme);
3272
-
3273
- // src/index.ts
3274
- var { theme: tokens } = tailwindConfig({});
3275
- var osTranslations = "dxos.org/i18n/os";
3276
1272
  export {
3277
- accentSurface,
3278
- activeSurface,
3279
- anchoredOverflowAnchor,
3280
- anchoredOverflowRoot,
3281
- anchoredOverflowTheme,
3282
- attentionSurface,
3283
1273
  avatarDescription,
3284
1274
  avatarFallbackText,
3285
1275
  avatarFrame,
@@ -3291,39 +1281,31 @@ export {
3291
1281
  avatarRoot,
3292
1282
  avatarStatusIcon,
3293
1283
  avatarTheme,
3294
- baseSurface,
3295
1284
  bindTheme,
3296
- blockSeparator,
3297
1285
  bottombarBlockPaddingEnd,
3298
- bounceLayout,
3299
1286
  breadcrumbCurrent,
3300
1287
  breadcrumbList,
3301
1288
  breadcrumbListItem,
3302
1289
  breadcrumbRoot,
3303
1290
  breadcrumbSeparator,
3304
1291
  breadcrumbTheme,
3305
- buttonGroup,
3306
- buttonRoot,
3307
1292
  buttonTheme,
3308
1293
  cardDefaultInlineSize,
1294
+ cardMaxBlockSize,
3309
1295
  cardMaxInlineSize,
1296
+ cardMinBlockSize,
3310
1297
  cardMinInlineSize,
3311
- chromeText,
1298
+ cardTheme,
3312
1299
  coarseBlockSize,
3313
- coarseButtonDimensions,
3314
- coarseButtonPadding,
3315
1300
  coarseDimensions,
3316
- coarseTextPadding,
1301
+ composableProps,
3317
1302
  computeSize,
3318
- containerTheme,
3319
- contentShadow,
3320
1303
  dataDisabled,
3321
1304
  defaultButtonColors,
3322
1305
  defaultTheme,
3323
1306
  defaultTx,
3324
1307
  densityBlockSize,
3325
1308
  descriptionMessage,
3326
- descriptionText,
3327
1309
  descriptionTextPrimary,
3328
1310
  dialogActionBar,
3329
1311
  dialogBody,
@@ -3333,17 +1315,8 @@ export {
3333
1315
  dialogOverlay,
3334
1316
  dialogTheme,
3335
1317
  dialogTitle,
3336
- dropRing,
3337
- dropRingInner,
3338
- errorInputValence,
3339
- errorMessageColors,
3340
- errorText,
3341
1318
  fineBlockSize,
3342
- fineButtonDimensions,
3343
- fineButtonPadding,
3344
1319
  fineDimensions,
3345
- fineTextPadding,
3346
- fixedInsetFlexLayout,
3347
1320
  focusRing,
3348
1321
  getHashHue,
3349
1322
  getHashStyles,
@@ -3353,45 +1326,22 @@ export {
3353
1326
  getStyles,
3354
1327
  ghostButtonColors,
3355
1328
  ghostFocusWithin,
3356
- ghostHighlighted,
3357
1329
  ghostHover,
3358
- ghostSelected,
3359
- ghostSelectedContainerMd,
3360
- ghostSelectedCurrent,
3361
- ghostSelectedTrackingInterFromNormal,
3362
- group,
3363
- groupBorder,
3364
1330
  groupHoverControlItemWithTransition,
3365
- hoverColors,
3366
1331
  hoverableControlItem,
3367
- hoverableControlItemTransition,
3368
1332
  hoverableControls,
3369
- hoverableFocusedControls,
3370
1333
  hoverableFocusedKeyboardControls,
3371
1334
  hoverableFocusedWithinControls,
3372
1335
  hoverableOpenControlItem,
1336
+ hueShades,
3373
1337
  hues,
3374
1338
  iconButtonRoot,
3375
1339
  iconButtonTheme,
3376
1340
  iconRoot,
3377
1341
  iconTheme,
3378
- infoInputValence,
3379
- infoMessageColors,
3380
- infoText,
3381
- inlineSeparator,
3382
- inputCheckbox,
3383
- inputCheckboxIndicator,
3384
- inputDescription,
3385
- inputDescriptionAndValidation,
3386
- inputInput,
3387
- inputLabel,
3388
- inputSwitch,
3389
- inputSwitchThumb,
3390
1342
  inputTextLabel,
3391
1343
  inputTheme,
3392
- inputValence,
3393
- inputValidation,
3394
- inputWithSegmentsInput,
1344
+ largeIconSize,
3395
1345
  linkRoot,
3396
1346
  linkTheme,
3397
1347
  listItem,
@@ -3417,23 +1367,21 @@ export {
3417
1367
  menuTheme,
3418
1368
  menuViewport,
3419
1369
  messageContent,
1370
+ messageHeader,
3420
1371
  messageIcon,
3421
1372
  messageRoot,
3422
1373
  messageTheme,
3423
1374
  messageTitle,
3424
1375
  messageValence,
3425
- modalSurface,
3426
1376
  mx,
3427
- neutralInputValence,
3428
- neutralMessageColors,
3429
1377
  osTranslations,
3430
- placeholderText,
1378
+ palette,
3431
1379
  popoverArrow,
3432
1380
  popoverContent,
3433
1381
  popoverTheme,
3434
1382
  popoverViewport,
3435
- popperMotion,
3436
1383
  primaryButtonColors,
1384
+ roles,
3437
1385
  scrollAreaRoot,
3438
1386
  scrollAreaTheme,
3439
1387
  scrollAreaViewport,
@@ -3445,40 +1393,25 @@ export {
3445
1393
  selectSeparator,
3446
1394
  selectTheme,
3447
1395
  selectViewport,
3448
- separatorBorderColor,
3449
1396
  separatorRoot,
3450
1397
  separatorTheme,
3451
- shimmer,
3452
- sidebarBorder,
3453
- sidebarSurface,
3454
- sizeHeightMap,
3455
1398
  sizeValue,
3456
- sizeWidthMap,
3457
1399
  skeletonRoot,
3458
1400
  skeletonTheme,
1401
+ splitterTheme,
3459
1402
  staticDefaultButtonColors,
3460
1403
  staticDisabled,
3461
1404
  staticFocusRing,
3462
- staticGhostSelected,
3463
- staticGhostSelectedCurrent,
3464
- staticHoverableControls,
3465
- staticPlaceholderText,
3466
1405
  statusBar,
3467
1406
  statusRoot,
3468
1407
  statusTheme,
3469
- strongShimmer,
3470
- styles,
3471
1408
  subduedFocus,
3472
- subduedSeparatorBorderColor,
3473
1409
  subtleHover,
3474
- successInputValence,
3475
- successMessageColors,
3476
- successText,
3477
1410
  surfaceShadow,
3478
1411
  surfaceZIndex,
3479
1412
  tagRoot,
3480
1413
  tagTheme,
3481
- textBlockWidth,
1414
+ textValence,
3482
1415
  toastActions,
3483
1416
  toastBody,
3484
1417
  toastDescription,
@@ -3486,10 +1419,9 @@ export {
3486
1419
  toastTheme,
3487
1420
  toastTitle,
3488
1421
  toastViewport,
3489
- tokens,
3490
- toolbarInner,
3491
1422
  toolbarLayout,
3492
1423
  toolbarRoot,
1424
+ toolbarText,
3493
1425
  toolbarTheme,
3494
1426
  tooltipArrow,
3495
1427
  tooltipContent,
@@ -3498,11 +1430,6 @@ export {
3498
1430
  treegridCell,
3499
1431
  treegridRoot,
3500
1432
  treegridRow,
3501
- treegridTheme,
3502
- userDefaultTokenSet,
3503
- valenceColorText,
3504
- warningInputValence,
3505
- warningMessageColors,
3506
- warningText
1433
+ treegridTheme
3507
1434
  };
3508
1435
  //# sourceMappingURL=index.mjs.map