@sanity/ui 3.0.0-static.4 → 3.0.0-static.5
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/_chunks-cjs/_visual-editing.js +71 -25
- package/dist/_chunks-cjs/_visual-editing.js.map +1 -1
- package/dist/_chunks-es/_visual-editing.mjs +72 -26
- package/dist/_chunks-es/_visual-editing.mjs.map +1 -1
- package/dist/_visual-editing.d.mts +4 -1
- package/dist/_visual-editing.d.ts +4 -1
- package/dist/cli.js +1 -1
- package/dist/css.d.mts +144 -852
- package/dist/css.d.ts +144 -852
- package/dist/css.js +155 -141
- package/dist/css.js.map +1 -1
- package/dist/css.mjs +154 -141
- package/dist/css.mjs.map +1 -1
- package/dist/index.d.mts +4 -1
- package/dist/index.d.ts +4 -1
- package/dist/sanity-theme.css +1 -1
- package/dist/system.css +54 -49
- package/dist/theme.js +271 -33
- package/dist/theme.js.map +1 -1
- package/dist/theme.mjs +252 -16
- package/dist/theme.mjs.map +1 -1
- package/package.json +1 -1
- package/src/css/aspects/flex/flexJustify.style.ts +3 -3
- package/src/css/aspects/grid/types.ts +2 -2
- package/src/css/index.ts +2 -2
- package/src/css/primitives/button/button.style.ts +6 -4
- package/src/css/primitives/stack/index.ts +1 -0
- package/src/css/primitives/stack/stack.style.ts +9 -0
- package/src/css/primitives/stack/stack.ts +6 -0
- package/src/css/system.style.ts +2 -0
- package/src/theme/v3/defaults.ts +1 -1
- package/src/ui/primitives/box/box.tsx +6 -0
- package/src/ui/primitives/button/button.tsx +11 -10
- package/src/ui/primitives/stack/stack.tsx +10 -5
- package/dist/_chunks-cjs/v3_v2.js +0 -251
- package/dist/_chunks-cjs/v3_v2.js.map +0 -1
- package/dist/_chunks-es/v3_v2.mjs +0 -252
- package/dist/_chunks-es/v3_v2.mjs.map +0 -1
package/package.json
CHANGED
|
@@ -6,8 +6,8 @@ const util: StyleRules = {}
|
|
|
6
6
|
_responsiveRule(util, 'flex-justify-flex-start', {justifyContent: 'flex-start'})
|
|
7
7
|
_responsiveRule(util, 'flex-justify-flex-end', {justifyContent: 'flex-end'})
|
|
8
8
|
_responsiveRule(util, 'flex-justify-center', {justifyContent: 'center'})
|
|
9
|
-
_responsiveRule(util, 'flex-justify-between', {justifyContent: 'space-between'})
|
|
10
|
-
_responsiveRule(util, 'flex-justify-around', {justifyContent: 'space-around'})
|
|
11
|
-
_responsiveRule(util, 'flex-justify-evenly', {justifyContent: 'space-evenly'})
|
|
9
|
+
_responsiveRule(util, 'flex-justify-space-between', {justifyContent: 'space-between'})
|
|
10
|
+
_responsiveRule(util, 'flex-justify-space-around', {justifyContent: 'space-around'})
|
|
11
|
+
_responsiveRule(util, 'flex-justify-space-evenly', {justifyContent: 'space-evenly'})
|
|
12
12
|
|
|
13
13
|
export const flexJustifyStyle: Style = {layers: {util}}
|
|
@@ -15,9 +15,9 @@ export type GridAutoCols = 'auto' | 'min' | 'max' | 'fr'
|
|
|
15
15
|
*/
|
|
16
16
|
export type GridAutoFlow = 'row' | 'column' | 'row dense' | 'column dense'
|
|
17
17
|
|
|
18
|
-
export type Columns = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 12
|
|
18
|
+
export type Columns = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
|
|
19
19
|
|
|
20
|
-
export type Rows = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 12
|
|
20
|
+
export type Rows = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
|
|
21
21
|
|
|
22
22
|
/** @public */
|
|
23
23
|
export interface GridStyleProps {
|
package/src/css/index.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export * from '
|
|
1
|
+
export * from './aspects'
|
|
2
2
|
export * from './compile/compilePalette'
|
|
3
3
|
export * from './compile/compileSystem'
|
|
4
4
|
export * from './compile/compileTheme'
|
|
@@ -27,13 +27,13 @@ export * from './primitives/popover'
|
|
|
27
27
|
export * from './primitives/radio'
|
|
28
28
|
export * from './primitives/select'
|
|
29
29
|
export * from './primitives/spinner'
|
|
30
|
+
export * from './primitives/stack'
|
|
30
31
|
export * from './primitives/switch'
|
|
31
32
|
export * from './primitives/text'
|
|
32
33
|
export * from './primitives/textArea'
|
|
33
34
|
export * from './primitives/textInput'
|
|
34
35
|
export * from './primitives/tooltip'
|
|
35
36
|
export * from './scopeClassName'
|
|
36
|
-
export * from './aspects'
|
|
37
37
|
export * from './types'
|
|
38
38
|
export * from './util'
|
|
39
39
|
export * from './utils/srOnly'
|
|
@@ -24,6 +24,8 @@ const primitive: StyleRules = {
|
|
|
24
24
|
'backgroundColor': vars.color.bg,
|
|
25
25
|
'color': vars.color.fg,
|
|
26
26
|
'boxShadow': 'var(--button-box-shadow)',
|
|
27
|
+
'alignItems': 'center',
|
|
28
|
+
// 'justifyContent': 'center',
|
|
27
29
|
|
|
28
30
|
'@nest': {
|
|
29
31
|
'&::-moz-focus-inner': {
|
|
@@ -101,28 +103,28 @@ for (const tone of THEME_COLOR_STATE_TONES) {
|
|
|
101
103
|
// mode: ghost
|
|
102
104
|
primitive[`.button.${variantMap.ghost}.${toneMap[tone]}`] = {
|
|
103
105
|
[varNames.color.bg]: tinted.bg[1],
|
|
104
|
-
[varNames.color.border]: tinted.border[
|
|
106
|
+
[varNames.color.border]: tinted.border[0],
|
|
105
107
|
[varNames.color.fg]: tinted.fg[2],
|
|
106
108
|
'--button-box-shadow': `inset 0 0 0 var(--button-border-width) var(--color-border)`,
|
|
107
109
|
|
|
108
110
|
'@nest': {
|
|
109
111
|
'&:not([data-disabled]):hover': {
|
|
110
112
|
[varNames.color.bg]: tinted.bg[2],
|
|
111
|
-
[varNames.color.border]: tinted.border[
|
|
113
|
+
[varNames.color.border]: tinted.border[1],
|
|
112
114
|
[varNames.color.fg]: tinted.fg[1],
|
|
113
115
|
// '--button-box-shadow': `inset 0 0 0 var(--button-border-width) var(--color-border)`,
|
|
114
116
|
},
|
|
115
117
|
|
|
116
118
|
'&:not([data-disabled]):active': {
|
|
117
119
|
[varNames.color.bg]: tinted.bg[3],
|
|
118
|
-
[varNames.color.border]: tinted.border[
|
|
120
|
+
[varNames.color.border]: tinted.border[2],
|
|
119
121
|
[varNames.color.fg]: tinted.fg[1],
|
|
120
122
|
'--button-box-shadow': `inset 0 0 0 var(--button-border-width) var(--color-border)`,
|
|
121
123
|
},
|
|
122
124
|
|
|
123
125
|
'&:not([data-disabled])[data-selected]': {
|
|
124
126
|
[varNames.color.bg]: tinted.bg[3],
|
|
125
|
-
[varNames.color.border]: tinted.border[
|
|
127
|
+
[varNames.color.border]: tinted.border[2],
|
|
126
128
|
[varNames.color.fg]: tinted.fg[1],
|
|
127
129
|
'--button-box-shadow': `inset 0 0 0 var(--button-border-width) var(--color-border)`,
|
|
128
130
|
},
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './stack'
|
package/src/css/system.style.ts
CHANGED
|
@@ -56,6 +56,7 @@ import {popoverStyle} from './primitives/popover/popover.style'
|
|
|
56
56
|
import {radioStyle} from './primitives/radio/radio.style'
|
|
57
57
|
import {selectStyle} from './primitives/select/select.style'
|
|
58
58
|
import {spinnerStyle} from './primitives/spinner/spinner.style'
|
|
59
|
+
import {stackStyle} from './primitives/stack/stack.style'
|
|
59
60
|
import {switchStyle} from './primitives/switch/switch.style'
|
|
60
61
|
import {textStyle} from './primitives/text/text.style'
|
|
61
62
|
import {textAreaStyle} from './primitives/textArea/textArea.style'
|
|
@@ -136,6 +137,7 @@ export const systemStyle: Style = _mergeStyles([
|
|
|
136
137
|
radioStyle,
|
|
137
138
|
selectStyle,
|
|
138
139
|
spinnerStyle,
|
|
140
|
+
stackStyle,
|
|
139
141
|
switchStyle,
|
|
140
142
|
textAreaStyle,
|
|
141
143
|
textInputStyle,
|
package/src/theme/v3/defaults.ts
CHANGED
|
@@ -32,6 +32,9 @@ export const Box = forwardRef(function Box(
|
|
|
32
32
|
const {
|
|
33
33
|
align,
|
|
34
34
|
as: As = 'div',
|
|
35
|
+
autoCols,
|
|
36
|
+
autoFlow,
|
|
37
|
+
autoRows,
|
|
35
38
|
border,
|
|
36
39
|
borderTop,
|
|
37
40
|
borderRight,
|
|
@@ -93,6 +96,9 @@ export const Box = forwardRef(function Box(
|
|
|
93
96
|
className,
|
|
94
97
|
box({
|
|
95
98
|
align,
|
|
99
|
+
autoCols,
|
|
100
|
+
autoFlow,
|
|
101
|
+
autoRows,
|
|
96
102
|
border,
|
|
97
103
|
borderTop,
|
|
98
104
|
borderRight,
|
|
@@ -113,11 +113,12 @@ export const Button = forwardRef(function Button(
|
|
|
113
113
|
>
|
|
114
114
|
{Boolean(loading) && (
|
|
115
115
|
<Box
|
|
116
|
+
align="center"
|
|
116
117
|
as="span"
|
|
117
118
|
className={buttonLoadingBox()}
|
|
118
119
|
display="flex"
|
|
119
120
|
flex={1}
|
|
120
|
-
justify=
|
|
121
|
+
justify="center"
|
|
121
122
|
width="fill"
|
|
122
123
|
>
|
|
123
124
|
<Spinner size={fontSize} />
|
|
@@ -126,8 +127,8 @@ export const Button = forwardRef(function Button(
|
|
|
126
127
|
|
|
127
128
|
{(IconComponent || text || IconRightComponent) && (
|
|
128
129
|
<Box
|
|
130
|
+
// align={align}
|
|
129
131
|
as="span"
|
|
130
|
-
align={align}
|
|
131
132
|
direction={direction}
|
|
132
133
|
display="flex"
|
|
133
134
|
flex={1}
|
|
@@ -142,8 +143,8 @@ export const Button = forwardRef(function Button(
|
|
|
142
143
|
paddingBottom={paddingBottom}
|
|
143
144
|
paddingLeft={paddingLeft}
|
|
144
145
|
paddingRight={paddingRight}
|
|
145
|
-
width="fill"
|
|
146
|
-
wrap={wrap}
|
|
146
|
+
// width="fill"
|
|
147
|
+
// wrap={wrap}
|
|
147
148
|
>
|
|
148
149
|
{IconComponent && (
|
|
149
150
|
<Text as="span" flex="none" muted size={fontSize}>
|
|
@@ -177,15 +178,15 @@ export const Button = forwardRef(function Button(
|
|
|
177
178
|
|
|
178
179
|
{children && (
|
|
179
180
|
<Box
|
|
180
|
-
align={align}
|
|
181
|
+
// align={align}
|
|
181
182
|
as="span"
|
|
182
|
-
direction={direction}
|
|
183
|
-
display="flex"
|
|
183
|
+
// direction={direction}
|
|
184
|
+
// display="flex"
|
|
184
185
|
flex={1}
|
|
185
186
|
gap={gap}
|
|
186
187
|
gapX={gapX}
|
|
187
188
|
gapY={gapY}
|
|
188
|
-
justify={justify}
|
|
189
|
+
// justify={justify}
|
|
189
190
|
padding={padding}
|
|
190
191
|
paddingX={paddingX}
|
|
191
192
|
paddingY={paddingY}
|
|
@@ -193,8 +194,8 @@ export const Button = forwardRef(function Button(
|
|
|
193
194
|
paddingBottom={paddingBottom}
|
|
194
195
|
paddingLeft={paddingLeft}
|
|
195
196
|
paddingRight={paddingRight}
|
|
196
|
-
width="fill"
|
|
197
|
-
wrap={wrap}
|
|
197
|
+
// width="fill"
|
|
198
|
+
// wrap={wrap}
|
|
198
199
|
>
|
|
199
200
|
{children}
|
|
200
201
|
</Box>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {ResponsiveProp} from '@sanity/ui/css'
|
|
1
|
+
import {composeClassNames, ResponsiveProp, stack} from '@sanity/ui/css'
|
|
2
2
|
import {Space} from '@sanity/ui/theme'
|
|
3
3
|
import {ForwardedRef, forwardRef} from 'react'
|
|
4
4
|
|
|
@@ -8,7 +8,11 @@ import {Box, BoxProps} from '../box'
|
|
|
8
8
|
/**
|
|
9
9
|
* @public
|
|
10
10
|
*/
|
|
11
|
-
export interface StackProps
|
|
11
|
+
export interface StackProps
|
|
12
|
+
extends Omit<
|
|
13
|
+
BoxProps,
|
|
14
|
+
'align' | 'columns' | 'direction' | 'display' | 'gapX' | 'gapY' | 'justify'
|
|
15
|
+
> {
|
|
12
16
|
/** @deprecated Use `gap` instead. */
|
|
13
17
|
space?: ResponsiveProp<Space>
|
|
14
18
|
}
|
|
@@ -22,15 +26,16 @@ export const Stack = forwardRef(function Stack(
|
|
|
22
26
|
props: Props<StackProps, 'div'>,
|
|
23
27
|
ref: ForwardedRef<HTMLDivElement>,
|
|
24
28
|
) {
|
|
25
|
-
const {as, gap, space, ...restProps} = props
|
|
29
|
+
const {as, className, gap, space, ...restProps} = props
|
|
26
30
|
|
|
27
31
|
return (
|
|
28
32
|
<Box
|
|
29
33
|
data-ui="Stack"
|
|
30
34
|
{...restProps}
|
|
31
35
|
as={as}
|
|
32
|
-
|
|
33
|
-
|
|
36
|
+
autoRows="min"
|
|
37
|
+
className={composeClassNames(className, stack())}
|
|
38
|
+
display="grid"
|
|
34
39
|
gap={gap ?? space}
|
|
35
40
|
ref={ref}
|
|
36
41
|
/>
|
|
@@ -1,251 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var color = require("@sanity/color");
|
|
3
|
-
const THEME_COLOR_SCHEMES = ["light", "dark"], THEME_COLOR_BLEND_MODES = ["multiply", "screen"], THEME_COLOR_CARD_TONES = [
|
|
4
|
-
"transparent",
|
|
5
|
-
"default",
|
|
6
|
-
"neutral",
|
|
7
|
-
"primary",
|
|
8
|
-
// deprecated
|
|
9
|
-
"suggest",
|
|
10
|
-
"positive",
|
|
11
|
-
"caution",
|
|
12
|
-
"critical"
|
|
13
|
-
], THEME_COLOR_STATE_TONES = [
|
|
14
|
-
"default",
|
|
15
|
-
"neutral",
|
|
16
|
-
"primary",
|
|
17
|
-
// deprecated
|
|
18
|
-
"suggest",
|
|
19
|
-
"positive",
|
|
20
|
-
"caution",
|
|
21
|
-
"critical"
|
|
22
|
-
], THEME_COLOR_STATES = ["enabled", "hovered", "pressed", "selected", "disabled"], THEME_COLOR_BUTTON_MODES = ["default", "ghost", "bleed"], THEME_COLOR_INPUT_MODES = ["default", "invalid"], THEME_COLOR_INPUT_STATES = ["enabled", "hovered", "readOnly", "disabled"], THEME_COLOR_AVATAR_COLORS = color.COLOR_HUES;
|
|
23
|
-
function themeColor_v3_v2(options) {
|
|
24
|
-
const {
|
|
25
|
-
color: color2,
|
|
26
|
-
dark
|
|
27
|
-
} = options;
|
|
28
|
-
return {
|
|
29
|
-
_blend: "screen",
|
|
30
|
-
_dark: dark,
|
|
31
|
-
...buildColorState({
|
|
32
|
-
cardColor: color2,
|
|
33
|
-
state: "enabled",
|
|
34
|
-
tone: "default",
|
|
35
|
-
variant: "tinted"
|
|
36
|
-
}),
|
|
37
|
-
backdrop: color2.backdrop,
|
|
38
|
-
button: THEME_COLOR_BUTTON_MODES.reduce((modes, mode) => (modes[mode] = THEME_COLOR_STATE_TONES.reduce((tones, tone) => (tones[tone] = THEME_COLOR_STATES.reduce((states, state) => (states[state] = buildColorState({
|
|
39
|
-
cardColor: color2,
|
|
40
|
-
state,
|
|
41
|
-
tone,
|
|
42
|
-
variant: mode === "default" ? "solid" : "tinted"
|
|
43
|
-
}), mode === "bleed" && (states[state].border = "transparent"), states), {}), tones), {}), modes), {}),
|
|
44
|
-
focusRing: color2.focusRing,
|
|
45
|
-
input: THEME_COLOR_INPUT_MODES.reduce((modes, mode) => (modes[mode] = THEME_COLOR_INPUT_STATES.reduce((states, state) => (states[state] = buildInputState(color2.variant.tinted.default), states), {}), modes), {}),
|
|
46
|
-
selectable: THEME_COLOR_STATE_TONES.reduce((tones, tone) => (tones[tone] = THEME_COLOR_STATES.reduce((states, state) => (states[state] = buildColorState({
|
|
47
|
-
cardColor: color2,
|
|
48
|
-
// cardVars: vars,
|
|
49
|
-
state,
|
|
50
|
-
tone,
|
|
51
|
-
variant: "tinted"
|
|
52
|
-
}), states), {}), tones), {}),
|
|
53
|
-
shadow: color2.shadow,
|
|
54
|
-
syntax: color2.token
|
|
55
|
-
};
|
|
56
|
-
}
|
|
57
|
-
const stateShades = {
|
|
58
|
-
enabled: {
|
|
59
|
-
bg: [0, 1, 2],
|
|
60
|
-
border: [0, 1, 2],
|
|
61
|
-
fg: [0, 1, 2]
|
|
62
|
-
},
|
|
63
|
-
hovered: {
|
|
64
|
-
bg: [1, 2, 3],
|
|
65
|
-
border: [1, 2, 3],
|
|
66
|
-
fg: [1, 2, 3]
|
|
67
|
-
},
|
|
68
|
-
pressed: {
|
|
69
|
-
bg: [2, 3, 4],
|
|
70
|
-
border: [2, 3, 4],
|
|
71
|
-
fg: [2, 3, 4]
|
|
72
|
-
},
|
|
73
|
-
selected: {
|
|
74
|
-
bg: [3, 4, 4],
|
|
75
|
-
border: [3, 4, 4],
|
|
76
|
-
fg: [3, 4, 4]
|
|
77
|
-
},
|
|
78
|
-
disabled: {
|
|
79
|
-
bg: [4, 4, 4],
|
|
80
|
-
border: [4, 4, 4],
|
|
81
|
-
fg: [4, 4, 4]
|
|
82
|
-
}
|
|
83
|
-
};
|
|
84
|
-
function mix(tokens, index) {
|
|
85
|
-
return index === 0 ? tokens[0] : index === 4 ? tokens[4] : `color-mix(in oklch, ${tokens[0]}, ${tokens[4]} ${index * 25}%)`;
|
|
86
|
-
}
|
|
87
|
-
function buildColorState(options) {
|
|
88
|
-
const {
|
|
89
|
-
cardColor,
|
|
90
|
-
state,
|
|
91
|
-
tone,
|
|
92
|
-
variant
|
|
93
|
-
} = options, color2 = cardColor.variant[variant][tone], shades = stateShades[state];
|
|
94
|
-
return {
|
|
95
|
-
accent: {
|
|
96
|
-
fg: color2.fg[4]
|
|
97
|
-
},
|
|
98
|
-
avatar: cardColor.avatar,
|
|
99
|
-
badge: THEME_COLOR_STATE_TONES.reduce((tones, tone2) => (tones[tone2] = {
|
|
100
|
-
bg: mix(color2.bg, 1),
|
|
101
|
-
fg: mix(color2.fg, 1),
|
|
102
|
-
dot: mix(color2.fg, 3),
|
|
103
|
-
icon: mix(color2.fg, 3)
|
|
104
|
-
}, tones), {}),
|
|
105
|
-
bg: mix(color2.bg, shades.bg[0]),
|
|
106
|
-
border: mix(color2.border, shades.border[0]),
|
|
107
|
-
fg: mix(color2.fg, shades.fg[0]),
|
|
108
|
-
code: {
|
|
109
|
-
bg: mix(color2.bg, shades.bg[1]),
|
|
110
|
-
fg: mix(color2.fg, shades.fg[2])
|
|
111
|
-
},
|
|
112
|
-
icon: mix(color2.fg, shades.fg[2]),
|
|
113
|
-
kbd: {
|
|
114
|
-
bg: mix(color2.bg, 0),
|
|
115
|
-
fg: mix(color2.fg, 0),
|
|
116
|
-
border: mix(color2.bg, 0)
|
|
117
|
-
},
|
|
118
|
-
link: {
|
|
119
|
-
fg: mix(color2.fg, shades.fg[2])
|
|
120
|
-
},
|
|
121
|
-
muted: {
|
|
122
|
-
bg: mix(color2.bg, shades.bg[1]),
|
|
123
|
-
fg: mix(color2.fg, shades.fg[2])
|
|
124
|
-
},
|
|
125
|
-
skeleton: cardColor.skeleton
|
|
126
|
-
};
|
|
127
|
-
}
|
|
128
|
-
function buildInputState(colorElement) {
|
|
129
|
-
return {
|
|
130
|
-
bg: colorElement.bg[0],
|
|
131
|
-
border: colorElement.bg[0],
|
|
132
|
-
fg: colorElement.fg[0],
|
|
133
|
-
muted: {
|
|
134
|
-
bg: colorElement.bg[0]
|
|
135
|
-
},
|
|
136
|
-
placeholder: colorElement.fg[0]
|
|
137
|
-
};
|
|
138
|
-
}
|
|
139
|
-
function v3_v2(theme_v3) {
|
|
140
|
-
return {
|
|
141
|
-
_version: 2,
|
|
142
|
-
avatar: theme_v3.avatar,
|
|
143
|
-
button: theme_v3.button,
|
|
144
|
-
card: theme_v3.card,
|
|
145
|
-
color: {
|
|
146
|
-
dark: {
|
|
147
|
-
transparent: themeColor_v3_v2({
|
|
148
|
-
color: theme_v3.color.dark.card.transparent,
|
|
149
|
-
dark: !0
|
|
150
|
-
// vars: vars.color.dark.transparent,
|
|
151
|
-
}),
|
|
152
|
-
default: themeColor_v3_v2({
|
|
153
|
-
color: theme_v3.color.dark.card.default,
|
|
154
|
-
dark: !0
|
|
155
|
-
// vars: vars.color.dark.default,
|
|
156
|
-
}),
|
|
157
|
-
neutral: themeColor_v3_v2({
|
|
158
|
-
color: theme_v3.color.dark.card.neutral,
|
|
159
|
-
dark: !0
|
|
160
|
-
// vars: vars.color.dark.neutral,
|
|
161
|
-
}),
|
|
162
|
-
primary: themeColor_v3_v2({
|
|
163
|
-
color: theme_v3.color.dark.card.primary,
|
|
164
|
-
dark: !0
|
|
165
|
-
// vars: vars.color.dark.primary,
|
|
166
|
-
}),
|
|
167
|
-
suggest: themeColor_v3_v2({
|
|
168
|
-
color: theme_v3.color.dark.card.suggest,
|
|
169
|
-
dark: !0
|
|
170
|
-
// vars: vars.color.dark.suggest,
|
|
171
|
-
}),
|
|
172
|
-
positive: themeColor_v3_v2({
|
|
173
|
-
color: theme_v3.color.dark.card.positive,
|
|
174
|
-
dark: !0
|
|
175
|
-
// vars: vars.color.dark.positive,
|
|
176
|
-
}),
|
|
177
|
-
caution: themeColor_v3_v2({
|
|
178
|
-
color: theme_v3.color.dark.card.caution,
|
|
179
|
-
dark: !0
|
|
180
|
-
// vars: vars.color.dark.caution,
|
|
181
|
-
}),
|
|
182
|
-
critical: themeColor_v3_v2({
|
|
183
|
-
color: theme_v3.color.dark.card.critical,
|
|
184
|
-
dark: !0
|
|
185
|
-
// vars: vars.color.dark.critical,
|
|
186
|
-
})
|
|
187
|
-
},
|
|
188
|
-
light: {
|
|
189
|
-
transparent: themeColor_v3_v2({
|
|
190
|
-
color: theme_v3.color.light.card.transparent,
|
|
191
|
-
dark: !1
|
|
192
|
-
// vars: vars.color.light.transparent,
|
|
193
|
-
}),
|
|
194
|
-
default: themeColor_v3_v2({
|
|
195
|
-
color: theme_v3.color.light.card.default,
|
|
196
|
-
dark: !1
|
|
197
|
-
// vars: vars.color.light.default,
|
|
198
|
-
}),
|
|
199
|
-
neutral: themeColor_v3_v2({
|
|
200
|
-
color: theme_v3.color.light.card.neutral,
|
|
201
|
-
dark: !1
|
|
202
|
-
// vars: vars.color.light.neutral,
|
|
203
|
-
}),
|
|
204
|
-
primary: themeColor_v3_v2({
|
|
205
|
-
color: theme_v3.color.light.card.primary,
|
|
206
|
-
dark: !1
|
|
207
|
-
// vars: vars.color.light.primary,
|
|
208
|
-
}),
|
|
209
|
-
suggest: themeColor_v3_v2({
|
|
210
|
-
color: theme_v3.color.light.card.suggest,
|
|
211
|
-
dark: !1
|
|
212
|
-
// vars: vars.color.light.suggest,
|
|
213
|
-
}),
|
|
214
|
-
positive: themeColor_v3_v2({
|
|
215
|
-
color: theme_v3.color.light.card.positive,
|
|
216
|
-
dark: !1
|
|
217
|
-
// vars: vars.color.light.positive,
|
|
218
|
-
}),
|
|
219
|
-
caution: themeColor_v3_v2({
|
|
220
|
-
color: theme_v3.color.light.card.caution,
|
|
221
|
-
dark: !1
|
|
222
|
-
// vars: vars.color.light.caution,
|
|
223
|
-
}),
|
|
224
|
-
critical: themeColor_v3_v2({
|
|
225
|
-
color: theme_v3.color.light.card.critical,
|
|
226
|
-
dark: !1
|
|
227
|
-
// vars: vars.color.light.critical,
|
|
228
|
-
})
|
|
229
|
-
}
|
|
230
|
-
},
|
|
231
|
-
container: theme_v3.container,
|
|
232
|
-
font: theme_v3.font,
|
|
233
|
-
input: theme_v3.input,
|
|
234
|
-
layer: theme_v3.layer,
|
|
235
|
-
media: theme_v3.media,
|
|
236
|
-
radius: theme_v3.radius,
|
|
237
|
-
shadow: theme_v3.shadow,
|
|
238
|
-
space: theme_v3.space
|
|
239
|
-
};
|
|
240
|
-
}
|
|
241
|
-
exports.THEME_COLOR_AVATAR_COLORS = THEME_COLOR_AVATAR_COLORS;
|
|
242
|
-
exports.THEME_COLOR_BLEND_MODES = THEME_COLOR_BLEND_MODES;
|
|
243
|
-
exports.THEME_COLOR_BUTTON_MODES = THEME_COLOR_BUTTON_MODES;
|
|
244
|
-
exports.THEME_COLOR_CARD_TONES = THEME_COLOR_CARD_TONES;
|
|
245
|
-
exports.THEME_COLOR_INPUT_MODES = THEME_COLOR_INPUT_MODES;
|
|
246
|
-
exports.THEME_COLOR_INPUT_STATES = THEME_COLOR_INPUT_STATES;
|
|
247
|
-
exports.THEME_COLOR_SCHEMES = THEME_COLOR_SCHEMES;
|
|
248
|
-
exports.THEME_COLOR_STATES = THEME_COLOR_STATES;
|
|
249
|
-
exports.THEME_COLOR_STATE_TONES = THEME_COLOR_STATE_TONES;
|
|
250
|
-
exports.v3_v2 = v3_v2;
|
|
251
|
-
//# sourceMappingURL=v3_v2.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"v3_v2.js","sources":["../../src/theme/v2/color/_constants.ts","../../src/theme/versioning/themeColor_v3_v2.ts","../../src/theme/versioning/v3_v2.ts"],"sourcesContent":["import {COLOR_HUES} from '@sanity/color'\n\n/** @public */\nexport const THEME_COLOR_SCHEMES = ['light', 'dark'] as const\n\n/** @public */\nexport const THEME_COLOR_BLEND_MODES = ['multiply', 'screen'] as const\n\n/** @public */\nexport const THEME_COLOR_CARD_TONES = [\n 'transparent',\n 'default',\n 'neutral',\n 'primary', // deprecated\n 'suggest',\n 'positive',\n 'caution',\n 'critical',\n] as const\n\n/** @public */\nexport const THEME_COLOR_STATE_TONES = [\n 'default',\n 'neutral',\n 'primary', // deprecated\n 'suggest',\n 'positive',\n 'caution',\n 'critical',\n] as const\n\n/** @public */\nexport const THEME_COLOR_STATES = ['enabled', 'hovered', 'pressed', 'selected', 'disabled'] as const\n\n/** @public */\nexport const THEME_COLOR_BUTTON_MODES = ['default', 'ghost', 'bleed'] as const\n\n/** @public */\nexport const THEME_COLOR_INPUT_MODES = ['default', 'invalid'] as const\n\n/** @public */\nexport const THEME_COLOR_INPUT_STATES = ['enabled', 'hovered', 'readOnly', 'disabled'] as const\n\n/** @public */\nexport const THEME_COLOR_AVATAR_COLORS = COLOR_HUES\n","import {\n THEME_COLOR_BUTTON_MODES,\n THEME_COLOR_INPUT_MODES,\n THEME_COLOR_INPUT_STATES,\n THEME_COLOR_STATE_TONES,\n THEME_COLOR_STATES,\n ThemeColorBadge_v2,\n ThemeColorButton_v2,\n ThemeColorButtonMode_v2,\n ThemeColorButtonTone_v2,\n ThemeColorCard_v2,\n ThemeColorInput_v2,\n ThemeColorInputMode_v2,\n ThemeColorInputState_v2,\n ThemeColorSelectable_v2,\n ThemeColorSelectableTone_v2,\n ThemeColorState_v2,\n ThemeColorStateKey,\n ThemeColorStateToneKey,\n} from '../v2'\nimport {ThemeColorCard_v3, ThemeColorElement, ThemeColorVariantKey} from '../v3'\n\nexport function themeColor_v3_v2(options: {\n color: ThemeColorCard_v3\n dark: boolean\n}): ThemeColorCard_v2 {\n const {color, dark} = options\n\n return {\n _blend: 'screen',\n _dark: dark,\n ...buildColorState({\n cardColor: color,\n state: 'enabled',\n tone: 'default',\n variant: 'tinted',\n }),\n backdrop: color.backdrop,\n button: THEME_COLOR_BUTTON_MODES.reduce<ThemeColorButton_v2>((modes, mode) => {\n modes[mode] = THEME_COLOR_STATE_TONES.reduce<ThemeColorButtonMode_v2>((tones, tone) => {\n tones[tone] = THEME_COLOR_STATES.reduce<ThemeColorButtonTone_v2>((states, state) => {\n states[state] = buildColorState({\n cardColor: color,\n state,\n tone,\n variant: mode === 'default' ? 'solid' : 'tinted',\n })\n\n if (mode === 'bleed') {\n states[state].border = 'transparent'\n }\n\n return states\n }, {} as ThemeColorButtonTone_v2)\n\n return tones\n }, {} as ThemeColorButtonMode_v2)\n\n return modes\n }, {} as ThemeColorButton_v2),\n focusRing: color.focusRing,\n input: THEME_COLOR_INPUT_MODES.reduce<ThemeColorInput_v2>((modes, mode) => {\n modes[mode] = THEME_COLOR_INPUT_STATES.reduce<ThemeColorInputMode_v2>((states, state) => {\n states[state] = buildInputState(color.variant.tinted.default)\n\n return states\n }, {} as ThemeColorInputMode_v2)\n\n return modes\n }, {} as ThemeColorInput_v2),\n selectable: THEME_COLOR_STATE_TONES.reduce<ThemeColorSelectable_v2>((tones, tone) => {\n tones[tone] = THEME_COLOR_STATES.reduce<ThemeColorSelectableTone_v2>((states, state) => {\n states[state] = buildColorState({\n cardColor: color,\n // cardVars: vars,\n state,\n tone,\n variant: 'tinted',\n })\n\n return states\n }, {} as ThemeColorSelectableTone_v2)\n\n return tones\n }, {} as ThemeColorSelectable_v2),\n shadow: color.shadow,\n syntax: color.token,\n }\n}\n\ntype ElementTokenIndex = 0 | 1 | 2 | 3 | 4\n\nconst stateShades: Record<\n ThemeColorStateKey,\n {\n bg: [ElementTokenIndex, ElementTokenIndex, ElementTokenIndex]\n border: [ElementTokenIndex, ElementTokenIndex, ElementTokenIndex]\n fg: [ElementTokenIndex, ElementTokenIndex, ElementTokenIndex]\n }\n> = {\n enabled: {\n bg: [0, 1, 2],\n border: [0, 1, 2],\n fg: [0, 1, 2],\n },\n hovered: {\n bg: [1, 2, 3],\n border: [1, 2, 3],\n fg: [1, 2, 3],\n },\n pressed: {\n bg: [2, 3, 4],\n border: [2, 3, 4],\n fg: [2, 3, 4],\n },\n selected: {\n bg: [3, 4, 4],\n border: [3, 4, 4],\n fg: [3, 4, 4],\n },\n disabled: {\n bg: [4, 4, 4],\n border: [4, 4, 4],\n fg: [4, 4, 4],\n },\n}\n\nfunction mix(\n tokens: {\n 0: string\n 4: string\n },\n index: ElementTokenIndex,\n) {\n if (index === 0) {\n return tokens[0]\n }\n\n if (index === 4) {\n return tokens[4]\n }\n\n return `color-mix(in oklch, ${tokens[0]}, ${tokens[4]} ${index * 25}%)`\n}\n\nfunction buildColorState(options: {\n cardColor: ThemeColorCard_v3\n state: ThemeColorStateKey\n tone: ThemeColorStateToneKey\n variant: ThemeColorVariantKey\n}): ThemeColorState_v2 {\n const {cardColor, state, tone, variant} = options\n const color = cardColor.variant[variant][tone]\n\n const shades = stateShades[state]\n\n return {\n accent: {\n fg: color.fg[4],\n },\n avatar: cardColor.avatar,\n badge: THEME_COLOR_STATE_TONES.reduce<ThemeColorBadge_v2>((tones, tone) => {\n tones[tone] = {\n bg: mix(color.bg, 1),\n fg: mix(color.fg, 1),\n dot: mix(color.fg, 3),\n icon: mix(color.fg, 3),\n }\n\n return tones\n }, {} as ThemeColorBadge_v2),\n bg: mix(color.bg, shades.bg[0]),\n border: mix(color.border, shades.border[0]),\n fg: mix(color.fg, shades.fg[0]),\n code: {\n bg: mix(color.bg, shades.bg[1]),\n fg: mix(color.fg, shades.fg[2]),\n },\n icon: mix(color.fg, shades.fg[2]),\n kbd: {\n bg: mix(color.bg, 0),\n fg: mix(color.fg, 0),\n border: mix(color.bg, 0),\n },\n link: {\n fg: mix(color.fg, shades.fg[2]),\n },\n muted: {\n bg: mix(color.bg, shades.bg[1]),\n fg: mix(color.fg, shades.fg[2]),\n },\n skeleton: cardColor.skeleton,\n }\n}\n\nfunction buildInputState(colorElement: ThemeColorElement): ThemeColorInputState_v2 {\n return {\n bg: colorElement.bg[0],\n border: colorElement.bg[0],\n fg: colorElement.fg[0],\n muted: {\n bg: colorElement.bg[0],\n },\n placeholder: colorElement.fg[0],\n }\n}\n","// import {vars} from '@sanity/ui/css'\n\nimport {RootTheme_v2} from '../v2'\nimport {Theme_v3} from '../v3'\nimport {themeColor_v3_v2} from './themeColor_v3_v2'\n\nexport function v3_v2(theme_v3: Theme_v3): RootTheme_v2 {\n return {\n _version: 2,\n avatar: theme_v3.avatar,\n button: theme_v3.button,\n card: theme_v3.card,\n color: {\n dark: {\n transparent: themeColor_v3_v2({\n color: theme_v3.color.dark.card.transparent,\n dark: true,\n // vars: vars.color.dark.transparent,\n }),\n default: themeColor_v3_v2({\n color: theme_v3.color.dark.card.default,\n dark: true,\n // vars: vars.color.dark.default,\n }),\n neutral: themeColor_v3_v2({\n color: theme_v3.color.dark.card.neutral,\n dark: true,\n // vars: vars.color.dark.neutral,\n }),\n primary: themeColor_v3_v2({\n color: theme_v3.color.dark.card.primary,\n dark: true,\n // vars: vars.color.dark.primary,\n }),\n suggest: themeColor_v3_v2({\n color: theme_v3.color.dark.card.suggest,\n dark: true,\n // vars: vars.color.dark.suggest,\n }),\n positive: themeColor_v3_v2({\n color: theme_v3.color.dark.card.positive,\n dark: true,\n // vars: vars.color.dark.positive,\n }),\n caution: themeColor_v3_v2({\n color: theme_v3.color.dark.card.caution,\n dark: true,\n // vars: vars.color.dark.caution,\n }),\n critical: themeColor_v3_v2({\n color: theme_v3.color.dark.card.critical,\n dark: true,\n // vars: vars.color.dark.critical,\n }),\n },\n light: {\n transparent: themeColor_v3_v2({\n color: theme_v3.color.light.card.transparent,\n dark: false,\n // vars: vars.color.light.transparent,\n }),\n default: themeColor_v3_v2({\n color: theme_v3.color.light.card.default,\n dark: false,\n // vars: vars.color.light.default,\n }),\n neutral: themeColor_v3_v2({\n color: theme_v3.color.light.card.neutral,\n dark: false,\n // vars: vars.color.light.neutral,\n }),\n primary: themeColor_v3_v2({\n color: theme_v3.color.light.card.primary,\n dark: false,\n // vars: vars.color.light.primary,\n }),\n suggest: themeColor_v3_v2({\n color: theme_v3.color.light.card.suggest,\n dark: false,\n // vars: vars.color.light.suggest,\n }),\n positive: themeColor_v3_v2({\n color: theme_v3.color.light.card.positive,\n dark: false,\n // vars: vars.color.light.positive,\n }),\n caution: themeColor_v3_v2({\n color: theme_v3.color.light.card.caution,\n dark: false,\n // vars: vars.color.light.caution,\n }),\n critical: themeColor_v3_v2({\n color: theme_v3.color.light.card.critical,\n dark: false,\n // vars: vars.color.light.critical,\n }),\n },\n },\n container: theme_v3.container,\n font: theme_v3.font,\n input: theme_v3.input,\n layer: theme_v3.layer,\n media: theme_v3.media,\n radius: theme_v3.radius,\n shadow: theme_v3.shadow,\n space: theme_v3.space,\n }\n}\n"],"names":["THEME_COLOR_SCHEMES","THEME_COLOR_BLEND_MODES","THEME_COLOR_CARD_TONES","THEME_COLOR_STATE_TONES","THEME_COLOR_STATES","THEME_COLOR_BUTTON_MODES","THEME_COLOR_INPUT_MODES","THEME_COLOR_INPUT_STATES","THEME_COLOR_AVATAR_COLORS","COLOR_HUES","themeColor_v3_v2","options","color","dark","_blend","_dark","buildColorState","cardColor","state","tone","variant","backdrop","button","reduce","modes","mode","tones","states","border","focusRing","input","buildInputState","tinted","default","selectable","shadow","syntax","token","stateShades","enabled","bg","fg","hovered","pressed","selected","disabled","mix","tokens","index","shades","accent","avatar","badge","dot","icon","code","kbd","link","muted","skeleton","colorElement","placeholder","v3_v2","theme_v3","_version","card","transparent","neutral","primary","suggest","positive","caution","critical","light","container","font","layer","media","radius","space"],"mappings":"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"}
|