@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.
Files changed (38) hide show
  1. package/dist/_chunks-cjs/_visual-editing.js +71 -25
  2. package/dist/_chunks-cjs/_visual-editing.js.map +1 -1
  3. package/dist/_chunks-es/_visual-editing.mjs +72 -26
  4. package/dist/_chunks-es/_visual-editing.mjs.map +1 -1
  5. package/dist/_visual-editing.d.mts +4 -1
  6. package/dist/_visual-editing.d.ts +4 -1
  7. package/dist/cli.js +1 -1
  8. package/dist/css.d.mts +144 -852
  9. package/dist/css.d.ts +144 -852
  10. package/dist/css.js +155 -141
  11. package/dist/css.js.map +1 -1
  12. package/dist/css.mjs +154 -141
  13. package/dist/css.mjs.map +1 -1
  14. package/dist/index.d.mts +4 -1
  15. package/dist/index.d.ts +4 -1
  16. package/dist/sanity-theme.css +1 -1
  17. package/dist/system.css +54 -49
  18. package/dist/theme.js +271 -33
  19. package/dist/theme.js.map +1 -1
  20. package/dist/theme.mjs +252 -16
  21. package/dist/theme.mjs.map +1 -1
  22. package/package.json +1 -1
  23. package/src/css/aspects/flex/flexJustify.style.ts +3 -3
  24. package/src/css/aspects/grid/types.ts +2 -2
  25. package/src/css/index.ts +2 -2
  26. package/src/css/primitives/button/button.style.ts +6 -4
  27. package/src/css/primitives/stack/index.ts +1 -0
  28. package/src/css/primitives/stack/stack.style.ts +9 -0
  29. package/src/css/primitives/stack/stack.ts +6 -0
  30. package/src/css/system.style.ts +2 -0
  31. package/src/theme/v3/defaults.ts +1 -1
  32. package/src/ui/primitives/box/box.tsx +6 -0
  33. package/src/ui/primitives/button/button.tsx +11 -10
  34. package/src/ui/primitives/stack/stack.tsx +10 -5
  35. package/dist/_chunks-cjs/v3_v2.js +0 -251
  36. package/dist/_chunks-cjs/v3_v2.js.map +0 -1
  37. package/dist/_chunks-es/v3_v2.mjs +0 -252
  38. package/dist/_chunks-es/v3_v2.mjs.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sanity/ui",
3
- "version": "3.0.0-static.4",
3
+ "version": "3.0.0-static.5",
4
4
  "keywords": [
5
5
  "sanity",
6
6
  "ui",
@@ -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 '../theme/versioning/v3_v2'
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[1],
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[2],
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[3],
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[3],
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'
@@ -0,0 +1,9 @@
1
+ import {Style, StyleRules} from '../../types'
2
+
3
+ const primitive: StyleRules = {
4
+ '.stack': {
5
+ gridTemplateColumns: 'minmax(0, 1fr)',
6
+ },
7
+ }
8
+
9
+ export const stackStyle: Style = {layers: {primitive}}
@@ -0,0 +1,6 @@
1
+ import {_comp} from '../../_comp'
2
+
3
+ /** @public */
4
+ export function stack(): string | undefined {
5
+ return _comp('stack')
6
+ }
@@ -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,
@@ -136,7 +136,7 @@ export const defaultTokens: PartialTokens<Tokens> = {
136
136
  4: ['800', '300 50%'],
137
137
  },
138
138
  border: {
139
- 0: ['900', '100'],
139
+ 0: ['900', '300 40%'],
140
140
  4: ['700', '300'],
141
141
  },
142
142
  fg: {
@@ -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={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 extends Omit<BoxProps, 'direction' | 'display' | 'gapX' | 'gapY'> {
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
- direction="column"
33
- display="flex"
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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"}