@sanity/ui 2.0.0-beta.9 → 2.0.0

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 (35) hide show
  1. package/LICENSE +1 -1
  2. package/dist/index.esm.js +53 -30
  3. package/dist/index.esm.js.map +1 -1
  4. package/dist/index.js +53 -30
  5. package/dist/index.js.map +1 -1
  6. package/dist/theme.d.ts +12 -1
  7. package/dist/theme.esm.js +99 -78
  8. package/dist/theme.esm.js.map +1 -1
  9. package/dist/theme.js +99 -78
  10. package/dist/theme.js.map +1 -1
  11. package/package.json +2 -2
  12. package/src/core/__workshop__/fontsPlugin.tsx +48 -8
  13. package/src/core/components/dialog/dialog.tsx +1 -1
  14. package/src/core/components/dialog/styles.ts +2 -2
  15. package/src/core/components/toast/toast.tsx +17 -2
  16. package/src/core/components/toast/toastProvider.tsx +20 -3
  17. package/src/core/constants.ts +22 -3
  18. package/src/core/primitives/button/button.tsx +10 -12
  19. package/src/core/primitives/heading/styles.ts +4 -0
  20. package/src/core/primitives/popover/popoverCard.tsx +7 -2
  21. package/src/core/primitives/switch/styles.ts +5 -0
  22. package/src/core/primitives/textInput/__workshop__/plain.tsx +1 -1
  23. package/src/core/primitives/textInput/__workshop__/states.tsx +10 -2
  24. package/src/core/primitives/tooltip/tooltipCard.tsx +9 -3
  25. package/src/core/styles/input/textInputStyle.ts +33 -2
  26. package/src/core/theme/__workshop__/debug/story.tsx +65 -28
  27. package/src/theme/build/buildColorTheme.test.ts +2 -2
  28. package/src/theme/defaults/colorTokens.ts +90 -72
  29. package/src/theme/defaults/config.ts +1 -1
  30. package/src/theme/getScopedTheme.ts +1 -0
  31. package/src/theme/system/color/state.ts +6 -0
  32. package/src/theme/system/theme.ts +9 -1
  33. package/src/theme/system/v0/color/color.ts +0 -1
  34. package/src/theme/versioning/getTheme_v2.ts +2 -1
  35. package/src/theme/versioning/v2_v0.ts +1 -0
package/dist/theme.d.ts CHANGED
@@ -493,6 +493,12 @@ export declare const THEME_COLOR_STATES: readonly [
493
493
  */
494
494
  export declare type Theme_v2 = Omit<RootTheme_v2, 'color'> & {
495
495
  color: ThemeColorCard_v2
496
+ /**
497
+ * Indicates whether the theme is resolved or raw, it's necessary to avoid issues
498
+ * with sanity V2 components accessing a v1 <ThemeProvider>.
499
+ * See https://github.com/sanity-io/ui/pull/1203 for more info.
500
+ */
501
+ _resolved: boolean
496
502
  }
497
503
 
498
504
  /**
@@ -533,7 +539,6 @@ export declare interface ThemeColor extends Partial<Omit<ThemeColorGenericState,
533
539
  button: ThemeColorButton
534
540
  card: ThemeColorCard
535
541
  dark: boolean
536
- focusRing?: string
537
542
  input: ThemeColorInput
538
543
  muted: ThemeColorMuted
539
544
  selectable?: ThemeColorSelectable
@@ -1117,7 +1122,13 @@ export declare interface ThemeColorState_v2 {
1117
1122
  accent: {
1118
1123
  fg: string
1119
1124
  }
1125
+ /**
1126
+ * @internal This may be removed in a future release
1127
+ * */
1120
1128
  avatar: ThemeColorAvatar_v2
1129
+ /**
1130
+ * @internal This may be removed in a future release
1131
+ * */
1121
1132
  badge: ThemeColorBadge_v2
1122
1133
  bg: string
1123
1134
  border: string
package/dist/theme.esm.js CHANGED
@@ -1200,7 +1200,7 @@ const defaultThemeConfig = {
1200
1200
  outline: OUTLINE_WIDTH
1201
1201
  }
1202
1202
  },
1203
- container: [480, 640, 960, 1280, 1600, 1920],
1203
+ container: [320, 640, 960, 1280, 1600, 1920],
1204
1204
  media: [360, 600, 900, 1200, 1800, 2400],
1205
1205
  layer: {
1206
1206
  dialog: {
@@ -1682,12 +1682,13 @@ function inputStateThemeColor_v0_v2(state) {
1682
1682
  }
1683
1683
  const cache$3 = /* @__PURE__ */new WeakMap();
1684
1684
  function getTheme_v2(theme) {
1685
- var _a;
1686
- if (theme.sanity.v2) return theme.sanity.v2;
1685
+ var _a, _b;
1686
+ if ((_a = theme.sanity.v2) == null ? void 0 : _a._resolved) return theme.sanity.v2;
1687
1687
  const cached_v2 = cache$3.get(theme);
1688
1688
  if (cached_v2) return cached_v2;
1689
1689
  const v2 = {
1690
1690
  _version: 2,
1691
+ _resolved: true,
1691
1692
  avatar: {
1692
1693
  ...defaultThemeConfig.avatar,
1693
1694
  ...theme.sanity.avatar
@@ -1716,7 +1717,7 @@ function getTheme_v2(theme) {
1716
1717
  ...theme.sanity.input.switch
1717
1718
  }
1718
1719
  },
1719
- layer: (_a = theme.sanity.layer) != null ? _a : defaultThemeConfig.layer,
1720
+ layer: (_b = theme.sanity.layer) != null ? _b : defaultThemeConfig.layer,
1720
1721
  media: theme.sanity.media,
1721
1722
  radius: theme.sanity.radius,
1722
1723
  shadow: theme.sanity.shadows,
@@ -1885,6 +1886,7 @@ function themeColor_v2_v0(color_v2) {
1885
1886
  ...color_v2.button.default,
1886
1887
  transparent: color_v2.button.default.default
1887
1888
  },
1889
+ selectable: color_v2.selectable,
1888
1890
  spot: {
1889
1891
  gray: color_v2.avatar.gray.bg,
1890
1892
  blue: color_v2.avatar.blue.bg,
@@ -2163,7 +2165,7 @@ const defaultColorTokens = {
2163
2165
  fg: ["white", "black"]
2164
2166
  }
2165
2167
  },
2166
- backdrop: ["gray/200/0.2", "black/0.5"],
2168
+ backdrop: ["gray/200/0.5", "black/0.5"],
2167
2169
  badge: {
2168
2170
  "*": {
2169
2171
  bg: ["100", "900"],
@@ -2184,10 +2186,11 @@ const defaultColorTokens = {
2184
2186
  border: ["200", "800"],
2185
2187
  code: {
2186
2188
  bg: ["50", "950"],
2187
- fg: ["600", "300"]
2189
+ fg: ["600", "400"]
2188
2190
  },
2189
2191
  fg: ["800", "200"],
2190
2192
  focusRing: ["blue/500", "blue/500"],
2193
+ icon: ["600", "400"],
2191
2194
  kbd: {
2192
2195
  bg: ["white", "black"],
2193
2196
  fg: ["600", "400"],
@@ -2198,7 +2201,7 @@ const defaultColorTokens = {
2198
2201
  },
2199
2202
  muted: {
2200
2203
  bg: ["50", "950"],
2201
- fg: ["700 70%", "300 70%"]
2204
+ fg: ["700 75%", "300 75%"]
2202
2205
  },
2203
2206
  shadow: {
2204
2207
  outline: ["500/0.3", "500/0.4"],
@@ -2212,15 +2215,11 @@ const defaultColorTokens = {
2212
2215
  }
2213
2216
  },
2214
2217
  transparent: {
2215
- bg: ["50", "black"],
2216
- fg: ["600", "400"],
2217
- muted: {
2218
- fg: ["600", "400"]
2219
- }
2218
+ bg: ["50", "black"]
2220
2219
  },
2221
2220
  default: {
2222
2221
  bg: ["white", "950"],
2223
- fg: ["black", "200"],
2222
+ fg: ["800", "200"],
2224
2223
  muted: {
2225
2224
  fg: ["600", "400"]
2226
2225
  }
@@ -2252,6 +2251,13 @@ const defaultColorTokens = {
2252
2251
  accent: {
2253
2252
  fg: ["purple/300", "purple/700"]
2254
2253
  },
2254
+ avatar: {
2255
+ "*": {
2256
+ _blend: ["multiply", "screen"],
2257
+ bg: ["white", "black"],
2258
+ fg: ["black", "white"]
2259
+ }
2260
+ },
2255
2261
  badge: {
2256
2262
  "*": {
2257
2263
  bg: ["900", "100"],
@@ -2267,18 +2273,18 @@ const defaultColorTokens = {
2267
2273
  fg: ["200", "600"]
2268
2274
  },
2269
2275
  fg: ["white", "black"],
2270
- icon: ["200", "800"],
2276
+ icon: ["100 70%", "900 70%"],
2271
2277
  kbd: {
2272
2278
  bg: ["black", "white"],
2273
- fg: ["200", "800"],
2279
+ fg: ["200", "600"],
2274
2280
  border: ["800", "200"]
2275
2281
  },
2276
2282
  link: {
2277
- fg: ["blue/200", "blue/700"]
2283
+ fg: ["blue/200", "blue/600"]
2278
2284
  },
2279
2285
  muted: {
2280
2286
  bg: ["950", "50"],
2281
- fg: ["100 70%", "600"]
2287
+ fg: ["100 70%", "900 70%"]
2282
2288
  },
2283
2289
  skeleton: {
2284
2290
  from: ["900", "100"],
@@ -2297,6 +2303,9 @@ const defaultColorTokens = {
2297
2303
  },
2298
2304
  disabled: {
2299
2305
  _hue: "gray",
2306
+ accent: {
2307
+ fg: ["100 70%", "900 70%"]
2308
+ },
2300
2309
  badge: {
2301
2310
  "*": {
2302
2311
  bg: ["gray/700", "gray/300"],
@@ -2306,11 +2315,13 @@ const defaultColorTokens = {
2306
2315
  }
2307
2316
  },
2308
2317
  bg: ["200", "800"],
2309
- icon: ["white", "black"],
2310
2318
  kbd: {
2311
2319
  bg: ["black", "white"],
2312
2320
  fg: ["white", "black"],
2313
2321
  border: ["700", "300"]
2322
+ },
2323
+ link: {
2324
+ fg: ["100 70%", "900 70%"]
2314
2325
  }
2315
2326
  }
2316
2327
  },
@@ -2355,7 +2366,7 @@ const defaultColorTokens = {
2355
2366
  fg: ["700 60%", "400 60%"]
2356
2367
  },
2357
2368
  fg: ["600", "400"],
2358
- icon: ["600", "500"],
2369
+ icon: ["700 60%", "300 60%"],
2359
2370
  kbd: {
2360
2371
  bg: ["white", "black"],
2361
2372
  fg: ["600", "400"],
@@ -2448,14 +2459,14 @@ const defaultColorTokens = {
2448
2459
  bg: ["white", "black"],
2449
2460
  border: ["white/0", "black/0"],
2450
2461
  code: {
2451
- bg: ["100", "950"],
2452
- fg: ["600", "300"]
2462
+ bg: ["50", "950"],
2463
+ fg: ["700 75%", "300 75%"]
2453
2464
  },
2454
2465
  fg: ["700", "300"],
2455
- icon: ["700 70%", "300 70%"],
2466
+ icon: ["700 75%", "300 75%"],
2456
2467
  kbd: {
2457
2468
  bg: ["white", "black"],
2458
- fg: ["600", "400"],
2469
+ fg: ["700", "300"],
2459
2470
  border: ["200", "800"]
2460
2471
  },
2461
2472
  link: {
@@ -2463,7 +2474,7 @@ const defaultColorTokens = {
2463
2474
  },
2464
2475
  muted: {
2465
2476
  bg: ["100", "950"],
2466
- fg: ["700 70%", "300 70%"]
2477
+ fg: ["700 75%", "300 75%"]
2467
2478
  },
2468
2479
  skeleton: {
2469
2480
  from: ["100", "900"],
@@ -2472,7 +2483,6 @@ const defaultColorTokens = {
2472
2483
  },
2473
2484
  hovered: {
2474
2485
  bg: ["50", "950"],
2475
- fg: ["700", "300"],
2476
2486
  icon: ["700 70%", "400 70%"]
2477
2487
  },
2478
2488
  pressed: {
@@ -2487,6 +2497,9 @@ const defaultColorTokens = {
2487
2497
  },
2488
2498
  disabled: {
2489
2499
  _hue: "gray",
2500
+ accent: {
2501
+ fg: ["200", "800"]
2502
+ },
2490
2503
  badge: {
2491
2504
  "*": {
2492
2505
  _hue: "gray",
@@ -2496,13 +2509,12 @@ const defaultColorTokens = {
2496
2509
  icon: ["gray/200", "gray/800"]
2497
2510
  }
2498
2511
  },
2499
- fg: ["200", "800"],
2500
- muted: {
2501
- fg: ["200", "800"]
2502
- },
2503
- accent: {
2512
+ code: {
2513
+ bg: ["50", "950"],
2504
2514
  fg: ["200", "800"]
2505
2515
  },
2516
+ fg: ["200", "800"],
2517
+ icon: ["200", "800"],
2506
2518
  kbd: {
2507
2519
  bg: ["white", "black"],
2508
2520
  fg: ["200", "800"],
@@ -2511,8 +2523,7 @@ const defaultColorTokens = {
2511
2523
  link: {
2512
2524
  fg: ["200", "800"]
2513
2525
  },
2514
- code: {
2515
- bg: ["50", "950"],
2526
+ muted: {
2516
2527
  fg: ["200", "800"]
2517
2528
  }
2518
2529
  }
@@ -2555,15 +2566,8 @@ const defaultColorTokens = {
2555
2566
  "*": {
2556
2567
  "*": {
2557
2568
  _blend: ["multiply", "screen"],
2558
- bg: ["white", "black"],
2559
- fg: ["800", "200"],
2560
- icon: ["700 70%", "300 70%"],
2561
- avatar: {
2562
- "*": {
2563
- _blend: ["screen", "multiply"],
2564
- bg: ["500", "400"],
2565
- fg: ["white", "black"]
2566
- }
2569
+ accent: {
2570
+ fg: ["purple/700 70%", "purple/300 70%"]
2567
2571
  },
2568
2572
  badge: {
2569
2573
  "*": {
@@ -2573,25 +2577,25 @@ const defaultColorTokens = {
2573
2577
  icon: ["500", "500"]
2574
2578
  }
2575
2579
  },
2580
+ bg: ["white", "black"],
2576
2581
  border: ["200", "800"],
2577
- muted: {
2582
+ code: {
2578
2583
  bg: ["50", "950"],
2579
- fg: ["700", "300"]
2580
- },
2581
- accent: {
2582
- fg: ["purple/600", "purple/400"]
2584
+ fg: ["600", "400"]
2583
2585
  },
2586
+ fg: ["700", "300"],
2587
+ icon: ["700 75%", "300 75%"],
2584
2588
  kbd: {
2585
2589
  bg: ["white", "black"],
2586
2590
  fg: ["600", "400"],
2587
2591
  border: ["200", "800"]
2588
2592
  },
2589
2593
  link: {
2590
- fg: ["blue/700", "blue/300"]
2594
+ fg: ["blue/700 70%", "blue/300 70%"]
2591
2595
  },
2592
- code: {
2593
- bg: ["50", "950"],
2594
- fg: ["700", "300"]
2596
+ muted: {
2597
+ bg: ["100", "950"],
2598
+ fg: ["700 75%", "300 75%"]
2595
2599
  },
2596
2600
  skeleton: {
2597
2601
  from: ["100", "900"],
@@ -2606,9 +2610,9 @@ const defaultColorTokens = {
2606
2610
  },
2607
2611
  selected: {
2608
2612
  _blend: ["screen", "multiply"],
2609
- bg: ["500", "400"],
2610
- fg: ["white", "black"],
2611
- icon: ["200", "800"],
2613
+ accent: {
2614
+ fg: ["purple/300", "purple/700"]
2615
+ },
2612
2616
  avatar: {
2613
2617
  "*": {
2614
2618
  _blend: ["multiply", "screen"],
@@ -2618,31 +2622,31 @@ const defaultColorTokens = {
2618
2622
  },
2619
2623
  badge: {
2620
2624
  "*": {
2621
- bg: ["700", "300"],
2622
- fg: ["white", "black"],
2623
- dot: ["300", "700"],
2624
- icon: ["300", "700"]
2625
+ bg: ["900", "100"],
2626
+ fg: ["400", "600"],
2627
+ dot: ["500", "500"],
2628
+ icon: ["500", "500"]
2625
2629
  }
2626
2630
  },
2631
+ bg: ["500", "400"],
2627
2632
  border: ["500 20%", "400 20%"],
2628
- muted: {
2629
- bg: ["950", "50"],
2630
- fg: ["200", "800"]
2631
- },
2632
- accent: {
2633
- fg: ["purple/200", "purple/800"]
2633
+ code: {
2634
+ bg: ["500 20%", "400 20%"],
2635
+ fg: ["200", "600"]
2634
2636
  },
2637
+ fg: ["white", "black"],
2638
+ icon: ["100 70%", "900 70%"],
2635
2639
  kbd: {
2636
- bg: ["black/0", "white/0"],
2637
- fg: ["white", "black"],
2638
- border: ["gray/700", "gray/300"]
2640
+ bg: ["black", "white"],
2641
+ fg: ["200", "600"],
2642
+ border: ["800", "200"]
2639
2643
  },
2640
2644
  link: {
2641
- fg: ["blue/200", "blue/800"]
2645
+ fg: ["blue/200", "blue/600"]
2642
2646
  },
2643
- code: {
2644
- bg: ["500 20%", "400 20%"],
2645
- fg: ["300", "700"]
2647
+ muted: {
2648
+ bg: ["950", "50"],
2649
+ fg: ["100 70%", "900 70%"]
2646
2650
  },
2647
2651
  skeleton: {
2648
2652
  from: ["900", "100"],
@@ -2650,20 +2654,36 @@ const defaultColorTokens = {
2650
2654
  }
2651
2655
  },
2652
2656
  disabled: {
2653
- fg: ["200", "800"],
2654
- icon: ["200", "800"],
2655
- muted: {
2656
- fg: ["200", "800"]
2657
- },
2657
+ _hue: "gray",
2658
2658
  accent: {
2659
- fg: ["purple/200", "purple/800"]
2659
+ fg: ["200", "800"]
2660
2660
  },
2661
- link: {
2662
- fg: ["blue/200", "blue/800"]
2661
+ badge: {
2662
+ "*": {
2663
+ _hue: "gray",
2664
+ bg: ["50", "950"],
2665
+ fg: ["gray/200", "gray/800"],
2666
+ dot: ["gray/200", "gray/800"],
2667
+ icon: ["gray/200", "gray/800"]
2668
+ }
2663
2669
  },
2670
+ border: ["100", "900"],
2664
2671
  code: {
2665
2672
  bg: ["50", "950"],
2666
2673
  fg: ["200", "800"]
2674
+ },
2675
+ fg: ["200", "800"],
2676
+ icon: ["200", "800"],
2677
+ kbd: {
2678
+ bg: ["white", "black"],
2679
+ fg: ["200", "800"],
2680
+ border: ["100", "900"]
2681
+ },
2682
+ link: {
2683
+ fg: ["200", "800"]
2684
+ },
2685
+ muted: {
2686
+ fg: ["200", "800"]
2667
2687
  }
2668
2688
  }
2669
2689
  },
@@ -4356,6 +4376,7 @@ function getScopedTheme(themeProp, scheme, tone) {
4356
4376
  layer: layer_v0,
4357
4377
  v2: {
4358
4378
  ...v2,
4379
+ _resolved: true,
4359
4380
  color: color_v2,
4360
4381
  layer: layer_v2
4361
4382
  }