@sanity/ui 3.0.0-static.3 → 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 (68) hide show
  1. package/dist/_chunks-cjs/_visual-editing.js +98 -64
  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-es/_visual-editing.mjs +99 -65
  6. package/dist/_chunks-es/_visual-editing.mjs.map +1 -1
  7. package/dist/_visual-editing.d.mts +4 -1
  8. package/dist/_visual-editing.d.ts +4 -1
  9. package/dist/cli.js +1 -1
  10. package/dist/css.d.mts +145 -893
  11. package/dist/css.d.ts +145 -893
  12. package/dist/css.js +182 -191
  13. package/dist/css.js.map +1 -1
  14. package/dist/css.mjs +182 -191
  15. package/dist/css.mjs.map +1 -1
  16. package/dist/index.d.mts +4 -1
  17. package/dist/index.d.ts +4 -1
  18. package/dist/index.js +12 -14
  19. package/dist/index.js.map +1 -1
  20. package/dist/index.mjs +12 -14
  21. package/dist/index.mjs.map +1 -1
  22. package/dist/sanity-palette.css +1 -9
  23. package/dist/sanity-theme.css +1 -1
  24. package/dist/system.css +114 -109
  25. package/dist/theme.d.mts +1 -43
  26. package/dist/theme.d.ts +1 -43
  27. package/dist/theme.js +291 -102
  28. package/dist/theme.js.map +1 -1
  29. package/dist/theme.mjs +272 -85
  30. package/dist/theme.mjs.map +1 -1
  31. package/package.json +1 -1
  32. package/src/cli/buildCommand.ts +2 -2
  33. package/src/css/_comp.ts +1 -0
  34. package/src/css/aspects/flex/flexJustify.style.ts +3 -3
  35. package/src/css/aspects/grid/types.ts +2 -2
  36. package/src/css/aspects/textOverflow/textOverflow.ts +2 -2
  37. package/src/css/compile/compilePalette.ts +8 -41
  38. package/src/css/compile/compileTheme_v3.ts +0 -18
  39. package/src/css/index.ts +2 -2
  40. package/src/css/primitives/_selectable/_contants.ts +1 -1
  41. package/src/css/primitives/box/box.ts +3 -0
  42. package/src/css/primitives/button/_constants.ts +1 -1
  43. package/src/css/primitives/button/button.style.ts +12 -13
  44. package/src/css/primitives/card/_constants.ts +2 -2
  45. package/src/css/primitives/card/card.ts +1 -1
  46. package/src/css/primitives/stack/index.ts +1 -0
  47. package/src/css/primitives/stack/stack.style.ts +9 -0
  48. package/src/css/primitives/stack/stack.ts +6 -0
  49. package/src/css/system.style.ts +2 -0
  50. package/src/theme/defaults/config.ts +2 -2
  51. package/src/theme/defaults/fonts.ts +4 -4
  52. package/src/theme/palette/constants.ts +1 -3
  53. package/src/theme/palette/types.ts +0 -12
  54. package/src/theme/v3/buildTheme_v3.ts +1 -2
  55. package/src/theme/v3/defaults.ts +12 -31
  56. package/src/theme/v3/types.ts +0 -3
  57. package/src/ui/StyleTags.tsx +1 -1
  58. package/src/ui/primitives/box/box.tsx +6 -0
  59. package/src/ui/primitives/button/button.tsx +12 -11
  60. package/src/ui/primitives/card/card.tsx +5 -2
  61. package/src/ui/primitives/heading/heading.tsx +1 -1
  62. package/src/ui/primitives/select/select.tsx +3 -3
  63. package/src/ui/primitives/stack/stack.tsx +10 -5
  64. package/src/ui/primitives/text/text.tsx +1 -1
  65. package/dist/_chunks-cjs/v3_v2.js +0 -251
  66. package/dist/_chunks-cjs/v3_v2.js.map +0 -1
  67. package/dist/_chunks-es/v3_v2.mjs +0 -252
  68. package/dist/_chunks-es/v3_v2.mjs.map +0 -1
package/dist/theme.mjs CHANGED
@@ -1,18 +1,4 @@
1
- import { THEME_COLOR_BLEND_MODES, THEME_COLOR_BUTTON_MODES, THEME_COLOR_CARD_TONES, THEME_COLOR_STATE_TONES, THEME_COLOR_AVATAR_COLORS, v3_v2, THEME_COLOR_STATES, THEME_COLOR_INPUT_MODES, THEME_COLOR_INPUT_STATES } from "./_chunks-es/v3_v2.mjs";
2
- import { THEME_COLOR_SCHEMES } from "./_chunks-es/v3_v2.mjs";
3
1
  import { COLOR_HUES, COLOR_TINTS } from "@sanity/color";
4
- function isColorBlendModeValue(str) {
5
- return THEME_COLOR_BLEND_MODES.includes(str);
6
- }
7
- function isColorHueKey(str) {
8
- return COLOR_HUES.includes(str);
9
- }
10
- function isColorTintKey(str) {
11
- return COLOR_TINTS.includes(str);
12
- }
13
- function isColorButtonMode(str) {
14
- return THEME_COLOR_BUTTON_MODES.includes(str);
15
- }
16
2
  const AVATAR_SIZE = [0, 1, 2, 3], CONTAINER = [0, 1, 2, 3, 4, 5, "auto"], RADIUS = [0, 1, 2, 3, 4, 5, 6, "full"], SPACE = [0, 0.5, 1, 2, 3, 4, 5, 6, 7, 8, 9], FONT_CODE_SIZE = [0, 1, 2, 3, 4], FONT_HEADING_SIZE = [0, 1, 2, 3, 4, 5], FONT_LABEL_SIZE = [0, 1, 2, 3, 4, 5], FONT_TEXT_SIZE = [0, 1, 2, 3, 4], SHADOW = [0, 1, 2, 3, 4, 5];
17
3
  function createSelectableTones(opts, base, dark, solid, muted) {
18
4
  return {
@@ -1153,7 +1139,7 @@ const defaultThemeConfig = {
1153
1139
  button: {
1154
1140
  textWeight: "medium",
1155
1141
  border: {
1156
- width: 0.5
1142
+ width: 1
1157
1143
  },
1158
1144
  focusRing: {
1159
1145
  offset: -1,
@@ -1162,7 +1148,7 @@ const defaultThemeConfig = {
1162
1148
  },
1163
1149
  card: {
1164
1150
  border: {
1165
- width: 0.5
1151
+ width: 1
1166
1152
  },
1167
1153
  focusRing: {
1168
1154
  offset: -1,
@@ -1185,7 +1171,7 @@ const defaultThemeConfig = {
1185
1171
  zOffset: 200
1186
1172
  }
1187
1173
  },
1188
- radius: [0, 1, 5, 9, 13, 17, 25, 45, 77, 129],
1174
+ radius: [0, 1, 3, 7, 11, 15, 23, 43, 75, 127],
1189
1175
  shadow: [null, {
1190
1176
  umbra: [0, 0, 0, 0],
1191
1177
  penumbra: [0, 0, 0, 0],
@@ -1210,7 +1196,7 @@ const defaultThemeConfig = {
1210
1196
  space: [0, 4, 8, 12, 20, 32, 52, 84, 136, 220],
1211
1197
  input: {
1212
1198
  border: {
1213
- width: 0.5
1199
+ width: 1
1214
1200
  },
1215
1201
  checkbox: {
1216
1202
  size: 17,
@@ -1301,10 +1287,10 @@ const defaultThemeConfig = {
1301
1287
  family: 'Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Liberation Sans", Helvetica, Arial, system-ui, sans-serif',
1302
1288
  featureSettings: "'liga' 1, 'calt' 1, 'ss01' 1, 'ss03' 1, 'zero' 1",
1303
1289
  weights: {
1304
- regular: 400,
1305
- medium: 500,
1306
- semibold: 600,
1307
- bold: 700
1290
+ regular: 600,
1291
+ medium: 700,
1292
+ semibold: 800,
1293
+ bold: 900
1308
1294
  },
1309
1295
  sizes: [{
1310
1296
  ascenderHeight: 5,
@@ -1447,7 +1433,39 @@ const defaultThemeConfig = {
1447
1433
  letterSpacing: 0
1448
1434
  }]
1449
1435
  }
1450
- }, HUES = ["gray", "blue", "purple", "magenta", "red", "orange", "yellow", "green", "cyan"], TINTS = [50, 100, 150, 200, 250, 300, 350, 400, 450, 500, 550, 600, 650, 700, 750, 800, 850, 900, 950], RE_PERCENTAGE = /^([0-9]+)%/, RE_OPACITY = /^(1|0\.[0-9]+)?/;
1436
+ }, THEME_COLOR_SCHEMES = ["light", "dark"], THEME_COLOR_BLEND_MODES = ["multiply", "screen"], THEME_COLOR_CARD_TONES = [
1437
+ "transparent",
1438
+ "default",
1439
+ "neutral",
1440
+ "primary",
1441
+ // deprecated
1442
+ "suggest",
1443
+ "positive",
1444
+ "caution",
1445
+ "critical"
1446
+ ], THEME_COLOR_STATE_TONES = [
1447
+ "default",
1448
+ "neutral",
1449
+ "primary",
1450
+ // deprecated
1451
+ "suggest",
1452
+ "positive",
1453
+ "caution",
1454
+ "critical"
1455
+ ], 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_HUES;
1456
+ function isColorBlendModeValue(str) {
1457
+ return THEME_COLOR_BLEND_MODES.includes(str);
1458
+ }
1459
+ function isColorHueKey(str) {
1460
+ return COLOR_HUES.includes(str);
1461
+ }
1462
+ function isColorTintKey(str) {
1463
+ return COLOR_TINTS.includes(str);
1464
+ }
1465
+ function isColorButtonMode(str) {
1466
+ return THEME_COLOR_BUTTON_MODES.includes(str);
1467
+ }
1468
+ const HUES = ["gray", "blue", "purple", "magenta", "red", "orange", "yellow", "green", "cyan"], TINTS = [50, 100, 200, 300, 400, 500, 600, 700, 800, 900, 950], RE_PERCENTAGE = /^([0-9]+)%/, RE_OPACITY = /^(1|0\.[0-9]+)?/;
1451
1469
  function parseColor$1(str) {
1452
1470
  let cursor = 0;
1453
1471
  const color = getColor();
@@ -1670,54 +1688,7 @@ function buildColorElement_v3(tokens, options) {
1670
1688
  }
1671
1689
  };
1672
1690
  }
1673
- const defaultPalette = {
1674
- chroma: {
1675
- min: 5e-3,
1676
- max: 0.2325
1677
- },
1678
- luminosity: {
1679
- min: 0.1875,
1680
- max: 1
1681
- },
1682
- hues: {
1683
- gray: {
1684
- h: 277,
1685
- c: 0.04
1686
- },
1687
- blue: {
1688
- h: 273,
1689
- c: 0.185
1690
- },
1691
- purple: {
1692
- h: 295,
1693
- c: 0.4
1694
- },
1695
- magenta: {
1696
- h: 12,
1697
- c: 0.4
1698
- },
1699
- red: {
1700
- h: 30,
1701
- c: 0.4
1702
- },
1703
- orange: {
1704
- h: 68,
1705
- c: 0.4
1706
- },
1707
- yellow: {
1708
- h: 90,
1709
- c: 0.4
1710
- },
1711
- green: {
1712
- h: 171,
1713
- c: 0.4
1714
- },
1715
- cyan: {
1716
- h: 194,
1717
- c: 0.4
1718
- }
1719
- }
1720
- }, defaultTokens = {
1691
+ const defaultTokens = {
1721
1692
  color: {
1722
1693
  "*": {
1723
1694
  // backdrop: ['black/0.2', '200/0.2'],
@@ -1773,12 +1744,12 @@ const defaultPalette = {
1773
1744
  tinted: {
1774
1745
  "*": {
1775
1746
  bg: {
1776
- 0: ["900", "50"],
1777
- 4: ["800", "150"]
1747
+ 0: ["950", "50"],
1748
+ 4: ["800", "100"]
1778
1749
  },
1779
1750
  border: {
1780
- 0: ["800", "150"],
1781
- 4: ["600", "350"]
1751
+ 0: ["800", "100"],
1752
+ 4: ["600", "300"]
1782
1753
  },
1783
1754
  fg: {
1784
1755
  0: ["100", "900"],
@@ -1850,15 +1821,15 @@ const defaultPalette = {
1850
1821
  "*": {
1851
1822
  bg: {
1852
1823
  0: ["black", "gray/50"],
1853
- 4: ["900", "150"]
1824
+ 4: ["800", "300 50%"]
1854
1825
  },
1855
1826
  border: {
1856
- 0: ["900", "150"],
1857
- 4: ["700", "350"]
1827
+ 0: ["900", "300 40%"],
1828
+ 4: ["700", "300"]
1858
1829
  },
1859
1830
  fg: {
1860
- 0: ["150", "black"],
1861
- 4: ["550", "600"]
1831
+ 0: ["100", "black"],
1832
+ 4: ["500", "600"]
1862
1833
  }
1863
1834
  }
1864
1835
  }
@@ -1870,11 +1841,11 @@ const defaultPalette = {
1870
1841
  "*": {
1871
1842
  bg: {
1872
1843
  0: ["gray/950", "white"],
1873
- 4: ["850", "100"]
1844
+ 4: ["800", "200"]
1874
1845
  },
1875
1846
  border: {
1876
- 0: ["850", "100"],
1877
- 4: ["650", "300"]
1847
+ 0: ["800", "100"],
1848
+ 4: ["600", "300"]
1878
1849
  },
1879
1850
  fg: {
1880
1851
  0: ["white", "black"],
@@ -2077,7 +2048,6 @@ function buildTheme_v3(options) {
2077
2048
  } = options ?? {}, tokens = resolveTokens(options?.tokens ?? defaultTokens);
2078
2049
  return {
2079
2050
  _version: 3,
2080
- _palette: options?.palette ?? defaultPalette,
2081
2051
  _tokens: tokens,
2082
2052
  avatar: v2?.avatar ?? defaultThemeConfig.avatar,
2083
2053
  button: v2?.button ?? defaultThemeConfig.button,
@@ -2201,6 +2171,224 @@ function inputStateThemeColor_v2_v0(t) {
2201
2171
  placeholder: t.placeholder
2202
2172
  };
2203
2173
  }
2174
+ function themeColor_v3_v2(options) {
2175
+ const {
2176
+ color,
2177
+ dark
2178
+ } = options;
2179
+ return {
2180
+ _blend: "screen",
2181
+ _dark: dark,
2182
+ ...buildColorState({
2183
+ cardColor: color,
2184
+ state: "enabled",
2185
+ tone: "default",
2186
+ variant: "tinted"
2187
+ }),
2188
+ backdrop: color.backdrop,
2189
+ button: THEME_COLOR_BUTTON_MODES.reduce((modes, mode) => (modes[mode] = THEME_COLOR_STATE_TONES.reduce((tones2, tone) => (tones2[tone] = THEME_COLOR_STATES.reduce((states, state) => (states[state] = buildColorState({
2190
+ cardColor: color,
2191
+ state,
2192
+ tone,
2193
+ variant: mode === "default" ? "solid" : "tinted"
2194
+ }), mode === "bleed" && (states[state].border = "transparent"), states), {}), tones2), {}), modes), {}),
2195
+ focusRing: color.focusRing,
2196
+ input: THEME_COLOR_INPUT_MODES.reduce((modes, mode) => (modes[mode] = THEME_COLOR_INPUT_STATES.reduce((states, state) => (states[state] = buildInputState(color.variant.tinted.default), states), {}), modes), {}),
2197
+ selectable: THEME_COLOR_STATE_TONES.reduce((tones2, tone) => (tones2[tone] = THEME_COLOR_STATES.reduce((states, state) => (states[state] = buildColorState({
2198
+ cardColor: color,
2199
+ // cardVars: vars,
2200
+ state,
2201
+ tone,
2202
+ variant: "tinted"
2203
+ }), states), {}), tones2), {}),
2204
+ shadow: color.shadow,
2205
+ syntax: color.token
2206
+ };
2207
+ }
2208
+ const stateShades = {
2209
+ enabled: {
2210
+ bg: [0, 1, 2],
2211
+ border: [0, 1, 2],
2212
+ fg: [0, 1, 2]
2213
+ },
2214
+ hovered: {
2215
+ bg: [1, 2, 3],
2216
+ border: [1, 2, 3],
2217
+ fg: [1, 2, 3]
2218
+ },
2219
+ pressed: {
2220
+ bg: [2, 3, 4],
2221
+ border: [2, 3, 4],
2222
+ fg: [2, 3, 4]
2223
+ },
2224
+ selected: {
2225
+ bg: [3, 4, 4],
2226
+ border: [3, 4, 4],
2227
+ fg: [3, 4, 4]
2228
+ },
2229
+ disabled: {
2230
+ bg: [4, 4, 4],
2231
+ border: [4, 4, 4],
2232
+ fg: [4, 4, 4]
2233
+ }
2234
+ };
2235
+ function mix$1(tokens, index) {
2236
+ return index === 0 ? tokens[0] : index === 4 ? tokens[4] : `color-mix(in oklch, ${tokens[0]}, ${tokens[4]} ${index * 25}%)`;
2237
+ }
2238
+ function buildColorState(options) {
2239
+ const {
2240
+ cardColor,
2241
+ state,
2242
+ tone,
2243
+ variant
2244
+ } = options, color = cardColor.variant[variant][tone], shades = stateShades[state];
2245
+ return {
2246
+ accent: {
2247
+ fg: color.fg[4]
2248
+ },
2249
+ avatar: cardColor.avatar,
2250
+ badge: THEME_COLOR_STATE_TONES.reduce((tones2, tone2) => (tones2[tone2] = {
2251
+ bg: mix$1(color.bg, 1),
2252
+ fg: mix$1(color.fg, 1),
2253
+ dot: mix$1(color.fg, 3),
2254
+ icon: mix$1(color.fg, 3)
2255
+ }, tones2), {}),
2256
+ bg: mix$1(color.bg, shades.bg[0]),
2257
+ border: mix$1(color.border, shades.border[0]),
2258
+ fg: mix$1(color.fg, shades.fg[0]),
2259
+ code: {
2260
+ bg: mix$1(color.bg, shades.bg[1]),
2261
+ fg: mix$1(color.fg, shades.fg[2])
2262
+ },
2263
+ icon: mix$1(color.fg, shades.fg[2]),
2264
+ kbd: {
2265
+ bg: mix$1(color.bg, 0),
2266
+ fg: mix$1(color.fg, 0),
2267
+ border: mix$1(color.bg, 0)
2268
+ },
2269
+ link: {
2270
+ fg: mix$1(color.fg, shades.fg[2])
2271
+ },
2272
+ muted: {
2273
+ bg: mix$1(color.bg, shades.bg[1]),
2274
+ fg: mix$1(color.fg, shades.fg[2])
2275
+ },
2276
+ skeleton: cardColor.skeleton
2277
+ };
2278
+ }
2279
+ function buildInputState(colorElement) {
2280
+ return {
2281
+ bg: colorElement.bg[0],
2282
+ border: colorElement.bg[0],
2283
+ fg: colorElement.fg[0],
2284
+ muted: {
2285
+ bg: colorElement.bg[0]
2286
+ },
2287
+ placeholder: colorElement.fg[0]
2288
+ };
2289
+ }
2290
+ function v3_v2(theme_v3) {
2291
+ return {
2292
+ _version: 2,
2293
+ avatar: theme_v3.avatar,
2294
+ button: theme_v3.button,
2295
+ card: theme_v3.card,
2296
+ color: {
2297
+ dark: {
2298
+ transparent: themeColor_v3_v2({
2299
+ color: theme_v3.color.dark.card.transparent,
2300
+ dark: !0
2301
+ // vars: vars.color.dark.transparent,
2302
+ }),
2303
+ default: themeColor_v3_v2({
2304
+ color: theme_v3.color.dark.card.default,
2305
+ dark: !0
2306
+ // vars: vars.color.dark.default,
2307
+ }),
2308
+ neutral: themeColor_v3_v2({
2309
+ color: theme_v3.color.dark.card.neutral,
2310
+ dark: !0
2311
+ // vars: vars.color.dark.neutral,
2312
+ }),
2313
+ primary: themeColor_v3_v2({
2314
+ color: theme_v3.color.dark.card.primary,
2315
+ dark: !0
2316
+ // vars: vars.color.dark.primary,
2317
+ }),
2318
+ suggest: themeColor_v3_v2({
2319
+ color: theme_v3.color.dark.card.suggest,
2320
+ dark: !0
2321
+ // vars: vars.color.dark.suggest,
2322
+ }),
2323
+ positive: themeColor_v3_v2({
2324
+ color: theme_v3.color.dark.card.positive,
2325
+ dark: !0
2326
+ // vars: vars.color.dark.positive,
2327
+ }),
2328
+ caution: themeColor_v3_v2({
2329
+ color: theme_v3.color.dark.card.caution,
2330
+ dark: !0
2331
+ // vars: vars.color.dark.caution,
2332
+ }),
2333
+ critical: themeColor_v3_v2({
2334
+ color: theme_v3.color.dark.card.critical,
2335
+ dark: !0
2336
+ // vars: vars.color.dark.critical,
2337
+ })
2338
+ },
2339
+ light: {
2340
+ transparent: themeColor_v3_v2({
2341
+ color: theme_v3.color.light.card.transparent,
2342
+ dark: !1
2343
+ // vars: vars.color.light.transparent,
2344
+ }),
2345
+ default: themeColor_v3_v2({
2346
+ color: theme_v3.color.light.card.default,
2347
+ dark: !1
2348
+ // vars: vars.color.light.default,
2349
+ }),
2350
+ neutral: themeColor_v3_v2({
2351
+ color: theme_v3.color.light.card.neutral,
2352
+ dark: !1
2353
+ // vars: vars.color.light.neutral,
2354
+ }),
2355
+ primary: themeColor_v3_v2({
2356
+ color: theme_v3.color.light.card.primary,
2357
+ dark: !1
2358
+ // vars: vars.color.light.primary,
2359
+ }),
2360
+ suggest: themeColor_v3_v2({
2361
+ color: theme_v3.color.light.card.suggest,
2362
+ dark: !1
2363
+ // vars: vars.color.light.suggest,
2364
+ }),
2365
+ positive: themeColor_v3_v2({
2366
+ color: theme_v3.color.light.card.positive,
2367
+ dark: !1
2368
+ // vars: vars.color.light.positive,
2369
+ }),
2370
+ caution: themeColor_v3_v2({
2371
+ color: theme_v3.color.light.card.caution,
2372
+ dark: !1
2373
+ // vars: vars.color.light.caution,
2374
+ }),
2375
+ critical: themeColor_v3_v2({
2376
+ color: theme_v3.color.light.card.critical,
2377
+ dark: !1
2378
+ // vars: vars.color.light.critical,
2379
+ })
2380
+ }
2381
+ },
2382
+ container: theme_v3.container,
2383
+ font: theme_v3.font,
2384
+ input: theme_v3.input,
2385
+ layer: theme_v3.layer,
2386
+ media: theme_v3.media,
2387
+ radius: theme_v3.radius,
2388
+ shadow: theme_v3.shadow,
2389
+ space: theme_v3.space
2390
+ };
2391
+ }
2204
2392
  function buildTheme(_config) {
2205
2393
  const v3 = buildTheme_v3({
2206
2394
  v2: _config
@@ -2954,7 +3142,6 @@ export {
2954
3142
  buildTheme,
2955
3143
  buildTheme_v3,
2956
3144
  createColorTheme,
2957
- defaultPalette,
2958
3145
  defaultTokens,
2959
3146
  getContrastRatio,
2960
3147
  getScopedTheme,