@sanity/ui 2.0.0-beta.1 → 2.0.0-beta.3
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/dist/index.cjs.mjs +10 -36
- package/dist/index.d.ts +180 -239
- package/dist/index.esm.js +105 -84
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +113 -297
- package/dist/index.js.map +1 -1
- package/dist/theme.cjs.mjs +1 -1
- package/dist/theme.d.ts +75 -111
- package/dist/theme.esm.js +169 -97
- package/dist/theme.esm.js.map +1 -1
- package/dist/theme.js +169 -97
- package/dist/theme.js.map +1 -1
- package/package.json +1 -1
- package/src/core/__workshop__/constants.ts +3 -2
- package/src/core/_compat.ts +236 -87
- package/src/core/hooks/useMediaIndex/useMediaIndex.test.tsx +6 -3
- package/src/core/primitives/avatar/__workshop__/asButton.tsx +1 -1
- package/src/core/primitives/avatar/__workshop__/stack.tsx +1 -1
- package/src/core/primitives/avatar/avatar.tsx +14 -4
- package/src/core/primitives/avatar/avatarCounter.tsx +16 -5
- package/src/core/primitives/avatar/avatarStack.tsx +2 -2
- package/src/core/primitives/kbd/kbd.tsx +2 -0
- package/src/core/primitives/tooltip/tooltip.tsx +1 -1
- 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 +159 -0
- package/src/core/theme/__workshop__/index.ts +5 -0
- package/src/core/theme/theme.test.tsx +2 -2
- package/src/core/types/avatar.ts +1 -1
- package/src/core/types/button.ts +1 -2
- package/src/theme/build/_deprecated/color/factory.ts +3 -3
- package/src/theme/build/buildColorTheme.ts +16 -16
- package/src/theme/build/colorToken/colorToken.ts +19 -0
- package/src/theme/build/colorToken/compileColorToken.ts +17 -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 +1 -1
- package/src/theme/config/system.ts +9 -9
- 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.ts +1 -0
- package/src/theme/defaults/colorTokens.ts +127 -66
- package/src/theme/defaults/config.ts +1 -0
- package/src/theme/defaults/fonts.ts +13 -5
- 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 +2 -0
- 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/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/themeColor_v0_v2.ts +2 -2
- package/src/theme/versioning/v2_v0.ts +2 -2
- package/src/theme/build/colorToken.ts +0 -39
|
@@ -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
|
|
@@ -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 @@ 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>()
|
|
@@ -106,7 +106,7 @@ function themeColor_v2_v0(color_v2: ThemeColorCard_v2): ThemeColor {
|
|
|
106
106
|
}
|
|
107
107
|
}
|
|
108
108
|
|
|
109
|
-
function inputStatesThemeColor_v2_v0(t:
|
|
109
|
+
function inputStatesThemeColor_v2_v0(t: ThemeColorInputMode_v2): ThemeColorInputStates {
|
|
110
110
|
return {
|
|
111
111
|
enabled: inputStateThemeColor_v2_v0(t.enabled),
|
|
112
112
|
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
|
-
}
|