@sanity/ui 3.3.2 → 3.3.4

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 (437) hide show
  1. package/dist/index.d.mts +8 -8
  2. package/dist/index.d.mts.map +1 -1
  3. package/dist/index.d.ts +8 -8
  4. package/dist/index.d.ts.map +1 -1
  5. package/dist/index.js +16 -16
  6. package/dist/index.mjs +16 -16
  7. package/dist/index.mjs.map +1 -1
  8. package/dist/tabList.js +2 -2
  9. package/dist/tabList.mjs +2 -2
  10. package/dist/tabList.mjs.map +1 -1
  11. package/dist/useTheme.d.mts +3 -3
  12. package/dist/useTheme.d.mts.map +1 -1
  13. package/dist/useTheme.d.ts +3 -3
  14. package/dist/useTheme.d.ts.map +1 -1
  15. package/package.json +8 -13
  16. package/exports/_visual-editing.ts +0 -32
  17. package/exports/index.ts +0 -1
  18. package/exports/theme.ts +0 -1
  19. package/src/core/_compat.ts +0 -294
  20. package/src/core/components/autocomplete/autocomplete.styles.tsx +0 -39
  21. package/src/core/components/autocomplete/autocomplete.tsx +0 -775
  22. package/src/core/components/autocomplete/autocompleteOption.tsx +0 -46
  23. package/src/core/components/autocomplete/autocompleteReducer.ts +0 -47
  24. package/src/core/components/autocomplete/constants.ts +0 -28
  25. package/src/core/components/autocomplete/index.ts +0 -2
  26. package/src/core/components/autocomplete/types.ts +0 -108
  27. package/src/core/components/breadcrumbs/breadcrumbs.styles.ts +0 -18
  28. package/src/core/components/breadcrumbs/breadcrumbs.test.tsx +0 -54
  29. package/src/core/components/breadcrumbs/breadcrumbs.tsx +0 -136
  30. package/src/core/components/breadcrumbs/index.ts +0 -1
  31. package/src/core/components/dialog/dialog.tsx +0 -433
  32. package/src/core/components/dialog/dialogContext.ts +0 -20
  33. package/src/core/components/dialog/dialogProvider.tsx +0 -35
  34. package/src/core/components/dialog/index.ts +0 -4
  35. package/src/core/components/dialog/styles.ts +0 -77
  36. package/src/core/components/dialog/useDialog.ts +0 -11
  37. package/src/core/components/hotkeys/hotkeys.test.tsx +0 -47
  38. package/src/core/components/hotkeys/hotkeys.tsx +0 -68
  39. package/src/core/components/hotkeys/index.ts +0 -1
  40. package/src/core/components/index.ts +0 -9
  41. package/src/core/components/menu/helpers.ts +0 -82
  42. package/src/core/components/menu/index.ts +0 -5
  43. package/src/core/components/menu/menu.spacing.test.tsx +0 -68
  44. package/src/core/components/menu/menu.test.tsx +0 -128
  45. package/src/core/components/menu/menu.tsx +0 -180
  46. package/src/core/components/menu/menuButton.tsx +0 -276
  47. package/src/core/components/menu/menuContext.ts +0 -18
  48. package/src/core/components/menu/menuDivider.ts +0 -24
  49. package/src/core/components/menu/menuGroup.spacing.test.tsx +0 -66
  50. package/src/core/components/menu/menuGroup.tsx +0 -237
  51. package/src/core/components/menu/menuItem.spacing.test.tsx +0 -62
  52. package/src/core/components/menu/menuItem.tsx +0 -201
  53. package/src/core/components/menu/useMenu.ts +0 -21
  54. package/src/core/components/menu/useMenuController.ts +0 -233
  55. package/src/core/components/skeleton/index.ts +0 -2
  56. package/src/core/components/skeleton/skeleton.tsx +0 -58
  57. package/src/core/components/skeleton/styles.ts +0 -50
  58. package/src/core/components/skeleton/textSkeleton.tsx +0 -122
  59. package/src/core/components/tab/index.ts +0 -3
  60. package/src/core/components/tab/tab.tsx +0 -102
  61. package/src/core/components/tab/tabList.test.tsx +0 -50
  62. package/src/core/components/tab/tabList.tsx +0 -71
  63. package/src/core/components/tab/tabPanel.tsx +0 -39
  64. package/src/core/components/toast/index.ts +0 -4
  65. package/src/core/components/toast/styles.ts +0 -77
  66. package/src/core/components/toast/toast.test.tsx +0 -106
  67. package/src/core/components/toast/toast.tsx +0 -199
  68. package/src/core/components/toast/toastContext.ts +0 -7
  69. package/src/core/components/toast/toastLayer.tsx +0 -52
  70. package/src/core/components/toast/toastProvider.tsx +0 -113
  71. package/src/core/components/toast/toastState.ts +0 -6
  72. package/src/core/components/toast/types.ts +0 -26
  73. package/src/core/components/toast/useToast.ts +0 -25
  74. package/src/core/components/tree/helpers.ts +0 -105
  75. package/src/core/components/tree/index.ts +0 -4
  76. package/src/core/components/tree/style.ts +0 -105
  77. package/src/core/components/tree/tree.test.tsx +0 -60
  78. package/src/core/components/tree/tree.tsx +0 -242
  79. package/src/core/components/tree/treeContext.ts +0 -10
  80. package/src/core/components/tree/treeGroup.tsx +0 -29
  81. package/src/core/components/tree/treeItem.test.tsx +0 -70
  82. package/src/core/components/tree/treeItem.tsx +0 -225
  83. package/src/core/components/tree/types.ts +0 -25
  84. package/src/core/components/tree/useTree.ts +0 -17
  85. package/src/core/constants.ts +0 -79
  86. package/src/core/helpers/animation.ts +0 -27
  87. package/src/core/helpers/element.ts +0 -55
  88. package/src/core/helpers/focus.ts +0 -100
  89. package/src/core/helpers/index.ts +0 -4
  90. package/src/core/helpers/scroll.ts +0 -15
  91. package/src/core/hooks/index.ts +0 -13
  92. package/src/core/hooks/useArrayProp.ts +0 -17
  93. package/src/core/hooks/useClickOutside.test.tsx +0 -510
  94. package/src/core/hooks/useClickOutside.ts +0 -118
  95. package/src/core/hooks/useClickOutsideEvent.test.tsx +0 -119
  96. package/src/core/hooks/useClickOutsideEvent.ts +0 -73
  97. package/src/core/hooks/useCustomValidity.ts +0 -13
  98. package/src/core/hooks/useDelayed.test.ts +0 -89
  99. package/src/core/hooks/useDelayedState.ts +0 -36
  100. package/src/core/hooks/useElementRect/index.ts +0 -1
  101. package/src/core/hooks/useElementRect/useElementRect.ts +0 -14
  102. package/src/core/hooks/useElementSize.ts +0 -19
  103. package/src/core/hooks/useForwardedRef.ts +0 -20
  104. package/src/core/hooks/useGlobalKeyDown.ts +0 -24
  105. package/src/core/hooks/useIsomorphicEffect.ts +0 -7
  106. package/src/core/hooks/useMatchMedia.ts +0 -28
  107. package/src/core/hooks/useMediaIndex/index.ts +0 -1
  108. package/src/core/hooks/useMediaIndex/useMediaIndex.test.tsx +0 -37
  109. package/src/core/hooks/useMediaIndex/useMediaIndex.ts +0 -102
  110. package/src/core/hooks/useMounted.ts +0 -15
  111. package/src/core/hooks/usePrefersDark.hydration.test.tsx +0 -58
  112. package/src/core/hooks/usePrefersDark.test.tsx +0 -21
  113. package/src/core/hooks/usePrefersDark.ts +0 -16
  114. package/src/core/hooks/usePrefersReducedMotion.hydration.test.tsx +0 -58
  115. package/src/core/hooks/usePrefersReducedMotion.test.tsx +0 -21
  116. package/src/core/hooks/usePrefersReducedMotion.ts +0 -16
  117. package/src/core/index.ts +0 -10
  118. package/src/core/lib/createGlobalScopedContext.ts +0 -37
  119. package/src/core/lib/globalScope.ts +0 -20
  120. package/src/core/lib/isRecord.ts +0 -3
  121. package/src/core/middleware/origin.ts +0 -47
  122. package/src/core/observers/elementSizeObserver.ts +0 -117
  123. package/src/core/observers/index.ts +0 -2
  124. package/src/core/observers/resizeObserver.ts +0 -9
  125. package/src/core/primitives/_selectable/index.ts +0 -1
  126. package/src/core/primitives/_selectable/selectable.tsx +0 -15
  127. package/src/core/primitives/_selectable/style.ts +0 -115
  128. package/src/core/primitives/avatar/avatar.tsx +0 -200
  129. package/src/core/primitives/avatar/avatarCounter.tsx +0 -91
  130. package/src/core/primitives/avatar/avatarStack.tsx +0 -101
  131. package/src/core/primitives/avatar/index.ts +0 -4
  132. package/src/core/primitives/avatar/styles.ts +0 -167
  133. package/src/core/primitives/avatar/types.ts +0 -17
  134. package/src/core/primitives/badge/badge.test.tsx +0 -17
  135. package/src/core/primitives/badge/badge.tsx +0 -72
  136. package/src/core/primitives/badge/index.ts +0 -1
  137. package/src/core/primitives/badge/styles.ts +0 -20
  138. package/src/core/primitives/badge/types.ts +0 -8
  139. package/src/core/primitives/box/box.test.tsx +0 -155
  140. package/src/core/primitives/box/box.tsx +0 -162
  141. package/src/core/primitives/box/index.ts +0 -1
  142. package/src/core/primitives/button/button.test.tsx +0 -86
  143. package/src/core/primitives/button/button.tsx +0 -214
  144. package/src/core/primitives/button/index.ts +0 -1
  145. package/src/core/primitives/button/styles.ts +0 -118
  146. package/src/core/primitives/card/card.tsx +0 -125
  147. package/src/core/primitives/card/index.ts +0 -2
  148. package/src/core/primitives/card/styles.ts +0 -147
  149. package/src/core/primitives/card/types.ts +0 -12
  150. package/src/core/primitives/checkbox/checkbox.tsx +0 -73
  151. package/src/core/primitives/checkbox/index.ts +0 -1
  152. package/src/core/primitives/checkbox/styles.ts +0 -128
  153. package/src/core/primitives/code/code.tsx +0 -56
  154. package/src/core/primitives/code/index.ts +0 -1
  155. package/src/core/primitives/code/refractor.tsx +0 -22
  156. package/src/core/primitives/code/styles.ts +0 -77
  157. package/src/core/primitives/container/container.tsx +0 -55
  158. package/src/core/primitives/container/index.ts +0 -2
  159. package/src/core/primitives/container/styles.ts +0 -23
  160. package/src/core/primitives/container/types.ts +0 -6
  161. package/src/core/primitives/flex/flex.tsx +0 -63
  162. package/src/core/primitives/flex/index.ts +0 -1
  163. package/src/core/primitives/grid/grid.test.tsx +0 -86
  164. package/src/core/primitives/grid/grid.tsx +0 -77
  165. package/src/core/primitives/grid/index.ts +0 -1
  166. package/src/core/primitives/heading/heading.tsx +0 -89
  167. package/src/core/primitives/heading/index.ts +0 -1
  168. package/src/core/primitives/heading/styles.ts +0 -64
  169. package/src/core/primitives/heading/types.ts +0 -7
  170. package/src/core/primitives/index.ts +0 -27
  171. package/src/core/primitives/inline/index.ts +0 -1
  172. package/src/core/primitives/inline/inline.test.tsx +0 -55
  173. package/src/core/primitives/inline/inline.tsx +0 -66
  174. package/src/core/primitives/inline/styles.ts +0 -32
  175. package/src/core/primitives/inline/types.ts +0 -6
  176. package/src/core/primitives/kbd/index.ts +0 -1
  177. package/src/core/primitives/kbd/kbd.tsx +0 -73
  178. package/src/core/primitives/label/index.ts +0 -1
  179. package/src/core/primitives/label/label.tsx +0 -88
  180. package/src/core/primitives/label/styles.ts +0 -45
  181. package/src/core/primitives/popover/constants.ts +0 -22
  182. package/src/core/primitives/popover/floating-ui/size.ts +0 -99
  183. package/src/core/primitives/popover/helpers.ts +0 -31
  184. package/src/core/primitives/popover/index.ts +0 -2
  185. package/src/core/primitives/popover/popover.tsx +0 -512
  186. package/src/core/primitives/popover/popoverCard.tsx +0 -167
  187. package/src/core/primitives/popover/types.ts +0 -6
  188. package/src/core/primitives/radio/index.ts +0 -1
  189. package/src/core/primitives/radio/radio.tsx +0 -51
  190. package/src/core/primitives/radio/styles.ts +0 -117
  191. package/src/core/primitives/select/index.ts +0 -1
  192. package/src/core/primitives/select/select.test.tsx +0 -56
  193. package/src/core/primitives/select/select.tsx +0 -95
  194. package/src/core/primitives/select/styles.ts +0 -166
  195. package/src/core/primitives/spinner/index.ts +0 -1
  196. package/src/core/primitives/spinner/spinner.tsx +0 -46
  197. package/src/core/primitives/stack/index.ts +0 -1
  198. package/src/core/primitives/stack/stack.test.tsx +0 -61
  199. package/src/core/primitives/stack/stack.tsx +0 -59
  200. package/src/core/primitives/stack/styles.ts +0 -33
  201. package/src/core/primitives/switch/index.ts +0 -1
  202. package/src/core/primitives/switch/styles.ts +0 -173
  203. package/src/core/primitives/switch/switch.tsx +0 -68
  204. package/src/core/primitives/text/index.ts +0 -1
  205. package/src/core/primitives/text/styles.ts +0 -74
  206. package/src/core/primitives/text/text.tsx +0 -90
  207. package/src/core/primitives/textArea/index.ts +0 -1
  208. package/src/core/primitives/textArea/textArea.tsx +0 -120
  209. package/src/core/primitives/textInput/index.ts +0 -1
  210. package/src/core/primitives/textInput/textInput.test.tsx +0 -52
  211. package/src/core/primitives/textInput/textInput.tsx +0 -398
  212. package/src/core/primitives/tooltip/constants.ts +0 -23
  213. package/src/core/primitives/tooltip/index.ts +0 -2
  214. package/src/core/primitives/tooltip/tooltip.test.tsx +0 -485
  215. package/src/core/primitives/tooltip/tooltip.tsx +0 -497
  216. package/src/core/primitives/tooltip/tooltipCard.tsx +0 -110
  217. package/src/core/primitives/tooltip/tooltipDelayGroup/index.ts +0 -4
  218. package/src/core/primitives/tooltip/tooltipDelayGroup/tooltipDelayGroupContext.tsx +0 -11
  219. package/src/core/primitives/tooltip/tooltipDelayGroup/tooltipDelayGroupProvider.tsx +0 -57
  220. package/src/core/primitives/tooltip/tooltipDelayGroup/types.ts +0 -12
  221. package/src/core/primitives/tooltip/tooltipDelayGroup/useTooltipDelayGroup.ts +0 -13
  222. package/src/core/primitives/types.ts +0 -179
  223. package/src/core/styles/border/borderStyle.ts +0 -56
  224. package/src/core/styles/border/index.ts +0 -2
  225. package/src/core/styles/border/types.ts +0 -10
  226. package/src/core/styles/box/boxStyle.ts +0 -69
  227. package/src/core/styles/box/index.ts +0 -2
  228. package/src/core/styles/box/types.ts +0 -11
  229. package/src/core/styles/card/_cardColorStyle.ts +0 -108
  230. package/src/core/styles/card/index.ts +0 -1
  231. package/src/core/styles/flex/flexItemStyle.ts +0 -27
  232. package/src/core/styles/flex/flexStyle.ts +0 -70
  233. package/src/core/styles/flex/index.ts +0 -3
  234. package/src/core/styles/flex/types.ts +0 -24
  235. package/src/core/styles/focusRing/index.ts +0 -25
  236. package/src/core/styles/font/codeFontStyle.ts +0 -13
  237. package/src/core/styles/font/headingFontStyle.ts +0 -13
  238. package/src/core/styles/font/index.ts +0 -6
  239. package/src/core/styles/font/labelFontStyle.ts +0 -13
  240. package/src/core/styles/font/responsiveFont.ts +0 -100
  241. package/src/core/styles/font/textAlignStyle.ts +0 -19
  242. package/src/core/styles/font/textFontStyle.ts +0 -13
  243. package/src/core/styles/font/types.ts +0 -33
  244. package/src/core/styles/grid/gridItemStyle.ts +0 -82
  245. package/src/core/styles/grid/gridStyle.ts +0 -109
  246. package/src/core/styles/grid/index.ts +0 -3
  247. package/src/core/styles/grid/types.ts +0 -37
  248. package/src/core/styles/helpers.ts +0 -72
  249. package/src/core/styles/index.ts +0 -5
  250. package/src/core/styles/input/index.ts +0 -2
  251. package/src/core/styles/input/responsiveInputPaddingStyle.ts +0 -78
  252. package/src/core/styles/input/textInputStyle.ts +0 -263
  253. package/src/core/styles/internal.ts +0 -12
  254. package/src/core/styles/margin/index.ts +0 -2
  255. package/src/core/styles/margin/marginStyle.ts +0 -22
  256. package/src/core/styles/margin/marginsStyle.test.ts +0 -34
  257. package/src/core/styles/margin/types.ts +0 -9
  258. package/src/core/styles/padding/index.ts +0 -2
  259. package/src/core/styles/padding/paddingStyle.test.ts +0 -34
  260. package/src/core/styles/padding/paddingStyle.ts +0 -22
  261. package/src/core/styles/padding/types.ts +0 -12
  262. package/src/core/styles/radius/index.ts +0 -2
  263. package/src/core/styles/radius/radiusStyle.ts +0 -23
  264. package/src/core/styles/radius/types.ts +0 -8
  265. package/src/core/styles/shadow/index.ts +0 -2
  266. package/src/core/styles/shadow/shadowStyle.ts +0 -29
  267. package/src/core/styles/shadow/types.ts +0 -6
  268. package/src/core/styles/types.ts +0 -8
  269. package/src/core/theme/index.ts +0 -5
  270. package/src/core/theme/theme.test.tsx +0 -77
  271. package/src/core/theme/themeColorProvider.tsx +0 -29
  272. package/src/core/theme/themeContext.ts +0 -10
  273. package/src/core/theme/themeProvider.tsx +0 -62
  274. package/src/core/theme/types.ts +0 -12
  275. package/src/core/theme/useRootTheme.ts +0 -18
  276. package/src/core/theme/useTheme.ts +0 -18
  277. package/src/core/types/avatar.ts +0 -14
  278. package/src/core/types/badge.ts +0 -12
  279. package/src/core/types/box.ts +0 -19
  280. package/src/core/types/button.ts +0 -21
  281. package/src/core/types/card.ts +0 -6
  282. package/src/core/types/component.ts +0 -32
  283. package/src/core/types/dialog.ts +0 -4
  284. package/src/core/types/flex.ts +0 -30
  285. package/src/core/types/grid.ts +0 -14
  286. package/src/core/types/gridItem.ts +0 -29
  287. package/src/core/types/index.ts +0 -15
  288. package/src/core/types/placement.ts +0 -18
  289. package/src/core/types/popover.ts +0 -4
  290. package/src/core/types/radius.ts +0 -4
  291. package/src/core/types/selectable.ts +0 -6
  292. package/src/core/types/text.ts +0 -4
  293. package/src/core/utils/arrow/arrow.tsx +0 -124
  294. package/src/core/utils/arrow/cmds.ts +0 -91
  295. package/src/core/utils/arrow/index.ts +0 -1
  296. package/src/core/utils/boundaryElement/boundaryElement.test.tsx +0 -105
  297. package/src/core/utils/boundaryElement/boundaryElementContext.ts +0 -7
  298. package/src/core/utils/boundaryElement/boundaryElementProvider.tsx +0 -24
  299. package/src/core/utils/boundaryElement/index.ts +0 -3
  300. package/src/core/utils/boundaryElement/types.ts +0 -7
  301. package/src/core/utils/boundaryElement/useBoundaryElement.ts +0 -26
  302. package/src/core/utils/conditionalWrapper/conditionalWrapper.tsx +0 -22
  303. package/src/core/utils/conditionalWrapper/index.ts +0 -1
  304. package/src/core/utils/elementQuery/elementQuery.tsx +0 -53
  305. package/src/core/utils/elementQuery/helpers.ts +0 -27
  306. package/src/core/utils/elementQuery/index.ts +0 -1
  307. package/src/core/utils/errorBoundary.tsx +0 -48
  308. package/src/core/utils/getElementRef.ts +0 -31
  309. package/src/core/utils/index.ts +0 -9
  310. package/src/core/utils/layer/getLayerContext.test.ts +0 -32
  311. package/src/core/utils/layer/getLayerContext.ts +0 -21
  312. package/src/core/utils/layer/index.ts +0 -4
  313. package/src/core/utils/layer/layer.test.tsx +0 -113
  314. package/src/core/utils/layer/layer.tsx +0 -99
  315. package/src/core/utils/layer/layerContext.ts +0 -7
  316. package/src/core/utils/layer/layerProvider.tsx +0 -111
  317. package/src/core/utils/layer/types.ts +0 -9
  318. package/src/core/utils/layer/useLayer.ts +0 -28
  319. package/src/core/utils/portal/index.ts +0 -4
  320. package/src/core/utils/portal/portal.test.tsx +0 -108
  321. package/src/core/utils/portal/portal.ts +0 -32
  322. package/src/core/utils/portal/portalContext.ts +0 -31
  323. package/src/core/utils/portal/portalProvider.tsx +0 -48
  324. package/src/core/utils/portal/types.ts +0 -9
  325. package/src/core/utils/portal/usePortal.ts +0 -25
  326. package/src/core/utils/spanWithTextOverflow.tsx +0 -10
  327. package/src/core/utils/srOnly/index.ts +0 -1
  328. package/src/core/utils/srOnly/srOnly.tsx +0 -36
  329. package/src/core/utils/virtualList/index.ts +0 -1
  330. package/src/core/utils/virtualList/virtualList.tsx +0 -201
  331. package/src/theme/build/_deprecated/color/_selectable/createSelectableTones.ts +0 -86
  332. package/src/theme/build/_deprecated/color/_solid/createSolidTones.ts +0 -58
  333. package/src/theme/build/_deprecated/color/button/createButtonModes.ts +0 -27
  334. package/src/theme/build/_deprecated/color/button/createButtonTones.ts +0 -60
  335. package/src/theme/build/_deprecated/color/card/createCardStates.ts +0 -66
  336. package/src/theme/build/_deprecated/color/color.test.ts +0 -67
  337. package/src/theme/build/_deprecated/color/defaults.ts +0 -391
  338. package/src/theme/build/_deprecated/color/factory.ts +0 -178
  339. package/src/theme/build/_deprecated/color/index.ts +0 -1
  340. package/src/theme/build/_deprecated/color/input/createInputModes.ts +0 -86
  341. package/src/theme/build/_deprecated/color/muted/createMuted.ts +0 -58
  342. package/src/theme/build/_deprecated/color/spot/createSpot.ts +0 -23
  343. package/src/theme/build/buildColorTheme.test.ts +0 -185
  344. package/src/theme/build/buildColorTheme.ts +0 -507
  345. package/src/theme/build/buildTheme.test.ts +0 -89
  346. package/src/theme/build/buildTheme.ts +0 -36
  347. package/src/theme/build/colorToken/colorToken.ts +0 -19
  348. package/src/theme/build/colorToken/compileColorToken.ts +0 -21
  349. package/src/theme/build/colorToken/index.ts +0 -2
  350. package/src/theme/build/colorToken/types.ts +0 -6
  351. package/src/theme/build/index.ts +0 -3
  352. package/src/theme/build/lib/color-fns/blend/index.ts +0 -3
  353. package/src/theme/build/lib/color-fns/blend/mix.ts +0 -21
  354. package/src/theme/build/lib/color-fns/blend/multiply.ts +0 -18
  355. package/src/theme/build/lib/color-fns/blend/screen.ts +0 -18
  356. package/src/theme/build/lib/color-fns/color-fns.test.ts +0 -70
  357. package/src/theme/build/lib/color-fns/contrastRatio.ts +0 -31
  358. package/src/theme/build/lib/color-fns/convert.ts +0 -150
  359. package/src/theme/build/lib/color-fns/index.ts +0 -6
  360. package/src/theme/build/lib/color-fns/parse.ts +0 -60
  361. package/src/theme/build/lib/color-fns/rgba.ts +0 -10
  362. package/src/theme/build/lib/color-fns/types.ts +0 -28
  363. package/src/theme/build/lib/isRecord.ts +0 -3
  364. package/src/theme/build/lib/lazy.ts +0 -30
  365. package/src/theme/build/lib/utils.ts +0 -19
  366. package/src/theme/build/merge.ts +0 -31
  367. package/src/theme/build/mixThemeColor.test.ts +0 -23
  368. package/src/theme/build/mixThemeColor.ts +0 -53
  369. package/src/theme/build/renderColorTheme.ts +0 -538
  370. package/src/theme/build/renderColorValue.ts +0 -83
  371. package/src/theme/build/resolveColorTokens.ts +0 -274
  372. package/src/theme/build/theme.test.ts +0 -29
  373. package/src/theme/config/helpers.ts +0 -60
  374. package/src/theme/config/index.ts +0 -4
  375. package/src/theme/config/system.ts +0 -117
  376. package/src/theme/config/tokens/color/index.ts +0 -1
  377. package/src/theme/config/tokens/color/types.ts +0 -135
  378. package/src/theme/config/tokens/index.ts +0 -4
  379. package/src/theme/config/tokens/parseTokenKey.test.ts +0 -66
  380. package/src/theme/config/tokens/parseTokenKey.ts +0 -67
  381. package/src/theme/config/tokens/parseTokenValue.test.ts +0 -44
  382. package/src/theme/config/tokens/parseTokenValue.ts +0 -134
  383. package/src/theme/config/tokens/types.ts +0 -53
  384. package/src/theme/config/types.ts +0 -46
  385. package/src/theme/defaults/colorPalette.ts +0 -5
  386. package/src/theme/defaults/colorTokens.ts +0 -648
  387. package/src/theme/defaults/config.ts +0 -84
  388. package/src/theme/defaults/fonts.ts +0 -227
  389. package/src/theme/getScopedTheme.ts +0 -103
  390. package/src/theme/index.ts +0 -5
  391. package/src/theme/system/avatar.ts +0 -14
  392. package/src/theme/system/color/_constants.ts +0 -45
  393. package/src/theme/system/color/_helpers.ts +0 -28
  394. package/src/theme/system/color/_system.ts +0 -40
  395. package/src/theme/system/color/avatar.ts +0 -15
  396. package/src/theme/system/color/badge.ts +0 -16
  397. package/src/theme/system/color/button.ts +0 -17
  398. package/src/theme/system/color/color.ts +0 -34
  399. package/src/theme/system/color/index.ts +0 -13
  400. package/src/theme/system/color/input.ts +0 -25
  401. package/src/theme/system/color/kbd.ts +0 -8
  402. package/src/theme/system/color/selectable.ts +0 -12
  403. package/src/theme/system/color/shadow.ts +0 -7
  404. package/src/theme/system/color/state.ts +0 -43
  405. package/src/theme/system/color/syntax.ts +0 -41
  406. package/src/theme/system/css.ts +0 -14
  407. package/src/theme/system/focusRing.ts +0 -7
  408. package/src/theme/system/font.ts +0 -52
  409. package/src/theme/system/index.ts +0 -11
  410. package/src/theme/system/input.ts +0 -33
  411. package/src/theme/system/layer.ts +0 -8
  412. package/src/theme/system/shadow.ts +0 -19
  413. package/src/theme/system/styles.ts +0 -13
  414. package/src/theme/system/theme.ts +0 -142
  415. package/src/theme/system/v0/avatar.ts +0 -10
  416. package/src/theme/system/v0/color/_generic.ts +0 -35
  417. package/src/theme/system/v0/color/_system.ts +0 -18
  418. package/src/theme/system/v0/color/base.ts +0 -21
  419. package/src/theme/system/v0/color/button.ts +0 -56
  420. package/src/theme/system/v0/color/card.ts +0 -25
  421. package/src/theme/system/v0/color/color.ts +0 -51
  422. package/src/theme/system/v0/color/index.ts +0 -11
  423. package/src/theme/system/v0/color/input.ts +0 -40
  424. package/src/theme/system/v0/color/muted.ts +0 -37
  425. package/src/theme/system/v0/color/selectable.ts +0 -42
  426. package/src/theme/system/v0/color/solid.ts +0 -37
  427. package/src/theme/system/v0/color/spot.ts +0 -14
  428. package/src/theme/system/v0/index.ts +0 -3
  429. package/src/theme/system/v0/input.ts +0 -23
  430. package/src/theme/versioning/getTheme_v2.ts +0 -72
  431. package/src/theme/versioning/index.ts +0 -5
  432. package/src/theme/versioning/is_v0.ts +0 -6
  433. package/src/theme/versioning/is_v2.ts +0 -6
  434. package/src/theme/versioning/themeColor_v0_v2.ts +0 -250
  435. package/src/theme/versioning/themeColor_v2_v2_9.ts +0 -50
  436. package/src/theme/versioning/v0_v2.ts +0 -106
  437. package/src/theme/versioning/v2_v0.ts +0 -153
@@ -1,242 +0,0 @@
1
- import {
2
- forwardRef,
3
- useCallback,
4
- useEffect,
5
- useImperativeHandle,
6
- useMemo,
7
- useRef,
8
- useState,
9
- } from 'react'
10
-
11
- import {Stack} from '../../primitives'
12
- import {_findNextItemElement, _findPrevItemElement, _focusItemElement} from './helpers'
13
- import {TreeContext} from './treeContext'
14
- import {TreeContextValue, TreeState} from './types'
15
-
16
- /**
17
- * This API might change. DO NOT USE IN PRODUCTION.
18
- * @beta
19
- */
20
- export interface TreeProps {
21
- gap?: number | number[]
22
- /**
23
- * @deprecated Use `gap` instead. `space` will be removed in v4.
24
- */
25
- space?: number | number[]
26
- }
27
-
28
- /**
29
- * This API might change. DO NOT USE IN PRODUCTION.
30
- * @beta
31
- */
32
- export const Tree = forwardRef(function Tree(
33
- props: TreeProps &
34
- Omit<React.HTMLProps<HTMLUListElement>, 'align' | 'as' | 'height' | 'ref' | 'role' | 'wrap'>,
35
- forwardedRef: React.ForwardedRef<HTMLUListElement>,
36
- ): React.JSX.Element {
37
- // oxlint-disable-next-line no-deprecated
38
- const {children, gap, space: deprecated_space = 1, onFocus, ...restProps} = props
39
- const spacing = gap === undefined ? deprecated_space : gap
40
- const ref = useRef<HTMLUListElement | null>(null)
41
- const [focusedElement, setFocusedElement] = useState<HTMLElement | null>(null)
42
- const focusedElementRef = useRef(focusedElement)
43
- const path: string[] = useMemo(() => [], [])
44
- const [itemElements, setItemElements] = useState<HTMLElement[]>([])
45
- const [state, setState] = useState<TreeState>({})
46
- const stateRef = useRef(state)
47
-
48
- useImperativeHandle<HTMLUListElement | null, HTMLUListElement | null>(
49
- forwardedRef,
50
- () => ref.current,
51
- )
52
-
53
- useEffect(() => {
54
- focusedElementRef.current = focusedElement
55
- }, [focusedElement])
56
-
57
- useEffect(() => {
58
- stateRef.current = state
59
- }, [state])
60
-
61
- const registerItem = useCallback(
62
- (element: HTMLElement, path: string, expanded: boolean, selected: boolean) => {
63
- setState((s) => ({...s, [path]: {element, expanded}}))
64
-
65
- if (selected) {
66
- setFocusedElement(element)
67
- }
68
-
69
- return () => {
70
- setState((s) => {
71
- const newState = {...s}
72
-
73
- delete newState[path]
74
-
75
- return newState
76
- })
77
- }
78
- },
79
- [],
80
- )
81
-
82
- const setExpanded = useCallback((path: string, expanded: boolean) => {
83
- setState((s) => {
84
- const itemState = s[path]
85
-
86
- if (!itemState) return s
87
-
88
- return {...s, [path]: {...itemState, expanded}}
89
- })
90
- }, [])
91
-
92
- const contextValue: TreeContextValue = useMemo(
93
- () => ({
94
- version: 0.0,
95
- focusedElement: focusedElement || itemElements[0] || null,
96
- level: 0,
97
- path,
98
- registerItem,
99
- setExpanded,
100
- setFocusedElement,
101
- gap: spacing,
102
- space: spacing,
103
- state,
104
- }),
105
- [focusedElement, itemElements, path, registerItem, setExpanded, spacing, state],
106
- )
107
-
108
- const handleKeyDown = useCallback(
109
- (event: React.KeyboardEvent<HTMLUListElement>) => {
110
- if (!focusedElementRef.current) return
111
-
112
- if (event.key === 'ArrowDown') {
113
- event.preventDefault()
114
-
115
- const nextEl = _findNextItemElement(
116
- stateRef.current,
117
- itemElements,
118
- focusedElementRef.current,
119
- )
120
-
121
- if (nextEl) {
122
- _focusItemElement(nextEl)
123
- setFocusedElement(nextEl)
124
- }
125
-
126
- return
127
- }
128
-
129
- if (event.key === 'ArrowUp') {
130
- event.preventDefault()
131
-
132
- const prevEl = _findPrevItemElement(
133
- stateRef.current,
134
- itemElements,
135
- focusedElementRef.current,
136
- )
137
-
138
- if (prevEl) {
139
- _focusItemElement(prevEl)
140
- setFocusedElement(prevEl)
141
- }
142
-
143
- return
144
- }
145
-
146
- if (event.key === 'ArrowLeft') {
147
- event.preventDefault()
148
-
149
- const itemKey = focusedElementRef.current.getAttribute('data-tree-key')
150
-
151
- if (!itemKey) return
152
-
153
- const itemState = stateRef.current[itemKey]
154
-
155
- if (!itemState) return
156
-
157
- if (itemState.expanded) {
158
- setState((s) => {
159
- const itemState = s[itemKey]
160
-
161
- if (!itemState) return s
162
-
163
- return {...s, [itemKey]: {...itemState, expanded: false}}
164
- })
165
- } else {
166
- const itemPath = itemKey.split('/')
167
-
168
- itemPath.pop()
169
-
170
- const parentKey = itemPath.join('/')
171
- const parentState = parentKey && stateRef.current[parentKey]
172
-
173
- if (parentState) {
174
- parentState.element.focus()
175
- setFocusedElement(parentState.element)
176
- }
177
- }
178
-
179
- return
180
- }
181
-
182
- if (event.key === 'ArrowRight') {
183
- event.preventDefault()
184
-
185
- const focusedKey = focusedElementRef.current.getAttribute('data-tree-key')
186
-
187
- if (!focusedKey) return
188
-
189
- if (!stateRef.current[focusedKey]?.expanded) {
190
- setState((s) => {
191
- const itemState = s[focusedKey]
192
-
193
- if (!itemState) return s
194
-
195
- return {...s, [focusedKey]: {...itemState, expanded: true}}
196
- })
197
- }
198
-
199
- return
200
- }
201
- },
202
- [itemElements],
203
- )
204
-
205
- const handleFocus = useCallback(
206
- (event: React.FocusEvent<HTMLUListElement>) => {
207
- setFocusedElement(event.target)
208
-
209
- // Call the element's `focus` handler
210
- onFocus?.(event)
211
- },
212
- [onFocus],
213
- )
214
-
215
- useEffect(() => {
216
- if (!ref.current) return
217
- const _itemElements = Array.from(
218
- ref.current.querySelectorAll('[data-ui="TreeItem"]'),
219
- ) as HTMLElement[]
220
-
221
- setItemElements(_itemElements)
222
- }, [children])
223
-
224
- return (
225
- <TreeContext.Provider value={contextValue}>
226
- {/* oxlint-disable-next-line interactive-supports-focus */}
227
- <Stack
228
- as="ul"
229
- data-ui="Tree"
230
- {...restProps}
231
- onFocus={handleFocus}
232
- onKeyDown={handleKeyDown}
233
- ref={ref}
234
- role="tree"
235
- gap={spacing}
236
- >
237
- {children}
238
- </Stack>
239
- </TreeContext.Provider>
240
- )
241
- })
242
- Tree.displayName = 'ForwardRef(Tree)'
@@ -1,10 +0,0 @@
1
- import {createGlobalScopedContext} from '../../lib/createGlobalScopedContext'
2
- import {TreeContextValue} from './types'
3
-
4
- /**
5
- * @internal
6
- */
7
- export const TreeContext = createGlobalScopedContext<TreeContextValue | null>(
8
- '@sanity/ui/context/tree',
9
- null,
10
- )
@@ -1,29 +0,0 @@
1
- import {Stack} from '../../primitives'
2
- import {useTree} from './useTree'
3
-
4
- export interface TreeGroupProps {
5
- expanded?: boolean
6
- }
7
-
8
- export function TreeGroup(
9
- props: TreeGroupProps &
10
- Omit<React.HTMLProps<HTMLUListElement>, 'as' | 'height' | 'ref' | 'role' | 'wrap'>,
11
- ): React.JSX.Element {
12
- const {children, expanded = false, ...restProps} = props
13
- const tree = useTree()
14
-
15
- return (
16
- <Stack
17
- as="ul"
18
- data-ui="TreeGroup"
19
- {...restProps}
20
- hidden={!expanded}
21
- marginTop={tree.gap}
22
- // oxlint-disable-next-line prefer-tag-over-role
23
- role="group"
24
- gap={tree.gap}
25
- >
26
- {children}
27
- </Stack>
28
- )
29
- }
@@ -1,70 +0,0 @@
1
- /** @vitest-environment jsdom */
2
-
3
- import {beforeEach, describe, expect, it, vi} from 'vitest'
4
-
5
- import {render} from '../../../../test'
6
- import {Box} from '../../primitives'
7
- import {TreeContext} from './treeContext'
8
- import {TreeItem} from './treeItem'
9
- import {TreeContextValue, TreeState} from './types'
10
-
11
- vi.mock('../../primitives', async (importOriginal) => {
12
- const actual = await importOriginal<typeof import('../../primitives')>()
13
-
14
- return {
15
- ...actual,
16
- // oxlint-disable-next-line no-unsafe-type-assertion
17
- Box: vi.fn((props: Record<string, unknown>) => (actual.Box as any).render(props, null)),
18
- }
19
- })
20
-
21
- const treeContextValue: TreeContextValue = {
22
- version: 0.0,
23
- focusedElement: null,
24
- gap: 1,
25
- level: 0,
26
- path: [],
27
- registerItem: () => () => undefined,
28
- setExpanded: () => undefined,
29
- setFocusedElement: () => undefined,
30
- // oxlint-disable-next-line no-deprecated
31
- space: 1,
32
- // oxlint-disable-next-line no-unnecessary-type-assertion
33
- state: {} as TreeState,
34
- }
35
-
36
- function renderTreeItem(props: Partial<React.ComponentProps<typeof TreeItem>> = {}) {
37
- return render(
38
- <TreeContext.Provider value={treeContextValue}>
39
- <TreeItem text="Item" {...props} />
40
- </TreeContext.Provider>,
41
- )
42
- }
43
-
44
- describe('components/treeItem spacing', () => {
45
- const mockedBox = vi.mocked(Box)
46
-
47
- beforeEach(() => {
48
- mockedBox.mockClear()
49
- })
50
-
51
- it('should support `space` and `gap` with the same behavior', () => {
52
- renderTreeItem({space: 2})
53
- expect(mockedBox.mock.calls.map(([props]) => props)).toContainEqual(
54
- expect.objectContaining({marginRight: 2}),
55
- )
56
-
57
- mockedBox.mockClear()
58
- renderTreeItem({gap: 2})
59
- expect(mockedBox.mock.calls.map(([props]) => props)).toContainEqual(
60
- expect.objectContaining({marginRight: 2}),
61
- )
62
- })
63
-
64
- it('should prefer `gap` over `space` when both are provided', () => {
65
- renderTreeItem({gap: 3, space: 1})
66
- const propsList = mockedBox.mock.calls.map(([props]) => props)
67
- expect(propsList).toContainEqual(expect.objectContaining({marginRight: 3}))
68
- expect(propsList).not.toContainEqual(expect.objectContaining({marginRight: 1}))
69
- })
70
- })
@@ -1,225 +0,0 @@
1
- import {ToggleArrowRightIcon} from '@sanity/icons'
2
- import {ThemeFontWeightKey} from '@sanity/ui/theme'
3
- import {startTransition, useCallback, useEffect, useId, useMemo, useRef, useState} from 'react'
4
- import {styled} from 'styled-components'
5
-
6
- import {Box, Flex, Text} from '../../primitives'
7
- import {ElementType} from '../../types'
8
- import {
9
- treeItemBoxStyle,
10
- TreeItemBoxStyleProps,
11
- treeItemRootColorStyle,
12
- treeItemRootStyle,
13
- } from './style'
14
- import {TreeContext} from './treeContext'
15
- import {TreeGroup} from './treeGroup'
16
- import {useTree} from './useTree'
17
-
18
- /**
19
- * @beta
20
- */
21
- export interface TreeItemProps {
22
- expanded?: boolean
23
- fontSize?: number | number[]
24
- icon?: React.ElementType
25
- /**
26
- * Allows passing a custom element type to the link component
27
- */
28
- linkAs?: ElementType
29
- padding?: number | number[]
30
- gap?: number | number[]
31
- /**
32
- * @deprecated Use `gap` instead. `space` will be removed in v4.
33
- */
34
- space?: number | number[]
35
- text?: React.ReactNode
36
- weight?: ThemeFontWeightKey
37
- }
38
-
39
- const StyledTreeItem = styled.li(treeItemRootStyle, treeItemRootColorStyle)
40
-
41
- const TreeItemBox = styled(Box).attrs({forwardedAs: 'a'})<TreeItemBoxStyleProps>(treeItemBoxStyle)
42
-
43
- const ToggleArrowText = styled(Text)`
44
- & > svg {
45
- transition: transform 100ms;
46
- }
47
- `
48
-
49
- /**
50
- * This API might change. DO NOT USE IN PRODUCTION.
51
- * @beta
52
- */
53
- export function TreeItem(
54
- props: TreeItemProps & Omit<React.HTMLProps<HTMLLIElement>, 'as' | 'ref' | 'role'>,
55
- ): React.JSX.Element {
56
- const {
57
- children,
58
- expanded: expandedProp = false,
59
- fontSize = 1,
60
- href,
61
- icon: IconComponent,
62
- id: idProp,
63
- linkAs,
64
- muted,
65
- onClick,
66
- padding = 2,
67
- selected = false,
68
- gap,
69
- // oxlint-disable-next-line no-deprecated
70
- space: deprecated_space = 2,
71
- text,
72
- weight,
73
- ...restProps
74
- } = props
75
- const spacing = gap === undefined ? deprecated_space : gap
76
- const [rootElement, _setRootElement] = useState<HTMLLIElement | null>(null)
77
- /**
78
- * The startTransition wrapper here is to avoid an issue when on React 18 where this error can happen:
79
- * >Maximum update depth exceeded. This can happen when a component repeatedly calls setState inside componentWillUpdate or componentDidUpdate. React limits the number of nested updates to prevent infinite loops.
80
- * This doesn't happen on React 19 due to automatic batching of all state updates, the startTransition wrapper here gives a type of batching for 18 users in a way that still works with 19.
81
- * NOTE: The startTransition wrapper is not needed in UI v4, since the baseline there is React 19.
82
- */
83
- const setRootElement = useCallback((node: HTMLLIElement | null) => {
84
- startTransition(() => _setRootElement(node))
85
- }, [])
86
-
87
- const treeitemRef = useRef<HTMLDivElement | null>(null)
88
- const tree = useTree()
89
- const {path, registerItem, setExpanded, setFocusedElement} = tree
90
- const _id = useId()
91
- const id = idProp || _id
92
- const [itemPath, itemKey] = useMemo(() => {
93
- const itemPath = path.concat([id || ''])
94
- return [itemPath, itemPath.join('/')]
95
- }, [id, path])
96
- const itemState = tree.state[itemKey]
97
- const focused = tree.focusedElement === rootElement
98
- const expanded = itemState?.expanded === undefined ? expandedProp : itemState?.expanded || false
99
- const tabIndex = tree.focusedElement && tree.focusedElement === rootElement ? 0 : -1
100
- const contextValue = useMemo(
101
- () => ({...tree, level: tree.level + 1, path: itemPath}),
102
- [itemPath, tree],
103
- )
104
-
105
- const handleClick = useCallback(
106
- (event: React.MouseEvent<HTMLLIElement>) => {
107
- if (onClick) onClick(event)
108
-
109
- const target = event.target
110
-
111
- if (
112
- target instanceof HTMLElement &&
113
- (target.getAttribute('data-ui') === 'TreeItem' ||
114
- target.closest('[data-ui="TreeItem__box"]'))
115
- ) {
116
- event.stopPropagation()
117
- setExpanded(itemKey, !expanded)
118
- setFocusedElement(rootElement)
119
- }
120
- },
121
- [expanded, itemKey, onClick, rootElement, setExpanded, setFocusedElement],
122
- )
123
-
124
- const handleKeyDown = useCallback(
125
- (event: React.KeyboardEvent<HTMLElement>) => {
126
- if (focused && event.key === 'Enter') {
127
- const el = treeitemRef.current || rootElement
128
-
129
- el?.click()
130
- }
131
- },
132
- [focused, rootElement],
133
- )
134
-
135
- useEffect(() => {
136
- if (!rootElement) return
137
-
138
- return registerItem(rootElement, itemKey, expanded, selected)
139
- }, [expanded, itemKey, registerItem, rootElement, selected])
140
-
141
- const content = (
142
- <Flex padding={padding}>
143
- <Box
144
- marginRight={spacing}
145
- style={{
146
- visibility: IconComponent || children ? 'visible' : 'hidden',
147
- pointerEvents: 'none',
148
- }}
149
- >
150
- {IconComponent && (
151
- <Text muted={muted} size={fontSize} weight={weight}>
152
- <IconComponent />
153
- </Text>
154
- )}
155
- {!IconComponent && (
156
- <ToggleArrowText muted={muted} size={fontSize} weight={weight}>
157
- <ToggleArrowRightIcon style={{transform: expanded ? 'rotate(90deg)' : undefined}} />
158
- </ToggleArrowText>
159
- )}
160
- </Box>
161
- <Box flex={1}>
162
- <Text muted={muted} size={fontSize} textOverflow="ellipsis" weight={weight}>
163
- {text}
164
- </Text>
165
- </Box>
166
- </Flex>
167
- )
168
-
169
- if (href) {
170
- return (
171
- <StyledTreeItem
172
- data-selected={selected ? '' : undefined}
173
- data-tree-id={id}
174
- data-tree-key={itemKey}
175
- data-ui="TreeItem"
176
- {...restProps}
177
- onClick={handleClick}
178
- ref={setRootElement}
179
- role="none"
180
- >
181
- <TreeItemBox
182
- $level={tree.level}
183
- aria-expanded={expanded}
184
- as={linkAs}
185
- data-ui="TreeItem__box"
186
- href={href}
187
- ref={treeitemRef}
188
- role="treeitem"
189
- tabIndex={tabIndex}
190
- >
191
- {content}
192
- </TreeItemBox>
193
-
194
- <TreeContext.Provider value={contextValue}>
195
- {children && <TreeGroup hidden={!expanded}>{children}</TreeGroup>}
196
- </TreeContext.Provider>
197
- </StyledTreeItem>
198
- )
199
- }
200
-
201
- return (
202
- <StyledTreeItem
203
- data-selected={selected ? '' : undefined}
204
- data-ui="TreeItem"
205
- data-tree-id={id}
206
- data-tree-key={itemKey}
207
- {...restProps}
208
- aria-expanded={expanded}
209
- onClick={handleClick}
210
- onKeyDown={handleKeyDown}
211
- ref={setRootElement}
212
- role="treeitem"
213
- tabIndex={tabIndex}
214
- >
215
- <TreeItemBox $level={tree.level} as="div" data-ui="TreeItem__box">
216
- {content}
217
- </TreeItemBox>
218
-
219
- <TreeContext.Provider value={contextValue}>
220
- {children && <TreeGroup expanded={expanded}>{children}</TreeGroup>}
221
- </TreeContext.Provider>
222
- </StyledTreeItem>
223
- )
224
- }
225
- TreeItem.displayName = 'TreeItem'
@@ -1,25 +0,0 @@
1
- /**
2
- * @beta
3
- */
4
- export interface TreeState {
5
- [key: string]: {element: HTMLElement; expanded: boolean} | undefined
6
- }
7
-
8
- /**
9
- * @beta
10
- */
11
- export interface TreeContextValue {
12
- version: 0.0
13
- focusedElement: HTMLElement | null
14
- level: number
15
- path: string[]
16
- registerItem: (element: HTMLElement, path: string, expanded: boolean, selected: boolean) => void
17
- setExpanded: (path: string, expanded: boolean) => void
18
- setFocusedElement: (focusedElement: HTMLElement | null) => void
19
- gap: number | number[]
20
- /**
21
- * @deprecated Use `gap` instead. `space` will be removed in v4.
22
- */
23
- space: number | number[]
24
- state: TreeState
25
- }
@@ -1,17 +0,0 @@
1
- import {useContext} from 'react'
2
-
3
- import {TreeContext} from './treeContext'
4
- import {TreeContextValue} from './types'
5
-
6
- /**
7
- * @beta
8
- */
9
- export function useTree(): TreeContextValue {
10
- const tree = useContext(TreeContext)
11
-
12
- if (!tree) {
13
- throw new Error('Tree: missing context value')
14
- }
15
-
16
- return tree
17
- }
@@ -1,79 +0,0 @@
1
- import type {Transition, Variant} from 'motion/react'
2
-
3
- /**
4
- * @internal
5
- */
6
- export const EMPTY_ARRAY: never[] = []
7
-
8
- /**
9
- * @internal
10
- */
11
- export const EMPTY_RECORD: Record<string, never> = {}
12
-
13
- const POPOVER_MOTION_DURATION = 0.2
14
-
15
- /**
16
- * Shared `framer-motion` variants used by `Popover` and `Tooltip` components.
17
- * @internal
18
- */
19
- export const POPOVER_MOTION_PROPS: {
20
- card: {
21
- initial: Variant
22
- hidden: Variant
23
- visible: Variant
24
- scaleIn: Variant
25
- scaleOut: Variant
26
- }
27
- children: {
28
- hidden: Variant
29
- visible: Variant
30
- }
31
- transition: Transition
32
- } = {
33
- card: {
34
- initial: {
35
- scale: 0.97,
36
- willChange: 'transform',
37
- },
38
- hidden: {
39
- opacity: 0,
40
- },
41
- visible: {
42
- opacity: 1,
43
- transition: {
44
- when: 'beforeChildren',
45
- duration: POPOVER_MOTION_DURATION / 2,
46
- },
47
- },
48
- scaleIn: {
49
- scale: 1,
50
- },
51
- scaleOut: {
52
- scale: 0.97,
53
- },
54
- },
55
- children: {
56
- hidden: {
57
- opacity: 0,
58
- },
59
- visible: {
60
- opacity: 1,
61
- },
62
- },
63
- transition: {
64
- type: 'spring',
65
- visualDuration: POPOVER_MOTION_DURATION,
66
- bounce: 0.25,
67
- },
68
- }
69
-
70
- /**
71
- * @internal
72
- * @deprecated No longer used.
73
- */
74
- export const FLOATING_STATIC_SIDES: Record<string, 'bottom' | 'left' | 'top' | 'right'> = {
75
- top: 'bottom',
76
- right: 'left',
77
- bottom: 'top',
78
- left: 'right',
79
- }