@sanity/ui 2.0.12 → 2.0.13-alpha.2

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 (115) hide show
  1. package/dist/_chunks-cjs/getScopedTheme.js +547 -0
  2. package/dist/_chunks-cjs/getScopedTheme.js.map +1 -0
  3. package/dist/_chunks-es/getScopedTheme.mjs +548 -0
  4. package/dist/_chunks-es/getScopedTheme.mjs.map +1 -0
  5. package/dist/_legacy/getScopedTheme.esm.js +548 -0
  6. package/dist/_legacy/getScopedTheme.esm.js.map +1 -0
  7. package/dist/index.d.mts +2 -2
  8. package/dist/index.d.ts +2 -2
  9. package/dist/index.esm.js +74 -74
  10. package/dist/index.esm.js.map +1 -1
  11. package/dist/index.js +202 -202
  12. package/dist/index.js.map +1 -1
  13. package/dist/index.mjs +74 -74
  14. package/dist/index.mjs.map +1 -1
  15. package/dist/theme.d.mts +1 -1
  16. package/dist/theme.d.ts +1 -1
  17. package/dist/theme.esm.js +51 -587
  18. package/dist/theme.esm.js.map +1 -1
  19. package/dist/theme.js +22 -560
  20. package/dist/theme.js.map +1 -1
  21. package/dist/theme.mjs +51 -587
  22. package/dist/theme.mjs.map +1 -1
  23. package/package.json +1 -1
  24. package/src/core/components/autocomplete/autocomplete.styles.tsx +1 -1
  25. package/src/core/components/breadcrumbs/breadcrumbs.styles.ts +1 -1
  26. package/src/core/components/dialog/__workshop__/panes.tsx +1 -1
  27. package/src/core/components/dialog/dialog.tsx +1 -1
  28. package/src/core/components/dialog/styles.ts +3 -3
  29. package/src/core/components/hotkeys/hotkeys.tsx +1 -1
  30. package/src/core/components/menu/menu.tsx +1 -1
  31. package/src/core/components/menu/menuDivider.ts +1 -1
  32. package/src/core/components/skeleton/skeleton.tsx +1 -1
  33. package/src/core/components/skeleton/textSkeleton.tsx +3 -3
  34. package/src/core/components/tab/tab.tsx +1 -1
  35. package/src/core/components/tab/tabList.tsx +1 -1
  36. package/src/core/components/toast/toast.tsx +1 -1
  37. package/src/core/components/toast/toastProvider.tsx +1 -1
  38. package/src/core/components/tree/style.ts +2 -3
  39. package/src/core/components/tree/treeItem.tsx +1 -1
  40. package/src/core/hooks/useMediaIndex/useMediaIndex.test.tsx +1 -1
  41. package/src/core/primitives/_selectable/selectable.tsx +1 -1
  42. package/src/core/primitives/_selectable/style.ts +1 -2
  43. package/src/core/primitives/avatar/avatar.tsx +1 -1
  44. package/src/core/primitives/avatar/avatarCounter.tsx +3 -4
  45. package/src/core/primitives/avatar/avatarStack.tsx +2 -3
  46. package/src/core/primitives/avatar/styles.ts +3 -3
  47. package/src/core/primitives/badge/badge.tsx +1 -1
  48. package/src/core/primitives/box/box.tsx +1 -1
  49. package/src/core/primitives/button/__workshop__/sanityUploadButton.tsx +1 -1
  50. package/src/core/primitives/button/__workshop__/styled1.tsx +1 -1
  51. package/src/core/primitives/button/__workshop__/styled2.tsx +1 -1
  52. package/src/core/primitives/button/button.tsx +1 -1
  53. package/src/core/primitives/button/styles.ts +3 -3
  54. package/src/core/primitives/card/__workshop__/selected.tsx +3 -3
  55. package/src/core/primitives/card/__workshop__/styled.tsx +1 -1
  56. package/src/core/primitives/card/card.tsx +1 -1
  57. package/src/core/primitives/card/styles.ts +2 -3
  58. package/src/core/primitives/checkbox/checkbox.tsx +1 -1
  59. package/src/core/primitives/checkbox/styles.ts +1 -2
  60. package/src/core/primitives/code/code.tsx +1 -1
  61. package/src/core/primitives/code/styles.ts +1 -4
  62. package/src/core/primitives/container/container.tsx +1 -1
  63. package/src/core/primitives/container/styles.ts +2 -2
  64. package/src/core/primitives/flex/__workshop__/example.tsx +1 -1
  65. package/src/core/primitives/flex/flex.tsx +1 -1
  66. package/src/core/primitives/grid/grid.tsx +1 -1
  67. package/src/core/primitives/heading/heading.tsx +1 -1
  68. package/src/core/primitives/heading/styles.ts +1 -2
  69. package/src/core/primitives/inline/inline.tsx +1 -1
  70. package/src/core/primitives/inline/styles.ts +2 -2
  71. package/src/core/primitives/kbd/kbd.tsx +1 -1
  72. package/src/core/primitives/label/label.tsx +1 -1
  73. package/src/core/primitives/label/styles.ts +1 -2
  74. package/src/core/primitives/popover/popoverCard.tsx +1 -1
  75. package/src/core/primitives/radio/radio.tsx +1 -1
  76. package/src/core/primitives/radio/styles.ts +1 -2
  77. package/src/core/primitives/select/select.tsx +1 -1
  78. package/src/core/primitives/select/styles.ts +5 -5
  79. package/src/core/primitives/spinner/spinner.tsx +1 -1
  80. package/src/core/primitives/stack/stack.tsx +1 -1
  81. package/src/core/primitives/stack/styles.ts +2 -2
  82. package/src/core/primitives/switch/styles.ts +3 -4
  83. package/src/core/primitives/switch/switch.tsx +1 -1
  84. package/src/core/primitives/text/__workshop__/colored.tsx +3 -3
  85. package/src/core/primitives/text/styles.ts +1 -2
  86. package/src/core/primitives/text/text.tsx +1 -1
  87. package/src/core/primitives/textArea/textArea.tsx +1 -1
  88. package/src/core/primitives/textInput/textInput.tsx +1 -1
  89. package/src/core/primitives/tooltip/tooltip.tsx +1 -1
  90. package/src/core/primitives/tooltip/tooltipCard.tsx +1 -1
  91. package/src/core/styles/border/borderStyle.ts +6 -6
  92. package/src/core/styles/box/boxStyle.ts +5 -5
  93. package/src/core/styles/flex/flexItemStyle.ts +2 -2
  94. package/src/core/styles/flex/flexStyle.ts +6 -6
  95. package/src/core/styles/font/responsiveFont.ts +2 -2
  96. package/src/core/styles/font/textAlignStyle.ts +2 -2
  97. package/src/core/styles/grid/gridItemStyle.ts +7 -7
  98. package/src/core/styles/grid/gridStyle.ts +9 -9
  99. package/src/core/styles/helpers.ts +2 -2
  100. package/src/core/styles/input/responsiveInputPaddingStyle.ts +2 -2
  101. package/src/core/styles/input/textInputStyle.ts +4 -4
  102. package/src/core/styles/margin/marginsStyle.test.ts +1 -1
  103. package/src/core/styles/padding/paddingStyle.test.ts +1 -1
  104. package/src/core/styles/radius/radiusStyle.ts +2 -2
  105. package/src/core/styles/shadow/shadowStyle.ts +2 -2
  106. package/src/core/theme/__workshop__/build/Root.tsx +1 -2
  107. package/src/core/theme/theme.test.tsx +1 -1
  108. package/src/core/theme/themeProvider.tsx +6 -7
  109. package/src/core/theme/useTheme.ts +2 -1
  110. package/src/core/utils/arrow/arrow.tsx +1 -1
  111. package/src/core/utils/elementQuery/__workshop__/customMedia.tsx +1 -1
  112. package/src/core/utils/layer/layer.tsx +1 -1
  113. package/src/core/utils/srOnly/srOnly.tsx +1 -1
  114. package/src/core/utils/virtualList/virtualList.tsx +1 -1
  115. package/src/theme/system/theme.ts +1 -1
@@ -0,0 +1,548 @@
1
+ const defaultThemeConfig = {
2
+ _version: 2,
3
+ avatar: {
4
+ sizes: [
5
+ { distance: -4, size: 19 },
6
+ { distance: -4, size: 25 },
7
+ { distance: -8, size: 33 },
8
+ { distance: -12, size: 49 }
9
+ ],
10
+ focusRing: { offset: 1, width: 1 }
11
+ },
12
+ button: {
13
+ textWeight: "medium",
14
+ border: { width: 1 },
15
+ focusRing: { offset: -1, width: 1 }
16
+ },
17
+ card: {
18
+ border: { width: 1 },
19
+ focusRing: { offset: -1, width: 1 },
20
+ shadow: { outline: 0.5 }
21
+ },
22
+ container: [320, 640, 960, 1280, 1600, 1920],
23
+ media: [360, 600, 900, 1200, 1800, 2400],
24
+ layer: {
25
+ dialog: { zOffset: 600 },
26
+ popover: { zOffset: 400 },
27
+ tooltip: { zOffset: 200 }
28
+ },
29
+ radius: [0, 1, 3, 6, 9, 12, 21],
30
+ shadow: [
31
+ null,
32
+ { umbra: [0, 0, 0, 0], penumbra: [0, 0, 0, 0], ambient: [0, 0, 0, 0] },
33
+ { umbra: [0, 3, 5, -2], penumbra: [0, 6, 10, 0], ambient: [0, 1, 18, 1] },
34
+ { umbra: [0, 7, 8, -4], penumbra: [0, 12, 17, 2], ambient: [0, 5, 22, 4] },
35
+ { umbra: [0, 9, 11, -5], penumbra: [0, 18, 28, 2], ambient: [0, 7, 34, 6] },
36
+ { umbra: [0, 11, 15, -7], penumbra: [0, 24, 38, 3], ambient: [0, 9, 46, 8] }
37
+ ],
38
+ space: [0, 4, 8, 12, 20, 32, 52, 84, 136, 220],
39
+ input: {
40
+ border: {
41
+ width: 1
42
+ },
43
+ checkbox: {
44
+ size: 17,
45
+ focusRing: { offset: -1, width: 1 }
46
+ },
47
+ radio: {
48
+ size: 17,
49
+ markSize: 9,
50
+ focusRing: { offset: -1, width: 1 }
51
+ },
52
+ switch: {
53
+ width: 25,
54
+ height: 17,
55
+ padding: 5,
56
+ transitionDurationMs: 150,
57
+ transitionTimingFunction: "ease-out",
58
+ focusRing: { offset: 1, width: 1 }
59
+ },
60
+ select: {
61
+ focusRing: { offset: -1, width: 1 }
62
+ },
63
+ text: {
64
+ focusRing: { offset: -1, width: 1 }
65
+ }
66
+ },
67
+ style: {
68
+ button: {
69
+ root: {
70
+ transition: "background-color 100ms,border-color 100ms,color 100ms"
71
+ }
72
+ }
73
+ // card: {
74
+ // root: {
75
+ // transition: 'background-color 100ms,border-color 100ms,color 100ms',
76
+ // },
77
+ // },
78
+ }
79
+ }, cache$4 = /* @__PURE__ */ new WeakMap();
80
+ function themeColor_v0_v2(color_v0) {
81
+ var _a, _b, _c;
82
+ const cached_v2 = cache$4.get(color_v0);
83
+ if (cached_v2)
84
+ return cached_v2;
85
+ const base = stateThemeColor_v0_v2(color_v0, color_v0.card.enabled), color_v2 = {
86
+ _blend: color_v0._blend || (color_v0.dark ? "screen" : "multiply"),
87
+ _dark: color_v0.dark,
88
+ accent: base.accent,
89
+ avatar: base.avatar,
90
+ backdrop: color_v0.base.shadow.ambient,
91
+ badge: base.badge,
92
+ bg: color_v0.base.bg,
93
+ border: color_v0.base.border,
94
+ button: {
95
+ default: stateTonesThemeColor_v0_v2(color_v0, color_v0.button.default),
96
+ ghost: stateTonesThemeColor_v0_v2(color_v0, color_v0.button.ghost),
97
+ bleed: stateTonesThemeColor_v0_v2(color_v0, color_v0.button.bleed)
98
+ },
99
+ code: base.code,
100
+ fg: color_v0.base.fg,
101
+ focusRing: color_v0.base.focusRing,
102
+ icon: base.muted.fg,
103
+ input: {
104
+ default: inputStatesThemeColor_v0_v2(color_v0.input.default),
105
+ invalid: inputStatesThemeColor_v0_v2(color_v0.input.invalid)
106
+ },
107
+ kbd: base.kbd,
108
+ link: base.link,
109
+ muted: {
110
+ ...base.muted,
111
+ bg: ((_a = color_v0.selectable) == null ? void 0 : _a.default.enabled.bg2) || color_v0.base.bg
112
+ },
113
+ selectable: stateTonesThemeColor_v0_v2(color_v0, color_v0.selectable || color_v0.muted),
114
+ shadow: color_v0.base.shadow,
115
+ skeleton: {
116
+ from: ((_b = color_v0.skeleton) == null ? void 0 : _b.from) || color_v0.base.border,
117
+ to: ((_c = color_v0.skeleton) == null ? void 0 : _c.to) || color_v0.base.border
118
+ },
119
+ syntax: color_v0.syntax
120
+ };
121
+ return cache$4.set(color_v0, color_v2), color_v2;
122
+ }
123
+ function stateTonesThemeColor_v0_v2(v0, t) {
124
+ return {
125
+ default: {
126
+ enabled: stateThemeColor_v0_v2(v0, t.default.enabled),
127
+ hovered: stateThemeColor_v0_v2(v0, t.default.hovered),
128
+ pressed: stateThemeColor_v0_v2(v0, t.default.pressed),
129
+ selected: stateThemeColor_v0_v2(v0, t.default.selected),
130
+ disabled: stateThemeColor_v0_v2(v0, t.default.disabled)
131
+ },
132
+ primary: {
133
+ enabled: stateThemeColor_v0_v2(v0, t.primary.enabled),
134
+ hovered: stateThemeColor_v0_v2(v0, t.primary.hovered),
135
+ pressed: stateThemeColor_v0_v2(v0, t.primary.pressed),
136
+ selected: stateThemeColor_v0_v2(v0, t.primary.selected),
137
+ disabled: stateThemeColor_v0_v2(v0, t.primary.disabled)
138
+ },
139
+ positive: {
140
+ enabled: stateThemeColor_v0_v2(v0, t.positive.enabled),
141
+ hovered: stateThemeColor_v0_v2(v0, t.positive.hovered),
142
+ pressed: stateThemeColor_v0_v2(v0, t.positive.pressed),
143
+ selected: stateThemeColor_v0_v2(v0, t.positive.selected),
144
+ disabled: stateThemeColor_v0_v2(v0, t.positive.disabled)
145
+ },
146
+ caution: {
147
+ enabled: stateThemeColor_v0_v2(v0, t.caution.enabled),
148
+ hovered: stateThemeColor_v0_v2(v0, t.caution.hovered),
149
+ pressed: stateThemeColor_v0_v2(v0, t.caution.pressed),
150
+ selected: stateThemeColor_v0_v2(v0, t.caution.selected),
151
+ disabled: stateThemeColor_v0_v2(v0, t.caution.disabled)
152
+ },
153
+ critical: {
154
+ enabled: stateThemeColor_v0_v2(v0, t.critical.enabled),
155
+ hovered: stateThemeColor_v0_v2(v0, t.critical.hovered),
156
+ pressed: stateThemeColor_v0_v2(v0, t.critical.pressed),
157
+ selected: stateThemeColor_v0_v2(v0, t.critical.selected),
158
+ disabled: stateThemeColor_v0_v2(v0, t.critical.disabled)
159
+ }
160
+ };
161
+ }
162
+ function stateThemeColor_v0_v2(v0, state) {
163
+ var _a, _b;
164
+ return {
165
+ ...state,
166
+ avatar: {
167
+ gray: {
168
+ bg: v0.spot.gray,
169
+ fg: v0.base.bg
170
+ },
171
+ blue: {
172
+ bg: v0.spot.blue,
173
+ fg: v0.base.bg
174
+ },
175
+ purple: {
176
+ bg: v0.spot.purple,
177
+ fg: v0.base.bg
178
+ },
179
+ magenta: {
180
+ bg: v0.spot.magenta,
181
+ fg: v0.base.bg
182
+ },
183
+ red: {
184
+ bg: v0.spot.red,
185
+ fg: v0.base.bg
186
+ },
187
+ orange: {
188
+ bg: v0.spot.orange,
189
+ fg: v0.base.bg
190
+ },
191
+ yellow: {
192
+ bg: v0.spot.yellow,
193
+ fg: v0.base.bg
194
+ },
195
+ green: {
196
+ bg: v0.spot.green,
197
+ fg: v0.base.bg
198
+ },
199
+ cyan: {
200
+ bg: v0.spot.cyan,
201
+ fg: v0.base.bg
202
+ }
203
+ },
204
+ badge: {
205
+ default: {
206
+ bg: v0.muted.default.enabled.bg,
207
+ fg: v0.muted.default.enabled.fg,
208
+ dot: v0.muted.default.enabled.muted.fg,
209
+ icon: v0.muted.default.enabled.muted.fg
210
+ },
211
+ primary: {
212
+ bg: v0.muted.primary.enabled.bg,
213
+ fg: v0.muted.primary.enabled.fg,
214
+ dot: v0.muted.primary.enabled.muted.fg,
215
+ icon: v0.muted.primary.enabled.muted.fg
216
+ },
217
+ positive: {
218
+ bg: v0.muted.positive.enabled.bg,
219
+ fg: v0.muted.positive.enabled.fg,
220
+ dot: v0.muted.positive.enabled.muted.fg,
221
+ icon: v0.muted.positive.enabled.muted.fg
222
+ },
223
+ caution: {
224
+ bg: v0.muted.caution.enabled.bg,
225
+ fg: v0.muted.caution.enabled.fg,
226
+ dot: v0.muted.caution.enabled.muted.fg,
227
+ icon: v0.muted.caution.enabled.muted.fg
228
+ },
229
+ critical: {
230
+ bg: v0.muted.critical.enabled.bg,
231
+ fg: v0.muted.critical.enabled.fg,
232
+ dot: v0.muted.critical.enabled.muted.fg,
233
+ icon: v0.muted.critical.enabled.muted.fg
234
+ }
235
+ },
236
+ kbd: {
237
+ bg: v0.muted.default.enabled.bg,
238
+ fg: v0.muted.default.enabled.fg,
239
+ border: v0.muted.default.enabled.border
240
+ },
241
+ muted: {
242
+ ...v0.muted.default.enabled.muted,
243
+ bg: state.bg2 || state.bg
244
+ },
245
+ skeleton: {
246
+ from: ((_a = state.skeleton) == null ? void 0 : _a.from) || state.border,
247
+ to: ((_b = state.skeleton) == null ? void 0 : _b.to) || state.border
248
+ }
249
+ };
250
+ }
251
+ function inputStatesThemeColor_v0_v2(states) {
252
+ return {
253
+ enabled: inputStateThemeColor_v0_v2(states.enabled),
254
+ disabled: inputStateThemeColor_v0_v2(states.disabled),
255
+ readOnly: inputStateThemeColor_v0_v2(states.readOnly),
256
+ hovered: inputStateThemeColor_v0_v2(states.hovered)
257
+ };
258
+ }
259
+ function inputStateThemeColor_v0_v2(state) {
260
+ return {
261
+ bg: state.bg,
262
+ border: state.border,
263
+ fg: state.fg,
264
+ muted: {
265
+ bg: state.bg2
266
+ },
267
+ placeholder: state.placeholder
268
+ };
269
+ }
270
+ const cache$3 = /* @__PURE__ */ new WeakMap();
271
+ function getTheme_v2(theme) {
272
+ var _a, _b;
273
+ if ((_a = theme.sanity.v2) != null && _a._resolved)
274
+ return theme.sanity.v2;
275
+ const cached_v2 = cache$3.get(theme);
276
+ if (cached_v2)
277
+ return cached_v2;
278
+ const v2 = {
279
+ _version: 2,
280
+ _resolved: !0,
281
+ avatar: {
282
+ ...defaultThemeConfig.avatar,
283
+ ...theme.sanity.avatar
284
+ },
285
+ button: {
286
+ ...defaultThemeConfig.button,
287
+ ...theme.sanity.button
288
+ },
289
+ card: defaultThemeConfig.card,
290
+ color: themeColor_v0_v2(theme.sanity.color),
291
+ container: theme.sanity.container,
292
+ font: theme.sanity.fonts,
293
+ input: {
294
+ ...defaultThemeConfig.input,
295
+ ...theme.sanity.input,
296
+ checkbox: {
297
+ ...defaultThemeConfig.input.checkbox,
298
+ ...theme.sanity.input.checkbox
299
+ },
300
+ radio: {
301
+ ...defaultThemeConfig.input.radio,
302
+ ...theme.sanity.input.radio
303
+ },
304
+ switch: {
305
+ ...defaultThemeConfig.input.switch,
306
+ ...theme.sanity.input.switch
307
+ }
308
+ },
309
+ layer: (_b = theme.sanity.layer) != null ? _b : defaultThemeConfig.layer,
310
+ media: theme.sanity.media,
311
+ radius: theme.sanity.radius,
312
+ shadow: theme.sanity.shadows,
313
+ space: theme.sanity.space,
314
+ style: theme.sanity.styles
315
+ };
316
+ return cache$3.set(theme, v2), v2;
317
+ }
318
+ function is_v2(themeProp) {
319
+ return themeProp._version === 2;
320
+ }
321
+ const cache$2 = /* @__PURE__ */ new WeakMap();
322
+ function v0_v2(v0) {
323
+ if (v0.v2)
324
+ return v0.v2;
325
+ const cached_v2 = cache$2.get(v0);
326
+ if (cached_v2)
327
+ return cached_v2;
328
+ const {
329
+ avatar,
330
+ button,
331
+ color,
332
+ container,
333
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
334
+ focusRing: _unused_focusRing,
335
+ fonts: font,
336
+ input,
337
+ layer,
338
+ media,
339
+ radius,
340
+ shadows: shadow,
341
+ space,
342
+ styles: style
343
+ } = v0, v2 = {
344
+ _version: 2,
345
+ avatar: {
346
+ ...defaultThemeConfig.avatar,
347
+ ...avatar
348
+ },
349
+ button: {
350
+ ...defaultThemeConfig.button,
351
+ ...button
352
+ },
353
+ card: defaultThemeConfig.card,
354
+ color: {
355
+ light: {
356
+ transparent: themeColor_v0_v2(color.light.transparent),
357
+ default: themeColor_v0_v2(color.light.default),
358
+ primary: themeColor_v0_v2(color.light.primary),
359
+ positive: themeColor_v0_v2(color.light.positive),
360
+ caution: themeColor_v0_v2(color.light.caution),
361
+ critical: themeColor_v0_v2(color.light.critical)
362
+ },
363
+ dark: {
364
+ transparent: themeColor_v0_v2(color.dark.transparent),
365
+ default: themeColor_v0_v2(color.dark.default),
366
+ primary: themeColor_v0_v2(color.dark.primary),
367
+ positive: themeColor_v0_v2(color.dark.positive),
368
+ caution: themeColor_v0_v2(color.dark.caution),
369
+ critical: themeColor_v0_v2(color.dark.critical)
370
+ }
371
+ },
372
+ container,
373
+ font,
374
+ input: {
375
+ ...defaultThemeConfig.input,
376
+ ...input,
377
+ checkbox: {
378
+ ...defaultThemeConfig.input.checkbox,
379
+ ...input.checkbox
380
+ },
381
+ radio: {
382
+ ...defaultThemeConfig.input.radio,
383
+ ...input.radio
384
+ },
385
+ switch: {
386
+ ...defaultThemeConfig.input.switch,
387
+ ...input.switch
388
+ }
389
+ },
390
+ layer: layer != null ? layer : defaultThemeConfig.layer,
391
+ media,
392
+ radius,
393
+ shadow,
394
+ space,
395
+ style
396
+ };
397
+ return cache$2.set(v0, v2), v2;
398
+ }
399
+ const cache$1 = /* @__PURE__ */ new WeakMap();
400
+ function v2_v0(v2) {
401
+ const cachedTheme = cache$1.get(v2);
402
+ if (cachedTheme)
403
+ return cachedTheme;
404
+ const {
405
+ avatar,
406
+ button,
407
+ color,
408
+ container,
409
+ font: fonts,
410
+ input,
411
+ media,
412
+ radius,
413
+ shadow: shadows,
414
+ space,
415
+ style: styles
416
+ } = v2;
417
+ return {
418
+ _version: 0,
419
+ avatar,
420
+ button,
421
+ container,
422
+ color: {
423
+ light: {
424
+ transparent: themeColor_v2_v0(color.light.transparent),
425
+ default: themeColor_v2_v0(color.light.default),
426
+ primary: themeColor_v2_v0(color.light.primary),
427
+ positive: themeColor_v2_v0(color.light.positive),
428
+ caution: themeColor_v2_v0(color.light.caution),
429
+ critical: themeColor_v2_v0(color.light.critical)
430
+ },
431
+ dark: {
432
+ transparent: themeColor_v2_v0(color.dark.transparent),
433
+ default: themeColor_v2_v0(color.dark.default),
434
+ primary: themeColor_v2_v0(color.dark.primary),
435
+ positive: themeColor_v2_v0(color.dark.positive),
436
+ caution: themeColor_v2_v0(color.dark.caution),
437
+ critical: themeColor_v2_v0(color.dark.critical)
438
+ }
439
+ },
440
+ focusRing: input.text.focusRing,
441
+ fonts,
442
+ input,
443
+ media,
444
+ radius,
445
+ shadows,
446
+ space,
447
+ styles,
448
+ v2
449
+ };
450
+ }
451
+ function themeColor_v2_v0(color_v2) {
452
+ return {
453
+ base: {
454
+ bg: color_v2.bg,
455
+ fg: color_v2.fg,
456
+ border: color_v2.border,
457
+ focusRing: color_v2.focusRing,
458
+ shadow: color_v2.shadow
459
+ },
460
+ button: color_v2.button,
461
+ card: color_v2.selectable.default,
462
+ dark: color_v2._dark,
463
+ input: {
464
+ default: inputStatesThemeColor_v2_v0(color_v2.input.default),
465
+ invalid: inputStatesThemeColor_v2_v0(color_v2.input.invalid)
466
+ },
467
+ muted: {
468
+ ...color_v2.button.ghost,
469
+ transparent: color_v2.button.ghost.default
470
+ },
471
+ solid: {
472
+ ...color_v2.button.default,
473
+ transparent: color_v2.button.default.default
474
+ },
475
+ selectable: color_v2.selectable,
476
+ spot: {
477
+ gray: color_v2.avatar.gray.bg,
478
+ blue: color_v2.avatar.blue.bg,
479
+ purple: color_v2.avatar.purple.bg,
480
+ magenta: color_v2.avatar.magenta.bg,
481
+ red: color_v2.avatar.red.bg,
482
+ orange: color_v2.avatar.orange.bg,
483
+ yellow: color_v2.avatar.yellow.bg,
484
+ green: color_v2.avatar.green.bg,
485
+ cyan: color_v2.avatar.cyan.bg
486
+ },
487
+ syntax: color_v2.syntax
488
+ };
489
+ }
490
+ function inputStatesThemeColor_v2_v0(t) {
491
+ return {
492
+ enabled: inputStateThemeColor_v2_v0(t.enabled),
493
+ disabled: inputStateThemeColor_v2_v0(t.disabled),
494
+ readOnly: inputStateThemeColor_v2_v0(t.readOnly),
495
+ hovered: inputStateThemeColor_v2_v0(t.hovered)
496
+ };
497
+ }
498
+ function inputStateThemeColor_v2_v0(t) {
499
+ return {
500
+ bg: t.bg,
501
+ bg2: t.muted.bg,
502
+ border: t.border,
503
+ fg: t.fg,
504
+ placeholder: t.placeholder
505
+ };
506
+ }
507
+ const cache = /* @__PURE__ */ new Map();
508
+ function getScopedTheme(themeProp, scheme, tone) {
509
+ const cachedTheme = _getCachedTheme(themeProp, scheme, tone);
510
+ if (cachedTheme)
511
+ return cachedTheme;
512
+ const v0 = is_v2(themeProp) ? v2_v0(themeProp) : themeProp, v2 = is_v2(themeProp) ? themeProp : v0_v2(themeProp), colorScheme_v0 = v0.color[scheme] || v0.color.light, color_v0 = colorScheme_v0[tone] || colorScheme_v0.default, layer_v0 = v0.layer || defaultThemeConfig.layer, colorScheme_v2 = v2.color[scheme] || v2.color.light, color_v2 = colorScheme_v2[tone] || colorScheme_v2.default, layer_v2 = v2.layer || defaultThemeConfig.layer, theme = {
513
+ sanity: {
514
+ ...v0,
515
+ color: color_v0,
516
+ layer: layer_v0,
517
+ v2: {
518
+ ...v2,
519
+ _resolved: !0,
520
+ color: color_v2,
521
+ layer: layer_v2
522
+ }
523
+ }
524
+ };
525
+ return _setCachedTheme(themeProp, scheme, tone, theme), theme;
526
+ }
527
+ function _getCachedTheme(rootTheme, scheme, tone) {
528
+ const schemeCache = cache.get(scheme);
529
+ if (!schemeCache)
530
+ return;
531
+ const toneCache = schemeCache.get(tone);
532
+ if (toneCache)
533
+ return toneCache.get(rootTheme);
534
+ }
535
+ function _setCachedTheme(rootTheme, scheme, tone, theme) {
536
+ cache.has(scheme) || cache.set(scheme, /* @__PURE__ */ new Map());
537
+ const schemeCache = cache.get(scheme);
538
+ schemeCache.has(tone) || schemeCache.set(tone, /* @__PURE__ */ new WeakMap()), schemeCache.get(tone).set(rootTheme, theme);
539
+ }
540
+ export {
541
+ getTheme_v2 as a,
542
+ v0_v2 as b,
543
+ defaultThemeConfig as d,
544
+ getScopedTheme as g,
545
+ is_v2 as i,
546
+ v2_v0 as v
547
+ };
548
+ //# sourceMappingURL=getScopedTheme.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getScopedTheme.mjs","sources":["../../src/theme/defaults/config.ts","../../src/theme/versioning/themeColor_v0_v2.ts","../../src/theme/versioning/getTheme_v2.ts","../../src/theme/versioning/is_v2.ts","../../src/theme/versioning/v0_v2.ts","../../src/theme/versioning/v2_v0.ts","../../src/theme/getScopedTheme.ts"],"sourcesContent":["import {RootTheme_v2} from '../system'\n\nconst BORDER_WIDTH = 1\nconst OUTLINE_WIDTH = 0.5\n\nexport const defaultThemeConfig: Omit<RootTheme_v2, 'color' | 'font'> = {\n _version: 2,\n avatar: {\n sizes: [\n {distance: -4, size: 19},\n {distance: -4, size: 25},\n {distance: -8, size: 33},\n {distance: -12, size: 49},\n ],\n focusRing: {offset: 1, width: 1},\n },\n button: {\n textWeight: 'medium',\n border: {width: BORDER_WIDTH},\n focusRing: {offset: -1, width: 1},\n },\n card: {\n border: {width: BORDER_WIDTH},\n focusRing: {offset: -1, width: 1},\n shadow: {outline: OUTLINE_WIDTH},\n },\n container: [320, 640, 960, 1280, 1600, 1920],\n media: [360, 600, 900, 1200, 1800, 2400],\n layer: {\n dialog: {zOffset: 600},\n popover: {zOffset: 400},\n tooltip: {zOffset: 200},\n },\n radius: [0, 1, 3, 6, 9, 12, 21],\n shadow: [\n null,\n {umbra: [0, 0, 0, 0], penumbra: [0, 0, 0, 0], ambient: [0, 0, 0, 0]},\n {umbra: [0, 3, 5, -2], penumbra: [0, 6, 10, 0], ambient: [0, 1, 18, 1]},\n {umbra: [0, 7, 8, -4], penumbra: [0, 12, 17, 2], ambient: [0, 5, 22, 4]},\n {umbra: [0, 9, 11, -5], penumbra: [0, 18, 28, 2], ambient: [0, 7, 34, 6]},\n {umbra: [0, 11, 15, -7], penumbra: [0, 24, 38, 3], ambient: [0, 9, 46, 8]},\n ],\n space: [0, 4, 8, 12, 20, 32, 52, 84, 136, 220],\n input: {\n border: {\n width: BORDER_WIDTH,\n },\n checkbox: {\n size: 17,\n focusRing: {offset: -1, width: 1},\n },\n radio: {\n size: 17,\n markSize: 9,\n focusRing: {offset: -1, width: 1},\n },\n switch: {\n width: 25,\n height: 17,\n padding: 5,\n transitionDurationMs: 150,\n transitionTimingFunction: 'ease-out',\n focusRing: {offset: 1, width: 1},\n },\n select: {\n focusRing: {offset: -1, width: 1},\n },\n text: {\n focusRing: {offset: -1, width: 1},\n },\n },\n style: {\n button: {\n root: {\n transition: 'background-color 100ms,border-color 100ms,color 100ms',\n },\n },\n // card: {\n // root: {\n // transition: 'background-color 100ms,border-color 100ms,color 100ms',\n // },\n // },\n },\n}\n","import {\n ThemeColor,\n ThemeColorGenericState,\n ThemeColorMuted,\n ThemeColorSelectable_v2,\n ThemeColorState_v2,\n ThemeColorCard_v2,\n ThemeColorInputStates,\n ThemeColorInputMode_v2,\n ThemeColorInputState,\n ThemeColorInputState_v2,\n} from '../system'\n\nconst cache = new WeakMap<ThemeColor, ThemeColorCard_v2>()\n\n/** @internal */\nexport function themeColor_v0_v2(color_v0: ThemeColor): ThemeColorCard_v2 {\n const cached_v2 = cache.get(color_v0)\n\n if (cached_v2) return cached_v2\n\n const base = stateThemeColor_v0_v2(color_v0, color_v0.card.enabled)\n\n const color_v2: ThemeColorCard_v2 = {\n _blend: color_v0._blend || (color_v0.dark ? 'screen' : 'multiply'),\n _dark: color_v0.dark,\n accent: base.accent,\n avatar: base.avatar,\n backdrop: color_v0.base.shadow.ambient,\n badge: base.badge,\n bg: color_v0.base.bg,\n border: color_v0.base.border,\n button: {\n default: stateTonesThemeColor_v0_v2(color_v0, color_v0.button.default),\n ghost: stateTonesThemeColor_v0_v2(color_v0, color_v0.button.ghost),\n bleed: stateTonesThemeColor_v0_v2(color_v0, color_v0.button.bleed),\n },\n code: base.code,\n fg: color_v0.base.fg,\n focusRing: color_v0.base.focusRing,\n icon: base.muted.fg,\n input: {\n default: inputStatesThemeColor_v0_v2(color_v0.input.default),\n invalid: inputStatesThemeColor_v0_v2(color_v0.input.invalid),\n },\n kbd: base.kbd,\n link: base.link,\n muted: {\n ...base.muted,\n bg: color_v0.selectable?.default.enabled.bg2 || color_v0.base.bg,\n },\n selectable: stateTonesThemeColor_v0_v2(color_v0, color_v0.selectable || color_v0.muted),\n shadow: color_v0.base.shadow,\n skeleton: {\n from: color_v0.skeleton?.from || color_v0.base.border,\n to: color_v0.skeleton?.to || color_v0.base.border,\n },\n syntax: color_v0.syntax,\n }\n\n cache.set(color_v0, color_v2)\n\n return color_v2\n}\n\nfunction stateTonesThemeColor_v0_v2(\n v0: ThemeColor,\n t: Omit<ThemeColorMuted, 'transparent'>,\n): ThemeColorSelectable_v2 {\n return {\n default: {\n enabled: stateThemeColor_v0_v2(v0, t.default.enabled),\n hovered: stateThemeColor_v0_v2(v0, t.default.hovered),\n pressed: stateThemeColor_v0_v2(v0, t.default.pressed),\n selected: stateThemeColor_v0_v2(v0, t.default.selected),\n disabled: stateThemeColor_v0_v2(v0, t.default.disabled),\n },\n primary: {\n enabled: stateThemeColor_v0_v2(v0, t.primary.enabled),\n hovered: stateThemeColor_v0_v2(v0, t.primary.hovered),\n pressed: stateThemeColor_v0_v2(v0, t.primary.pressed),\n selected: stateThemeColor_v0_v2(v0, t.primary.selected),\n disabled: stateThemeColor_v0_v2(v0, t.primary.disabled),\n },\n positive: {\n enabled: stateThemeColor_v0_v2(v0, t.positive.enabled),\n hovered: stateThemeColor_v0_v2(v0, t.positive.hovered),\n pressed: stateThemeColor_v0_v2(v0, t.positive.pressed),\n selected: stateThemeColor_v0_v2(v0, t.positive.selected),\n disabled: stateThemeColor_v0_v2(v0, t.positive.disabled),\n },\n caution: {\n enabled: stateThemeColor_v0_v2(v0, t.caution.enabled),\n hovered: stateThemeColor_v0_v2(v0, t.caution.hovered),\n pressed: stateThemeColor_v0_v2(v0, t.caution.pressed),\n selected: stateThemeColor_v0_v2(v0, t.caution.selected),\n disabled: stateThemeColor_v0_v2(v0, t.caution.disabled),\n },\n critical: {\n enabled: stateThemeColor_v0_v2(v0, t.critical.enabled),\n hovered: stateThemeColor_v0_v2(v0, t.critical.hovered),\n pressed: stateThemeColor_v0_v2(v0, t.critical.pressed),\n selected: stateThemeColor_v0_v2(v0, t.critical.selected),\n disabled: stateThemeColor_v0_v2(v0, t.critical.disabled),\n },\n }\n}\n\nfunction stateThemeColor_v0_v2(v0: ThemeColor, state: ThemeColorGenericState): ThemeColorState_v2 {\n return {\n ...state,\n avatar: {\n gray: {\n bg: v0.spot.gray,\n fg: v0.base.bg,\n },\n blue: {\n bg: v0.spot.blue,\n fg: v0.base.bg,\n },\n purple: {\n bg: v0.spot.purple,\n fg: v0.base.bg,\n },\n magenta: {\n bg: v0.spot.magenta,\n fg: v0.base.bg,\n },\n red: {\n bg: v0.spot.red,\n fg: v0.base.bg,\n },\n orange: {\n bg: v0.spot.orange,\n fg: v0.base.bg,\n },\n yellow: {\n bg: v0.spot.yellow,\n fg: v0.base.bg,\n },\n green: {\n bg: v0.spot.green,\n fg: v0.base.bg,\n },\n cyan: {\n bg: v0.spot.cyan,\n fg: v0.base.bg,\n },\n },\n badge: {\n default: {\n bg: v0.muted.default.enabled.bg,\n fg: v0.muted.default.enabled.fg,\n dot: v0.muted.default.enabled.muted.fg,\n icon: v0.muted.default.enabled.muted.fg,\n },\n primary: {\n bg: v0.muted.primary.enabled.bg,\n fg: v0.muted.primary.enabled.fg,\n dot: v0.muted.primary.enabled.muted.fg,\n icon: v0.muted.primary.enabled.muted.fg,\n },\n positive: {\n bg: v0.muted.positive.enabled.bg,\n fg: v0.muted.positive.enabled.fg,\n dot: v0.muted.positive.enabled.muted.fg,\n icon: v0.muted.positive.enabled.muted.fg,\n },\n caution: {\n bg: v0.muted.caution.enabled.bg,\n fg: v0.muted.caution.enabled.fg,\n dot: v0.muted.caution.enabled.muted.fg,\n icon: v0.muted.caution.enabled.muted.fg,\n },\n critical: {\n bg: v0.muted.critical.enabled.bg,\n fg: v0.muted.critical.enabled.fg,\n dot: v0.muted.critical.enabled.muted.fg,\n icon: v0.muted.critical.enabled.muted.fg,\n },\n },\n kbd: {\n bg: v0.muted.default.enabled.bg,\n fg: v0.muted.default.enabled.fg,\n border: v0.muted.default.enabled.border,\n },\n muted: {\n ...v0.muted.default.enabled.muted,\n bg: state.bg2 || state.bg,\n },\n skeleton: {\n from: state.skeleton?.from || state.border,\n to: state.skeleton?.to || state.border,\n },\n }\n}\n\nfunction inputStatesThemeColor_v0_v2(states: ThemeColorInputStates): ThemeColorInputMode_v2 {\n return {\n enabled: inputStateThemeColor_v0_v2(states.enabled),\n disabled: inputStateThemeColor_v0_v2(states.disabled),\n readOnly: inputStateThemeColor_v0_v2(states.readOnly),\n hovered: inputStateThemeColor_v0_v2(states.hovered),\n }\n}\n\nfunction inputStateThemeColor_v0_v2(state: ThemeColorInputState): ThemeColorInputState_v2 {\n return {\n bg: state.bg,\n border: state.border,\n fg: state.fg,\n muted: {\n bg: state.bg2,\n },\n placeholder: state.placeholder,\n }\n}\n","import {defaultThemeConfig} from '../defaults/config'\nimport {Theme, Theme_v2} from '../system'\nimport {themeColor_v0_v2} from './themeColor_v0_v2'\n\nconst cache = new WeakMap<Theme, Theme_v2>()\n\n/** @public */\nexport function getTheme_v2(theme: Theme): Theme_v2 {\n if (theme.sanity.v2?._resolved) return theme.sanity.v2\n\n const cached_v2 = cache.get(theme)\n\n if (cached_v2) return cached_v2\n\n const v2: Theme_v2 = {\n _version: 2,\n _resolved: true,\n avatar: {\n ...defaultThemeConfig.avatar,\n ...theme.sanity.avatar,\n },\n button: {\n ...defaultThemeConfig.button,\n ...theme.sanity.button,\n },\n card: defaultThemeConfig.card,\n color: themeColor_v0_v2(theme.sanity.color),\n container: theme.sanity.container,\n font: theme.sanity.fonts,\n input: {\n ...defaultThemeConfig.input,\n ...theme.sanity.input,\n checkbox: {\n ...defaultThemeConfig.input.checkbox,\n ...theme.sanity.input.checkbox,\n },\n radio: {\n ...defaultThemeConfig.input.radio,\n ...theme.sanity.input.radio,\n },\n switch: {\n ...defaultThemeConfig.input.switch,\n ...theme.sanity.input.switch,\n },\n },\n layer: theme.sanity.layer ?? defaultThemeConfig.layer,\n media: theme.sanity.media,\n radius: theme.sanity.radius,\n shadow: theme.sanity.shadows,\n space: theme.sanity.space,\n style: theme.sanity.styles,\n }\n\n cache.set(theme, v2)\n\n return v2\n}\n","import {RootTheme, RootTheme_v2} from '../system'\n\n/** @internal */\nexport function is_v2(themeProp: RootTheme | RootTheme_v2): themeProp is RootTheme_v2 {\n return themeProp._version === 2\n}\n","import {defaultThemeConfig} from '../defaults/config'\nimport {RootTheme, RootTheme_v2} from '../system'\nimport {themeColor_v0_v2} from './themeColor_v0_v2'\n\nconst cache = new WeakMap<RootTheme, RootTheme_v2>()\n\n/** @internal */\nexport function v0_v2(v0: RootTheme): RootTheme_v2 {\n if (v0.v2) return v0.v2\n\n const cached_v2 = cache.get(v0)\n\n if (cached_v2) return cached_v2\n\n const {\n avatar,\n button,\n color,\n container,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n focusRing: _unused_focusRing,\n fonts: font,\n input,\n layer,\n media,\n radius,\n shadows: shadow,\n space,\n styles: style,\n } = v0\n\n const v2: RootTheme_v2 = {\n _version: 2,\n avatar: {\n ...defaultThemeConfig.avatar,\n ...avatar,\n },\n button: {\n ...defaultThemeConfig.button,\n ...button,\n },\n card: defaultThemeConfig.card,\n color: {\n light: {\n transparent: themeColor_v0_v2(color.light.transparent),\n default: themeColor_v0_v2(color.light.default),\n primary: themeColor_v0_v2(color.light.primary),\n positive: themeColor_v0_v2(color.light.positive),\n caution: themeColor_v0_v2(color.light.caution),\n critical: themeColor_v0_v2(color.light.critical),\n },\n dark: {\n transparent: themeColor_v0_v2(color.dark.transparent),\n default: themeColor_v0_v2(color.dark.default),\n primary: themeColor_v0_v2(color.dark.primary),\n positive: themeColor_v0_v2(color.dark.positive),\n caution: themeColor_v0_v2(color.dark.caution),\n critical: themeColor_v0_v2(color.dark.critical),\n },\n },\n container,\n font,\n input: {\n ...defaultThemeConfig.input,\n ...input,\n checkbox: {\n ...defaultThemeConfig.input.checkbox,\n ...input.checkbox,\n },\n radio: {\n ...defaultThemeConfig.input.radio,\n ...input.radio,\n },\n switch: {\n ...defaultThemeConfig.input.switch,\n ...input.switch,\n },\n },\n layer: layer ?? defaultThemeConfig.layer,\n media,\n radius,\n shadow,\n space,\n style,\n }\n\n cache.set(v0, v2)\n\n return v2\n}\n","import {\n RootTheme,\n RootTheme_v2,\n ThemeColor,\n ThemeColorCard_v2,\n ThemeColorInputMode_v2,\n ThemeColorInputState,\n ThemeColorInputState_v2,\n ThemeColorInputStates,\n} from '../system'\n\nconst cache = new WeakMap<RootTheme_v2, RootTheme>()\n\n/** @internal */\nexport function v2_v0(v2: RootTheme_v2): RootTheme {\n const cachedTheme = cache.get(v2)\n\n if (cachedTheme) return cachedTheme\n\n const {\n avatar,\n button,\n color,\n container,\n font: fonts,\n input,\n media,\n radius,\n shadow: shadows,\n space,\n style: styles,\n } = v2\n\n return {\n _version: 0,\n avatar,\n button,\n container,\n color: {\n light: {\n transparent: themeColor_v2_v0(color.light.transparent),\n default: themeColor_v2_v0(color.light.default),\n primary: themeColor_v2_v0(color.light.primary),\n positive: themeColor_v2_v0(color.light.positive),\n caution: themeColor_v2_v0(color.light.caution),\n critical: themeColor_v2_v0(color.light.critical),\n },\n dark: {\n transparent: themeColor_v2_v0(color.dark.transparent),\n default: themeColor_v2_v0(color.dark.default),\n primary: themeColor_v2_v0(color.dark.primary),\n positive: themeColor_v2_v0(color.dark.positive),\n caution: themeColor_v2_v0(color.dark.caution),\n critical: themeColor_v2_v0(color.dark.critical),\n },\n },\n focusRing: input.text.focusRing,\n fonts,\n input,\n media,\n radius,\n shadows,\n space,\n styles,\n\n v2,\n }\n}\n\nfunction themeColor_v2_v0(color_v2: ThemeColorCard_v2): ThemeColor {\n return {\n base: {\n bg: color_v2.bg,\n fg: color_v2.fg,\n border: color_v2.border,\n focusRing: color_v2.focusRing,\n shadow: color_v2.shadow,\n },\n button: color_v2.button,\n card: color_v2.selectable.default,\n dark: color_v2._dark,\n input: {\n default: inputStatesThemeColor_v2_v0(color_v2.input.default),\n invalid: inputStatesThemeColor_v2_v0(color_v2.input.invalid),\n },\n muted: {\n ...color_v2.button.ghost,\n transparent: color_v2.button.ghost.default,\n },\n solid: {\n ...color_v2.button.default,\n transparent: color_v2.button.default.default,\n },\n selectable: color_v2.selectable,\n spot: {\n gray: color_v2.avatar.gray.bg,\n blue: color_v2.avatar.blue.bg,\n purple: color_v2.avatar.purple.bg,\n magenta: color_v2.avatar.magenta.bg,\n red: color_v2.avatar.red.bg,\n orange: color_v2.avatar.orange.bg,\n yellow: color_v2.avatar.yellow.bg,\n green: color_v2.avatar.green.bg,\n cyan: color_v2.avatar.cyan.bg,\n },\n syntax: color_v2.syntax,\n }\n}\n\nfunction inputStatesThemeColor_v2_v0(t: ThemeColorInputMode_v2): ThemeColorInputStates {\n return {\n enabled: inputStateThemeColor_v2_v0(t.enabled),\n disabled: inputStateThemeColor_v2_v0(t.disabled),\n readOnly: inputStateThemeColor_v2_v0(t.readOnly),\n hovered: inputStateThemeColor_v2_v0(t.hovered),\n }\n}\n\nfunction inputStateThemeColor_v2_v0(t: ThemeColorInputState_v2): ThemeColorInputState {\n return {\n bg: t.bg,\n bg2: t.muted.bg,\n border: t.border,\n fg: t.fg,\n placeholder: t.placeholder,\n }\n}\n","import {defaultThemeConfig} from './defaults/config'\nimport {RootTheme, RootTheme_v2, Theme, ThemeColorCardToneKey, ThemeColorSchemeKey} from './system'\nimport {is_v2, v0_v2, v2_v0} from './versioning'\n\n// cache[scheme][tone][rootTheme] = theme\nconst cache = new Map<\n ThemeColorSchemeKey,\n Map<ThemeColorCardToneKey, WeakMap<RootTheme | RootTheme_v2, Theme>>\n>()\n\n/** @internal */\nexport function getScopedTheme(\n themeProp: RootTheme | RootTheme_v2,\n scheme: ThemeColorSchemeKey,\n tone: ThemeColorCardToneKey,\n): Theme {\n const cachedTheme = _getCachedTheme(themeProp, scheme, tone)\n\n if (cachedTheme) return cachedTheme\n\n const v0 = is_v2(themeProp) ? v2_v0(themeProp) : themeProp\n const v2 = is_v2(themeProp) ? themeProp : v0_v2(themeProp)\n\n const colorScheme_v0 = v0.color[scheme] || v0.color.light\n const color_v0 = colorScheme_v0[tone] || colorScheme_v0.default\n const layer_v0 = v0.layer || defaultThemeConfig.layer\n\n const colorScheme_v2 = v2.color[scheme] || v2.color.light\n const color_v2 = colorScheme_v2[tone] || colorScheme_v2.default\n const layer_v2 = v2.layer || defaultThemeConfig.layer\n\n const theme: Theme = {\n sanity: {\n ...v0,\n color: color_v0,\n layer: layer_v0,\n v2: {\n ...v2,\n _resolved: true,\n color: color_v2,\n layer: layer_v2,\n },\n },\n }\n\n _setCachedTheme(themeProp, scheme, tone, theme)\n\n return theme\n}\n\nfunction _getCachedTheme(\n rootTheme: RootTheme | RootTheme_v2,\n scheme: ThemeColorSchemeKey,\n tone: ThemeColorCardToneKey,\n) {\n const schemeCache = cache.get(scheme)\n\n if (!schemeCache) return undefined\n\n const toneCache = schemeCache.get(tone)\n\n if (!toneCache) return undefined\n\n return toneCache.get(rootTheme)\n}\n\nfunction _setCachedTheme(\n rootTheme: RootTheme | RootTheme_v2,\n scheme: ThemeColorSchemeKey,\n tone: ThemeColorCardToneKey,\n theme: Theme,\n) {\n if (!cache.has(scheme)) cache.set(scheme, new Map())\n\n const schemeCache = cache.get(scheme)!\n\n if (!schemeCache.has(tone)) schemeCache.set(tone, new WeakMap())\n\n const toneCache = schemeCache.get(tone)!\n\n toneCache.set(rootTheme, theme)\n}\n"],"names":["cache"],"mappings":"AAKO,MAAM,qBAA2D;AAAA,EACtE,UAAU;AAAA,EACV,QAAQ;AAAA,IACN,OAAO;AAAA,MACL,EAAC,UAAU,IAAI,MAAM,GAAE;AAAA,MACvB,EAAC,UAAU,IAAI,MAAM,GAAE;AAAA,MACvB,EAAC,UAAU,IAAI,MAAM,GAAE;AAAA,MACvB,EAAC,UAAU,KAAK,MAAM,GAAE;AAAA,IAC1B;AAAA,IACA,WAAW,EAAC,QAAQ,GAAG,OAAO,EAAC;AAAA,EACjC;AAAA,EACA,QAAQ;AAAA,IACN,YAAY;AAAA,IACZ,QAAQ,EAAC,OAAO,EAAY;AAAA,IAC5B,WAAW,EAAC,QAAQ,IAAI,OAAO,EAAC;AAAA,EAClC;AAAA,EACA,MAAM;AAAA,IACJ,QAAQ,EAAC,OAAO,EAAY;AAAA,IAC5B,WAAW,EAAC,QAAQ,IAAI,OAAO,EAAC;AAAA,IAChC,QAAQ,EAAC,SAAS,IAAa;AAAA,EACjC;AAAA,EACA,WAAW,CAAC,KAAK,KAAK,KAAK,MAAM,MAAM,IAAI;AAAA,EAC3C,OAAO,CAAC,KAAK,KAAK,KAAK,MAAM,MAAM,IAAI;AAAA,EACvC,OAAO;AAAA,IACL,QAAQ,EAAC,SAAS,IAAG;AAAA,IACrB,SAAS,EAAC,SAAS,IAAG;AAAA,IACtB,SAAS,EAAC,SAAS,IAAG;AAAA,EACxB;AAAA,EACA,QAAQ,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,EAAE;AAAA,EAC9B,QAAQ;AAAA,IACN;AAAA,IACA,EAAC,OAAO,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,UAAU,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,SAAS,CAAC,GAAG,GAAG,GAAG,CAAC,EAAC;AAAA,IACnE,EAAC,OAAO,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,UAAU,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,SAAS,CAAC,GAAG,GAAG,IAAI,CAAC,EAAC;AAAA,IACtE,EAAC,OAAO,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,UAAU,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,SAAS,CAAC,GAAG,GAAG,IAAI,CAAC,EAAC;AAAA,IACvE,EAAC,OAAO,CAAC,GAAG,GAAG,IAAI,EAAE,GAAG,UAAU,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,SAAS,CAAC,GAAG,GAAG,IAAI,CAAC,EAAC;AAAA,IACxE,EAAC,OAAO,CAAC,GAAG,IAAI,IAAI,EAAE,GAAG,UAAU,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,SAAS,CAAC,GAAG,GAAG,IAAI,CAAC,EAAC;AAAA,EAC3E;AAAA,EACA,OAAO,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,GAAG;AAAA,EAC7C,OAAO;AAAA,IACL,QAAQ;AAAA,MACN,OAAO;AAAA,IACT;AAAA,IACA,UAAU;AAAA,MACR,MAAM;AAAA,MACN,WAAW,EAAC,QAAQ,IAAI,OAAO,EAAC;AAAA,IAClC;AAAA,IACA,OAAO;AAAA,MACL,MAAM;AAAA,MACN,UAAU;AAAA,MACV,WAAW,EAAC,QAAQ,IAAI,OAAO,EAAC;AAAA,IAClC;AAAA,IACA,QAAQ;AAAA,MACN,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,SAAS;AAAA,MACT,sBAAsB;AAAA,MACtB,0BAA0B;AAAA,MAC1B,WAAW,EAAC,QAAQ,GAAG,OAAO,EAAC;AAAA,IACjC;AAAA,IACA,QAAQ;AAAA,MACN,WAAW,EAAC,QAAQ,IAAI,OAAO,EAAC;AAAA,IAClC;AAAA,IACA,MAAM;AAAA,MACJ,WAAW,EAAC,QAAQ,IAAI,OAAO,EAAC;AAAA,IAClC;AAAA,EACF;AAAA,EACA,OAAO;AAAA,IACL,QAAQ;AAAA,MACN,MAAM;AAAA,QACJ,YAAY;AAAA,MACd;AAAA,IACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMF;AACF,GCtEMA,8BAAY;AAGX,SAAS,iBAAiB,UAAyC;AAhB1E,MAAA,IAAA,IAAA;AAiBQ,QAAA,YAAYA,QAAM,IAAI,QAAQ;AAEhC,MAAA;AAAkB,WAAA;AAEtB,QAAM,OAAO,sBAAsB,UAAU,SAAS,KAAK,OAAO,GAE5D,WAA8B;AAAA,IAClC,QAAQ,SAAS,WAAW,SAAS,OAAO,WAAW;AAAA,IACvD,OAAO,SAAS;AAAA,IAChB,QAAQ,KAAK;AAAA,IACb,QAAQ,KAAK;AAAA,IACb,UAAU,SAAS,KAAK,OAAO;AAAA,IAC/B,OAAO,KAAK;AAAA,IACZ,IAAI,SAAS,KAAK;AAAA,IAClB,QAAQ,SAAS,KAAK;AAAA,IACtB,QAAQ;AAAA,MACN,SAAS,2BAA2B,UAAU,SAAS,OAAO,OAAO;AAAA,MACrE,OAAO,2BAA2B,UAAU,SAAS,OAAO,KAAK;AAAA,MACjE,OAAO,2BAA2B,UAAU,SAAS,OAAO,KAAK;AAAA,IACnE;AAAA,IACA,MAAM,KAAK;AAAA,IACX,IAAI,SAAS,KAAK;AAAA,IAClB,WAAW,SAAS,KAAK;AAAA,IACzB,MAAM,KAAK,MAAM;AAAA,IACjB,OAAO;AAAA,MACL,SAAS,4BAA4B,SAAS,MAAM,OAAO;AAAA,MAC3D,SAAS,4BAA4B,SAAS,MAAM,OAAO;AAAA,IAC7D;AAAA,IACA,KAAK,KAAK;AAAA,IACV,MAAM,KAAK;AAAA,IACX,OAAO;AAAA,MACL,GAAG,KAAK;AAAA,MACR,MAAI,cAAS,eAAT,OAAA,SAAA,GAAqB,QAAQ,QAAQ,QAAO,SAAS,KAAK;AAAA,IAChE;AAAA,IACA,YAAY,2BAA2B,UAAU,SAAS,cAAc,SAAS,KAAK;AAAA,IACtF,QAAQ,SAAS,KAAK;AAAA,IACtB,UAAU;AAAA,MACR,QAAM,KAAS,SAAA,aAAT,OAAmB,SAAA,GAAA,SAAQ,SAAS,KAAK;AAAA,MAC/C,MAAI,KAAS,SAAA,aAAT,OAAmB,SAAA,GAAA,OAAM,SAAS,KAAK;AAAA,IAC7C;AAAA,IACA,QAAQ,SAAS;AAAA,EAAA;AAGb,SAAAA,QAAA,IAAI,UAAU,QAAQ,GAErB;AACT;AAEA,SAAS,2BACP,IACA,GACyB;AAClB,SAAA;AAAA,IACL,SAAS;AAAA,MACP,SAAS,sBAAsB,IAAI,EAAE,QAAQ,OAAO;AAAA,MACpD,SAAS,sBAAsB,IAAI,EAAE,QAAQ,OAAO;AAAA,MACpD,SAAS,sBAAsB,IAAI,EAAE,QAAQ,OAAO;AAAA,MACpD,UAAU,sBAAsB,IAAI,EAAE,QAAQ,QAAQ;AAAA,MACtD,UAAU,sBAAsB,IAAI,EAAE,QAAQ,QAAQ;AAAA,IACxD;AAAA,IACA,SAAS;AAAA,MACP,SAAS,sBAAsB,IAAI,EAAE,QAAQ,OAAO;AAAA,MACpD,SAAS,sBAAsB,IAAI,EAAE,QAAQ,OAAO;AAAA,MACpD,SAAS,sBAAsB,IAAI,EAAE,QAAQ,OAAO;AAAA,MACpD,UAAU,sBAAsB,IAAI,EAAE,QAAQ,QAAQ;AAAA,MACtD,UAAU,sBAAsB,IAAI,EAAE,QAAQ,QAAQ;AAAA,IACxD;AAAA,IACA,UAAU;AAAA,MACR,SAAS,sBAAsB,IAAI,EAAE,SAAS,OAAO;AAAA,MACrD,SAAS,sBAAsB,IAAI,EAAE,SAAS,OAAO;AAAA,MACrD,SAAS,sBAAsB,IAAI,EAAE,SAAS,OAAO;AAAA,MACrD,UAAU,sBAAsB,IAAI,EAAE,SAAS,QAAQ;AAAA,MACvD,UAAU,sBAAsB,IAAI,EAAE,SAAS,QAAQ;AAAA,IACzD;AAAA,IACA,SAAS;AAAA,MACP,SAAS,sBAAsB,IAAI,EAAE,QAAQ,OAAO;AAAA,MACpD,SAAS,sBAAsB,IAAI,EAAE,QAAQ,OAAO;AAAA,MACpD,SAAS,sBAAsB,IAAI,EAAE,QAAQ,OAAO;AAAA,MACpD,UAAU,sBAAsB,IAAI,EAAE,QAAQ,QAAQ;AAAA,MACtD,UAAU,sBAAsB,IAAI,EAAE,QAAQ,QAAQ;AAAA,IACxD;AAAA,IACA,UAAU;AAAA,MACR,SAAS,sBAAsB,IAAI,EAAE,SAAS,OAAO;AAAA,MACrD,SAAS,sBAAsB,IAAI,EAAE,SAAS,OAAO;AAAA,MACrD,SAAS,sBAAsB,IAAI,EAAE,SAAS,OAAO;AAAA,MACrD,UAAU,sBAAsB,IAAI,EAAE,SAAS,QAAQ;AAAA,MACvD,UAAU,sBAAsB,IAAI,EAAE,SAAS,QAAQ;AAAA,IACzD;AAAA,EAAA;AAEJ;AAEA,SAAS,sBAAsB,IAAgB,OAAmD;AA5GlG,MAAA,IAAA;AA6GS,SAAA;AAAA,IACL,GAAG;AAAA,IACH,QAAQ;AAAA,MACN,MAAM;AAAA,QACJ,IAAI,GAAG,KAAK;AAAA,QACZ,IAAI,GAAG,KAAK;AAAA,MACd;AAAA,MACA,MAAM;AAAA,QACJ,IAAI,GAAG,KAAK;AAAA,QACZ,IAAI,GAAG,KAAK;AAAA,MACd;AAAA,MACA,QAAQ;AAAA,QACN,IAAI,GAAG,KAAK;AAAA,QACZ,IAAI,GAAG,KAAK;AAAA,MACd;AAAA,MACA,SAAS;AAAA,QACP,IAAI,GAAG,KAAK;AAAA,QACZ,IAAI,GAAG,KAAK;AAAA,MACd;AAAA,MACA,KAAK;AAAA,QACH,IAAI,GAAG,KAAK;AAAA,QACZ,IAAI,GAAG,KAAK;AAAA,MACd;AAAA,MACA,QAAQ;AAAA,QACN,IAAI,GAAG,KAAK;AAAA,QACZ,IAAI,GAAG,KAAK;AAAA,MACd;AAAA,MACA,QAAQ;AAAA,QACN,IAAI,GAAG,KAAK;AAAA,QACZ,IAAI,GAAG,KAAK;AAAA,MACd;AAAA,MACA,OAAO;AAAA,QACL,IAAI,GAAG,KAAK;AAAA,QACZ,IAAI,GAAG,KAAK;AAAA,MACd;AAAA,MACA,MAAM;AAAA,QACJ,IAAI,GAAG,KAAK;AAAA,QACZ,IAAI,GAAG,KAAK;AAAA,MACd;AAAA,IACF;AAAA,IACA,OAAO;AAAA,MACL,SAAS;AAAA,QACP,IAAI,GAAG,MAAM,QAAQ,QAAQ;AAAA,QAC7B,IAAI,GAAG,MAAM,QAAQ,QAAQ;AAAA,QAC7B,KAAK,GAAG,MAAM,QAAQ,QAAQ,MAAM;AAAA,QACpC,MAAM,GAAG,MAAM,QAAQ,QAAQ,MAAM;AAAA,MACvC;AAAA,MACA,SAAS;AAAA,QACP,IAAI,GAAG,MAAM,QAAQ,QAAQ;AAAA,QAC7B,IAAI,GAAG,MAAM,QAAQ,QAAQ;AAAA,QAC7B,KAAK,GAAG,MAAM,QAAQ,QAAQ,MAAM;AAAA,QACpC,MAAM,GAAG,MAAM,QAAQ,QAAQ,MAAM;AAAA,MACvC;AAAA,MACA,UAAU;AAAA,QACR,IAAI,GAAG,MAAM,SAAS,QAAQ;AAAA,QAC9B,IAAI,GAAG,MAAM,SAAS,QAAQ;AAAA,QAC9B,KAAK,GAAG,MAAM,SAAS,QAAQ,MAAM;AAAA,QACrC,MAAM,GAAG,MAAM,SAAS,QAAQ,MAAM;AAAA,MACxC;AAAA,MACA,SAAS;AAAA,QACP,IAAI,GAAG,MAAM,QAAQ,QAAQ;AAAA,QAC7B,IAAI,GAAG,MAAM,QAAQ,QAAQ;AAAA,QAC7B,KAAK,GAAG,MAAM,QAAQ,QAAQ,MAAM;AAAA,QACpC,MAAM,GAAG,MAAM,QAAQ,QAAQ,MAAM;AAAA,MACvC;AAAA,MACA,UAAU;AAAA,QACR,IAAI,GAAG,MAAM,SAAS,QAAQ;AAAA,QAC9B,IAAI,GAAG,MAAM,SAAS,QAAQ;AAAA,QAC9B,KAAK,GAAG,MAAM,SAAS,QAAQ,MAAM;AAAA,QACrC,MAAM,GAAG,MAAM,SAAS,QAAQ,MAAM;AAAA,MACxC;AAAA,IACF;AAAA,IACA,KAAK;AAAA,MACH,IAAI,GAAG,MAAM,QAAQ,QAAQ;AAAA,MAC7B,IAAI,GAAG,MAAM,QAAQ,QAAQ;AAAA,MAC7B,QAAQ,GAAG,MAAM,QAAQ,QAAQ;AAAA,IACnC;AAAA,IACA,OAAO;AAAA,MACL,GAAG,GAAG,MAAM,QAAQ,QAAQ;AAAA,MAC5B,IAAI,MAAM,OAAO,MAAM;AAAA,IACzB;AAAA,IACA,UAAU;AAAA,MACR,QAAM,KAAA,MAAM,aAAN,OAAA,SAAA,GAAgB,SAAQ,MAAM;AAAA,MACpC,MAAI,KAAA,MAAM,aAAN,OAAA,SAAA,GAAgB,OAAM,MAAM;AAAA,IAClC;AAAA,EAAA;AAEJ;AAEA,SAAS,4BAA4B,QAAuD;AACnF,SAAA;AAAA,IACL,SAAS,2BAA2B,OAAO,OAAO;AAAA,IAClD,UAAU,2BAA2B,OAAO,QAAQ;AAAA,IACpD,UAAU,2BAA2B,OAAO,QAAQ;AAAA,IACpD,SAAS,2BAA2B,OAAO,OAAO;AAAA,EAAA;AAEtD;AAEA,SAAS,2BAA2B,OAAsD;AACjF,SAAA;AAAA,IACL,IAAI,MAAM;AAAA,IACV,QAAQ,MAAM;AAAA,IACd,IAAI,MAAM;AAAA,IACV,OAAO;AAAA,MACL,IAAI,MAAM;AAAA,IACZ;AAAA,IACA,aAAa,MAAM;AAAA,EAAA;AAEvB;ACpNA,MAAMA,8BAAY;AAGX,SAAS,YAAY,OAAwB;AAPpD,MAAA,IAAA;AAQM,OAAA,KAAA,MAAM,OAAO,OAAb,QAAiB,GAAA;AAAW,WAAO,MAAM,OAAO;AAE9C,QAAA,YAAYA,QAAM,IAAI,KAAK;AAE7B,MAAA;AAAkB,WAAA;AAEtB,QAAM,KAAe;AAAA,IACnB,UAAU;AAAA,IACV,WAAW;AAAA,IACX,QAAQ;AAAA,MACN,GAAG,mBAAmB;AAAA,MACtB,GAAG,MAAM,OAAO;AAAA,IAClB;AAAA,IACA,QAAQ;AAAA,MACN,GAAG,mBAAmB;AAAA,MACtB,GAAG,MAAM,OAAO;AAAA,IAClB;AAAA,IACA,MAAM,mBAAmB;AAAA,IACzB,OAAO,iBAAiB,MAAM,OAAO,KAAK;AAAA,IAC1C,WAAW,MAAM,OAAO;AAAA,IACxB,MAAM,MAAM,OAAO;AAAA,IACnB,OAAO;AAAA,MACL,GAAG,mBAAmB;AAAA,MACtB,GAAG,MAAM,OAAO;AAAA,MAChB,UAAU;AAAA,QACR,GAAG,mBAAmB,MAAM;AAAA,QAC5B,GAAG,MAAM,OAAO,MAAM;AAAA,MACxB;AAAA,MACA,OAAO;AAAA,QACL,GAAG,mBAAmB,MAAM;AAAA,QAC5B,GAAG,MAAM,OAAO,MAAM;AAAA,MACxB;AAAA,MACA,QAAQ;AAAA,QACN,GAAG,mBAAmB,MAAM;AAAA,QAC5B,GAAG,MAAM,OAAO,MAAM;AAAA,MACxB;AAAA,IACF;AAAA,IACA,QAAO,KAAA,MAAM,OAAO,UAAb,YAAsB,mBAAmB;AAAA,IAChD,OAAO,MAAM,OAAO;AAAA,IACpB,QAAQ,MAAM,OAAO;AAAA,IACrB,QAAQ,MAAM,OAAO;AAAA,IACrB,OAAO,MAAM,OAAO;AAAA,IACpB,OAAO,MAAM,OAAO;AAAA,EAAA;AAGhB,SAAAA,QAAA,IAAI,OAAO,EAAE,GAEZ;AACT;ACrDO,SAAS,MAAM,WAAgE;AACpF,SAAO,UAAU,aAAa;AAChC;ACDA,MAAMA,8BAAY;AAGX,SAAS,MAAM,IAA6B;AACjD,MAAI,GAAG;AAAI,WAAO,GAAG;AAEf,QAAA,YAAYA,QAAM,IAAI,EAAE;AAE1B,MAAA;AAAkB,WAAA;AAEhB,QAAA;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IAEA,WAAW;AAAA,IACX,OAAO;AAAA,IACP;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,SAAS;AAAA,IACT;AAAA,IACA,QAAQ;AAAA,EAAA,IACN,IAEE,KAAmB;AAAA,IACvB,UAAU;AAAA,IACV,QAAQ;AAAA,MACN,GAAG,mBAAmB;AAAA,MACtB,GAAG;AAAA,IACL;AAAA,IACA,QAAQ;AAAA,MACN,GAAG,mBAAmB;AAAA,MACtB,GAAG;AAAA,IACL;AAAA,IACA,MAAM,mBAAmB;AAAA,IACzB,OAAO;AAAA,MACL,OAAO;AAAA,QACL,aAAa,iBAAiB,MAAM,MAAM,WAAW;AAAA,QACrD,SAAS,iBAAiB,MAAM,MAAM,OAAO;AAAA,QAC7C,SAAS,iBAAiB,MAAM,MAAM,OAAO;AAAA,QAC7C,UAAU,iBAAiB,MAAM,MAAM,QAAQ;AAAA,QAC/C,SAAS,iBAAiB,MAAM,MAAM,OAAO;AAAA,QAC7C,UAAU,iBAAiB,MAAM,MAAM,QAAQ;AAAA,MACjD;AAAA,MACA,MAAM;AAAA,QACJ,aAAa,iBAAiB,MAAM,KAAK,WAAW;AAAA,QACpD,SAAS,iBAAiB,MAAM,KAAK,OAAO;AAAA,QAC5C,SAAS,iBAAiB,MAAM,KAAK,OAAO;AAAA,QAC5C,UAAU,iBAAiB,MAAM,KAAK,QAAQ;AAAA,QAC9C,SAAS,iBAAiB,MAAM,KAAK,OAAO;AAAA,QAC5C,UAAU,iBAAiB,MAAM,KAAK,QAAQ;AAAA,MAChD;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA,OAAO;AAAA,MACL,GAAG,mBAAmB;AAAA,MACtB,GAAG;AAAA,MACH,UAAU;AAAA,QACR,GAAG,mBAAmB,MAAM;AAAA,QAC5B,GAAG,MAAM;AAAA,MACX;AAAA,MACA,OAAO;AAAA,QACL,GAAG,mBAAmB,MAAM;AAAA,QAC5B,GAAG,MAAM;AAAA,MACX;AAAA,MACA,QAAQ;AAAA,QACN,GAAG,mBAAmB,MAAM;AAAA,QAC5B,GAAG,MAAM;AAAA,MACX;AAAA,IACF;AAAA,IACA,OAAO,wBAAS,mBAAmB;AAAA,IACnC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAGI,SAAAA,QAAA,IAAI,IAAI,EAAE,GAET;AACT;AC9EA,MAAMA,8BAAY;AAGX,SAAS,MAAM,IAA6B;AAC3C,QAAA,cAAcA,QAAM,IAAI,EAAE;AAE5B,MAAA;AAAoB,WAAA;AAElB,QAAA;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,MAAM;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,IACA,QAAQ;AAAA,IACR;AAAA,IACA,OAAO;AAAA,EACL,IAAA;AAEG,SAAA;AAAA,IACL,UAAU;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,IACA,OAAO;AAAA,MACL,OAAO;AAAA,QACL,aAAa,iBAAiB,MAAM,MAAM,WAAW;AAAA,QACrD,SAAS,iBAAiB,MAAM,MAAM,OAAO;AAAA,QAC7C,SAAS,iBAAiB,MAAM,MAAM,OAAO;AAAA,QAC7C,UAAU,iBAAiB,MAAM,MAAM,QAAQ;AAAA,QAC/C,SAAS,iBAAiB,MAAM,MAAM,OAAO;AAAA,QAC7C,UAAU,iBAAiB,MAAM,MAAM,QAAQ;AAAA,MACjD;AAAA,MACA,MAAM;AAAA,QACJ,aAAa,iBAAiB,MAAM,KAAK,WAAW;AAAA,QACpD,SAAS,iBAAiB,MAAM,KAAK,OAAO;AAAA,QAC5C,SAAS,iBAAiB,MAAM,KAAK,OAAO;AAAA,QAC5C,UAAU,iBAAiB,MAAM,KAAK,QAAQ;AAAA,QAC9C,SAAS,iBAAiB,MAAM,KAAK,OAAO;AAAA,QAC5C,UAAU,iBAAiB,MAAM,KAAK,QAAQ;AAAA,MAChD;AAAA,IACF;AAAA,IACA,WAAW,MAAM,KAAK;AAAA,IACtB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IAEA;AAAA,EAAA;AAEJ;AAEA,SAAS,iBAAiB,UAAyC;AAC1D,SAAA;AAAA,IACL,MAAM;AAAA,MACJ,IAAI,SAAS;AAAA,MACb,IAAI,SAAS;AAAA,MACb,QAAQ,SAAS;AAAA,MACjB,WAAW,SAAS;AAAA,MACpB,QAAQ,SAAS;AAAA,IACnB;AAAA,IACA,QAAQ,SAAS;AAAA,IACjB,MAAM,SAAS,WAAW;AAAA,IAC1B,MAAM,SAAS;AAAA,IACf,OAAO;AAAA,MACL,SAAS,4BAA4B,SAAS,MAAM,OAAO;AAAA,MAC3D,SAAS,4BAA4B,SAAS,MAAM,OAAO;AAAA,IAC7D;AAAA,IACA,OAAO;AAAA,MACL,GAAG,SAAS,OAAO;AAAA,MACnB,aAAa,SAAS,OAAO,MAAM;AAAA,IACrC;AAAA,IACA,OAAO;AAAA,MACL,GAAG,SAAS,OAAO;AAAA,MACnB,aAAa,SAAS,OAAO,QAAQ;AAAA,IACvC;AAAA,IACA,YAAY,SAAS;AAAA,IACrB,MAAM;AAAA,MACJ,MAAM,SAAS,OAAO,KAAK;AAAA,MAC3B,MAAM,SAAS,OAAO,KAAK;AAAA,MAC3B,QAAQ,SAAS,OAAO,OAAO;AAAA,MAC/B,SAAS,SAAS,OAAO,QAAQ;AAAA,MACjC,KAAK,SAAS,OAAO,IAAI;AAAA,MACzB,QAAQ,SAAS,OAAO,OAAO;AAAA,MAC/B,QAAQ,SAAS,OAAO,OAAO;AAAA,MAC/B,OAAO,SAAS,OAAO,MAAM;AAAA,MAC7B,MAAM,SAAS,OAAO,KAAK;AAAA,IAC7B;AAAA,IACA,QAAQ,SAAS;AAAA,EAAA;AAErB;AAEA,SAAS,4BAA4B,GAAkD;AAC9E,SAAA;AAAA,IACL,SAAS,2BAA2B,EAAE,OAAO;AAAA,IAC7C,UAAU,2BAA2B,EAAE,QAAQ;AAAA,IAC/C,UAAU,2BAA2B,EAAE,QAAQ;AAAA,IAC/C,SAAS,2BAA2B,EAAE,OAAO;AAAA,EAAA;AAEjD;AAEA,SAAS,2BAA2B,GAAkD;AAC7E,SAAA;AAAA,IACL,IAAI,EAAE;AAAA,IACN,KAAK,EAAE,MAAM;AAAA,IACb,QAAQ,EAAE;AAAA,IACV,IAAI,EAAE;AAAA,IACN,aAAa,EAAE;AAAA,EAAA;AAEnB;ACzHA,MAAM,4BAAY;AAMF,SAAA,eACd,WACA,QACA,MACO;AACP,QAAM,cAAc,gBAAgB,WAAW,QAAQ,IAAI;AAEvD,MAAA;AAAoB,WAAA;AAElB,QAAA,KAAK,MAAM,SAAS,IAAI,MAAM,SAAS,IAAI,WAC3C,KAAK,MAAM,SAAS,IAAI,YAAY,MAAM,SAAS,GAEnD,iBAAiB,GAAG,MAAM,MAAM,KAAK,GAAG,MAAM,OAC9C,WAAW,eAAe,IAAI,KAAK,eAAe,SAClD,WAAW,GAAG,SAAS,mBAAmB,OAE1C,iBAAiB,GAAG,MAAM,MAAM,KAAK,GAAG,MAAM,OAC9C,WAAW,eAAe,IAAI,KAAK,eAAe,SAClD,WAAW,GAAG,SAAS,mBAAmB,OAE1C,QAAe;AAAA,IACnB,QAAQ;AAAA,MACN,GAAG;AAAA,MACH,OAAO;AAAA,MACP,OAAO;AAAA,MACP,IAAI;AAAA,QACF,GAAG;AAAA,QACH,WAAW;AAAA,QACX,OAAO;AAAA,QACP,OAAO;AAAA,MACT;AAAA,IACF;AAAA,EAAA;AAGF,SAAA,gBAAgB,WAAW,QAAQ,MAAM,KAAK,GAEvC;AACT;AAEA,SAAS,gBACP,WACA,QACA,MACA;AACM,QAAA,cAAc,MAAM,IAAI,MAAM;AAEpC,MAAI,CAAC;AAAa;AAEZ,QAAA,YAAY,YAAY,IAAI,IAAI;AAEjC,MAAA;AAEE,WAAA,UAAU,IAAI,SAAS;AAChC;AAEA,SAAS,gBACP,WACA,QACA,MACA,OACA;AACK,QAAM,IAAI,MAAM,KAAG,MAAM,IAAI,QAAY,oBAAA,IAAA,CAAK;AAE7C,QAAA,cAAc,MAAM,IAAI,MAAM;AAE/B,cAAY,IAAI,IAAI,KAAG,YAAY,IAAI,MAAM,oBAAI,QAAS,CAAA,GAE7C,YAAY,IAAI,IAAI,EAE5B,IAAI,WAAW,KAAK;AAChC;"}