@dxos/ui-theme 0.0.0 → 0.8.4-main.52d7546f51

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