@sanity/ui 2.9.0-canary.6 → 2.10.0-corel.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 (75) hide show
  1. package/dist/_chunks-cjs/getTheme_v2.js +54 -84
  2. package/dist/_chunks-cjs/getTheme_v2.js.map +1 -1
  3. package/dist/_chunks-es/getTheme_v2.mjs +54 -84
  4. package/dist/_chunks-es/getTheme_v2.mjs.map +1 -1
  5. package/dist/_legacy/getTheme_v2.esm.js +54 -84
  6. package/dist/_legacy/getTheme_v2.esm.js.map +1 -1
  7. package/dist/index.d.mts +21 -14
  8. package/dist/index.d.ts +21 -14
  9. package/dist/index.esm.js +3150 -3805
  10. package/dist/index.esm.js.map +1 -1
  11. package/dist/index.js +3148 -3802
  12. package/dist/index.js.map +1 -1
  13. package/dist/index.mjs +3150 -3805
  14. package/dist/index.mjs.map +1 -1
  15. package/dist/theme.d.mts +22 -28
  16. package/dist/theme.d.ts +22 -28
  17. package/dist/theme.esm.js +630 -1318
  18. package/dist/theme.esm.js.map +1 -1
  19. package/dist/theme.js +630 -1318
  20. package/dist/theme.js.map +1 -1
  21. package/dist/theme.mjs +630 -1318
  22. package/dist/theme.mjs.map +1 -1
  23. package/package.json +1 -2
  24. package/src/core/__workshop__/constants.ts +13 -13
  25. package/src/core/components/autocomplete/autocomplete.tsx +31 -42
  26. package/src/core/components/breadcrumbs/__workshop__/buttons.tsx +58 -0
  27. package/src/core/components/breadcrumbs/__workshop__/example.tsx +3 -1
  28. package/src/core/components/breadcrumbs/__workshop__/index.ts +5 -0
  29. package/src/core/components/breadcrumbs/breadcrumbs.styles.ts +1 -13
  30. package/src/core/components/breadcrumbs/breadcrumbs.tsx +70 -50
  31. package/src/core/components/dialog/dialog.tsx +3 -5
  32. package/src/core/components/menu/menu.tsx +11 -15
  33. package/src/core/components/menu/menuButton.tsx +36 -14
  34. package/src/core/components/menu/menuGroup.tsx +1 -2
  35. package/src/core/components/menu/menuItem.tsx +2 -4
  36. package/src/core/components/menu/useMenuController.ts +21 -18
  37. package/src/core/components/tab/tabList.tsx +11 -3
  38. package/src/core/components/toast/toastProvider.tsx +6 -5
  39. package/src/core/components/tree/treeItem.tsx +15 -18
  40. package/src/core/constants.ts +1 -1
  41. package/src/core/hooks/useArrayProp.ts +9 -14
  42. package/src/core/hooks/useMatchMedia.ts +22 -12
  43. package/src/core/primitives/avatar/avatarStack.tsx +5 -2
  44. package/src/core/primitives/button/__workshop__/props.tsx +1 -1
  45. package/src/core/primitives/button/button.tsx +11 -6
  46. package/src/core/primitives/button/styles.ts +1 -1
  47. package/src/core/primitives/flex/flex.tsx +5 -1
  48. package/src/core/primitives/heading/heading.tsx +1 -1
  49. package/src/core/primitives/popover/popover.tsx +139 -74
  50. package/src/core/primitives/popover/popoverCard.tsx +4 -1
  51. package/src/core/primitives/text/styles.ts +1 -0
  52. package/src/core/primitives/text/text.tsx +4 -2
  53. package/src/core/primitives/tooltip/tooltip.tsx +17 -47
  54. package/src/core/styles/card/_cardColorStyle.ts +8 -0
  55. package/src/core/styles/flex/flexStyle.ts +18 -0
  56. package/src/core/styles/flex/types.ts +2 -0
  57. package/src/core/theme/themeProvider.tsx +6 -4
  58. package/src/core/utils/elementQuery/elementQuery.tsx +17 -16
  59. package/src/core/utils/layer/layerProvider.tsx +1 -1
  60. package/src/core/utils/portal/portalProvider.tsx +5 -5
  61. package/src/theme/build/_deprecated/color/factory.ts +1 -1
  62. package/src/theme/build/_deprecated/color/muted/createMuted.ts +2 -2
  63. package/src/theme/build/buildColorTheme.ts +45 -39
  64. package/src/theme/build/renderColorTheme.ts +239 -65
  65. package/src/theme/build/resolveColorTokens.ts +51 -115
  66. package/src/theme/config/tokens/color/types.ts +4 -18
  67. package/src/theme/defaults/colorTokens.ts +19 -11
  68. package/src/theme/getScopedTheme.ts +9 -2
  69. package/src/theme/system/color/_constants.ts +8 -0
  70. package/src/theme/system/color/badge.ts +3 -7
  71. package/src/theme/system/v0/color/_system.ts +8 -4
  72. package/src/theme/system/v0/color/color.ts +3 -2
  73. package/src/theme/versioning/themeColor_v0_v2.ts +26 -0
  74. package/src/theme/versioning/v0_v2.ts +4 -0
  75. package/src/core/components/toast/toastState.ts +0 -6
@@ -1,9 +1,11 @@
1
- import {ColorHueKey} from '@sanity/color'
1
+ import {COLOR_HUES, ColorHueKey} from '@sanity/color'
2
2
  import {
3
3
  ColorConfigCardTone,
4
4
  ColorConfigInputMode,
5
5
  ColorConfigInputState,
6
6
  ColorConfigStateTone,
7
+ ThemeColorAvatarTokens,
8
+ ThemeColorBadgeTokens,
7
9
  ThemeColorBaseTokens,
8
10
  ThemeColorButtonTokens,
9
11
  ThemeColorInputStateTokens,
@@ -64,44 +66,22 @@ function resolveBaseColorTones(
64
66
  return {
65
67
  ...spec,
66
68
  _hue: hue,
67
- avatar: {
68
- gray: merge({_hue: 'gray'}, spec.avatar?.['*'], spec.avatar?.gray),
69
- blue: merge({_hue: 'blue'}, spec.avatar?.['*'], spec.avatar?.blue),
70
- purple: merge({_hue: 'purple'}, spec.avatar?.['*'], spec.avatar?.purple),
71
- magenta: merge({_hue: 'magenta'}, spec.avatar?.['*'], spec.avatar?.magenta),
72
- red: merge({_hue: 'red'}, spec.avatar?.['*'], spec.avatar?.red),
73
- orange: merge({_hue: 'orange'}, spec.avatar?.['*'], spec.avatar?.orange),
74
- yellow: merge({_hue: 'yellow'}, spec.avatar?.['*'], spec.avatar?.yellow),
75
- green: merge({_hue: 'green'}, spec.avatar?.['*'], spec.avatar?.green),
76
- cyan: merge({_hue: 'cyan'}, spec.avatar?.['*'], spec.avatar?.cyan),
77
- },
78
- badge: {
79
- default: {
80
- _hue: inputTokens?.base?.default?._hue || hue,
81
- ...spec.badge?.['*'],
82
- ...spec.badge?.default,
83
- },
84
- primary: {
85
- _hue: inputTokens?.base?.primary?._hue || hue,
86
- ...spec.badge?.['*'],
87
- ...spec.badge?.primary,
88
- },
89
- positive: {
90
- _hue: inputTokens?.base?.positive?._hue || hue,
91
- ...spec.badge?.['*'],
92
- ...spec.badge?.positive,
93
- },
94
- caution: {
95
- _hue: inputTokens?.base?.caution?._hue || hue,
96
- ...spec.badge?.['*'],
97
- ...spec.badge?.caution,
98
- },
99
- critical: {
100
- _hue: inputTokens?.base?.critical?._hue || hue,
101
- ...spec.badge?.['*'],
102
- ...spec.badge?.critical,
103
- },
104
- },
69
+ avatar: COLOR_HUES.reduce((acc, hue) => {
70
+ return {
71
+ ...acc,
72
+ [hue]: merge({_hue: hue}, spec.avatar?.['*'], spec.avatar?.[hue]),
73
+ }
74
+ }, {} as ThemeColorAvatarTokens),
75
+ badge: THEME_COLOR_STATE_TONES.reduce((acc, tone) => {
76
+ return {
77
+ ...acc,
78
+ [tone]: {
79
+ _hue: inputTokens?.base?.[tone]?._hue || hue,
80
+ ...spec.badge?.['*'],
81
+ ...spec.badge?.[tone],
82
+ },
83
+ }
84
+ }, {} as ThemeColorBadgeTokens),
105
85
  }
106
86
  }
107
87
 
@@ -162,44 +142,22 @@ function resolveButtonStateColorTokens(
162
142
  return {
163
143
  ...spec,
164
144
  _hue: hue,
165
- avatar: {
166
- gray: merge({_hue: 'gray'}, spec.avatar?.['*'], spec.avatar?.gray),
167
- blue: merge({_hue: 'blue'}, spec.avatar?.['*'], spec.avatar?.blue),
168
- purple: merge({_hue: 'purple'}, spec.avatar?.['*'], spec.avatar?.purple),
169
- magenta: merge({_hue: 'magenta'}, spec.avatar?.['*'], spec.avatar?.magenta),
170
- red: merge({_hue: 'red'}, spec.avatar?.['*'], spec.avatar?.red),
171
- orange: merge({_hue: 'orange'}, spec.avatar?.['*'], spec.avatar?.orange),
172
- yellow: merge({_hue: 'yellow'}, spec.avatar?.['*'], spec.avatar?.yellow),
173
- green: merge({_hue: 'green'}, spec.avatar?.['*'], spec.avatar?.green),
174
- cyan: merge({_hue: 'cyan'}, spec.avatar?.['*'], spec.avatar?.cyan),
175
- },
176
- badge: {
177
- default: {
178
- _hue: inputTokens?.base?.default?._hue,
179
- ...spec.badge?.['*'],
180
- ...spec.badge?.default,
181
- },
182
- primary: {
183
- _hue: inputTokens?.base?.primary?._hue,
184
- ...spec.badge?.['*'],
185
- ...spec.badge?.primary,
186
- },
187
- positive: {
188
- _hue: inputTokens?.base?.positive?._hue,
189
- ...spec.badge?.['*'],
190
- ...spec.badge?.positive,
191
- },
192
- caution: {
193
- _hue: inputTokens?.base?.caution?._hue,
194
- ...spec.badge?.['*'],
195
- ...spec.badge?.caution,
196
- },
197
- critical: {
198
- _hue: inputTokens?.base?.critical?._hue,
199
- ...spec.badge?.['*'],
200
- ...spec.badge?.critical,
201
- },
202
- },
145
+ avatar: COLOR_HUES.reduce((acc, hue) => {
146
+ return {
147
+ ...acc,
148
+ [hue]: merge({_hue: hue}, spec.avatar?.['*'], spec.avatar?.[hue]),
149
+ }
150
+ }, {} as ThemeColorAvatarTokens),
151
+ badge: THEME_COLOR_STATE_TONES.reduce((acc, tone) => {
152
+ return {
153
+ ...acc,
154
+ [tone]: {
155
+ _hue: inputTokens?.base?.[tone]?._hue || hue,
156
+ ...spec.badge?.['*'],
157
+ ...spec.badge?.[tone],
158
+ },
159
+ }
160
+ }, {} as ThemeColorBadgeTokens),
203
161
  }
204
162
  }
205
163
 
@@ -289,43 +247,21 @@ function resolveSelectableStateColorTokens(
289
247
  return {
290
248
  ...spec,
291
249
  _hue: hue,
292
- avatar: {
293
- gray: merge({_hue: 'gray'}, spec.avatar?.['*'], spec.avatar?.gray),
294
- blue: merge({_hue: 'blue'}, spec.avatar?.['*'], spec.avatar?.blue),
295
- purple: merge({_hue: 'purple'}, spec.avatar?.['*'], spec.avatar?.purple),
296
- magenta: merge({_hue: 'magenta'}, spec.avatar?.['*'], spec.avatar?.magenta),
297
- red: merge({_hue: 'red'}, spec.avatar?.['*'], spec.avatar?.red),
298
- orange: merge({_hue: 'orange'}, spec.avatar?.['*'], spec.avatar?.orange),
299
- yellow: merge({_hue: 'yellow'}, spec.avatar?.['*'], spec.avatar?.yellow),
300
- green: merge({_hue: 'green'}, spec.avatar?.['*'], spec.avatar?.green),
301
- cyan: merge({_hue: 'cyan'}, spec.avatar?.['*'], spec.avatar?.cyan),
302
- },
303
- badge: {
304
- default: {
305
- _hue: inputTokens?.base?.default?._hue,
306
- ...spec.badge?.['*'],
307
- ...spec.badge?.default,
308
- },
309
- primary: {
310
- _hue: inputTokens?.base?.primary?._hue,
311
- ...spec.badge?.['*'],
312
- ...spec.badge?.primary,
313
- },
314
- positive: {
315
- _hue: inputTokens?.base?.positive?._hue,
316
- ...spec.badge?.['*'],
317
- ...spec.badge?.positive,
318
- },
319
- caution: {
320
- _hue: inputTokens?.base?.caution?._hue,
321
- ...spec.badge?.['*'],
322
- ...spec.badge?.caution,
323
- },
324
- critical: {
325
- _hue: inputTokens?.base?.critical?._hue,
326
- ...spec.badge?.['*'],
327
- ...spec.badge?.critical,
328
- },
329
- },
250
+ avatar: COLOR_HUES.reduce((acc, hue) => {
251
+ return {
252
+ ...acc,
253
+ [hue]: merge({_hue: hue}, spec.avatar?.['*'], spec.avatar?.[hue]),
254
+ }
255
+ }, {} as ThemeColorAvatarTokens),
256
+ badge: THEME_COLOR_STATE_TONES.reduce((acc, tone) => {
257
+ return {
258
+ ...acc,
259
+ [tone]: {
260
+ _hue: inputTokens?.base?.[tone]?._hue || hue,
261
+ ...spec.badge?.['*'],
262
+ ...spec.badge?.[tone],
263
+ },
264
+ }
265
+ }, {} as ThemeColorBadgeTokens),
330
266
  }
331
267
  }
@@ -1,5 +1,5 @@
1
1
  import {ColorHueKey} from '@sanity/color'
2
- import {ThemeColorSyntax, ThemeColorButtonModeKey} from '../../../system'
2
+ import {ThemeColorSyntax, ThemeColorButtonModeKey, ThemeColorStateToneKey} from '../../../system'
3
3
  import {
4
4
  ColorBlendModeTokenValue,
5
5
  ColorConfigCardTone,
@@ -32,15 +32,6 @@ export interface ThemeColorAvatarTokens {
32
32
  'cyan'?: ThemeColorAvatarHueTokens
33
33
  }
34
34
 
35
- /** @public */
36
- export interface ThemeColorBadgeTokens {
37
- _hue?: ColorHueKey
38
- bg?: ThemeColorTokenValue
39
- fg?: ThemeColorTokenValue
40
- dot?: ThemeColorTokenValue
41
- icon?: ThemeColorTokenValue
42
- }
43
-
44
35
  /** @public */
45
36
  export interface ThemeColorBaseTokens extends ThemeColorStateTokens {
46
37
  focusRing?: ThemeColorTokenValue
@@ -64,14 +55,9 @@ export interface ThemeColorBadgeToneTokens {
64
55
  }
65
56
 
66
57
  /** @public */
67
- export interface ThemeColorBadgeTokens {
68
- '*'?: ThemeColorBadgeToneTokens
69
- 'default'?: ThemeColorBadgeToneTokens
70
- 'primary'?: ThemeColorBadgeToneTokens
71
- 'positive'?: ThemeColorBadgeToneTokens
72
- 'caution'?: ThemeColorBadgeToneTokens
73
- 'critical'?: ThemeColorBadgeToneTokens
74
- }
58
+ export type ThemeColorBadgeTokens = Partial<
59
+ Record<'*' | ThemeColorStateToneKey, ThemeColorBadgeToneTokens>
60
+ >
75
61
 
76
62
  /** @public */
77
63
  export interface ThemeColorStateTokens {
@@ -22,6 +22,9 @@ export const defaultColorTokens: ThemeColorTokens = {
22
22
  icon: ['500', '500'],
23
23
  dot: ['500', '500'],
24
24
  },
25
+ 'default': {
26
+ _hue: 'gray',
27
+ },
25
28
  'positive': {
26
29
  bg: ['200 50%', '900'],
27
30
  fg: ['600', '500'],
@@ -38,7 +41,7 @@ export const defaultColorTokens: ThemeColorTokens = {
38
41
  fg: ['600', '400'],
39
42
  },
40
43
  fg: ['800', '200'],
41
- focusRing: ['blue/500', 'blue/500'],
44
+ focusRing: ['purple/500', 'purple/500'],
42
45
  icon: ['600', '400'],
43
46
  kbd: {
44
47
  bg: ['white', 'black'],
@@ -46,7 +49,7 @@ export const defaultColorTokens: ThemeColorTokens = {
46
49
  border: ['200', '800'],
47
50
  },
48
51
  link: {
49
- fg: ['blue/600', 'blue/300'],
52
+ fg: ['purple/600', 'purple/300'],
50
53
  },
51
54
  muted: {
52
55
  bg: ['50', '950'],
@@ -73,7 +76,7 @@ export const defaultColorTokens: ThemeColorTokens = {
73
76
  fg: ['600', '400'],
74
77
  },
75
78
  },
76
- 'primary': {_hue: 'blue'},
79
+ 'primary': {_hue: 'purple'},
77
80
  'positive': {
78
81
  _hue: 'green',
79
82
  shadow: {outline: ['500/0.4', '500/0.4']},
@@ -83,6 +86,8 @@ export const defaultColorTokens: ThemeColorTokens = {
83
86
  shadow: {outline: ['600/0.3', '500/0.4']},
84
87
  },
85
88
  'critical': {_hue: 'red'},
89
+ 'prospect': {_hue: 'purple'},
90
+ 'explore': {_hue: 'cyan'},
86
91
  },
87
92
  button: {
88
93
  default: {
@@ -121,7 +126,7 @@ export const defaultColorTokens: ThemeColorTokens = {
121
126
  border: ['800', '200'],
122
127
  },
123
128
  link: {
124
- fg: ['blue/200', 'blue/600'],
129
+ fg: ['purple/200', 'purple/600'],
125
130
  },
126
131
  muted: {
127
132
  bg: ['950', '50'],
@@ -244,7 +249,7 @@ export const defaultColorTokens: ThemeColorTokens = {
244
249
  border: ['200', '800'],
245
250
  },
246
251
  link: {
247
- fg: ['blue/700 60%', 'blue/300 60%'],
252
+ fg: ['purple/700 60%', 'purple/300 60%'],
248
253
  },
249
254
  muted: {
250
255
  bg: ['100', '950'],
@@ -355,7 +360,7 @@ export const defaultColorTokens: ThemeColorTokens = {
355
360
  border: ['200', '800'],
356
361
  },
357
362
  link: {
358
- fg: ['blue/700 70%', 'blue/300 70%'],
363
+ fg: ['purple/700 70%', 'purple/300 70%'],
359
364
  },
360
365
  muted: {
361
366
  bg: ['100', '950'],
@@ -368,7 +373,8 @@ export const defaultColorTokens: ThemeColorTokens = {
368
373
  },
369
374
  'hovered': {
370
375
  bg: ['50', '950'],
371
- icon: ['700 70%', '400 70%'],
376
+ fg: ['800', '200'],
377
+ icon: ['800 70%', '300 70%'],
372
378
  },
373
379
  'pressed': {
374
380
  bg: ['100', '900'],
@@ -427,7 +433,7 @@ export const defaultColorTokens: ThemeColorTokens = {
427
433
  '*': {
428
434
  _blend: ['multiply', 'screen'],
429
435
  bg: ['white', 'black'],
430
- border: ['200', '800'],
436
+ border: ['200', '700'],
431
437
  fg: ['black', '200'],
432
438
  muted: {
433
439
  bg: ['50', '950'],
@@ -443,6 +449,7 @@ export const defaultColorTokens: ThemeColorTokens = {
443
449
  fg: ['800', '200'],
444
450
  },
445
451
  'disabled': {
452
+ bg: ['50', '950'],
446
453
  fg: ['400', '600'],
447
454
  border: ['100', '900'],
448
455
  placeholder: ['200', '800 50%'],
@@ -491,7 +498,7 @@ export const defaultColorTokens: ThemeColorTokens = {
491
498
  border: ['200', '800'],
492
499
  },
493
500
  link: {
494
- fg: ['blue/700 70%', 'blue/300 70%'],
501
+ fg: ['purple/700 70%', 'purple/300 70%'],
495
502
  },
496
503
  muted: {
497
504
  bg: ['50', '950'],
@@ -506,6 +513,7 @@ export const defaultColorTokens: ThemeColorTokens = {
506
513
  bg: ['50', '950'],
507
514
  },
508
515
  'pressed': {
516
+ // _hue: 'purple',
509
517
  bg: ['100', '900'],
510
518
  },
511
519
  'selected': {
@@ -542,7 +550,7 @@ export const defaultColorTokens: ThemeColorTokens = {
542
550
  border: ['800', '200'],
543
551
  },
544
552
  link: {
545
- fg: ['blue/200', 'blue/600'],
553
+ fg: ['purple/200', 'purple/600'],
546
554
  },
547
555
  muted: {
548
556
  bg: ['500 10%', '400 10%'],
@@ -597,7 +605,7 @@ export const defaultColorTokens: ThemeColorTokens = {
597
605
  },
598
606
  'default': {
599
607
  selected: {
600
- _hue: 'blue',
608
+ _hue: 'purple',
601
609
  },
602
610
  },
603
611
  'critical': {
@@ -1,5 +1,12 @@
1
1
  import {defaultThemeConfig} from './defaults/config'
2
- import {RootTheme, RootTheme_v2, Theme, ThemeColorCardToneKey, ThemeColorSchemeKey} from './system'
2
+ import {
3
+ RootTheme,
4
+ RootTheme_v2,
5
+ Theme,
6
+ ThemeColor,
7
+ ThemeColorCardToneKey,
8
+ ThemeColorSchemeKey,
9
+ } from './system'
3
10
  import {is_v2, v0_v2, v2_v0} from './versioning'
4
11
 
5
12
  // cache[scheme][tone][rootTheme] = theme
@@ -22,7 +29,7 @@ export function getScopedTheme(
22
29
  const v2 = is_v2(themeProp) ? themeProp : v0_v2(themeProp)
23
30
 
24
31
  const colorScheme_v0 = v0.color[scheme] || v0.color.light
25
- const color_v0 = colorScheme_v0[tone] || colorScheme_v0.default
32
+ const color_v0 = (colorScheme_v0 as Record<string, ThemeColor>)[tone] || colorScheme_v0.default
26
33
  const layer_v0 = v0.layer || defaultThemeConfig.layer
27
34
 
28
35
  const colorScheme_v2 = v2.color[scheme] || v2.color.light
@@ -14,6 +14,10 @@ export const THEME_COLOR_CARD_TONES = [
14
14
  'positive',
15
15
  'caution',
16
16
  'critical',
17
+
18
+ // new
19
+ 'prospect',
20
+ 'explore',
17
21
  ] as const
18
22
 
19
23
  /** @public */
@@ -23,6 +27,10 @@ export const THEME_COLOR_STATE_TONES = [
23
27
  'positive',
24
28
  'caution',
25
29
  'critical',
30
+
31
+ // new
32
+ 'prospect',
33
+ 'explore',
26
34
  ] as const
27
35
 
28
36
  /** @public */
@@ -1,3 +1,5 @@
1
+ import {ThemeColorStateToneKey} from './_system'
2
+
1
3
  /**
2
4
  * @public
3
5
  */
@@ -11,10 +13,4 @@ export interface ThemeColorBadgeTone_v2 {
11
13
  /**
12
14
  * @public
13
15
  */
14
- export interface ThemeColorBadge_v2 {
15
- default: ThemeColorBadgeTone_v2
16
- primary: ThemeColorBadgeTone_v2
17
- positive: ThemeColorBadgeTone_v2
18
- caution: ThemeColorBadgeTone_v2
19
- critical: ThemeColorBadgeTone_v2
20
- }
16
+ export type ThemeColorBadge_v2 = Record<ThemeColorStateToneKey, ThemeColorBadgeTone_v2>
@@ -1,13 +1,17 @@
1
- import {ThemeColorCardToneKey} from '../../color/_system'
2
-
3
1
  /**
4
2
  * @public
5
3
  * @deprecated Use `ThemeColorCardToneKey` instead.
6
4
  */
7
- export type ThemeColorName = ThemeColorCardToneKey
5
+ export type ThemeColorName =
6
+ | 'transparent'
7
+ | 'default'
8
+ | 'primary'
9
+ | 'positive'
10
+ | 'caution'
11
+ | 'critical'
8
12
 
9
13
  /**
10
14
  * @public
11
15
  * @deprecated Use `ThemeColorCardToneKey` instead.
12
16
  */
13
- export type ThemeColorToneKey = ThemeColorCardToneKey
17
+ export type ThemeColorToneKey = ThemeColorName
@@ -1,5 +1,6 @@
1
- import {ThemeColorCardToneKey, ThemeColorSchemeKey, ThemeColorSyntax} from '../../color'
1
+ import {ThemeColorSchemeKey, ThemeColorSyntax} from '../../color'
2
2
  import {ThemeColorGenericState} from './_generic'
3
+ import {ThemeColorName} from './_system'
3
4
  import {ThemeColorBase} from './base'
4
5
  import {ThemeColorButton} from './button'
5
6
  import {ThemeColorCard} from './card'
@@ -30,7 +31,7 @@ export interface ThemeColor extends Partial<Omit<ThemeColorGenericState, 'muted'
30
31
  * @public
31
32
  * @deprecated Use `ThemeColorScheme_v2` instead.
32
33
  */
33
- export type ThemeColorScheme = Record<ThemeColorCardToneKey, ThemeColor>
34
+ export type ThemeColorScheme = Record<ThemeColorName, ThemeColor>
34
35
 
35
36
  /**
36
37
  * @public
@@ -103,6 +103,20 @@ function stateTonesThemeColor_v0_v2(
103
103
  selected: stateThemeColor_v0_v2(v0, t.critical.selected),
104
104
  disabled: stateThemeColor_v0_v2(v0, t.critical.disabled),
105
105
  },
106
+ prospect: {
107
+ enabled: stateThemeColor_v0_v2(v0, t.default.enabled),
108
+ hovered: stateThemeColor_v0_v2(v0, t.default.hovered),
109
+ pressed: stateThemeColor_v0_v2(v0, t.default.pressed),
110
+ selected: stateThemeColor_v0_v2(v0, t.default.selected),
111
+ disabled: stateThemeColor_v0_v2(v0, t.default.disabled),
112
+ },
113
+ explore: {
114
+ enabled: stateThemeColor_v0_v2(v0, t.default.enabled),
115
+ hovered: stateThemeColor_v0_v2(v0, t.default.hovered),
116
+ pressed: stateThemeColor_v0_v2(v0, t.default.pressed),
117
+ selected: stateThemeColor_v0_v2(v0, t.default.selected),
118
+ disabled: stateThemeColor_v0_v2(v0, t.default.disabled),
119
+ },
106
120
  }
107
121
  }
108
122
 
@@ -178,6 +192,18 @@ function stateThemeColor_v0_v2(v0: ThemeColor, state: ThemeColorGenericState): T
178
192
  dot: v0.muted.critical.enabled.muted.fg,
179
193
  icon: v0.muted.critical.enabled.muted.fg,
180
194
  },
195
+ prospect: {
196
+ bg: v0.muted.default.enabled.bg,
197
+ fg: v0.muted.default.enabled.fg,
198
+ dot: v0.muted.default.enabled.muted.fg,
199
+ icon: v0.muted.default.enabled.muted.fg,
200
+ },
201
+ explore: {
202
+ bg: v0.muted.default.enabled.bg,
203
+ fg: v0.muted.default.enabled.fg,
204
+ dot: v0.muted.default.enabled.muted.fg,
205
+ icon: v0.muted.default.enabled.muted.fg,
206
+ },
181
207
  },
182
208
  kbd: {
183
209
  bg: v0.muted.default.enabled.bg,
@@ -48,6 +48,8 @@ export function v0_v2(v0: RootTheme): RootTheme_v2 {
48
48
  positive: themeColor_v0_v2(color.light.positive),
49
49
  caution: themeColor_v0_v2(color.light.caution),
50
50
  critical: themeColor_v0_v2(color.light.critical),
51
+ prospect: themeColor_v0_v2(color.light.default),
52
+ explore: themeColor_v0_v2(color.light.default),
51
53
  },
52
54
  dark: {
53
55
  transparent: themeColor_v0_v2(color.dark.transparent),
@@ -56,6 +58,8 @@ export function v0_v2(v0: RootTheme): RootTheme_v2 {
56
58
  positive: themeColor_v0_v2(color.dark.positive),
57
59
  caution: themeColor_v0_v2(color.dark.caution),
58
60
  critical: themeColor_v0_v2(color.dark.critical),
61
+ prospect: themeColor_v0_v2(color.dark.default),
62
+ explore: themeColor_v0_v2(color.dark.default),
59
63
  },
60
64
  },
61
65
  container,
@@ -1,6 +0,0 @@
1
- let toastId = 0
2
-
3
- /** @internal */
4
- export function generateToastId(): string {
5
- return String(toastId++)
6
- }