@sanity/ui 2.16.21 → 2.16.23

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 (328) hide show
  1. package/dist/_chunks-cjs/_visual-editing.js +121 -1046
  2. package/dist/_chunks-cjs/_visual-editing.js.map +1 -1
  3. package/dist/_chunks-cjs/refractor.js.map +1 -1
  4. package/dist/_chunks-es/_visual-editing.mjs +116 -1041
  5. package/dist/_chunks-es/_visual-editing.mjs.map +1 -1
  6. package/dist/_chunks-es/refractor.mjs.map +1 -1
  7. package/dist/_visual-editing.d.mts +411 -351
  8. package/dist/_visual-editing.d.ts +411 -351
  9. package/dist/index.d.mts +1107 -930
  10. package/dist/index.d.ts +1107 -930
  11. package/dist/index.js +67 -158
  12. package/dist/index.js.map +1 -1
  13. package/dist/index.mjs +65 -156
  14. package/dist/index.mjs.map +1 -1
  15. package/dist/theme.d.mts +769 -681
  16. package/dist/theme.d.ts +769 -681
  17. package/dist/theme.js +47 -0
  18. package/dist/theme.js.map +1 -1
  19. package/dist/theme.mjs +47 -0
  20. package/dist/theme.mjs.map +1 -1
  21. package/exports/_visual-editing.ts +1 -0
  22. package/package.json +50 -163
  23. package/src/core/_compat.ts +30 -0
  24. package/src/core/components/autocomplete/autocomplete.tsx +11 -4
  25. package/src/core/components/autocomplete/autocompleteOption.tsx +1 -0
  26. package/src/core/components/breadcrumbs/breadcrumbs.tsx +1 -0
  27. package/src/core/components/dialog/dialog.tsx +3 -0
  28. package/src/core/components/hotkeys/hotkeys.tsx +1 -0
  29. package/src/core/components/menu/menu.test.tsx +6 -4
  30. package/src/core/components/menu/menu.tsx +3 -2
  31. package/src/core/components/menu/menuButton.tsx +8 -0
  32. package/src/core/components/menu/menuGroup.tsx +5 -2
  33. package/src/core/components/menu/menuItem.tsx +4 -0
  34. package/src/core/components/menu/useMenuController.ts +6 -4
  35. package/src/core/components/skeleton/skeleton.tsx +2 -1
  36. package/src/core/components/tab/tab.tsx +1 -0
  37. package/src/core/components/tab/tabList.tsx +1 -0
  38. package/src/core/components/toast/toast.test.tsx +9 -4
  39. package/src/core/components/toast/toast.tsx +1 -1
  40. package/src/core/components/toast/toastProvider.tsx +1 -1
  41. package/src/core/components/tree/tree.tsx +1 -0
  42. package/src/core/components/tree/treeGroup.tsx +1 -0
  43. package/src/core/components/tree/treeItem.tsx +2 -2
  44. package/src/core/constants.ts +2 -2
  45. package/src/core/hooks/useClickOutside.test.tsx +43 -15
  46. package/src/core/hooks/useClickOutside.ts +1 -1
  47. package/src/core/hooks/useClickOutsideEvent.test.tsx +8 -4
  48. package/src/core/hooks/useDelayed.test.ts +7 -6
  49. package/src/core/hooks/useElementRect/useElementRect.ts +1 -0
  50. package/src/core/hooks/useForwardedRef.ts +1 -0
  51. package/src/core/hooks/useMediaIndex/useMediaIndex.test.tsx +2 -1
  52. package/src/core/hooks/usePrefersDark.hydration.test.tsx +7 -5
  53. package/src/core/hooks/usePrefersDark.test.tsx +3 -1
  54. package/src/core/hooks/usePrefersReducedMotion.hydration.test.tsx +7 -5
  55. package/src/core/hooks/usePrefersReducedMotion.test.tsx +3 -1
  56. package/src/core/lib/createGlobalScopedContext.ts +1 -0
  57. package/src/core/lib/globalScope.ts +1 -0
  58. package/src/core/observers/elementSizeObserver.ts +1 -0
  59. package/src/core/primitives/avatar/avatar.tsx +1 -2
  60. package/src/core/primitives/avatar/avatarStack.tsx +1 -0
  61. package/src/core/primitives/badge/badge.test.tsx +3 -2
  62. package/src/core/primitives/badge/badge.tsx +2 -1
  63. package/src/core/primitives/box/box.tsx +2 -1
  64. package/src/core/primitives/button/button.test.tsx +3 -2
  65. package/src/core/primitives/button/button.tsx +2 -0
  66. package/src/core/primitives/button/styles.ts +1 -0
  67. package/src/core/primitives/card/card.tsx +1 -5
  68. package/src/core/primitives/card/types.ts +1 -0
  69. package/src/core/primitives/code/refractor.tsx +2 -0
  70. package/src/core/primitives/flex/flex.tsx +1 -3
  71. package/src/core/primitives/inline/inline.tsx +1 -0
  72. package/src/core/primitives/popover/popover.tsx +13 -4
  73. package/src/core/primitives/popover/popoverCard.tsx +2 -1
  74. package/src/core/primitives/popover/types.ts +0 -1
  75. package/src/core/primitives/stack/styles.ts +1 -0
  76. package/src/core/primitives/textInput/textInput.tsx +2 -0
  77. package/src/core/primitives/tooltip/tooltip.test.tsx +82 -49
  78. package/src/core/primitives/tooltip/tooltip.tsx +6 -1
  79. package/src/core/primitives/tooltip/tooltipCard.tsx +2 -1
  80. package/src/core/primitives/tooltip/tooltipDelayGroup/types.ts +2 -0
  81. package/src/core/styles/flex/types.ts +0 -1
  82. package/src/core/styles/font/responsiveFont.ts +0 -3
  83. package/src/core/styles/font/types.ts +1 -3
  84. package/src/core/styles/grid/gridStyle.ts +1 -0
  85. package/src/core/styles/margin/marginStyle.ts +1 -0
  86. package/src/core/styles/margin/marginsStyle.test.ts +2 -1
  87. package/src/core/styles/padding/paddingStyle.test.ts +2 -1
  88. package/src/core/styles/padding/paddingStyle.ts +1 -0
  89. package/src/core/theme/theme.test.tsx +7 -3
  90. package/src/core/theme/useRootTheme.ts +1 -0
  91. package/src/core/theme/useTheme.ts +2 -0
  92. package/src/core/utils/arrow/arrow.tsx +1 -0
  93. package/src/core/utils/boundaryElement/boundaryElement.test.tsx +9 -4
  94. package/src/core/utils/conditionalWrapper/conditionalWrapper.tsx +1 -0
  95. package/src/core/utils/getElementRef.ts +5 -0
  96. package/src/core/utils/layer/getLayerContext.test.ts +2 -0
  97. package/src/core/utils/layer/layer.test.tsx +9 -4
  98. package/src/core/utils/layer/layer.tsx +1 -0
  99. package/src/core/utils/layer/useLayer.ts +2 -0
  100. package/src/core/utils/portal/portal.test.tsx +9 -4
  101. package/src/core/utils/portal/portalProvider.tsx +4 -3
  102. package/src/core/utils/virtualList/virtualList.tsx +2 -1
  103. package/src/theme/build/_deprecated/color/_selectable/createSelectableTones.ts +10 -0
  104. package/src/theme/build/_deprecated/color/_solid/createSolidTones.ts +4 -0
  105. package/src/theme/build/_deprecated/color/button/createButtonModes.ts +5 -0
  106. package/src/theme/build/_deprecated/color/button/createButtonTones.ts +5 -0
  107. package/src/theme/build/_deprecated/color/card/createCardStates.ts +6 -0
  108. package/src/theme/build/_deprecated/color/color.test.ts +5 -1
  109. package/src/theme/build/_deprecated/color/defaults.ts +1 -0
  110. package/src/theme/build/_deprecated/color/factory.ts +36 -0
  111. package/src/theme/build/_deprecated/color/input/createInputModes.ts +5 -0
  112. package/src/theme/build/_deprecated/color/muted/createMuted.ts +4 -0
  113. package/src/theme/build/_deprecated/color/spot/createSpot.ts +3 -0
  114. package/src/theme/build/buildColorTheme.test.ts +2 -0
  115. package/src/theme/build/buildColorTheme.ts +7 -0
  116. package/src/theme/build/buildTheme.test.ts +2 -0
  117. package/src/theme/build/lib/color-fns/color-fns.test.ts +3 -1
  118. package/src/theme/build/merge.ts +5 -0
  119. package/src/theme/build/mixThemeColor.test.ts +2 -0
  120. package/src/theme/build/renderColorTheme.ts +6 -0
  121. package/src/theme/build/renderColorValue.ts +0 -2
  122. package/src/theme/build/resolveColorTokens.ts +6 -0
  123. package/src/theme/build/theme.test.ts +2 -0
  124. package/src/theme/config/helpers.ts +5 -0
  125. package/src/theme/config/system.ts +2 -0
  126. package/src/theme/config/tokens/color/types.ts +6 -4
  127. package/src/theme/config/tokens/parseTokenKey.test.ts +2 -0
  128. package/src/theme/config/tokens/parseTokenValue.test.ts +2 -0
  129. package/src/theme/config/tokens/parseTokenValue.ts +1 -0
  130. package/src/theme/getScopedTheme.ts +5 -0
  131. package/src/theme/system/color/_helpers.ts +4 -0
  132. package/src/theme/system/theme.ts +4 -0
  133. package/src/theme/system/v0/color/_system.ts +1 -0
  134. package/src/theme/system/v0/color/button.ts +14 -0
  135. package/src/theme/system/v0/color/card.ts +6 -0
  136. package/src/theme/system/v0/color/color.ts +11 -0
  137. package/src/theme/system/v0/color/input.ts +6 -0
  138. package/src/theme/system/v0/color/muted.ts +11 -0
  139. package/src/theme/system/v0/color/selectable.ts +11 -0
  140. package/src/theme/system/v0/color/solid.ts +11 -0
  141. package/src/theme/system/v0/color/spot.ts +1 -0
  142. package/src/theme/versioning/getTheme_v2.ts +15 -0
  143. package/src/theme/versioning/themeColor_v0_v2.ts +7 -0
  144. package/src/theme/versioning/themeColor_v2_v2_9.ts +1 -0
  145. package/src/theme/versioning/v0_v2.ts +13 -1
  146. package/src/theme/versioning/v2_v0.ts +15 -0
  147. package/src/core/__workshop__/constants.ts +0 -293
  148. package/src/core/components/autocomplete/__mocks__/apiStore.ts +0 -49
  149. package/src/core/components/autocomplete/__mocks__/countries.ts +0 -245
  150. package/src/core/components/autocomplete/__workshop__/async.tsx +0 -156
  151. package/src/core/components/autocomplete/__workshop__/constrainedHeight.tsx +0 -137
  152. package/src/core/components/autocomplete/__workshop__/custom.tsx +0 -89
  153. package/src/core/components/autocomplete/__workshop__/example.tsx +0 -79
  154. package/src/core/components/autocomplete/__workshop__/focusAndBlur.tsx +0 -36
  155. package/src/core/components/autocomplete/__workshop__/fullscreen.tsx +0 -294
  156. package/src/core/components/autocomplete/__workshop__/index.ts +0 -39
  157. package/src/core/components/autocomplete/__workshop__/types.ts +0 -4
  158. package/src/core/components/breadcrumbs/__workshop__/example.tsx +0 -62
  159. package/src/core/components/breadcrumbs/__workshop__/index.ts +0 -14
  160. package/src/core/components/dialog/__workshop__/activate.tsx +0 -134
  161. package/src/core/components/dialog/__workshop__/autoFocus.tsx +0 -29
  162. package/src/core/components/dialog/__workshop__/index.ts +0 -19
  163. package/src/core/components/dialog/__workshop__/layering.tsx +0 -41
  164. package/src/core/components/dialog/__workshop__/nested.tsx +0 -72
  165. package/src/core/components/dialog/__workshop__/onScroll.tsx +0 -39
  166. package/src/core/components/dialog/__workshop__/panes.tsx +0 -82
  167. package/src/core/components/dialog/__workshop__/position.tsx +0 -30
  168. package/src/core/components/dialog/__workshop__/props.tsx +0 -75
  169. package/src/core/components/dialog/__workshop__/provider.tsx +0 -11
  170. package/src/core/components/dialog/__workshop__/wrapped.tsx +0 -76
  171. package/src/core/components/hotkeys/__workshop__/index.ts +0 -14
  172. package/src/core/components/hotkeys/__workshop__/plain.tsx +0 -9
  173. package/src/core/components/menu/__workshop__/asComponent.tsx +0 -45
  174. package/src/core/components/menu/__workshop__/avatarMenu.tsx +0 -51
  175. package/src/core/components/menu/__workshop__/closableMenuButton.tsx +0 -46
  176. package/src/core/components/menu/__workshop__/constrainedInBoundary.tsx +0 -134
  177. package/src/core/components/menu/__workshop__/customMenuItem.tsx +0 -45
  178. package/src/core/components/menu/__workshop__/customSelectedState.tsx +0 -39
  179. package/src/core/components/menu/__workshop__/disableFocusOnClose.tsx +0 -40
  180. package/src/core/components/menu/__workshop__/groups.tsx +0 -156
  181. package/src/core/components/menu/__workshop__/index.ts +0 -89
  182. package/src/core/components/menu/__workshop__/menuButton.tsx +0 -80
  183. package/src/core/components/menu/__workshop__/menuGroupRight.tsx +0 -65
  184. package/src/core/components/menu/__workshop__/nestedMenu.tsx +0 -22
  185. package/src/core/components/menu/__workshop__/onCloseMenuButton.tsx +0 -41
  186. package/src/core/components/menu/__workshop__/selectedItem.tsx +0 -69
  187. package/src/core/components/menu/__workshop__/shouldFocus.tsx +0 -47
  188. package/src/core/components/menu/__workshop__/tones.tsx +0 -25
  189. package/src/core/components/menu/__workshop__/withoutArrow.tsx +0 -32
  190. package/src/core/components/skeleton/__workshop__/delay.tsx +0 -70
  191. package/src/core/components/skeleton/__workshop__/index.ts +0 -11
  192. package/src/core/components/skeleton/__workshop__/skeleton.tsx +0 -64
  193. package/src/core/components/tab/__workshop__/example.tsx +0 -79
  194. package/src/core/components/tab/__workshop__/index.ts +0 -14
  195. package/src/core/components/toast/__workshop__/hook.tsx +0 -71
  196. package/src/core/components/toast/__workshop__/index.ts +0 -19
  197. package/src/core/components/toast/__workshop__/toast.tsx +0 -26
  198. package/src/core/components/tree/__workshop__/basic.perf.ts +0 -19
  199. package/src/core/components/tree/__workshop__/basic.tsx +0 -105
  200. package/src/core/components/tree/__workshop__/index.ts +0 -21
  201. package/src/core/components/tree/__workshop__/tabFromElement.tsx +0 -84
  202. package/src/core/hooks/useElementRect/__workshop__/example.tsx +0 -32
  203. package/src/core/hooks/useElementRect/__workshop__/index.ts +0 -14
  204. package/src/core/hooks/useMediaIndex/__workshop__/index.ts +0 -14
  205. package/src/core/hooks/useMediaIndex/__workshop__/test.tsx +0 -14
  206. package/src/core/primitives/avatar/__workshop__/asButton.tsx +0 -14
  207. package/src/core/primitives/avatar/__workshop__/index.ts +0 -29
  208. package/src/core/primitives/avatar/__workshop__/stack.tsx +0 -25
  209. package/src/core/primitives/avatar/__workshop__/withinButton.tsx +0 -63
  210. package/src/core/primitives/avatar/__workshop__/withinMenuItem.tsx +0 -70
  211. package/src/core/primitives/badge/__workshop__/index.ts +0 -19
  212. package/src/core/primitives/badge/__workshop__/props.tsx +0 -30
  213. package/src/core/primitives/badge/__workshop__/tones.tsx +0 -21
  214. package/src/core/primitives/box/__workshop__/index.ts +0 -19
  215. package/src/core/primitives/box/__workshop__/props.tsx +0 -20
  216. package/src/core/primitives/box/__workshop__/responsive.tsx +0 -20
  217. package/src/core/primitives/button/__workshop__/custom.tsx +0 -51
  218. package/src/core/primitives/button/__workshop__/customIcons.tsx +0 -30
  219. package/src/core/primitives/button/__workshop__/disabled.tsx +0 -74
  220. package/src/core/primitives/button/__workshop__/index.ts +0 -59
  221. package/src/core/primitives/button/__workshop__/mixedChildren.tsx +0 -12
  222. package/src/core/primitives/button/__workshop__/props.tsx +0 -55
  223. package/src/core/primitives/button/__workshop__/sanityUploadButton.tsx +0 -36
  224. package/src/core/primitives/button/__workshop__/stacked.tsx +0 -58
  225. package/src/core/primitives/button/__workshop__/styled1.tsx +0 -17
  226. package/src/core/primitives/button/__workshop__/styled2.tsx +0 -19
  227. package/src/core/primitives/button/__workshop__/uploadButton.tsx +0 -28
  228. package/src/core/primitives/card/__workshop__/allTones.tsx +0 -25
  229. package/src/core/primitives/card/__workshop__/asButton.tsx +0 -107
  230. package/src/core/primitives/card/__workshop__/asComponent.tsx +0 -27
  231. package/src/core/primitives/card/__workshop__/checkered.tsx +0 -26
  232. package/src/core/primitives/card/__workshop__/index.ts +0 -18
  233. package/src/core/primitives/card/__workshop__/interactive.tsx +0 -30
  234. package/src/core/primitives/card/__workshop__/listNavigation.tsx +0 -80
  235. package/src/core/primitives/card/__workshop__/props.tsx +0 -53
  236. package/src/core/primitives/card/__workshop__/selected.tsx +0 -94
  237. package/src/core/primitives/card/__workshop__/styled.tsx +0 -14
  238. package/src/core/primitives/checkbox/__workshop__/example.tsx +0 -25
  239. package/src/core/primitives/checkbox/__workshop__/index.ts +0 -13
  240. package/src/core/primitives/checkbox/__workshop__/props.tsx +0 -33
  241. package/src/core/primitives/checkbox/__workshop__/readOnly.tsx +0 -16
  242. package/src/core/primitives/checkbox/__workshop__/tones.tsx +0 -28
  243. package/src/core/primitives/code/__workshop__/index.ts +0 -19
  244. package/src/core/primitives/code/__workshop__/opticalAlignment.tsx +0 -48
  245. package/src/core/primitives/code/__workshop__/props.tsx +0 -21
  246. package/src/core/primitives/container/__workshop__/example.tsx +0 -20
  247. package/src/core/primitives/container/__workshop__/index.ts +0 -8
  248. package/src/core/primitives/flex/__workshop__/example.tsx +0 -34
  249. package/src/core/primitives/flex/__workshop__/gap.tsx +0 -25
  250. package/src/core/primitives/flex/__workshop__/index.ts +0 -11
  251. package/src/core/primitives/grid/__workshop__/index.ts +0 -10
  252. package/src/core/primitives/grid/__workshop__/responsive.tsx +0 -54
  253. package/src/core/primitives/heading/__workshop__/index.ts +0 -19
  254. package/src/core/primitives/heading/__workshop__/opticalAlignment.tsx +0 -54
  255. package/src/core/primitives/heading/__workshop__/plain.tsx +0 -32
  256. package/src/core/primitives/inline/__workshop__/index.ts +0 -8
  257. package/src/core/primitives/inline/__workshop__/plain.tsx +0 -27
  258. package/src/core/primitives/kbd/__workshop__/index.ts +0 -8
  259. package/src/core/primitives/kbd/__workshop__/plain.tsx +0 -9
  260. package/src/core/primitives/label/__workshop__/index.ts +0 -19
  261. package/src/core/primitives/label/__workshop__/opticalAlignment.tsx +0 -48
  262. package/src/core/primitives/label/__workshop__/plain.tsx +0 -24
  263. package/src/core/primitives/popover/__workshop__/AlignedStory.tsx +0 -77
  264. package/src/core/primitives/popover/__workshop__/MarginsStory.tsx +0 -31
  265. package/src/core/primitives/popover/__workshop__/MatchReferenceWidthStory.tsx +0 -32
  266. package/src/core/primitives/popover/__workshop__/OpenOnMountStory.tsx +0 -11
  267. package/src/core/primitives/popover/__workshop__/PlainStory.tsx +0 -71
  268. package/src/core/primitives/popover/__workshop__/RecursiveStory.tsx +0 -71
  269. package/src/core/primitives/popover/__workshop__/SidePanelStory.tsx +0 -89
  270. package/src/core/primitives/popover/__workshop__/TestStory.tsx +0 -97
  271. package/src/core/primitives/popover/__workshop__/index.ts +0 -49
  272. package/src/core/primitives/radio/__workshop__/example.tsx +0 -63
  273. package/src/core/primitives/radio/__workshop__/index.ts +0 -11
  274. package/src/core/primitives/radio/__workshop__/plain.tsx +0 -28
  275. package/src/core/primitives/select/__workshop__/index.ts +0 -11
  276. package/src/core/primitives/select/__workshop__/plain.tsx +0 -27
  277. package/src/core/primitives/select/__workshop__/readOnly.tsx +0 -23
  278. package/src/core/primitives/spinner/__workshop__/Props.tsx +0 -15
  279. package/src/core/primitives/spinner/__workshop__/index.ts +0 -14
  280. package/src/core/primitives/stack/__workshop__/index.ts +0 -14
  281. package/src/core/primitives/stack/__workshop__/plain.tsx +0 -32
  282. package/src/core/primitives/switch/__workshop__/example.tsx +0 -23
  283. package/src/core/primitives/switch/__workshop__/index.ts +0 -11
  284. package/src/core/primitives/switch/__workshop__/props.tsx +0 -21
  285. package/src/core/primitives/text/__workshop__/colored.tsx +0 -30
  286. package/src/core/primitives/text/__workshop__/example.tsx +0 -39
  287. package/src/core/primitives/text/__workshop__/index.ts +0 -24
  288. package/src/core/primitives/text/__workshop__/opticalAlignment.tsx +0 -48
  289. package/src/core/primitives/textArea/__workshop__/index.ts +0 -14
  290. package/src/core/primitives/textArea/__workshop__/plain.tsx +0 -50
  291. package/src/core/primitives/textInput/__workshop__/clearButton.tsx +0 -30
  292. package/src/core/primitives/textInput/__workshop__/customValidity.tsx +0 -17
  293. package/src/core/primitives/textInput/__workshop__/index.ts +0 -44
  294. package/src/core/primitives/textInput/__workshop__/plain.tsx +0 -98
  295. package/src/core/primitives/textInput/__workshop__/readOnly.tsx +0 -9
  296. package/src/core/primitives/textInput/__workshop__/states.tsx +0 -53
  297. package/src/core/primitives/textInput/__workshop__/tones.tsx +0 -277
  298. package/src/core/primitives/textInput/__workshop__/typed.tsx +0 -23
  299. package/src/core/primitives/tooltip/__workshop__/customPortal.tsx +0 -102
  300. package/src/core/primitives/tooltip/__workshop__/index.ts +0 -29
  301. package/src/core/primitives/tooltip/__workshop__/overflowingBoundary.tsx +0 -74
  302. package/src/core/primitives/tooltip/__workshop__/props.tsx +0 -107
  303. package/src/core/primitives/tooltip/__workshop__/resizableBoundary.tsx +0 -86
  304. package/src/core/theme/__workshop__/build/Root.tsx +0 -367
  305. package/src/core/theme/__workshop__/build/helpers.ts +0 -46
  306. package/src/core/theme/__workshop__/build/story.tsx +0 -465
  307. package/src/core/theme/__workshop__/canvas.tsx +0 -352
  308. package/src/core/theme/__workshop__/color.tsx +0 -62
  309. package/src/core/theme/__workshop__/debug/story.tsx +0 -408
  310. package/src/core/theme/__workshop__/index.ts +0 -39
  311. package/src/core/theme/__workshop__/layer.tsx +0 -78
  312. package/src/core/theme/__workshop__/nestedProvider.tsx +0 -15
  313. package/src/core/utils/boundaryElement/__workshop__/index.ts +0 -14
  314. package/src/core/utils/boundaryElement/__workshop__/plain.tsx +0 -19
  315. package/src/core/utils/elementQuery/__workshop__/customMedia.tsx +0 -30
  316. package/src/core/utils/elementQuery/__workshop__/index.ts +0 -14
  317. package/src/core/utils/layer/__workshop__/_debug.tsx +0 -17
  318. package/src/core/utils/layer/__workshop__/index.ts +0 -24
  319. package/src/core/utils/layer/__workshop__/multipleRoots.tsx +0 -49
  320. package/src/core/utils/layer/__workshop__/nested.tsx +0 -98
  321. package/src/core/utils/layer/__workshop__/responsiveZOffset.tsx +0 -13
  322. package/src/core/utils/portal/__workshop__/index.ts +0 -14
  323. package/src/core/utils/portal/__workshop__/named.tsx +0 -63
  324. package/src/core/utils/virtualList/__workshop__/changingProps.tsx +0 -36
  325. package/src/core/utils/virtualList/__workshop__/elementScroll.tsx +0 -24
  326. package/src/core/utils/virtualList/__workshop__/index.ts +0 -29
  327. package/src/core/utils/virtualList/__workshop__/infiniteList.tsx +0 -48
  328. package/src/core/utils/virtualList/__workshop__/windowScrolll.tsx +0 -22
@@ -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() {
6
- return (
7
- <Stack space={4}>
8
- <LayerProvider zOffset={100}>
9
- <Card padding={3} shadow={1}>
10
- <Stack space={3}>
11
- <LayerDebugInfo />
12
- <Layer>
13
- <Card padding={3} shadow={1}>
14
- <Stack space={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 space={3}>
31
- <LayerDebugInfo />
32
- <Layer>
33
- <Card padding={3} shadow={1}>
34
- <Stack space={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,98 +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 {LayerDebugInfo} from './_debug'
6
-
7
- export default function PlainStory() {
8
- return (
9
- <Box padding={3}>
10
- <Root />
11
- <Root />
12
- <Root />
13
- </Box>
14
- )
15
- }
16
-
17
- function Root() {
18
- const [open, setOpen] = useState(false)
19
- const handleOpen = useCallback(() => setOpen(true), [])
20
- const handleClose = useCallback(() => setOpen(false), [])
21
-
22
- return (
23
- <LayerProvider>
24
- <Card radius={2} shadow={1}>
25
- <Box padding={3}>
26
- <Text>
27
- <strong>Root layer</strong>
28
- </Text>
29
- </Box>
30
- <Box padding={3}>
31
- <Stack space={3}>
32
- <LayerDebugInfo id="layer-debug-info-1" />
33
- <Button id="open-layer-1" mode="ghost" onClick={handleOpen} text="Open layer 1" />
34
- {open && (
35
- <Layer style={{display: 'flex', alignItems: 'center', justifyContent: 'center'}}>
36
- <Layer1 onClose={handleClose} />
37
- </Layer>
38
- )}
39
- </Stack>
40
- </Box>
41
- </Card>
42
- </LayerProvider>
43
- )
44
- }
45
-
46
- function Layer1({onClose}: {onClose: () => void}) {
47
- const [open, setOpen] = useState(false)
48
- const handleOpen = useCallback(() => setOpen(true), [])
49
- const handleClose = useCallback(() => setOpen(false), [])
50
-
51
- return (
52
- <Card radius={2} shadow={3}>
53
- <Flex>
54
- <Box flex={1} padding={3}>
55
- <Text>
56
- <strong>Layer 1</strong>
57
- </Text>
58
- </Box>
59
- <Box padding={1}>
60
- <Button icon={CloseIcon} mode="bleed" onClick={onClose} padding={2} />
61
- </Box>
62
- </Flex>
63
- <Box padding={3}>
64
- <Stack space={3}>
65
- <LayerDebugInfo />
66
- <Button id="open-layer-2" mode="ghost" onClick={handleOpen} text="Open layer 2" />
67
- {open && (
68
- <Layer style={{display: 'flex', alignItems: 'center', justifyContent: 'center'}}>
69
- <Layer2 onClose={handleClose} />
70
- </Layer>
71
- )}
72
- </Stack>
73
- </Box>
74
- </Card>
75
- )
76
- }
77
-
78
- function Layer2({onClose}: {onClose: () => void}) {
79
- return (
80
- <Card radius={2} shadow={3}>
81
- <Flex>
82
- <Box flex={1} padding={3}>
83
- <Text>
84
- <strong>Layer 2</strong>
85
- </Text>
86
- </Box>
87
- <Box padding={1}>
88
- <Button icon={CloseIcon} mode="bleed" onClick={onClose} padding={2} />
89
- </Box>
90
- </Flex>
91
- <Box padding={3}>
92
- <Stack space={3}>
93
- <LayerDebugInfo />
94
- </Stack>
95
- </Box>
96
- </Card>
97
- )
98
- }
@@ -1,13 +0,0 @@
1
- import {Card, Layer} from '@sanity/ui'
2
-
3
- import {LayerDebugInfo} from './_debug'
4
-
5
- export default function ResponsiveZOffsetStory() {
6
- return (
7
- <Layer id="responsive-layer" zOffset={[1, 2, 3, 4, 5, 6, 7]}>
8
- <Card padding={[1, 2, 3, 4, 5, 6, 7]} shadow={1}>
9
- <LayerDebugInfo />
10
- </Card>
11
- </Layer>
12
- )
13
- }
@@ -1,14 +0,0 @@
1
- import {defineScope} from '@sanity/ui-workshop'
2
- import {lazy} from 'react'
3
-
4
- export default defineScope({
5
- name: 'utils/portal',
6
- title: 'Portal',
7
- stories: [
8
- {
9
- name: 'named',
10
- title: 'Named portals',
11
- component: lazy(() => import('./named')),
12
- },
13
- ],
14
- })
@@ -1,63 +0,0 @@
1
- import {Card, Container, Portal, PortalProvider, Stack, Text} from '@sanity/ui'
2
- import {useMemo, useState} from 'react'
3
-
4
- export default function NamedStory() {
5
- const [portal1Element, setPortal1Element] = useState<HTMLDivElement | null>(null)
6
- const [portal2Element, setPortal2Element] = useState<HTMLDivElement | null>(null)
7
- const [portal3Element, setPortal3Element] = useState<HTMLDivElement | null>(null)
8
- const __unstable_elements = useMemo(
9
- () => ({
10
- portal1: portal1Element,
11
- portal2: portal2Element,
12
- portal3: portal3Element,
13
- }),
14
- [portal1Element, portal2Element, portal3Element],
15
- )
16
-
17
- return (
18
- <PortalProvider __unstable_elements={__unstable_elements}>
19
- <Container width={1}>
20
- <Card height="fill" padding={4}>
21
- <Stack space={2}>
22
- <Text size={1} weight="medium">
23
- Portal 1
24
- </Text>
25
- <Card border padding={3} ref={setPortal1Element} />
26
- </Stack>
27
- </Card>
28
- <Card height="fill" padding={4}>
29
- <Stack space={2}>
30
- <Text size={1} weight="medium">
31
- Portal 2
32
- </Text>
33
- <Card border padding={3} ref={setPortal2Element} />
34
- </Stack>
35
- </Card>
36
- <Card height="fill" padding={4}>
37
- <Stack space={2}>
38
- <Text size={1} weight="medium">
39
- Portal 3
40
- </Text>
41
- <Card border padding={3} ref={setPortal3Element} />
42
- </Stack>
43
- </Card>
44
- </Container>
45
-
46
- <Portal __unstable_name="portal1">
47
- <Text>Portal 1</Text>
48
- </Portal>
49
-
50
- <Portal __unstable_name="portal2">
51
- <Text>Portal 2</Text>
52
- </Portal>
53
-
54
- <Portal __unstable_name="portal3">
55
- <Text>Portal 3A</Text>
56
- </Portal>
57
-
58
- <Portal __unstable_name="portal3">
59
- <Text>Portal 3B</Text>
60
- </Portal>
61
- </PortalProvider>
62
- )
63
- }
@@ -1,36 +0,0 @@
1
- import {Box, Card, Text, VirtualList} from '@sanity/ui'
2
- import {useCallback, useState} from 'react'
3
-
4
- const data = Array.from(new Array(1000)).map((_, key) => ({key}))
5
-
6
- export default function ChangingProps() {
7
- const [expanded, setExpanded] = useState(false)
8
-
9
- const toggleExpand = useCallback(() => setExpanded((v) => !v), [])
10
-
11
- const renderItem = useCallback(
12
- (item: {key: number}) => (
13
- <Card
14
- as="button"
15
- onClick={toggleExpand}
16
- paddingX={4}
17
- paddingY={expanded ? 5 : 4}
18
- radius={2}
19
- tone="primary"
20
- >
21
- <Text>Item #{item.key}</Text>
22
- </Card>
23
- ),
24
- [expanded, toggleExpand],
25
- )
26
-
27
- return (
28
- <Box padding={4}>
29
- <Box marginBottom={5}>
30
- <Text size={1}>Click any item to toggle expanded view</Text>
31
- </Box>
32
-
33
- <VirtualList gap={expanded ? 4 : 2} items={data} renderItem={renderItem} />
34
- </Box>
35
- )
36
- }
@@ -1,24 +0,0 @@
1
- import {Box, Card, Container, Text, VirtualList} from '@sanity/ui'
2
- import {useCallback} from 'react'
3
-
4
- const data = Array.from(new Array(1000)).map((_, key) => ({key}))
5
-
6
- export default function ElementScroll() {
7
- const renderItem = useCallback((item: {key: number}) => {
8
- return (
9
- <Card padding={3} radius={2} shadow={1}>
10
- <Text>Item #{item.key}</Text>
11
- </Card>
12
- )
13
- }, [])
14
-
15
- return (
16
- <Box height="fill" padding={4} sizing="border">
17
- <Card height="fill" overflow="auto" padding={4} shadow={1} sizing="border">
18
- <Container width={1}>
19
- <VirtualList gap={2} items={data} renderItem={renderItem} />
20
- </Container>
21
- </Card>
22
- </Box>
23
- )
24
- }
@@ -1,29 +0,0 @@
1
- import {defineScope} from '@sanity/ui-workshop'
2
- import {lazy} from 'react'
3
-
4
- export default defineScope({
5
- name: 'utils/virtual-list',
6
- title: 'VirtualList',
7
- stories: [
8
- {
9
- name: 'window-scroll',
10
- title: 'Window scroll',
11
- component: lazy(() => import('./windowScrolll')),
12
- },
13
- {
14
- name: 'element-scroll',
15
- title: 'Element scroll',
16
- component: lazy(() => import('./elementScroll')),
17
- },
18
- {
19
- name: 'infinite-list',
20
- title: 'Infinite list',
21
- component: lazy(() => import('./infiniteList')),
22
- },
23
- {
24
- name: 'changing-props',
25
- title: 'Changing props',
26
- component: lazy(() => import('./changingProps')),
27
- },
28
- ],
29
- })
@@ -1,48 +0,0 @@
1
- import {Box, Card, Text, VirtualList, VirtualListChangeOpts} from '@sanity/ui'
2
- import {useCallback, useRef, useState} from 'react'
3
-
4
- interface Item {
5
- key: string
6
- }
7
-
8
- function getData(len: number, offsetIndex = 0): Item[] {
9
- return Array.from(new Array(len)).map((_, index) => ({key: String(offsetIndex + index)}))
10
- }
11
-
12
- const ITEMS_PER_PAGE = 1000
13
-
14
- export default function InfiniteList() {
15
- const [data, setData] = useState<Item[]>(() => getData(ITEMS_PER_PAGE))
16
- const offsetRef = useRef(0)
17
-
18
- const getItemKey = useCallback((item: Item) => `item-${item.key}`, [])
19
-
20
- const handleChange = useCallback((opts: VirtualListChangeOpts) => {
21
- const maxIndex = (offsetRef.current + 1) * ITEMS_PER_PAGE
22
-
23
- if (opts.toIndex >= maxIndex - 50) {
24
- offsetRef.current += 1
25
- setData((d) => d.concat(getData(ITEMS_PER_PAGE, offsetRef.current * ITEMS_PER_PAGE)))
26
- }
27
- }, [])
28
-
29
- const renderItem = useCallback((item: Item) => {
30
- return (
31
- <Card padding={3} shadow={1}>
32
- <Text align="center">Item #{item.key}</Text>
33
- </Card>
34
- )
35
- }, [])
36
-
37
- return (
38
- <Box padding={4}>
39
- <VirtualList
40
- gap={3}
41
- getItemKey={getItemKey}
42
- items={data}
43
- onChange={handleChange}
44
- renderItem={renderItem}
45
- />
46
- </Box>
47
- )
48
- }
@@ -1,22 +0,0 @@
1
- import {Box, Card, Container, Text, VirtualList} from '@sanity/ui'
2
- import {useCallback} from 'react'
3
-
4
- const data = Array.from(new Array(1000)).map((_, key) => ({key}))
5
-
6
- export default function Example() {
7
- const renderItem = useCallback((item: {key: number}) => {
8
- return (
9
- <Card padding={3} radius={2} shadow={1}>
10
- <Text>Item #{item.key}</Text>
11
- </Card>
12
- )
13
- }, [])
14
-
15
- return (
16
- <Box padding={4}>
17
- <Container width={1}>
18
- <VirtualList gap={2} items={data} renderItem={renderItem} />
19
- </Container>
20
- </Box>
21
- )
22
- }