@sanity/ui 3.3.2 → 3.3.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 (423) hide show
  1. package/package.json +6 -11
  2. package/exports/_visual-editing.ts +0 -32
  3. package/exports/index.ts +0 -1
  4. package/exports/theme.ts +0 -1
  5. package/src/core/_compat.ts +0 -294
  6. package/src/core/components/autocomplete/autocomplete.styles.tsx +0 -39
  7. package/src/core/components/autocomplete/autocomplete.tsx +0 -775
  8. package/src/core/components/autocomplete/autocompleteOption.tsx +0 -46
  9. package/src/core/components/autocomplete/autocompleteReducer.ts +0 -47
  10. package/src/core/components/autocomplete/constants.ts +0 -28
  11. package/src/core/components/autocomplete/index.ts +0 -2
  12. package/src/core/components/autocomplete/types.ts +0 -108
  13. package/src/core/components/breadcrumbs/breadcrumbs.styles.ts +0 -18
  14. package/src/core/components/breadcrumbs/breadcrumbs.test.tsx +0 -54
  15. package/src/core/components/breadcrumbs/breadcrumbs.tsx +0 -136
  16. package/src/core/components/breadcrumbs/index.ts +0 -1
  17. package/src/core/components/dialog/dialog.tsx +0 -433
  18. package/src/core/components/dialog/dialogContext.ts +0 -20
  19. package/src/core/components/dialog/dialogProvider.tsx +0 -35
  20. package/src/core/components/dialog/index.ts +0 -4
  21. package/src/core/components/dialog/styles.ts +0 -77
  22. package/src/core/components/dialog/useDialog.ts +0 -11
  23. package/src/core/components/hotkeys/hotkeys.test.tsx +0 -47
  24. package/src/core/components/hotkeys/hotkeys.tsx +0 -68
  25. package/src/core/components/hotkeys/index.ts +0 -1
  26. package/src/core/components/index.ts +0 -9
  27. package/src/core/components/menu/helpers.ts +0 -82
  28. package/src/core/components/menu/index.ts +0 -5
  29. package/src/core/components/menu/menu.spacing.test.tsx +0 -68
  30. package/src/core/components/menu/menu.test.tsx +0 -128
  31. package/src/core/components/menu/menu.tsx +0 -180
  32. package/src/core/components/menu/menuButton.tsx +0 -276
  33. package/src/core/components/menu/menuContext.ts +0 -18
  34. package/src/core/components/menu/menuDivider.ts +0 -24
  35. package/src/core/components/menu/menuGroup.spacing.test.tsx +0 -66
  36. package/src/core/components/menu/menuGroup.tsx +0 -237
  37. package/src/core/components/menu/menuItem.spacing.test.tsx +0 -62
  38. package/src/core/components/menu/menuItem.tsx +0 -201
  39. package/src/core/components/menu/useMenu.ts +0 -21
  40. package/src/core/components/menu/useMenuController.ts +0 -233
  41. package/src/core/components/skeleton/index.ts +0 -2
  42. package/src/core/components/skeleton/skeleton.tsx +0 -58
  43. package/src/core/components/skeleton/styles.ts +0 -50
  44. package/src/core/components/skeleton/textSkeleton.tsx +0 -122
  45. package/src/core/components/tab/index.ts +0 -3
  46. package/src/core/components/tab/tab.tsx +0 -102
  47. package/src/core/components/tab/tabList.test.tsx +0 -50
  48. package/src/core/components/tab/tabList.tsx +0 -71
  49. package/src/core/components/tab/tabPanel.tsx +0 -39
  50. package/src/core/components/toast/index.ts +0 -4
  51. package/src/core/components/toast/styles.ts +0 -77
  52. package/src/core/components/toast/toast.test.tsx +0 -106
  53. package/src/core/components/toast/toast.tsx +0 -199
  54. package/src/core/components/toast/toastContext.ts +0 -7
  55. package/src/core/components/toast/toastLayer.tsx +0 -52
  56. package/src/core/components/toast/toastProvider.tsx +0 -113
  57. package/src/core/components/toast/toastState.ts +0 -6
  58. package/src/core/components/toast/types.ts +0 -26
  59. package/src/core/components/toast/useToast.ts +0 -25
  60. package/src/core/components/tree/helpers.ts +0 -105
  61. package/src/core/components/tree/index.ts +0 -4
  62. package/src/core/components/tree/style.ts +0 -105
  63. package/src/core/components/tree/tree.test.tsx +0 -60
  64. package/src/core/components/tree/tree.tsx +0 -242
  65. package/src/core/components/tree/treeContext.ts +0 -10
  66. package/src/core/components/tree/treeGroup.tsx +0 -29
  67. package/src/core/components/tree/treeItem.test.tsx +0 -70
  68. package/src/core/components/tree/treeItem.tsx +0 -225
  69. package/src/core/components/tree/types.ts +0 -25
  70. package/src/core/components/tree/useTree.ts +0 -17
  71. package/src/core/constants.ts +0 -79
  72. package/src/core/helpers/animation.ts +0 -27
  73. package/src/core/helpers/element.ts +0 -55
  74. package/src/core/helpers/focus.ts +0 -100
  75. package/src/core/helpers/index.ts +0 -4
  76. package/src/core/helpers/scroll.ts +0 -15
  77. package/src/core/hooks/index.ts +0 -13
  78. package/src/core/hooks/useArrayProp.ts +0 -17
  79. package/src/core/hooks/useClickOutside.test.tsx +0 -510
  80. package/src/core/hooks/useClickOutside.ts +0 -118
  81. package/src/core/hooks/useClickOutsideEvent.test.tsx +0 -119
  82. package/src/core/hooks/useClickOutsideEvent.ts +0 -73
  83. package/src/core/hooks/useCustomValidity.ts +0 -13
  84. package/src/core/hooks/useDelayed.test.ts +0 -89
  85. package/src/core/hooks/useDelayedState.ts +0 -36
  86. package/src/core/hooks/useElementRect/index.ts +0 -1
  87. package/src/core/hooks/useElementRect/useElementRect.ts +0 -14
  88. package/src/core/hooks/useElementSize.ts +0 -19
  89. package/src/core/hooks/useForwardedRef.ts +0 -20
  90. package/src/core/hooks/useGlobalKeyDown.ts +0 -24
  91. package/src/core/hooks/useIsomorphicEffect.ts +0 -7
  92. package/src/core/hooks/useMatchMedia.ts +0 -28
  93. package/src/core/hooks/useMediaIndex/index.ts +0 -1
  94. package/src/core/hooks/useMediaIndex/useMediaIndex.test.tsx +0 -37
  95. package/src/core/hooks/useMediaIndex/useMediaIndex.ts +0 -102
  96. package/src/core/hooks/useMounted.ts +0 -15
  97. package/src/core/hooks/usePrefersDark.hydration.test.tsx +0 -58
  98. package/src/core/hooks/usePrefersDark.test.tsx +0 -21
  99. package/src/core/hooks/usePrefersDark.ts +0 -16
  100. package/src/core/hooks/usePrefersReducedMotion.hydration.test.tsx +0 -58
  101. package/src/core/hooks/usePrefersReducedMotion.test.tsx +0 -21
  102. package/src/core/hooks/usePrefersReducedMotion.ts +0 -16
  103. package/src/core/index.ts +0 -10
  104. package/src/core/lib/createGlobalScopedContext.ts +0 -37
  105. package/src/core/lib/globalScope.ts +0 -20
  106. package/src/core/lib/isRecord.ts +0 -3
  107. package/src/core/middleware/origin.ts +0 -47
  108. package/src/core/observers/elementSizeObserver.ts +0 -117
  109. package/src/core/observers/index.ts +0 -2
  110. package/src/core/observers/resizeObserver.ts +0 -9
  111. package/src/core/primitives/_selectable/index.ts +0 -1
  112. package/src/core/primitives/_selectable/selectable.tsx +0 -15
  113. package/src/core/primitives/_selectable/style.ts +0 -115
  114. package/src/core/primitives/avatar/avatar.tsx +0 -200
  115. package/src/core/primitives/avatar/avatarCounter.tsx +0 -91
  116. package/src/core/primitives/avatar/avatarStack.tsx +0 -101
  117. package/src/core/primitives/avatar/index.ts +0 -4
  118. package/src/core/primitives/avatar/styles.ts +0 -167
  119. package/src/core/primitives/avatar/types.ts +0 -17
  120. package/src/core/primitives/badge/badge.test.tsx +0 -17
  121. package/src/core/primitives/badge/badge.tsx +0 -72
  122. package/src/core/primitives/badge/index.ts +0 -1
  123. package/src/core/primitives/badge/styles.ts +0 -20
  124. package/src/core/primitives/badge/types.ts +0 -8
  125. package/src/core/primitives/box/box.test.tsx +0 -155
  126. package/src/core/primitives/box/box.tsx +0 -162
  127. package/src/core/primitives/box/index.ts +0 -1
  128. package/src/core/primitives/button/button.test.tsx +0 -86
  129. package/src/core/primitives/button/button.tsx +0 -214
  130. package/src/core/primitives/button/index.ts +0 -1
  131. package/src/core/primitives/button/styles.ts +0 -118
  132. package/src/core/primitives/card/card.tsx +0 -125
  133. package/src/core/primitives/card/index.ts +0 -2
  134. package/src/core/primitives/card/styles.ts +0 -147
  135. package/src/core/primitives/card/types.ts +0 -12
  136. package/src/core/primitives/checkbox/checkbox.tsx +0 -73
  137. package/src/core/primitives/checkbox/index.ts +0 -1
  138. package/src/core/primitives/checkbox/styles.ts +0 -128
  139. package/src/core/primitives/code/code.tsx +0 -56
  140. package/src/core/primitives/code/index.ts +0 -1
  141. package/src/core/primitives/code/refractor.tsx +0 -22
  142. package/src/core/primitives/code/styles.ts +0 -77
  143. package/src/core/primitives/container/container.tsx +0 -55
  144. package/src/core/primitives/container/index.ts +0 -2
  145. package/src/core/primitives/container/styles.ts +0 -23
  146. package/src/core/primitives/container/types.ts +0 -6
  147. package/src/core/primitives/flex/flex.tsx +0 -63
  148. package/src/core/primitives/flex/index.ts +0 -1
  149. package/src/core/primitives/grid/grid.test.tsx +0 -86
  150. package/src/core/primitives/grid/grid.tsx +0 -77
  151. package/src/core/primitives/grid/index.ts +0 -1
  152. package/src/core/primitives/heading/heading.tsx +0 -89
  153. package/src/core/primitives/heading/index.ts +0 -1
  154. package/src/core/primitives/heading/styles.ts +0 -64
  155. package/src/core/primitives/heading/types.ts +0 -7
  156. package/src/core/primitives/index.ts +0 -27
  157. package/src/core/primitives/inline/index.ts +0 -1
  158. package/src/core/primitives/inline/inline.test.tsx +0 -55
  159. package/src/core/primitives/inline/inline.tsx +0 -66
  160. package/src/core/primitives/inline/styles.ts +0 -32
  161. package/src/core/primitives/inline/types.ts +0 -6
  162. package/src/core/primitives/kbd/index.ts +0 -1
  163. package/src/core/primitives/kbd/kbd.tsx +0 -73
  164. package/src/core/primitives/label/index.ts +0 -1
  165. package/src/core/primitives/label/label.tsx +0 -88
  166. package/src/core/primitives/label/styles.ts +0 -45
  167. package/src/core/primitives/popover/constants.ts +0 -22
  168. package/src/core/primitives/popover/floating-ui/size.ts +0 -99
  169. package/src/core/primitives/popover/helpers.ts +0 -31
  170. package/src/core/primitives/popover/index.ts +0 -2
  171. package/src/core/primitives/popover/popover.tsx +0 -512
  172. package/src/core/primitives/popover/popoverCard.tsx +0 -167
  173. package/src/core/primitives/popover/types.ts +0 -6
  174. package/src/core/primitives/radio/index.ts +0 -1
  175. package/src/core/primitives/radio/radio.tsx +0 -51
  176. package/src/core/primitives/radio/styles.ts +0 -117
  177. package/src/core/primitives/select/index.ts +0 -1
  178. package/src/core/primitives/select/select.test.tsx +0 -56
  179. package/src/core/primitives/select/select.tsx +0 -95
  180. package/src/core/primitives/select/styles.ts +0 -166
  181. package/src/core/primitives/spinner/index.ts +0 -1
  182. package/src/core/primitives/spinner/spinner.tsx +0 -46
  183. package/src/core/primitives/stack/index.ts +0 -1
  184. package/src/core/primitives/stack/stack.test.tsx +0 -61
  185. package/src/core/primitives/stack/stack.tsx +0 -59
  186. package/src/core/primitives/stack/styles.ts +0 -33
  187. package/src/core/primitives/switch/index.ts +0 -1
  188. package/src/core/primitives/switch/styles.ts +0 -173
  189. package/src/core/primitives/switch/switch.tsx +0 -68
  190. package/src/core/primitives/text/index.ts +0 -1
  191. package/src/core/primitives/text/styles.ts +0 -74
  192. package/src/core/primitives/text/text.tsx +0 -90
  193. package/src/core/primitives/textArea/index.ts +0 -1
  194. package/src/core/primitives/textArea/textArea.tsx +0 -120
  195. package/src/core/primitives/textInput/index.ts +0 -1
  196. package/src/core/primitives/textInput/textInput.test.tsx +0 -52
  197. package/src/core/primitives/textInput/textInput.tsx +0 -398
  198. package/src/core/primitives/tooltip/constants.ts +0 -23
  199. package/src/core/primitives/tooltip/index.ts +0 -2
  200. package/src/core/primitives/tooltip/tooltip.test.tsx +0 -485
  201. package/src/core/primitives/tooltip/tooltip.tsx +0 -497
  202. package/src/core/primitives/tooltip/tooltipCard.tsx +0 -110
  203. package/src/core/primitives/tooltip/tooltipDelayGroup/index.ts +0 -4
  204. package/src/core/primitives/tooltip/tooltipDelayGroup/tooltipDelayGroupContext.tsx +0 -11
  205. package/src/core/primitives/tooltip/tooltipDelayGroup/tooltipDelayGroupProvider.tsx +0 -57
  206. package/src/core/primitives/tooltip/tooltipDelayGroup/types.ts +0 -12
  207. package/src/core/primitives/tooltip/tooltipDelayGroup/useTooltipDelayGroup.ts +0 -13
  208. package/src/core/primitives/types.ts +0 -179
  209. package/src/core/styles/border/borderStyle.ts +0 -56
  210. package/src/core/styles/border/index.ts +0 -2
  211. package/src/core/styles/border/types.ts +0 -10
  212. package/src/core/styles/box/boxStyle.ts +0 -69
  213. package/src/core/styles/box/index.ts +0 -2
  214. package/src/core/styles/box/types.ts +0 -11
  215. package/src/core/styles/card/_cardColorStyle.ts +0 -108
  216. package/src/core/styles/card/index.ts +0 -1
  217. package/src/core/styles/flex/flexItemStyle.ts +0 -27
  218. package/src/core/styles/flex/flexStyle.ts +0 -70
  219. package/src/core/styles/flex/index.ts +0 -3
  220. package/src/core/styles/flex/types.ts +0 -24
  221. package/src/core/styles/focusRing/index.ts +0 -25
  222. package/src/core/styles/font/codeFontStyle.ts +0 -13
  223. package/src/core/styles/font/headingFontStyle.ts +0 -13
  224. package/src/core/styles/font/index.ts +0 -6
  225. package/src/core/styles/font/labelFontStyle.ts +0 -13
  226. package/src/core/styles/font/responsiveFont.ts +0 -100
  227. package/src/core/styles/font/textAlignStyle.ts +0 -19
  228. package/src/core/styles/font/textFontStyle.ts +0 -13
  229. package/src/core/styles/font/types.ts +0 -33
  230. package/src/core/styles/grid/gridItemStyle.ts +0 -82
  231. package/src/core/styles/grid/gridStyle.ts +0 -109
  232. package/src/core/styles/grid/index.ts +0 -3
  233. package/src/core/styles/grid/types.ts +0 -37
  234. package/src/core/styles/helpers.ts +0 -72
  235. package/src/core/styles/index.ts +0 -5
  236. package/src/core/styles/input/index.ts +0 -2
  237. package/src/core/styles/input/responsiveInputPaddingStyle.ts +0 -78
  238. package/src/core/styles/input/textInputStyle.ts +0 -263
  239. package/src/core/styles/internal.ts +0 -12
  240. package/src/core/styles/margin/index.ts +0 -2
  241. package/src/core/styles/margin/marginStyle.ts +0 -22
  242. package/src/core/styles/margin/marginsStyle.test.ts +0 -34
  243. package/src/core/styles/margin/types.ts +0 -9
  244. package/src/core/styles/padding/index.ts +0 -2
  245. package/src/core/styles/padding/paddingStyle.test.ts +0 -34
  246. package/src/core/styles/padding/paddingStyle.ts +0 -22
  247. package/src/core/styles/padding/types.ts +0 -12
  248. package/src/core/styles/radius/index.ts +0 -2
  249. package/src/core/styles/radius/radiusStyle.ts +0 -23
  250. package/src/core/styles/radius/types.ts +0 -8
  251. package/src/core/styles/shadow/index.ts +0 -2
  252. package/src/core/styles/shadow/shadowStyle.ts +0 -29
  253. package/src/core/styles/shadow/types.ts +0 -6
  254. package/src/core/styles/types.ts +0 -8
  255. package/src/core/theme/index.ts +0 -5
  256. package/src/core/theme/theme.test.tsx +0 -77
  257. package/src/core/theme/themeColorProvider.tsx +0 -29
  258. package/src/core/theme/themeContext.ts +0 -10
  259. package/src/core/theme/themeProvider.tsx +0 -62
  260. package/src/core/theme/types.ts +0 -12
  261. package/src/core/theme/useRootTheme.ts +0 -18
  262. package/src/core/theme/useTheme.ts +0 -18
  263. package/src/core/types/avatar.ts +0 -14
  264. package/src/core/types/badge.ts +0 -12
  265. package/src/core/types/box.ts +0 -19
  266. package/src/core/types/button.ts +0 -21
  267. package/src/core/types/card.ts +0 -6
  268. package/src/core/types/component.ts +0 -32
  269. package/src/core/types/dialog.ts +0 -4
  270. package/src/core/types/flex.ts +0 -30
  271. package/src/core/types/grid.ts +0 -14
  272. package/src/core/types/gridItem.ts +0 -29
  273. package/src/core/types/index.ts +0 -15
  274. package/src/core/types/placement.ts +0 -18
  275. package/src/core/types/popover.ts +0 -4
  276. package/src/core/types/radius.ts +0 -4
  277. package/src/core/types/selectable.ts +0 -6
  278. package/src/core/types/text.ts +0 -4
  279. package/src/core/utils/arrow/arrow.tsx +0 -124
  280. package/src/core/utils/arrow/cmds.ts +0 -91
  281. package/src/core/utils/arrow/index.ts +0 -1
  282. package/src/core/utils/boundaryElement/boundaryElement.test.tsx +0 -105
  283. package/src/core/utils/boundaryElement/boundaryElementContext.ts +0 -7
  284. package/src/core/utils/boundaryElement/boundaryElementProvider.tsx +0 -24
  285. package/src/core/utils/boundaryElement/index.ts +0 -3
  286. package/src/core/utils/boundaryElement/types.ts +0 -7
  287. package/src/core/utils/boundaryElement/useBoundaryElement.ts +0 -26
  288. package/src/core/utils/conditionalWrapper/conditionalWrapper.tsx +0 -22
  289. package/src/core/utils/conditionalWrapper/index.ts +0 -1
  290. package/src/core/utils/elementQuery/elementQuery.tsx +0 -53
  291. package/src/core/utils/elementQuery/helpers.ts +0 -27
  292. package/src/core/utils/elementQuery/index.ts +0 -1
  293. package/src/core/utils/errorBoundary.tsx +0 -48
  294. package/src/core/utils/getElementRef.ts +0 -31
  295. package/src/core/utils/index.ts +0 -9
  296. package/src/core/utils/layer/getLayerContext.test.ts +0 -32
  297. package/src/core/utils/layer/getLayerContext.ts +0 -21
  298. package/src/core/utils/layer/index.ts +0 -4
  299. package/src/core/utils/layer/layer.test.tsx +0 -113
  300. package/src/core/utils/layer/layer.tsx +0 -99
  301. package/src/core/utils/layer/layerContext.ts +0 -7
  302. package/src/core/utils/layer/layerProvider.tsx +0 -111
  303. package/src/core/utils/layer/types.ts +0 -9
  304. package/src/core/utils/layer/useLayer.ts +0 -28
  305. package/src/core/utils/portal/index.ts +0 -4
  306. package/src/core/utils/portal/portal.test.tsx +0 -108
  307. package/src/core/utils/portal/portal.ts +0 -32
  308. package/src/core/utils/portal/portalContext.ts +0 -31
  309. package/src/core/utils/portal/portalProvider.tsx +0 -48
  310. package/src/core/utils/portal/types.ts +0 -9
  311. package/src/core/utils/portal/usePortal.ts +0 -25
  312. package/src/core/utils/spanWithTextOverflow.tsx +0 -10
  313. package/src/core/utils/srOnly/index.ts +0 -1
  314. package/src/core/utils/srOnly/srOnly.tsx +0 -36
  315. package/src/core/utils/virtualList/index.ts +0 -1
  316. package/src/core/utils/virtualList/virtualList.tsx +0 -201
  317. package/src/theme/build/_deprecated/color/_selectable/createSelectableTones.ts +0 -86
  318. package/src/theme/build/_deprecated/color/_solid/createSolidTones.ts +0 -58
  319. package/src/theme/build/_deprecated/color/button/createButtonModes.ts +0 -27
  320. package/src/theme/build/_deprecated/color/button/createButtonTones.ts +0 -60
  321. package/src/theme/build/_deprecated/color/card/createCardStates.ts +0 -66
  322. package/src/theme/build/_deprecated/color/color.test.ts +0 -67
  323. package/src/theme/build/_deprecated/color/defaults.ts +0 -391
  324. package/src/theme/build/_deprecated/color/factory.ts +0 -178
  325. package/src/theme/build/_deprecated/color/index.ts +0 -1
  326. package/src/theme/build/_deprecated/color/input/createInputModes.ts +0 -86
  327. package/src/theme/build/_deprecated/color/muted/createMuted.ts +0 -58
  328. package/src/theme/build/_deprecated/color/spot/createSpot.ts +0 -23
  329. package/src/theme/build/buildColorTheme.test.ts +0 -185
  330. package/src/theme/build/buildColorTheme.ts +0 -507
  331. package/src/theme/build/buildTheme.test.ts +0 -89
  332. package/src/theme/build/buildTheme.ts +0 -36
  333. package/src/theme/build/colorToken/colorToken.ts +0 -19
  334. package/src/theme/build/colorToken/compileColorToken.ts +0 -21
  335. package/src/theme/build/colorToken/index.ts +0 -2
  336. package/src/theme/build/colorToken/types.ts +0 -6
  337. package/src/theme/build/index.ts +0 -3
  338. package/src/theme/build/lib/color-fns/blend/index.ts +0 -3
  339. package/src/theme/build/lib/color-fns/blend/mix.ts +0 -21
  340. package/src/theme/build/lib/color-fns/blend/multiply.ts +0 -18
  341. package/src/theme/build/lib/color-fns/blend/screen.ts +0 -18
  342. package/src/theme/build/lib/color-fns/color-fns.test.ts +0 -70
  343. package/src/theme/build/lib/color-fns/contrastRatio.ts +0 -31
  344. package/src/theme/build/lib/color-fns/convert.ts +0 -150
  345. package/src/theme/build/lib/color-fns/index.ts +0 -6
  346. package/src/theme/build/lib/color-fns/parse.ts +0 -60
  347. package/src/theme/build/lib/color-fns/rgba.ts +0 -10
  348. package/src/theme/build/lib/color-fns/types.ts +0 -28
  349. package/src/theme/build/lib/isRecord.ts +0 -3
  350. package/src/theme/build/lib/lazy.ts +0 -30
  351. package/src/theme/build/lib/utils.ts +0 -19
  352. package/src/theme/build/merge.ts +0 -31
  353. package/src/theme/build/mixThemeColor.test.ts +0 -23
  354. package/src/theme/build/mixThemeColor.ts +0 -53
  355. package/src/theme/build/renderColorTheme.ts +0 -538
  356. package/src/theme/build/renderColorValue.ts +0 -83
  357. package/src/theme/build/resolveColorTokens.ts +0 -274
  358. package/src/theme/build/theme.test.ts +0 -29
  359. package/src/theme/config/helpers.ts +0 -60
  360. package/src/theme/config/index.ts +0 -4
  361. package/src/theme/config/system.ts +0 -117
  362. package/src/theme/config/tokens/color/index.ts +0 -1
  363. package/src/theme/config/tokens/color/types.ts +0 -135
  364. package/src/theme/config/tokens/index.ts +0 -4
  365. package/src/theme/config/tokens/parseTokenKey.test.ts +0 -66
  366. package/src/theme/config/tokens/parseTokenKey.ts +0 -67
  367. package/src/theme/config/tokens/parseTokenValue.test.ts +0 -44
  368. package/src/theme/config/tokens/parseTokenValue.ts +0 -134
  369. package/src/theme/config/tokens/types.ts +0 -53
  370. package/src/theme/config/types.ts +0 -46
  371. package/src/theme/defaults/colorPalette.ts +0 -5
  372. package/src/theme/defaults/colorTokens.ts +0 -648
  373. package/src/theme/defaults/config.ts +0 -84
  374. package/src/theme/defaults/fonts.ts +0 -227
  375. package/src/theme/getScopedTheme.ts +0 -103
  376. package/src/theme/index.ts +0 -5
  377. package/src/theme/system/avatar.ts +0 -14
  378. package/src/theme/system/color/_constants.ts +0 -45
  379. package/src/theme/system/color/_helpers.ts +0 -28
  380. package/src/theme/system/color/_system.ts +0 -40
  381. package/src/theme/system/color/avatar.ts +0 -15
  382. package/src/theme/system/color/badge.ts +0 -16
  383. package/src/theme/system/color/button.ts +0 -17
  384. package/src/theme/system/color/color.ts +0 -34
  385. package/src/theme/system/color/index.ts +0 -13
  386. package/src/theme/system/color/input.ts +0 -25
  387. package/src/theme/system/color/kbd.ts +0 -8
  388. package/src/theme/system/color/selectable.ts +0 -12
  389. package/src/theme/system/color/shadow.ts +0 -7
  390. package/src/theme/system/color/state.ts +0 -43
  391. package/src/theme/system/color/syntax.ts +0 -41
  392. package/src/theme/system/css.ts +0 -14
  393. package/src/theme/system/focusRing.ts +0 -7
  394. package/src/theme/system/font.ts +0 -52
  395. package/src/theme/system/index.ts +0 -11
  396. package/src/theme/system/input.ts +0 -33
  397. package/src/theme/system/layer.ts +0 -8
  398. package/src/theme/system/shadow.ts +0 -19
  399. package/src/theme/system/styles.ts +0 -13
  400. package/src/theme/system/theme.ts +0 -142
  401. package/src/theme/system/v0/avatar.ts +0 -10
  402. package/src/theme/system/v0/color/_generic.ts +0 -35
  403. package/src/theme/system/v0/color/_system.ts +0 -18
  404. package/src/theme/system/v0/color/base.ts +0 -21
  405. package/src/theme/system/v0/color/button.ts +0 -56
  406. package/src/theme/system/v0/color/card.ts +0 -25
  407. package/src/theme/system/v0/color/color.ts +0 -51
  408. package/src/theme/system/v0/color/index.ts +0 -11
  409. package/src/theme/system/v0/color/input.ts +0 -40
  410. package/src/theme/system/v0/color/muted.ts +0 -37
  411. package/src/theme/system/v0/color/selectable.ts +0 -42
  412. package/src/theme/system/v0/color/solid.ts +0 -37
  413. package/src/theme/system/v0/color/spot.ts +0 -14
  414. package/src/theme/system/v0/index.ts +0 -3
  415. package/src/theme/system/v0/input.ts +0 -23
  416. package/src/theme/versioning/getTheme_v2.ts +0 -72
  417. package/src/theme/versioning/index.ts +0 -5
  418. package/src/theme/versioning/is_v0.ts +0 -6
  419. package/src/theme/versioning/is_v2.ts +0 -6
  420. package/src/theme/versioning/themeColor_v0_v2.ts +0 -250
  421. package/src/theme/versioning/themeColor_v2_v2_9.ts +0 -50
  422. package/src/theme/versioning/v0_v2.ts +0 -106
  423. package/src/theme/versioning/v2_v0.ts +0 -153
@@ -1,52 +0,0 @@
1
- import {styled} from 'styled-components'
2
-
3
- import {Grid} from '../../primitives/grid'
4
- import {useLayer} from '../../utils'
5
-
6
- /**
7
- * @public
8
- */
9
- export interface ToastLayerProps {
10
- children: React.ReactNode
11
- padding?: number | number[]
12
- paddingX?: number | number[]
13
- paddingY?: number | number[]
14
- gap?: number | number[]
15
- }
16
-
17
- /**
18
- * @internal
19
- */
20
- export function ToastLayer(props: ToastLayerProps): React.JSX.Element {
21
- const {children, padding = 4, paddingX, paddingY, gap = 3} = props
22
- const {zIndex} = useLayer()
23
-
24
- return (
25
- <StyledLayer
26
- forwardedAs="ul"
27
- data-ui="ToastProvider"
28
- padding={padding}
29
- paddingX={paddingX}
30
- paddingY={paddingY}
31
- gap={gap}
32
- // oxlint-disable-next-line no-deprecated
33
- columns={1}
34
- style={{zIndex}}
35
- >
36
- {children}
37
- </StyledLayer>
38
- )
39
- }
40
-
41
- ToastLayer.displayName = 'ToastLayer'
42
-
43
- const StyledLayer = styled(Grid)`
44
- box-sizing: border-box;
45
- position: fixed;
46
- right: 0;
47
- bottom: 0;
48
- list-style: none;
49
- pointer-events: none;
50
- max-width: 420px;
51
- width: 100%;
52
- `
@@ -1,113 +0,0 @@
1
- import {AnimatePresence} from 'motion/react'
2
- import {startTransition, useMemo, useState} from 'react'
3
-
4
- import {useMounted} from '../../hooks/useMounted'
5
- import {LayerProvider} from '../../utils'
6
- import {Toast} from './toast'
7
- import {ToastContext} from './toastContext'
8
- import {ToastLayer, type ToastLayerProps} from './toastLayer'
9
- import {generateToastId} from './toastState'
10
- import {ToastContextValue, ToastParams} from './types'
11
-
12
- type ToastState = {
13
- dismiss: () => void
14
- id: string
15
- updatedAt: number
16
- params: ToastParams
17
- }[]
18
-
19
- /**
20
- * @public
21
- */
22
- export interface ToastProviderProps extends Omit<ToastLayerProps, 'children'> {
23
- children?: React.ReactNode
24
- zOffset?: number | number[]
25
- }
26
-
27
- /**
28
- * @public
29
- */
30
- export function ToastProvider(props: ToastProviderProps): React.JSX.Element {
31
- const {children, padding, paddingX, paddingY, gap, zOffset = 1} = props
32
- const [state, setState] = useState<ToastState>([])
33
- const mounted = useMounted()
34
-
35
- const value: ToastContextValue = useMemo(() => {
36
- const push = (params: ToastParams) => {
37
- const id = params.id || generateToastId()
38
- const duration = params.duration || 5000
39
-
40
- startTransition(() => {
41
- setState((prevState): ToastState => {
42
- /**
43
- * Backwards compatibility for `sanity` patterns workaround a lack of programatically dismissible toasts.
44
- * It uses a super short duration that closes the toast immediately in previous versions of `@sanity/ui`.
45
- * We interpret this as a request to dismiss the toast immediately, and remove it from the state right away.
46
- * Even once we support programatic dismissal we'll need to keep this for backwards compatibility with v2 and v1.
47
- */
48
- if (duration === 0.01) {
49
- return prevState.filter((toast) => toast.id !== id)
50
- }
51
-
52
- /**
53
- * Creates a function to dismiss this specific toast.
54
- * This function will be passed to the Toast component
55
- * and called either on close button click or after duration.
56
- */
57
- const dismiss = () =>
58
- startTransition(() =>
59
- setState((currentState) => currentState.filter((toast) => toast.id !== id)),
60
- )
61
-
62
- /**
63
- * Create updated state by:
64
- * 1. Removing any existing toast with the same ID (prevents duplicates)
65
- * 2. Adding the new toast with its dismiss handler
66
- * 3. Updates the `updatedAt` timestamp, which resets progress bar count downs.
67
- */
68
- return [
69
- ...prevState.filter((toast) => toast.id !== id),
70
- {
71
- dismiss,
72
- id,
73
- updatedAt: Date.now(),
74
- params: {...params, duration},
75
- },
76
- ]
77
- })
78
- })
79
-
80
- return id
81
- }
82
-
83
- return {version: 0.0, push}
84
- }, [])
85
-
86
- return (
87
- <ToastContext.Provider value={value}>
88
- {children}
89
- {mounted && (
90
- <LayerProvider zOffset={zOffset}>
91
- <ToastLayer padding={padding} paddingX={paddingX} paddingY={paddingY} gap={gap}>
92
- <AnimatePresence initial={false} mode="popLayout">
93
- {state.map(({dismiss, id, params, updatedAt}) => (
94
- <Toast
95
- key={id}
96
- closable={params.closable}
97
- description={params.description}
98
- onClose={dismiss}
99
- status={params.status}
100
- title={params.title}
101
- duration={params.duration}
102
- updatedAt={updatedAt}
103
- />
104
- ))}
105
- </AnimatePresence>
106
- </ToastLayer>
107
- </LayerProvider>
108
- )}
109
- </ToastContext.Provider>
110
- )
111
- }
112
-
113
- ToastProvider.displayName = 'ToastProvider'
@@ -1,6 +0,0 @@
1
- let toastId = 0
2
-
3
- /** @internal */
4
- export function generateToastId(): string {
5
- return String(toastId++)
6
- }
@@ -1,26 +0,0 @@
1
- /**
2
- * @public
3
- */
4
- export interface ToastParams {
5
- closable?: boolean
6
- description?: React.ReactNode
7
- duration?: number
8
- id?: string
9
- onClose?: () => void
10
- title?: React.ReactNode
11
- status?: 'error' | 'warning' | 'success' | 'info'
12
- }
13
-
14
- /**
15
- * @public
16
- */
17
- export interface ToastContextValue {
18
- version: 0.0
19
- /**
20
- * Creates or updates a toast notification.
21
- * If a toast with the same ID already exists, it will be updated.
22
- * If an ID is not provided, a random one will be generated.
23
- * The returned ID can be used to programatically update a toast.
24
- */
25
- push: (params: ToastParams) => string
26
- }
@@ -1,25 +0,0 @@
1
- import {useContext} from 'react'
2
-
3
- import {isRecord} from '../../lib/isRecord'
4
- import {ToastContext} from './toastContext'
5
- import {ToastContextValue} from './types'
6
-
7
- /**
8
- * @public
9
- */
10
- export function useToast(): ToastContextValue {
11
- const value = useContext(ToastContext)
12
-
13
- if (!value) {
14
- throw new Error('useToast(): missing context value')
15
- }
16
-
17
- // NOTE: This check is for future-compatiblity
18
- // - If the value is not an object, it’s not compatible with the current version
19
- // - If the value is an object, but doesn’t have `version: 0.0`, it’s not compatible with the current version
20
- if (!isRecord(value) || value.version !== 0.0) {
21
- throw new Error('useToast(): the context value is not compatible')
22
- }
23
-
24
- return value
25
- }
@@ -1,105 +0,0 @@
1
- import {TreeState} from './types'
2
-
3
- export function _findPrevItemElement(
4
- state: TreeState,
5
- itemElements: HTMLElement[],
6
- focusedElement: HTMLElement,
7
- ): HTMLElement | null {
8
- const idx = itemElements.indexOf(focusedElement)
9
- const els = itemElements.slice(0, idx)
10
- const len = els.length
11
-
12
- for (let i = len - 1; i >= 0; i -= 1) {
13
- const itemKey = els[i].getAttribute('data-tree-key')
14
-
15
- if (!itemKey) {
16
- continue
17
- }
18
-
19
- const segments = itemKey.split('/')
20
-
21
- segments.pop()
22
-
23
- const p: string[] = []
24
-
25
- let expanded = true
26
-
27
- for (let j = 0; j < segments.length; j += 1) {
28
- p.push(segments[j])
29
-
30
- const k = p.join('/')
31
-
32
- if (!state[k]?.expanded) {
33
- expanded = false
34
- break
35
- }
36
- }
37
-
38
- if (expanded) {
39
- return els[i]
40
- }
41
- }
42
-
43
- return null
44
- }
45
-
46
- export function _findNextItemElement(
47
- state: TreeState,
48
- itemElements: HTMLElement[],
49
- focusedElement: HTMLElement,
50
- ): HTMLElement | null {
51
- const idx = itemElements.indexOf(focusedElement)
52
- const els = itemElements.slice(idx)
53
- const len = itemElements.length
54
-
55
- for (let i = 1; i < len; i += 1) {
56
- if (!els[i]) {
57
- continue
58
- }
59
-
60
- const itemKey = els[i].getAttribute('data-tree-key')
61
-
62
- if (!itemKey) {
63
- continue
64
- }
65
-
66
- const segments = itemKey.split('/')
67
-
68
- segments.pop()
69
-
70
- const p: string[] = []
71
-
72
- let expanded = true
73
-
74
- for (let j = 0; j < segments.length; j += 1) {
75
- p.push(segments[j])
76
-
77
- const k = p.join('/')
78
-
79
- if (!state[k]?.expanded) {
80
- expanded = false
81
- break
82
- }
83
- }
84
-
85
- if (expanded) {
86
- return els[i]
87
- }
88
- }
89
-
90
- return null
91
- }
92
-
93
- export function _focusItemElement(el: HTMLElement): void {
94
- if (el.getAttribute('role') === 'treeitem') {
95
- el.focus()
96
- }
97
-
98
- if (el.getAttribute('role') === 'none') {
99
- const firstChild = el.firstChild
100
-
101
- if (firstChild && firstChild instanceof HTMLElement) {
102
- firstChild.focus()
103
- }
104
- }
105
- }
@@ -1,4 +0,0 @@
1
- export * from './tree'
2
- export * from './treeItem'
3
- export * from './types'
4
- export * from './useTree'
@@ -1,105 +0,0 @@
1
- import {getTheme_v2} from '@sanity/ui/theme'
2
- import {css} from 'styled-components'
3
-
4
- import {rem, ThemeProps} from '../../styles'
5
- import {_cardColorStyle} from '../../styles/card'
6
-
7
- export function treeItemRootStyle(): ReturnType<typeof css> {
8
- return css`
9
- &[role='none'] > [role='treeitem'] {
10
- outline: none;
11
- cursor: default;
12
- border-radius: 3px;
13
-
14
- background-color: var(--card-bg-color);
15
- color: var(--treeitem-fg-color);
16
-
17
- &:focus {
18
- position: relative;
19
- }
20
- }
21
-
22
- &[role='treeitem'] {
23
- outline: none;
24
-
25
- & > div {
26
- cursor: default;
27
- border-radius: 3px;
28
-
29
- background-color: var(--card-bg-color);
30
- color: var(--treeitem-fg-color);
31
- }
32
-
33
- &:focus > div {
34
- position: relative;
35
- }
36
- }
37
- `
38
- }
39
-
40
- export function treeItemRootColorStyle(props: ThemeProps): ReturnType<typeof css> {
41
- const $tone = 'default'
42
- const {color} = getTheme_v2(props.theme)
43
- const tone = color.selectable[$tone]
44
-
45
- return css`
46
- &[role='none'] {
47
- & > [role='treeitem'] {
48
- ${_cardColorStyle(color, tone.enabled)}
49
- }
50
-
51
- &[data-selected] > [role='treeitem'] {
52
- ${_cardColorStyle(color, tone.pressed)}
53
- }
54
-
55
- @media (hover: hover) {
56
- &:not([data-selected]) > [role='treeitem']:not(:focus):hover {
57
- ${_cardColorStyle(color, tone.hovered)}
58
- }
59
-
60
- & > [role='treeitem']:focus {
61
- ${_cardColorStyle(color, tone.selected)}
62
- }
63
- }
64
- }
65
-
66
- &[role='treeitem'] {
67
- & > [data-ui='TreeItem__box'] {
68
- ${_cardColorStyle(color, tone.enabled)}
69
- }
70
-
71
- &[data-selected] > [data-ui='TreeItem__box'] {
72
- ${_cardColorStyle(color, tone.pressed)}
73
- }
74
-
75
- @media (hover: hover) {
76
- &:not([data-selected]):not(:focus) > [data-ui='TreeItem__box']:hover {
77
- ${_cardColorStyle(color, tone.hovered)}
78
- }
79
-
80
- &:focus > [data-ui='TreeItem__box'] {
81
- ${_cardColorStyle(color, tone.selected)}
82
- }
83
- }
84
- }
85
- `
86
- }
87
-
88
- export interface TreeItemBoxStyleProps {
89
- $level: number
90
- }
91
-
92
- export function treeItemBoxStyle(
93
- props: TreeItemBoxStyleProps & ThemeProps,
94
- ): ReturnType<typeof css> {
95
- const {$level} = props
96
- const {space} = getTheme_v2(props.theme)
97
-
98
- return css`
99
- padding-left: ${rem(space[2] * $level)};
100
-
101
- &[data-as='a'] {
102
- text-decoration: none;
103
- }
104
- `
105
- }
@@ -1,60 +0,0 @@
1
- /** @vitest-environment jsdom */
2
-
3
- import {beforeEach, describe, expect, it, vi} from 'vitest'
4
-
5
- import {render} from '../../../../test'
6
- import {Stack} from '../../primitives'
7
- import {Tree} from './tree'
8
- import {TreeItem} from './treeItem'
9
-
10
- vi.mock('../../primitives', async (importOriginal) => {
11
- const actual = await importOriginal<typeof import('../../primitives')>()
12
-
13
- return {
14
- ...actual,
15
- // oxlint-disable-next-line no-unsafe-type-assertion
16
- Stack: vi.fn((props: Record<string, unknown>) => (actual.Stack as any).render(props, null)),
17
- }
18
- })
19
-
20
- describe('components/tree spacing', () => {
21
- const mockedStack = vi.mocked(Stack)
22
-
23
- beforeEach(() => {
24
- mockedStack.mockClear()
25
- })
26
-
27
- it('should support `space` and `gap` with the same behavior', () => {
28
- render(
29
- // oxlint-disable-next-line no-deprecated
30
- <Tree space={2}>
31
- <TreeItem text="Item 1" />
32
- </Tree>,
33
- )
34
- expect(mockedStack.mock.calls.map(([props]) => props)).toContainEqual(
35
- expect.objectContaining({gap: 2}),
36
- )
37
-
38
- mockedStack.mockClear()
39
- render(
40
- <Tree gap={2}>
41
- <TreeItem text="Item 1" />
42
- </Tree>,
43
- )
44
- expect(mockedStack.mock.calls.map(([props]) => props)).toContainEqual(
45
- expect.objectContaining({gap: 2}),
46
- )
47
- })
48
-
49
- it('should prefer `gap` over `space` when both are provided', () => {
50
- render(
51
- // oxlint-disable-next-line no-deprecated
52
- <Tree gap={3} space={1}>
53
- <TreeItem text="Item 1" />
54
- </Tree>,
55
- )
56
- const propsList = mockedStack.mock.calls.map(([props]) => props)
57
- expect(propsList).toContainEqual(expect.objectContaining({gap: 3}))
58
- expect(propsList).not.toContainEqual(expect.objectContaining({gap: 1}))
59
- })
60
- })