@sanity/ui 2.0.0-beta.2 → 2.0.0-beta.21
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.
- package/LICENSE +1 -1
- package/README.md +6 -3
- package/dist/index.cjs.mjs +11 -36
- package/dist/index.d.ts +247 -267
- package/dist/index.esm.js +477 -326
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +486 -539
- package/dist/index.js.map +1 -1
- package/dist/theme.cjs.mjs +1 -1
- package/dist/theme.d.ts +87 -115
- package/dist/theme.esm.js +348 -290
- package/dist/theme.esm.js.map +1 -1
- package/dist/theme.js +348 -290
- package/dist/theme.js.map +1 -1
- package/package.json +6 -3
- package/src/core/__workshop__/fontsPlugin.tsx +48 -8
- package/src/core/_compat.ts +236 -87
- package/src/core/components/dialog/dialog.tsx +1 -1
- package/src/core/components/dialog/styles.ts +2 -2
- package/src/core/components/menu/__workshop__/selectedItem.tsx +7 -2
- package/src/core/components/menu/menuButton.tsx +12 -1
- package/src/core/components/toast/toast.tsx +17 -2
- package/src/core/components/toast/toastProvider.tsx +20 -3
- package/src/core/constants.ts +37 -0
- package/src/core/hooks/useMediaIndex/useMediaIndex.test.tsx +6 -3
- package/src/core/middleware/origin.ts +47 -0
- package/src/core/primitives/badge/badge.tsx +1 -3
- package/src/core/primitives/button/button.tsx +9 -11
- package/src/core/primitives/heading/styles.ts +4 -0
- package/src/core/primitives/kbd/kbd.tsx +2 -0
- package/src/core/primitives/popover/popover.tsx +67 -13
- package/src/core/primitives/popover/popoverCard.tsx +31 -15
- package/src/core/primitives/select/select.tsx +1 -1
- package/src/core/primitives/switch/styles.ts +6 -1
- package/src/core/primitives/textInput/__workshop__/plain.tsx +1 -1
- package/src/core/primitives/textInput/__workshop__/states.tsx +10 -2
- package/src/core/primitives/tooltip/tooltip.tsx +46 -56
- package/src/core/primitives/tooltip/tooltipCard.tsx +110 -0
- package/src/core/styles/card/_cardColorStyle.ts +2 -0
- package/src/core/styles/input/textInputStyle.ts +33 -2
- package/src/core/styles/margin/marginsStyle.test.ts +2 -2
- package/src/core/styles/padding/paddingStyle.test.ts +2 -2
- package/src/core/theme/__workshop__/build/Root.tsx +20 -3
- package/src/core/theme/__workshop__/build/story.tsx +16 -10
- package/src/core/theme/__workshop__/canvas.tsx +7 -7
- package/src/core/theme/__workshop__/debug/story.tsx +196 -0
- package/src/core/theme/__workshop__/index.ts +5 -0
- package/src/core/theme/theme.test.tsx +2 -2
- package/src/core/types/button.ts +1 -2
- package/src/core/{primitives/tooltip → utils/conditionalWrapper}/conditionalWrapper.tsx +3 -0
- package/src/core/utils/conditionalWrapper/index.ts +1 -0
- package/src/core/utils/index.ts +1 -0
- package/src/theme/build/_deprecated/color/factory.ts +3 -3
- package/src/theme/build/buildColorTheme.test.ts +2 -2
- package/src/theme/build/buildColorTheme.ts +16 -16
- package/src/theme/build/colorToken/colorToken.ts +19 -0
- package/src/theme/build/colorToken/compileColorToken.ts +21 -0
- package/src/theme/build/colorToken/index.ts +2 -0
- package/src/theme/build/colorToken/types.ts +6 -0
- package/src/theme/build/renderColorTheme.ts +14 -15
- package/src/theme/build/renderColorValue.ts +9 -2
- package/src/theme/config/system.ts +12 -10
- package/src/theme/config/tokens/color/types.ts +12 -1
- package/src/theme/config/tokens/parseTokenKey.ts +1 -0
- package/src/theme/config/tokens/parseTokenValue.test.ts +13 -16
- package/src/theme/config/tokens/parseTokenValue.ts +45 -14
- package/src/theme/config/tokens/types.ts +3 -2
- package/src/theme/defaults/colorTokens.ts +279 -253
- package/src/theme/defaults/config.ts +2 -2
- package/src/theme/getScopedTheme.ts +1 -0
- package/src/theme/index.ts +0 -7
- package/src/theme/system/color/_constants.ts +5 -2
- package/src/theme/system/color/_system.ts +2 -1
- package/src/theme/system/color/avatar.ts +2 -12
- package/src/theme/system/color/button.ts +4 -20
- package/src/theme/system/color/input.ts +3 -11
- package/src/theme/system/color/selectable.ts +3 -14
- package/src/theme/system/shadow.ts +0 -6
- package/src/theme/system/styles.ts +0 -6
- package/src/theme/system/theme.ts +11 -1
- package/src/theme/system/v0/avatar.ts +1 -1
- package/src/theme/system/v0/color/button.ts +4 -4
- package/src/theme/system/v0/color/card.ts +2 -2
- package/src/theme/system/v0/color/color.ts +0 -1
- package/src/theme/system/v0/color/input.ts +3 -3
- package/src/theme/system/v0/color/muted.ts +2 -2
- package/src/theme/system/v0/color/solid.ts +2 -2
- package/src/theme/versioning/getTheme_v2.ts +2 -1
- package/src/theme/versioning/themeColor_v0_v2.ts +2 -2
- package/src/theme/versioning/v2_v0.ts +3 -2
- package/src/theme/build/colorToken.ts +0 -39
|
@@ -24,7 +24,7 @@ export const defaultThemeConfig: Omit<RootTheme_v2, 'color' | 'font'> = {
|
|
|
24
24
|
focusRing: {offset: -1, width: 1},
|
|
25
25
|
shadow: {outline: OUTLINE_WIDTH},
|
|
26
26
|
},
|
|
27
|
-
container: [
|
|
27
|
+
container: [320, 640, 960, 1280, 1600, 1920],
|
|
28
28
|
media: [360, 600, 900, 1200, 1800, 2400],
|
|
29
29
|
layer: {
|
|
30
30
|
dialog: {zOffset: 600},
|
|
@@ -57,7 +57,7 @@ export const defaultThemeConfig: Omit<RootTheme_v2, 'color' | 'font'> = {
|
|
|
57
57
|
switch: {
|
|
58
58
|
width: 25,
|
|
59
59
|
height: 17,
|
|
60
|
-
padding:
|
|
60
|
+
padding: 5,
|
|
61
61
|
transitionDurationMs: 150,
|
|
62
62
|
transitionTimingFunction: 'ease-out',
|
|
63
63
|
focusRing: {offset: 1, width: 1},
|
package/src/theme/index.ts
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import {COLOR_HUES} from '@sanity/color'
|
|
2
2
|
|
|
3
|
+
/** @public */
|
|
4
|
+
export const THEME_COLOR_SCHEMES = ['light', 'dark'] as const
|
|
5
|
+
|
|
3
6
|
/** @public */
|
|
4
7
|
export const THEME_COLOR_BLEND_MODES = ['multiply', 'screen'] as const
|
|
5
8
|
|
|
@@ -7,7 +10,7 @@ export const THEME_COLOR_BLEND_MODES = ['multiply', 'screen'] as const
|
|
|
7
10
|
export const THEME_COLOR_CARD_TONES = [
|
|
8
11
|
'transparent',
|
|
9
12
|
'default',
|
|
10
|
-
'primary',
|
|
13
|
+
'primary',
|
|
11
14
|
'positive',
|
|
12
15
|
'caution',
|
|
13
16
|
'critical',
|
|
@@ -16,7 +19,7 @@ export const THEME_COLOR_CARD_TONES = [
|
|
|
16
19
|
/** @public */
|
|
17
20
|
export const THEME_COLOR_STATE_TONES = [
|
|
18
21
|
'default',
|
|
19
|
-
'primary',
|
|
22
|
+
'primary',
|
|
20
23
|
'positive',
|
|
21
24
|
'caution',
|
|
22
25
|
'critical',
|
|
@@ -5,6 +5,7 @@ import {
|
|
|
5
5
|
THEME_COLOR_CARD_TONES,
|
|
6
6
|
THEME_COLOR_INPUT_MODES,
|
|
7
7
|
THEME_COLOR_INPUT_STATES,
|
|
8
|
+
THEME_COLOR_SCHEMES,
|
|
8
9
|
THEME_COLOR_STATES,
|
|
9
10
|
THEME_COLOR_STATE_TONES,
|
|
10
11
|
} from './_constants'
|
|
@@ -12,7 +13,7 @@ import {
|
|
|
12
13
|
/**
|
|
13
14
|
* @public
|
|
14
15
|
*/
|
|
15
|
-
export type ThemeColorSchemeKey =
|
|
16
|
+
export type ThemeColorSchemeKey = (typeof THEME_COLOR_SCHEMES)[number]
|
|
16
17
|
|
|
17
18
|
/** @public */
|
|
18
19
|
export type ThemeColorBlendModeKey = (typeof THEME_COLOR_BLEND_MODES)[number]
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {ThemeColorBlendModeKey} from './_system'
|
|
1
|
+
import {ThemeColorAvatarColorKey, ThemeColorBlendModeKey} from './_system'
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* @public
|
|
@@ -12,14 +12,4 @@ export interface ThemeColorAvatarHue_v2 {
|
|
|
12
12
|
/**
|
|
13
13
|
* @public
|
|
14
14
|
*/
|
|
15
|
-
export
|
|
16
|
-
gray: ThemeColorAvatarHue_v2
|
|
17
|
-
blue: ThemeColorAvatarHue_v2
|
|
18
|
-
purple: ThemeColorAvatarHue_v2
|
|
19
|
-
magenta: ThemeColorAvatarHue_v2
|
|
20
|
-
red: ThemeColorAvatarHue_v2
|
|
21
|
-
orange: ThemeColorAvatarHue_v2
|
|
22
|
-
yellow: ThemeColorAvatarHue_v2
|
|
23
|
-
green: ThemeColorAvatarHue_v2
|
|
24
|
-
cyan: ThemeColorAvatarHue_v2
|
|
25
|
-
}
|
|
15
|
+
export type ThemeColorAvatar_v2 = Record<ThemeColorAvatarColorKey, ThemeColorAvatarHue_v2>
|
|
@@ -1,33 +1,17 @@
|
|
|
1
|
+
import {ThemeColorButtonModeKey, ThemeColorStateKey, ThemeColorStateToneKey} from './_system'
|
|
1
2
|
import {ThemeColorState_v2} from './state'
|
|
2
3
|
|
|
3
4
|
/**
|
|
4
5
|
* @public
|
|
5
6
|
*/
|
|
6
|
-
export
|
|
7
|
-
enabled: ThemeColorState_v2
|
|
8
|
-
hovered: ThemeColorState_v2
|
|
9
|
-
pressed: ThemeColorState_v2
|
|
10
|
-
selected: ThemeColorState_v2
|
|
11
|
-
disabled: ThemeColorState_v2
|
|
12
|
-
}
|
|
7
|
+
export type ThemeColorButtonTone_v2 = Record<ThemeColorStateKey, ThemeColorState_v2>
|
|
13
8
|
|
|
14
9
|
/**
|
|
15
|
-
* TODO: Rename to `ThemeColorButtonMode`.
|
|
16
10
|
* @public
|
|
17
11
|
*/
|
|
18
|
-
export
|
|
19
|
-
default: ThemeColorButtonStates_v2
|
|
20
|
-
primary: ThemeColorButtonStates_v2
|
|
21
|
-
positive: ThemeColorButtonStates_v2
|
|
22
|
-
caution: ThemeColorButtonStates_v2
|
|
23
|
-
critical: ThemeColorButtonStates_v2
|
|
24
|
-
}
|
|
12
|
+
export type ThemeColorButtonMode_v2 = Record<ThemeColorStateToneKey, ThemeColorButtonTone_v2>
|
|
25
13
|
|
|
26
14
|
/**
|
|
27
15
|
* @public
|
|
28
16
|
*/
|
|
29
|
-
export
|
|
30
|
-
default: ThemeColorButtonTones_v2
|
|
31
|
-
ghost: ThemeColorButtonTones_v2
|
|
32
|
-
bleed: ThemeColorButtonTones_v2
|
|
33
|
-
}
|
|
17
|
+
export type ThemeColorButton_v2 = Record<ThemeColorButtonModeKey, ThemeColorButtonMode_v2>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {ThemeColorBlendModeKey} from './_system'
|
|
1
|
+
import {ThemeColorBlendModeKey, ThemeColorInputModeKey, ThemeColorInputStateKey} from './_system'
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* @public
|
|
@@ -17,17 +17,9 @@ export interface ThemeColorInputState_v2 {
|
|
|
17
17
|
/**
|
|
18
18
|
* @public
|
|
19
19
|
*/
|
|
20
|
-
export
|
|
21
|
-
enabled: ThemeColorInputState_v2
|
|
22
|
-
disabled: ThemeColorInputState_v2
|
|
23
|
-
hovered: ThemeColorInputState_v2
|
|
24
|
-
readOnly: ThemeColorInputState_v2
|
|
25
|
-
}
|
|
20
|
+
export type ThemeColorInputMode_v2 = Record<ThemeColorInputStateKey, ThemeColorInputState_v2>
|
|
26
21
|
|
|
27
22
|
/**
|
|
28
23
|
* @public
|
|
29
24
|
*/
|
|
30
|
-
export
|
|
31
|
-
default: ThemeColorInputStates_v2
|
|
32
|
-
invalid: ThemeColorInputStates_v2
|
|
33
|
-
}
|
|
25
|
+
export type ThemeColorInput_v2 = Record<ThemeColorInputModeKey, ThemeColorInputMode_v2>
|
|
@@ -1,23 +1,12 @@
|
|
|
1
|
+
import {ThemeColorStateKey, ThemeColorStateToneKey} from './_system'
|
|
1
2
|
import {ThemeColorState_v2} from './state'
|
|
2
3
|
|
|
3
4
|
/**
|
|
4
5
|
* @public
|
|
5
6
|
*/
|
|
6
|
-
export
|
|
7
|
-
enabled: ThemeColorState_v2
|
|
8
|
-
hovered: ThemeColorState_v2
|
|
9
|
-
pressed: ThemeColorState_v2
|
|
10
|
-
selected: ThemeColorState_v2
|
|
11
|
-
disabled: ThemeColorState_v2
|
|
12
|
-
}
|
|
7
|
+
export type ThemeColorSelectableTone_v2 = Record<ThemeColorStateKey, ThemeColorState_v2>
|
|
13
8
|
|
|
14
9
|
/**
|
|
15
10
|
* @public
|
|
16
11
|
*/
|
|
17
|
-
export
|
|
18
|
-
default: ThemeColorSelectableStates_v2
|
|
19
|
-
primary: ThemeColorSelectableStates_v2
|
|
20
|
-
positive: ThemeColorSelectableStates_v2
|
|
21
|
-
caution: ThemeColorSelectableStates_v2
|
|
22
|
-
critical: ThemeColorSelectableStates_v2
|
|
23
|
-
}
|
|
12
|
+
export type ThemeColorSelectable_v2 = Record<ThemeColorStateToneKey, ThemeColorSelectableTone_v2>
|
|
@@ -33,6 +33,7 @@ export interface RootTheme_v2 {
|
|
|
33
33
|
radius: number[]
|
|
34
34
|
shadow: Array<ThemeShadow | null>
|
|
35
35
|
space: number[]
|
|
36
|
+
/** @internal */
|
|
36
37
|
style?: ThemeStyles
|
|
37
38
|
}
|
|
38
39
|
|
|
@@ -97,6 +98,7 @@ export interface BaseTheme {
|
|
|
97
98
|
*/
|
|
98
99
|
space: number[]
|
|
99
100
|
/**
|
|
101
|
+
* @internal
|
|
100
102
|
* @deprecated Use `v2.style` instead
|
|
101
103
|
*/
|
|
102
104
|
styles?: ThemeStyles
|
|
@@ -112,7 +114,15 @@ export type RootTheme = BaseTheme
|
|
|
112
114
|
/**
|
|
113
115
|
* @public
|
|
114
116
|
*/
|
|
115
|
-
export type Theme_v2 = Omit<RootTheme_v2, 'color'> & {
|
|
117
|
+
export type Theme_v2 = Omit<RootTheme_v2, 'color'> & {
|
|
118
|
+
color: ThemeColorCard_v2
|
|
119
|
+
/**
|
|
120
|
+
* Indicates whether the theme is resolved or raw, it's necessary to avoid issues
|
|
121
|
+
* with sanity V2 components accessing a v1 <ThemeProvider>.
|
|
122
|
+
* See https://github.com/sanity-io/ui/pull/1203 for more info.
|
|
123
|
+
*/
|
|
124
|
+
_resolved: boolean
|
|
125
|
+
}
|
|
116
126
|
|
|
117
127
|
/**
|
|
118
128
|
* @public
|
|
@@ -2,13 +2,13 @@ import {ThemeColorGenericState} from './_generic'
|
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* @public
|
|
5
|
-
* @deprecated Use `
|
|
5
|
+
* @deprecated Use `ThemeColorState_v2` instead.
|
|
6
6
|
*/
|
|
7
7
|
export type ThemeColorButtonState = ThemeColorGenericState
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
* @public
|
|
11
|
-
* @deprecated
|
|
11
|
+
* @deprecated Use `ThemeColorButtonStates_v2` instead.
|
|
12
12
|
*/
|
|
13
13
|
export interface ThemeColorButtonStates {
|
|
14
14
|
enabled: ThemeColorGenericState
|
|
@@ -21,7 +21,7 @@ export interface ThemeColorButtonStates {
|
|
|
21
21
|
/**
|
|
22
22
|
* TODO: Rename to `ThemeColorButtonMode`.
|
|
23
23
|
* @public
|
|
24
|
-
* @deprecated
|
|
24
|
+
* @deprecated Use `ThemeColorButtonTones_v2` instead.
|
|
25
25
|
*/
|
|
26
26
|
export interface ThemeColorButtonTones {
|
|
27
27
|
default: ThemeColorButtonStates
|
|
@@ -33,7 +33,7 @@ export interface ThemeColorButtonTones {
|
|
|
33
33
|
|
|
34
34
|
/**
|
|
35
35
|
* @public
|
|
36
|
-
* @deprecated
|
|
36
|
+
* @deprecated Use `ThemeColorButton_v2` instead.
|
|
37
37
|
*/
|
|
38
38
|
export interface ThemeColorButton {
|
|
39
39
|
default: ThemeColorButtonTones
|
|
@@ -2,13 +2,13 @@ import {ThemeColorGenericState} from './_generic'
|
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* @public
|
|
5
|
-
* @deprecated Use `
|
|
5
|
+
* @deprecated Use `ThemeColorState_v2` instead.
|
|
6
6
|
*/
|
|
7
7
|
export type ThemeColorCardState = ThemeColorGenericState
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
* @public
|
|
11
|
-
* @deprecated
|
|
11
|
+
* @deprecated Use `ThemeColorSelectable_v2` instead.
|
|
12
12
|
*/
|
|
13
13
|
export interface ThemeColorCard {
|
|
14
14
|
enabled: ThemeColorGenericState
|
|
@@ -2,7 +2,7 @@ import {ThemeColorBlendModeKey} from '../../color/_system'
|
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* @public
|
|
5
|
-
* @deprecated
|
|
5
|
+
* @deprecated Use `ThemeColorInputState_v2` instead.
|
|
6
6
|
*/
|
|
7
7
|
export interface ThemeColorInputState {
|
|
8
8
|
_blend?: ThemeColorBlendModeKey
|
|
@@ -15,7 +15,7 @@ export interface ThemeColorInputState {
|
|
|
15
15
|
|
|
16
16
|
/**
|
|
17
17
|
* @public
|
|
18
|
-
* @deprecated
|
|
18
|
+
* @deprecated Use `ThemeColorInputMode_v2` instead.
|
|
19
19
|
*/
|
|
20
20
|
export interface ThemeColorInputStates {
|
|
21
21
|
enabled: ThemeColorInputState
|
|
@@ -26,7 +26,7 @@ export interface ThemeColorInputStates {
|
|
|
26
26
|
|
|
27
27
|
/**
|
|
28
28
|
* @public
|
|
29
|
-
* @deprecated
|
|
29
|
+
* @deprecated Use `ThemeColorInput_v2` instead.
|
|
30
30
|
*/
|
|
31
31
|
export interface ThemeColorInput {
|
|
32
32
|
default: ThemeColorInputStates
|
|
@@ -2,7 +2,7 @@ import {ThemeColorGenericState} from './_generic'
|
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* @public
|
|
5
|
-
* @deprecated
|
|
5
|
+
* @deprecated Use `ThemeColorSelectableTone_v2` instead.
|
|
6
6
|
*/
|
|
7
7
|
export interface ThemeColorMutedTone {
|
|
8
8
|
enabled: ThemeColorGenericState
|
|
@@ -14,7 +14,7 @@ export interface ThemeColorMutedTone {
|
|
|
14
14
|
|
|
15
15
|
/**
|
|
16
16
|
* @public
|
|
17
|
-
* @deprecated
|
|
17
|
+
* @deprecated Use `ThemeColorSelectable_v2` instead.
|
|
18
18
|
*/
|
|
19
19
|
export interface ThemeColorMuted {
|
|
20
20
|
default: ThemeColorMutedTone
|
|
@@ -2,7 +2,7 @@ import {ThemeColorGenericState} from './_generic'
|
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* @public
|
|
5
|
-
* @deprecated
|
|
5
|
+
* @deprecated Use `ThemeColorSelectableTone_v2` instead.
|
|
6
6
|
*/
|
|
7
7
|
export interface ThemeColorSolidTone {
|
|
8
8
|
enabled: ThemeColorGenericState
|
|
@@ -14,7 +14,7 @@ export interface ThemeColorSolidTone {
|
|
|
14
14
|
|
|
15
15
|
/**
|
|
16
16
|
* @public
|
|
17
|
-
* @deprecated
|
|
17
|
+
* @deprecated Use `ThemeColorSelectable_v2` instead.
|
|
18
18
|
*/
|
|
19
19
|
export interface ThemeColorSolid {
|
|
20
20
|
default: ThemeColorSolidTone
|
|
@@ -6,7 +6,7 @@ const cache = new WeakMap<Theme, Theme_v2>()
|
|
|
6
6
|
|
|
7
7
|
/** @public */
|
|
8
8
|
export function getTheme_v2(theme: Theme): Theme_v2 {
|
|
9
|
-
if (theme.sanity.v2) return theme.sanity.v2
|
|
9
|
+
if (theme.sanity.v2?._resolved) return theme.sanity.v2
|
|
10
10
|
|
|
11
11
|
const cached_v2 = cache.get(theme)
|
|
12
12
|
|
|
@@ -14,6 +14,7 @@ export function getTheme_v2(theme: Theme): Theme_v2 {
|
|
|
14
14
|
|
|
15
15
|
const v2: Theme_v2 = {
|
|
16
16
|
_version: 2,
|
|
17
|
+
_resolved: true,
|
|
17
18
|
avatar: {
|
|
18
19
|
...defaultThemeConfig.avatar,
|
|
19
20
|
...theme.sanity.avatar,
|
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
ThemeColorState_v2,
|
|
7
7
|
ThemeColorCard_v2,
|
|
8
8
|
ThemeColorInputStates,
|
|
9
|
-
|
|
9
|
+
ThemeColorInputMode_v2,
|
|
10
10
|
ThemeColorInputState,
|
|
11
11
|
ThemeColorInputState_v2,
|
|
12
12
|
} from '../system'
|
|
@@ -195,7 +195,7 @@ function stateThemeColor_v0_v2(v0: ThemeColor, state: ThemeColorGenericState): T
|
|
|
195
195
|
}
|
|
196
196
|
}
|
|
197
197
|
|
|
198
|
-
function inputStatesThemeColor_v0_v2(states: ThemeColorInputStates):
|
|
198
|
+
function inputStatesThemeColor_v0_v2(states: ThemeColorInputStates): ThemeColorInputMode_v2 {
|
|
199
199
|
return {
|
|
200
200
|
enabled: inputStateThemeColor_v0_v2(states.enabled),
|
|
201
201
|
disabled: inputStateThemeColor_v0_v2(states.disabled),
|
|
@@ -3,10 +3,10 @@ import {
|
|
|
3
3
|
RootTheme_v2,
|
|
4
4
|
ThemeColor,
|
|
5
5
|
ThemeColorCard_v2,
|
|
6
|
+
ThemeColorInputMode_v2,
|
|
6
7
|
ThemeColorInputState,
|
|
7
8
|
ThemeColorInputState_v2,
|
|
8
9
|
ThemeColorInputStates,
|
|
9
|
-
ThemeColorInputStates_v2,
|
|
10
10
|
} from '../system'
|
|
11
11
|
|
|
12
12
|
const cache = new WeakMap<RootTheme_v2, RootTheme>()
|
|
@@ -91,6 +91,7 @@ function themeColor_v2_v0(color_v2: ThemeColorCard_v2): ThemeColor {
|
|
|
91
91
|
...color_v2.button.default,
|
|
92
92
|
transparent: color_v2.button.default.default,
|
|
93
93
|
},
|
|
94
|
+
selectable: color_v2.selectable,
|
|
94
95
|
spot: {
|
|
95
96
|
gray: color_v2.avatar.gray.bg,
|
|
96
97
|
blue: color_v2.avatar.blue.bg,
|
|
@@ -106,7 +107,7 @@ function themeColor_v2_v0(color_v2: ThemeColorCard_v2): ThemeColor {
|
|
|
106
107
|
}
|
|
107
108
|
}
|
|
108
109
|
|
|
109
|
-
function inputStatesThemeColor_v2_v0(t:
|
|
110
|
+
function inputStatesThemeColor_v2_v0(t: ThemeColorInputMode_v2): ThemeColorInputStates {
|
|
110
111
|
return {
|
|
111
112
|
enabled: inputStateThemeColor_v2_v0(t.enabled),
|
|
112
113
|
disabled: inputStateThemeColor_v2_v0(t.disabled),
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import {ColorHueKey} from '@sanity/color'
|
|
2
|
-
import {ThemeColorTokenValue, parseTokenValue, TokenColorValueNode} from '../config'
|
|
3
|
-
|
|
4
|
-
export interface ColorTokenContext {
|
|
5
|
-
hue: ColorHueKey
|
|
6
|
-
scheme: 'light' | 'dark'
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
const DEFAULT_COLOR_TOKEN_VALUE: ThemeColorTokenValue = ['500', '500']
|
|
10
|
-
|
|
11
|
-
export function resolveColorTokenValue(
|
|
12
|
-
context: ColorTokenContext,
|
|
13
|
-
value: ThemeColorTokenValue = DEFAULT_COLOR_TOKEN_VALUE,
|
|
14
|
-
): string {
|
|
15
|
-
const {hue, scheme} = context
|
|
16
|
-
const node = parseTokenValue(value[scheme === 'light' ? 0 : 1])
|
|
17
|
-
|
|
18
|
-
if (!node || node.type !== 'color') {
|
|
19
|
-
throw new Error(`Invalid color token: ${value[0]}`)
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
return compileColorTokenValue({...node, hue: node.hue || hue})
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
export function compileColorTokenValue(node: TokenColorValueNode): string {
|
|
26
|
-
let key = ''
|
|
27
|
-
|
|
28
|
-
if (node.key === 'black' || node.key === 'white') {
|
|
29
|
-
key = node.key
|
|
30
|
-
} else {
|
|
31
|
-
key = `${node.hue}/${node.tint}`
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
if (node.opacity !== undefined) {
|
|
35
|
-
key += `/${node.opacity}`
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
return key
|
|
39
|
-
}
|