@sanity/ui 4.0.0-beta.8 → 4.0.0-next.0

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 (393) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +21 -7
  3. package/dist/_chunks/getScopedTheme.cjs +4043 -0
  4. package/dist/_chunks/getScopedTheme.cjs.map +1 -0
  5. package/dist/_chunks/getScopedTheme.js +3803 -0
  6. package/dist/_chunks/getScopedTheme.js.map +1 -0
  7. package/dist/_chunks/portalProvider.cjs +3750 -0
  8. package/dist/_chunks/portalProvider.cjs.map +1 -0
  9. package/dist/_chunks/portalProvider.d.cts +1067 -0
  10. package/dist/_chunks/portalProvider.d.cts.map +1 -0
  11. package/dist/_chunks/portalProvider.d.ts +1067 -0
  12. package/dist/_chunks/portalProvider.d.ts.map +1 -0
  13. package/dist/_chunks/portalProvider.js +3300 -0
  14. package/dist/_chunks/portalProvider.js.map +1 -0
  15. package/dist/_chunks/refractor.cjs +18 -0
  16. package/dist/_chunks/refractor.cjs.map +1 -0
  17. package/dist/_chunks/refractor.js +20 -0
  18. package/dist/_chunks/refractor.js.map +1 -0
  19. package/dist/_chunks/rgba.d.cts +929 -0
  20. package/dist/_chunks/rgba.d.cts.map +1 -0
  21. package/dist/_chunks/rgba.d.ts +929 -0
  22. package/dist/_chunks/rgba.d.ts.map +1 -0
  23. package/dist/_visual-editing.cjs +4 -0
  24. package/dist/_visual-editing.d.cts +2 -0
  25. package/dist/_visual-editing.d.ts +2 -0
  26. package/dist/_visual-editing.js +3 -0
  27. package/dist/index.cjs +3007 -0
  28. package/dist/index.cjs.map +1 -0
  29. package/dist/index.d.cts +1275 -0
  30. package/dist/index.d.cts.map +1 -0
  31. package/dist/index.d.ts +708 -1188
  32. package/dist/index.d.ts.map +1 -1
  33. package/dist/index.js +2964 -4783
  34. package/dist/index.js.map +1 -1
  35. package/dist/theme.cjs +54 -0
  36. package/dist/theme.cjs.map +1 -0
  37. package/dist/theme.d.cts +278 -0
  38. package/dist/theme.d.cts.map +1 -0
  39. package/dist/theme.d.ts +278 -0
  40. package/dist/theme.d.ts.map +1 -0
  41. package/dist/theme.js +53 -0
  42. package/dist/theme.js.map +1 -0
  43. package/package.json +65 -88
  44. package/dist/_chunks-es/Syntax.js +0 -23
  45. package/dist/_chunks-es/Syntax.js.map +0 -1
  46. package/dist/index.css +0 -1
  47. package/exports/index.css +0 -1
  48. package/exports/index.ts +0 -125
  49. package/src/components/autocomplete/Autocomplete.tsx +0 -665
  50. package/src/components/autocomplete/AutocompleteOption.tsx +0 -42
  51. package/src/components/autocomplete/__workshop__/Async.tsx +0 -162
  52. package/src/components/autocomplete/__workshop__/ConstrainedHeight.tsx +0 -121
  53. package/src/components/autocomplete/__workshop__/Custom.tsx +0 -91
  54. package/src/components/autocomplete/__workshop__/Example.tsx +0 -70
  55. package/src/components/autocomplete/__workshop__/FocusAndBlur.tsx +0 -39
  56. package/src/components/autocomplete/__workshop__/Fullscreen.tsx +0 -307
  57. package/src/components/autocomplete/__workshop__/index.ts +0 -41
  58. package/src/components/autocomplete/__workshop__/mock/apiStore.ts +0 -49
  59. package/src/components/autocomplete/__workshop__/mock/countries.ts +0 -245
  60. package/src/components/autocomplete/__workshop__/types.ts +0 -4
  61. package/src/components/autocomplete/autocompleteReducer.ts +0 -47
  62. package/src/components/autocomplete/constants.ts +0 -28
  63. package/src/components/autocomplete/types.ts +0 -103
  64. package/src/components/breadcrumbs/Breadcrumbs.tsx +0 -163
  65. package/src/components/breadcrumbs/__workshop__/Example.tsx +0 -48
  66. package/src/components/breadcrumbs/__workshop__/index.ts +0 -16
  67. package/src/components/dialog/Dialog.tsx +0 -230
  68. package/src/components/dialog/DialogCard.tsx +0 -233
  69. package/src/components/dialog/DialogContext.ts +0 -21
  70. package/src/components/dialog/DialogProvider.tsx +0 -34
  71. package/src/components/dialog/__workshop__/Activate.tsx +0 -141
  72. package/src/components/dialog/__workshop__/AutoFocus.tsx +0 -29
  73. package/src/components/dialog/__workshop__/Layering.tsx +0 -41
  74. package/src/components/dialog/__workshop__/Nested.tsx +0 -71
  75. package/src/components/dialog/__workshop__/OnScroll.tsx +0 -51
  76. package/src/components/dialog/__workshop__/Panes.tsx +0 -75
  77. package/src/components/dialog/__workshop__/Position.tsx +0 -30
  78. package/src/components/dialog/__workshop__/Props.tsx +0 -93
  79. package/src/components/dialog/__workshop__/Provider.tsx +0 -11
  80. package/src/components/dialog/__workshop__/Wrapped.tsx +0 -76
  81. package/src/components/dialog/__workshop__/index.ts +0 -21
  82. package/src/components/dialog/isTargetWithinScope.ts +0 -14
  83. package/src/components/dialog/types.ts +0 -2
  84. package/src/components/dialog/useDialog.ts +0 -11
  85. package/src/components/hotkeys/Hotkeys.tsx +0 -70
  86. package/src/components/hotkeys/__workshop__/Plain.tsx +0 -9
  87. package/src/components/hotkeys/__workshop__/index.ts +0 -16
  88. package/src/components/menu/Menu.test.tsx +0 -125
  89. package/src/components/menu/Menu.tsx +0 -174
  90. package/src/components/menu/MenuButton.tsx +0 -231
  91. package/src/components/menu/MenuContext.ts +0 -19
  92. package/src/components/menu/MenuDivider.tsx +0 -32
  93. package/src/components/menu/MenuGroup.tsx +0 -240
  94. package/src/components/menu/MenuItem.tsx +0 -153
  95. package/src/components/menu/__workshop__/AsComponent.tsx +0 -45
  96. package/src/components/menu/__workshop__/AvatarMenu.tsx +0 -36
  97. package/src/components/menu/__workshop__/ClosableMenuButton.tsx +0 -47
  98. package/src/components/menu/__workshop__/ConstrainedInBoundary.tsx +0 -133
  99. package/src/components/menu/__workshop__/CustomMenuItem.tsx +0 -47
  100. package/src/components/menu/__workshop__/CustomSelectedState.tsx +0 -35
  101. package/src/components/menu/__workshop__/DataProps.tsx +0 -27
  102. package/src/components/menu/__workshop__/DisableFocusOnClose.tsx +0 -40
  103. package/src/components/menu/__workshop__/Groups.tsx +0 -164
  104. package/src/components/menu/__workshop__/MenuButton.tsx +0 -79
  105. package/src/components/menu/__workshop__/MenuGroupRight.tsx +0 -73
  106. package/src/components/menu/__workshop__/NestedMenu.tsx +0 -22
  107. package/src/components/menu/__workshop__/OnCloseMenuButton.tsx +0 -50
  108. package/src/components/menu/__workshop__/SelectedItem.tsx +0 -69
  109. package/src/components/menu/__workshop__/ShouldFocus.tsx +0 -42
  110. package/src/components/menu/__workshop__/Tones.tsx +0 -19
  111. package/src/components/menu/__workshop__/index.ts +0 -91
  112. package/src/components/menu/helpers.ts +0 -82
  113. package/src/components/menu/useMenu.ts +0 -21
  114. package/src/components/menu/useMenuController.ts +0 -245
  115. package/src/components/tab/Tab.tsx +0 -135
  116. package/src/components/tab/TabList.tsx +0 -157
  117. package/src/components/tab/TabListContext.ts +0 -10
  118. package/src/components/tab/TabPanel.tsx +0 -94
  119. package/src/components/tab/__workshop__/Example.tsx +0 -135
  120. package/src/components/tab/__workshop__/index.ts +0 -16
  121. package/src/components/tab/types.ts +0 -11
  122. package/src/components/toast/Toast.test.tsx +0 -103
  123. package/src/components/toast/Toast.tsx +0 -191
  124. package/src/components/toast/ToastContext.ts +0 -7
  125. package/src/components/toast/ToastLayer.tsx +0 -54
  126. package/src/components/toast/ToastProvider.tsx +0 -127
  127. package/src/components/toast/__workshop__/Hook.tsx +0 -71
  128. package/src/components/toast/__workshop__/Toast.tsx +0 -26
  129. package/src/components/toast/__workshop__/index.ts +0 -21
  130. package/src/components/toast/toastState.ts +0 -6
  131. package/src/components/toast/types.ts +0 -24
  132. package/src/components/toast/useToast.ts +0 -23
  133. package/src/components/tree/Tree.tsx +0 -248
  134. package/src/components/tree/TreeContext.ts +0 -10
  135. package/src/components/tree/TreeGroup.tsx +0 -46
  136. package/src/components/tree/TreeItem.tsx +0 -236
  137. package/src/components/tree/__workshop__/Basic.tsx +0 -108
  138. package/src/components/tree/__workshop__/TabFromElement.tsx +0 -84
  139. package/src/components/tree/__workshop__/basic.perf.ts +0 -19
  140. package/src/components/tree/__workshop__/index.ts +0 -23
  141. package/src/components/tree/helpers.ts +0 -105
  142. package/src/components/tree/types.ts +0 -24
  143. package/src/components/tree/useTree.ts +0 -17
  144. package/src/components/virtualList/VirtualList.tsx +0 -254
  145. package/src/components/virtualList/__workshop__/ChangingProps.tsx +0 -41
  146. package/src/components/virtualList/__workshop__/ElementScroll.tsx +0 -43
  147. package/src/components/virtualList/__workshop__/InfiniteList.tsx +0 -40
  148. package/src/components/virtualList/__workshop__/WindowScrolll.tsx +0 -23
  149. package/src/components/virtualList/__workshop__/index.ts +0 -31
  150. package/src/core/_keys.ts +0 -26
  151. package/src/core/constants.ts +0 -67
  152. package/src/core/getElementRef.ts +0 -29
  153. package/src/core/helpers/animation.ts +0 -26
  154. package/src/core/helpers/element.ts +0 -55
  155. package/src/core/helpers/focus.ts +0 -92
  156. package/src/core/helpers/props.ts +0 -51
  157. package/src/core/helpers/scroll.ts +0 -15
  158. package/src/core/lib/createGlobalScopedContext.ts +0 -39
  159. package/src/core/lib/globalScope.ts +0 -19
  160. package/src/core/lib/isArray.ts +0 -3
  161. package/src/core/lib/isRecord.ts +0 -3
  162. package/src/core/types.ts +0 -57
  163. package/src/hooks/useClickOutsideEvent.test.tsx +0 -114
  164. package/src/hooks/useClickOutsideEvent.ts +0 -66
  165. package/src/hooks/useCustomValidity.ts +0 -13
  166. package/src/hooks/useElementSize.ts +0 -19
  167. package/src/hooks/useGlobalKeyDown.ts +0 -23
  168. package/src/hooks/useMatchMedia.ts +0 -28
  169. package/src/hooks/useMediaIndex/__workshop__/Test.tsx +0 -14
  170. package/src/hooks/useMediaIndex/__workshop__/index.ts +0 -16
  171. package/src/hooks/useMediaIndex/useMediaIndex.test.tsx +0 -21
  172. package/src/hooks/useMediaIndex/useMediaIndex.ts +0 -111
  173. package/src/hooks/useMounted.ts +0 -15
  174. package/src/hooks/usePrefersDark.hydration.test.tsx +0 -56
  175. package/src/hooks/usePrefersDark.test.tsx +0 -20
  176. package/src/hooks/usePrefersDark.ts +0 -16
  177. package/src/hooks/usePrefersReducedMotion.hydration.test.tsx +0 -56
  178. package/src/hooks/usePrefersReducedMotion.test.tsx +0 -20
  179. package/src/hooks/usePrefersReducedMotion.ts +0 -16
  180. package/src/hooks/useResponsiveProp.ts +0 -14
  181. package/src/hooks/useUnique.ts +0 -54
  182. package/src/middleware/origin.ts +0 -47
  183. package/src/observers/elementSize.ts +0 -114
  184. package/src/primitives/_syntax/LazySyntax.tsx +0 -4
  185. package/src/primitives/_syntax/Syntax.tsx +0 -26
  186. package/src/primitives/avatar/Avatar.tsx +0 -145
  187. package/src/primitives/avatar/AvatarCounter.tsx +0 -69
  188. package/src/primitives/avatar/AvatarStack.tsx +0 -77
  189. package/src/primitives/avatar/__workshop__/AsButton.tsx +0 -12
  190. package/src/primitives/avatar/__workshop__/PropsStory.tsx +0 -24
  191. package/src/primitives/avatar/__workshop__/Stack.tsx +0 -27
  192. package/src/primitives/avatar/__workshop__/WithinButton.tsx +0 -51
  193. package/src/primitives/avatar/__workshop__/WithinMenuItem.tsx +0 -52
  194. package/src/primitives/avatar/__workshop__/index.ts +0 -36
  195. package/src/primitives/avatar/types.ts +0 -2
  196. package/src/primitives/badge/Badge.test.tsx +0 -16
  197. package/src/primitives/badge/Badge.tsx +0 -53
  198. package/src/primitives/badge/__workshop__/Props.tsx +0 -27
  199. package/src/primitives/badge/__workshop__/Tones.tsx +0 -15
  200. package/src/primitives/badge/__workshop__/index.ts +0 -26
  201. package/src/primitives/badge/__workshop__/within-button.tsx +0 -36
  202. package/src/primitives/box/Box.tsx +0 -73
  203. package/src/primitives/box/__workshop__/Props.tsx +0 -26
  204. package/src/primitives/box/__workshop__/Responsive.tsx +0 -19
  205. package/src/primitives/box/__workshop__/index.ts +0 -21
  206. package/src/primitives/button/Button.test.tsx +0 -30
  207. package/src/primitives/button/Button.tsx +0 -148
  208. package/src/primitives/button/__workshop__/Custom.tsx +0 -39
  209. package/src/primitives/button/__workshop__/CustomIcons.tsx +0 -37
  210. package/src/primitives/button/__workshop__/DataProps.tsx +0 -18
  211. package/src/primitives/button/__workshop__/Disabled.tsx +0 -43
  212. package/src/primitives/button/__workshop__/MixedChildren.tsx +0 -12
  213. package/src/primitives/button/__workshop__/Props.tsx +0 -60
  214. package/src/primitives/button/__workshop__/Stacked.tsx +0 -60
  215. package/src/primitives/button/__workshop__/Styled1.css.ts +0 -7
  216. package/src/primitives/button/__workshop__/Styled1.tsx +0 -11
  217. package/src/primitives/button/__workshop__/TextOverflow.tsx +0 -17
  218. package/src/primitives/button/__workshop__/UploadButton.tsx +0 -28
  219. package/src/primitives/button/__workshop__/index.ts +0 -61
  220. package/src/primitives/button/types.ts +0 -2
  221. package/src/primitives/card/Card.tsx +0 -124
  222. package/src/primitives/card/CardContext.ts +0 -10
  223. package/src/primitives/card/CardInternalContext.ts +0 -10
  224. package/src/primitives/card/CardInternalProvider.tsx +0 -15
  225. package/src/primitives/card/CardProvider.tsx +0 -16
  226. package/src/primitives/card/__workshop__/AsButton.tsx +0 -103
  227. package/src/primitives/card/__workshop__/AsComponent.tsx +0 -25
  228. package/src/primitives/card/__workshop__/Checkered.tsx +0 -25
  229. package/src/primitives/card/__workshop__/DataProps.tsx +0 -25
  230. package/src/primitives/card/__workshop__/Interactive.tsx +0 -29
  231. package/src/primitives/card/__workshop__/ListNavigation.tsx +0 -78
  232. package/src/primitives/card/__workshop__/Props.tsx +0 -59
  233. package/src/primitives/card/__workshop__/Selected.tsx +0 -62
  234. package/src/primitives/card/__workshop__/Styled.tsx +0 -11
  235. package/src/primitives/card/__workshop__/Tones.tsx +0 -26
  236. package/src/primitives/card/__workshop__/index.ts +0 -21
  237. package/src/primitives/card/types.ts +0 -21
  238. package/src/primitives/card/useCard.ts +0 -20
  239. package/src/primitives/checkbox/Checkbox.tsx +0 -80
  240. package/src/primitives/checkbox/__workshop__/Example.tsx +0 -25
  241. package/src/primitives/checkbox/__workshop__/Props.tsx +0 -35
  242. package/src/primitives/checkbox/__workshop__/ReadOnly.tsx +0 -16
  243. package/src/primitives/checkbox/__workshop__/Tones.tsx +0 -26
  244. package/src/primitives/checkbox/__workshop__/index.ts +0 -15
  245. package/src/primitives/code/Code.tsx +0 -47
  246. package/src/primitives/code/__workshop__/OpticalAlignment.tsx +0 -25
  247. package/src/primitives/code/__workshop__/Props.tsx +0 -20
  248. package/src/primitives/code/__workshop__/index.ts +0 -21
  249. package/src/primitives/container/Container.tsx +0 -43
  250. package/src/primitives/container/__workshop__/Example.tsx +0 -16
  251. package/src/primitives/container/__workshop__/index.ts +0 -16
  252. package/src/primitives/container/types.ts +0 -6
  253. package/src/primitives/flex/Flex.tsx +0 -38
  254. package/src/primitives/flex/__workshop__/Example.tsx +0 -26
  255. package/src/primitives/flex/__workshop__/Gap.tsx +0 -25
  256. package/src/primitives/flex/__workshop__/index.ts +0 -13
  257. package/src/primitives/flex/__workshop__/styles.css.ts +0 -12
  258. package/src/primitives/grid/Grid.tsx +0 -38
  259. package/src/primitives/grid/__workshop__/Responsive.tsx +0 -54
  260. package/src/primitives/grid/__workshop__/index.ts +0 -12
  261. package/src/primitives/heading/Heading.tsx +0 -68
  262. package/src/primitives/heading/__workshop__/OpticalAlignment.tsx +0 -27
  263. package/src/primitives/heading/__workshop__/Plain.tsx +0 -25
  264. package/src/primitives/heading/__workshop__/index.ts +0 -21
  265. package/src/primitives/inline/Inline.tsx +0 -37
  266. package/src/primitives/inline/__workshop__/Plain.tsx +0 -22
  267. package/src/primitives/inline/__workshop__/index.ts +0 -10
  268. package/src/primitives/kbd/Kbd.tsx +0 -36
  269. package/src/primitives/kbd/__workshop__/Plain.tsx +0 -9
  270. package/src/primitives/kbd/__workshop__/index.ts +0 -10
  271. package/src/primitives/label/Label.tsx +0 -67
  272. package/src/primitives/label/__workshop__/OpticalAlignment.tsx +0 -27
  273. package/src/primitives/label/__workshop__/Plain.tsx +0 -27
  274. package/src/primitives/label/__workshop__/index.ts +0 -21
  275. package/src/primitives/layer/Layer.test.tsx +0 -110
  276. package/src/primitives/layer/Layer.tsx +0 -35
  277. package/src/primitives/layer/LayerCard.tsx +0 -90
  278. package/src/primitives/layer/LayerContext.ts +0 -7
  279. package/src/primitives/layer/LayerProvider.tsx +0 -106
  280. package/src/primitives/layer/__workshop__/MultipleRoots.tsx +0 -49
  281. package/src/primitives/layer/__workshop__/Nested.tsx +0 -107
  282. package/src/primitives/layer/__workshop__/ResponsiveZOffset.tsx +0 -17
  283. package/src/primitives/layer/__workshop__/_debug.tsx +0 -17
  284. package/src/primitives/layer/__workshop__/index.ts +0 -26
  285. package/src/primitives/layer/getLayerContext.test.ts +0 -32
  286. package/src/primitives/layer/getLayerContext.ts +0 -21
  287. package/src/primitives/layer/types.ts +0 -9
  288. package/src/primitives/layer/useLayer.ts +0 -24
  289. package/src/primitives/popover/Popover.tsx +0 -291
  290. package/src/primitives/popover/PopoverLayer.tsx +0 -101
  291. package/src/primitives/popover/__workshop__/AlignedStory.tsx +0 -75
  292. package/src/primitives/popover/__workshop__/MarginsStory.tsx +0 -31
  293. package/src/primitives/popover/__workshop__/MatchReferenceWidthStory.tsx +0 -32
  294. package/src/primitives/popover/__workshop__/OpenOnMountStory.tsx +0 -11
  295. package/src/primitives/popover/__workshop__/PlainStory.tsx +0 -67
  296. package/src/primitives/popover/__workshop__/RecursiveStory.tsx +0 -71
  297. package/src/primitives/popover/__workshop__/SidePanelStory.tsx +0 -95
  298. package/src/primitives/popover/__workshop__/TestStory.tsx +0 -97
  299. package/src/primitives/popover/__workshop__/index.ts +0 -56
  300. package/src/primitives/popover/__workshop__/portal-inheritance.tsx +0 -15
  301. package/src/primitives/popover/constants.ts +0 -20
  302. package/src/primitives/popover/floating-ui/size.ts +0 -75
  303. package/src/primitives/popover/types.ts +0 -12
  304. package/src/primitives/popover/useMiddleware.ts +0 -126
  305. package/src/primitives/radio/Radio.tsx +0 -64
  306. package/src/primitives/radio/__workshop__/Example.tsx +0 -63
  307. package/src/primitives/radio/__workshop__/Plain.tsx +0 -28
  308. package/src/primitives/radio/__workshop__/index.ts +0 -13
  309. package/src/primitives/select/Select.tsx +0 -76
  310. package/src/primitives/select/__workshop__/Plain.tsx +0 -37
  311. package/src/primitives/select/__workshop__/ReadOnly.tsx +0 -23
  312. package/src/primitives/select/__workshop__/index.ts +0 -13
  313. package/src/primitives/selectable/Selectable.tsx +0 -48
  314. package/src/primitives/selectable/__workshop__/DataProps.tsx +0 -24
  315. package/src/primitives/selectable/__workshop__/as-link.tsx +0 -13
  316. package/src/primitives/selectable/__workshop__/index.ts +0 -19
  317. package/src/primitives/skeleton/CodeSkeleton.tsx +0 -49
  318. package/src/primitives/skeleton/HeadingSkeleton.tsx +0 -48
  319. package/src/primitives/skeleton/LabelSkeleton.tsx +0 -47
  320. package/src/primitives/skeleton/Skeleton.tsx +0 -70
  321. package/src/primitives/skeleton/TextSkeleton.tsx +0 -49
  322. package/src/primitives/skeleton/__workshop__/Delay.tsx +0 -69
  323. package/src/primitives/skeleton/__workshop__/Skeleton.tsx +0 -63
  324. package/src/primitives/skeleton/__workshop__/index.ts +0 -13
  325. package/src/primitives/spinner/Spinner.tsx +0 -45
  326. package/src/primitives/spinner/SpinnerAnimatedIcon.tsx +0 -14
  327. package/src/primitives/spinner/__workshop__/Props.tsx +0 -13
  328. package/src/primitives/spinner/__workshop__/index.ts +0 -16
  329. package/src/primitives/srOnly/SrOnly.tsx +0 -33
  330. package/src/primitives/stack/Stack.tsx +0 -38
  331. package/src/primitives/stack/__workshop__/Plain.tsx +0 -30
  332. package/src/primitives/stack/__workshop__/index.ts +0 -16
  333. package/src/primitives/switch/Switch.tsx +0 -76
  334. package/src/primitives/switch/__workshop__/Example.tsx +0 -25
  335. package/src/primitives/switch/__workshop__/Props.tsx +0 -23
  336. package/src/primitives/switch/__workshop__/index.ts +0 -13
  337. package/src/primitives/text/InlineCode.tsx +0 -25
  338. package/src/primitives/text/Text.tsx +0 -68
  339. package/src/primitives/text/__workshop__/Example.tsx +0 -26
  340. package/src/primitives/text/__workshop__/OpticalAlignment.tsx +0 -27
  341. package/src/primitives/text/__workshop__/index.ts +0 -26
  342. package/src/primitives/text/__workshop__/inline-code.tsx +0 -13
  343. package/src/primitives/textArea/TextArea.tsx +0 -97
  344. package/src/primitives/textArea/__workshop__/Plain.tsx +0 -46
  345. package/src/primitives/textArea/__workshop__/index.ts +0 -16
  346. package/src/primitives/textInput/TextInput.tsx +0 -279
  347. package/src/primitives/textInput/__workshop__/ClearButton.tsx +0 -32
  348. package/src/primitives/textInput/__workshop__/CustomValidity.tsx +0 -17
  349. package/src/primitives/textInput/__workshop__/Plain.tsx +0 -102
  350. package/src/primitives/textInput/__workshop__/ReadOnly.tsx +0 -14
  351. package/src/primitives/textInput/__workshop__/States.tsx +0 -53
  352. package/src/primitives/textInput/__workshop__/Tones.tsx +0 -40
  353. package/src/primitives/textInput/__workshop__/Typed.tsx +0 -23
  354. package/src/primitives/textInput/__workshop__/index.ts +0 -46
  355. package/src/primitives/tooltip/Tooltip.test.tsx +0 -496
  356. package/src/primitives/tooltip/Tooltip.tsx +0 -546
  357. package/src/primitives/tooltip/TooltipLayer.tsx +0 -72
  358. package/src/primitives/tooltip/__workshop__/CustomPortal.tsx +0 -102
  359. package/src/primitives/tooltip/__workshop__/OverflowingBoundary.tsx +0 -74
  360. package/src/primitives/tooltip/__workshop__/Props.tsx +0 -107
  361. package/src/primitives/tooltip/__workshop__/ResizableBoundary.tsx +0 -91
  362. package/src/primitives/tooltip/__workshop__/index.ts +0 -31
  363. package/src/primitives/tooltip/constants.ts +0 -24
  364. package/src/primitives/tooltip/tooltipDelayGroup/TooltipDelayGroupContext.tsx +0 -13
  365. package/src/primitives/tooltip/tooltipDelayGroup/TooltipDelayGroupProvider.tsx +0 -96
  366. package/src/primitives/tooltip/tooltipDelayGroup/types.ts +0 -7
  367. package/src/primitives/tooltip/tooltipDelayGroup/useTooltipDelayGroup.ts +0 -13
  368. package/src/root/Root.tsx +0 -93
  369. package/src/root/RootProvider.tsx +0 -37
  370. package/src/root/__workshop__/Boundary.tsx +0 -43
  371. package/src/root/__workshop__/index.ts +0 -24
  372. package/src/root/__workshop__/primitives.tsx +0 -49
  373. package/src/root/__workshop__/tone-inheritance.tsx +0 -65
  374. package/src/utils/ErrorBoundary.tsx +0 -50
  375. package/src/utils/boundaryElement/BoundaryElementContext.ts +0 -7
  376. package/src/utils/boundaryElement/BoundaryElementProvider.tsx +0 -16
  377. package/src/utils/boundaryElement/__workshop__/Plain.tsx +0 -49
  378. package/src/utils/boundaryElement/__workshop__/index.ts +0 -16
  379. package/src/utils/boundaryElement/types.ts +0 -2
  380. package/src/utils/boundaryElement/useBoundaryElement.ts +0 -12
  381. package/src/utils/elementQuery/ElementQuery.tsx +0 -75
  382. package/src/utils/elementQuery/__workshop__/CustomMedia.tsx +0 -19
  383. package/src/utils/elementQuery/__workshop__/index.ts +0 -16
  384. package/src/utils/elementQuery/__workshop__/styles.css.ts +0 -31
  385. package/src/utils/elementQuery/helpers.ts +0 -27
  386. package/src/utils/portal/Portal.test.tsx +0 -105
  387. package/src/utils/portal/Portal.tsx +0 -42
  388. package/src/utils/portal/PortalContext.ts +0 -37
  389. package/src/utils/portal/PortalProvider.tsx +0 -38
  390. package/src/utils/portal/__workshop__/Named.tsx +0 -69
  391. package/src/utils/portal/__workshop__/index.ts +0 -16
  392. package/src/utils/portal/types.ts +0 -7
  393. package/src/utils/portal/usePortal.ts +0 -30
@@ -1,90 +0,0 @@
1
- import {type FocusEvent, useCallback, useEffect, useImperativeHandle, useRef} from 'react'
2
-
3
- import {EMPTY_RECORD} from '../../core/constants'
4
- import {containsOrEqualsElement, isHTMLElement} from '../../core/helpers/element'
5
- import type {Props} from '../../core/types'
6
- import {Card, type CardElementType} from '../../primitives/card/Card'
7
- import type {LayerElementType, LayerOwnProps} from './Layer'
8
- import {useLayer} from './useLayer'
9
-
10
- /** @internal */
11
- export const DEFAULT_LAYER_CARD_ELEMENT = 'div'
12
-
13
- /** @internal */
14
- export type LayerCardOwnProps = Omit<LayerOwnProps, 'zOffset'>
15
-
16
- /** @internal */
17
- export type LayerCardElementType = LayerElementType
18
-
19
- /** @internal */
20
- export type LayerCardProps<E extends LayerCardElementType = LayerCardElementType> = Props<
21
- LayerCardOwnProps,
22
- E
23
- >
24
-
25
- /** @internal */
26
- export function LayerCard<E extends LayerCardElementType = typeof DEFAULT_LAYER_CARD_ELEMENT>(
27
- props: LayerCardProps<E>,
28
- ): React.JSX.Element {
29
- const {
30
- as = DEFAULT_LAYER_CARD_ELEMENT,
31
- children,
32
- onActivate,
33
- onFocus,
34
- position = 'relative',
35
- ref: forwardedRef,
36
- style = EMPTY_RECORD,
37
- ...rest
38
- } = props as LayerCardProps<typeof DEFAULT_LAYER_CARD_ELEMENT>
39
-
40
- const {zIndex, isTopLayer} = useLayer()
41
- const lastFocusedRef = useRef<HTMLElement | null>(null)
42
- const ref = useRef<HTMLDivElement | null>(null)
43
- const isTopLayerRef = useRef<boolean>(isTopLayer)
44
-
45
- useImperativeHandle<HTMLDivElement | null, HTMLDivElement | null>(forwardedRef, () => ref.current)
46
-
47
- // When the layer very first mounts, it will be the top layer, but we don't want to fire
48
- // the callback in that case. We use a ref to track the previous value of isTopLayer to
49
- // determine if the layer has become the top layer since the last render.
50
- useEffect(() => {
51
- const becameTopLayer = isTopLayerRef.current !== isTopLayer && isTopLayer
52
-
53
- if (becameTopLayer) {
54
- onActivate?.({activeElement: lastFocusedRef.current})
55
- }
56
-
57
- isTopLayerRef.current = isTopLayer
58
- }, [isTopLayer, onActivate])
59
-
60
- const handleFocus = useCallback(
61
- (event: FocusEvent<HTMLDivElement, Element>) => {
62
- // Call the user-provided onFocus handler if any
63
- onFocus?.(event)
64
-
65
- const rootElement = ref.current
66
- const target = document.activeElement
67
-
68
- if (!isTopLayer || !rootElement || !target) return
69
-
70
- if (isHTMLElement(target) && containsOrEqualsElement(rootElement, target)) {
71
- lastFocusedRef.current = target
72
- }
73
- },
74
- [isTopLayer, onFocus],
75
- )
76
-
77
- return (
78
- <Card
79
- data-ui="Layer"
80
- {...rest}
81
- ref={ref}
82
- as={as as CardElementType}
83
- position={position}
84
- style={{...style, zIndex}}
85
- onFocus={handleFocus}
86
- >
87
- {children}
88
- </Card>
89
- )
90
- }
@@ -1,7 +0,0 @@
1
- import type {Context} from 'react'
2
-
3
- import {createGlobalScopedContext} from '../../core/lib/createGlobalScopedContext'
4
- import type {LayerContextValue} from './types'
5
-
6
- export const LayerContext: Context<LayerContextValue | null> =
7
- createGlobalScopedContext<LayerContextValue | null>('@sanity/ui/v4/layer', null)
@@ -1,106 +0,0 @@
1
- import type {Breakpoint, ResponsiveProp} from '@sanity/ui-css'
2
- import {type ReactNode, use, useCallback, useEffect, useMemo, useState} from 'react'
3
-
4
- import {_getResponsiveProp} from '../../core/helpers/props'
5
- import {useMediaIndex} from '../../hooks/useMediaIndex/useMediaIndex'
6
- import {getLayerContext} from './getLayerContext'
7
- import {LayerContext} from './LayerContext'
8
- import type {LayerContextValue} from './types'
9
-
10
- /** @public */
11
- export interface LayerProviderProps {
12
- children?: ReactNode
13
- zOffset?: ResponsiveProp<number>
14
- }
15
-
16
- /** @public */
17
- export function LayerProvider(props: LayerProviderProps): React.JSX.Element {
18
- const {children, zOffset: zOffsetProp = 0} = props
19
-
20
- // Get parent context values
21
- const parentContextValue = use(LayerContext)
22
- const parent = parentContextValue && getLayerContext(parentContextValue)
23
- const parentRegisterChild = parent?.registerChild
24
- const parentLevel = parent?.level ?? 0
25
-
26
- // Get level
27
- const level = parentLevel + 1
28
-
29
- // Get z-index offset
30
- const zOffset = _getResponsiveProp(zOffsetProp)
31
-
32
- // Get responsive z-index value
33
- const maxMediaIndex = zOffset.length - 1
34
- const mediaIndex = Math.min(useMediaIndex(), maxMediaIndex) as Breakpoint
35
- const zIndex = parent ? parent.zIndex + (zOffset[mediaIndex] ?? 0) : (zOffset[mediaIndex] ?? 0)
36
-
37
- // A state value that is used to keep track of the number of child layers on each level
38
- const [, setChildLayers] = useState<Record<number, number>>({})
39
-
40
- // A state value that is used to keep track of the number of child levels
41
- const [size, setSize] = useState(0)
42
-
43
- const isTopLayer = size === 0
44
-
45
- const registerChild = useCallback(
46
- (childLevel?: number) => {
47
- // Register child layers to the parent layer
48
- const parentDispose = parentRegisterChild?.(childLevel)
49
-
50
- if (childLevel !== undefined) {
51
- setChildLayers((state) => {
52
- const prevLen = state[childLevel] ?? 0
53
- const nextState = {...state, [childLevel]: prevLen + 1}
54
-
55
- setSize(Object.keys(nextState).length)
56
-
57
- return nextState
58
- })
59
- } else {
60
- // Legacy behavior: if no child level is provided, increment the size by 1
61
- setSize((v) => v + 1)
62
- }
63
-
64
- return () => {
65
- if (childLevel !== undefined) {
66
- setChildLayers((state) => {
67
- const nextState = {...state}
68
-
69
- if (nextState[childLevel] === 1) {
70
- delete nextState[childLevel]
71
-
72
- setSize(Object.keys(nextState).length)
73
- } else {
74
- nextState[childLevel] -= 1
75
- }
76
-
77
- return nextState
78
- })
79
- } else {
80
- // Legacy behavior: if no child level is provided, decrement the size by 1
81
- setSize((v) => v - 1)
82
- }
83
-
84
- parentDispose?.()
85
- }
86
- },
87
- [parentRegisterChild, setSize, setChildLayers],
88
- )
89
-
90
- // Register this layer on mount
91
- useEffect(() => parentRegisterChild?.(level), [level, parentRegisterChild])
92
-
93
- const value: LayerContextValue = useMemo(
94
- () => ({
95
- version: 0.0,
96
- isTopLayer,
97
- level,
98
- registerChild,
99
- size,
100
- zIndex,
101
- }),
102
- [isTopLayer, level, registerChild, size, zIndex],
103
- )
104
-
105
- return <LayerContext value={value}>{children}</LayerContext>
106
- }
@@ -1,49 +0,0 @@
1
- import {Card, Layer, LayerProvider, Stack} from '@sanity/ui'
2
-
3
- import {LayerDebugInfo} from './_debug'
4
-
5
- export default function MultipleRootsStory(): React.JSX.Element {
6
- return (
7
- <Stack gap={4}>
8
- <LayerProvider zOffset={100}>
9
- <Card padding={3} shadow={1}>
10
- <Stack gap={3}>
11
- <LayerDebugInfo />
12
- <Layer>
13
- <Card padding={3} shadow={1}>
14
- <Stack gap={3}>
15
- <LayerDebugInfo />
16
- <Layer>
17
- <Card padding={3} shadow={1}>
18
- <LayerDebugInfo />
19
- </Card>
20
- </Layer>
21
- </Stack>
22
- </Card>
23
- </Layer>
24
- </Stack>
25
- </Card>
26
- </LayerProvider>
27
-
28
- <LayerProvider zOffset={200}>
29
- <Card as={Layer} padding={3} shadow={5} style={{top: -50, left: 30}}>
30
- <Stack gap={3}>
31
- <LayerDebugInfo />
32
- <Layer>
33
- <Card padding={3} shadow={1}>
34
- <Stack gap={3}>
35
- <LayerDebugInfo />
36
- <Layer>
37
- <Card padding={3} shadow={1}>
38
- <LayerDebugInfo />
39
- </Card>
40
- </Layer>
41
- </Stack>
42
- </Card>
43
- </Layer>
44
- </Stack>
45
- </Card>
46
- </LayerProvider>
47
- </Stack>
48
- )
49
- }
@@ -1,107 +0,0 @@
1
- import {CloseIcon} from '@sanity/icons'
2
- import {Box, Button, Card, Flex, Layer, LayerProvider, Stack, Text} from '@sanity/ui'
3
- import {useCallback, useState} from 'react'
4
-
5
- import {CardWrapper} from '$workshop'
6
-
7
- import {LayerDebugInfo} from './_debug'
8
-
9
- export default function PlainStory(): React.JSX.Element {
10
- return (
11
- <CardWrapper gap={4} pattern="halftone" tone="transparent">
12
- <Root />
13
- <Root />
14
- <Root />
15
- </CardWrapper>
16
- )
17
- }
18
-
19
- function Root() {
20
- const [open, setOpen] = useState(false)
21
- const handleOpen = useCallback(() => setOpen(true), [])
22
- const handleClose = useCallback(() => setOpen(false), [])
23
-
24
- return (
25
- <LayerProvider>
26
- <Card radius={4} shadow={1} tone="default">
27
- <Box padding={4}>
28
- <Text size={1} weight="medium">
29
- Root layer
30
- </Text>
31
- </Box>
32
- <Stack gap={4} padding={4}>
33
- <LayerDebugInfo id="layer-debug-info-1" />
34
- <Button
35
- id="open-layer-1"
36
- mode="ghost"
37
- selected={open}
38
- text="Open layer 1"
39
- onClick={handleOpen}
40
- />
41
- {open && (
42
- <Layer radius={3} shadow={2}>
43
- <Layer1Content onClose={handleClose} />
44
- </Layer>
45
- )}
46
- </Stack>
47
- </Card>
48
- </LayerProvider>
49
- )
50
- }
51
-
52
- function Layer1Content({onClose}: {onClose: () => void}) {
53
- const [open, setOpen] = useState(false)
54
- const handleOpen = useCallback(() => setOpen(true), [])
55
- const handleClose = useCallback(() => setOpen(false), [])
56
-
57
- return (
58
- <>
59
- <Flex>
60
- <Box flex={1} padding={4}>
61
- <Text size={1} weight="medium">
62
- Layer 1
63
- </Text>
64
- </Box>
65
- <Box padding={3}>
66
- <Button icon={CloseIcon} mode="bleed" padding={2} onClick={onClose} />
67
- </Box>
68
- </Flex>
69
-
70
- <Stack gap={4} padding={4}>
71
- <LayerDebugInfo />
72
- <Button
73
- id="open-layer-2"
74
- mode="ghost"
75
- selected={open}
76
- text="Open layer 2"
77
- onClick={handleOpen}
78
- />
79
- {open && (
80
- <Layer radius={3} shadow={3}>
81
- <Layer2Content onClose={handleClose} />
82
- </Layer>
83
- )}
84
- </Stack>
85
- </>
86
- )
87
- }
88
-
89
- function Layer2Content({onClose}: {onClose: () => void}) {
90
- return (
91
- <>
92
- <Flex>
93
- <Box flex={1} padding={4}>
94
- <Text size={1} weight="medium">
95
- Layer 2
96
- </Text>
97
- </Box>
98
- <Box padding={3}>
99
- <Button icon={CloseIcon} mode="bleed" padding={2} onClick={onClose} />
100
- </Box>
101
- </Flex>
102
- <Stack gap={4} padding={4}>
103
- <LayerDebugInfo />
104
- </Stack>
105
- </>
106
- )
107
- }
@@ -1,17 +0,0 @@
1
- import {Layer} from '@sanity/ui'
2
-
3
- import {LayerDebugInfo} from './_debug'
4
-
5
- export default function ResponsiveZOffsetStory(): React.JSX.Element {
6
- return (
7
- <Layer
8
- id="responsive-layer"
9
- padding={[1, 2, 3, 4, 5, 6, 7]}
10
- shadow={1}
11
- sizing="border"
12
- zOffset={[1, 2, 3, 4, 5, 6, 7]}
13
- >
14
- <LayerDebugInfo />
15
- </Layer>
16
- )
17
- }
@@ -1,17 +0,0 @@
1
- import {Code, useLayer} from '@sanity/ui'
2
-
3
- export function LayerDebugInfo(props: {id?: string}): React.JSX.Element {
4
- const {id} = props
5
- const layer = useLayer()
6
-
7
- return (
8
- <Code id={id} size={1}>
9
- {[
10
- //
11
- `isTopLayer=${layer.isTopLayer}`,
12
- `size=${layer.size}`,
13
- `zIndex=${layer.zIndex}`,
14
- ].join('\n')}
15
- </Code>
16
- )
17
- }
@@ -1,26 +0,0 @@
1
- import type {WorkshopScope} from '@sanity/ui-workshop'
2
- import {lazy} from 'react'
3
-
4
- const scope: WorkshopScope = {
5
- name: 'primitives/layer',
6
- title: 'Layer',
7
- stories: [
8
- {
9
- name: 'nested',
10
- title: 'Nested',
11
- component: lazy(() => import('./Nested')),
12
- },
13
- {
14
- name: 'multiple-roots',
15
- title: 'Multiple roots',
16
- component: lazy(() => import('./MultipleRoots')),
17
- },
18
- {
19
- name: 'responsive-z-offset',
20
- title: 'Responsive z-offset',
21
- component: lazy(() => import('./ResponsiveZOffset')),
22
- },
23
- ],
24
- }
25
-
26
- export default scope
@@ -1,32 +0,0 @@
1
- import {describe, expect, it} from 'vitest'
2
-
3
- import {getLayerContext} from './getLayerContext'
4
- import type {LayerContextValue} from './types'
5
-
6
- describe('getLayerContext', () => {
7
- describe('0.0', () => {
8
- it('should convert 0.0 to 0.0', () => {
9
- const contextValue: LayerContextValue = {
10
- version: 0.0,
11
- isTopLayer: true,
12
- level: 0,
13
- registerChild: () => () => {
14
- //
15
- },
16
- size: 0,
17
- zIndex: 0,
18
- }
19
-
20
- const result = getLayerContext(contextValue)
21
-
22
- expect(result).toEqual({
23
- version: 0.0,
24
- isTopLayer: true,
25
- level: 0,
26
- registerChild: expect.any(Function),
27
- size: 0,
28
- zIndex: 0,
29
- })
30
- })
31
- })
32
- })
@@ -1,21 +0,0 @@
1
- import {isRecord} from '../../core/lib/isRecord'
2
- import type {LayerContextValue} from './types'
3
-
4
- export function getLayerContext(contextValue: LayerContextValue): LayerContextValue {
5
- // NOTE: This check is for future-compatiblity
6
- // - If the value is not an object, it’s not compatible with the current version
7
- // - If the value is an object, but doesn’t have `version: 0.0`, it’s not compatible with the current version
8
- if (!isRecord(contextValue) || contextValue.version !== 0.0) {
9
- throw new Error('the context value is not compatible')
10
- }
11
-
12
- if (!contextValue) {
13
- throw new Error('components using `useLayer()` should be wrapped in a <LayerProvider>.')
14
- }
15
-
16
- if (contextValue.version === 0.0) {
17
- return contextValue
18
- }
19
-
20
- throw new Error('could not get layer context')
21
- }
@@ -1,9 +0,0 @@
1
- /** @public */
2
- export interface LayerContextValue {
3
- version: 0.0
4
- isTopLayer: boolean
5
- level?: number
6
- registerChild: (childLevel?: number) => () => void
7
- size: number
8
- zIndex: number
9
- }
@@ -1,24 +0,0 @@
1
- import {use} from 'react'
2
-
3
- import {getLayerContext} from './getLayerContext'
4
- import {LayerContext} from './LayerContext'
5
- import type {LayerContextValue} from './types'
6
-
7
- /** @public */
8
- export function useLayer(): LayerContextValue {
9
- const value = use(LayerContext)
10
-
11
- if (!value) {
12
- throw new Error('useLayer(): missing context value')
13
- }
14
-
15
- try {
16
- return getLayerContext(value)
17
- } catch (err) {
18
- if (err instanceof Error) {
19
- throw new Error(`useLayer(): ${err.message}`)
20
- } else {
21
- throw new Error(`useLayer(): ${err}`)
22
- }
23
- }
24
- }