@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,485 +0,0 @@
1
- /** @vitest-environment jsdom */
2
-
3
- import {act, fireEvent, screen} from '@testing-library/react'
4
-
5
- // oxlint-disable-next-line no-unassigned-import
6
- import '../../../../test/mocks/resizeObserver.mock'
7
- // oxlint-disable-next-line no-unassigned-import
8
- import '../../../../test/mocks/matchMedia.mock'
9
- import {afterEach, beforeEach, describe, expect, it, vi} from 'vitest'
10
-
11
- import {render} from '../../../../test'
12
- import {Button, Text} from '../../primitives'
13
- import {Tooltip, TooltipDelayGroupProvider} from '../tooltip'
14
-
15
- beforeEach(() => {
16
- vi.useFakeTimers()
17
- })
18
-
19
- // Run all pending timers and switch back to real timers
20
- afterEach(() => {
21
- vi.runOnlyPendingTimers()
22
- vi.useRealTimers()
23
- })
24
-
25
- describe('Tooltip', () => {
26
- describe('Using same delay for open and close', () => {
27
- it('should hide and show the tooltip content when hovered, with no delay', () => {
28
- render(
29
- <Tooltip content={<Text size={1}>{'Tooltip content'}</Text>} placement={'top'}>
30
- <Button mode="bleed" text="Hover me" />
31
- </Tooltip>,
32
- )
33
-
34
- const button = screen.getByText('Hover me')
35
-
36
- // Validate tooltip content is not rendered
37
- expect(screen.queryByText('Tooltip content')).not.toBeInTheDocument()
38
-
39
- fireEvent.mouseEnter(button)
40
-
41
- // Validate tooltip content is rendered
42
- screen.getByText('Tooltip content')
43
-
44
- fireEvent.mouseOut(button)
45
- // Validate tooltip content is not rendered anymore
46
- expect(screen.queryByText('Tooltip content')).not.toBeInTheDocument()
47
- })
48
- it('should support delays to show and hide the tooltip.', () => {
49
- vi.useFakeTimers()
50
- const delay = 200
51
-
52
- render(
53
- <Tooltip
54
- content={<Text size={1}>{'Tooltip content'}</Text>}
55
- placement={'top'}
56
- delay={delay}
57
- >
58
- <Button mode="bleed" text="Hover me" />
59
- </Tooltip>,
60
- )
61
-
62
- const button = screen.getByText('Hover me')
63
-
64
- // Validate tooltip content is not rendered
65
- expect(screen.queryByText('Tooltip content')).not.toBeInTheDocument()
66
-
67
- fireEvent.mouseEnter(button)
68
-
69
- // oxlint-disable-next-line no-floating-promises
70
- act(() => vi.advanceTimersByTime(delay / 2))
71
- // Content should not be rendered yet
72
- expect(screen.queryByText('Tooltip content')).not.toBeInTheDocument()
73
- // oxlint-disable-next-line no-floating-promises
74
- act(() => vi.advanceTimersByTime(delay / 2))
75
-
76
- // Validate tooltip content is rendered
77
- screen.getByText('Tooltip content')
78
-
79
- fireEvent.mouseOut(button)
80
- // Validate tooltip content is still showing.
81
- screen.getByText('Tooltip content')
82
- // oxlint-disable-next-line no-floating-promises
83
- act(() => vi.advanceTimersByTime(delay))
84
- // Validate tooltip content is not rendered anymore
85
- expect(screen.queryByText('Tooltip content')).not.toBeInTheDocument()
86
- })
87
- it('should support different open and close delays to show and hide the tooltip.', () => {
88
- vi.useFakeTimers()
89
- const openDelay = 200
90
- const closeDelay = 150
91
-
92
- render(
93
- <Tooltip
94
- content={<Text size={1}>{'Tooltip content'}</Text>}
95
- placement={'top'}
96
- delay={{
97
- open: openDelay,
98
- close: closeDelay,
99
- }}
100
- >
101
- <Button mode="bleed" text="Hover me" />
102
- </Tooltip>,
103
- )
104
-
105
- const button = screen.getByText('Hover me')
106
-
107
- // Validate tooltip content is not rendered
108
- expect(screen.queryByText('Tooltip content')).not.toBeInTheDocument()
109
-
110
- fireEvent.mouseEnter(button)
111
-
112
- // oxlint-disable-next-line no-floating-promises
113
- act(() => vi.advanceTimersByTime(openDelay / 2))
114
- // Content should not be rendered yet
115
- expect(screen.queryByText('Tooltip content')).not.toBeInTheDocument()
116
- // oxlint-disable-next-line no-floating-promises
117
- act(() => vi.advanceTimersByTime(openDelay / 2))
118
-
119
- // Validate tooltip content is rendered
120
- screen.getByText('Tooltip content')
121
-
122
- fireEvent.mouseOut(button)
123
- // Validate tooltip content is still showing.
124
- screen.getByText('Tooltip content')
125
- // oxlint-disable-next-line no-floating-promises
126
- act(() => vi.advanceTimersByTime(closeDelay))
127
- // Validate tooltip content is not rendered anymore
128
- expect(screen.queryByText('Tooltip content')).not.toBeInTheDocument()
129
- })
130
- })
131
-
132
- describe('Using the <TooltipDelayGroupProvider />', () => {
133
- it('should support groups with the same delay to open and close.', () => {
134
- const delay = 150
135
-
136
- vi.useFakeTimers()
137
- render(
138
- <TooltipDelayGroupProvider delay={delay}>
139
- <Tooltip content={<Text size={1}>{'Tooltip 1'}</Text>} placement={'top'} delay={400}>
140
- <Button mode="bleed" text="Button 1" />
141
- </Tooltip>
142
- <Tooltip
143
- content={<Text size={1}>{'Tooltip 2'}</Text>}
144
- placement={'top'}
145
- delay={400} // This should be overridden by the group delay
146
- >
147
- <Button mode="bleed" text="Button 2" />
148
- </Tooltip>
149
- </TooltipDelayGroupProvider>,
150
- )
151
-
152
- const button1 = screen.getByText('Button 1')
153
- const button2 = screen.getByText('Button 2')
154
-
155
- // Validate tooltip content is not rendered
156
- expect(screen.queryByText('Tooltip 1')).not.toBeInTheDocument()
157
- expect(screen.queryByText('Tooltip 2')).not.toBeInTheDocument()
158
-
159
- // Hovers on first button, it should show first tooltip only
160
- fireEvent.mouseEnter(button1)
161
- // oxlint-disable-next-line no-floating-promises
162
- act(() => vi.advanceTimersByTime(delay / 2))
163
- // Content should not be rendered yet, we have a delay of 150ms
164
- expect(screen.queryByText('Tooltip 1')).not.toBeInTheDocument()
165
- expect(screen.queryByText('Tooltip 2')).not.toBeInTheDocument()
166
- // oxlint-disable-next-line no-floating-promises
167
- act(() => vi.advanceTimersByTime(delay / 2))
168
-
169
- // Validate Tooltip 1 is rendered
170
- screen.getByText('Tooltip 1')
171
- expect(screen.queryByText('Tooltip 2')).not.toBeInTheDocument()
172
-
173
- // Hovers on second button.
174
- fireEvent.mouseOut(button1)
175
- fireEvent.mouseEnter(button2)
176
-
177
- // Validate Tooltip 1 is not rendered, now tooltip 2 is open.
178
- // oxlint-disable-next-line no-floating-promises
179
- act(() => vi.advanceTimersByTime(1))
180
- expect(screen.queryByText('Tooltip 1')).not.toBeInTheDocument()
181
- screen.getByText('Tooltip 2')
182
-
183
- // Validate tooltip content is not rendered anymore
184
- fireEvent.mouseOut(button2)
185
- // oxlint-disable-next-line no-floating-promises
186
- act(() => vi.advanceTimersByTime(delay + 1))
187
- expect(screen.queryByText('Tooltip 2')).not.toBeInTheDocument()
188
-
189
- // Hovering again, should trigger the tooltip to show immediately, as the group is not deactivated yet
190
- fireEvent.mouseEnter(button2)
191
- // oxlint-disable-next-line no-floating-promises
192
- act(() => vi.advanceTimersByTime(1))
193
- screen.getByText('Tooltip 2')
194
-
195
- // Validate tooltip content is not rendered anymore
196
- fireEvent.mouseOut(button2)
197
- // oxlint-disable-next-line no-floating-promises
198
- act(() => vi.advanceTimersByTime(delay + 1))
199
- expect(screen.queryByText('Tooltip 2')).not.toBeInTheDocument()
200
-
201
- // Wait 200ms, the group is deactivated, hovering again should trigger the delay
202
- // oxlint-disable-next-line no-floating-promises
203
- act(() => vi.advanceTimersByTime(200))
204
- fireEvent.mouseEnter(button2)
205
- // oxlint-disable-next-line no-floating-promises
206
- act(() => vi.advanceTimersByTime(delay / 2))
207
- expect(screen.queryByText('Tooltip 2')).not.toBeInTheDocument()
208
- // oxlint-disable-next-line no-floating-promises
209
- act(() => vi.advanceTimersByTime(delay / 2))
210
- screen.getByText('Tooltip 2')
211
- })
212
- it('should support groups with different open and close delay.', () => {
213
- const openDelay = 250
214
- const closeDelay = 150
215
-
216
- vi.useFakeTimers()
217
- render(
218
- <TooltipDelayGroupProvider
219
- delay={{
220
- open: openDelay,
221
- close: closeDelay,
222
- }}
223
- >
224
- <Tooltip content={<Text size={1}>{'Tooltip 1'}</Text>} placement={'top'} delay={400}>
225
- <Button mode="bleed" text="Button 1" />
226
- </Tooltip>
227
- <Tooltip
228
- content={<Text size={1}>{'Tooltip 2'}</Text>}
229
- placement={'top'}
230
- delay={400} // This should be overridden by the group delay
231
- >
232
- <Button mode="bleed" text="Button 2" />
233
- </Tooltip>
234
- </TooltipDelayGroupProvider>,
235
- )
236
-
237
- const button1 = screen.getByText('Button 1')
238
- const button2 = screen.getByText('Button 2')
239
-
240
- // Validate tooltip content is not rendered
241
- expect(screen.queryByText('Tooltip 1')).not.toBeInTheDocument()
242
- expect(screen.queryByText('Tooltip 2')).not.toBeInTheDocument()
243
-
244
- // Hovers on first button, it should show first tooltip only
245
- fireEvent.mouseEnter(button1)
246
- // oxlint-disable-next-line no-floating-promises
247
- act(() => vi.advanceTimersByTime(openDelay / 2))
248
- // Content should not be rendered yet, we have a delay of2150ms
249
- expect(screen.queryByText('Tooltip 1')).not.toBeInTheDocument()
250
- expect(screen.queryByText('Tooltip 2')).not.toBeInTheDocument()
251
- // oxlint-disable-next-line no-floating-promises
252
- act(() => vi.advanceTimersByTime(openDelay / 2))
253
-
254
- // Validate Tooltip 1 is rendered
255
- screen.getByText('Tooltip 1')
256
- expect(screen.queryByText('Tooltip 2')).not.toBeInTheDocument()
257
-
258
- // Hovers on second button.
259
- fireEvent.mouseOut(button1)
260
- fireEvent.mouseEnter(button2)
261
-
262
- // Validate Tooltip 1 is not rendered, now tooltip 2 is open.
263
- // oxlint-disable-next-line no-floating-promises
264
- act(() => vi.advanceTimersByTime(1))
265
- expect(screen.queryByText('Tooltip 1')).not.toBeInTheDocument()
266
- screen.getByText('Tooltip 2')
267
-
268
- // Validate tooltip content is not rendered anymore
269
- fireEvent.mouseOut(button2)
270
- // oxlint-disable-next-line no-floating-promises
271
- act(() => vi.advanceTimersByTime(closeDelay + 1))
272
- expect(screen.queryByText('Tooltip 2')).not.toBeInTheDocument()
273
-
274
- // Hovering again, should trigger the tooltip to show immediately, as the group is not deactivated yet
275
- fireEvent.mouseEnter(button2)
276
- // oxlint-disable-next-line no-floating-promises
277
- act(() => vi.advanceTimersByTime(1))
278
- screen.getByText('Tooltip 2')
279
-
280
- // Validate tooltip content is not rendered anymore
281
- fireEvent.mouseOut(button2)
282
- // oxlint-disable-next-line no-floating-promises
283
- act(() => vi.advanceTimersByTime(closeDelay + 1))
284
- expect(screen.queryByText('Tooltip 2')).not.toBeInTheDocument()
285
-
286
- // Wait 200ms, the group is deactivated, hovering again should trigger the delay
287
- // oxlint-disable-next-line no-floating-promises
288
- act(() => vi.advanceTimersByTime(200))
289
- fireEvent.mouseEnter(button2)
290
- // oxlint-disable-next-line no-floating-promises
291
- act(() => vi.advanceTimersByTime(openDelay / 2))
292
- expect(screen.queryByText('Tooltip 2')).not.toBeInTheDocument()
293
- // oxlint-disable-next-line no-floating-promises
294
- act(() => vi.advanceTimersByTime(openDelay / 2))
295
- screen.getByText('Tooltip 2')
296
- })
297
- })
298
-
299
- describe('Closing the <Tooltip /> with the Escape key', () => {
300
- it('Standalone tooltip closes immediately with Escape key', () => {
301
- const delay = 150
302
-
303
- vi.useFakeTimers()
304
-
305
- render(
306
- <Tooltip
307
- content={<Text size={1}>{'Tooltip content'}</Text>}
308
- placement={'top'}
309
- delay={delay}
310
- >
311
- <Button mode="bleed" text="Hover me" />
312
- </Tooltip>,
313
- )
314
-
315
- const button = screen.getByText('Hover me')
316
-
317
- // Validate tooltip content is not rendered
318
- expect(screen.queryByText('Tooltip content')).not.toBeInTheDocument()
319
- fireEvent.focus(button)
320
- // oxlint-disable-next-line no-floating-promises
321
- act(() => vi.advanceTimersByTime(delay))
322
-
323
- // Validate tooltip content is rendered
324
- screen.getByText('Tooltip content')
325
-
326
- act(() => {
327
- fireEvent.keyDown(button, {key: 'Escape', code: 'Escape'})
328
- })
329
- // Validate tooltip content is not rendered anymore
330
- expect(screen.queryByText('Tooltip content')).not.toBeInTheDocument()
331
- })
332
- it('With <TooltipDelayGroupProvider /> closes immediately with Escape key', () => {
333
- const delay = 150
334
-
335
- vi.useFakeTimers()
336
-
337
- render(
338
- <TooltipDelayGroupProvider delay={{close: delay}}>
339
- <Tooltip
340
- content={<Text size={1}>{'Tooltip content'}</Text>}
341
- placement={'top'}
342
- delay={{close: delay}}
343
- >
344
- <Button mode="bleed" text="Hover me" />
345
- </Tooltip>
346
- </TooltipDelayGroupProvider>,
347
- )
348
-
349
- const button = screen.getByText('Hover me')
350
-
351
- // Validate tooltip content is not rendered
352
- expect(screen.queryByText('Tooltip content')).not.toBeInTheDocument()
353
- fireEvent.focus(button)
354
-
355
- // oxlint-disable-next-line no-floating-promises
356
- act(() => vi.advanceTimersByTime(delay))
357
-
358
- // Validate tooltip content is rendered
359
- screen.getByText('Tooltip content')
360
-
361
- act(() => {
362
- fireEvent.keyDown(button, {key: 'Escape', code: 'Escape'})
363
- })
364
- // Validate tooltip content is not rendered anymore
365
- expect(screen.queryByText('Tooltip content')).not.toBeInTheDocument()
366
- })
367
- })
368
-
369
- describe('Clicking the <Tooltip /> child should close the tooltip', () => {
370
- it('Should close the tooltip when clicked', () => {
371
- const delay = 150
372
-
373
- render(
374
- <Tooltip content={<Text size={1}>{'Tooltip content'}</Text>} delay={delay}>
375
- <Button mode="bleed" text="Hover me" />
376
- </Tooltip>,
377
- )
378
-
379
- const button = screen.getByText('Hover me')
380
-
381
- // Assertion: tooltip does not exist in the document
382
- expect(screen.queryByText('Tooltip content')).not.toBeInTheDocument()
383
- fireEvent.focus(button)
384
-
385
- // oxlint-disable-next-line no-floating-promises
386
- act(() => vi.advanceTimersByTime(delay))
387
-
388
- // Assertion: the tooltip is not visible
389
- expect(screen.queryByText('Tooltip content')).toBeVisible()
390
-
391
- // oxlint-disable-next-line no-floating-promises
392
- act(() => fireEvent.click(button))
393
-
394
- // Assertion: tooltip does not exist in the document
395
- expect(screen.queryByText('Tooltip content')).not.toBeInTheDocument()
396
- })
397
-
398
- it('Should close the tooltip when the context menu is opened (right click)', () => {
399
- const delay = 150
400
-
401
- render(
402
- <Tooltip content={<Text size={1}>{'Tooltip content'}</Text>} delay={delay}>
403
- <Button mode="bleed" text="Hover me" />
404
- </Tooltip>,
405
- )
406
-
407
- const button = screen.getByText('Hover me')
408
-
409
- // Assertion: tooltip does not exist in the document
410
- expect(screen.queryByText('Tooltip content')).not.toBeInTheDocument()
411
- fireEvent.focus(button)
412
-
413
- // oxlint-disable-next-line no-floating-promises
414
- act(() => vi.advanceTimersByTime(delay))
415
-
416
- // Assertion: the tooltip is not visible
417
- expect(screen.queryByText('Tooltip content')).toBeVisible()
418
-
419
- // oxlint-disable-next-line no-floating-promises
420
- act(() => fireEvent.contextMenu(button))
421
-
422
- // Assertion: tooltip does not exist in the document
423
- expect(screen.queryByText('Tooltip content')).not.toBeInTheDocument()
424
- })
425
- })
426
-
427
- describe('Used defined events on <Tooltip /> child should fire correctly', () => {
428
- const handleBlur = vi.fn()
429
- const handleClick = vi.fn()
430
- const handleContextMenu = vi.fn()
431
- const handleFocus = vi.fn()
432
- const handleMouseEnter = vi.fn()
433
- const handleMouseLeave = vi.fn()
434
-
435
- beforeEach(() => {
436
- render(
437
- <Tooltip content={<Text size={1}>{'Tooltip content'}</Text>}>
438
- <Button
439
- data-testid="btn"
440
- mode="bleed"
441
- onBlur={handleBlur}
442
- onClick={handleClick}
443
- onContextMenu={handleContextMenu}
444
- onFocus={handleFocus}
445
- onMouseEnter={handleMouseEnter}
446
- onMouseLeave={handleMouseLeave}
447
- text="Hover me"
448
- />
449
- </Tooltip>,
450
- )
451
- })
452
-
453
- afterEach(() => vi.clearAllMocks())
454
-
455
- it('should fire the onBlur event', () => {
456
- fireEvent.blur(screen.getByTestId('btn'))
457
- expect(handleBlur).toHaveBeenCalledTimes(1)
458
- })
459
-
460
- it('should fire the onClick event', () => {
461
- fireEvent.click(screen.getByTestId('btn'))
462
- expect(handleClick).toHaveBeenCalledTimes(1)
463
- })
464
-
465
- it('should fire the onContextMenu event', () => {
466
- fireEvent.contextMenu(screen.getByTestId('btn'))
467
- expect(handleContextMenu).toHaveBeenCalledTimes(1)
468
- })
469
-
470
- it('should fire the onFocus event', () => {
471
- fireEvent.focus(screen.getByTestId('btn'))
472
- expect(handleFocus).toHaveBeenCalledTimes(1)
473
- })
474
-
475
- it('should fire the onMouseEnter event', () => {
476
- fireEvent.mouseEnter(screen.getByTestId('btn'))
477
- expect(handleMouseEnter).toHaveBeenCalledTimes(1)
478
- })
479
-
480
- it('should fire the onMouseLeave event', () => {
481
- fireEvent.mouseLeave(screen.getByTestId('btn'))
482
- expect(handleMouseLeave).toHaveBeenCalledTimes(1)
483
- })
484
- })
485
- })