@ohos-ports/dxos-react-ui-theme 0.8.3-beta.0

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