@sanity/ui 3.3.1 → 3.3.2

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 (378) hide show
  1. package/dist/_visual-editing.d.mts +2 -1126
  2. package/dist/_visual-editing.d.ts +2 -1126
  3. package/dist/_visual-editing.js +3 -31
  4. package/dist/_visual-editing.mjs +2 -31
  5. package/dist/index.d.mts +555 -2769
  6. package/dist/index.d.mts.map +1 -0
  7. package/dist/index.d.ts +555 -2769
  8. package/dist/index.d.ts.map +1 -0
  9. package/dist/index.js +2982 -1934
  10. package/dist/index.mjs +2950 -1903
  11. package/dist/index.mjs.map +1 -1
  12. package/dist/refractor.js +16 -0
  13. package/dist/refractor.mjs +21 -0
  14. package/dist/refractor.mjs.map +1 -0
  15. package/dist/tabList.js +3804 -0
  16. package/dist/tabList.mjs +3355 -0
  17. package/dist/tabList.mjs.map +1 -0
  18. package/dist/theme.d.mts +927 -1227
  19. package/dist/theme.d.mts.map +1 -0
  20. package/dist/theme.d.ts +927 -1227
  21. package/dist/theme.d.ts.map +1 -0
  22. package/dist/theme.js +3 -4127
  23. package/dist/theme.mjs +2 -4127
  24. package/dist/theme2.d.mts +2 -0
  25. package/dist/theme2.d.ts +2 -0
  26. package/dist/theme2.js +4104 -0
  27. package/dist/theme2.mjs +3851 -0
  28. package/dist/theme2.mjs.map +1 -0
  29. package/dist/useTheme.d.mts +1451 -0
  30. package/dist/useTheme.d.mts.map +1 -0
  31. package/dist/useTheme.d.ts +1451 -0
  32. package/dist/useTheme.d.ts.map +1 -0
  33. package/exports/_visual-editing.ts +1 -0
  34. package/package.json +49 -102
  35. package/src/core/_compat.ts +30 -0
  36. package/src/core/components/autocomplete/autocomplete.tsx +8 -0
  37. package/src/core/components/autocomplete/autocompleteOption.tsx +1 -0
  38. package/src/core/components/breadcrumbs/breadcrumbs.test.tsx +8 -5
  39. package/src/core/components/breadcrumbs/breadcrumbs.tsx +3 -0
  40. package/src/core/components/dialog/dialog.tsx +5 -2
  41. package/src/core/components/hotkeys/hotkeys.test.tsx +10 -5
  42. package/src/core/components/hotkeys/hotkeys.tsx +2 -0
  43. package/src/core/components/menu/menu.spacing.test.tsx +12 -7
  44. package/src/core/components/menu/menu.test.tsx +9 -6
  45. package/src/core/components/menu/menu.tsx +4 -2
  46. package/src/core/components/menu/menuButton.tsx +8 -0
  47. package/src/core/components/menu/menuDivider.ts +1 -0
  48. package/src/core/components/menu/menuGroup.spacing.test.tsx +9 -6
  49. package/src/core/components/menu/menuGroup.tsx +6 -2
  50. package/src/core/components/menu/menuItem.spacing.test.tsx +8 -5
  51. package/src/core/components/menu/menuItem.tsx +4 -0
  52. package/src/core/components/menu/useMenuController.ts +2 -0
  53. package/src/core/components/skeleton/skeleton.tsx +1 -0
  54. package/src/core/components/tab/tab.tsx +1 -0
  55. package/src/core/components/tab/tabList.test.tsx +7 -5
  56. package/src/core/components/tab/tabList.tsx +1 -0
  57. package/src/core/components/toast/toast.test.tsx +9 -4
  58. package/src/core/components/toast/toast.tsx +1 -0
  59. package/src/core/components/toast/toastLayer.tsx +1 -0
  60. package/src/core/components/tree/tree.test.tsx +10 -5
  61. package/src/core/components/tree/tree.tsx +2 -0
  62. package/src/core/components/tree/treeGroup.tsx +1 -0
  63. package/src/core/components/tree/treeItem.test.tsx +10 -5
  64. package/src/core/components/tree/treeItem.tsx +1 -0
  65. package/src/core/hooks/index.ts +1 -0
  66. package/src/core/hooks/useClickOutside.test.tsx +43 -15
  67. package/src/core/hooks/useClickOutside.ts +1 -1
  68. package/src/core/hooks/useClickOutsideEvent.test.tsx +8 -4
  69. package/src/core/hooks/useDelayed.test.ts +9 -8
  70. package/src/core/hooks/useElementRect/useElementRect.ts +1 -0
  71. package/src/core/hooks/useForwardedRef.ts +1 -0
  72. package/src/core/hooks/useMediaIndex/useMediaIndex.test.tsx +2 -1
  73. package/src/core/hooks/usePrefersDark.hydration.test.tsx +7 -5
  74. package/src/core/hooks/usePrefersDark.test.tsx +3 -1
  75. package/src/core/hooks/usePrefersReducedMotion.hydration.test.tsx +7 -5
  76. package/src/core/hooks/usePrefersReducedMotion.test.tsx +3 -1
  77. package/src/core/lib/createGlobalScopedContext.ts +1 -0
  78. package/src/core/lib/globalScope.ts +1 -0
  79. package/src/core/observers/elementSizeObserver.ts +1 -0
  80. package/src/core/primitives/avatar/avatar.tsx +2 -2
  81. package/src/core/primitives/avatar/avatarStack.tsx +1 -0
  82. package/src/core/primitives/badge/badge.test.tsx +3 -2
  83. package/src/core/primitives/badge/badge.tsx +3 -1
  84. package/src/core/primitives/box/box.test.tsx +18 -5
  85. package/src/core/primitives/box/box.tsx +9 -1
  86. package/src/core/primitives/button/button.test.tsx +10 -6
  87. package/src/core/primitives/button/button.tsx +4 -0
  88. package/src/core/primitives/button/styles.ts +1 -0
  89. package/src/core/primitives/card/card.tsx +2 -5
  90. package/src/core/primitives/card/types.ts +1 -0
  91. package/src/core/primitives/code/code.tsx +1 -0
  92. package/src/core/primitives/code/refractor.tsx +2 -0
  93. package/src/core/primitives/container/container.tsx +1 -0
  94. package/src/core/primitives/flex/flex.tsx +2 -3
  95. package/src/core/primitives/grid/grid.test.tsx +11 -5
  96. package/src/core/primitives/grid/grid.tsx +3 -0
  97. package/src/core/primitives/heading/heading.tsx +1 -0
  98. package/src/core/primitives/inline/inline.test.tsx +9 -5
  99. package/src/core/primitives/inline/inline.tsx +3 -0
  100. package/src/core/primitives/kbd/kbd.tsx +5 -1
  101. package/src/core/primitives/label/label.tsx +1 -0
  102. package/src/core/primitives/popover/popover.tsx +5 -4
  103. package/src/core/primitives/popover/popoverCard.tsx +1 -0
  104. package/src/core/primitives/popover/types.ts +0 -1
  105. package/src/core/primitives/select/select.test.tsx +9 -5
  106. package/src/core/primitives/select/select.tsx +1 -0
  107. package/src/core/primitives/stack/stack.test.tsx +9 -5
  108. package/src/core/primitives/stack/stack.tsx +2 -0
  109. package/src/core/primitives/stack/styles.ts +1 -0
  110. package/src/core/primitives/text/text.tsx +1 -0
  111. package/src/core/primitives/textInput/textInput.test.tsx +9 -5
  112. package/src/core/primitives/textInput/textInput.tsx +3 -0
  113. package/src/core/primitives/tooltip/tooltip.test.tsx +82 -49
  114. package/src/core/primitives/tooltip/tooltip.tsx +3 -1
  115. package/src/core/primitives/tooltip/tooltipCard.tsx +1 -0
  116. package/src/core/primitives/tooltip/tooltipDelayGroup/types.ts +2 -0
  117. package/src/core/styles/flex/types.ts +0 -1
  118. package/src/core/styles/font/responsiveFont.ts +0 -3
  119. package/src/core/styles/font/types.ts +1 -3
  120. package/src/core/styles/grid/gridStyle.ts +1 -0
  121. package/src/core/styles/margin/marginStyle.ts +1 -0
  122. package/src/core/styles/margin/marginsStyle.test.ts +2 -1
  123. package/src/core/styles/padding/paddingStyle.test.ts +2 -1
  124. package/src/core/styles/padding/paddingStyle.ts +1 -0
  125. package/src/core/theme/theme.test.tsx +7 -3
  126. package/src/core/theme/useRootTheme.ts +1 -0
  127. package/src/core/theme/useTheme.ts +2 -0
  128. package/src/core/utils/arrow/arrow.tsx +1 -0
  129. package/src/core/utils/boundaryElement/boundaryElement.test.tsx +9 -4
  130. package/src/core/utils/conditionalWrapper/conditionalWrapper.tsx +1 -0
  131. package/src/core/utils/getElementRef.ts +5 -0
  132. package/src/core/utils/layer/getLayerContext.test.ts +2 -0
  133. package/src/core/utils/layer/layer.test.tsx +9 -4
  134. package/src/core/utils/layer/layer.tsx +1 -0
  135. package/src/core/utils/layer/useLayer.ts +2 -0
  136. package/src/core/utils/portal/portal.test.tsx +9 -4
  137. package/src/core/utils/portal/portalProvider.tsx +1 -0
  138. package/src/core/utils/virtualList/virtualList.tsx +2 -1
  139. package/src/theme/build/_deprecated/color/_selectable/createSelectableTones.ts +10 -0
  140. package/src/theme/build/_deprecated/color/_solid/createSolidTones.ts +4 -0
  141. package/src/theme/build/_deprecated/color/button/createButtonModes.ts +5 -0
  142. package/src/theme/build/_deprecated/color/button/createButtonTones.ts +5 -0
  143. package/src/theme/build/_deprecated/color/card/createCardStates.ts +6 -0
  144. package/src/theme/build/_deprecated/color/color.test.ts +5 -1
  145. package/src/theme/build/_deprecated/color/defaults.ts +1 -0
  146. package/src/theme/build/_deprecated/color/factory.ts +36 -0
  147. package/src/theme/build/_deprecated/color/input/createInputModes.ts +5 -0
  148. package/src/theme/build/_deprecated/color/muted/createMuted.ts +4 -0
  149. package/src/theme/build/_deprecated/color/spot/createSpot.ts +3 -0
  150. package/src/theme/build/buildColorTheme.test.ts +2 -0
  151. package/src/theme/build/buildColorTheme.ts +8 -0
  152. package/src/theme/build/buildTheme.test.ts +2 -0
  153. package/src/theme/build/lib/color-fns/color-fns.test.ts +3 -1
  154. package/src/theme/build/merge.ts +5 -0
  155. package/src/theme/build/mixThemeColor.test.ts +2 -0
  156. package/src/theme/build/renderColorTheme.ts +6 -0
  157. package/src/theme/build/renderColorValue.ts +0 -2
  158. package/src/theme/build/resolveColorTokens.ts +6 -0
  159. package/src/theme/build/theme.test.ts +2 -0
  160. package/src/theme/config/helpers.ts +5 -0
  161. package/src/theme/config/system.ts +2 -0
  162. package/src/theme/config/tokens/color/types.ts +6 -4
  163. package/src/theme/config/tokens/parseTokenKey.test.ts +2 -0
  164. package/src/theme/config/tokens/parseTokenValue.test.ts +2 -0
  165. package/src/theme/config/tokens/parseTokenValue.ts +1 -0
  166. package/src/theme/getScopedTheme.ts +6 -1
  167. package/src/theme/system/color/_helpers.ts +4 -0
  168. package/src/theme/system/theme.ts +4 -0
  169. package/src/theme/system/v0/color/_system.ts +1 -0
  170. package/src/theme/system/v0/color/button.ts +14 -0
  171. package/src/theme/system/v0/color/card.ts +6 -0
  172. package/src/theme/system/v0/color/color.ts +11 -0
  173. package/src/theme/system/v0/color/input.ts +6 -0
  174. package/src/theme/system/v0/color/muted.ts +11 -0
  175. package/src/theme/system/v0/color/selectable.ts +11 -0
  176. package/src/theme/system/v0/color/solid.ts +11 -0
  177. package/src/theme/system/v0/color/spot.ts +1 -0
  178. package/src/theme/versioning/getTheme_v2.ts +15 -0
  179. package/src/theme/versioning/themeColor_v0_v2.ts +7 -0
  180. package/src/theme/versioning/themeColor_v2_v2_9.ts +1 -0
  181. package/src/theme/versioning/v0_v2.ts +13 -1
  182. package/src/theme/versioning/v2_v0.ts +18 -0
  183. package/dist/_chunks-cjs/_visual-editing.js +0 -5899
  184. package/dist/_chunks-cjs/_visual-editing.js.map +0 -1
  185. package/dist/_chunks-cjs/refractor.js +0 -23
  186. package/dist/_chunks-cjs/refractor.js.map +0 -1
  187. package/dist/_chunks-es/_visual-editing.mjs +0 -5905
  188. package/dist/_chunks-es/_visual-editing.mjs.map +0 -1
  189. package/dist/_chunks-es/refractor.mjs +0 -26
  190. package/dist/_chunks-es/refractor.mjs.map +0 -1
  191. package/dist/_visual-editing.js.map +0 -1
  192. package/dist/_visual-editing.mjs.map +0 -1
  193. package/dist/index.js.map +0 -1
  194. package/dist/theme.js.map +0 -1
  195. package/dist/theme.mjs.map +0 -1
  196. package/src/core/__workshop__/constants.ts +0 -293
  197. package/src/core/components/autocomplete/__mocks__/apiStore.ts +0 -49
  198. package/src/core/components/autocomplete/__mocks__/countries.ts +0 -245
  199. package/src/core/components/autocomplete/__workshop__/async.tsx +0 -156
  200. package/src/core/components/autocomplete/__workshop__/constrainedHeight.tsx +0 -137
  201. package/src/core/components/autocomplete/__workshop__/custom.tsx +0 -89
  202. package/src/core/components/autocomplete/__workshop__/example.tsx +0 -79
  203. package/src/core/components/autocomplete/__workshop__/focusAndBlur.tsx +0 -36
  204. package/src/core/components/autocomplete/__workshop__/fullscreen.tsx +0 -294
  205. package/src/core/components/autocomplete/__workshop__/index.ts +0 -39
  206. package/src/core/components/autocomplete/__workshop__/types.ts +0 -4
  207. package/src/core/components/breadcrumbs/__workshop__/example.tsx +0 -62
  208. package/src/core/components/breadcrumbs/__workshop__/index.ts +0 -14
  209. package/src/core/components/dialog/__workshop__/activate.tsx +0 -134
  210. package/src/core/components/dialog/__workshop__/autoFocus.tsx +0 -29
  211. package/src/core/components/dialog/__workshop__/index.ts +0 -19
  212. package/src/core/components/dialog/__workshop__/layering.tsx +0 -41
  213. package/src/core/components/dialog/__workshop__/nested.tsx +0 -72
  214. package/src/core/components/dialog/__workshop__/onScroll.tsx +0 -39
  215. package/src/core/components/dialog/__workshop__/panes.tsx +0 -82
  216. package/src/core/components/dialog/__workshop__/position.tsx +0 -30
  217. package/src/core/components/dialog/__workshop__/props.tsx +0 -75
  218. package/src/core/components/dialog/__workshop__/provider.tsx +0 -11
  219. package/src/core/components/dialog/__workshop__/wrapped.tsx +0 -76
  220. package/src/core/components/hotkeys/__workshop__/index.ts +0 -14
  221. package/src/core/components/hotkeys/__workshop__/plain.tsx +0 -9
  222. package/src/core/components/menu/__workshop__/asComponent.tsx +0 -45
  223. package/src/core/components/menu/__workshop__/avatarMenu.tsx +0 -51
  224. package/src/core/components/menu/__workshop__/closableMenuButton.tsx +0 -46
  225. package/src/core/components/menu/__workshop__/constrainedInBoundary.tsx +0 -134
  226. package/src/core/components/menu/__workshop__/customMenuItem.tsx +0 -45
  227. package/src/core/components/menu/__workshop__/customSelectedState.tsx +0 -39
  228. package/src/core/components/menu/__workshop__/disableFocusOnClose.tsx +0 -40
  229. package/src/core/components/menu/__workshop__/groups.tsx +0 -156
  230. package/src/core/components/menu/__workshop__/index.ts +0 -89
  231. package/src/core/components/menu/__workshop__/menuButton.tsx +0 -80
  232. package/src/core/components/menu/__workshop__/menuGroupRight.tsx +0 -65
  233. package/src/core/components/menu/__workshop__/nestedMenu.tsx +0 -22
  234. package/src/core/components/menu/__workshop__/onCloseMenuButton.tsx +0 -41
  235. package/src/core/components/menu/__workshop__/selectedItem.tsx +0 -69
  236. package/src/core/components/menu/__workshop__/shouldFocus.tsx +0 -47
  237. package/src/core/components/menu/__workshop__/tones.tsx +0 -25
  238. package/src/core/components/menu/__workshop__/withoutArrow.tsx +0 -32
  239. package/src/core/components/skeleton/__workshop__/delay.tsx +0 -70
  240. package/src/core/components/skeleton/__workshop__/index.ts +0 -11
  241. package/src/core/components/skeleton/__workshop__/skeleton.tsx +0 -64
  242. package/src/core/components/tab/__workshop__/example.tsx +0 -79
  243. package/src/core/components/tab/__workshop__/index.ts +0 -14
  244. package/src/core/components/toast/__workshop__/hook.tsx +0 -71
  245. package/src/core/components/toast/__workshop__/index.ts +0 -19
  246. package/src/core/components/toast/__workshop__/toast.tsx +0 -26
  247. package/src/core/components/tree/__workshop__/basic.perf.ts +0 -19
  248. package/src/core/components/tree/__workshop__/basic.tsx +0 -105
  249. package/src/core/components/tree/__workshop__/index.ts +0 -21
  250. package/src/core/components/tree/__workshop__/tabFromElement.tsx +0 -84
  251. package/src/core/hooks/useElementRect/__workshop__/example.tsx +0 -32
  252. package/src/core/hooks/useElementRect/__workshop__/index.ts +0 -14
  253. package/src/core/hooks/useMediaIndex/__workshop__/index.ts +0 -14
  254. package/src/core/hooks/useMediaIndex/__workshop__/test.tsx +0 -14
  255. package/src/core/primitives/avatar/__workshop__/asButton.tsx +0 -14
  256. package/src/core/primitives/avatar/__workshop__/index.ts +0 -29
  257. package/src/core/primitives/avatar/__workshop__/stack.tsx +0 -25
  258. package/src/core/primitives/avatar/__workshop__/withinButton.tsx +0 -63
  259. package/src/core/primitives/avatar/__workshop__/withinMenuItem.tsx +0 -70
  260. package/src/core/primitives/badge/__workshop__/index.ts +0 -19
  261. package/src/core/primitives/badge/__workshop__/props.tsx +0 -30
  262. package/src/core/primitives/badge/__workshop__/tones.tsx +0 -21
  263. package/src/core/primitives/box/__workshop__/asComponent.tsx +0 -31
  264. package/src/core/primitives/box/__workshop__/index.ts +0 -24
  265. package/src/core/primitives/box/__workshop__/props.tsx +0 -20
  266. package/src/core/primitives/box/__workshop__/responsive.tsx +0 -20
  267. package/src/core/primitives/button/__workshop__/custom.tsx +0 -51
  268. package/src/core/primitives/button/__workshop__/customIcons.tsx +0 -30
  269. package/src/core/primitives/button/__workshop__/disabled.tsx +0 -74
  270. package/src/core/primitives/button/__workshop__/index.ts +0 -59
  271. package/src/core/primitives/button/__workshop__/mixedChildren.tsx +0 -12
  272. package/src/core/primitives/button/__workshop__/props.tsx +0 -55
  273. package/src/core/primitives/button/__workshop__/sanityUploadButton.tsx +0 -36
  274. package/src/core/primitives/button/__workshop__/stacked.tsx +0 -58
  275. package/src/core/primitives/button/__workshop__/styled1.tsx +0 -17
  276. package/src/core/primitives/button/__workshop__/styled2.tsx +0 -19
  277. package/src/core/primitives/button/__workshop__/uploadButton.tsx +0 -28
  278. package/src/core/primitives/card/__workshop__/allTones.tsx +0 -25
  279. package/src/core/primitives/card/__workshop__/asButton.tsx +0 -107
  280. package/src/core/primitives/card/__workshop__/asComponent.tsx +0 -27
  281. package/src/core/primitives/card/__workshop__/checkered.tsx +0 -26
  282. package/src/core/primitives/card/__workshop__/index.ts +0 -18
  283. package/src/core/primitives/card/__workshop__/interactive.tsx +0 -30
  284. package/src/core/primitives/card/__workshop__/listNavigation.tsx +0 -80
  285. package/src/core/primitives/card/__workshop__/props.tsx +0 -53
  286. package/src/core/primitives/card/__workshop__/selected.tsx +0 -94
  287. package/src/core/primitives/card/__workshop__/styled.tsx +0 -14
  288. package/src/core/primitives/checkbox/__workshop__/example.tsx +0 -25
  289. package/src/core/primitives/checkbox/__workshop__/index.ts +0 -13
  290. package/src/core/primitives/checkbox/__workshop__/props.tsx +0 -33
  291. package/src/core/primitives/checkbox/__workshop__/readOnly.tsx +0 -16
  292. package/src/core/primitives/checkbox/__workshop__/tones.tsx +0 -28
  293. package/src/core/primitives/code/__workshop__/index.ts +0 -19
  294. package/src/core/primitives/code/__workshop__/opticalAlignment.tsx +0 -48
  295. package/src/core/primitives/code/__workshop__/props.tsx +0 -21
  296. package/src/core/primitives/container/__workshop__/example.tsx +0 -20
  297. package/src/core/primitives/container/__workshop__/index.ts +0 -8
  298. package/src/core/primitives/flex/__workshop__/example.tsx +0 -34
  299. package/src/core/primitives/flex/__workshop__/gap.tsx +0 -25
  300. package/src/core/primitives/flex/__workshop__/index.ts +0 -11
  301. package/src/core/primitives/grid/__workshop__/index.ts +0 -10
  302. package/src/core/primitives/grid/__workshop__/responsive.tsx +0 -54
  303. package/src/core/primitives/heading/__workshop__/index.ts +0 -19
  304. package/src/core/primitives/heading/__workshop__/opticalAlignment.tsx +0 -54
  305. package/src/core/primitives/heading/__workshop__/plain.tsx +0 -32
  306. package/src/core/primitives/inline/__workshop__/index.ts +0 -8
  307. package/src/core/primitives/inline/__workshop__/plain.tsx +0 -27
  308. package/src/core/primitives/kbd/__workshop__/index.ts +0 -8
  309. package/src/core/primitives/kbd/__workshop__/plain.tsx +0 -9
  310. package/src/core/primitives/label/__workshop__/index.ts +0 -19
  311. package/src/core/primitives/label/__workshop__/opticalAlignment.tsx +0 -48
  312. package/src/core/primitives/label/__workshop__/plain.tsx +0 -24
  313. package/src/core/primitives/popover/__workshop__/AlignedStory.tsx +0 -77
  314. package/src/core/primitives/popover/__workshop__/MarginsStory.tsx +0 -31
  315. package/src/core/primitives/popover/__workshop__/MatchReferenceWidthStory.tsx +0 -32
  316. package/src/core/primitives/popover/__workshop__/OpenOnMountStory.tsx +0 -11
  317. package/src/core/primitives/popover/__workshop__/PlainStory.tsx +0 -71
  318. package/src/core/primitives/popover/__workshop__/RecursiveStory.tsx +0 -71
  319. package/src/core/primitives/popover/__workshop__/SidePanelStory.tsx +0 -89
  320. package/src/core/primitives/popover/__workshop__/TestStory.tsx +0 -97
  321. package/src/core/primitives/popover/__workshop__/index.ts +0 -49
  322. package/src/core/primitives/radio/__workshop__/example.tsx +0 -63
  323. package/src/core/primitives/radio/__workshop__/index.ts +0 -11
  324. package/src/core/primitives/radio/__workshop__/plain.tsx +0 -28
  325. package/src/core/primitives/select/__workshop__/index.ts +0 -11
  326. package/src/core/primitives/select/__workshop__/plain.tsx +0 -27
  327. package/src/core/primitives/select/__workshop__/readOnly.tsx +0 -23
  328. package/src/core/primitives/spinner/__workshop__/Props.tsx +0 -15
  329. package/src/core/primitives/spinner/__workshop__/index.ts +0 -14
  330. package/src/core/primitives/stack/__workshop__/index.ts +0 -14
  331. package/src/core/primitives/stack/__workshop__/plain.tsx +0 -32
  332. package/src/core/primitives/switch/__workshop__/example.tsx +0 -23
  333. package/src/core/primitives/switch/__workshop__/index.ts +0 -11
  334. package/src/core/primitives/switch/__workshop__/props.tsx +0 -21
  335. package/src/core/primitives/text/__workshop__/colored.tsx +0 -30
  336. package/src/core/primitives/text/__workshop__/example.tsx +0 -39
  337. package/src/core/primitives/text/__workshop__/index.ts +0 -24
  338. package/src/core/primitives/text/__workshop__/opticalAlignment.tsx +0 -48
  339. package/src/core/primitives/textArea/__workshop__/index.ts +0 -14
  340. package/src/core/primitives/textArea/__workshop__/plain.tsx +0 -50
  341. package/src/core/primitives/textInput/__workshop__/clearButton.tsx +0 -30
  342. package/src/core/primitives/textInput/__workshop__/customValidity.tsx +0 -17
  343. package/src/core/primitives/textInput/__workshop__/index.ts +0 -44
  344. package/src/core/primitives/textInput/__workshop__/plain.tsx +0 -98
  345. package/src/core/primitives/textInput/__workshop__/readOnly.tsx +0 -9
  346. package/src/core/primitives/textInput/__workshop__/states.tsx +0 -53
  347. package/src/core/primitives/textInput/__workshop__/tones.tsx +0 -277
  348. package/src/core/primitives/textInput/__workshop__/typed.tsx +0 -23
  349. package/src/core/primitives/tooltip/__workshop__/customPortal.tsx +0 -102
  350. package/src/core/primitives/tooltip/__workshop__/index.ts +0 -29
  351. package/src/core/primitives/tooltip/__workshop__/overflowingBoundary.tsx +0 -74
  352. package/src/core/primitives/tooltip/__workshop__/props.tsx +0 -107
  353. package/src/core/primitives/tooltip/__workshop__/resizableBoundary.tsx +0 -86
  354. package/src/core/theme/__workshop__/build/Root.tsx +0 -367
  355. package/src/core/theme/__workshop__/build/helpers.ts +0 -46
  356. package/src/core/theme/__workshop__/build/story.tsx +0 -465
  357. package/src/core/theme/__workshop__/canvas.tsx +0 -352
  358. package/src/core/theme/__workshop__/color.tsx +0 -62
  359. package/src/core/theme/__workshop__/debug/story.tsx +0 -408
  360. package/src/core/theme/__workshop__/index.ts +0 -39
  361. package/src/core/theme/__workshop__/layer.tsx +0 -78
  362. package/src/core/theme/__workshop__/nestedProvider.tsx +0 -15
  363. package/src/core/utils/boundaryElement/__workshop__/index.ts +0 -14
  364. package/src/core/utils/boundaryElement/__workshop__/plain.tsx +0 -19
  365. package/src/core/utils/elementQuery/__workshop__/customMedia.tsx +0 -30
  366. package/src/core/utils/elementQuery/__workshop__/index.ts +0 -14
  367. package/src/core/utils/layer/__workshop__/_debug.tsx +0 -17
  368. package/src/core/utils/layer/__workshop__/index.ts +0 -24
  369. package/src/core/utils/layer/__workshop__/multipleRoots.tsx +0 -49
  370. package/src/core/utils/layer/__workshop__/nested.tsx +0 -98
  371. package/src/core/utils/layer/__workshop__/responsiveZOffset.tsx +0 -13
  372. package/src/core/utils/portal/__workshop__/index.ts +0 -14
  373. package/src/core/utils/portal/__workshop__/named.tsx +0 -63
  374. package/src/core/utils/virtualList/__workshop__/changingProps.tsx +0 -36
  375. package/src/core/utils/virtualList/__workshop__/elementScroll.tsx +0 -24
  376. package/src/core/utils/virtualList/__workshop__/index.ts +0 -29
  377. package/src/core/utils/virtualList/__workshop__/infiniteList.tsx +0 -48
  378. package/src/core/utils/virtualList/__workshop__/windowScrolll.tsx +0 -22
@@ -1,41 +0,0 @@
1
- import {Box, Button, Menu, MenuButton, MenuButtonProps, MenuItem, Stack, useToast} from '@sanity/ui'
2
- import {useCallback} from 'react'
3
-
4
- const POPOVER_PROPS: MenuButtonProps['popover'] = {
5
- constrainSize: true,
6
- }
7
-
8
- export default function OnCloseMenuButton() {
9
- const {push} = useToast()
10
-
11
- const handleClose = useCallback(() => {
12
- push({
13
- title: 'Menu closed',
14
- status: 'success',
15
- })
16
- }, [push])
17
-
18
- return (
19
- <Box padding={[4, 5, 6]}>
20
- <Stack space={2}>
21
- <MenuButton
22
- button={<Button text="With onClose callback" />}
23
- id="closable-example"
24
- onClose={handleClose}
25
- menu={
26
- <Menu padding={0} space={0}>
27
- <Stack padding={1} space={1}>
28
- <MenuItem text="Item 1" />
29
- <MenuItem text="Item 2" />
30
- <MenuItem text="Item 3" />
31
- <MenuItem text="Item 4" />
32
- </Stack>
33
- </Menu>
34
- }
35
- popover={POPOVER_PROPS}
36
- />
37
- <Button text="Blur test button" mode="ghost" />
38
- </Stack>
39
- </Box>
40
- )
41
- }
@@ -1,69 +0,0 @@
1
- import {CheckmarkIcon, ClockIcon, ExpandIcon, SearchIcon} from '@sanity/icons'
2
- import {
3
- Box,
4
- Button,
5
- Code,
6
- Menu,
7
- MenuButton,
8
- MenuButtonProps,
9
- MenuDivider,
10
- MenuItem,
11
- Stack,
12
- } from '@sanity/ui'
13
- import {useState} from 'react'
14
-
15
- const POPOVER_PROPS: MenuButtonProps['popover'] = {
16
- matchReferenceWidth: true,
17
- }
18
-
19
- const INITIAL_INDEX = 1
20
-
21
- export default function SelectedItemStory() {
22
- const [selectedIndex, setSelectedIndex] = useState(INITIAL_INDEX)
23
-
24
- return (
25
- <Box padding={[4, 5, 6]}>
26
- <Stack space={4}>
27
- <Code>selectedIndex={selectedIndex}</Code>
28
-
29
- <MenuButton
30
- button={<Button text="Open menu" />}
31
- id="menu-button"
32
- menu={
33
- <Menu>
34
- <MenuItem
35
- icon={SearchIcon}
36
- iconRight={selectedIndex === 0 ? CheckmarkIcon : undefined}
37
- id="menu-item-1"
38
- onClick={() => setSelectedIndex(0)}
39
- pressed={selectedIndex === 0}
40
- selected={selectedIndex === 0}
41
- text="Show search"
42
- />
43
- <MenuItem
44
- icon={ClockIcon}
45
- iconRight={selectedIndex === 1 ? CheckmarkIcon : undefined}
46
- id="menu-item-2"
47
- onClick={() => setSelectedIndex(1)}
48
- pressed={selectedIndex === 1}
49
- selected={selectedIndex === 1}
50
- text="Show clock"
51
- />
52
- <MenuDivider />
53
- <MenuItem
54
- icon={ExpandIcon}
55
- iconRight={selectedIndex === 2 ? CheckmarkIcon : undefined}
56
- id="menu-item-3"
57
- onClick={() => setSelectedIndex(2)}
58
- pressed={selectedIndex === 2}
59
- selected={selectedIndex === 2}
60
- text="Expanded"
61
- />
62
- </Menu>
63
- }
64
- popover={POPOVER_PROPS}
65
- />
66
- </Stack>
67
- </Box>
68
- )
69
- }
@@ -1,47 +0,0 @@
1
- import {useSelect} from '@sanity/ui-workshop'
2
- import {Fragment, useCallback, useState} from 'react'
3
-
4
- import {Button, Flex, Popover} from '../../../primitives'
5
- import {LayerProvider} from '../../../utils'
6
- import {Menu} from '../menu'
7
- import {MenuDivider} from '../menuDivider'
8
- import {MenuItem} from '../menuItem'
9
-
10
- const ITEMS = [...Array(8).keys()].map((num) => ({
11
- title: `Item ${num + 1}`,
12
- divider: num === 3,
13
- }))
14
-
15
- const OPTIONS = {first: 'first', last: 'last'}
16
-
17
- export default function ShouldFocusStory() {
18
- const shouldFocus = useSelect<keyof typeof OPTIONS>('Should focus', OPTIONS, 'first')
19
-
20
- const [popoverOpen, setPopoverOpen] = useState<boolean>(false)
21
- const handleToggleOpen = useCallback(() => setPopoverOpen((v) => !v), [])
22
-
23
- return (
24
- <LayerProvider>
25
- <Flex align="center" justify="center" padding={4}>
26
- <Popover
27
- content={
28
- <Menu shouldFocus={shouldFocus}>
29
- {ITEMS.map((item) => {
30
- return (
31
- <Fragment key={item.title}>
32
- <MenuItem text={item.title} />
33
- {item.divider && <MenuDivider />}
34
- </Fragment>
35
- )
36
- })}
37
- </Menu>
38
- }
39
- open={popoverOpen}
40
- portal
41
- >
42
- <Button text="Open menu" onClick={handleToggleOpen} />
43
- </Popover>
44
- </Flex>
45
- </LayerProvider>
46
- )
47
- }
@@ -1,25 +0,0 @@
1
- import {CubeIcon} from '@sanity/icons'
2
- import {Box, Card, LayerProvider, Menu, MenuItem} from '@sanity/ui'
3
- import {THEME_COLOR_STATE_TONES} from '@sanity/ui/theme'
4
- import {useBoolean, useSelect} from '@sanity/ui-workshop'
5
-
6
- import {WORKSHOP_CARD_TONE_OPTIONS} from '../../../__workshop__/constants'
7
-
8
- export default function TonesStory() {
9
- const disabled = useBoolean('Disabled', false, 'Props')
10
- const parentTone = useSelect('Parent tone', WORKSHOP_CARD_TONE_OPTIONS, 'default', 'Props')
11
-
12
- return (
13
- <LayerProvider>
14
- <Box padding={[4, 5, 6]}>
15
- <Card radius={3} shadow={3} tone={parentTone}>
16
- <Menu>
17
- {THEME_COLOR_STATE_TONES.map((tone) => (
18
- <MenuItem disabled={disabled} icon={CubeIcon} key={tone} text={tone} tone={tone} />
19
- ))}
20
- </Menu>
21
- </Card>
22
- </Box>
23
- </LayerProvider>
24
- )
25
- }
@@ -1,32 +0,0 @@
1
- import {Box, Button, Menu, MenuButton, MenuButtonProps, MenuItem, Stack} from '@sanity/ui'
2
-
3
- const POPOVER_PROPS: MenuButtonProps['popover'] = {
4
- __unstable_margins: [1, 1, 1, 1],
5
- arrow: false,
6
- constrainSize: true,
7
- fallbackPlacements: ['top-start'],
8
- matchReferenceWidth: true,
9
- radius: 0,
10
- placement: 'bottom-start',
11
- }
12
-
13
- export default function WithoutArrowStory() {
14
- return (
15
- <Box padding={[4, 5, 6]}>
16
- <Stack>
17
- <MenuButton
18
- button={<Button mode="ghost" text="Open menu" />}
19
- id="without-arrow-example"
20
- menu={
21
- <Menu>
22
- <MenuItem text="Item 1" />
23
- <MenuItem text="Item 2" />
24
- <MenuItem text="Item 3" />
25
- </Menu>
26
- }
27
- popover={POPOVER_PROPS}
28
- />
29
- </Stack>
30
- </Box>
31
- )
32
- }
@@ -1,70 +0,0 @@
1
- import {
2
- Box,
3
- Card,
4
- CodeSkeleton,
5
- Container,
6
- Flex,
7
- HeadingSkeleton,
8
- LabelSkeleton,
9
- Skeleton,
10
- Stack,
11
- Text,
12
- TextSkeleton,
13
- } from '@sanity/ui'
14
- import {useBoolean, useSelect} from '@sanity/ui-workshop'
15
-
16
- import {WORKSHOP_CARD_TONE_OPTIONS} from '../../../__workshop__/constants'
17
-
18
- export default function SkeletonDelayStory() {
19
- const tone = useSelect('Tone', WORKSHOP_CARD_TONE_OPTIONS, '', 'Props') || 'default'
20
- const animated = useBoolean('Animated', true)
21
-
22
- return (
23
- <Box padding={[4, 5, 6]}>
24
- <Container width={1}>
25
- <Text muted>Delayed by 2000ms</Text>
26
- <Card tone={tone} marginTop={4} padding={2} radius={2} border>
27
- <Flex align="center">
28
- <Skeleton
29
- style={{width: 90, height: 90}}
30
- radius={2}
31
- animated={animated}
32
- marginRight={3}
33
- delay={1000}
34
- />
35
- <Stack space={2} flex={1}>
36
- <HeadingSkeleton
37
- size={4}
38
- style={{width: '100%'}}
39
- radius={1}
40
- animated={animated}
41
- delay={1000}
42
- />
43
- <TextSkeleton
44
- size={1}
45
- style={{width: '100%'}}
46
- radius={1}
47
- animated={animated}
48
- delay={1000}
49
- />
50
- <LabelSkeleton
51
- size={1}
52
- style={{width: '100%'}}
53
- radius={1}
54
- animated={animated}
55
- delay={1000}
56
- />
57
- <CodeSkeleton
58
- size={1}
59
- style={{width: '100%'}}
60
- radius={1}
61
- animated={animated}
62
- delay={1000}
63
- />
64
- </Stack>
65
- </Flex>
66
- </Card>
67
- </Container>
68
- </Box>
69
- )
70
- }
@@ -1,11 +0,0 @@
1
- import {defineScope} from '@sanity/ui-workshop'
2
- import {lazy} from 'react'
3
-
4
- export default defineScope({
5
- name: 'components/skeleton',
6
- title: 'Skeleton',
7
- stories: [
8
- {name: 'skeleton', title: 'Skeleton', component: lazy(() => import('./skeleton'))},
9
- {name: 'skeleton-delay', title: 'Skeleton delay', component: lazy(() => import('./delay'))},
10
- ],
11
- })
@@ -1,64 +0,0 @@
1
- import {
2
- Box,
3
- Card,
4
- CodeSkeleton,
5
- Container,
6
- Flex,
7
- Grid,
8
- HeadingSkeleton,
9
- LabelSkeleton,
10
- Skeleton,
11
- Stack,
12
- TextSkeleton,
13
- } from '@sanity/ui'
14
- import {useBoolean, useSelect} from '@sanity/ui-workshop'
15
-
16
- import {WORKSHOP_CARD_TONE_OPTIONS} from '../../../__workshop__/constants'
17
-
18
- export default function SkeletonStory() {
19
- const tone = useSelect('Tone', WORKSHOP_CARD_TONE_OPTIONS, '', 'Props') || 'default'
20
- const animated = useBoolean('Animated', true)
21
-
22
- return (
23
- <Box padding={[4, 5, 6]}>
24
- <Container width={1}>
25
- <Stack space={4}>
26
- {[1, 2, 3].map((item) => (
27
- <Card key={item} tone={tone} padding={2} radius={2} border>
28
- <Flex align="center">
29
- <Grid gap={2} columns={2} marginRight={3}>
30
- <Skeleton style={{width: 40, height: 40}} radius={2} animated={animated} />
31
- <Skeleton style={{width: 40, height: 40}} radius={2} animated={animated} />
32
- <Skeleton style={{width: 40, height: 40}} radius={2} animated={animated} />
33
- <Skeleton style={{width: 40, height: 40}} radius={2} animated={animated} />
34
- </Grid>
35
- <Stack space={2} flex={1}>
36
- <HeadingSkeleton style={{width: '100%'}} radius={1} animated={animated} />
37
- <TextSkeleton style={{width: '100%'}} radius={1} animated={animated} />
38
- <LabelSkeleton style={{width: '100%'}} radius={1} animated={animated} />
39
- <CodeSkeleton style={{width: '100%'}} radius={1} animated={animated} />
40
- </Stack>
41
- </Flex>
42
- <Flex marginTop={2}>
43
- <Skeleton
44
- style={{height: 50}}
45
- flex={1}
46
- marginRight={1}
47
- radius={2}
48
- animated={animated}
49
- />
50
- <Skeleton
51
- style={{height: 50}}
52
- flex={1}
53
- marginLeft={1}
54
- radius={2}
55
- animated={animated}
56
- />
57
- </Flex>
58
- </Card>
59
- ))}
60
- </Stack>
61
- </Container>
62
- </Box>
63
- )
64
- }
@@ -1,79 +0,0 @@
1
- import {OkHandIcon, RocketIcon, SunIcon} from '@sanity/icons'
2
- import {Box, Card, Tab, TabList, TabPanel, Text} from '@sanity/ui'
3
- import {useBoolean} from '@sanity/ui-workshop'
4
- import {useState} from 'react'
5
-
6
- export default function ExampleStory() {
7
- const [tab, setTab] = useState('foo')
8
- const useLongTitle = useBoolean('Use long title', false, 'Props') || false
9
-
10
- const longTitle =
11
- "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum."
12
-
13
- return (
14
- <Box padding={[4, 5, 6]}>
15
- <TabList space={[1, 2, 3]}>
16
- <Tab
17
- aria-controls="example-panel-foo"
18
- icon={SunIcon}
19
- id="example-tab-foo"
20
- label="Foo"
21
- onClick={() => setTab('foo')}
22
- selected={tab === 'foo'}
23
- />
24
- <Tab
25
- aria-controls="example-panel-bar"
26
- icon={RocketIcon}
27
- id="example-tab-bar"
28
- label="Bar"
29
- onClick={() => setTab('bar')}
30
- selected={tab === 'bar'}
31
- />
32
- <Tab
33
- aria-controls="example-panel-baz"
34
- icon={OkHandIcon}
35
- id="example-tab-baz"
36
- label={useLongTitle ? longTitle : 'Baz'}
37
- onClick={() => setTab('baz')}
38
- selected={tab === 'baz'}
39
- />
40
- </TabList>
41
- <TabPanel
42
- aria-labelledby="example-panel-foo"
43
- hidden={tab !== 'foo'}
44
- id="example-panel-foo"
45
- marginTop={[3, 4, 5]}
46
- >
47
- <Card border padding={3}>
48
- <Text>
49
- This is the <strong>Foo</strong> panel
50
- </Text>
51
- </Card>
52
- </TabPanel>
53
- <TabPanel
54
- aria-labelledby="example-panel-bar"
55
- hidden={tab !== 'bar'}
56
- id="example-panel-bar"
57
- marginTop={[3, 4, 5]}
58
- >
59
- <Card border padding={3}>
60
- <Text>
61
- This is the <strong>Bar</strong> panel
62
- </Text>
63
- </Card>
64
- </TabPanel>
65
- <TabPanel
66
- aria-labelledby="example-panel-baz"
67
- hidden={tab !== 'baz'}
68
- id="example-panel-baz"
69
- marginTop={[3, 4, 5]}
70
- >
71
- <Card border padding={3}>
72
- <Text>
73
- This is the <strong>Baz</strong> panel
74
- </Text>
75
- </Card>
76
- </TabPanel>
77
- </Box>
78
- )
79
- }
@@ -1,14 +0,0 @@
1
- import {defineScope} from '@sanity/ui-workshop'
2
- import {lazy} from 'react'
3
-
4
- export default defineScope({
5
- name: 'components/tab',
6
- title: 'Tab',
7
- stories: [
8
- {
9
- name: 'example',
10
- title: 'Example',
11
- component: lazy(() => import('./example')),
12
- },
13
- ],
14
- })
@@ -1,71 +0,0 @@
1
- import {Box, Button, Inline, ToastProvider, useToast} from '@sanity/ui'
2
-
3
- export default function HookStory() {
4
- const toast = useToast()
5
-
6
- return (
7
- <ToastProvider>
8
- <Box padding={[4, 5, 6]}>
9
- <Inline space={2}>
10
- <Button
11
- onClick={() =>
12
- toast.push({
13
- id: 'status',
14
- closable: true,
15
- title: 'Information',
16
- status: 'info',
17
- description: (
18
- <>
19
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis faucibus
20
- pellentesque luctus. Curabitur sed tortor a elit tempus malesuada. Quisque sed
21
- dapibus ligula, id pulvinar nisl.
22
- </>
23
- ),
24
- })
25
- }
26
- text="Push info"
27
- tone="neutral"
28
- />
29
-
30
- <Button
31
- onClick={() =>
32
- toast.push({
33
- id: 'status',
34
- closable: true,
35
- title: 'Warning',
36
- status: 'warning',
37
- })
38
- }
39
- text="Push warning"
40
- tone="caution"
41
- />
42
-
43
- <Button
44
- onClick={() =>
45
- toast.push({
46
- id: 'status',
47
- closable: true,
48
- title: 'Error',
49
- status: 'error',
50
- })
51
- }
52
- text="Push error"
53
- tone="critical"
54
- />
55
-
56
- <Button
57
- onClick={() =>
58
- toast.push({
59
- // id: 'status',
60
- closable: true,
61
- title: 'Some message',
62
- // status: 'error',
63
- })
64
- }
65
- text="Push some message"
66
- />
67
- </Inline>
68
- </Box>
69
- </ToastProvider>
70
- )
71
- }
@@ -1,19 +0,0 @@
1
- import {defineScope} from '@sanity/ui-workshop'
2
- import {lazy} from 'react'
3
-
4
- export default defineScope({
5
- name: 'components/toast',
6
- title: 'Toast',
7
- stories: [
8
- {
9
- name: 'toast',
10
- title: 'Toast',
11
- component: lazy(() => import('./toast')),
12
- },
13
- {
14
- name: 'hook',
15
- title: 'Hook',
16
- component: lazy(() => import('./hook')),
17
- },
18
- ],
19
- })
@@ -1,26 +0,0 @@
1
- import {Box, Container, Toast} from '@sanity/ui'
2
- import {useAction, useBoolean, useSelect, useString, useText} from '@sanity/ui-workshop'
3
-
4
- import {WORKSHOP_TOAST_STATUS_OPTIONS} from '../../../__workshop__/constants'
5
-
6
- export default function ToastStory() {
7
- const closable = useBoolean('Closable', false, 'Props')
8
- const title = useString('Title', 'Toast title', 'Props')
9
- const status = useSelect('Status', WORKSHOP_TOAST_STATUS_OPTIONS, '', 'Props') || undefined
10
- const description = useText('Description', '', 'Props')
11
- const handleClose = useAction('onClose')
12
-
13
- return (
14
- <Box padding={[4, 5, 6]}>
15
- <Container width={0}>
16
- <Toast
17
- closable={closable}
18
- description={description}
19
- onClose={handleClose}
20
- status={status}
21
- title={title}
22
- />
23
- </Container>
24
- </Box>
25
- )
26
- }
@@ -1,19 +0,0 @@
1
- import {PerfTestProps, PerfTestRunFn} from '@sanity/ui-workshop/plugin-perf'
2
- import {findByTestId, fireEvent} from '@testing-library/dom'
3
-
4
- function test<ElementType = unknown>(
5
- title: string,
6
- run: PerfTestRunFn<ElementType>,
7
- ): PerfTestProps<ElementType> {
8
- return {name: title, run}
9
- }
10
-
11
- export const perfTests = [
12
- test('Toggle tree groups', async ({target}: {target: HTMLUListElement}) => {
13
- const apples = await findByTestId(target, 'apples')
14
- const oranges = await findByTestId(target, 'oranges')
15
-
16
- fireEvent.click(apples)
17
- fireEvent.click(oranges)
18
- }),
19
- ]