@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,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)'