@sanity/ui 3.0.0-static.10 → 3.0.0-static.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.
Files changed (106) hide show
  1. package/dist/_chunks-cjs/_visual-editing.js +105 -143
  2. package/dist/_chunks-cjs/_visual-editing.js.map +1 -1
  3. package/dist/_chunks-cjs/buildCommand.js +1 -1
  4. package/dist/_chunks-cjs/buildCommand.js.map +1 -1
  5. package/dist/_chunks-cjs/v3_v2.js +251 -0
  6. package/dist/_chunks-cjs/v3_v2.js.map +1 -0
  7. package/dist/_chunks-es/_visual-editing.mjs +106 -144
  8. package/dist/_chunks-es/_visual-editing.mjs.map +1 -1
  9. package/dist/_chunks-es/v3_v2.mjs +252 -0
  10. package/dist/_chunks-es/v3_v2.mjs.map +1 -0
  11. package/dist/_visual-editing.d.mts +11 -14
  12. package/dist/_visual-editing.d.ts +11 -14
  13. package/dist/cli.js +1 -1
  14. package/dist/css.d.mts +1006 -282
  15. package/dist/css.d.ts +1006 -282
  16. package/dist/css.js +743 -852
  17. package/dist/css.js.map +1 -1
  18. package/dist/css.mjs +743 -852
  19. package/dist/css.mjs.map +1 -1
  20. package/dist/index.d.mts +11 -14
  21. package/dist/index.d.ts +11 -14
  22. package/dist/index.js +31 -17
  23. package/dist/index.js.map +1 -1
  24. package/dist/index.mjs +33 -19
  25. package/dist/index.mjs.map +1 -1
  26. package/dist/sanity-palette.css +9 -1
  27. package/dist/sanity-theme.css +1 -1
  28. package/dist/system.css +1023 -1448
  29. package/dist/theme.d.mts +119 -85
  30. package/dist/theme.d.ts +119 -85
  31. package/dist/theme.js +219 -432
  32. package/dist/theme.js.map +1 -1
  33. package/dist/theme.mjs +202 -413
  34. package/dist/theme.mjs.map +1 -1
  35. package/package.json +2 -2
  36. package/src/cli/buildCommand.ts +2 -2
  37. package/src/css/_comp.ts +0 -1
  38. package/src/css/aspects/flex/flexJustify.style.ts +3 -3
  39. package/src/css/aspects/grid/types.ts +2 -2
  40. package/src/css/aspects/index.ts +0 -1
  41. package/src/css/aspects/textOverflow/textOverflow.ts +2 -2
  42. package/src/css/compile/compilePalette.ts +41 -8
  43. package/src/css/compile/compileRule.ts +0 -1
  44. package/src/css/compile/compileStyle.ts +1 -1
  45. package/src/css/compile/compileTheme_v3.ts +55 -46
  46. package/src/css/index.ts +2 -2
  47. package/src/css/primitives/_input/__workshop__/index.ts +1 -1
  48. package/src/css/primitives/_selectable/_contants.ts +1 -1
  49. package/src/css/primitives/badge/badge.style.ts +1 -1
  50. package/src/css/primitives/box/box.style.ts +1 -1
  51. package/src/css/primitives/box/box.ts +0 -2
  52. package/src/css/primitives/box/types.ts +0 -2
  53. package/src/css/primitives/button/_constants.ts +1 -1
  54. package/src/css/primitives/button/button.style.ts +13 -32
  55. package/src/css/primitives/card/_constants.ts +2 -2
  56. package/src/css/primitives/card/card.style.ts +44 -116
  57. package/src/css/primitives/card/card.ts +1 -1
  58. package/src/css/primitives/card/rules.ts +473 -0
  59. package/src/css/primitives/card/types.ts +1 -0
  60. package/src/css/primitives/kbd/kbd.style.ts +1 -1
  61. package/src/css/primitives/popover/popover.ts +0 -4
  62. package/src/css/primitives/switch/switch.style.ts +83 -8
  63. package/src/css/primitives/text/text.style.ts +3 -11
  64. package/src/css/system.style.ts +0 -4
  65. package/src/css/types.ts +188 -202
  66. package/src/css/varNames.ts +76 -110
  67. package/src/css/vars.ts +76 -109
  68. package/src/theme/defaults/config.ts +2 -2
  69. package/src/theme/defaults/fonts.ts +4 -4
  70. package/src/theme/palette/constants.ts +3 -1
  71. package/src/theme/palette/types.ts +12 -0
  72. package/src/theme/v3/buildTheme_v3.ts +2 -1
  73. package/src/theme/v3/color/buildColor_v3.ts +38 -43
  74. package/src/theme/v3/color/card.ts +38 -43
  75. package/src/theme/v3/color/color.ts +38 -42
  76. package/src/theme/v3/defaults.ts +72 -69
  77. package/src/theme/v3/resolveTokens.ts +38 -43
  78. package/src/theme/v3/types.ts +3 -0
  79. package/src/theme/versioning/themeColor_v3_v2.ts +1 -1
  80. package/src/ui/StyleTags.tsx +1 -1
  81. package/src/ui/components/autocomplete/__workshop__/async.tsx +1 -0
  82. package/src/ui/components/autocomplete/__workshop__/index.ts +1 -1
  83. package/src/ui/components/autocomplete/autocomplete.tsx +11 -2
  84. package/src/ui/components/dialog/dialog.tsx +4 -3
  85. package/src/ui/constants.ts +0 -6
  86. package/src/ui/hooks/useMediaIndex/useMediaIndex.ts +2 -0
  87. package/src/ui/primitives/box/box.tsx +2 -9
  88. package/src/ui/primitives/button/button.tsx +11 -12
  89. package/src/ui/primitives/card/card.tsx +5 -4
  90. package/src/ui/primitives/code/code.tsx +1 -1
  91. package/src/ui/primitives/heading/heading.tsx +1 -1
  92. package/src/ui/primitives/kbd/kbd.tsx +2 -2
  93. package/src/ui/primitives/popover/popover.tsx +75 -5
  94. package/src/ui/primitives/popover/popoverCard.tsx +39 -45
  95. package/src/ui/primitives/select/select.tsx +3 -3
  96. package/src/ui/primitives/stack/stack.tsx +5 -10
  97. package/src/ui/primitives/text/text.tsx +1 -1
  98. package/src/ui/primitives/textInput/textInput.tsx +1 -1
  99. package/src/ui/primitives/tooltip/tooltip.tsx +3 -2
  100. package/src/css/aspects/minWidth/index.ts +0 -2
  101. package/src/css/aspects/minWidth/minWidth.style.ts +0 -13
  102. package/src/css/aspects/minWidth/minWidth.ts +0 -6
  103. package/src/css/aspects/minWidth/types.ts +0 -7
  104. package/src/css/primitives/stack/index.ts +0 -1
  105. package/src/css/primitives/stack/stack.style.ts +0 -9
  106. package/src/css/primitives/stack/stack.ts +0 -6
@@ -5,7 +5,7 @@ function _interopDefaultCompat(e) {
5
5
  }
6
6
  var fs__default = /* @__PURE__ */ _interopDefaultCompat(fs), path__default = /* @__PURE__ */ _interopDefaultCompat(path);
7
7
  async function buildPalette(outDir) {
8
- const css$1 = css.compilePalette();
8
+ const css$1 = css.compilePalette(theme.defaultPalette);
9
9
  await fs__default.default.mkdir(outDir, {
10
10
  recursive: !0
11
11
  }), await fs__default.default.writeFile(path__default.default.resolve(outDir, "sanity-palette.css"), css$1, "utf-8"), console.log("- sanity-palette.css");
@@ -1 +1 @@
1
- {"version":3,"file":"buildCommand.js","sources":["../../src/cli/buildCommand.ts"],"sourcesContent":["import {compilePalette, compileSystem, compileTheme} from '@sanity/ui/css'\nimport {buildTheme_v3, RootTheme} from '@sanity/ui/theme'\nimport fs from 'fs/promises'\nimport path from 'path'\n\nasync function buildPalette(outDir: string) {\n const css = compilePalette()\n\n await fs.mkdir(outDir, {recursive: true})\n\n await fs.writeFile(path.resolve(outDir, 'sanity-palette.css'), css, 'utf-8')\n\n // eslint-disable-next-line no-console\n console.log('- sanity-palette.css')\n}\n\nasync function buildTheme(outDir: string) {\n const css = compileTheme({v3: buildTheme_v3()} as RootTheme)\n\n await fs.mkdir(outDir, {recursive: true})\n\n await fs.writeFile(path.resolve(outDir, 'sanity-theme.css'), css, 'utf-8')\n\n // eslint-disable-next-line no-console\n console.log('- sanity-theme.css')\n}\n\nasync function buildSystem(outDir: string) {\n const css = compileSystem()\n\n await fs.mkdir(outDir, {recursive: true})\n\n await fs.writeFile(path.resolve(outDir, 'system.css'), css, 'utf-8')\n\n // eslint-disable-next-line no-console\n console.log('- system.css')\n}\n\nexport async function buildCommand(options: {cwd?: string; outDir?: string}): Promise<void> {\n const cwd = options.cwd ?? process.cwd()\n const outDir = options.outDir ?? path.resolve(cwd, 'dist')\n\n await buildPalette(outDir)\n\n await buildTheme(outDir)\n\n await buildSystem(outDir)\n}\n"],"names":["buildPalette","outDir","css","compilePalette","fs","mkdir","recursive","writeFile","path","resolve","console","log","buildTheme","compileTheme","v3","buildTheme_v3","buildSystem","compileSystem","buildCommand","options","cwd","process"],"mappings":";;;;;;AAKA,eAAeA,aAAaC,QAAgB;AAC1C,QAAMC,QAAMC,IAAAA,eAAe;AAErBC,QAAAA,YAAAA,QAAGC,MAAMJ,QAAQ;AAAA,IAACK,WAAW;AAAA,EAAK,CAAA,GAExC,MAAMF,YAAAA,QAAGG,UAAUC,cAAKC,QAAAA,QAAQR,QAAQ,oBAAoB,GAAGC,OAAK,OAAO,GAG3EQ,QAAQC,IAAI,sBAAsB;AACpC;AAEA,eAAeC,WAAWX,QAAgB;AACxC,QAAMC,QAAMW,IAAAA,aAAa;AAAA,IAACC,IAAIC,MAAc,cAAA;AAAA,EAAA,CAAe;AAErDX,QAAAA,YAAAA,QAAGC,MAAMJ,QAAQ;AAAA,IAACK,WAAW;AAAA,EAAK,CAAA,GAExC,MAAMF,YAAAA,QAAGG,UAAUC,cAAKC,QAAAA,QAAQR,QAAQ,kBAAkB,GAAGC,OAAK,OAAO,GAGzEQ,QAAQC,IAAI,oBAAoB;AAClC;AAEA,eAAeK,YAAYf,QAAgB;AACzC,QAAMC,QAAMe,IAAAA,cAAc;AAEpBb,QAAAA,YAAAA,QAAGC,MAAMJ,QAAQ;AAAA,IAACK,WAAW;AAAA,EAAK,CAAA,GAExC,MAAMF,YAAAA,QAAGG,UAAUC,cAAKC,QAAAA,QAAQR,QAAQ,YAAY,GAAGC,OAAK,OAAO,GAGnEQ,QAAQC,IAAI,cAAc;AAC5B;AAEA,eAAsBO,aAAaC,SAAyD;AAC1F,QAAMC,MAAMD,QAAQC,OAAOC,QAAQD,IAAI,GACjCnB,SAASkB,QAAQlB,UAAUO,cAAAA,QAAKC,QAAQW,KAAK,MAAM;AAEnDpB,QAAAA,aAAaC,MAAM,GAEzB,MAAMW,WAAWX,MAAM,GAEvB,MAAMe,YAAYf,MAAM;AAC1B;;"}
1
+ {"version":3,"file":"buildCommand.js","sources":["../../src/cli/buildCommand.ts"],"sourcesContent":["import {compilePalette, compileSystem, compileTheme} from '@sanity/ui/css'\nimport {buildTheme_v3, defaultPalette, RootTheme} from '@sanity/ui/theme'\nimport fs from 'fs/promises'\nimport path from 'path'\n\nasync function buildPalette(outDir: string) {\n const css = compilePalette(defaultPalette)\n\n await fs.mkdir(outDir, {recursive: true})\n\n await fs.writeFile(path.resolve(outDir, 'sanity-palette.css'), css, 'utf-8')\n\n // eslint-disable-next-line no-console\n console.log('- sanity-palette.css')\n}\n\nasync function buildTheme(outDir: string) {\n const css = compileTheme({v3: buildTheme_v3()} as RootTheme)\n\n await fs.mkdir(outDir, {recursive: true})\n\n await fs.writeFile(path.resolve(outDir, 'sanity-theme.css'), css, 'utf-8')\n\n // eslint-disable-next-line no-console\n console.log('- sanity-theme.css')\n}\n\nasync function buildSystem(outDir: string) {\n const css = compileSystem()\n\n await fs.mkdir(outDir, {recursive: true})\n\n await fs.writeFile(path.resolve(outDir, 'system.css'), css, 'utf-8')\n\n // eslint-disable-next-line no-console\n console.log('- system.css')\n}\n\nexport async function buildCommand(options: {cwd?: string; outDir?: string}): Promise<void> {\n const cwd = options.cwd ?? process.cwd()\n const outDir = options.outDir ?? path.resolve(cwd, 'dist')\n\n await buildPalette(outDir)\n\n await buildTheme(outDir)\n\n await buildSystem(outDir)\n}\n"],"names":["buildPalette","outDir","css","compilePalette","defaultPalette","fs","mkdir","recursive","writeFile","path","resolve","console","log","buildTheme","compileTheme","v3","buildTheme_v3","buildSystem","compileSystem","buildCommand","options","cwd","process"],"mappings":";;;;;;AAKA,eAAeA,aAAaC,QAAgB;AACpCC,QAAAA,QAAMC,mBAAeC,oBAAc;AAEnCC,QAAAA,YAAAA,QAAGC,MAAML,QAAQ;AAAA,IAACM,WAAW;AAAA,EAAK,CAAA,GAExC,MAAMF,YAAAA,QAAGG,UAAUC,cAAKC,QAAAA,QAAQT,QAAQ,oBAAoB,GAAGC,OAAK,OAAO,GAG3ES,QAAQC,IAAI,sBAAsB;AACpC;AAEA,eAAeC,WAAWZ,QAAgB;AACxC,QAAMC,QAAMY,IAAAA,aAAa;AAAA,IAACC,IAAIC,MAAc,cAAA;AAAA,EAAA,CAAe;AAErDX,QAAAA,YAAAA,QAAGC,MAAML,QAAQ;AAAA,IAACM,WAAW;AAAA,EAAK,CAAA,GAExC,MAAMF,YAAAA,QAAGG,UAAUC,cAAKC,QAAAA,QAAQT,QAAQ,kBAAkB,GAAGC,OAAK,OAAO,GAGzES,QAAQC,IAAI,oBAAoB;AAClC;AAEA,eAAeK,YAAYhB,QAAgB;AACzC,QAAMC,QAAMgB,IAAAA,cAAc;AAEpBb,QAAAA,YAAAA,QAAGC,MAAML,QAAQ;AAAA,IAACM,WAAW;AAAA,EAAK,CAAA,GAExC,MAAMF,YAAAA,QAAGG,UAAUC,cAAKC,QAAAA,QAAQT,QAAQ,YAAY,GAAGC,OAAK,OAAO,GAGnES,QAAQC,IAAI,cAAc;AAC5B;AAEA,eAAsBO,aAAaC,SAAyD;AAC1F,QAAMC,MAAMD,QAAQC,OAAOC,QAAQD,IAAI,GACjCpB,SAASmB,QAAQnB,UAAUQ,cAAAA,QAAKC,QAAQW,KAAK,MAAM;AAEnDrB,QAAAA,aAAaC,MAAM,GAEzB,MAAMY,WAAWZ,MAAM,GAEvB,MAAMgB,YAAYhB,MAAM;AAC1B;;"}
@@ -0,0 +1,251 @@
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
@@ -0,0 +1 @@
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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"}