@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,9 +0,0 @@
1
- export * from './autocomplete'
2
- export * from './breadcrumbs'
3
- export * from './dialog'
4
- export * from './hotkeys'
5
- export * from './menu'
6
- export * from './skeleton'
7
- export * from './tab'
8
- export * from './toast'
9
- export * from './tree'
@@ -1,82 +0,0 @@
1
- import {isHTMLAnchorElement, isHTMLButtonElement} from '../../helpers'
2
-
3
- /**
4
- * @internal
5
- */
6
- function _isFocusable(element: HTMLElement) {
7
- return (
8
- (isHTMLAnchorElement(element) && element.getAttribute('data-disabled') !== 'true') ||
9
- (isHTMLButtonElement(element) && !element.disabled)
10
- )
11
- }
12
-
13
- /**
14
- * @internal
15
- */
16
- export function _getFocusableElements(elements: HTMLElement[]): HTMLElement[] {
17
- return elements.filter(_isFocusable)
18
- }
19
-
20
- /**
21
- * @internal
22
- */
23
- export function _getDOMPath(rootElement: HTMLElement, el: HTMLElement): number[] {
24
- const path: number[] = []
25
-
26
- let e = el
27
-
28
- while (e !== rootElement) {
29
- const parentElement = e.parentElement
30
-
31
- if (!parentElement) return path
32
-
33
- const children = Array.from(parentElement.childNodes)
34
- const index = children.indexOf(e)
35
-
36
- path.unshift(index)
37
-
38
- if (parentElement === rootElement) {
39
- return path
40
- }
41
-
42
- e = parentElement
43
- }
44
-
45
- return path
46
- }
47
-
48
- const EMPTY_PATH: number[] = []
49
-
50
- /**
51
- * @internal
52
- */
53
- export function _sortElements(rootElement: HTMLElement | null, elements: HTMLElement[]): void {
54
- if (!rootElement) return
55
-
56
- const map = new WeakMap<HTMLElement, number[]>()
57
-
58
- for (const el of elements) {
59
- map.set(el, _getDOMPath(rootElement, el))
60
- }
61
-
62
- const _sort = (a: HTMLElement, b: HTMLElement) => {
63
- const _a = map.get(a) || EMPTY_PATH
64
- const _b = map.get(b) || EMPTY_PATH
65
-
66
- const len = Math.max(_a.length, _b.length)
67
-
68
- // Loop until there are different indexes
69
- for (let i = 0; i < len; i += 1) {
70
- const aIndex = _a[i] || -1
71
- const bIndex = _b[i] || -1
72
-
73
- if (aIndex !== bIndex) {
74
- return aIndex - bIndex
75
- }
76
- }
77
-
78
- return 0
79
- }
80
-
81
- elements.sort(_sort)
82
- }
@@ -1,5 +0,0 @@
1
- export * from './menu'
2
- export * from './menuButton'
3
- export * from './menuDivider'
4
- export * from './menuGroup'
5
- export * from './menuItem'
@@ -1,68 +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 {Menu} from './menu'
8
-
9
- vi.mock('../../primitives', async (importOriginal) => {
10
- const actual = await importOriginal<typeof import('../../primitives')>()
11
-
12
- return {
13
- ...actual,
14
- // oxlint-disable-next-line no-unsafe-type-assertion
15
- Stack: vi.fn((props: Record<string, unknown>) => (actual.Stack as any).render(props, null)),
16
- }
17
- })
18
-
19
- vi.mock('../../utils', async (importOriginal) => {
20
- const actual = await importOriginal<typeof import('../../utils')>()
21
-
22
- return {
23
- ...actual,
24
- useLayer: () => ({isTopLayer: true}),
25
- }
26
- })
27
-
28
- describe('components/menu spacing', () => {
29
- const mockedStack = vi.mocked(Stack)
30
-
31
- beforeEach(() => {
32
- mockedStack.mockClear()
33
- })
34
-
35
- it('should support `space` and `gap` with the same behavior', () => {
36
- render(
37
- // oxlint-disable-next-line no-deprecated
38
- <Menu space={2}>
39
- <div>Item</div>
40
- </Menu>,
41
- )
42
- expect(mockedStack.mock.calls.map(([props]) => props)).toContainEqual(
43
- expect.objectContaining({gap: 2}),
44
- )
45
-
46
- mockedStack.mockClear()
47
- render(
48
- <Menu gap={2}>
49
- <div>Item</div>
50
- </Menu>,
51
- )
52
- expect(mockedStack.mock.calls.map(([props]) => props)).toContainEqual(
53
- expect.objectContaining({gap: 2}),
54
- )
55
- })
56
-
57
- it('should prefer `gap` over `space` when both are provided', () => {
58
- render(
59
- // oxlint-disable-next-line no-deprecated
60
- <Menu gap={3} space={1}>
61
- <div>Item</div>
62
- </Menu>,
63
- )
64
- const propsList = mockedStack.mock.calls.map(([props]) => props)
65
- expect(propsList).toContainEqual(expect.objectContaining({gap: 3}))
66
- expect(propsList).not.toContainEqual(expect.objectContaining({gap: 1}))
67
- })
68
- })
@@ -1,128 +0,0 @@
1
- /** @vitest-environment jsdom */
2
-
3
- import React, {useCallback, useMemo} from 'react'
4
- import {describe, expect, it, vi} from 'vitest'
5
-
6
- import {render} from '../../../../test'
7
- import {MenuContext, MenuContextValue} from './menuContext'
8
- import {useMenu} from './useMenu'
9
-
10
- describe('components/menu', () => {
11
- describe('useMenu', () => {
12
- it('should get context value', async () => {
13
- const log = vi.fn()
14
-
15
- function Debug() {
16
- const rootMenu = useMenu()
17
-
18
- log(rootMenu)
19
-
20
- return <>debug</>
21
- }
22
-
23
- function Root() {
24
- const handleItemMouseEnter = useCallback(
25
- // oxlint-disable-next-line no-console
26
- (event: React.MouseEvent<HTMLElement>) => console.log(event),
27
- [],
28
- )
29
-
30
- const handleItemMouseLeave = useCallback(
31
- // oxlint-disable-next-line no-console
32
- (event: React.MouseEvent<HTMLElement>) => console.log(event),
33
- [],
34
- )
35
-
36
- const value = useMemo(
37
- () =>
38
- ({
39
- version: 2,
40
- activeElement: null,
41
- // oxlint-disable-next-line no-console
42
- mount: (element: HTMLElement | null) => () => console.log(element),
43
- onItemClick: () => undefined,
44
- onItemMouseEnter: handleItemMouseEnter,
45
- onItemMouseLeave: handleItemMouseLeave,
46
- }) satisfies MenuContextValue,
47
- [handleItemMouseEnter, handleItemMouseLeave],
48
- )
49
-
50
- return (
51
- <MenuContext.Provider value={value}>
52
- <Debug />
53
- </MenuContext.Provider>
54
- )
55
- }
56
-
57
- render(<Root />)
58
-
59
- const contextValue = log.mock.calls[0][0]
60
-
61
- expect(contextValue.version).toBe(2)
62
- expect(typeof contextValue.mount).toBe('function')
63
- expect(typeof contextValue.onItemClick).toBe('function')
64
- expect(typeof contextValue.onItemMouseEnter).toBe('function')
65
- expect(typeof contextValue.onItemMouseEnter).toBe('function')
66
- })
67
-
68
- it('should fail when no context value is provided', async () => {
69
- const log = vi.fn()
70
-
71
- function Debug() {
72
- try {
73
- useMenu()
74
- } catch (err) {
75
- log(err)
76
- }
77
-
78
- return null
79
- }
80
-
81
- function Root() {
82
- const value: any = undefined
83
-
84
- return (
85
- <MenuContext.Provider value={value}>
86
- <Debug />
87
- </MenuContext.Provider>
88
- )
89
- }
90
-
91
- render(<Root />)
92
-
93
- expect(log.mock.calls[0][0].message).toEqual('useMenu(): missing context value')
94
- })
95
-
96
- it('should fail when context value is not compatible', async () => {
97
- const log = vi.fn()
98
-
99
- function Debug() {
100
- try {
101
- useMenu()
102
- } catch (err) {
103
- log(err)
104
- }
105
-
106
- return null
107
- }
108
-
109
- function Root() {
110
- // NOTE: we’re testing this because the context value may be a function in the future
111
- const value: any = () => {
112
- return {version: 1}
113
- }
114
-
115
- return (
116
- // oxlint-disable-next-line jsx-no-constructed-context-values
117
- <MenuContext.Provider value={value}>
118
- <Debug />
119
- </MenuContext.Provider>
120
- )
121
- }
122
-
123
- render(<Root />)
124
-
125
- expect(log.mock.calls[0][0].message).toEqual('useMenu(): the context value is not compatible')
126
- })
127
- })
128
- })
@@ -1,180 +0,0 @@
1
- import {forwardRef, useCallback, useEffect, useImperativeHandle, useMemo, useRef} from 'react'
2
- import {styled} from 'styled-components'
3
-
4
- import {useClickOutsideEvent, useGlobalKeyDown} from '../../hooks'
5
- import {Box, Stack} from '../../primitives'
6
- import {ResponsivePaddingProps} from '../../primitives/types'
7
- import {useLayer} from '../../utils'
8
- import {MenuContext, MenuContextValue} from './menuContext'
9
- import {useMenuController} from './useMenuController'
10
-
11
- /**
12
- * @public
13
- */
14
- export interface MenuProps extends ResponsivePaddingProps {
15
- /**
16
- * @deprecated Use `shouldFocus="first"` instead.
17
- */
18
- 'focusFirst'?: boolean
19
- /**
20
- * @deprecated Use `shouldFocus="last"` instead.
21
- */
22
- 'focusLast'?: boolean
23
- 'onClickOutside'?: (event: MouseEvent) => void
24
- 'onEscape'?: () => void
25
- 'onItemClick'?: () => void
26
- 'onItemSelect'?: (index: number) => void
27
- 'originElement'?: HTMLElement | null
28
- 'registerElement'?: (el: HTMLElement) => () => void
29
- 'shouldFocus'?: 'first' | 'last' | null
30
- 'gap'?: number | number[]
31
- /**
32
- * @deprecated Use `gap` instead. `space` will be removed in v4.
33
- */
34
- 'space'?: number | number[]
35
- 'aria-labelledby'?: string
36
- 'onBlurCapture'?: (event: FocusEvent) => void
37
- }
38
-
39
- const StyledMenu = styled(Box)`
40
- outline: none;
41
- overflow: auto;
42
- `
43
-
44
- /**
45
- * The `Menu` component is a building block for application menus.
46
- *
47
- * @public
48
- */
49
- export const Menu = forwardRef(function Menu(
50
- props: MenuProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'height' | 'role' | 'tabIndex'>,
51
- forwardedRef: React.ForwardedRef<HTMLDivElement>,
52
- ) {
53
- const {
54
- children,
55
- // oxlint-disable-next-line no-deprecated, no-unused-vars
56
- focusFirst,
57
- // oxlint-disable-next-line no-deprecated, no-unused-vars
58
- focusLast,
59
- onClickOutside,
60
- onEscape,
61
- onItemClick,
62
- onItemSelect,
63
- onKeyDown,
64
- originElement,
65
- padding = 1,
66
- registerElement,
67
- shouldFocus: _shouldFocus,
68
- gap,
69
- // oxlint-disable-next-line no-deprecated
70
- space: deprecated_space = 1,
71
- ...restProps
72
- } = props
73
- const spacing = gap === undefined ? deprecated_space : gap
74
- const shouldFocus =
75
- // oxlint-disable-next-line no-deprecated
76
- _shouldFocus ?? ((props.focusFirst && 'first') || (props.focusLast && 'last') || null)
77
-
78
- const ref = useRef<HTMLDivElement | null>(null)
79
-
80
- useImperativeHandle<HTMLDivElement | null, HTMLDivElement | null>(forwardedRef, () => ref.current)
81
-
82
- const {isTopLayer} = useLayer()
83
-
84
- const {
85
- activeElement,
86
- activeIndex,
87
- handleItemMouseEnter,
88
- handleItemMouseLeave,
89
- handleKeyDown,
90
- mount,
91
- } = useMenuController({onKeyDown, originElement, shouldFocus, rootElementRef: ref})
92
-
93
- const unregisterElementRef = useRef<(() => void) | null>(null)
94
- const handleRefChange = useCallback(
95
- (el: HTMLDivElement | null) => {
96
- // Run cleanup of previously registered elements
97
- if (unregisterElementRef.current) {
98
- // The `registerElement` callback were originally used in a `useEffect`, so it returns a cleanup function that is a bit gnarly to handle in a ref callback.
99
- // Since we can't change the `registerElement` implementation itself without making breaking change,
100
- // that is explained in the code comments for createGlobalScopedContext.tsx,
101
- // we need to handle with a ref that holds on to the cleanup function last returned when the ref callback is called.
102
- unregisterElementRef.current()
103
- unregisterElementRef.current = null
104
- }
105
-
106
- ref.current = el
107
-
108
- // Register root element (for nested menus)
109
- if (ref.current && registerElement) {
110
- unregisterElementRef.current = registerElement(ref.current)
111
- }
112
- },
113
- [registerElement],
114
- )
115
-
116
- // Trigger `onItemSelect` when active index changes
117
- useEffect(() => {
118
- if (onItemSelect) onItemSelect(activeIndex)
119
- }, [activeIndex, onItemSelect])
120
-
121
- // Close menu when clicking outside
122
- useClickOutsideEvent(isTopLayer && onClickOutside, () => [ref.current])
123
-
124
- // Close menu when pressing Escape
125
- useGlobalKeyDown(
126
- useCallback(
127
- (event) => {
128
- if (!isTopLayer) return
129
-
130
- if (event.key === 'Escape') {
131
- event.stopPropagation()
132
- if (onEscape) onEscape()
133
- }
134
- },
135
- [isTopLayer, onEscape],
136
- ),
137
- )
138
-
139
- const value = useMemo(
140
- () =>
141
- ({
142
- version: 2,
143
- activeElement,
144
- mount,
145
- onClickOutside,
146
- onEscape,
147
- onItemClick,
148
- onItemMouseEnter: handleItemMouseEnter,
149
- onItemMouseLeave: handleItemMouseLeave,
150
- registerElement,
151
- }) satisfies MenuContextValue,
152
- [
153
- activeElement,
154
- mount,
155
- handleItemMouseEnter,
156
- handleItemMouseLeave,
157
- onClickOutside,
158
- onEscape,
159
- onItemClick,
160
- registerElement,
161
- ],
162
- )
163
-
164
- return (
165
- <MenuContext.Provider value={value}>
166
- <StyledMenu
167
- data-ui="Menu"
168
- {...restProps}
169
- onKeyDown={handleKeyDown}
170
- padding={padding}
171
- ref={handleRefChange}
172
- role="menu"
173
- tabIndex={-1}
174
- >
175
- <Stack gap={spacing}>{children}</Stack>
176
- </StyledMenu>
177
- </MenuContext.Provider>
178
- )
179
- })
180
- Menu.displayName = 'ForwardRef(Menu)'