@sanity/ui 1.8.3 → 2.0.0-alpha.10

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 (137) hide show
  1. package/dist/index.cjs.mjs +3 -0
  2. package/dist/index.d.ts +339 -415
  3. package/dist/index.esm.js +5374 -2489
  4. package/dist/index.esm.js.map +1 -1
  5. package/dist/index.js +5375 -2487
  6. package/dist/index.js.map +1 -1
  7. package/package.json +21 -3
  8. package/src/components/autocomplete/autocomplete.tsx +2 -1
  9. package/src/components/dialog/constants.ts +4 -0
  10. package/src/components/dialog/dialog.tsx +89 -27
  11. package/src/components/dialog/styles.ts +3 -4
  12. package/src/components/hotkeys/hotkeys.tsx +2 -1
  13. package/src/components/menu/__workshop__/closableMenuButton.tsx +2 -2
  14. package/src/components/menu/menuButton.tsx +2 -2
  15. package/src/components/menu/menuDivider.ts +2 -1
  16. package/src/components/menu/menuGroup.tsx +24 -25
  17. package/src/components/menu/menuItem.tsx +31 -37
  18. package/src/components/skeleton/styles.ts +8 -7
  19. package/src/components/tab/tab.tsx +2 -1
  20. package/src/components/tree/style.ts +19 -20
  21. package/src/primitives/_selectable/style.ts +25 -23
  22. package/src/primitives/avatar/avatar.tsx +8 -3
  23. package/src/primitives/avatar/avatarCounter.tsx +5 -4
  24. package/src/primitives/avatar/spotColors.ts +53 -0
  25. package/src/primitives/avatar/styles.ts +6 -8
  26. package/src/primitives/avatar/types.ts +14 -0
  27. package/src/primitives/badge/badge.tsx +5 -3
  28. package/src/primitives/badge/styles.ts +7 -8
  29. package/src/primitives/box/__workshop__/responsive.tsx +2 -2
  30. package/src/primitives/button/__workshop__/sanityUploadButton.tsx +1 -2
  31. package/src/primitives/button/button.tsx +8 -9
  32. package/src/primitives/button/styles.ts +100 -17
  33. package/src/primitives/card/__workshop__/selected.tsx +8 -9
  34. package/src/primitives/card/card.tsx +43 -7
  35. package/src/primitives/card/styles.ts +31 -24
  36. package/src/primitives/card/types.ts +3 -1
  37. package/src/primitives/checkbox/checkbox.tsx +1 -0
  38. package/src/primitives/checkbox/styles.ts +53 -23
  39. package/src/primitives/code/code.tsx +15 -3
  40. package/src/primitives/code/styles.ts +51 -42
  41. package/src/primitives/heading/styles.ts +6 -5
  42. package/src/primitives/kbd/kbd.tsx +7 -6
  43. package/src/primitives/label/styles.ts +3 -2
  44. package/src/primitives/popover/popoverArrow.tsx +3 -2
  45. package/src/primitives/popover/popoverCard.tsx +8 -4
  46. package/src/primitives/radio/radio.tsx +1 -0
  47. package/src/primitives/radio/styles.ts +26 -13
  48. package/src/primitives/select/select.tsx +3 -2
  49. package/src/primitives/select/styles.ts +22 -24
  50. package/src/primitives/switch/__workshop__/props.tsx +4 -4
  51. package/src/primitives/switch/styles.ts +19 -12
  52. package/src/primitives/text/__workshop__/colored.tsx +10 -11
  53. package/src/primitives/text/styles.ts +10 -8
  54. package/src/primitives/textArea/textArea.tsx +8 -12
  55. package/src/primitives/textInput/textInput.tsx +15 -14
  56. package/src/primitives/tooltip/__workshop__/props.tsx +20 -3
  57. package/src/primitives/tooltip/tooltip.tsx +2 -2
  58. package/src/primitives/tooltip/tooltipArrow.tsx +3 -2
  59. package/src/primitives/types.ts +3 -2
  60. package/src/styles/border/borderStyle.ts +2 -1
  61. package/src/styles/colorVars/colorVarsStyle.ts +73 -30
  62. package/src/styles/focusRing/index.ts +8 -4
  63. package/src/styles/input/textInputStyle.ts +78 -94
  64. package/src/styles/margin/marginsStyle.test.ts +1 -2
  65. package/src/styles/padding/paddingStyle.test.ts +1 -2
  66. package/src/styles/radius/radiusStyle.ts +14 -4
  67. package/src/styles/radius/types.ts +3 -1
  68. package/src/styles/shadow/shadowStyle.ts +5 -5
  69. package/src/theme/__workshop__/color.tsx +2 -2
  70. package/src/theme/__workshop__/index.ts +0 -5
  71. package/src/theme/lib/color-fns/blend/multiply.ts +2 -2
  72. package/src/theme/lib/color-fns/blend/screen.ts +2 -2
  73. package/src/theme/lib/color-fns/convert.ts +15 -1
  74. package/src/theme/lib/color-fns/parse.ts +7 -3
  75. package/src/theme/lib/color-fns/types.ts +11 -0
  76. package/src/theme/lib/theme/avatar.ts +3 -0
  77. package/src/theme/lib/theme/color/_legacy/createColorTheme.ts +7 -0
  78. package/src/theme/lib/theme/color/_legacy/index.ts +1 -0
  79. package/src/theme/lib/theme/color/_legacy/legacyColor.ts +3997 -0
  80. package/src/theme/lib/theme/color/cssVariables/cardVariables.ts +88 -0
  81. package/src/theme/lib/theme/color/cssVariables/createCssVars.ts +31 -0
  82. package/src/theme/lib/theme/color/cssVariables/cssVars.test.ts +262 -0
  83. package/src/theme/lib/theme/color/cssVariables/index.ts +1 -0
  84. package/src/theme/lib/theme/color/cssVariables/tints.ts +312 -0
  85. package/src/theme/lib/theme/color/cssVariables/tones.ts +67 -0
  86. package/src/theme/lib/theme/color/cssVariables/utils.test.ts +15 -0
  87. package/src/theme/lib/theme/color/cssVariables/utils.ts +9 -0
  88. package/src/theme/lib/theme/color/index.ts +3 -12
  89. package/src/theme/lib/theme/color/types.ts +6 -37
  90. package/src/theme/lib/theme/input.ts +11 -0
  91. package/src/theme/lib/theme/theme.ts +7 -1
  92. package/src/theme/studioTheme/color.ts +6 -633
  93. package/src/theme/studioTheme/fonts.ts +3 -3
  94. package/src/theme/studioTheme/helpers.ts +15 -1
  95. package/src/theme/studioTheme/theme.ts +26 -6
  96. package/src/theme/themeColorProvider.tsx +2 -0
  97. package/src/theme/themeProvider.tsx +28 -8
  98. package/src/theme/toneContext/toneContext.ts +12 -0
  99. package/src/theme/toneContext/toneProvider.tsx +31 -0
  100. package/src/theme/toneContext/types.ts +10 -0
  101. package/src/theme/toneContext/useToneContext.tsx +26 -0
  102. package/src/theme/types.ts +10 -4
  103. package/src/types/index.ts +1 -0
  104. package/src/types/radius.ts +4 -0
  105. package/src/utils/elementQuery/__workshop__/customMedia.tsx +4 -3
  106. package/src/theme/__workshop__/canvas.tsx +0 -395
  107. package/src/theme/lib/theme/color/_generic/index.ts +0 -1
  108. package/src/theme/lib/theme/color/_generic/types.ts +0 -29
  109. package/src/theme/lib/theme/color/base/index.ts +0 -1
  110. package/src/theme/lib/theme/color/base/types.ts +0 -19
  111. package/src/theme/lib/theme/color/button/createButtonModes.ts +0 -20
  112. package/src/theme/lib/theme/color/button/createButtonTones.ts +0 -52
  113. package/src/theme/lib/theme/color/button/index.ts +0 -1
  114. package/src/theme/lib/theme/color/button/types.ts +0 -44
  115. package/src/theme/lib/theme/color/card/createCardStates.ts +0 -58
  116. package/src/theme/lib/theme/color/card/index.ts +0 -1
  117. package/src/theme/lib/theme/color/card/types.ts +0 -18
  118. package/src/theme/lib/theme/color/color.test.ts +0 -62
  119. package/src/theme/lib/theme/color/defaults.ts +0 -382
  120. package/src/theme/lib/theme/color/factory.ts +0 -138
  121. package/src/theme/lib/theme/color/input/createInputModes.ts +0 -84
  122. package/src/theme/lib/theme/color/input/index.ts +0 -1
  123. package/src/theme/lib/theme/color/input/types.ts +0 -27
  124. package/src/theme/lib/theme/color/muted/createMuted.ts +0 -56
  125. package/src/theme/lib/theme/color/muted/index.ts +0 -1
  126. package/src/theme/lib/theme/color/muted/types.ts +0 -24
  127. package/src/theme/lib/theme/color/selectable/createSelectableTones.ts +0 -73
  128. package/src/theme/lib/theme/color/selectable/index.ts +0 -1
  129. package/src/theme/lib/theme/color/selectable/types.ts +0 -29
  130. package/src/theme/lib/theme/color/solid/createSolidTones.ts +0 -56
  131. package/src/theme/lib/theme/color/solid/index.ts +0 -1
  132. package/src/theme/lib/theme/color/solid/types.ts +0 -24
  133. package/src/theme/lib/theme/color/spot/createSpot.ts +0 -21
  134. package/src/theme/lib/theme/color/spot/index.ts +0 -1
  135. package/src/theme/lib/theme/color/spot/types.ts +0 -28
  136. package/src/theme/lib/theme/color/syntax/index.ts +0 -1
  137. package/src/theme/lib/theme/color/syntax/types.ts +0 -41
@@ -1,56 +0,0 @@
1
- import {ThemeColorBase} from '../base'
2
- import {ThemeColorBuilderOpts} from '../factory'
3
- import {ThemeColorName} from '../types'
4
- import {ThemeColorMuted} from './types'
5
-
6
- export function createMutedTones(
7
- opts: ThemeColorBuilderOpts,
8
- base: ThemeColorBase,
9
- dark: boolean,
10
- name: ThemeColorName,
11
- ): ThemeColorMuted {
12
- return {
13
- default: {
14
- enabled: opts.muted({base, dark, tone: 'default', name, state: 'enabled'}),
15
- disabled: opts.muted({base, dark, tone: 'default', name, state: 'disabled'}),
16
- hovered: opts.muted({base, dark, tone: 'default', name, state: 'hovered'}),
17
- pressed: opts.muted({base, dark, tone: 'default', name, state: 'pressed'}),
18
- selected: opts.muted({base, dark, tone: 'default', name, state: 'selected'}),
19
- },
20
- transparent: {
21
- enabled: opts.muted({base, dark, tone: 'transparent', name, state: 'enabled'}),
22
- disabled: opts.muted({base, dark, tone: 'transparent', name, state: 'disabled'}),
23
- hovered: opts.muted({base, dark, tone: 'transparent', name, state: 'hovered'}),
24
- pressed: opts.muted({base, dark, tone: 'transparent', name, state: 'pressed'}),
25
- selected: opts.muted({base, dark, tone: 'transparent', name, state: 'selected'}),
26
- },
27
- primary: {
28
- enabled: opts.muted({base, dark, tone: 'primary', name, state: 'enabled'}),
29
- disabled: opts.muted({base, dark, tone: 'primary', name, state: 'disabled'}),
30
- hovered: opts.muted({base, dark, tone: 'primary', name, state: 'hovered'}),
31
- pressed: opts.muted({base, dark, tone: 'primary', name, state: 'pressed'}),
32
- selected: opts.muted({base, dark, tone: 'primary', name, state: 'selected'}),
33
- },
34
- positive: {
35
- enabled: opts.muted({base, dark, tone: 'positive', name, state: 'enabled'}),
36
- disabled: opts.muted({base, dark, tone: 'positive', name, state: 'disabled'}),
37
- hovered: opts.muted({base, dark, tone: 'positive', name, state: 'hovered'}),
38
- pressed: opts.muted({base, dark, tone: 'positive', name, state: 'pressed'}),
39
- selected: opts.muted({base, dark, tone: 'positive', name, state: 'selected'}),
40
- },
41
- caution: {
42
- enabled: opts.muted({base, dark, tone: 'caution', name, state: 'enabled'}),
43
- disabled: opts.muted({base, dark, tone: 'caution', name, state: 'disabled'}),
44
- hovered: opts.muted({base, dark, tone: 'caution', name, state: 'hovered'}),
45
- pressed: opts.muted({base, dark, tone: 'caution', name, state: 'pressed'}),
46
- selected: opts.muted({base, dark, tone: 'caution', name, state: 'selected'}),
47
- },
48
- critical: {
49
- enabled: opts.muted({base, dark, tone: 'critical', name, state: 'enabled'}),
50
- disabled: opts.muted({base, dark, tone: 'critical', name, state: 'disabled'}),
51
- hovered: opts.muted({base, dark, tone: 'critical', name, state: 'hovered'}),
52
- pressed: opts.muted({base, dark, tone: 'critical', name, state: 'pressed'}),
53
- selected: opts.muted({base, dark, tone: 'critical', name, state: 'selected'}),
54
- },
55
- }
56
- }
@@ -1 +0,0 @@
1
- export * from './types'
@@ -1,24 +0,0 @@
1
- import {ThemeColorGenericState} from '../_generic/types'
2
-
3
- /**
4
- * @public
5
- */
6
- export interface ThemeColorMutedTone {
7
- enabled: ThemeColorGenericState
8
- disabled: ThemeColorGenericState
9
- hovered: ThemeColorGenericState
10
- pressed: ThemeColorGenericState
11
- selected: ThemeColorGenericState
12
- }
13
-
14
- /**
15
- * @public
16
- */
17
- export interface ThemeColorMuted {
18
- default: ThemeColorMutedTone
19
- transparent: ThemeColorMutedTone
20
- primary: ThemeColorMutedTone
21
- positive: ThemeColorMutedTone
22
- caution: ThemeColorMutedTone
23
- critical: ThemeColorMutedTone
24
- }
@@ -1,73 +0,0 @@
1
- import {ThemeColorBase} from '../base'
2
- import {ThemeColorBuilderOpts} from '../factory'
3
- import {ThemeColorMuted} from '../muted'
4
- import {ThemeColorSolid} from '../solid'
5
- import {ThemeColorSelectable, ThemeColorSelectableStates} from './types'
6
-
7
- export function createSelectableTones(
8
- opts: ThemeColorBuilderOpts,
9
- base: ThemeColorBase,
10
- dark: boolean,
11
- solid: ThemeColorSolid,
12
- muted: ThemeColorMuted,
13
- ): ThemeColorSelectable {
14
- return {
15
- default: _createSelectableStates(opts, base, dark, solid, muted, 'default'),
16
- primary: _createSelectableStates(opts, base, dark, solid, muted, 'primary'),
17
- positive: _createSelectableStates(opts, base, dark, solid, muted, 'positive'),
18
- caution: _createSelectableStates(opts, base, dark, solid, muted, 'caution'),
19
- critical: _createSelectableStates(opts, base, dark, solid, muted, 'critical'),
20
- }
21
- }
22
-
23
- function _createSelectableStates(
24
- opts: ThemeColorBuilderOpts,
25
- base: ThemeColorBase,
26
- dark: boolean,
27
- solid: ThemeColorSolid,
28
- muted: ThemeColorMuted,
29
- tone: 'default' | 'primary' | 'positive' | 'caution' | 'critical',
30
- ): ThemeColorSelectableStates {
31
- return {
32
- enabled: opts.selectable({
33
- base,
34
- dark,
35
- solid,
36
- muted,
37
- state: 'enabled',
38
- tone,
39
- }),
40
- hovered: opts.selectable({
41
- base,
42
- dark,
43
- solid,
44
- muted,
45
- state: 'hovered',
46
- tone,
47
- }),
48
- pressed: opts.selectable({
49
- base,
50
- dark,
51
- solid,
52
- muted,
53
- state: 'pressed',
54
- tone,
55
- }),
56
- selected: opts.selectable({
57
- base,
58
- dark,
59
- solid,
60
- muted,
61
- state: 'selected',
62
- tone,
63
- }),
64
- disabled: opts.selectable({
65
- base,
66
- dark,
67
- solid,
68
- muted,
69
- state: 'disabled',
70
- tone,
71
- }),
72
- }
73
- }
@@ -1 +0,0 @@
1
- export * from './types'
@@ -1,29 +0,0 @@
1
- import {ThemeColorGenericState} from '../_generic'
2
-
3
- /**
4
- * @deprecated Use `ThemeColorGenericState` instead.
5
- * @public
6
- */
7
- export type ThemeColorSelectableState = ThemeColorGenericState
8
-
9
- /**
10
- * @public
11
- */
12
- export interface ThemeColorSelectableStates {
13
- enabled: ThemeColorSelectableState
14
- hovered: ThemeColorSelectableState
15
- pressed: ThemeColorSelectableState
16
- selected: ThemeColorSelectableState
17
- disabled: ThemeColorSelectableState
18
- }
19
-
20
- /**
21
- * @public
22
- */
23
- export interface ThemeColorSelectable {
24
- default: ThemeColorSelectableStates
25
- primary: ThemeColorSelectableStates
26
- positive: ThemeColorSelectableStates
27
- caution: ThemeColorSelectableStates
28
- critical: ThemeColorSelectableStates
29
- }
@@ -1,56 +0,0 @@
1
- import {ThemeColorBase} from '../base'
2
- import {ThemeColorBuilderOpts} from '../factory'
3
- import {ThemeColorName} from '../types'
4
- import {ThemeColorSolid} from './types'
5
-
6
- export function createSolidTones(
7
- opts: ThemeColorBuilderOpts,
8
- base: ThemeColorBase,
9
- dark: boolean,
10
- name: ThemeColorName,
11
- ): ThemeColorSolid {
12
- return {
13
- default: {
14
- enabled: opts.solid({base, dark, tone: 'default', name, state: 'enabled'}),
15
- disabled: opts.solid({base, dark, tone: 'default', name, state: 'disabled'}),
16
- hovered: opts.solid({base, dark, tone: 'default', name, state: 'hovered'}),
17
- pressed: opts.solid({base, dark, tone: 'default', name, state: 'pressed'}),
18
- selected: opts.solid({base, dark, tone: 'default', name, state: 'selected'}),
19
- },
20
- transparent: {
21
- enabled: opts.solid({base, dark, tone: 'transparent', name, state: 'enabled'}),
22
- disabled: opts.solid({base, dark, tone: 'transparent', name, state: 'disabled'}),
23
- hovered: opts.solid({base, dark, tone: 'transparent', name, state: 'hovered'}),
24
- pressed: opts.solid({base, dark, tone: 'transparent', name, state: 'pressed'}),
25
- selected: opts.solid({base, dark, tone: 'transparent', name, state: 'selected'}),
26
- },
27
- primary: {
28
- enabled: opts.solid({base, dark, tone: 'primary', name, state: 'enabled'}),
29
- disabled: opts.solid({base, dark, tone: 'primary', name, state: 'disabled'}),
30
- hovered: opts.solid({base, dark, tone: 'primary', name, state: 'hovered'}),
31
- pressed: opts.solid({base, dark, tone: 'primary', name, state: 'pressed'}),
32
- selected: opts.solid({base, dark, tone: 'primary', name, state: 'selected'}),
33
- },
34
- positive: {
35
- enabled: opts.solid({base, dark, tone: 'positive', name, state: 'enabled'}),
36
- disabled: opts.solid({base, dark, tone: 'positive', name, state: 'disabled'}),
37
- hovered: opts.solid({base, dark, tone: 'positive', name, state: 'hovered'}),
38
- pressed: opts.solid({base, dark, tone: 'positive', name, state: 'pressed'}),
39
- selected: opts.solid({base, dark, tone: 'positive', name, state: 'selected'}),
40
- },
41
- caution: {
42
- enabled: opts.solid({base, dark, tone: 'caution', name, state: 'enabled'}),
43
- disabled: opts.solid({base, dark, tone: 'caution', name, state: 'disabled'}),
44
- hovered: opts.solid({base, dark, tone: 'caution', name, state: 'hovered'}),
45
- pressed: opts.solid({base, dark, tone: 'caution', name, state: 'pressed'}),
46
- selected: opts.solid({base, dark, tone: 'caution', name, state: 'selected'}),
47
- },
48
- critical: {
49
- enabled: opts.solid({base, dark, tone: 'critical', name, state: 'enabled'}),
50
- disabled: opts.solid({base, dark, tone: 'critical', name, state: 'disabled'}),
51
- hovered: opts.solid({base, dark, tone: 'critical', name, state: 'hovered'}),
52
- pressed: opts.solid({base, dark, tone: 'critical', name, state: 'pressed'}),
53
- selected: opts.solid({base, dark, tone: 'critical', name, state: 'selected'}),
54
- },
55
- }
56
- }
@@ -1 +0,0 @@
1
- export * from './types'
@@ -1,24 +0,0 @@
1
- import {ThemeColorGenericState} from '../_generic/types'
2
-
3
- /**
4
- * @public
5
- */
6
- export interface ThemeColorSolidTone {
7
- enabled: ThemeColorGenericState
8
- disabled: ThemeColorGenericState
9
- hovered: ThemeColorGenericState
10
- pressed: ThemeColorGenericState
11
- selected: ThemeColorGenericState
12
- }
13
-
14
- /**
15
- * @public
16
- */
17
- export interface ThemeColorSolid {
18
- default: ThemeColorSolidTone
19
- transparent: ThemeColorSolidTone
20
- primary: ThemeColorSolidTone
21
- positive: ThemeColorSolidTone
22
- caution: ThemeColorSolidTone
23
- critical: ThemeColorSolidTone
24
- }
@@ -1,21 +0,0 @@
1
- import {ThemeColorBase} from '../base'
2
- import {ThemeColorBuilderOpts} from '../factory'
3
- import {ThemeColorSpot} from './types'
4
-
5
- export function createSpot(
6
- opts: ThemeColorBuilderOpts,
7
- base: ThemeColorBase,
8
- dark: boolean,
9
- ): ThemeColorSpot {
10
- return {
11
- gray: opts.spot({base, dark, key: 'gray'}),
12
- blue: opts.spot({base, dark, key: 'blue'}),
13
- purple: opts.spot({base, dark, key: 'purple'}),
14
- magenta: opts.spot({base, dark, key: 'magenta'}),
15
- red: opts.spot({base, dark, key: 'red'}),
16
- orange: opts.spot({base, dark, key: 'orange'}),
17
- yellow: opts.spot({base, dark, key: 'yellow'}),
18
- green: opts.spot({base, dark, key: 'green'}),
19
- cyan: opts.spot({base, dark, key: 'cyan'}),
20
- }
21
- }
@@ -1 +0,0 @@
1
- export * from './types'
@@ -1,28 +0,0 @@
1
- /**
2
- * @public
3
- */
4
- export type ThemeColorSpotKey =
5
- | 'gray'
6
- | 'blue'
7
- | 'purple'
8
- | 'magenta'
9
- | 'red'
10
- | 'orange'
11
- | 'yellow'
12
- | 'green'
13
- | 'cyan'
14
-
15
- /**
16
- * @public
17
- */
18
- export interface ThemeColorSpot {
19
- gray: string
20
- blue: string
21
- purple: string
22
- magenta: string
23
- red: string
24
- orange: string
25
- yellow: string
26
- green: string
27
- cyan: string
28
- }
@@ -1 +0,0 @@
1
- export * from './types'
@@ -1,41 +0,0 @@
1
- /**
2
- * @public
3
- */
4
- export interface ThemeColorSyntax {
5
- atrule: string
6
- attrName: string
7
- attrValue: string
8
- attribute: string
9
- boolean: string
10
- builtin: string
11
- cdata: string
12
- char: string
13
- class: string
14
- className: string
15
- comment: string
16
- constant: string
17
- deleted: string
18
- doctype: string
19
- entity: string
20
- function: string
21
- hexcode: string
22
- id: string
23
- important: string
24
- inserted: string
25
- keyword: string
26
- number: string
27
- operator: string
28
- prolog: string
29
- property: string
30
- pseudoClass: string
31
- pseudoElement: string
32
- punctuation: string
33
- regex: string
34
- selector: string
35
- string: string
36
- symbol: string
37
- tag: string
38
- unit: string
39
- url: string
40
- variable: string
41
- }