@sanity/ui 4.0.0-v4.1 → 4.0.1

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 (665) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +25 -7
  3. package/dist/_system-CTe2lb5l.d.ts +40 -0
  4. package/dist/_system-CTe2lb5l.d.ts.map +1 -0
  5. package/dist/arrow-CHE8-_G7.js +161 -0
  6. package/dist/arrow-CHE8-_G7.js.map +1 -0
  7. package/dist/autocomplete.d.ts +140 -0
  8. package/dist/autocomplete.d.ts.map +1 -0
  9. package/dist/autocomplete.js +474 -0
  10. package/dist/autocomplete.js.map +1 -0
  11. package/dist/breadcrumbs.d.ts +18 -0
  12. package/dist/breadcrumbs.d.ts.map +1 -0
  13. package/dist/breadcrumbs.js +116 -0
  14. package/dist/breadcrumbs.js.map +1 -0
  15. package/dist/button-DXgc_BsT.js +179 -0
  16. package/dist/button-DXgc_BsT.js.map +1 -0
  17. package/dist/button-dnqMFkWg.d.ts +76 -0
  18. package/dist/button-dnqMFkWg.d.ts.map +1 -0
  19. package/dist/card-C0a0wQTc.d.ts +7 -0
  20. package/dist/card-C0a0wQTc.d.ts.map +1 -0
  21. package/dist/code.d.ts +20 -0
  22. package/dist/code.d.ts.map +1 -0
  23. package/dist/code.js +90 -0
  24. package/dist/code.js.map +1 -0
  25. package/dist/codeFontStyle-DYUujk7K.js +11 -0
  26. package/dist/codeFontStyle-DYUujk7K.js.map +1 -0
  27. package/dist/component-DVlwaWB-.d.ts +25 -0
  28. package/dist/component-DVlwaWB-.d.ts.map +1 -0
  29. package/dist/element-BYgCE_iK.js +51 -0
  30. package/dist/element-BYgCE_iK.js.map +1 -0
  31. package/dist/factory-BA3gEfyI.js +3056 -0
  32. package/dist/factory-BA3gEfyI.js.map +1 -0
  33. package/dist/flex-C-5JHi1C.js +76 -0
  34. package/dist/flex-C-5JHi1C.js.map +1 -0
  35. package/dist/font-EtfxKPUz.d.ts +49 -0
  36. package/dist/font-EtfxKPUz.d.ts.map +1 -0
  37. package/dist/getElementRef-5HZQ-Owu.js +91 -0
  38. package/dist/getElementRef-5HZQ-Owu.js.map +1 -0
  39. package/dist/getScopedTheme-C-sZsyAz.js +267 -0
  40. package/dist/getScopedTheme-C-sZsyAz.js.map +1 -0
  41. package/dist/getTheme_v2-y09KqtEb.js +487 -0
  42. package/dist/getTheme_v2-y09KqtEb.js.map +1 -0
  43. package/dist/grid-BXHFJhf_.js +115 -0
  44. package/dist/grid-BXHFJhf_.js.map +1 -0
  45. package/dist/helpers-bwfx1e-Y.js +67 -0
  46. package/dist/helpers-bwfx1e-Y.js.map +1 -0
  47. package/dist/hotkeys-CmmTQZpn.js +165 -0
  48. package/dist/hotkeys-CmmTQZpn.js.map +1 -0
  49. package/dist/index.d.ts +1192 -2168
  50. package/dist/index.d.ts.map +1 -0
  51. package/dist/index.js +2069 -4481
  52. package/dist/index.js.map +1 -1
  53. package/dist/layer-B98ynOf2.js +61 -0
  54. package/dist/layer-B98ynOf2.js.map +1 -0
  55. package/dist/layer-ChlP9Ik6.d.ts +242 -0
  56. package/dist/layer-ChlP9Ik6.d.ts.map +1 -0
  57. package/dist/menu.d.ts +146 -0
  58. package/dist/menu.d.ts.map +1 -0
  59. package/dist/menu.js +614 -0
  60. package/dist/menu.js.map +1 -0
  61. package/dist/popover-CMlQeKn0.d.ts +96 -0
  62. package/dist/popover-CMlQeKn0.d.ts.map +1 -0
  63. package/dist/popover-PorX5Jv9.js +419 -0
  64. package/dist/popover-PorX5Jv9.js.map +1 -0
  65. package/dist/popover.d.ts +2 -0
  66. package/dist/popover.js +3 -0
  67. package/dist/refractor-CC48DwHi.js +20 -0
  68. package/dist/refractor-CC48DwHi.js.map +1 -0
  69. package/dist/responsiveFont-hN1mZFjm.js +55 -0
  70. package/dist/responsiveFont-hN1mZFjm.js.map +1 -0
  71. package/dist/rgba-BSYaEUW6.d.ts +846 -0
  72. package/dist/rgba-BSYaEUW6.d.ts.map +1 -0
  73. package/dist/selectable-B0GUIL74.d.ts +7 -0
  74. package/dist/selectable-B0GUIL74.d.ts.map +1 -0
  75. package/dist/stack-iW9HuGLg.js +112 -0
  76. package/dist/stack-iW9HuGLg.js.map +1 -0
  77. package/dist/styles-css.d.ts +2 -0
  78. package/dist/styles-css.js +4 -0
  79. package/dist/styles.css +28 -0
  80. package/dist/textInput-CtgXqhgw.js +321 -0
  81. package/dist/textInput-CtgXqhgw.js.map +1 -0
  82. package/dist/theme.d.ts +240 -459
  83. package/dist/theme.d.ts.map +1 -0
  84. package/dist/theme.js +55 -870
  85. package/dist/theme.js.map +1 -1
  86. package/dist/toast.d.ts +73 -0
  87. package/dist/toast.d.ts.map +1 -0
  88. package/dist/toast.js +297 -0
  89. package/dist/toast.js.map +1 -0
  90. package/dist/tooltip.d.ts +88 -0
  91. package/dist/tooltip.d.ts.map +1 -0
  92. package/dist/tooltip.js +447 -0
  93. package/dist/tooltip.js.map +1 -0
  94. package/dist/useClickOutsideEvent-lEVhDFCQ.js +36 -0
  95. package/dist/useClickOutsideEvent-lEVhDFCQ.js.map +1 -0
  96. package/dist/useElementSize-BJvbGHq8.js +51 -0
  97. package/dist/useElementSize-BJvbGHq8.js.map +1 -0
  98. package/dist/useLayer-BAVfmbNN.js +712 -0
  99. package/dist/useLayer-BAVfmbNN.js.map +1 -0
  100. package/package.json +72 -196
  101. package/dist/_chunks-es/Refractor.js +0 -25
  102. package/dist/_chunks-es/Refractor.js.map +0 -1
  103. package/dist/css/index.css +0 -2
  104. package/dist/css/index.css.map +0 -1
  105. package/dist/css/index.d.ts +0 -1398
  106. package/dist/css/index.js +0 -18882
  107. package/dist/css/index.js.map +0 -1
  108. package/exports/css.ts +0 -1
  109. package/exports/index.ts +0 -1
  110. package/exports/theme.ts +0 -1
  111. package/src/core/Root.tsx +0 -88
  112. package/src/core/RootProvider.tsx +0 -40
  113. package/src/core/__workshop__/Boundary.tsx +0 -28
  114. package/src/core/__workshop__/index.ts +0 -16
  115. package/src/core/components/autocomplete/Autocomplete.tsx +0 -690
  116. package/src/core/components/autocomplete/AutocompleteOption.tsx +0 -45
  117. package/src/core/components/autocomplete/__workshop__/Async.tsx +0 -156
  118. package/src/core/components/autocomplete/__workshop__/ConstrainedHeight.tsx +0 -131
  119. package/src/core/components/autocomplete/__workshop__/Custom.tsx +0 -104
  120. package/src/core/components/autocomplete/__workshop__/Example.tsx +0 -91
  121. package/src/core/components/autocomplete/__workshop__/FocusAndBlur.tsx +0 -36
  122. package/src/core/components/autocomplete/__workshop__/Fullscreen.tsx +0 -292
  123. package/src/core/components/autocomplete/__workshop__/index.ts +0 -41
  124. package/src/core/components/autocomplete/__workshop__/mock/apiStore.ts +0 -49
  125. package/src/core/components/autocomplete/__workshop__/mock/countries.ts +0 -245
  126. package/src/core/components/autocomplete/__workshop__/types.ts +0 -4
  127. package/src/core/components/autocomplete/autocompleteReducer.ts +0 -47
  128. package/src/core/components/autocomplete/constants.ts +0 -28
  129. package/src/core/components/autocomplete/types.ts +0 -103
  130. package/src/core/components/breadcrumbs/Breadcrumbs.tsx +0 -131
  131. package/src/core/components/breadcrumbs/__workshop__/Example.tsx +0 -61
  132. package/src/core/components/breadcrumbs/__workshop__/index.ts +0 -16
  133. package/src/core/components/dialog/Dialog.tsx +0 -232
  134. package/src/core/components/dialog/DialogCard.tsx +0 -233
  135. package/src/core/components/dialog/DialogContext.ts +0 -21
  136. package/src/core/components/dialog/DialogProvider.tsx +0 -34
  137. package/src/core/components/dialog/__workshop__/Activate.tsx +0 -141
  138. package/src/core/components/dialog/__workshop__/AutoFocus.tsx +0 -29
  139. package/src/core/components/dialog/__workshop__/Layering.tsx +0 -41
  140. package/src/core/components/dialog/__workshop__/Nested.tsx +0 -71
  141. package/src/core/components/dialog/__workshop__/OnScroll.tsx +0 -51
  142. package/src/core/components/dialog/__workshop__/Panes.tsx +0 -89
  143. package/src/core/components/dialog/__workshop__/Position.tsx +0 -38
  144. package/src/core/components/dialog/__workshop__/Props.tsx +0 -79
  145. package/src/core/components/dialog/__workshop__/Provider.tsx +0 -11
  146. package/src/core/components/dialog/__workshop__/Wrapped.tsx +0 -76
  147. package/src/core/components/dialog/__workshop__/index.ts +0 -21
  148. package/src/core/components/dialog/isTargetWithinScope.ts +0 -14
  149. package/src/core/components/dialog/types.ts +0 -2
  150. package/src/core/components/dialog/useDialog.ts +0 -11
  151. package/src/core/components/hotkeys/Hotkeys.tsx +0 -60
  152. package/src/core/components/hotkeys/__workshop__/Plain.tsx +0 -9
  153. package/src/core/components/hotkeys/__workshop__/index.ts +0 -16
  154. package/src/core/components/menu/Menu.test.tsx +0 -129
  155. package/src/core/components/menu/Menu.tsx +0 -179
  156. package/src/core/components/menu/MenuButton.tsx +0 -230
  157. package/src/core/components/menu/MenuContext.ts +0 -19
  158. package/src/core/components/menu/MenuDivider.tsx +0 -32
  159. package/src/core/components/menu/MenuGroup.tsx +0 -236
  160. package/src/core/components/menu/MenuItem.tsx +0 -184
  161. package/src/core/components/menu/__workshop__/AsComponent.tsx +0 -45
  162. package/src/core/components/menu/__workshop__/AvatarMenu.tsx +0 -57
  163. package/src/core/components/menu/__workshop__/ClosableMenuButton.tsx +0 -47
  164. package/src/core/components/menu/__workshop__/ConstrainedInBoundary.tsx +0 -133
  165. package/src/core/components/menu/__workshop__/CustomMenuItem.tsx +0 -45
  166. package/src/core/components/menu/__workshop__/CustomSelectedState.tsx +0 -35
  167. package/src/core/components/menu/__workshop__/DisableFocusOnClose.tsx +0 -40
  168. package/src/core/components/menu/__workshop__/Groups.tsx +0 -156
  169. package/src/core/components/menu/__workshop__/MenuButton.tsx +0 -85
  170. package/src/core/components/menu/__workshop__/MenuGroupRight.tsx +0 -65
  171. package/src/core/components/menu/__workshop__/NestedMenu.tsx +0 -22
  172. package/src/core/components/menu/__workshop__/OnCloseMenuButton.tsx +0 -50
  173. package/src/core/components/menu/__workshop__/SelectedItem.tsx +0 -69
  174. package/src/core/components/menu/__workshop__/ShouldFocus.tsx +0 -42
  175. package/src/core/components/menu/__workshop__/Tones.tsx +0 -31
  176. package/src/core/components/menu/__workshop__/WithoutArrow.tsx +0 -32
  177. package/src/core/components/menu/__workshop__/index.ts +0 -91
  178. package/src/core/components/menu/helpers.ts +0 -82
  179. package/src/core/components/menu/useMenu.ts +0 -21
  180. package/src/core/components/menu/useMenuController.ts +0 -241
  181. package/src/core/components/tab/Tab.tsx +0 -109
  182. package/src/core/components/tab/TabList.tsx +0 -90
  183. package/src/core/components/tab/TabPanel.tsx +0 -47
  184. package/src/core/components/tab/__workshop__/Example.tsx +0 -79
  185. package/src/core/components/tab/__workshop__/index.ts +0 -16
  186. package/src/core/components/toast/Toast.test.tsx +0 -103
  187. package/src/core/components/toast/Toast.tsx +0 -191
  188. package/src/core/components/toast/ToastContext.ts +0 -7
  189. package/src/core/components/toast/ToastLayer.tsx +0 -54
  190. package/src/core/components/toast/ToastProvider.tsx +0 -112
  191. package/src/core/components/toast/__workshop__/Hook.tsx +0 -71
  192. package/src/core/components/toast/__workshop__/Toast.tsx +0 -28
  193. package/src/core/components/toast/__workshop__/index.ts +0 -21
  194. package/src/core/components/toast/toastState.ts +0 -6
  195. package/src/core/components/toast/types.ts +0 -24
  196. package/src/core/components/toast/useToast.ts +0 -23
  197. package/src/core/components/tree/Tree.tsx +0 -248
  198. package/src/core/components/tree/TreeContext.ts +0 -10
  199. package/src/core/components/tree/TreeGroup.tsx +0 -46
  200. package/src/core/components/tree/TreeItem.tsx +0 -237
  201. package/src/core/components/tree/__workshop__/Basic.tsx +0 -105
  202. package/src/core/components/tree/__workshop__/TabFromElement.tsx +0 -84
  203. package/src/core/components/tree/__workshop__/basic.perf.ts +0 -19
  204. package/src/core/components/tree/__workshop__/index.ts +0 -23
  205. package/src/core/components/tree/helpers.ts +0 -105
  206. package/src/core/components/tree/types.ts +0 -24
  207. package/src/core/components/tree/useTree.ts +0 -17
  208. package/src/core/components/virtualList/VirtualList.tsx +0 -209
  209. package/src/core/components/virtualList/__workshop__/ChangingProps.tsx +0 -36
  210. package/src/core/components/virtualList/__workshop__/ElementScroll.tsx +0 -24
  211. package/src/core/components/virtualList/__workshop__/InfiniteList.tsx +0 -48
  212. package/src/core/components/virtualList/__workshop__/WindowScrolll.tsx +0 -22
  213. package/src/core/components/virtualList/__workshop__/index.ts +0 -31
  214. package/src/core/constants.ts +0 -67
  215. package/src/core/helpers/animation.ts +0 -27
  216. package/src/core/helpers/element.ts +0 -55
  217. package/src/core/helpers/focus.ts +0 -92
  218. package/src/core/helpers/props.ts +0 -28
  219. package/src/core/helpers/scroll.ts +0 -15
  220. package/src/core/hooks/useClickOutsideEvent.test.tsx +0 -114
  221. package/src/core/hooks/useClickOutsideEvent.ts +0 -67
  222. package/src/core/hooks/useCustomValidity.ts +0 -13
  223. package/src/core/hooks/useDelayed.test.ts +0 -67
  224. package/src/core/hooks/useDelayedState.ts +0 -28
  225. package/src/core/hooks/useElementSize.ts +0 -19
  226. package/src/core/hooks/useGlobalKeyDown.ts +0 -17
  227. package/src/core/hooks/useMatchMedia.ts +0 -28
  228. package/src/core/hooks/useMediaIndex/__workshop__/Test.tsx +0 -14
  229. package/src/core/hooks/useMediaIndex/__workshop__/index.ts +0 -16
  230. package/src/core/hooks/useMediaIndex/useMediaIndex.test.tsx +0 -21
  231. package/src/core/hooks/useMediaIndex/useMediaIndex.ts +0 -107
  232. package/src/core/hooks/useMounted.ts +0 -15
  233. package/src/core/hooks/usePrefersDark.hydration.test.tsx +0 -56
  234. package/src/core/hooks/usePrefersDark.test.tsx +0 -20
  235. package/src/core/hooks/usePrefersDark.ts +0 -16
  236. package/src/core/hooks/usePrefersReducedMotion.hydration.test.tsx +0 -56
  237. package/src/core/hooks/usePrefersReducedMotion.test.tsx +0 -20
  238. package/src/core/hooks/usePrefersReducedMotion.ts +0 -16
  239. package/src/core/hooks/useResponsiveProp.ts +0 -28
  240. package/src/core/index.ts +0 -118
  241. package/src/core/lib/createGlobalScopedContext.ts +0 -37
  242. package/src/core/lib/globalScope.ts +0 -19
  243. package/src/core/lib/isArray.ts +0 -3
  244. package/src/core/lib/isRecord.ts +0 -3
  245. package/src/core/middleware/origin.ts +0 -47
  246. package/src/core/observers/elementSize.ts +0 -116
  247. package/src/core/observers/resize.ts +0 -9
  248. package/src/core/primitives/arrow/Arrow.tsx +0 -74
  249. package/src/core/primitives/arrow/cmds.ts +0 -91
  250. package/src/core/primitives/avatar/Avatar.tsx +0 -147
  251. package/src/core/primitives/avatar/AvatarCounter.tsx +0 -69
  252. package/src/core/primitives/avatar/AvatarStack.tsx +0 -79
  253. package/src/core/primitives/avatar/__workshop__/AsButton.tsx +0 -21
  254. package/src/core/primitives/avatar/__workshop__/Stack.tsx +0 -29
  255. package/src/core/primitives/avatar/__workshop__/WithinButton.tsx +0 -55
  256. package/src/core/primitives/avatar/__workshop__/WithinMenuItem.tsx +0 -72
  257. package/src/core/primitives/avatar/__workshop__/index.ts +0 -31
  258. package/src/core/primitives/avatar/types.ts +0 -2
  259. package/src/core/primitives/badge/Badge.test.tsx +0 -16
  260. package/src/core/primitives/badge/Badge.tsx +0 -61
  261. package/src/core/primitives/badge/__workshop__/Props.tsx +0 -30
  262. package/src/core/primitives/badge/__workshop__/Tones.tsx +0 -16
  263. package/src/core/primitives/badge/__workshop__/index.ts +0 -21
  264. package/src/core/primitives/box/Box.tsx +0 -222
  265. package/src/core/primitives/box/__workshop__/Props.tsx +0 -25
  266. package/src/core/primitives/box/__workshop__/Responsive.tsx +0 -20
  267. package/src/core/primitives/box/__workshop__/index.ts +0 -21
  268. package/src/core/primitives/button/Button.test.tsx +0 -30
  269. package/src/core/primitives/button/Button.tsx +0 -193
  270. package/src/core/primitives/button/__workshop__/Custom.tsx +0 -27
  271. package/src/core/primitives/button/__workshop__/CustomIcons.tsx +0 -30
  272. package/src/core/primitives/button/__workshop__/Disabled.tsx +0 -54
  273. package/src/core/primitives/button/__workshop__/MixedChildren.tsx +0 -12
  274. package/src/core/primitives/button/__workshop__/Props.tsx +0 -77
  275. package/src/core/primitives/button/__workshop__/SanityUploadButton.tsx +0 -36
  276. package/src/core/primitives/button/__workshop__/Stacked.tsx +0 -74
  277. package/src/core/primitives/button/__workshop__/Styled1.tsx +0 -17
  278. package/src/core/primitives/button/__workshop__/Styled2.tsx +0 -19
  279. package/src/core/primitives/button/__workshop__/TextOverflow.tsx +0 -13
  280. package/src/core/primitives/button/__workshop__/UploadButton.tsx +0 -29
  281. package/src/core/primitives/button/__workshop__/index.ts +0 -66
  282. package/src/core/primitives/button/types.ts +0 -2
  283. package/src/core/primitives/card/Card.tsx +0 -109
  284. package/src/core/primitives/card/CardContext.ts +0 -10
  285. package/src/core/primitives/card/CardProvider.tsx +0 -27
  286. package/src/core/primitives/card/__workshop__/AsButton.tsx +0 -107
  287. package/src/core/primitives/card/__workshop__/AsComponent.tsx +0 -27
  288. package/src/core/primitives/card/__workshop__/Checkered.tsx +0 -26
  289. package/src/core/primitives/card/__workshop__/Interactive.tsx +0 -29
  290. package/src/core/primitives/card/__workshop__/ListNavigation.tsx +0 -78
  291. package/src/core/primitives/card/__workshop__/Props.tsx +0 -62
  292. package/src/core/primitives/card/__workshop__/Selected.tsx +0 -62
  293. package/src/core/primitives/card/__workshop__/Styled.tsx +0 -14
  294. package/src/core/primitives/card/__workshop__/Tones.tsx +0 -27
  295. package/src/core/primitives/card/__workshop__/index.ts +0 -20
  296. package/src/core/primitives/card/types.ts +0 -17
  297. package/src/core/primitives/card/useCard.ts +0 -15
  298. package/src/core/primitives/checkbox/Checkbox.tsx +0 -80
  299. package/src/core/primitives/checkbox/__workshop__/Example.tsx +0 -25
  300. package/src/core/primitives/checkbox/__workshop__/Props.tsx +0 -35
  301. package/src/core/primitives/checkbox/__workshop__/ReadOnly.tsx +0 -16
  302. package/src/core/primitives/checkbox/__workshop__/Tones.tsx +0 -27
  303. package/src/core/primitives/checkbox/__workshop__/index.ts +0 -15
  304. package/src/core/primitives/code/Code.tsx +0 -48
  305. package/src/core/primitives/code/Refractor.tsx +0 -18
  306. package/src/core/primitives/code/__workshop__/OpticalAlignment.tsx +0 -23
  307. package/src/core/primitives/code/__workshop__/Props.tsx +0 -23
  308. package/src/core/primitives/code/__workshop__/index.ts +0 -21
  309. package/src/core/primitives/container/Container.tsx +0 -37
  310. package/src/core/primitives/container/__workshop__/Example.tsx +0 -25
  311. package/src/core/primitives/container/__workshop__/index.ts +0 -10
  312. package/src/core/primitives/container/types.ts +0 -6
  313. package/src/core/primitives/flex/Flex.tsx +0 -58
  314. package/src/core/primitives/flex/__workshop__/Example.tsx +0 -40
  315. package/src/core/primitives/flex/__workshop__/Gap.tsx +0 -25
  316. package/src/core/primitives/flex/__workshop__/index.ts +0 -13
  317. package/src/core/primitives/grid/Grid.tsx +0 -35
  318. package/src/core/primitives/grid/__workshop__/Responsive.tsx +0 -54
  319. package/src/core/primitives/grid/__workshop__/index.ts +0 -12
  320. package/src/core/primitives/heading/Heading.tsx +0 -78
  321. package/src/core/primitives/heading/__workshop__/OpticalAlignment.tsx +0 -54
  322. package/src/core/primitives/heading/__workshop__/Plain.tsx +0 -40
  323. package/src/core/primitives/heading/__workshop__/index.ts +0 -21
  324. package/src/core/primitives/inline/Inline.tsx +0 -62
  325. package/src/core/primitives/inline/__workshop__/Plain.tsx +0 -28
  326. package/src/core/primitives/inline/__workshop__/index.ts +0 -10
  327. package/src/core/primitives/kbd/Kbd.tsx +0 -57
  328. package/src/core/primitives/kbd/__workshop__/Plain.tsx +0 -9
  329. package/src/core/primitives/kbd/__workshop__/index.ts +0 -10
  330. package/src/core/primitives/label/Label.tsx +0 -75
  331. package/src/core/primitives/label/__workshop__/OpticalAlignment.tsx +0 -54
  332. package/src/core/primitives/label/__workshop__/Plain.tsx +0 -42
  333. package/src/core/primitives/label/__workshop__/index.ts +0 -21
  334. package/src/core/primitives/layer/Layer.test.tsx +0 -110
  335. package/src/core/primitives/layer/Layer.tsx +0 -42
  336. package/src/core/primitives/layer/LayerCard.tsx +0 -90
  337. package/src/core/primitives/layer/LayerContext.ts +0 -7
  338. package/src/core/primitives/layer/LayerProvider.tsx +0 -106
  339. package/src/core/primitives/layer/__workshop__/MultipleRoots.tsx +0 -49
  340. package/src/core/primitives/layer/__workshop__/Nested.tsx +0 -98
  341. package/src/core/primitives/layer/__workshop__/ResponsiveZOffset.tsx +0 -17
  342. package/src/core/primitives/layer/__workshop__/_debug.tsx +0 -17
  343. package/src/core/primitives/layer/__workshop__/index.ts +0 -26
  344. package/src/core/primitives/layer/getLayerContext.test.ts +0 -32
  345. package/src/core/primitives/layer/getLayerContext.ts +0 -21
  346. package/src/core/primitives/layer/types.ts +0 -9
  347. package/src/core/primitives/layer/useLayer.ts +0 -24
  348. package/src/core/primitives/popover/Popover.tsx +0 -442
  349. package/src/core/primitives/popover/PopoverLayer.tsx +0 -149
  350. package/src/core/primitives/popover/__workshop__/AlignedStory.tsx +0 -89
  351. package/src/core/primitives/popover/__workshop__/MarginsStory.tsx +0 -31
  352. package/src/core/primitives/popover/__workshop__/MatchReferenceWidthStory.tsx +0 -34
  353. package/src/core/primitives/popover/__workshop__/OpenOnMountStory.tsx +0 -11
  354. package/src/core/primitives/popover/__workshop__/PlainStory.tsx +0 -79
  355. package/src/core/primitives/popover/__workshop__/RecursiveStory.tsx +0 -69
  356. package/src/core/primitives/popover/__workshop__/SidePanelStory.tsx +0 -102
  357. package/src/core/primitives/popover/__workshop__/TestStory.tsx +0 -106
  358. package/src/core/primitives/popover/__workshop__/index.ts +0 -51
  359. package/src/core/primitives/popover/constants.ts +0 -22
  360. package/src/core/primitives/popover/floating-ui/size.ts +0 -83
  361. package/src/core/primitives/popover/helpers.ts +0 -32
  362. package/src/core/primitives/popover/types.ts +0 -12
  363. package/src/core/primitives/radio/Radio.tsx +0 -64
  364. package/src/core/primitives/radio/__workshop__/Example.tsx +0 -63
  365. package/src/core/primitives/radio/__workshop__/Plain.tsx +0 -28
  366. package/src/core/primitives/radio/__workshop__/index.ts +0 -13
  367. package/src/core/primitives/select/Select.tsx +0 -75
  368. package/src/core/primitives/select/__workshop__/Plain.tsx +0 -43
  369. package/src/core/primitives/select/__workshop__/ReadOnly.tsx +0 -23
  370. package/src/core/primitives/select/__workshop__/index.ts +0 -13
  371. package/src/core/primitives/selectable/Selectable.tsx +0 -50
  372. package/src/core/primitives/skeleton/CodeSkeleton.tsx +0 -49
  373. package/src/core/primitives/skeleton/HeadingSkeleton.tsx +0 -48
  374. package/src/core/primitives/skeleton/LabelSkeleton.tsx +0 -47
  375. package/src/core/primitives/skeleton/Skeleton.tsx +0 -70
  376. package/src/core/primitives/skeleton/TextSkeleton.tsx +0 -49
  377. package/src/core/primitives/skeleton/__workshop__/Delay.tsx +0 -78
  378. package/src/core/primitives/skeleton/__workshop__/Skeleton.tsx +0 -72
  379. package/src/core/primitives/skeleton/__workshop__/index.ts +0 -13
  380. package/src/core/primitives/spinner/AnimatedSpinnerIcon.tsx +0 -14
  381. package/src/core/primitives/spinner/Spinner.tsx +0 -45
  382. package/src/core/primitives/spinner/__workshop__/Props.tsx +0 -20
  383. package/src/core/primitives/spinner/__workshop__/index.ts +0 -16
  384. package/src/core/primitives/srOnly/SrOnly.tsx +0 -33
  385. package/src/core/primitives/stack/Stack.tsx +0 -60
  386. package/src/core/primitives/stack/__workshop__/Plain.tsx +0 -35
  387. package/src/core/primitives/stack/__workshop__/index.ts +0 -16
  388. package/src/core/primitives/switch/Switch.tsx +0 -84
  389. package/src/core/primitives/switch/__workshop__/Example.tsx +0 -23
  390. package/src/core/primitives/switch/__workshop__/Props.tsx +0 -21
  391. package/src/core/primitives/switch/__workshop__/index.ts +0 -13
  392. package/src/core/primitives/text/Text.tsx +0 -76
  393. package/src/core/primitives/text/__workshop__/Colored.tsx +0 -30
  394. package/src/core/primitives/text/__workshop__/Example.tsx +0 -42
  395. package/src/core/primitives/text/__workshop__/OpticalAlignment.tsx +0 -23
  396. package/src/core/primitives/text/__workshop__/index.ts +0 -26
  397. package/src/core/primitives/textArea/TextArea.tsx +0 -84
  398. package/src/core/primitives/textArea/__workshop__/Plain.tsx +0 -69
  399. package/src/core/primitives/textArea/__workshop__/index.ts +0 -16
  400. package/src/core/primitives/textInput/TextInput.tsx +0 -258
  401. package/src/core/primitives/textInput/__workshop__/ClearButton.tsx +0 -30
  402. package/src/core/primitives/textInput/__workshop__/CustomValidity.tsx +0 -17
  403. package/src/core/primitives/textInput/__workshop__/Plain.tsx +0 -140
  404. package/src/core/primitives/textInput/__workshop__/ReadOnly.tsx +0 -9
  405. package/src/core/primitives/textInput/__workshop__/States.tsx +0 -53
  406. package/src/core/primitives/textInput/__workshop__/Tones.tsx +0 -277
  407. package/src/core/primitives/textInput/__workshop__/Typed.tsx +0 -29
  408. package/src/core/primitives/textInput/__workshop__/index.ts +0 -46
  409. package/src/core/primitives/tooltip/Tooltip.test.tsx +0 -452
  410. package/src/core/primitives/tooltip/Tooltip.tsx +0 -483
  411. package/src/core/primitives/tooltip/TooltipLayer.tsx +0 -106
  412. package/src/core/primitives/tooltip/__workshop__/CustomPortal.tsx +0 -104
  413. package/src/core/primitives/tooltip/__workshop__/OverflowingBoundary.tsx +0 -76
  414. package/src/core/primitives/tooltip/__workshop__/Props.tsx +0 -124
  415. package/src/core/primitives/tooltip/__workshop__/ResizableBoundary.tsx +0 -91
  416. package/src/core/primitives/tooltip/__workshop__/index.ts +0 -31
  417. package/src/core/primitives/tooltip/constants.ts +0 -23
  418. package/src/core/primitives/tooltip/tooltipDelayGroup/TooltipDelayGroupContext.tsx +0 -13
  419. package/src/core/primitives/tooltip/tooltipDelayGroup/TooltipDelayGroupProvider.tsx +0 -55
  420. package/src/core/primitives/tooltip/tooltipDelayGroup/types.ts +0 -10
  421. package/src/core/primitives/tooltip/tooltipDelayGroup/useTooltipDelayGroup.ts +0 -13
  422. package/src/core/types.ts +0 -56
  423. package/src/core/utils/ErrorBoundary.tsx +0 -50
  424. package/src/core/utils/boundaryElement/BoundaryElement.test.tsx +0 -102
  425. package/src/core/utils/boundaryElement/BoundaryElementContext.ts +0 -10
  426. package/src/core/utils/boundaryElement/BoundaryElementProvider.tsx +0 -18
  427. package/src/core/utils/boundaryElement/__workshop__/Plain.tsx +0 -19
  428. package/src/core/utils/boundaryElement/__workshop__/index.ts +0 -16
  429. package/src/core/utils/boundaryElement/types.ts +0 -5
  430. package/src/core/utils/boundaryElement/useBoundaryElement.ts +0 -24
  431. package/src/core/utils/elementQuery/ElementQuery.tsx +0 -75
  432. package/src/core/utils/elementQuery/__workshop__/CustomMedia.tsx +0 -41
  433. package/src/core/utils/elementQuery/__workshop__/index.ts +0 -16
  434. package/src/core/utils/elementQuery/helpers.ts +0 -27
  435. package/src/core/utils/getElementRef.ts +0 -29
  436. package/src/core/utils/portal/Portal.test.tsx +0 -105
  437. package/src/core/utils/portal/Portal.tsx +0 -36
  438. package/src/core/utils/portal/PortalContext.ts +0 -37
  439. package/src/core/utils/portal/PortalProvider.tsx +0 -70
  440. package/src/core/utils/portal/__workshop__/Named.tsx +0 -63
  441. package/src/core/utils/portal/__workshop__/index.ts +0 -16
  442. package/src/core/utils/portal/types.ts +0 -7
  443. package/src/core/utils/portal/usePortal.ts +0 -23
  444. package/src/css/_assign.ts +0 -3
  445. package/src/css/_composeClassNames.ts +0 -12
  446. package/src/css/_fromEntries.ts +0 -3
  447. package/src/css/_getClassNames.ts +0 -9
  448. package/src/css/_responsiveClassName.ts +0 -45
  449. package/src/css/_responsiveStyle.css.ts +0 -34
  450. package/src/css/_style.css.ts +0 -9
  451. package/src/css/components/breadcrumbs/breadcrumbs.css.ts +0 -6
  452. package/src/css/components/breadcrumbs/breadcrumbs.ts +0 -7
  453. package/src/css/components/dialog/dialog.css.ts +0 -98
  454. package/src/css/components/dialog/dialog.ts +0 -58
  455. package/src/css/components/menu/menu.css.ts +0 -14
  456. package/src/css/components/menu/menu.ts +0 -12
  457. package/src/css/components/skeleton/skeleton.css.ts +0 -128
  458. package/src/css/components/skeleton/skeleton.ts +0 -38
  459. package/src/css/components/skeleton/types.ts +0 -36
  460. package/src/css/components/toast/toast.css.ts +0 -17
  461. package/src/css/components/toast/toast.ts +0 -11
  462. package/src/css/components/tree/tree.css.ts +0 -65
  463. package/src/css/components/tree/tree.ts +0 -7
  464. package/src/css/constants.ts +0 -10
  465. package/src/css/getVarName.ts +0 -27
  466. package/src/css/index.ts +0 -146
  467. package/src/css/layers.css.ts +0 -12
  468. package/src/css/primitives/_arrow/_arrow.css.ts +0 -68
  469. package/src/css/primitives/_arrow/_arrow.ts +0 -26
  470. package/src/css/primitives/_input/_input.css.ts +0 -261
  471. package/src/css/primitives/_input/input.ts +0 -29
  472. package/src/css/primitives/_input/types.ts +0 -13
  473. package/src/css/primitives/avatar/avatar.css.ts +0 -201
  474. package/src/css/primitives/avatar/avatar.ts +0 -68
  475. package/src/css/primitives/avatar/types.ts +0 -10
  476. package/src/css/primitives/badge/badge.css.ts +0 -27
  477. package/src/css/primitives/badge/badge.ts +0 -8
  478. package/src/css/primitives/badge/types.ts +0 -13
  479. package/src/css/primitives/box/box.css.ts +0 -19
  480. package/src/css/primitives/box/box.ts +0 -82
  481. package/src/css/primitives/box/types.ts +0 -75
  482. package/src/css/primitives/button/button.css.ts +0 -287
  483. package/src/css/primitives/button/button.ts +0 -26
  484. package/src/css/primitives/button/types.ts +0 -12
  485. package/src/css/primitives/card/__workshop__/Color.tsx +0 -83
  486. package/src/css/primitives/card/__workshop__/index.ts +0 -16
  487. package/src/css/primitives/card/card.css.ts +0 -397
  488. package/src/css/primitives/card/card.ts +0 -13
  489. package/src/css/primitives/card/types.ts +0 -9
  490. package/src/css/primitives/checkbox/checkbox.css.ts +0 -193
  491. package/src/css/primitives/checkbox/checkbox.ts +0 -17
  492. package/src/css/primitives/code/code.css.ts +0 -272
  493. package/src/css/primitives/code/code.ts +0 -19
  494. package/src/css/primitives/code/types.ts +0 -11
  495. package/src/css/primitives/container/container.css.ts +0 -4
  496. package/src/css/primitives/container/container.ts +0 -17
  497. package/src/css/primitives/container/types.ts +0 -9
  498. package/src/css/primitives/heading/heading.css.ts +0 -86
  499. package/src/css/primitives/heading/heading.ts +0 -22
  500. package/src/css/primitives/heading/types.ts +0 -14
  501. package/src/css/primitives/kbd/kbd.css.ts +0 -16
  502. package/src/css/primitives/kbd/kbd.ts +0 -9
  503. package/src/css/primitives/kbd/types.ts +0 -6
  504. package/src/css/primitives/label/label.css.ts +0 -87
  505. package/src/css/primitives/label/label.ts +0 -22
  506. package/src/css/primitives/label/types.ts +0 -14
  507. package/src/css/primitives/popover/popover.css.ts +0 -6
  508. package/src/css/primitives/popover/popover.ts +0 -12
  509. package/src/css/primitives/radio/radio.css.ts +0 -78
  510. package/src/css/primitives/radio/radio.ts +0 -17
  511. package/src/css/primitives/root/root.css.ts +0 -20
  512. package/src/css/primitives/root/root.ts +0 -17
  513. package/src/css/primitives/root/types.ts +0 -10
  514. package/src/css/primitives/select/select.css.ts +0 -24
  515. package/src/css/primitives/select/select.ts +0 -14
  516. package/src/css/primitives/select/types.ts +0 -5
  517. package/src/css/primitives/selectable/selectable.css.ts +0 -131
  518. package/src/css/primitives/selectable/selectable.ts +0 -9
  519. package/src/css/primitives/selectable/types.ts +0 -9
  520. package/src/css/primitives/spinner/spinner.css.ts +0 -19
  521. package/src/css/primitives/spinner/spinner.ts +0 -13
  522. package/src/css/primitives/spinner/types.ts +0 -4
  523. package/src/css/primitives/srOnly/srOnly.css.ts +0 -10
  524. package/src/css/primitives/srOnly/srOnly.ts +0 -7
  525. package/src/css/primitives/stack/stack.css.ts +0 -6
  526. package/src/css/primitives/stack/stack.ts +0 -7
  527. package/src/css/primitives/switch/switch.css.ts +0 -98
  528. package/src/css/primitives/switch/switch.ts +0 -27
  529. package/src/css/primitives/text/text.css.ts +0 -86
  530. package/src/css/primitives/text/text.ts +0 -24
  531. package/src/css/primitives/text/types.ts +0 -18
  532. package/src/css/primitives/textArea/textArea.css.ts +0 -4
  533. package/src/css/primitives/textArea/textArea.ts +0 -9
  534. package/src/css/primitives/textArea/types.ts +0 -7
  535. package/src/css/primitives/textInput/textInput.css.ts +0 -43
  536. package/src/css/primitives/textInput/textInput.ts +0 -24
  537. package/src/css/primitives/textInput/types.ts +0 -7
  538. package/src/css/primitives/tooltip/tooltip.css.ts +0 -4
  539. package/src/css/primitives/tooltip/tooltip.ts +0 -8
  540. package/src/css/primitives/tooltip/types.ts +0 -4
  541. package/src/css/props/alignItems/alignItems.css.ts +0 -22
  542. package/src/css/props/alignItems/alignItems.ts +0 -8
  543. package/src/css/props/alignItems/types.ts +0 -9
  544. package/src/css/props/border/border.css.ts +0 -65
  545. package/src/css/props/border/border.ts +0 -21
  546. package/src/css/props/border/types.ts +0 -13
  547. package/src/css/props/boxSizing/boxSizing.css.ts +0 -12
  548. package/src/css/props/boxSizing/boxSizing.ts +0 -7
  549. package/src/css/props/boxSizing/types.ts +0 -7
  550. package/src/css/props/display/display.css.ts +0 -56
  551. package/src/css/props/display/display.ts +0 -8
  552. package/src/css/props/display/types.ts +0 -16
  553. package/src/css/props/flex/flex.css.ts +0 -52
  554. package/src/css/props/flex/flex.ts +0 -8
  555. package/src/css/props/flex/types.ts +0 -9
  556. package/src/css/props/flexDirection/flexDirection.css.ts +0 -19
  557. package/src/css/props/flexDirection/flexDirection.ts +0 -8
  558. package/src/css/props/flexDirection/types.ts +0 -9
  559. package/src/css/props/flexWrap/flexWrap.css.ts +0 -16
  560. package/src/css/props/flexWrap/flexWrap.ts +0 -8
  561. package/src/css/props/flexWrap/types.ts +0 -9
  562. package/src/css/props/font/font.css.ts +0 -94
  563. package/src/css/props/font/font.ts +0 -8
  564. package/src/css/props/font/types.ts +0 -6
  565. package/src/css/props/gap/gap.css.ts +0 -40
  566. package/src/css/props/gap/gap.ts +0 -13
  567. package/src/css/props/gap/types.ts +0 -10
  568. package/src/css/props/gridAutoColumns/gridAutoColumns.css.ts +0 -19
  569. package/src/css/props/gridAutoColumns/gridAutoColumns.ts +0 -8
  570. package/src/css/props/gridAutoColumns/types.ts +0 -9
  571. package/src/css/props/gridAutoFlow/gridAutoFlow.css.ts +0 -19
  572. package/src/css/props/gridAutoFlow/gridAutoFlow.ts +0 -8
  573. package/src/css/props/gridAutoFlow/types.ts +0 -9
  574. package/src/css/props/gridAutoRows/gridAutoRows.css.ts +0 -19
  575. package/src/css/props/gridAutoRows/gridAutoRows.ts +0 -8
  576. package/src/css/props/gridAutoRows/types.ts +0 -9
  577. package/src/css/props/gridColumn/gridColumn.css.ts +0 -49
  578. package/src/css/props/gridColumn/gridColumn.ts +0 -8
  579. package/src/css/props/gridColumn/types.ts +0 -9
  580. package/src/css/props/gridColumnEnd/gridColumnEnd.css.ts +0 -46
  581. package/src/css/props/gridColumnEnd/gridColumnEnd.ts +0 -8
  582. package/src/css/props/gridColumnEnd/types.ts +0 -9
  583. package/src/css/props/gridColumnStart/gridColumnStart.css.ts +0 -46
  584. package/src/css/props/gridColumnStart/gridColumnStart.ts +0 -8
  585. package/src/css/props/gridColumnStart/types.ts +0 -9
  586. package/src/css/props/gridRow/gridRow.css.ts +0 -49
  587. package/src/css/props/gridRow/gridRow.ts +0 -8
  588. package/src/css/props/gridRow/types.ts +0 -9
  589. package/src/css/props/gridRowEnd/gridRowEnd.css.ts +0 -46
  590. package/src/css/props/gridRowEnd/gridRowEnd.ts +0 -8
  591. package/src/css/props/gridRowEnd/types.ts +0 -9
  592. package/src/css/props/gridRowStart/gridRowStart.css.ts +0 -46
  593. package/src/css/props/gridRowStart/gridRowStart.ts +0 -8
  594. package/src/css/props/gridRowStart/types.ts +0 -9
  595. package/src/css/props/gridTemplateColumns/gridTemplateColumns.css.ts +0 -43
  596. package/src/css/props/gridTemplateColumns/gridTemplateColumns.ts +0 -8
  597. package/src/css/props/gridTemplateColumns/types.ts +0 -9
  598. package/src/css/props/gridTemplateRows/gridTemplateRows.css.ts +0 -43
  599. package/src/css/props/gridTemplateRows/gridTemplateRows.ts +0 -8
  600. package/src/css/props/gridTemplateRows/types.ts +0 -9
  601. package/src/css/props/height/height.css.ts +0 -25
  602. package/src/css/props/height/height.ts +0 -8
  603. package/src/css/props/height/types.ts +0 -9
  604. package/src/css/props/inset/inset.css.ts +0 -37
  605. package/src/css/props/inset/inset.ts +0 -21
  606. package/src/css/props/inset/types.ts +0 -13
  607. package/src/css/props/justifyContent/justifyContent.css.ts +0 -25
  608. package/src/css/props/justifyContent/justifyContent.ts +0 -8
  609. package/src/css/props/justifyContent/types.ts +0 -15
  610. package/src/css/props/margin/margin.css.ts +0 -117
  611. package/src/css/props/margin/margin.ts +0 -25
  612. package/src/css/props/margin/types.ts +0 -17
  613. package/src/css/props/maxWidth/maxWidth.css.ts +0 -32
  614. package/src/css/props/maxWidth/maxWidth.ts +0 -8
  615. package/src/css/props/maxWidth/types.ts +0 -11
  616. package/src/css/props/minHeight/minHeight.css.ts +0 -13
  617. package/src/css/props/minHeight/minHeight.ts +0 -8
  618. package/src/css/props/minHeight/types.ts +0 -9
  619. package/src/css/props/minWidth/minWidth.css.ts +0 -25
  620. package/src/css/props/minWidth/minWidth.ts +0 -8
  621. package/src/css/props/minWidth/types.ts +0 -9
  622. package/src/css/props/outline/outline.css.ts +0 -10
  623. package/src/css/props/outline/outline.ts +0 -8
  624. package/src/css/props/outline/types.ts +0 -7
  625. package/src/css/props/overflow/overflow.css.ts +0 -16
  626. package/src/css/props/overflow/overflow.ts +0 -8
  627. package/src/css/props/overflow/types.ts +0 -11
  628. package/src/css/props/padding/padding.css.ts +0 -87
  629. package/src/css/props/padding/padding.ts +0 -25
  630. package/src/css/props/padding/types.ts +0 -17
  631. package/src/css/props/pointerEvents/pointerEvents.css.ts +0 -13
  632. package/src/css/props/pointerEvents/pointerEvents.ts +0 -8
  633. package/src/css/props/pointerEvents/types.ts +0 -7
  634. package/src/css/props/position/position.css.ts +0 -22
  635. package/src/css/props/position/position.ts +0 -8
  636. package/src/css/props/position/types.ts +0 -9
  637. package/src/css/props/radius/radius.css.ts +0 -21
  638. package/src/css/props/radius/radius.ts +0 -8
  639. package/src/css/props/radius/types.ts +0 -8
  640. package/src/css/props/shadow/shadow.css.ts +0 -23
  641. package/src/css/props/shadow/shadow.ts +0 -8
  642. package/src/css/props/shadow/types.ts +0 -8
  643. package/src/css/props/textAlign/textAlign.css.ts +0 -22
  644. package/src/css/props/textAlign/textAlign.ts +0 -8
  645. package/src/css/props/textAlign/types.ts +0 -7
  646. package/src/css/props/textOverflow/textOverflow.css.ts +0 -19
  647. package/src/css/props/textOverflow/textOverflow.ts +0 -8
  648. package/src/css/props/textOverflow/types.ts +0 -12
  649. package/src/css/props/width/types.ts +0 -11
  650. package/src/css/props/width/width.css.ts +0 -31
  651. package/src/css/props/width/width.ts +0 -8
  652. package/src/css/theme/buildCSSTheme.ts +0 -492
  653. package/src/css/theme/defaultTheme.css.ts +0 -64
  654. package/src/css/types.ts +0 -431
  655. package/src/css/vars.css.ts +0 -680
  656. package/src/theme/_parseColorToken.ts +0 -180
  657. package/src/theme/buildTheme.ts +0 -32
  658. package/src/theme/constants.ts +0 -90
  659. package/src/theme/defaults/color.ts +0 -197
  660. package/src/theme/defaults/common.ts +0 -71
  661. package/src/theme/defaults/fonts.ts +0 -250
  662. package/src/theme/index.ts +0 -5
  663. package/src/theme/merge.ts +0 -24
  664. package/src/theme/resolveTokens.ts +0 -204
  665. package/src/theme/types.ts +0 -366
@@ -1,21 +0,0 @@
1
- /** @jest-environment node */
2
-
3
- import {renderToStaticMarkup, renderToString} from 'react-dom/server'
4
- import {describe, expect, it} from 'vitest'
5
-
6
- import {useMediaIndex} from './useMediaIndex'
7
-
8
- function Log() {
9
- const mediaIndex = useMediaIndex()
10
-
11
- return <>mediaIndex: {JSON.stringify(mediaIndex)}</>
12
- }
13
-
14
- describe('useMediaIndex', () => {
15
- it(`SSR to static markup returns 0`, () => {
16
- expect(renderToStaticMarkup(<Log />)).toBe('mediaIndex: 0')
17
- })
18
- it(`SSR to markup for hydration doesn't throw`, () => {
19
- expect(renderToString(<Log />)).toMatchInlineSnapshot(`"mediaIndex: <!-- -->0"`)
20
- })
21
- })
@@ -1,107 +0,0 @@
1
- import {type Breakpoint, BREAKPOINTS} from '@sanity/ui/css'
2
- import {useMemo, useSyncExternalStore} from 'react'
3
-
4
- const media = Object.values(BREAKPOINTS)
5
-
6
- /**
7
- * @internal
8
- */
9
- export interface _MediaStore {
10
- subscribe: (onStoreChange: () => void) => () => void
11
- getSnapshot: () => Breakpoint
12
- }
13
-
14
- type MediaQueryMinWidth = `(min-width: ${number}px)`
15
- type MediaQueryMaxWidth = `(max-width: ${number}px)`
16
- type MediaQueryMinMaxWidth = `${MediaQueryMinWidth} and ${MediaQueryMaxWidth}`
17
- type MediaQuery = `screen and ${MediaQueryMinWidth | MediaQueryMaxWidth | MediaQueryMinMaxWidth}`
18
-
19
- function _getMediaQuery(media: number[], index: number): MediaQuery {
20
- if (index === 0) {
21
- return `screen and (max-width: ${media[index + 1] - 1}px)`
22
- }
23
-
24
- if (index === media.length - 1) {
25
- return `screen and (min-width: ${media[index]}px)`
26
- }
27
-
28
- return `screen and (min-width: ${media[index]}px) and (max-width: ${media[index + 1] - 1}px)`
29
- }
30
-
31
- function _createMediaStore(): _MediaStore {
32
- const mediaLen = media.length
33
-
34
- let sizes: {mq: MediaQueryList; index: number}[] | undefined = undefined
35
-
36
- // The _createMediaStore function is called in both server and client environments.
37
- // However since subscribe and getSnapshot are only called on the client we lazy init what we need for them
38
- // so that we don't need to run checks for wether it's safe to call `window.matchMedia`
39
- const getSizes = () => {
40
- if (typeof window === 'undefined') {
41
- return sizes
42
- }
43
-
44
- if (!sizes) {
45
- sizes = []
46
-
47
- for (let index = mediaLen; index > -1; index -= 1) {
48
- const mediaQuery = _getMediaQuery(media, index)
49
-
50
- sizes.push({index, mq: window.matchMedia(mediaQuery)})
51
- }
52
- }
53
-
54
- return sizes
55
- }
56
-
57
- const getSnapshot = () => {
58
- for (const {index, mq} of getSizes() ?? []) {
59
- if (mq.matches) return index as Breakpoint
60
- }
61
-
62
- return 0
63
- }
64
-
65
- const subscribe = (onStoreChange: () => void) => {
66
- const disposeFns: (() => void)[] = []
67
-
68
- for (const {mq} of getSizes() ?? []) {
69
- const handleChange = () => {
70
- if (mq.matches) onStoreChange()
71
- }
72
-
73
- mq.addEventListener('change', handleChange)
74
-
75
- disposeFns.push(() => mq.removeEventListener('change', handleChange))
76
- }
77
-
78
- return () => {
79
- for (const disposeFn of disposeFns) {
80
- disposeFn()
81
- }
82
- }
83
- }
84
-
85
- return {getSnapshot, subscribe}
86
- }
87
-
88
- /**
89
- * Only called during server-side rendering, and hydration if using hydrateRoot
90
- * Since the server environment doesn't have access to the DOM, we can't determine the current value of the media query
91
- * and we assume `(prefers-color-scheme: light)` since it's the most common scheme
92
- *
93
- * @link https://beta.reactjs.org/apis/react/useSyncExternalStore#adding-support-for-server-rendering
94
- */
95
- function getServerSnapshot(): Breakpoint {
96
- return 0
97
- }
98
-
99
- /**
100
- * This API might change. DO NOT USE IN PRODUCTION.
101
- * @beta
102
- */
103
- export function useMediaIndex(): Breakpoint {
104
- const store = useMemo(() => _createMediaStore(), [])
105
-
106
- return useSyncExternalStore(store.subscribe, store.getSnapshot, getServerSnapshot)
107
- }
@@ -1,15 +0,0 @@
1
- import {useSyncExternalStore} from 'react'
2
-
3
- /**
4
- * Some components should only render after mounting to the DOM, and not be rendered at all during SSR renderToString or equivalent.
5
- * @public
6
- */
7
- export function useMounted(): boolean {
8
- return useSyncExternalStore(
9
- subscribe,
10
- () => true,
11
- () => false,
12
- )
13
- }
14
-
15
- const subscribe = () => () => {}
@@ -1,56 +0,0 @@
1
- /**
2
- * As this hook is used for top-level theming it's likely to be called while server-rendering
3
- * and that's why it's worth it to have a testing suite for hydration
4
- */
5
- import {waitFor} from '@testing-library/dom'
6
- import {hydrateRoot} from 'react-dom/client'
7
- import {afterAll, beforeAll, describe, expect, it, vi} from 'vitest'
8
-
9
- import {usePrefersDark} from './usePrefersDark'
10
-
11
- function Log() {
12
- const dark = usePrefersDark()
13
-
14
- return <>dark: {JSON.stringify(dark)}</>
15
- }
16
-
17
- const originalMatchMedia = window.matchMedia
18
-
19
- describe('usePrefersDark SSR hydration', () => {
20
- beforeAll(() => {
21
- window.matchMedia = () =>
22
- ({
23
- addEventListener: vi.fn(),
24
- removeEventListener: vi.fn(),
25
- matches: true,
26
- }) as unknown as MediaQueryList
27
- })
28
-
29
- afterAll(() => {
30
- window.matchMedia = originalMatchMedia
31
- })
32
-
33
- it(`hydrates without any warnings`, async () => {
34
- const spy = vi.spyOn(console, 'error') // .mockImplementation()
35
-
36
- const node = document.createElement('div')
37
-
38
- document.body.appendChild(node)
39
-
40
- node.innerHTML = `dark: <!-- -->false`
41
-
42
- hydrateRoot(node, <Log />)
43
-
44
- // It's false initially
45
- await waitFor(() => expect(node.innerHTML).toBe('dark: <!-- -->false'))
46
-
47
- // After hydration it should switch to true
48
- await waitFor(() => expect(node.innerHTML).toBe('dark: <!-- -->true'))
49
-
50
- // eslint-disable-next-line no-console
51
- expect(console.error).not.toHaveBeenCalled()
52
-
53
- spy.mockReset()
54
- spy.mockRestore()
55
- })
56
- })
@@ -1,20 +0,0 @@
1
- /** @jest-environment node */
2
- import {renderToStaticMarkup, renderToString} from 'react-dom/server'
3
- import {describe, expect, it} from 'vitest'
4
-
5
- import {usePrefersDark} from './usePrefersDark'
6
-
7
- function Log() {
8
- const dark = usePrefersDark()
9
-
10
- return <>dark: {JSON.stringify(dark)}</>
11
- }
12
-
13
- describe('usePrefersDark', () => {
14
- it(`SSR to static markup returns false`, () => {
15
- expect(renderToStaticMarkup(<Log />)).toBe('dark: false')
16
- })
17
- it(`SSR to markup for hydration doesn't throw`, () => {
18
- expect(renderToString(<Log />)).toMatchInlineSnapshot(`"dark: <!-- -->false"`)
19
- })
20
- })
@@ -1,16 +0,0 @@
1
- import {useMatchMedia} from './useMatchMedia'
2
-
3
- /**
4
- * Returns true if a dark color scheme is preferred, false if a light color scheme is preferred or the preference is not known.
5
- *
6
- * @param getServerSnapshot - Only called during server-side rendering, and hydration if using hydrateRoot. Since the server environment doesn't have access to the DOM, we can't determine the current value of the media query and we assume `(prefers-color-scheme: light)` since it's the most common scheme (https://dev/reference/react/useSyncExternalStore#adding-support-for-server-rendering)
7
- *
8
- * If you persist the detected preference in a cookie or a header then you may implement your own server snapshot to read it.
9
- * Chrome supports reading the `prefers-color-scheme` media query from a header if the server response: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Sec-CH-Prefers-Color-Scheme
10
- * @example https://gist.github.com/stipsan/13c0cccf8dfc34f4b44bb1b984baf7df
11
- *
12
- * @public
13
- */
14
- export function usePrefersDark(getServerSnapshot = () => false): boolean {
15
- return useMatchMedia('(prefers-color-scheme: dark)', getServerSnapshot)
16
- }
@@ -1,56 +0,0 @@
1
- /**
2
- * As this hook is used for top-level theming it's likely to be called while server-rendering
3
- * and that's why it's worth it to have a testing suite for hydration
4
- */
5
- import {waitFor} from '@testing-library/dom'
6
- import {hydrateRoot} from 'react-dom/client'
7
- import {afterAll, beforeAll, describe, expect, it, vi} from 'vitest'
8
-
9
- import {usePrefersReducedMotion} from './usePrefersReducedMotion'
10
-
11
- function Log() {
12
- const reduceMotion = usePrefersReducedMotion()
13
-
14
- return <>prefers-motion: {JSON.stringify(reduceMotion)}</>
15
- }
16
-
17
- const originalMatchMedia = window.matchMedia
18
-
19
- describe('usePrefersReducedMotion SSR hydration', () => {
20
- beforeAll(() => {
21
- window.matchMedia = () =>
22
- ({
23
- addEventListener: vi.fn(),
24
- removeEventListener: vi.fn(),
25
- matches: true,
26
- }) as unknown as MediaQueryList
27
- })
28
-
29
- afterAll(() => {
30
- window.matchMedia = originalMatchMedia
31
- })
32
-
33
- it(`hydrates without any warnings`, async () => {
34
- const spy = vi.spyOn(console, 'error') // .mockImplementation()
35
-
36
- const node = document.createElement('div')
37
-
38
- document.body.appendChild(node)
39
-
40
- node.innerHTML = `prefers-motion: <!-- -->false`
41
-
42
- hydrateRoot(node, <Log />)
43
-
44
- // It's false initially
45
- await waitFor(() => expect(node.innerHTML).toBe('prefers-motion: <!-- -->false'))
46
-
47
- // After hydration it should switch to true
48
- await waitFor(() => expect(node.innerHTML).toBe('prefers-motion: <!-- -->true'))
49
-
50
- // eslint-disable-next-line no-console
51
- expect(console.error).not.toHaveBeenCalled()
52
-
53
- spy.mockReset()
54
- spy.mockRestore()
55
- })
56
- })
@@ -1,20 +0,0 @@
1
- /** @jest-environment node */
2
- import {renderToStaticMarkup, renderToString} from 'react-dom/server'
3
- import {describe, expect, it} from 'vitest'
4
-
5
- import {usePrefersReducedMotion} from './usePrefersReducedMotion'
6
-
7
- function Log() {
8
- const reduceMotion = usePrefersReducedMotion()
9
-
10
- return <>prefers-motion: {JSON.stringify(reduceMotion)}</>
11
- }
12
-
13
- describe('usePrefersReducedMotion', () => {
14
- it(`SSR to static markup returns false`, () => {
15
- expect(renderToStaticMarkup(<Log />)).toBe('prefers-motion: false')
16
- })
17
- it(`SSR to markup for hydration doesn't throw`, () => {
18
- expect(renderToString(<Log />)).toMatchInlineSnapshot(`"prefers-motion: <!-- -->false"`)
19
- })
20
- })
@@ -1,16 +0,0 @@
1
- import {useMatchMedia} from './useMatchMedia'
2
-
3
- /**
4
- * Returns true if motion should be reduced
5
- *
6
- * @param getServerSnapshot - Only called during server-side rendering, and hydration if using hydrateRoot. Since the server environment doesn't have access to the DOM, we can't determine the current value of the media query and we assume `(prefers-reduced-motion: no-preference)` since it's the most common scheme (https://dev/reference/react/useSyncExternalStore#adding-support-for-server-rendering)
7
- *
8
- * If you persist the detected preference in a cookie or a header then you may implement your own server snapshot to read it.
9
- * Chrome supports reading the `prefers-reduced-motion` media query from a header if the server response: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Sec-CH-Prefers-Reduced-Motion
10
- * @example https://gist.github.com/stipsan/0c0f839a27842249cada893e9fb7767b
11
- *
12
- * @public
13
- */
14
- export function usePrefersReducedMotion(getServerSnapshot = () => false): boolean {
15
- return useMatchMedia('(prefers-reduced-motion: reduce)', getServerSnapshot)
16
- }
@@ -1,28 +0,0 @@
1
- import type {Breakpoint, ResponsiveProp} from '@sanity/ui/css'
2
- import {useState} from 'react'
3
-
4
- import {_getResponsiveProp} from '../helpers/props'
5
-
6
- /**
7
- * This API might change. DO NOT USE IN PRODUCTION.
8
- * @beta
9
- */
10
- export function useResponsiveProp<T>(
11
- val: ResponsiveProp<T> | undefined,
12
- defaultVal?: Partial<Record<Breakpoint, T>>,
13
- ): Partial<Record<Breakpoint, T>> {
14
- const [[cachedVal, cachedHash], setCache] = useState<[Partial<Record<Breakpoint, T>>, string]>(
15
- () => [_getResponsiveProp(val, defaultVal), JSON.stringify(val ?? defaultVal)],
16
- )
17
-
18
- const hash = JSON.stringify(val ?? defaultVal)
19
-
20
- if (hash !== cachedHash) {
21
- // If the cached hash has changed, update the cache right away.
22
- // Calling setState during render is fine in this case, and preferred over a useEffect loop
23
- // https://19.dev/learn/you-might-not-need-an-effect#adjusting-some-state-when-a-prop-changes
24
- setCache([_getResponsiveProp(val, defaultVal), hash])
25
- }
26
-
27
- return cachedVal
28
- }
package/src/core/index.ts DELETED
@@ -1,118 +0,0 @@
1
- // components
2
- export * from './components/autocomplete/Autocomplete'
3
- export * from './components/autocomplete/types'
4
- export * from './components/breadcrumbs/Breadcrumbs'
5
- export * from './components/dialog/Dialog'
6
- export * from './components/dialog/DialogContext'
7
- export * from './components/dialog/DialogProvider'
8
- export * from './components/dialog/types'
9
- export * from './components/dialog/useDialog'
10
- export * from './components/hotkeys/Hotkeys'
11
- export * from './components/menu/Menu'
12
- export * from './components/menu/MenuButton'
13
- export * from './components/menu/MenuDivider'
14
- export * from './components/menu/MenuGroup'
15
- export * from './components/menu/MenuItem'
16
- export * from './components/tab/Tab'
17
- export * from './components/tab/TabList'
18
- export * from './components/tab/TabPanel'
19
- export * from './components/toast/Toast'
20
- export * from './components/toast/ToastProvider'
21
- export * from './components/toast/types'
22
- export * from './components/toast/useToast'
23
- export * from './components/tree/Tree'
24
- export * from './components/tree/TreeItem'
25
- export * from './components/tree/types'
26
- export * from './components/tree/useTree'
27
- export * from './components/virtualList/VirtualList'
28
-
29
- // helpers
30
- export * from './helpers/animation'
31
- export * from './helpers/element'
32
- export * from './helpers/focus'
33
- export * from './helpers/props'
34
- export * from './helpers/scroll'
35
-
36
- // hooks
37
- export * from './hooks/useClickOutsideEvent'
38
- export * from './hooks/useCustomValidity'
39
- export * from './hooks/useElementSize'
40
- export * from './hooks/useGlobalKeyDown'
41
- export * from './hooks/useMatchMedia'
42
- export * from './hooks/useMediaIndex/useMediaIndex'
43
- export * from './hooks/usePrefersDark'
44
- export * from './hooks/usePrefersReducedMotion'
45
- export * from './hooks/useResponsiveProp'
46
-
47
- // observers
48
- export * from './observers/elementSize'
49
- export * from './observers/resize'
50
-
51
- // primitives
52
- export * from './primitives/arrow/Arrow'
53
- export * from './primitives/avatar/Avatar'
54
- export * from './primitives/avatar/AvatarCounter'
55
- export * from './primitives/avatar/AvatarStack'
56
- export * from './primitives/avatar/types'
57
- export * from './primitives/badge/Badge'
58
- export * from './primitives/box/Box'
59
- export * from './primitives/button/Button'
60
- export * from './primitives/button/types'
61
- export * from './primitives/card/Card'
62
- export * from './primitives/card/CardProvider'
63
- export * from './primitives/card/types'
64
- export * from './primitives/card/useCard'
65
- export * from './primitives/checkbox/Checkbox'
66
- export * from './primitives/code/Code'
67
- export * from './primitives/container/Container'
68
- export * from './primitives/container/types'
69
- export * from './primitives/flex/Flex'
70
- export * from './primitives/grid/Grid'
71
- export * from './primitives/heading/Heading'
72
- export * from './primitives/inline/Inline'
73
- export * from './primitives/kbd/Kbd'
74
- export * from './primitives/label/Label'
75
- export * from './primitives/layer/Layer'
76
- export * from './primitives/layer/LayerProvider'
77
- export * from './primitives/layer/types'
78
- export * from './primitives/layer/useLayer'
79
- export * from './primitives/popover/Popover'
80
- export * from './primitives/popover/types'
81
- export * from './primitives/radio/Radio'
82
- export * from './primitives/select/Select'
83
- export * from './primitives/selectable/Selectable'
84
- export * from './primitives/skeleton/CodeSkeleton'
85
- export * from './primitives/skeleton/HeadingSkeleton'
86
- export * from './primitives/skeleton/LabelSkeleton'
87
- export * from './primitives/skeleton/Skeleton'
88
- export * from './primitives/skeleton/TextSkeleton'
89
- export * from './primitives/spinner/Spinner'
90
- export * from './primitives/srOnly/SrOnly'
91
- export * from './primitives/stack/Stack'
92
- export * from './primitives/switch/Switch'
93
- export * from './primitives/text/Text'
94
- export * from './primitives/textArea/TextArea'
95
- export * from './primitives/textInput/TextInput'
96
- export * from './primitives/tooltip/Tooltip'
97
- export * from './primitives/tooltip/tooltipDelayGroup/TooltipDelayGroupContext'
98
- export * from './primitives/tooltip/tooltipDelayGroup/TooltipDelayGroupProvider'
99
- export * from './primitives/tooltip/tooltipDelayGroup/types'
100
- export * from './primitives/tooltip/tooltipDelayGroup/useTooltipDelayGroup'
101
-
102
- // utils
103
- export * from './utils/boundaryElement/BoundaryElementProvider'
104
- export * from './utils/boundaryElement/types'
105
- export * from './utils/boundaryElement/useBoundaryElement'
106
- export * from './utils/elementQuery/ElementQuery'
107
- export * from './utils/ErrorBoundary'
108
- export * from './utils/portal/Portal'
109
- export * from './utils/portal/PortalProvider'
110
- export * from './utils/portal/types'
111
- export * from './utils/portal/usePortal'
112
-
113
- // root
114
- export * from './Root'
115
- export * from './RootProvider'
116
-
117
- // types
118
- export * from './types'
@@ -1,37 +0,0 @@
1
- /**
2
- * As `@sanity/ui` is declared as a dependency, and may be duplicated, sometimes across major versions
3
- * it's critical that vital react contexts are shared even when there is a duplicate.
4
- * If we used a model similar to `sanity` itself, or `styled-components`, this would be unnecessary as
5
- * those libraries enforce single instances.
6
- * Since we don't enforce it we have to support a sanity plugin being able to call hooks like `useToast`, and then
7
- * read the context setup by `sanity`, which calls `ToastProvider`, even if the provider and hook are different instances in memory.
8
- * It's also why it's vital that all changes to globally scoped providers remain fully backwards compatible to v1.
9
- */
10
-
11
- import {type Context, createContext} from 'react'
12
-
13
- import {globalScope} from './globalScope'
14
-
15
- export function createGlobalScopedContext<ContextType, const T extends ContextType = ContextType>(
16
- /**
17
- * Enforce that all Symbol.for keys used for globally scoped contexts have a predictable prefix
18
- */
19
- key: `@sanity/ui/v3/${string}`,
20
- defaultValue: T,
21
- ): Context<ContextType> {
22
- const symbol = Symbol.for(key)
23
-
24
- /**
25
- * Prevent errors about re-renders on React SSR on Next.js App Router
26
- */
27
- if (typeof document === 'undefined') {
28
- return createContext<ContextType>(defaultValue)
29
- }
30
-
31
- // Use the global scope as a map of symbols to contexts
32
- const symbolMap = globalScope as Record<symbol, Context<ContextType>>
33
-
34
- symbolMap[symbol] = symbolMap[symbol] || createContext<T>(defaultValue)
35
-
36
- return symbolMap[symbol]
37
- }
@@ -1,19 +0,0 @@
1
- /**
2
- * Gets the global scope instance in a given environment.
3
- *
4
- * The strategy is to return the most modern, and if not, the most common:
5
- * - The `globalThis` variable is the modern approach to accessing the global scope
6
- * - The `window` variable is the global scope in a web browser
7
- * - The `self` variable is the global scope in workers and others
8
- * - The `global` variable is the global scope in Node.js
9
- */
10
- function getGlobalScope() {
11
- if (typeof globalThis !== 'undefined') return globalThis
12
- if (typeof window !== 'undefined') return window
13
- if (typeof self !== 'undefined') return self
14
- if (typeof global !== 'undefined') return global
15
-
16
- throw new Error('@sanity/ui: could not locate global scope')
17
- }
18
-
19
- export const globalScope: typeof globalThis = getGlobalScope()
@@ -1,3 +0,0 @@
1
- export function isArray(val: unknown): val is unknown[] {
2
- return Array.isArray(val)
3
- }
@@ -1,3 +0,0 @@
1
- export function isRecord(value: unknown): value is Record<string, unknown> {
2
- return Boolean(value && typeof value === 'object' && !Array.isArray(value))
3
- }
@@ -1,47 +0,0 @@
1
- import type {Middleware} from '@floating-ui/react-dom'
2
-
3
- /**
4
- * Custom floating-ui middleware which calculates transform-origin X + Y offsets
5
- * based on the current floating rect's dimensions and shift offset.
6
- *
7
- * Scaling popovers with these transform-origin offsets will give the effect of
8
- * popvers slightly 'growing' from the origin/reference element.
9
- *
10
- * This middleware must be applied after both `@sanity/ui/size` and `shift` middlewares.
11
- */
12
- export const origin: Middleware = {
13
- name: '@sanity/ui/origin',
14
- fn({middlewareData, placement, rects}) {
15
- const [side] = placement.split('-')
16
-
17
- const floatingWidth = rects.floating.width
18
- const floatingHeight = rects.floating.height
19
-
20
- const shiftX = middlewareData.shift?.x || 0
21
- const shiftY = middlewareData.shift?.y || 0
22
-
23
- if (floatingWidth <= 0 || floatingHeight <= 0) {
24
- return {}
25
- }
26
-
27
- const isVerticalPlacement = ['bottom', 'top'].includes(side)
28
-
29
- const {originX, originY}: {originX: number; originY: number} = isVerticalPlacement
30
- ? {
31
- originX: clamp(0.5 - shiftX / floatingWidth, 0, 1),
32
- originY: side === 'bottom' ? 0 : 1,
33
- }
34
- : {
35
- originX: side === 'left' ? 1 : 0,
36
- originY: clamp(0.5 - shiftY / floatingHeight, 0, 1),
37
- }
38
-
39
- return {
40
- data: {originX, originY},
41
- }
42
- },
43
- }
44
-
45
- function clamp(num: number, min: number, max: number) {
46
- return Math.min(Math.max(num, min), max)
47
- }