@dxos/ui-theme 0.8.4-main.3eb6e50203 → 0.8.4-main.4a85c3132b

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