@sanity/ui 2.0.12 → 2.0.13-alpha.1

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 (66) 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 +73 -73
  10. package/dist/index.esm.js.map +1 -1
  11. package/dist/index.js +78 -78
  12. package/dist/index.js.map +1 -1
  13. package/dist/index.mjs +73 -73
  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/dialog/styles.ts +3 -3
  25. package/src/core/components/skeleton/textSkeleton.tsx +2 -2
  26. package/src/core/components/tree/style.ts +2 -3
  27. package/src/core/hooks/useMediaIndex/useMediaIndex.test.tsx +1 -1
  28. package/src/core/primitives/_selectable/style.ts +1 -2
  29. package/src/core/primitives/avatar/avatarCounter.tsx +2 -3
  30. package/src/core/primitives/avatar/avatarStack.tsx +1 -2
  31. package/src/core/primitives/avatar/styles.ts +3 -3
  32. package/src/core/primitives/button/styles.ts +3 -3
  33. package/src/core/primitives/card/__workshop__/selected.tsx +2 -2
  34. package/src/core/primitives/card/styles.ts +2 -3
  35. package/src/core/primitives/checkbox/styles.ts +1 -2
  36. package/src/core/primitives/code/styles.ts +1 -4
  37. package/src/core/primitives/container/styles.ts +2 -2
  38. package/src/core/primitives/heading/styles.ts +1 -2
  39. package/src/core/primitives/inline/styles.ts +2 -2
  40. package/src/core/primitives/label/styles.ts +1 -2
  41. package/src/core/primitives/radio/styles.ts +1 -2
  42. package/src/core/primitives/select/styles.ts +5 -5
  43. package/src/core/primitives/stack/styles.ts +2 -2
  44. package/src/core/primitives/switch/styles.ts +3 -4
  45. package/src/core/primitives/text/__workshop__/colored.tsx +2 -2
  46. package/src/core/primitives/text/styles.ts +1 -2
  47. package/src/core/styles/border/borderStyle.ts +6 -6
  48. package/src/core/styles/box/boxStyle.ts +5 -5
  49. package/src/core/styles/flex/flexItemStyle.ts +2 -2
  50. package/src/core/styles/flex/flexStyle.ts +6 -6
  51. package/src/core/styles/font/responsiveFont.ts +2 -2
  52. package/src/core/styles/font/textAlignStyle.ts +2 -2
  53. package/src/core/styles/grid/gridItemStyle.ts +7 -7
  54. package/src/core/styles/grid/gridStyle.ts +9 -9
  55. package/src/core/styles/helpers.ts +2 -2
  56. package/src/core/styles/input/responsiveInputPaddingStyle.ts +2 -2
  57. package/src/core/styles/input/textInputStyle.ts +4 -4
  58. package/src/core/styles/margin/marginsStyle.test.ts +1 -1
  59. package/src/core/styles/padding/paddingStyle.test.ts +1 -1
  60. package/src/core/styles/radius/radiusStyle.ts +2 -2
  61. package/src/core/styles/shadow/shadowStyle.ts +2 -2
  62. package/src/core/theme/__workshop__/build/Root.tsx +1 -2
  63. package/src/core/theme/theme.test.tsx +1 -1
  64. package/src/core/theme/themeProvider.tsx +6 -7
  65. package/src/core/theme/useTheme.ts +2 -1
  66. package/src/theme/system/theme.ts +1 -1
@@ -0,0 +1,547 @@
1
+ "use strict";
2
+ const defaultThemeConfig = {
3
+ _version: 2,
4
+ avatar: {
5
+ sizes: [
6
+ { distance: -4, size: 19 },
7
+ { distance: -4, size: 25 },
8
+ { distance: -8, size: 33 },
9
+ { distance: -12, size: 49 }
10
+ ],
11
+ focusRing: { offset: 1, width: 1 }
12
+ },
13
+ button: {
14
+ textWeight: "medium",
15
+ border: { width: 1 },
16
+ focusRing: { offset: -1, width: 1 }
17
+ },
18
+ card: {
19
+ border: { width: 1 },
20
+ focusRing: { offset: -1, width: 1 },
21
+ shadow: { outline: 0.5 }
22
+ },
23
+ container: [320, 640, 960, 1280, 1600, 1920],
24
+ media: [360, 600, 900, 1200, 1800, 2400],
25
+ layer: {
26
+ dialog: { zOffset: 600 },
27
+ popover: { zOffset: 400 },
28
+ tooltip: { zOffset: 200 }
29
+ },
30
+ radius: [0, 1, 3, 6, 9, 12, 21],
31
+ shadow: [
32
+ null,
33
+ { umbra: [0, 0, 0, 0], penumbra: [0, 0, 0, 0], ambient: [0, 0, 0, 0] },
34
+ { umbra: [0, 3, 5, -2], penumbra: [0, 6, 10, 0], ambient: [0, 1, 18, 1] },
35
+ { umbra: [0, 7, 8, -4], penumbra: [0, 12, 17, 2], ambient: [0, 5, 22, 4] },
36
+ { umbra: [0, 9, 11, -5], penumbra: [0, 18, 28, 2], ambient: [0, 7, 34, 6] },
37
+ { umbra: [0, 11, 15, -7], penumbra: [0, 24, 38, 3], ambient: [0, 9, 46, 8] }
38
+ ],
39
+ space: [0, 4, 8, 12, 20, 32, 52, 84, 136, 220],
40
+ input: {
41
+ border: {
42
+ width: 1
43
+ },
44
+ checkbox: {
45
+ size: 17,
46
+ focusRing: { offset: -1, width: 1 }
47
+ },
48
+ radio: {
49
+ size: 17,
50
+ markSize: 9,
51
+ focusRing: { offset: -1, width: 1 }
52
+ },
53
+ switch: {
54
+ width: 25,
55
+ height: 17,
56
+ padding: 5,
57
+ transitionDurationMs: 150,
58
+ transitionTimingFunction: "ease-out",
59
+ focusRing: { offset: 1, width: 1 }
60
+ },
61
+ select: {
62
+ focusRing: { offset: -1, width: 1 }
63
+ },
64
+ text: {
65
+ focusRing: { offset: -1, width: 1 }
66
+ }
67
+ },
68
+ style: {
69
+ button: {
70
+ root: {
71
+ transition: "background-color 100ms,border-color 100ms,color 100ms"
72
+ }
73
+ }
74
+ // card: {
75
+ // root: {
76
+ // transition: 'background-color 100ms,border-color 100ms,color 100ms',
77
+ // },
78
+ // },
79
+ }
80
+ }, cache$4 = /* @__PURE__ */ new WeakMap();
81
+ function themeColor_v0_v2(color_v0) {
82
+ var _a, _b, _c;
83
+ const cached_v2 = cache$4.get(color_v0);
84
+ if (cached_v2)
85
+ return cached_v2;
86
+ const base = stateThemeColor_v0_v2(color_v0, color_v0.card.enabled), color_v2 = {
87
+ _blend: color_v0._blend || (color_v0.dark ? "screen" : "multiply"),
88
+ _dark: color_v0.dark,
89
+ accent: base.accent,
90
+ avatar: base.avatar,
91
+ backdrop: color_v0.base.shadow.ambient,
92
+ badge: base.badge,
93
+ bg: color_v0.base.bg,
94
+ border: color_v0.base.border,
95
+ button: {
96
+ default: stateTonesThemeColor_v0_v2(color_v0, color_v0.button.default),
97
+ ghost: stateTonesThemeColor_v0_v2(color_v0, color_v0.button.ghost),
98
+ bleed: stateTonesThemeColor_v0_v2(color_v0, color_v0.button.bleed)
99
+ },
100
+ code: base.code,
101
+ fg: color_v0.base.fg,
102
+ focusRing: color_v0.base.focusRing,
103
+ icon: base.muted.fg,
104
+ input: {
105
+ default: inputStatesThemeColor_v0_v2(color_v0.input.default),
106
+ invalid: inputStatesThemeColor_v0_v2(color_v0.input.invalid)
107
+ },
108
+ kbd: base.kbd,
109
+ link: base.link,
110
+ muted: {
111
+ ...base.muted,
112
+ bg: ((_a = color_v0.selectable) == null ? void 0 : _a.default.enabled.bg2) || color_v0.base.bg
113
+ },
114
+ selectable: stateTonesThemeColor_v0_v2(color_v0, color_v0.selectable || color_v0.muted),
115
+ shadow: color_v0.base.shadow,
116
+ skeleton: {
117
+ from: ((_b = color_v0.skeleton) == null ? void 0 : _b.from) || color_v0.base.border,
118
+ to: ((_c = color_v0.skeleton) == null ? void 0 : _c.to) || color_v0.base.border
119
+ },
120
+ syntax: color_v0.syntax
121
+ };
122
+ return cache$4.set(color_v0, color_v2), color_v2;
123
+ }
124
+ function stateTonesThemeColor_v0_v2(v0, t) {
125
+ return {
126
+ default: {
127
+ enabled: stateThemeColor_v0_v2(v0, t.default.enabled),
128
+ hovered: stateThemeColor_v0_v2(v0, t.default.hovered),
129
+ pressed: stateThemeColor_v0_v2(v0, t.default.pressed),
130
+ selected: stateThemeColor_v0_v2(v0, t.default.selected),
131
+ disabled: stateThemeColor_v0_v2(v0, t.default.disabled)
132
+ },
133
+ primary: {
134
+ enabled: stateThemeColor_v0_v2(v0, t.primary.enabled),
135
+ hovered: stateThemeColor_v0_v2(v0, t.primary.hovered),
136
+ pressed: stateThemeColor_v0_v2(v0, t.primary.pressed),
137
+ selected: stateThemeColor_v0_v2(v0, t.primary.selected),
138
+ disabled: stateThemeColor_v0_v2(v0, t.primary.disabled)
139
+ },
140
+ positive: {
141
+ enabled: stateThemeColor_v0_v2(v0, t.positive.enabled),
142
+ hovered: stateThemeColor_v0_v2(v0, t.positive.hovered),
143
+ pressed: stateThemeColor_v0_v2(v0, t.positive.pressed),
144
+ selected: stateThemeColor_v0_v2(v0, t.positive.selected),
145
+ disabled: stateThemeColor_v0_v2(v0, t.positive.disabled)
146
+ },
147
+ caution: {
148
+ enabled: stateThemeColor_v0_v2(v0, t.caution.enabled),
149
+ hovered: stateThemeColor_v0_v2(v0, t.caution.hovered),
150
+ pressed: stateThemeColor_v0_v2(v0, t.caution.pressed),
151
+ selected: stateThemeColor_v0_v2(v0, t.caution.selected),
152
+ disabled: stateThemeColor_v0_v2(v0, t.caution.disabled)
153
+ },
154
+ critical: {
155
+ enabled: stateThemeColor_v0_v2(v0, t.critical.enabled),
156
+ hovered: stateThemeColor_v0_v2(v0, t.critical.hovered),
157
+ pressed: stateThemeColor_v0_v2(v0, t.critical.pressed),
158
+ selected: stateThemeColor_v0_v2(v0, t.critical.selected),
159
+ disabled: stateThemeColor_v0_v2(v0, t.critical.disabled)
160
+ }
161
+ };
162
+ }
163
+ function stateThemeColor_v0_v2(v0, state) {
164
+ var _a, _b;
165
+ return {
166
+ ...state,
167
+ avatar: {
168
+ gray: {
169
+ bg: v0.spot.gray,
170
+ fg: v0.base.bg
171
+ },
172
+ blue: {
173
+ bg: v0.spot.blue,
174
+ fg: v0.base.bg
175
+ },
176
+ purple: {
177
+ bg: v0.spot.purple,
178
+ fg: v0.base.bg
179
+ },
180
+ magenta: {
181
+ bg: v0.spot.magenta,
182
+ fg: v0.base.bg
183
+ },
184
+ red: {
185
+ bg: v0.spot.red,
186
+ fg: v0.base.bg
187
+ },
188
+ orange: {
189
+ bg: v0.spot.orange,
190
+ fg: v0.base.bg
191
+ },
192
+ yellow: {
193
+ bg: v0.spot.yellow,
194
+ fg: v0.base.bg
195
+ },
196
+ green: {
197
+ bg: v0.spot.green,
198
+ fg: v0.base.bg
199
+ },
200
+ cyan: {
201
+ bg: v0.spot.cyan,
202
+ fg: v0.base.bg
203
+ }
204
+ },
205
+ badge: {
206
+ default: {
207
+ bg: v0.muted.default.enabled.bg,
208
+ fg: v0.muted.default.enabled.fg,
209
+ dot: v0.muted.default.enabled.muted.fg,
210
+ icon: v0.muted.default.enabled.muted.fg
211
+ },
212
+ primary: {
213
+ bg: v0.muted.primary.enabled.bg,
214
+ fg: v0.muted.primary.enabled.fg,
215
+ dot: v0.muted.primary.enabled.muted.fg,
216
+ icon: v0.muted.primary.enabled.muted.fg
217
+ },
218
+ positive: {
219
+ bg: v0.muted.positive.enabled.bg,
220
+ fg: v0.muted.positive.enabled.fg,
221
+ dot: v0.muted.positive.enabled.muted.fg,
222
+ icon: v0.muted.positive.enabled.muted.fg
223
+ },
224
+ caution: {
225
+ bg: v0.muted.caution.enabled.bg,
226
+ fg: v0.muted.caution.enabled.fg,
227
+ dot: v0.muted.caution.enabled.muted.fg,
228
+ icon: v0.muted.caution.enabled.muted.fg
229
+ },
230
+ critical: {
231
+ bg: v0.muted.critical.enabled.bg,
232
+ fg: v0.muted.critical.enabled.fg,
233
+ dot: v0.muted.critical.enabled.muted.fg,
234
+ icon: v0.muted.critical.enabled.muted.fg
235
+ }
236
+ },
237
+ kbd: {
238
+ bg: v0.muted.default.enabled.bg,
239
+ fg: v0.muted.default.enabled.fg,
240
+ border: v0.muted.default.enabled.border
241
+ },
242
+ muted: {
243
+ ...v0.muted.default.enabled.muted,
244
+ bg: state.bg2 || state.bg
245
+ },
246
+ skeleton: {
247
+ from: ((_a = state.skeleton) == null ? void 0 : _a.from) || state.border,
248
+ to: ((_b = state.skeleton) == null ? void 0 : _b.to) || state.border
249
+ }
250
+ };
251
+ }
252
+ function inputStatesThemeColor_v0_v2(states) {
253
+ return {
254
+ enabled: inputStateThemeColor_v0_v2(states.enabled),
255
+ disabled: inputStateThemeColor_v0_v2(states.disabled),
256
+ readOnly: inputStateThemeColor_v0_v2(states.readOnly),
257
+ hovered: inputStateThemeColor_v0_v2(states.hovered)
258
+ };
259
+ }
260
+ function inputStateThemeColor_v0_v2(state) {
261
+ return {
262
+ bg: state.bg,
263
+ border: state.border,
264
+ fg: state.fg,
265
+ muted: {
266
+ bg: state.bg2
267
+ },
268
+ placeholder: state.placeholder
269
+ };
270
+ }
271
+ const cache$3 = /* @__PURE__ */ new WeakMap();
272
+ function getTheme_v2(theme) {
273
+ var _a, _b;
274
+ if ((_a = theme.sanity.v2) != null && _a._resolved)
275
+ return theme.sanity.v2;
276
+ const cached_v2 = cache$3.get(theme);
277
+ if (cached_v2)
278
+ return cached_v2;
279
+ const v2 = {
280
+ _version: 2,
281
+ _resolved: !0,
282
+ avatar: {
283
+ ...defaultThemeConfig.avatar,
284
+ ...theme.sanity.avatar
285
+ },
286
+ button: {
287
+ ...defaultThemeConfig.button,
288
+ ...theme.sanity.button
289
+ },
290
+ card: defaultThemeConfig.card,
291
+ color: themeColor_v0_v2(theme.sanity.color),
292
+ container: theme.sanity.container,
293
+ font: theme.sanity.fonts,
294
+ input: {
295
+ ...defaultThemeConfig.input,
296
+ ...theme.sanity.input,
297
+ checkbox: {
298
+ ...defaultThemeConfig.input.checkbox,
299
+ ...theme.sanity.input.checkbox
300
+ },
301
+ radio: {
302
+ ...defaultThemeConfig.input.radio,
303
+ ...theme.sanity.input.radio
304
+ },
305
+ switch: {
306
+ ...defaultThemeConfig.input.switch,
307
+ ...theme.sanity.input.switch
308
+ }
309
+ },
310
+ layer: (_b = theme.sanity.layer) != null ? _b : defaultThemeConfig.layer,
311
+ media: theme.sanity.media,
312
+ radius: theme.sanity.radius,
313
+ shadow: theme.sanity.shadows,
314
+ space: theme.sanity.space,
315
+ style: theme.sanity.styles
316
+ };
317
+ return cache$3.set(theme, v2), v2;
318
+ }
319
+ function is_v2(themeProp) {
320
+ return themeProp._version === 2;
321
+ }
322
+ const cache$2 = /* @__PURE__ */ new WeakMap();
323
+ function v0_v2(v0) {
324
+ if (v0.v2)
325
+ return v0.v2;
326
+ const cached_v2 = cache$2.get(v0);
327
+ if (cached_v2)
328
+ return cached_v2;
329
+ const {
330
+ avatar,
331
+ button,
332
+ color,
333
+ container,
334
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
335
+ focusRing: _unused_focusRing,
336
+ fonts: font,
337
+ input,
338
+ layer,
339
+ media,
340
+ radius,
341
+ shadows: shadow,
342
+ space,
343
+ styles: style
344
+ } = v0, v2 = {
345
+ _version: 2,
346
+ avatar: {
347
+ ...defaultThemeConfig.avatar,
348
+ ...avatar
349
+ },
350
+ button: {
351
+ ...defaultThemeConfig.button,
352
+ ...button
353
+ },
354
+ card: defaultThemeConfig.card,
355
+ color: {
356
+ light: {
357
+ transparent: themeColor_v0_v2(color.light.transparent),
358
+ default: themeColor_v0_v2(color.light.default),
359
+ primary: themeColor_v0_v2(color.light.primary),
360
+ positive: themeColor_v0_v2(color.light.positive),
361
+ caution: themeColor_v0_v2(color.light.caution),
362
+ critical: themeColor_v0_v2(color.light.critical)
363
+ },
364
+ dark: {
365
+ transparent: themeColor_v0_v2(color.dark.transparent),
366
+ default: themeColor_v0_v2(color.dark.default),
367
+ primary: themeColor_v0_v2(color.dark.primary),
368
+ positive: themeColor_v0_v2(color.dark.positive),
369
+ caution: themeColor_v0_v2(color.dark.caution),
370
+ critical: themeColor_v0_v2(color.dark.critical)
371
+ }
372
+ },
373
+ container,
374
+ font,
375
+ input: {
376
+ ...defaultThemeConfig.input,
377
+ ...input,
378
+ checkbox: {
379
+ ...defaultThemeConfig.input.checkbox,
380
+ ...input.checkbox
381
+ },
382
+ radio: {
383
+ ...defaultThemeConfig.input.radio,
384
+ ...input.radio
385
+ },
386
+ switch: {
387
+ ...defaultThemeConfig.input.switch,
388
+ ...input.switch
389
+ }
390
+ },
391
+ layer: layer != null ? layer : defaultThemeConfig.layer,
392
+ media,
393
+ radius,
394
+ shadow,
395
+ space,
396
+ style
397
+ };
398
+ return cache$2.set(v0, v2), v2;
399
+ }
400
+ const cache$1 = /* @__PURE__ */ new WeakMap();
401
+ function v2_v0(v2) {
402
+ const cachedTheme = cache$1.get(v2);
403
+ if (cachedTheme)
404
+ return cachedTheme;
405
+ const {
406
+ avatar,
407
+ button,
408
+ color,
409
+ container,
410
+ font: fonts,
411
+ input,
412
+ media,
413
+ radius,
414
+ shadow: shadows,
415
+ space,
416
+ style: styles
417
+ } = v2;
418
+ return {
419
+ _version: 0,
420
+ avatar,
421
+ button,
422
+ container,
423
+ color: {
424
+ light: {
425
+ transparent: themeColor_v2_v0(color.light.transparent),
426
+ default: themeColor_v2_v0(color.light.default),
427
+ primary: themeColor_v2_v0(color.light.primary),
428
+ positive: themeColor_v2_v0(color.light.positive),
429
+ caution: themeColor_v2_v0(color.light.caution),
430
+ critical: themeColor_v2_v0(color.light.critical)
431
+ },
432
+ dark: {
433
+ transparent: themeColor_v2_v0(color.dark.transparent),
434
+ default: themeColor_v2_v0(color.dark.default),
435
+ primary: themeColor_v2_v0(color.dark.primary),
436
+ positive: themeColor_v2_v0(color.dark.positive),
437
+ caution: themeColor_v2_v0(color.dark.caution),
438
+ critical: themeColor_v2_v0(color.dark.critical)
439
+ }
440
+ },
441
+ focusRing: input.text.focusRing,
442
+ fonts,
443
+ input,
444
+ media,
445
+ radius,
446
+ shadows,
447
+ space,
448
+ styles,
449
+ v2
450
+ };
451
+ }
452
+ function themeColor_v2_v0(color_v2) {
453
+ return {
454
+ base: {
455
+ bg: color_v2.bg,
456
+ fg: color_v2.fg,
457
+ border: color_v2.border,
458
+ focusRing: color_v2.focusRing,
459
+ shadow: color_v2.shadow
460
+ },
461
+ button: color_v2.button,
462
+ card: color_v2.selectable.default,
463
+ dark: color_v2._dark,
464
+ input: {
465
+ default: inputStatesThemeColor_v2_v0(color_v2.input.default),
466
+ invalid: inputStatesThemeColor_v2_v0(color_v2.input.invalid)
467
+ },
468
+ muted: {
469
+ ...color_v2.button.ghost,
470
+ transparent: color_v2.button.ghost.default
471
+ },
472
+ solid: {
473
+ ...color_v2.button.default,
474
+ transparent: color_v2.button.default.default
475
+ },
476
+ selectable: color_v2.selectable,
477
+ spot: {
478
+ gray: color_v2.avatar.gray.bg,
479
+ blue: color_v2.avatar.blue.bg,
480
+ purple: color_v2.avatar.purple.bg,
481
+ magenta: color_v2.avatar.magenta.bg,
482
+ red: color_v2.avatar.red.bg,
483
+ orange: color_v2.avatar.orange.bg,
484
+ yellow: color_v2.avatar.yellow.bg,
485
+ green: color_v2.avatar.green.bg,
486
+ cyan: color_v2.avatar.cyan.bg
487
+ },
488
+ syntax: color_v2.syntax
489
+ };
490
+ }
491
+ function inputStatesThemeColor_v2_v0(t) {
492
+ return {
493
+ enabled: inputStateThemeColor_v2_v0(t.enabled),
494
+ disabled: inputStateThemeColor_v2_v0(t.disabled),
495
+ readOnly: inputStateThemeColor_v2_v0(t.readOnly),
496
+ hovered: inputStateThemeColor_v2_v0(t.hovered)
497
+ };
498
+ }
499
+ function inputStateThemeColor_v2_v0(t) {
500
+ return {
501
+ bg: t.bg,
502
+ bg2: t.muted.bg,
503
+ border: t.border,
504
+ fg: t.fg,
505
+ placeholder: t.placeholder
506
+ };
507
+ }
508
+ const cache = /* @__PURE__ */ new Map();
509
+ function getScopedTheme(themeProp, scheme, tone) {
510
+ const cachedTheme = _getCachedTheme(themeProp, scheme, tone);
511
+ if (cachedTheme)
512
+ return cachedTheme;
513
+ 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 = {
514
+ sanity: {
515
+ ...v0,
516
+ color: color_v0,
517
+ layer: layer_v0,
518
+ v2: {
519
+ ...v2,
520
+ _resolved: !0,
521
+ color: color_v2,
522
+ layer: layer_v2
523
+ }
524
+ }
525
+ };
526
+ return _setCachedTheme(themeProp, scheme, tone, theme), theme;
527
+ }
528
+ function _getCachedTheme(rootTheme, scheme, tone) {
529
+ const schemeCache = cache.get(scheme);
530
+ if (!schemeCache)
531
+ return;
532
+ const toneCache = schemeCache.get(tone);
533
+ if (toneCache)
534
+ return toneCache.get(rootTheme);
535
+ }
536
+ function _setCachedTheme(rootTheme, scheme, tone, theme) {
537
+ cache.has(scheme) || cache.set(scheme, /* @__PURE__ */ new Map());
538
+ const schemeCache = cache.get(scheme);
539
+ schemeCache.has(tone) || schemeCache.set(tone, /* @__PURE__ */ new WeakMap()), schemeCache.get(tone).set(rootTheme, theme);
540
+ }
541
+ exports.defaultThemeConfig = defaultThemeConfig;
542
+ exports.getScopedTheme = getScopedTheme;
543
+ exports.getTheme_v2 = getTheme_v2;
544
+ exports.is_v2 = is_v2;
545
+ exports.v0_v2 = v0_v2;
546
+ exports.v2_v0 = v2_v0;
547
+ //# sourceMappingURL=getScopedTheme.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getScopedTheme.js","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":"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"}