@dxos/ui-theme 0.0.0 → 0.8.4-main.59c2e9b

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 (181) hide show
  1. package/dist/lib/browser/index.mjs +3410 -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 +3412 -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-UUMDOU7E.cjs +79 -0
  8. package/dist/plugin/node-cjs/chunk-UUMDOU7E.cjs.map +7 -0
  9. package/dist/plugin/node-cjs/chunk-ZVALPM6U.cjs +1619 -0
  10. package/dist/plugin/node-cjs/chunk-ZVALPM6U.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 +1362 -0
  19. package/dist/plugin/node-cjs/theme.css.map +7 -0
  20. package/dist/plugin/node-esm/chunk-AFRHJHP4.mjs +49 -0
  21. package/dist/plugin/node-esm/chunk-AFRHJHP4.mjs.map +7 -0
  22. package/dist/plugin/node-esm/chunk-HJE6EZWE.mjs +1614 -0
  23. package/dist/plugin/node-esm/chunk-HJE6EZWE.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 +1362 -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/alias-colors.d.ts +21 -0
  40. package/dist/types/src/config/tokens/alias-colors.d.ts.map +1 -0
  41. package/dist/types/src/config/tokens/index.d.ts +486 -0
  42. package/dist/types/src/config/tokens/index.d.ts.map +1 -0
  43. package/dist/types/src/config/tokens/lengths.d.ts +139 -0
  44. package/dist/types/src/config/tokens/lengths.d.ts.map +1 -0
  45. package/dist/types/src/config/tokens/physical-colors.d.ts +23 -0
  46. package/dist/types/src/config/tokens/physical-colors.d.ts.map +1 -0
  47. package/dist/types/src/config/tokens/semantic-colors.d.ts +187 -0
  48. package/dist/types/src/config/tokens/semantic-colors.d.ts.map +1 -0
  49. package/dist/types/src/config/tokens/sememes-calls.d.ts +3 -0
  50. package/dist/types/src/config/tokens/sememes-calls.d.ts.map +1 -0
  51. package/dist/types/src/config/tokens/sememes-codemirror.d.ts +43 -0
  52. package/dist/types/src/config/tokens/sememes-codemirror.d.ts.map +1 -0
  53. package/dist/types/src/config/tokens/sememes-hue.d.ts +4 -0
  54. package/dist/types/src/config/tokens/sememes-hue.d.ts.map +1 -0
  55. package/dist/types/src/config/tokens/sememes-sheet.d.ts +58 -0
  56. package/dist/types/src/config/tokens/sememes-sheet.d.ts.map +1 -0
  57. package/dist/types/src/config/tokens/sememes-system.d.ts +99 -0
  58. package/dist/types/src/config/tokens/sememes-system.d.ts.map +1 -0
  59. package/dist/types/src/config/tokens/sizes.d.ts +7 -0
  60. package/dist/types/src/config/tokens/sizes.d.ts.map +1 -0
  61. package/dist/types/src/config/tokens/types.d.ts +5 -0
  62. package/dist/types/src/config/tokens/types.d.ts.map +1 -0
  63. package/dist/types/src/index.d.ts +12 -0
  64. package/dist/types/src/index.d.ts.map +1 -0
  65. package/dist/types/src/plugins/esbuild-plugin.d.ts +9 -0
  66. package/dist/types/src/plugins/esbuild-plugin.d.ts.map +1 -0
  67. package/dist/types/src/plugins/plugin.d.ts +20 -0
  68. package/dist/types/src/plugins/plugin.d.ts.map +1 -0
  69. package/dist/types/src/plugins/resolveContent.d.ts +2 -0
  70. package/dist/types/src/plugins/resolveContent.d.ts.map +1 -0
  71. package/dist/types/src/styles/components/anchored-overflow.d.ts +6 -0
  72. package/dist/types/src/styles/components/anchored-overflow.d.ts.map +1 -0
  73. package/dist/types/src/styles/components/avatar.d.ts +21 -0
  74. package/dist/types/src/styles/components/avatar.d.ts.map +1 -0
  75. package/dist/types/src/styles/components/breadcrumb.d.ts +9 -0
  76. package/dist/types/src/styles/components/breadcrumb.d.ts.map +1 -0
  77. package/dist/types/src/styles/components/button.d.ts +19 -0
  78. package/dist/types/src/styles/components/button.d.ts.map +1 -0
  79. package/dist/types/src/styles/components/dialog.d.ts +15 -0
  80. package/dist/types/src/styles/components/dialog.d.ts.map +1 -0
  81. package/dist/types/src/styles/components/icon-button.d.ts +8 -0
  82. package/dist/types/src/styles/components/icon-button.d.ts.map +1 -0
  83. package/dist/types/src/styles/components/icon.d.ts +7 -0
  84. package/dist/types/src/styles/components/icon.d.ts.map +1 -0
  85. package/dist/types/src/styles/components/index.d.ts +24 -0
  86. package/dist/types/src/styles/components/index.d.ts.map +1 -0
  87. package/dist/types/src/styles/components/input.d.ts +111 -0
  88. package/dist/types/src/styles/components/input.d.ts.map +1 -0
  89. package/dist/types/src/styles/components/link.d.ts +7 -0
  90. package/dist/types/src/styles/components/link.d.ts.map +1 -0
  91. package/dist/types/src/styles/components/list.d.ts +14 -0
  92. package/dist/types/src/styles/components/list.d.ts.map +1 -0
  93. package/dist/types/src/styles/components/main.d.ts +28 -0
  94. package/dist/types/src/styles/components/main.d.ts.map +1 -0
  95. package/dist/types/src/styles/components/menu.d.ts +13 -0
  96. package/dist/types/src/styles/components/menu.d.ts.map +1 -0
  97. package/dist/types/src/styles/components/message.d.ts +11 -0
  98. package/dist/types/src/styles/components/message.d.ts.map +1 -0
  99. package/dist/types/src/styles/components/popover.d.ts +11 -0
  100. package/dist/types/src/styles/components/popover.d.ts.map +1 -0
  101. package/dist/types/src/styles/components/scroll-area.d.ts +9 -0
  102. package/dist/types/src/styles/components/scroll-area.d.ts.map +1 -0
  103. package/dist/types/src/styles/components/select.d.ts +13 -0
  104. package/dist/types/src/styles/components/select.d.ts.map +1 -0
  105. package/dist/types/src/styles/components/separator.d.ts +8 -0
  106. package/dist/types/src/styles/components/separator.d.ts.map +1 -0
  107. package/dist/types/src/styles/components/status.d.ts +9 -0
  108. package/dist/types/src/styles/components/status.d.ts.map +1 -0
  109. package/dist/types/src/styles/components/tag.d.ts +7 -0
  110. package/dist/types/src/styles/components/tag.d.ts.map +1 -0
  111. package/dist/types/src/styles/components/toast.d.ts +12 -0
  112. package/dist/types/src/styles/components/toast.d.ts.map +1 -0
  113. package/dist/types/src/styles/components/toolbar.d.ts +11 -0
  114. package/dist/types/src/styles/components/toolbar.d.ts.map +1 -0
  115. package/dist/types/src/styles/components/tooltip.d.ts +8 -0
  116. package/dist/types/src/styles/components/tooltip.d.ts.map +1 -0
  117. package/dist/types/src/styles/components/treegrid.d.ts +10 -0
  118. package/dist/types/src/styles/components/treegrid.d.ts.map +1 -0
  119. package/dist/types/src/styles/fragments/density.d.ts +13 -0
  120. package/dist/types/src/styles/fragments/density.d.ts.map +1 -0
  121. package/dist/types/src/styles/fragments/dimension.d.ts +5 -0
  122. package/dist/types/src/styles/fragments/dimension.d.ts.map +1 -0
  123. package/dist/types/src/styles/fragments/disabled.d.ts +3 -0
  124. package/dist/types/src/styles/fragments/disabled.d.ts.map +1 -0
  125. package/dist/types/src/styles/fragments/elevation.d.ts +15 -0
  126. package/dist/types/src/styles/fragments/elevation.d.ts.map +1 -0
  127. package/dist/types/src/styles/fragments/focus.d.ts +6 -0
  128. package/dist/types/src/styles/fragments/focus.d.ts.map +1 -0
  129. package/dist/types/src/styles/fragments/group.d.ts +5 -0
  130. package/dist/types/src/styles/fragments/group.d.ts.map +1 -0
  131. package/dist/types/src/styles/fragments/hover.d.ts +17 -0
  132. package/dist/types/src/styles/fragments/hover.d.ts.map +1 -0
  133. package/dist/types/src/styles/fragments/index.d.ts +17 -0
  134. package/dist/types/src/styles/fragments/index.d.ts.map +1 -0
  135. package/dist/types/src/styles/fragments/layout.d.ts +3 -0
  136. package/dist/types/src/styles/fragments/layout.d.ts.map +1 -0
  137. package/dist/types/src/styles/fragments/motion.d.ts +2 -0
  138. package/dist/types/src/styles/fragments/motion.d.ts.map +1 -0
  139. package/dist/types/src/styles/fragments/ornament.d.ts +5 -0
  140. package/dist/types/src/styles/fragments/ornament.d.ts.map +1 -0
  141. package/dist/types/src/styles/fragments/selected.d.ts +13 -0
  142. package/dist/types/src/styles/fragments/selected.d.ts.map +1 -0
  143. package/dist/types/src/styles/fragments/shimmer.d.ts +3 -0
  144. package/dist/types/src/styles/fragments/shimmer.d.ts.map +1 -0
  145. package/dist/types/src/styles/fragments/size.d.ts +9 -0
  146. package/dist/types/src/styles/fragments/size.d.ts.map +1 -0
  147. package/dist/types/src/styles/fragments/surface.d.ts +9 -0
  148. package/dist/types/src/styles/fragments/surface.d.ts.map +1 -0
  149. package/dist/types/src/styles/fragments/text.d.ts +7 -0
  150. package/dist/types/src/styles/fragments/text.d.ts.map +1 -0
  151. package/dist/types/src/styles/fragments/valence.d.ts +13 -0
  152. package/dist/types/src/styles/fragments/valence.d.ts.map +1 -0
  153. package/dist/types/src/styles/index.d.ts +4 -0
  154. package/dist/types/src/styles/index.d.ts.map +1 -0
  155. package/dist/types/src/styles/theme.d.ts +5 -0
  156. package/dist/types/src/styles/theme.d.ts.map +1 -0
  157. package/dist/types/src/tailwind.d.ts +3 -0
  158. package/dist/types/src/tailwind.d.ts.map +1 -0
  159. package/dist/types/src/types.d.ts +3 -0
  160. package/dist/types/src/types.d.ts.map +1 -0
  161. package/dist/types/src/util/hash-styles.d.ts +15 -0
  162. package/dist/types/src/util/hash-styles.d.ts.map +1 -0
  163. package/dist/types/src/util/index.d.ts +3 -0
  164. package/dist/types/src/util/index.d.ts.map +1 -0
  165. package/dist/types/src/util/mx.d.ts +2 -0
  166. package/dist/types/src/util/mx.d.ts.map +1 -0
  167. package/dist/types/src/util/withLogical.d.ts +164 -0
  168. package/dist/types/src/util/withLogical.d.ts.map +1 -0
  169. package/dist/types/tsconfig.tsbuildinfo +1 -0
  170. package/package.json +9 -5
  171. package/src/config/index.ts +1 -1
  172. package/src/config/tailwind.ts +78 -64
  173. package/src/config/tokens/lengths.ts +6 -6
  174. package/src/config/tokens/sizes.ts +5 -2
  175. package/src/index.ts +1 -1
  176. package/src/styles/components/dialog.ts +19 -3
  177. package/src/styles/fragments/motion.ts +1 -1
  178. package/src/styles/layers/dialog.css +53 -18
  179. package/src/styles/layers/size.css +19 -12
  180. package/src/styles/layers/typography.css +22 -2
  181. package/src/tailwind.ts +3 -1
@@ -0,0 +1,1614 @@
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/index.ts
13
+ import adapter from "@ch-ui/tailwind-tokens";
14
+
15
+ // src/config/tokens/physical-colors.ts
16
+ var reflectiveRelation = {
17
+ initial: 1e3,
18
+ slope: -1e3,
19
+ method: "floor"
20
+ };
21
+ var gamuts = [
22
+ "srgb",
23
+ "p3",
24
+ "rec2020"
25
+ ];
26
+ var DEG_RAD = Math.PI / 180;
27
+ var hueKeyPoint = (hue) => {
28
+ const hueDeg = (360 * (hue / 17) + 26) % 360;
29
+ return {
30
+ keyPoint: [
31
+ 0.5,
32
+ 0.13 + 0.024 * Math.sin((hueDeg - 15) * DEG_RAD),
33
+ hueDeg
34
+ ],
35
+ lowerCp: 1,
36
+ upperCp: 1,
37
+ torsion: 0
38
+ };
39
+ };
40
+ var huePalettes = {
41
+ red: hueKeyPoint(0),
42
+ orange: hueKeyPoint(1),
43
+ amber: hueKeyPoint(2),
44
+ yellow: hueKeyPoint(3),
45
+ lime: hueKeyPoint(4),
46
+ green: hueKeyPoint(5),
47
+ emerald: hueKeyPoint(6),
48
+ teal: hueKeyPoint(7),
49
+ cyan: hueKeyPoint(8),
50
+ sky: hueKeyPoint(9),
51
+ blue: hueKeyPoint(10),
52
+ indigo: hueKeyPoint(11),
53
+ violet: hueKeyPoint(12),
54
+ purple: hueKeyPoint(13),
55
+ fuchsia: hueKeyPoint(14),
56
+ pink: hueKeyPoint(15),
57
+ rose: hueKeyPoint(16)
58
+ };
59
+ var systemPalettes = {
60
+ neutral: {
61
+ keyPoint: [
62
+ 0.5,
63
+ 1e-3,
64
+ 260
65
+ ],
66
+ lowerCp: 0,
67
+ upperCp: 0,
68
+ torsion: 0,
69
+ // Values used directly.
70
+ // TODO(burdon): Audit.
71
+ values: [
72
+ 25,
73
+ 50,
74
+ 75,
75
+ 100,
76
+ 150,
77
+ 200,
78
+ 250,
79
+ 300,
80
+ 400,
81
+ 500,
82
+ 600,
83
+ 700,
84
+ 750,
85
+ 800,
86
+ 850,
87
+ 900
88
+ ]
89
+ },
90
+ // https://oklch.com/#0.5,0.2,260,100 (#0559d2)
91
+ primary: {
92
+ keyPoint: [
93
+ 0.5,
94
+ 0.2,
95
+ 260
96
+ ],
97
+ lowerCp: 0.86,
98
+ upperCp: 1,
99
+ torsion: -30,
100
+ // Values used directly.
101
+ // TODO(burdon): Audit.
102
+ values: [
103
+ 100,
104
+ 150,
105
+ 200,
106
+ 350,
107
+ 400,
108
+ 450,
109
+ 500,
110
+ 750,
111
+ 800,
112
+ 850
113
+ ]
114
+ }
115
+ };
116
+ var physicalSeries = {
117
+ ...huePalettes,
118
+ ...systemPalettes
119
+ };
120
+ var physicalColors = {
121
+ namespace: "dx-",
122
+ definitions: {
123
+ // @ts-ignore
124
+ series: physicalSeries,
125
+ accompanyingSeries: {
126
+ reflectiveRelation
127
+ }
128
+ },
129
+ conditions: {
130
+ srgb: [
131
+ ":root, .dark"
132
+ ],
133
+ p3: [
134
+ "@media (color-gamut: p3)",
135
+ ":root, .dark"
136
+ ],
137
+ rec2020: [
138
+ "@media (color-gamut: rec2020)",
139
+ ":root, .dark"
140
+ ]
141
+ },
142
+ series: Object.entries(physicalSeries).reduce((acc, [id]) => {
143
+ acc[id] = gamuts.reduce((acc2, gamut) => {
144
+ acc2[gamut] = {
145
+ extends: id,
146
+ physicalValueRelation: {
147
+ extends: "reflectiveRelation"
148
+ }
149
+ };
150
+ return acc2;
151
+ }, {});
152
+ return acc;
153
+ }, {})
154
+ };
155
+
156
+ // src/config/tokens/sememes-hue.ts
157
+ var hueSememes = [
158
+ ...Object.keys(huePalettes),
159
+ "neutral",
160
+ "primary"
161
+ ].reduce((acc, palette) => {
162
+ acc[`${palette}Cursor`] = {
163
+ light: [
164
+ palette,
165
+ 400
166
+ ],
167
+ dark: [
168
+ palette,
169
+ 300
170
+ ]
171
+ };
172
+ acc[`${palette}Text`] = {
173
+ light: [
174
+ palette,
175
+ 550
176
+ ],
177
+ dark: [
178
+ palette,
179
+ 300
180
+ ]
181
+ };
182
+ acc[`${palette}Fill`] = {
183
+ light: [
184
+ palette,
185
+ 500
186
+ ],
187
+ dark: [
188
+ palette,
189
+ 500
190
+ ]
191
+ };
192
+ acc[`${palette}Surface`] = {
193
+ light: [
194
+ palette,
195
+ 200
196
+ ],
197
+ dark: [
198
+ palette,
199
+ 700
200
+ ]
201
+ };
202
+ acc[`${palette}SurfaceText`] = {
203
+ light: [
204
+ palette,
205
+ 700
206
+ ],
207
+ dark: [
208
+ palette,
209
+ 200
210
+ ]
211
+ };
212
+ acc[`${palette}Screen`] = {
213
+ light: [
214
+ palette,
215
+ 100
216
+ ],
217
+ dark: [
218
+ palette,
219
+ 800
220
+ ]
221
+ };
222
+ return acc;
223
+ }, {});
224
+ var valenceAliasSememeStems = [
225
+ "Text",
226
+ "Surface",
227
+ "SurfaceText",
228
+ "Fill",
229
+ "Cursor"
230
+ ];
231
+ var valenceMapping = {
232
+ emerald: [
233
+ "success"
234
+ ],
235
+ cyan: [
236
+ "info"
237
+ ],
238
+ amber: [
239
+ "warning"
240
+ ],
241
+ rose: [
242
+ "error"
243
+ ],
244
+ primary: [
245
+ "current"
246
+ ],
247
+ fuchsia: [
248
+ "internal"
249
+ ]
250
+ };
251
+ var valenceAliases = valenceAliasSememeStems.reduce((acc, stem) => {
252
+ return Object.entries(valenceMapping).reduce((acc2, [hue, valences]) => {
253
+ acc2[`${hue}${stem}`] = {
254
+ root: valences.map((valence) => `${valence}${stem}`)
255
+ };
256
+ return acc2;
257
+ }, acc);
258
+ }, {});
259
+
260
+ // src/config/tokens/sememes-sheet.ts
261
+ var sheetSememes = {
262
+ // NOTE: background styles for the main content area must have transparency otherwise they will mask the selection.
263
+ axisSurface: {
264
+ light: [
265
+ "neutral",
266
+ 50
267
+ ],
268
+ dark: [
269
+ "neutral",
270
+ 800
271
+ ]
272
+ },
273
+ axisText: {
274
+ light: [
275
+ "neutral",
276
+ 800
277
+ ],
278
+ dark: [
279
+ "neutral",
280
+ 200
281
+ ]
282
+ },
283
+ axisSelectedSurface: {
284
+ light: [
285
+ "neutral",
286
+ 100
287
+ ],
288
+ dark: [
289
+ "neutral",
290
+ 900
291
+ ]
292
+ },
293
+ axisSelectedText: {
294
+ light: [
295
+ "neutral",
296
+ 100
297
+ ],
298
+ dark: [
299
+ "neutral",
300
+ 900
301
+ ]
302
+ },
303
+ gridCell: {
304
+ // TODO(thure): Why override only dark?
305
+ light: [
306
+ "neutral",
307
+ "50/0"
308
+ ],
309
+ dark: [
310
+ "neutral",
311
+ 850
312
+ ]
313
+ },
314
+ gridCellSelected: {
315
+ // TODO(thure): Can this not just use `attention`?
316
+ light: [
317
+ "neutral",
318
+ 50
319
+ ],
320
+ dark: [
321
+ "neutral",
322
+ 800
323
+ ]
324
+ },
325
+ gridOverlay: {
326
+ light: [
327
+ "primary",
328
+ "500/.5"
329
+ ],
330
+ dark: [
331
+ "primary",
332
+ "500/.5"
333
+ ]
334
+ },
335
+ gridSelectionOverlay: {
336
+ light: [
337
+ "primary",
338
+ "500/.2"
339
+ ],
340
+ dark: [
341
+ "primary",
342
+ "500/.2"
343
+ ]
344
+ },
345
+ gridHighlight: {
346
+ light: [
347
+ "emerald",
348
+ "500/.5"
349
+ ],
350
+ dark: [
351
+ "emerald",
352
+ "500/.5"
353
+ ]
354
+ },
355
+ // TODO(burdon): Factor out def (in common with editor).
356
+ gridCommented: {
357
+ light: [
358
+ "green",
359
+ 200
360
+ ],
361
+ dark: [
362
+ "green",
363
+ 600
364
+ ]
365
+ },
366
+ gridCommentedActive: {
367
+ light: [
368
+ "green",
369
+ "200/.5"
370
+ ],
371
+ dark: [
372
+ "green",
373
+ "600/.5"
374
+ ]
375
+ }
376
+ };
377
+ var sheetAliases = {
378
+ activeSurface: {
379
+ root: [
380
+ "gridLine"
381
+ ]
382
+ },
383
+ accentFocusIndicator: {
384
+ root: [
385
+ "gridFocusIndicatorColor"
386
+ ]
387
+ },
388
+ neutralFocusIndicator: {
389
+ gridFocusStack: [
390
+ "gridFocusIndicatorColor"
391
+ ]
392
+ }
393
+ };
394
+
395
+ // src/config/tokens/sememes-system.ts
396
+ var getMapValue = (map, key, defaultValue) => {
397
+ let value = map[key];
398
+ if (!value) {
399
+ value = defaultValue();
400
+ map[key] = value;
401
+ }
402
+ return value;
403
+ };
404
+ var applyAlpha = (sememe, alpha) => {
405
+ if (alpha >= 1) {
406
+ return sememe;
407
+ } else {
408
+ return {
409
+ light: [
410
+ sememe.light[0],
411
+ `${sememe.light[1]}/${alpha}`
412
+ ],
413
+ dark: [
414
+ sememe.dark[0],
415
+ `${sememe.dark[1]}/${alpha}`
416
+ ]
417
+ };
418
+ }
419
+ };
420
+ var DARK_ELEVATION_MIN = 855;
421
+ var DARK_ELEVATION_MAX = 731;
422
+ var DARK_CONTRAST_MIN = 750;
423
+ var DARK_CONTRAST_MAX = 665;
424
+ var LIGHT_ELEVATION_MIN = 0;
425
+ var LIGHT_ELEVATION_MAX = 0;
426
+ var LIGHT_CONTRAST_MIN = 82;
427
+ var LIGHT_CONTRAST_MAX = 24;
428
+ var ELEVATION_SCALE = 2;
429
+ var CONTRAST_SCALE = 3;
430
+ var darkElevationCadence = (depth) => Math.round(DARK_ELEVATION_MAX + (DARK_ELEVATION_MIN - DARK_ELEVATION_MAX) * ((ELEVATION_SCALE - depth) / ELEVATION_SCALE));
431
+ var darkContrastCadence = (depth) => Math.round(DARK_CONTRAST_MAX + (DARK_CONTRAST_MIN - DARK_CONTRAST_MAX) * ((ELEVATION_SCALE - depth) / ELEVATION_SCALE));
432
+ var lightElevationCadence = (depth) => Math.round(LIGHT_ELEVATION_MIN + (LIGHT_ELEVATION_MAX - LIGHT_ELEVATION_MIN) * ((CONTRAST_SCALE - depth) / CONTRAST_SCALE));
433
+ var lightContrastCadence = (depth) => Math.round(LIGHT_CONTRAST_MAX + (LIGHT_CONTRAST_MIN - LIGHT_CONTRAST_MAX) * (depth / CONTRAST_SCALE));
434
+ var elevationCadence = (lightDepth, darkDepth = lightDepth, alpha = 1) => applyAlpha({
435
+ light: [
436
+ "neutral",
437
+ lightElevationCadence(lightDepth)
438
+ ],
439
+ dark: [
440
+ "neutral",
441
+ darkElevationCadence(darkDepth)
442
+ ]
443
+ }, alpha);
444
+ var contrastCadence = (lightDepth, darkDepth = lightDepth, alpha = 1) => applyAlpha({
445
+ light: [
446
+ "neutral",
447
+ lightContrastCadence(lightDepth)
448
+ ],
449
+ dark: [
450
+ "neutral",
451
+ darkContrastCadence(darkDepth)
452
+ ]
453
+ }, alpha);
454
+ var systemSememes = {
455
+ //
456
+ // Elevation cadence tokens
457
+ //
458
+ baseSurface: elevationCadence(0),
459
+ groupSurface: elevationCadence(1),
460
+ modalSurface: elevationCadence(2, 1.7),
461
+ //
462
+ // Contrast cadence tokens
463
+ //
464
+ textInputSurfaceBase: contrastCadence(0, 0),
465
+ textInputSurfaceGroup: contrastCadence(0, 0.5),
466
+ textInputSurfaceModal: contrastCadence(0, 1),
467
+ inputSurfaceBase: contrastCadence(0.8, 0.33),
468
+ inputSurfaceGroup: contrastCadence(0.8, 0.66),
469
+ inputSurfaceModal: contrastCadence(0.8, 1),
470
+ hoverSurfaceBase: contrastCadence(2, 1.5),
471
+ hoverSurfaceGroup: contrastCadence(2, 2),
472
+ hoverSurfaceModal: contrastCadence(2, 2.5),
473
+ separatorBase: contrastCadence(3, 2),
474
+ separatorGroup: contrastCadence(3, 2.5),
475
+ separatorModal: contrastCadence(3, 3),
476
+ subduedSeparator: contrastCadence(3, 1),
477
+ unAccent: {
478
+ light: [
479
+ "neutral",
480
+ 400
481
+ ],
482
+ dark: [
483
+ "neutral",
484
+ 400
485
+ ]
486
+ },
487
+ unAccentHover: {
488
+ light: [
489
+ "neutral",
490
+ 450
491
+ ],
492
+ dark: [
493
+ "neutral",
494
+ 450
495
+ ]
496
+ },
497
+ hoverOverlay: {
498
+ light: [
499
+ "neutral",
500
+ "450/.1"
501
+ ],
502
+ dark: [
503
+ "neutral",
504
+ "450/.1"
505
+ ]
506
+ },
507
+ //
508
+ // Special surfaces.
509
+ //
510
+ // Screen overlay for modal dialogs.
511
+ scrimSurface: applyAlpha({
512
+ light: [
513
+ "neutral",
514
+ LIGHT_CONTRAST_MAX
515
+ ],
516
+ dark: [
517
+ "neutral",
518
+ DARK_ELEVATION_MIN
519
+ ]
520
+ }, 0.65),
521
+ // 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.)
522
+ focusSurface: {
523
+ light: [
524
+ "neutral",
525
+ 0
526
+ ],
527
+ dark: [
528
+ "neutral",
529
+ 1e3
530
+ ]
531
+ },
532
+ deckSurface: {
533
+ light: [
534
+ "neutral",
535
+ 50
536
+ ],
537
+ dark: [
538
+ "neutral",
539
+ 950
540
+ ]
541
+ },
542
+ // For tooltips only; the highest elevation from the opposite theme
543
+ inverseSurface: {
544
+ light: [
545
+ "neutral",
546
+ DARK_ELEVATION_MIN
547
+ ],
548
+ dark: [
549
+ "neutral",
550
+ LIGHT_ELEVATION_MIN
551
+ ]
552
+ },
553
+ //
554
+ // Accent surfaces
555
+ //
556
+ accentSurfaceRelated: {
557
+ light: [
558
+ "primary",
559
+ "300/.1"
560
+ ],
561
+ dark: [
562
+ "primary",
563
+ "400/.1"
564
+ ]
565
+ },
566
+ accentSurfaceHover: {
567
+ light: [
568
+ "primary",
569
+ 600
570
+ ],
571
+ dark: [
572
+ "primary",
573
+ 475
574
+ ]
575
+ },
576
+ accentSurface: {
577
+ light: [
578
+ "primary",
579
+ 500
580
+ ],
581
+ dark: [
582
+ "primary",
583
+ 500
584
+ ]
585
+ },
586
+ //
587
+ // Text (text-) and other foregrounds
588
+ // TODO(thure): Establish contrast-order cadence for text.
589
+ //
590
+ baseText: {
591
+ light: [
592
+ "neutral",
593
+ 1e3
594
+ ],
595
+ dark: [
596
+ "neutral",
597
+ 50
598
+ ]
599
+ },
600
+ inverseSurfaceText: {
601
+ light: [
602
+ "neutral",
603
+ 50
604
+ ],
605
+ dark: [
606
+ "neutral",
607
+ 1e3
608
+ ]
609
+ },
610
+ description: {
611
+ light: [
612
+ "neutral",
613
+ 550
614
+ ],
615
+ dark: [
616
+ "neutral",
617
+ 350
618
+ ]
619
+ },
620
+ subdued: {
621
+ light: [
622
+ "neutral",
623
+ 700
624
+ ],
625
+ dark: [
626
+ "neutral",
627
+ 300
628
+ ]
629
+ },
630
+ placeholder: {
631
+ light: [
632
+ "neutral",
633
+ 500
634
+ ],
635
+ dark: [
636
+ "neutral",
637
+ 500
638
+ ]
639
+ },
640
+ accentText: {
641
+ light: [
642
+ "primary",
643
+ 550
644
+ ],
645
+ dark: [
646
+ "primary",
647
+ 400
648
+ ]
649
+ },
650
+ accentSurfaceText: {
651
+ light: [
652
+ "neutral",
653
+ 0
654
+ ],
655
+ dark: [
656
+ "neutral",
657
+ 0
658
+ ]
659
+ },
660
+ accentTextHover: {
661
+ light: [
662
+ "primary",
663
+ 500
664
+ ],
665
+ dark: [
666
+ "primary",
667
+ 350
668
+ ]
669
+ },
670
+ accentFocusIndicator: {
671
+ light: [
672
+ "primary",
673
+ 300
674
+ ],
675
+ dark: [
676
+ "primary",
677
+ 450
678
+ ]
679
+ },
680
+ neutralFocusIndicator: {
681
+ light: [
682
+ "neutral",
683
+ 300
684
+ ],
685
+ dark: [
686
+ "neutral",
687
+ 550
688
+ ]
689
+ }
690
+ };
691
+ var aliasDefs = {
692
+ // Selected items, current items, other surfaces needing special contrast against baseSurface.
693
+ activeSurface: {
694
+ root: "inputSurfaceBase"
695
+ },
696
+ // Main sidebar panel.
697
+ sidebarSurface: {
698
+ root: "groupSurface"
699
+ },
700
+ // Plank header.
701
+ headerSurface: {
702
+ root: "groupSurface"
703
+ },
704
+ // Toolbars, table/sheet headers, etc.
705
+ toolbarSurface: {
706
+ root: "groupSurface"
707
+ },
708
+ // Forms, cards, etc.
709
+ cardSurface: {
710
+ root: "groupSurface"
711
+ },
712
+ // Secondary aliases.
713
+ textInputSurface: {
714
+ root: "textInputSurfaceBase",
715
+ group: "textInputSurfaceGroup",
716
+ modal: "textInputSurfaceModal"
717
+ },
718
+ inputSurface: {
719
+ root: "inputSurfaceBase",
720
+ group: "inputSurfaceGroup",
721
+ modal: "inputSurfaceModal"
722
+ },
723
+ hoverSurface: {
724
+ root: "hoverSurfaceBase",
725
+ group: "hoverSurfaceGroup",
726
+ modal: "hoverSurfaceModal"
727
+ },
728
+ // TODO(thure): Rename uses of this token to `focusSurface` and remove this alias.
729
+ attention: {
730
+ root: "focusSurface"
731
+ },
732
+ // In “master-detail” patterns, the background of the item in the list which is enumerated in the adjacent view.
733
+ // TODO(burdon): Review tokens.
734
+ currentRelated: {
735
+ root: "modalSurface"
736
+ },
737
+ // Borders and dividers.
738
+ separator: {
739
+ root: "separatorBase",
740
+ group: "separatorGroup",
741
+ modal: "separatorModal"
742
+ }
743
+ };
744
+ var systemAliases = Object.entries(aliasDefs).reduce((aliases, [alias, values]) => {
745
+ Object.entries(values).forEach(([key, sememe]) => {
746
+ const record = getMapValue(aliases, sememe, () => ({}));
747
+ const list = getMapValue(record, key, () => []);
748
+ list.push(alias);
749
+ });
750
+ return aliases;
751
+ }, {});
752
+
753
+ // src/config/tokens/alias-colors.ts
754
+ var groupAliases = [
755
+ "groupSurface",
756
+ ...systemAliases.groupSurface?.root ?? []
757
+ ];
758
+ var modalAliases = [
759
+ "modalSurface",
760
+ ...systemAliases.modalSurface?.root ?? []
761
+ ];
762
+ var aliasColors = {
763
+ conditions: {
764
+ root: [
765
+ ":root, .dark"
766
+ ],
767
+ group: [
768
+ [
769
+ ".sidebar-surface, .dark .sidebar-surface",
770
+ ...groupAliases.map((alias) => `.bg-${alias}, .dark .bg-${alias}`)
771
+ ].join(", ")
772
+ ],
773
+ modal: [
774
+ [
775
+ ".modal-surface, .dark .modal-surface",
776
+ ...modalAliases.map((alias) => `.bg-${alias}, .dark .bg-${alias}`)
777
+ ].join(", ")
778
+ ],
779
+ gridFocusStack: [
780
+ '[data-grid-focus-indicator-variant="stack"]'
781
+ ]
782
+ },
783
+ aliases: {
784
+ // TODO(thure): Aliases should be merged more elegantly, this causes overwrites.
785
+ ...sheetAliases,
786
+ ...systemAliases,
787
+ ...valenceAliases
788
+ },
789
+ namespace: "dx-"
790
+ };
791
+
792
+ // src/config/tokens/sizes.ts
793
+ var cardMinInlineSize = 18;
794
+ var cardDefaultInlineSize = 20;
795
+ var cardMaxInlineSize = 22;
796
+
797
+ // src/config/tokens/lengths.ts
798
+ var lengthsFacet = {
799
+ physical: {
800
+ namespace: "dx-",
801
+ conditions: {
802
+ root: [
803
+ ":root"
804
+ ]
805
+ },
806
+ series: {
807
+ line: {
808
+ root: {
809
+ unit: "px",
810
+ initial: 0,
811
+ slope: 1
812
+ }
813
+ },
814
+ // "gap"
815
+ lacuna: {
816
+ root: {
817
+ unit: "rem",
818
+ initial: 0,
819
+ slope: 0.125
820
+ }
821
+ }
822
+ }
823
+ },
824
+ semantic: {
825
+ namespace: "dx-",
826
+ conditions: {
827
+ root: [
828
+ ":root"
829
+ ]
830
+ },
831
+ sememes: {
832
+ noLine: {
833
+ root: [
834
+ "line",
835
+ 0
836
+ ]
837
+ },
838
+ hairLine: {
839
+ root: [
840
+ "line",
841
+ 1
842
+ ]
843
+ },
844
+ thickLine: {
845
+ root: [
846
+ "line",
847
+ 2
848
+ ]
849
+ },
850
+ trimXs: {
851
+ root: [
852
+ "lacuna",
853
+ 3
854
+ ]
855
+ },
856
+ trimSm: {
857
+ root: [
858
+ "lacuna",
859
+ 4
860
+ ]
861
+ },
862
+ trimMd: {
863
+ root: [
864
+ "lacuna",
865
+ 6
866
+ ]
867
+ },
868
+ trimLg: {
869
+ root: [
870
+ "lacuna",
871
+ 12
872
+ ]
873
+ },
874
+ inputFine: {
875
+ root: [
876
+ "lacuna",
877
+ 3
878
+ ]
879
+ },
880
+ inputCoarse: {
881
+ root: [
882
+ "lacuna",
883
+ 4
884
+ ]
885
+ }
886
+ }
887
+ },
888
+ alias: {
889
+ namespace: "dx-",
890
+ conditions: {
891
+ fine: [
892
+ ":root, .density-fine"
893
+ ],
894
+ coarse: [
895
+ ".density-coarse"
896
+ ],
897
+ flush: [
898
+ ".density-flush"
899
+ ],
900
+ gridFocusStack: [
901
+ '[data-grid-focus-indicator-variant="stack"]'
902
+ ]
903
+ },
904
+ aliases: {
905
+ noLine: {
906
+ fine: [
907
+ "focusOffset"
908
+ ]
909
+ },
910
+ hairLine: {
911
+ fine: [
912
+ "modalLine",
913
+ "landmarkLine",
914
+ "positionedLine",
915
+ "gridGap",
916
+ "gridFocusIndicatorWidth"
917
+ ]
918
+ },
919
+ thickLine: {
920
+ fine: [
921
+ "focusLine"
922
+ ],
923
+ gridFocusStack: [
924
+ "gridFocusIndicatorWidth"
925
+ ]
926
+ },
927
+ trimXs: {
928
+ fine: [
929
+ "cardSpacingChrome",
930
+ "labelSpacingBlock",
931
+ "inputSpacingBlock"
932
+ ]
933
+ },
934
+ trimSm: {
935
+ fine: [
936
+ "cardSpacingInline",
937
+ "cardSpacingBlock",
938
+ "cardSpacingGap"
939
+ ]
940
+ },
941
+ trimMd: {
942
+ coarse: [
943
+ "cardSpacingInline",
944
+ "cardSpacingBlock",
945
+ "cardSpacingGap"
946
+ ]
947
+ },
948
+ inputFine: {
949
+ fine: [
950
+ "iconButtonPadding"
951
+ ]
952
+ },
953
+ inputCoarse: {
954
+ coarse: [
955
+ "iconButtonPadding"
956
+ ]
957
+ }
958
+ }
959
+ }
960
+ };
961
+ var maxSizesFacet = {
962
+ physical: {
963
+ namespace: "dx-",
964
+ conditions: {
965
+ root: [
966
+ ":root"
967
+ ]
968
+ },
969
+ series: {
970
+ size: {
971
+ root: {
972
+ unit: "rem",
973
+ initial: 0,
974
+ slope: 1
975
+ }
976
+ }
977
+ }
978
+ },
979
+ semantic: {
980
+ namespace: "dx-",
981
+ conditions: {
982
+ root: [
983
+ ":root"
984
+ ]
985
+ },
986
+ sememes: {
987
+ "prose-max-width": {
988
+ root: [
989
+ "size",
990
+ 50
991
+ ]
992
+ },
993
+ "container-max-width": {
994
+ root: [
995
+ "size",
996
+ 50
997
+ ]
998
+ },
999
+ "popover-max-width": {
1000
+ root: [
1001
+ "size",
1002
+ cardDefaultInlineSize
1003
+ ]
1004
+ },
1005
+ "card-default-width": {
1006
+ root: [
1007
+ "size",
1008
+ cardDefaultInlineSize
1009
+ ]
1010
+ },
1011
+ "card-min-width": {
1012
+ root: [
1013
+ "size",
1014
+ cardMinInlineSize
1015
+ ]
1016
+ },
1017
+ "card-max-width": {
1018
+ root: [
1019
+ "size",
1020
+ cardMaxInlineSize
1021
+ ]
1022
+ }
1023
+ }
1024
+ }
1025
+ };
1026
+
1027
+ // src/config/tokens/sememes-calls.ts
1028
+ var callsSememes = {
1029
+ callActive: {
1030
+ light: [
1031
+ "green",
1032
+ "500"
1033
+ ],
1034
+ dark: [
1035
+ "green",
1036
+ "500"
1037
+ ]
1038
+ },
1039
+ callAlert: {
1040
+ light: [
1041
+ "rose",
1042
+ "500"
1043
+ ],
1044
+ dark: [
1045
+ "rose",
1046
+ "500"
1047
+ ]
1048
+ }
1049
+ };
1050
+
1051
+ // src/config/tokens/sememes-codemirror.ts
1052
+ var codemirrorSememes = {
1053
+ // NOTE: background styles for the main content area must have transparency otherwise they will mask the selection.
1054
+ cmCodeblock: {
1055
+ light: [
1056
+ "neutral",
1057
+ "500/.1"
1058
+ ],
1059
+ dark: [
1060
+ "neutral",
1061
+ "500/.1"
1062
+ ]
1063
+ },
1064
+ cmActiveLine: {
1065
+ light: [
1066
+ "neutral",
1067
+ "200/.5"
1068
+ ],
1069
+ dark: [
1070
+ "neutral",
1071
+ "800/.5"
1072
+ ]
1073
+ },
1074
+ cmSeparator: {
1075
+ light: [
1076
+ "primary",
1077
+ 500
1078
+ ],
1079
+ dark: [
1080
+ "primary",
1081
+ 500
1082
+ ]
1083
+ },
1084
+ cmCursor: {
1085
+ light: [
1086
+ "neutral",
1087
+ 900
1088
+ ],
1089
+ dark: [
1090
+ "neutral",
1091
+ 100
1092
+ ]
1093
+ },
1094
+ cmSelection: {
1095
+ light: [
1096
+ "primary",
1097
+ "400/.5"
1098
+ ],
1099
+ dark: [
1100
+ "primary",
1101
+ "600/.5"
1102
+ ]
1103
+ },
1104
+ cmFocusedSelection: {
1105
+ light: [
1106
+ "primary",
1107
+ 400
1108
+ ],
1109
+ dark: [
1110
+ "primary",
1111
+ 600
1112
+ ]
1113
+ },
1114
+ cmHighlight: {
1115
+ light: [
1116
+ "neutral",
1117
+ 950
1118
+ ],
1119
+ dark: [
1120
+ "neutral",
1121
+ 50
1122
+ ]
1123
+ },
1124
+ cmHighlightSurface: {
1125
+ light: [
1126
+ "sky",
1127
+ 200
1128
+ ],
1129
+ dark: [
1130
+ "cyan",
1131
+ 600
1132
+ ]
1133
+ },
1134
+ // TODO(burdon): Factor out defs in common with sheet.
1135
+ cmCommentText: {
1136
+ light: [
1137
+ "neutral",
1138
+ 50
1139
+ ],
1140
+ dark: [
1141
+ "neutral",
1142
+ 950
1143
+ ]
1144
+ },
1145
+ cmCommentSurface: {
1146
+ light: [
1147
+ "amber",
1148
+ 700
1149
+ ],
1150
+ dark: [
1151
+ "amber",
1152
+ 200
1153
+ ]
1154
+ }
1155
+ };
1156
+
1157
+ // src/config/tokens/semantic-colors.ts
1158
+ var semanticColors = {
1159
+ conditions: {
1160
+ light: [
1161
+ ":root"
1162
+ ],
1163
+ dark: [
1164
+ ".dark"
1165
+ ]
1166
+ },
1167
+ sememes: {
1168
+ // Define each set of sememes in its own file.
1169
+ ...callsSememes,
1170
+ ...codemirrorSememes,
1171
+ ...hueSememes,
1172
+ ...sheetSememes,
1173
+ ...systemSememes
1174
+ },
1175
+ namespace: "dx-"
1176
+ };
1177
+
1178
+ // src/config/tokens/index.ts
1179
+ var hues = Object.keys(huePalettes);
1180
+ var tokenSet = {
1181
+ colors: {
1182
+ physical: physicalColors,
1183
+ semantic: semanticColors,
1184
+ alias: aliasColors
1185
+ },
1186
+ lengths: lengthsFacet,
1187
+ maxSizes: maxSizesFacet
1188
+ };
1189
+ var adapterConfig = {
1190
+ colors: {
1191
+ facet: "colors",
1192
+ disposition: "overwrite",
1193
+ tokenization: "recursive"
1194
+ },
1195
+ borderWidth: {
1196
+ facet: "lengths",
1197
+ disposition: "extend",
1198
+ tokenization: "omit-series"
1199
+ },
1200
+ ringWidth: {
1201
+ facet: "lengths",
1202
+ disposition: "extend",
1203
+ tokenization: "omit-series"
1204
+ },
1205
+ ringOffsetWidth: {
1206
+ facet: "lengths",
1207
+ disposition: "extend",
1208
+ tokenization: "omit-series"
1209
+ },
1210
+ outlineWidth: {
1211
+ facet: "lengths",
1212
+ disposition: "extend",
1213
+ tokenization: "omit-series"
1214
+ },
1215
+ spacing: {
1216
+ facet: "lengths",
1217
+ disposition: "extend",
1218
+ tokenization: "keep-series"
1219
+ }
1220
+ };
1221
+ var userDefaultTokenSet = {
1222
+ colors: {
1223
+ physical: {
1224
+ definitions: {
1225
+ series: {
1226
+ neutral: physicalColors.definitions.series.neutral,
1227
+ primary: physicalColors.definitions.series.primary
1228
+ },
1229
+ accompanyingSeries: physicalColors.definitions.accompanyingSeries
1230
+ },
1231
+ conditions: physicalColors.conditions,
1232
+ series: {
1233
+ neutral: physicalColors.series.neutral,
1234
+ primary: physicalColors.series.primary
1235
+ },
1236
+ namespace: physicalColors.namespace
1237
+ },
1238
+ semantic: {
1239
+ conditions: semanticColors.conditions,
1240
+ sememes: systemSememes,
1241
+ namespace: semanticColors.namespace
1242
+ },
1243
+ alias: {
1244
+ conditions: aliasColors.conditions,
1245
+ aliases: systemAliases,
1246
+ namespace: aliasColors.namespace
1247
+ }
1248
+ }
1249
+ };
1250
+ var tokensTailwindConfig = adapter(tokenSet, adapterConfig);
1251
+
1252
+ // src/config/tailwind.ts
1253
+ var { extend: extendTokens, ...overrideTokens } = tokensTailwindConfig;
1254
+ var tailwindConfig = ({ env = "production", content = [], extensions = [] }) => ({
1255
+ darkMode: "class",
1256
+ theme: {
1257
+ // Configure fonts in theme.css and package.json.
1258
+ fontFamily: {
1259
+ body: [
1260
+ "Inter Variable",
1261
+ ...defaultConfig.theme.fontFamily.sans
1262
+ ],
1263
+ mono: [
1264
+ "JetBrains Mono Variable",
1265
+ ...defaultConfig.theme.fontFamily.mono
1266
+ ]
1267
+ },
1268
+ extend: merge({
1269
+ // Generates is-card-default-width, is-card-min-width, etc.
1270
+ spacing: {
1271
+ "card-default-width": "var(--dx-card-default-width)",
1272
+ "card-min-width": "var(--dx-card-min-width)",
1273
+ "card-max-width": "var(--dx-card-max-width)",
1274
+ "container-max-width": "var(--dx-container-max-width)",
1275
+ "popover-max-width": "var(--dx-popover-max-width)",
1276
+ "prose-max-width": "var(--dx-prose-max-width)"
1277
+ },
1278
+ backgroundImage: {
1279
+ "gradient-radial": "radial-gradient(var(--tw-gradient-stops))",
1280
+ "gradient-conic": "conic-gradient(from 180deg at 50% 50%, var(--tw-gradient-stops))"
1281
+ },
1282
+ borderRadius: {
1283
+ none: "0",
1284
+ sm: "0.25rem",
1285
+ DEFAULT: "0.5rem",
1286
+ md: "0.75rem",
1287
+ lg: "1rem"
1288
+ },
1289
+ screens: {
1290
+ "pointer-fine": {
1291
+ raw: "(pointer: fine)"
1292
+ },
1293
+ "hover-hover": {
1294
+ raw: "(hover: hover)"
1295
+ },
1296
+ "md": "768px",
1297
+ "lg": "1024px"
1298
+ },
1299
+ fontSize: {
1300
+ // Base size 16px
1301
+ // Scale 1.125
1302
+ "xs": [
1303
+ "0.790rem",
1304
+ {
1305
+ lineHeight: "1rem"
1306
+ }
1307
+ ],
1308
+ "sm": [
1309
+ "0.889rem",
1310
+ {
1311
+ lineHeight: "1.25rem"
1312
+ }
1313
+ ],
1314
+ "base": [
1315
+ "1rem",
1316
+ {
1317
+ lineHeight: "1.5rem"
1318
+ }
1319
+ ],
1320
+ "lg": [
1321
+ "1.125rem",
1322
+ {
1323
+ lineHeight: "1.75rem"
1324
+ }
1325
+ ],
1326
+ "xl": [
1327
+ "1.266rem",
1328
+ {
1329
+ lineHeight: "1.75rem"
1330
+ }
1331
+ ],
1332
+ "2xl": [
1333
+ "1.424rem",
1334
+ {
1335
+ lineHeight: "2rem"
1336
+ }
1337
+ ],
1338
+ "3xl": [
1339
+ "1.602rem",
1340
+ {
1341
+ lineHeight: "2.25rem"
1342
+ }
1343
+ ],
1344
+ "4xl": [
1345
+ "1.802rem",
1346
+ {
1347
+ lineHeight: "2.5rem"
1348
+ }
1349
+ ],
1350
+ "5xl": [
1351
+ "2.027rem",
1352
+ {
1353
+ lineHeight: "2.5rem"
1354
+ }
1355
+ ],
1356
+ "6xl": [
1357
+ "2.281rem",
1358
+ {
1359
+ lineHeight: "2.5rem"
1360
+ }
1361
+ ],
1362
+ "7xl": [
1363
+ "2.566rem",
1364
+ {
1365
+ lineHeight: "2.75rem"
1366
+ }
1367
+ ],
1368
+ "8xl": [
1369
+ "2.887rem",
1370
+ {
1371
+ lineHeight: "3rem"
1372
+ }
1373
+ ],
1374
+ "9xl": [
1375
+ "3.247rem",
1376
+ {
1377
+ lineHeight: "3.25rem"
1378
+ }
1379
+ ]
1380
+ },
1381
+ boxShadow: {
1382
+ "slider": "0 0 0 5px rgba(0, 0, 0, 0.3)"
1383
+ },
1384
+ transitionProperty: {
1385
+ "max-height": "max-height"
1386
+ },
1387
+ transitionTimingFunction: {
1388
+ "in-out-symmetric": "cubic-bezier(0.5, 0, 0.5, 1)"
1389
+ },
1390
+ keyframes: {
1391
+ // Fade
1392
+ "fade-in": {
1393
+ from: {
1394
+ opacity: 0
1395
+ },
1396
+ to: {
1397
+ opacity: 1
1398
+ }
1399
+ },
1400
+ "fade-out": {
1401
+ from: {
1402
+ opacity: 1
1403
+ },
1404
+ to: {
1405
+ opacity: 0
1406
+ }
1407
+ },
1408
+ // Popper chrome
1409
+ "slide-down-and-fade": {
1410
+ from: {
1411
+ opacity: 1,
1412
+ transform: "translateY(0)"
1413
+ },
1414
+ to: {
1415
+ opacity: 0,
1416
+ transform: "translateY(16px)"
1417
+ }
1418
+ },
1419
+ "slide-left-and-fade": {
1420
+ from: {
1421
+ opacity: 0,
1422
+ transform: "translateX(-16px)"
1423
+ },
1424
+ to: {
1425
+ opacity: 1,
1426
+ transform: "translateX(0)"
1427
+ }
1428
+ },
1429
+ "slide-up-and-fade": {
1430
+ from: {
1431
+ opacity: 0,
1432
+ transform: "translateY(16px)"
1433
+ },
1434
+ to: {
1435
+ opacity: 1,
1436
+ transform: "translateY(0)"
1437
+ }
1438
+ },
1439
+ "slide-right-and-fade": {
1440
+ from: {
1441
+ opacity: 0,
1442
+ transform: "translateX(16px)"
1443
+ },
1444
+ to: {
1445
+ opacity: 1,
1446
+ transform: "translateX(0)"
1447
+ }
1448
+ },
1449
+ // Toast
1450
+ "toast-hide": {
1451
+ "0%": {
1452
+ opacity: "1"
1453
+ },
1454
+ "100%": {
1455
+ opacity: "0"
1456
+ }
1457
+ },
1458
+ "toast-slide-in-right": {
1459
+ "0%": {
1460
+ transform: "translateX(calc(100% + 1rem))"
1461
+ },
1462
+ "100%": {
1463
+ transform: "translateX(0)"
1464
+ }
1465
+ },
1466
+ "toast-slide-in-bottom": {
1467
+ "0%": {
1468
+ transform: "translateY(calc(100% + 1rem))"
1469
+ },
1470
+ "100%": {
1471
+ transform: "translateY(0)"
1472
+ }
1473
+ },
1474
+ "toast-swipe-out": {
1475
+ "0%": {
1476
+ transform: "translateX(var(--radix-toast-swipe-end-x))"
1477
+ },
1478
+ "100%": {
1479
+ transform: "translateX(calc(100% + 1rem))"
1480
+ }
1481
+ },
1482
+ // Accordion
1483
+ "slide-down": {
1484
+ from: {
1485
+ height: "0px"
1486
+ },
1487
+ to: {
1488
+ height: "var(--radix-accordion-content-height)"
1489
+ }
1490
+ },
1491
+ "slide-up": {
1492
+ from: {
1493
+ height: "var(--radix-accordion-content-height)"
1494
+ },
1495
+ to: {
1496
+ height: "0px"
1497
+ }
1498
+ },
1499
+ // Shimmer
1500
+ "shimmer-loop": {
1501
+ "100%": {
1502
+ transform: "translateX(100%)"
1503
+ }
1504
+ },
1505
+ // HALO
1506
+ "halo-pulse": {
1507
+ "0%": {
1508
+ opacity: 0.3
1509
+ },
1510
+ "5%": {
1511
+ opacity: 1
1512
+ },
1513
+ "100%": {
1514
+ opacity: 0.3
1515
+ }
1516
+ },
1517
+ // Progress
1518
+ "progress-indeterminate": {
1519
+ "0%": {
1520
+ left: 0,
1521
+ width: "0%"
1522
+ },
1523
+ "25%": {
1524
+ left: "25%",
1525
+ width: "50%"
1526
+ },
1527
+ "75%": {
1528
+ left: "50%",
1529
+ width: "100%"
1530
+ },
1531
+ "100%": {
1532
+ left: "100%",
1533
+ width: "0%"
1534
+ }
1535
+ },
1536
+ // Border trail effect
1537
+ "trail": {
1538
+ to: {
1539
+ "offset-distance": "100%"
1540
+ }
1541
+ },
1542
+ "trail-offset": {
1543
+ "0%": {
1544
+ "offset-distance": "50%"
1545
+ },
1546
+ "100%": {
1547
+ "offset-distance": "150%"
1548
+ }
1549
+ }
1550
+ },
1551
+ animation: {
1552
+ // Fade
1553
+ "fade-in": "fade-in 200ms ease-out",
1554
+ "fade-out": "fade-out 400ms ease-out",
1555
+ // Popper chrome
1556
+ "slide-down-and-fade": "slide-down-and-fade 400ms cubic-bezier(0.16, 1, 0.3, 1)",
1557
+ "slide-left-and-fade": "slide-left-and-fade 400ms cubic-bezier(0.16, 1, 0.3, 1)",
1558
+ "slide-up-and-fade": "slide-up-and-fade 400ms cubic-bezier(0.16, 1, 0.3, 1)",
1559
+ "slide-right-and-fade": "slide-right-and-fade 400ms cubic-bezier(0.16, 1, 0.3, 1)",
1560
+ // Toast
1561
+ "toast-hide": "toast-hide 100ms ease-in forwards",
1562
+ "toast-slide-in-right": "toast-slide-in-right 150ms cubic-bezier(0.16, 1, 0.3, 1)",
1563
+ "toast-slide-in-bottom": "toast-slide-in-bottom 150ms cubic-bezier(0.16, 1, 0.3, 1)",
1564
+ "toast-swipe-out": "toast-swipe-out 100ms ease-out forwards",
1565
+ // Accordion
1566
+ "slide-down": "slide-down 300ms cubic-bezier(0.87, 0, 0.13, 1)",
1567
+ "slide-up": "slide-up 300ms cubic-bezier(0.87, 0, 0.13, 1)",
1568
+ // Border trail effect
1569
+ "trail": "trail 6s linear infinite",
1570
+ "trail-offset": "trail-offset 6s linear infinite",
1571
+ // Progress effects
1572
+ "spin": "spin 1.5s linear infinite",
1573
+ "spin-slow": "spin 3s linear infinite",
1574
+ "shimmer": "shimmer-loop 2s infinite",
1575
+ "halo-pulse": "halo-pulse 2s ease-out infinite",
1576
+ "progress-indeterminate": "progress-indeterminate 2s ease-out infinite",
1577
+ "progress-linear": "progress-linear 2s ease-out infinite"
1578
+ }
1579
+ }, extendTokens, ...extensions),
1580
+ ...overrideTokens,
1581
+ colors: {
1582
+ ...overrideTokens.colors,
1583
+ inherit: "inherit",
1584
+ current: "currentColor",
1585
+ transparent: "transparent",
1586
+ black: "black",
1587
+ white: "white"
1588
+ }
1589
+ },
1590
+ plugins: [
1591
+ tailwindcssContainerQueries,
1592
+ tailwindcssForms,
1593
+ tailwindcssLogical,
1594
+ tailwindcssRadix(),
1595
+ // https://adoxography.github.io/tailwind-scrollbar/utilities
1596
+ tailwindScrollbar({
1597
+ nocompatible: true,
1598
+ preferredStrategy: "pseudoelements"
1599
+ })
1600
+ ],
1601
+ ...env === "development" && {
1602
+ mode: "jit"
1603
+ },
1604
+ content,
1605
+ future: {
1606
+ hoverOnlyWhenSupported: true
1607
+ }
1608
+ });
1609
+
1610
+ export {
1611
+ tokenSet,
1612
+ tailwindConfig
1613
+ };
1614
+ //# sourceMappingURL=chunk-HJE6EZWE.mjs.map