@sanity/ui 3.0.0-static.33 → 3.0.0-static.34

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 (580) hide show
  1. package/README.md +1 -1
  2. package/dist/_chunks-cjs/_visual-editing.cjs +263 -375
  3. package/dist/_chunks-cjs/_visual-editing.cjs.map +1 -1
  4. package/dist/_chunks-cjs/refractor.cjs.map +1 -1
  5. package/dist/_chunks-es/_visual-editing.js +263 -377
  6. package/dist/_chunks-es/_visual-editing.js.map +1 -1
  7. package/dist/_chunks-es/refractor.js.map +1 -1
  8. package/dist/_visual-editing.cjs +0 -2
  9. package/dist/_visual-editing.cjs.map +1 -1
  10. package/dist/_visual-editing.d.cts +2 -904
  11. package/dist/_visual-editing.d.ts +2 -904
  12. package/dist/_visual-editing.js +2 -4
  13. package/dist/css/index.cjs +12 -12
  14. package/dist/css/index.cjs.map +1 -1
  15. package/dist/css/index.css +1 -1
  16. package/dist/css/index.d.cts +805 -14697
  17. package/dist/css/index.d.ts +805 -14697
  18. package/dist/css/index.js +12 -12
  19. package/dist/css/index.js.map +1 -1
  20. package/dist/index.cjs +241 -366
  21. package/dist/index.cjs.map +1 -1
  22. package/dist/index.d.cts +990 -3095
  23. package/dist/index.d.ts +990 -3095
  24. package/dist/index.js +243 -360
  25. package/dist/index.js.map +1 -1
  26. package/dist/portalProvider-DgNIVviV.d.ts +575 -0
  27. package/dist/theme.cjs +367 -4288
  28. package/dist/theme.cjs.map +1 -1
  29. package/dist/theme.d.cts +272 -1806
  30. package/dist/theme.d.ts +272 -1806
  31. package/dist/theme.js +371 -4292
  32. package/dist/theme.js.map +1 -1
  33. package/exports/_visual-editing.ts +0 -2
  34. package/package.json +3 -4
  35. package/src/core/Root.tsx +4 -2
  36. package/src/core/RootProvider.tsx +4 -4
  37. package/src/core/__workshop__/boundary.tsx +1 -1
  38. package/src/core/__workshop__/index.ts +5 -3
  39. package/src/core/components/autocomplete/__workshop__/async.tsx +1 -1
  40. package/src/core/components/autocomplete/__workshop__/constrainedHeight.tsx +2 -2
  41. package/src/core/components/autocomplete/__workshop__/custom.tsx +2 -2
  42. package/src/core/components/autocomplete/__workshop__/example.tsx +2 -2
  43. package/src/core/components/autocomplete/__workshop__/focusAndBlur.tsx +1 -1
  44. package/src/core/components/autocomplete/__workshop__/fullscreen.tsx +1 -1
  45. package/src/core/components/autocomplete/__workshop__/index.ts +5 -3
  46. package/src/core/components/autocomplete/__workshop__/mock/apiStore.ts +1 -1
  47. package/src/core/components/autocomplete/__workshop__/mock/countries.ts +1 -1
  48. package/src/core/components/autocomplete/autocomplete.tsx +2 -2
  49. package/src/core/components/autocomplete/autocompleteOption.tsx +2 -2
  50. package/src/core/components/autocomplete/constants.ts +2 -2
  51. package/src/core/components/breadcrumbs/__workshop__/example.tsx +1 -1
  52. package/src/core/components/breadcrumbs/__workshop__/index.ts +5 -3
  53. package/src/core/components/breadcrumbs/breadcrumbs.tsx +6 -11
  54. package/src/core/components/dialog/__workshop__/activate.tsx +1 -1
  55. package/src/core/components/dialog/__workshop__/autoFocus.tsx +1 -1
  56. package/src/core/components/dialog/__workshop__/index.ts +5 -3
  57. package/src/core/components/dialog/__workshop__/layering.tsx +1 -1
  58. package/src/core/components/dialog/__workshop__/nested.tsx +2 -3
  59. package/src/core/components/dialog/__workshop__/onScroll.tsx +1 -1
  60. package/src/core/components/dialog/__workshop__/panes.tsx +1 -1
  61. package/src/core/components/dialog/__workshop__/position.tsx +1 -1
  62. package/src/core/components/dialog/__workshop__/props.tsx +1 -1
  63. package/src/core/components/dialog/__workshop__/provider.tsx +1 -1
  64. package/src/core/components/dialog/__workshop__/wrapped.tsx +1 -1
  65. package/src/core/components/dialog/dialog.tsx +5 -6
  66. package/src/core/components/dialog/dialogCard.tsx +2 -2
  67. package/src/core/components/dialog/dialogContext.ts +3 -4
  68. package/src/core/components/dialog/dialogProvider.tsx +2 -2
  69. package/src/core/components/hotkeys/__workshop__/index.ts +5 -3
  70. package/src/core/components/hotkeys/__workshop__/plain.tsx +1 -1
  71. package/src/core/components/hotkeys/hotkeys.tsx +4 -15
  72. package/src/core/components/menu/__workshop__/asComponent.tsx +1 -1
  73. package/src/core/components/menu/__workshop__/avatarMenu.tsx +1 -1
  74. package/src/core/components/menu/__workshop__/closableMenuButton.tsx +1 -1
  75. package/src/core/components/menu/__workshop__/constrainedInBoundary.tsx +3 -3
  76. package/src/core/components/menu/__workshop__/customMenuItem.tsx +1 -1
  77. package/src/core/components/menu/__workshop__/customSelectedState.tsx +1 -1
  78. package/src/core/components/menu/__workshop__/disableFocusOnClose.tsx +1 -1
  79. package/src/core/components/menu/__workshop__/groups.tsx +1 -1
  80. package/src/core/components/menu/__workshop__/index.ts +5 -3
  81. package/src/core/components/menu/__workshop__/menuButton.tsx +2 -2
  82. package/src/core/components/menu/__workshop__/menuGroupRight.tsx +1 -1
  83. package/src/core/components/menu/__workshop__/nestedMenu.tsx +1 -1
  84. package/src/core/components/menu/__workshop__/onCloseMenuButton.tsx +1 -1
  85. package/src/core/components/menu/__workshop__/selectedItem.tsx +1 -1
  86. package/src/core/components/menu/__workshop__/shouldFocus.tsx +1 -1
  87. package/src/core/components/menu/__workshop__/tones.tsx +3 -3
  88. package/src/core/components/menu/__workshop__/withoutArrow.tsx +1 -1
  89. package/src/core/components/menu/menu.test.tsx +2 -1
  90. package/src/core/components/menu/menu.tsx +7 -22
  91. package/src/core/components/menu/menuButton.tsx +4 -50
  92. package/src/core/components/menu/menuContext.ts +3 -15
  93. package/src/core/components/menu/menuDivider.tsx +2 -2
  94. package/src/core/components/menu/menuGroup.tsx +10 -15
  95. package/src/core/components/menu/menuItem.tsx +7 -18
  96. package/src/core/components/tab/__workshop__/example.tsx +1 -1
  97. package/src/core/components/tab/__workshop__/index.ts +5 -3
  98. package/src/core/components/tab/tab.tsx +6 -4
  99. package/src/core/components/tab/tabList.tsx +3 -8
  100. package/src/core/components/tab/tabPanel.tsx +2 -2
  101. package/src/core/components/toast/__workshop__/hook.tsx +1 -1
  102. package/src/core/components/toast/__workshop__/index.ts +5 -3
  103. package/src/core/components/toast/__workshop__/toast.tsx +1 -1
  104. package/src/core/components/toast/toast.test.tsx +2 -1
  105. package/src/core/components/toast/toast.tsx +2 -2
  106. package/src/core/components/toast/toastContext.ts +4 -4
  107. package/src/core/components/toast/toastLayer.tsx +3 -3
  108. package/src/core/components/tree/__workshop__/basic.perf.ts +1 -1
  109. package/src/core/components/tree/__workshop__/basic.tsx +1 -1
  110. package/src/core/components/tree/__workshop__/index.ts +5 -3
  111. package/src/core/components/tree/__workshop__/tabFromElement.tsx +1 -1
  112. package/src/core/components/tree/tree.tsx +8 -9
  113. package/src/core/components/tree/treeContext.ts +4 -4
  114. package/src/core/components/tree/treeGroup.tsx +6 -8
  115. package/src/core/components/tree/treeItem.tsx +4 -4
  116. package/src/core/components/tree/types.ts +1 -1
  117. package/src/core/components/virtualList/__workshop__/changingProps.tsx +1 -1
  118. package/src/core/components/virtualList/__workshop__/elementScroll.tsx +1 -1
  119. package/src/core/components/virtualList/__workshop__/index.ts +5 -3
  120. package/src/core/components/virtualList/__workshop__/infiniteList.tsx +1 -1
  121. package/src/core/components/virtualList/__workshop__/windowScrolll.tsx +1 -1
  122. package/src/core/components/virtualList/virtualList.tsx +2 -2
  123. package/src/core/constants.ts +0 -18
  124. package/src/core/hooks/useMediaIndex/__workshop__/index.ts +5 -3
  125. package/src/core/hooks/useMediaIndex/__workshop__/test.tsx +1 -1
  126. package/src/core/hooks/useMediaIndex/useMediaIndex.ts +6 -1
  127. package/src/core/index.ts +1 -24
  128. package/src/core/lib/createGlobalScopedContext.ts +1 -1
  129. package/src/core/lib/globalScope.ts +1 -1
  130. package/src/core/observers/elementSize.ts +1 -1
  131. package/src/core/primitives/arrow/arrow.tsx +2 -2
  132. package/src/core/primitives/avatar/__workshop__/asButton.tsx +1 -1
  133. package/src/core/primitives/avatar/__workshop__/index.ts +5 -3
  134. package/src/core/primitives/avatar/__workshop__/stack.tsx +1 -1
  135. package/src/core/primitives/avatar/__workshop__/withinButton.tsx +1 -1
  136. package/src/core/primitives/avatar/__workshop__/withinMenuItem.tsx +1 -1
  137. package/src/core/primitives/avatar/avatar.tsx +3 -10
  138. package/src/core/primitives/avatar/avatarCounter.tsx +2 -2
  139. package/src/core/primitives/avatar/avatarStack.tsx +2 -4
  140. package/src/core/primitives/avatar/types.ts +0 -32
  141. package/src/core/primitives/badge/__workshop__/index.ts +5 -3
  142. package/src/core/primitives/badge/__workshop__/props.tsx +1 -1
  143. package/src/core/primitives/badge/__workshop__/tones.tsx +3 -3
  144. package/src/core/primitives/badge/badge.test.tsx +2 -1
  145. package/src/core/primitives/badge/badge.tsx +12 -11
  146. package/src/core/primitives/box/__workshop__/index.ts +5 -3
  147. package/src/core/primitives/box/__workshop__/props.tsx +1 -1
  148. package/src/core/primitives/box/__workshop__/responsive.tsx +1 -1
  149. package/src/core/primitives/box/box.tsx +28 -32
  150. package/src/core/primitives/button/__workshop__/custom.tsx +5 -5
  151. package/src/core/primitives/button/__workshop__/customIcons.tsx +1 -1
  152. package/src/core/primitives/button/__workshop__/disabled.tsx +3 -3
  153. package/src/core/primitives/button/__workshop__/index.ts +5 -3
  154. package/src/core/primitives/button/__workshop__/mixedChildren.tsx +1 -1
  155. package/src/core/primitives/button/__workshop__/props.tsx +1 -1
  156. package/src/core/primitives/button/__workshop__/sanityUploadButton.tsx +1 -1
  157. package/src/core/primitives/button/__workshop__/stacked.tsx +1 -1
  158. package/src/core/primitives/button/__workshop__/styled1.tsx +1 -1
  159. package/src/core/primitives/button/__workshop__/styled2.tsx +1 -1
  160. package/src/core/primitives/button/__workshop__/textOverflow.tsx +1 -1
  161. package/src/core/primitives/button/__workshop__/uploadButton.tsx +1 -1
  162. package/src/core/primitives/button/button.test.tsx +2 -1
  163. package/src/core/primitives/button/button.tsx +4 -7
  164. package/src/core/primitives/button/types.ts +0 -20
  165. package/src/core/primitives/card/__workshop__/asButton.tsx +2 -2
  166. package/src/core/primitives/card/__workshop__/asComponent.tsx +1 -1
  167. package/src/core/primitives/card/__workshop__/checkered.tsx +3 -3
  168. package/src/core/primitives/card/__workshop__/index.ts +5 -3
  169. package/src/core/primitives/card/__workshop__/interactive.tsx +1 -1
  170. package/src/core/primitives/card/__workshop__/listNavigation.tsx +1 -1
  171. package/src/core/primitives/card/__workshop__/props.tsx +1 -1
  172. package/src/core/primitives/card/__workshop__/selected.tsx +1 -1
  173. package/src/core/primitives/card/__workshop__/styled.tsx +1 -1
  174. package/src/core/primitives/card/__workshop__/tones.tsx +3 -3
  175. package/src/core/primitives/card/card.tsx +4 -2
  176. package/src/core/primitives/card/cardContext.ts +1 -1
  177. package/src/core/primitives/card/cardProvider.tsx +4 -4
  178. package/src/core/primitives/card/types.ts +5 -19
  179. package/src/core/primitives/checkbox/__workshop__/example.tsx +1 -1
  180. package/src/core/primitives/checkbox/__workshop__/index.ts +5 -3
  181. package/src/core/primitives/checkbox/__workshop__/props.tsx +1 -1
  182. package/src/core/primitives/checkbox/__workshop__/readOnly.tsx +1 -1
  183. package/src/core/primitives/checkbox/__workshop__/tones.tsx +3 -3
  184. package/src/core/primitives/checkbox/checkbox.tsx +2 -2
  185. package/src/core/primitives/code/__workshop__/index.ts +5 -3
  186. package/src/core/primitives/code/__workshop__/opticalAlignment.tsx +1 -1
  187. package/src/core/primitives/code/__workshop__/props.tsx +1 -1
  188. package/src/core/primitives/code/code.tsx +4 -2
  189. package/src/core/primitives/code/refractor.tsx +1 -1
  190. package/src/core/primitives/container/__workshop__/example.tsx +1 -1
  191. package/src/core/primitives/container/__workshop__/index.ts +5 -3
  192. package/src/core/primitives/container/container.tsx +2 -2
  193. package/src/core/primitives/flex/__workshop__/example.tsx +1 -1
  194. package/src/core/primitives/flex/__workshop__/gap.tsx +1 -1
  195. package/src/core/primitives/flex/__workshop__/index.ts +5 -3
  196. package/src/core/primitives/flex/flex.tsx +4 -2
  197. package/src/core/primitives/grid/__workshop__/index.ts +5 -3
  198. package/src/core/primitives/grid/__workshop__/responsive.tsx +3 -3
  199. package/src/core/primitives/grid/grid.tsx +4 -2
  200. package/src/core/primitives/heading/__workshop__/index.ts +5 -3
  201. package/src/core/primitives/heading/__workshop__/opticalAlignment.tsx +1 -1
  202. package/src/core/primitives/heading/__workshop__/plain.tsx +1 -1
  203. package/src/core/primitives/heading/heading.tsx +2 -4
  204. package/src/core/primitives/inline/__workshop__/index.ts +5 -3
  205. package/src/core/primitives/inline/__workshop__/plain.tsx +1 -1
  206. package/src/core/primitives/inline/inline.tsx +4 -11
  207. package/src/core/primitives/kbd/__workshop__/index.ts +5 -3
  208. package/src/core/primitives/kbd/__workshop__/plain.tsx +1 -1
  209. package/src/core/primitives/kbd/kbd.tsx +4 -2
  210. package/src/core/primitives/label/__workshop__/index.ts +5 -3
  211. package/src/core/primitives/label/__workshop__/opticalAlignment.tsx +1 -1
  212. package/src/core/primitives/label/__workshop__/plain.tsx +1 -1
  213. package/src/core/primitives/label/label.tsx +2 -4
  214. package/src/core/primitives/layer/__workshop__/_debug.tsx +1 -1
  215. package/src/core/primitives/layer/__workshop__/index.ts +5 -3
  216. package/src/core/primitives/layer/__workshop__/multipleRoots.tsx +1 -1
  217. package/src/core/primitives/layer/__workshop__/nested.tsx +1 -1
  218. package/src/core/primitives/layer/__workshop__/responsiveZOffset.tsx +1 -1
  219. package/src/core/primitives/layer/layer.test.tsx +2 -1
  220. package/src/core/primitives/layer/layer.tsx +2 -2
  221. package/src/core/primitives/layer/layerCard.tsx +2 -2
  222. package/src/core/primitives/layer/layerContext.ts +4 -4
  223. package/src/core/primitives/layer/layerProvider.tsx +2 -10
  224. package/src/core/primitives/popover/__workshop__/AlignedStory.tsx +2 -2
  225. package/src/core/primitives/popover/__workshop__/MarginsStory.tsx +1 -1
  226. package/src/core/primitives/popover/__workshop__/MatchReferenceWidthStory.tsx +1 -1
  227. package/src/core/primitives/popover/__workshop__/OpenOnMountStory.tsx +1 -1
  228. package/src/core/primitives/popover/__workshop__/PlainStory.tsx +2 -2
  229. package/src/core/primitives/popover/__workshop__/RecursiveStory.tsx +3 -3
  230. package/src/core/primitives/popover/__workshop__/SidePanelStory.tsx +3 -3
  231. package/src/core/primitives/popover/__workshop__/index.ts +5 -3
  232. package/src/core/primitives/popover/popover.tsx +4 -9
  233. package/src/core/primitives/popover/popoverLayer.tsx +2 -2
  234. package/src/core/primitives/radio/__workshop__/example.tsx +1 -1
  235. package/src/core/primitives/radio/__workshop__/index.ts +5 -3
  236. package/src/core/primitives/radio/__workshop__/plain.tsx +1 -1
  237. package/src/core/primitives/radio/radio.tsx +2 -2
  238. package/src/core/primitives/select/__workshop__/index.ts +5 -3
  239. package/src/core/primitives/select/__workshop__/plain.tsx +1 -1
  240. package/src/core/primitives/select/__workshop__/readOnly.tsx +1 -1
  241. package/src/core/primitives/select/select.tsx +5 -15
  242. package/src/core/primitives/selectable/selectable.tsx +4 -4
  243. package/src/core/primitives/skeleton/__workshop__/delay.tsx +1 -1
  244. package/src/core/primitives/skeleton/__workshop__/index.ts +5 -3
  245. package/src/core/primitives/skeleton/__workshop__/skeleton.tsx +2 -2
  246. package/src/core/primitives/skeleton/codeSkeleton.tsx +2 -2
  247. package/src/core/primitives/skeleton/headingSkeleton.tsx +2 -2
  248. package/src/core/primitives/skeleton/labelSkeleton.tsx +2 -2
  249. package/src/core/primitives/skeleton/skeleton.tsx +2 -2
  250. package/src/core/primitives/skeleton/textSkeleton.tsx +2 -2
  251. package/src/core/primitives/spinner/__workshop__/Props.tsx +1 -1
  252. package/src/core/primitives/spinner/__workshop__/index.ts +5 -3
  253. package/src/core/primitives/spinner/animatedSpinnerIcon.tsx +2 -2
  254. package/src/core/primitives/spinner/spinner.tsx +2 -2
  255. package/src/core/primitives/srOnly/srOnly.tsx +2 -2
  256. package/src/core/primitives/stack/__workshop__/index.ts +5 -3
  257. package/src/core/primitives/stack/__workshop__/plain.tsx +1 -1
  258. package/src/core/primitives/stack/stack.tsx +5 -10
  259. package/src/core/primitives/switch/__workshop__/example.tsx +1 -1
  260. package/src/core/primitives/switch/__workshop__/index.ts +5 -3
  261. package/src/core/primitives/switch/__workshop__/props.tsx +1 -1
  262. package/src/core/primitives/switch/switch.tsx +2 -2
  263. package/src/core/primitives/text/__workshop__/colored.tsx +1 -1
  264. package/src/core/primitives/text/__workshop__/example.tsx +1 -1
  265. package/src/core/primitives/text/__workshop__/index.ts +5 -3
  266. package/src/core/primitives/text/__workshop__/opticalAlignment.tsx +1 -1
  267. package/src/core/primitives/text/text.tsx +4 -4
  268. package/src/core/primitives/textArea/__workshop__/index.ts +5 -3
  269. package/src/core/primitives/textArea/__workshop__/plain.tsx +1 -1
  270. package/src/core/primitives/textArea/textArea.tsx +5 -15
  271. package/src/core/primitives/textInput/__workshop__/clearButton.tsx +1 -1
  272. package/src/core/primitives/textInput/__workshop__/customValidity.tsx +1 -1
  273. package/src/core/primitives/textInput/__workshop__/index.ts +5 -3
  274. package/src/core/primitives/textInput/__workshop__/plain.tsx +1 -1
  275. package/src/core/primitives/textInput/__workshop__/readOnly.tsx +1 -1
  276. package/src/core/primitives/textInput/__workshop__/states.tsx +1 -1
  277. package/src/core/primitives/textInput/__workshop__/tones.tsx +1 -1
  278. package/src/core/primitives/textInput/__workshop__/typed.tsx +1 -1
  279. package/src/core/primitives/textInput/textInput.tsx +6 -9
  280. package/src/core/primitives/tooltip/__workshop__/customPortal.tsx +1 -1
  281. package/src/core/primitives/tooltip/__workshop__/index.ts +5 -3
  282. package/src/core/primitives/tooltip/__workshop__/overflowingBoundary.tsx +1 -1
  283. package/src/core/primitives/tooltip/__workshop__/props.tsx +1 -1
  284. package/src/core/primitives/tooltip/__workshop__/resizableBoundary.tsx +1 -1
  285. package/src/core/primitives/tooltip/constants.ts +1 -1
  286. package/src/core/primitives/tooltip/tooltip.test.tsx +2 -4
  287. package/src/core/primitives/tooltip/tooltip.tsx +5 -9
  288. package/src/core/primitives/tooltip/tooltipDelayGroup/tooltipDelayGroupContext.tsx +4 -2
  289. package/src/core/primitives/tooltip/tooltipDelayGroup/tooltipDelayGroupProvider.tsx +5 -3
  290. package/src/core/primitives/tooltip/tooltipLayer.tsx +2 -2
  291. package/src/core/{types/props.ts → types.ts} +27 -0
  292. package/src/core/utils/boundaryElement/__workshop__/index.ts +5 -3
  293. package/src/core/utils/boundaryElement/__workshop__/plain.tsx +1 -1
  294. package/src/core/utils/boundaryElement/boundaryElement.test.tsx +2 -1
  295. package/src/core/utils/boundaryElement/boundaryElementContext.ts +7 -4
  296. package/src/core/utils/boundaryElement/boundaryElementProvider.tsx +2 -2
  297. package/src/core/utils/elementQuery/__workshop__/customMedia.tsx +1 -1
  298. package/src/core/utils/elementQuery/__workshop__/index.ts +5 -3
  299. package/src/core/utils/elementQuery/elementQuery.tsx +2 -2
  300. package/src/core/utils/getElementRef.ts +1 -1
  301. package/src/core/utils/portal/__workshop__/index.ts +5 -3
  302. package/src/core/utils/portal/__workshop__/named.tsx +1 -1
  303. package/src/core/utils/portal/portal.test.tsx +2 -1
  304. package/src/core/utils/portal/portalContext.ts +5 -2
  305. package/src/core/utils/portal/portalProvider.tsx +5 -9
  306. package/src/css/_responsiveClassName.ts +2 -2
  307. package/src/css/_style.css.ts +1 -1
  308. package/src/css/components/breadcrumbs/breadcrumbs.css.ts +1 -1
  309. package/src/css/components/dialog/dialog.css.ts +9 -17
  310. package/src/css/components/menu/menu.css.ts +2 -2
  311. package/src/css/components/menu/menu.ts +2 -2
  312. package/src/css/components/skeleton/skeleton.css.ts +2 -6
  313. package/src/css/components/toast/toast.css.ts +2 -2
  314. package/src/css/components/toast/toast.ts +2 -2
  315. package/src/css/components/tree/tree.css.ts +1 -1
  316. package/src/css/components/tree/tree.ts +1 -1
  317. package/src/css/defaultTheme.css.ts +59 -60
  318. package/src/css/layers.css.ts +4 -1
  319. package/src/css/primitives/_arrow/_arrow.css.ts +5 -5
  320. package/src/css/primitives/_input/_input.css.ts +4 -4
  321. package/src/css/primitives/_selectable/_selectable.css.ts +4 -4
  322. package/src/css/primitives/_selectable/types.ts +2 -2
  323. package/src/css/primitives/avatar/avatar.css.ts +10 -10
  324. package/src/css/primitives/badge/badge.css.ts +4 -4
  325. package/src/css/primitives/badge/types.ts +8 -2
  326. package/src/css/primitives/box/box.css.ts +2 -2
  327. package/src/css/primitives/button/button.css.ts +6 -6
  328. package/src/css/primitives/button/button.ts +2 -2
  329. package/src/css/primitives/button/types.ts +3 -3
  330. package/src/css/primitives/card/__workshop__/color.tsx +9 -9
  331. package/src/css/primitives/card/__workshop__/index.ts +5 -3
  332. package/src/css/primitives/card/card.css.ts +12 -18
  333. package/src/css/primitives/card/types.ts +3 -3
  334. package/src/css/primitives/checkbox/checkbox.css.ts +3 -3
  335. package/src/css/primitives/checkbox/checkbox.ts +3 -3
  336. package/src/css/primitives/code/code.css.ts +4 -3
  337. package/src/css/primitives/code/types.ts +3 -4
  338. package/src/css/primitives/container/container.css.ts +1 -1
  339. package/src/css/primitives/heading/heading.css.ts +5 -4
  340. package/src/css/primitives/heading/types.ts +3 -6
  341. package/src/css/primitives/kbd/kbd.css.ts +1 -1
  342. package/src/css/primitives/label/label.css.ts +5 -4
  343. package/src/css/primitives/label/types.ts +0 -8
  344. package/src/css/primitives/popover/popover.css.ts +2 -2
  345. package/src/css/primitives/popover/popover.ts +2 -2
  346. package/src/css/primitives/radio/radio.css.ts +3 -3
  347. package/src/css/primitives/radio/radio.ts +3 -3
  348. package/src/css/primitives/root/root.css.ts +1 -1
  349. package/src/css/primitives/root/root.ts +1 -1
  350. package/src/css/primitives/root/types.ts +3 -3
  351. package/src/css/primitives/select/select.css.ts +3 -3
  352. package/src/css/primitives/spinner/spinner.css.ts +2 -6
  353. package/src/css/primitives/spinner/spinner.ts +2 -2
  354. package/src/css/primitives/srOnly/srOnly.css.ts +1 -1
  355. package/src/css/primitives/srOnly/srOnly.ts +1 -1
  356. package/src/css/primitives/stack/stack.css.ts +1 -1
  357. package/src/css/primitives/stack/stack.ts +1 -1
  358. package/src/css/primitives/switch/switch.css.ts +5 -5
  359. package/src/css/primitives/text/text.css.ts +5 -4
  360. package/src/css/primitives/text/types.ts +3 -5
  361. package/src/css/primitives/textArea/textArea.css.ts +1 -1
  362. package/src/css/primitives/textInput/textInput.css.ts +4 -4
  363. package/src/css/primitives/tooltip/tooltip.css.ts +1 -1
  364. package/src/css/props/alignItems/alignItems.ts +1 -1
  365. package/src/css/props/border/border.ts +1 -16
  366. package/src/css/props/boxSizing/boxSizing.css.ts +2 -1
  367. package/src/css/props/boxSizing/boxSizing.ts +0 -3
  368. package/src/css/props/display/display.ts +1 -10
  369. package/src/css/props/flex/flex.ts +1 -1
  370. package/src/css/props/flexDirection/flexDirection.ts +1 -1
  371. package/src/css/props/flexWrap/flexWrap.ts +1 -1
  372. package/src/css/props/font/font.css.ts +3 -2
  373. package/src/css/props/font/font.ts +1 -1
  374. package/src/css/props/gap/gap.ts +1 -1
  375. package/src/css/props/gridAutoColumns/gridAutoColumns.css.ts +2 -2
  376. package/src/css/props/gridAutoColumns/gridAutoColumns.ts +2 -2
  377. package/src/css/props/gridAutoColumns/types.ts +0 -10
  378. package/src/css/props/gridAutoFlow/gridAutoFlow.ts +2 -2
  379. package/src/css/props/gridAutoFlow/types.ts +0 -4
  380. package/src/css/props/gridAutoRows/gridAutoRows.ts +2 -2
  381. package/src/css/props/gridAutoRows/types.ts +0 -4
  382. package/src/css/props/gridColumn/gridColumn.ts +3 -3
  383. package/src/css/props/gridColumn/types.ts +0 -10
  384. package/src/css/props/gridColumnEnd/gridColumnEnd.ts +3 -3
  385. package/src/css/props/gridColumnEnd/types.ts +0 -10
  386. package/src/css/props/gridColumnStart/gridColumnStart.ts +3 -6
  387. package/src/css/props/gridColumnStart/types.ts +0 -10
  388. package/src/css/props/gridRow/gridRow.ts +3 -3
  389. package/src/css/props/gridRow/types.ts +0 -10
  390. package/src/css/props/gridRowEnd/gridRowEnd.ts +3 -3
  391. package/src/css/props/gridRowEnd/types.ts +0 -10
  392. package/src/css/props/gridRowStart/gridRowStart.ts +3 -3
  393. package/src/css/props/gridRowStart/types.ts +0 -10
  394. package/src/css/props/gridTemplateColumns/gridTemplateColumns.ts +2 -2
  395. package/src/css/props/gridTemplateColumns/types.ts +0 -10
  396. package/src/css/props/gridTemplateRows/gridTemplateRows.ts +2 -2
  397. package/src/css/props/gridTemplateRows/types.ts +0 -10
  398. package/src/css/props/height/height.ts +1 -1
  399. package/src/css/props/height/types.ts +0 -6
  400. package/src/css/props/inset/inset.ts +1 -1
  401. package/src/css/props/justifyContent/justifyContent.ts +1 -1
  402. package/src/css/props/margin/margin.ts +1 -1
  403. package/src/css/props/maxWidth/maxWidth.ts +1 -1
  404. package/src/css/props/minHeight/minHeight.ts +1 -1
  405. package/src/css/props/minWidth/minWidth.ts +1 -1
  406. package/src/css/props/outline/outline.ts +1 -1
  407. package/src/css/props/overflow/overflow.ts +1 -1
  408. package/src/css/props/overflow/types.ts +0 -6
  409. package/src/css/props/padding/padding.ts +1 -1
  410. package/src/css/props/pointerEvents/pointerEvents.ts +1 -1
  411. package/src/css/props/position/position.ts +1 -1
  412. package/src/css/props/radius/radius.ts +1 -1
  413. package/src/css/props/shadow/shadow.ts +1 -1
  414. package/src/css/props/textAlign/textAlign.ts +1 -1
  415. package/src/css/props/textOverflow/textOverflow.ts +1 -1
  416. package/src/css/props/width/width.ts +1 -1
  417. package/src/css/types.ts +225 -53
  418. package/src/css/util.ts +2 -2
  419. package/src/css/vars.css.ts +33 -36
  420. package/src/theme/{v3/_parseColorToken.ts → _parseColorToken.ts} +2 -2
  421. package/src/theme/buildTheme.ts +33 -0
  422. package/src/theme/constants.ts +90 -0
  423. package/src/theme/defaults/color.ts +197 -0
  424. package/src/theme/{v2/defaults/config.ts → defaults/common.ts} +3 -16
  425. package/src/theme/{v3/defaultFonts.ts → defaults/fonts.ts} +2 -2
  426. package/src/theme/index.ts +4 -5
  427. package/src/theme/{v3/resolveTokens.ts → resolveTokens.ts} +15 -15
  428. package/src/theme/types.ts +355 -15
  429. package/src/core/__DEV__.ts +0 -5
  430. package/src/core/_compat/helpers.ts +0 -72
  431. package/src/core/_compat/styles/_responsive.ts +0 -19
  432. package/src/core/_compat/theme/theme.test.tsx +0 -73
  433. package/src/core/_compat/theme/themeColorProvider.tsx +0 -24
  434. package/src/core/_compat/theme/themeContext.ts +0 -10
  435. package/src/core/_compat/theme/themeProvider.tsx +0 -68
  436. package/src/core/_compat/theme/types.ts +0 -10
  437. package/src/core/_compat/theme/useRootTheme.ts +0 -15
  438. package/src/core/_compat/theme/useTheme.ts +0 -12
  439. package/src/core/_compat/types.ts +0 -191
  440. package/src/core/hooks/useArrayProp.ts +0 -26
  441. package/src/core/hooks/useClickOutside.test.tsx +0 -481
  442. package/src/core/hooks/useClickOutside.ts +0 -113
  443. package/src/core/hooks/useElementRect/__workshop__/example.tsx +0 -30
  444. package/src/core/hooks/useElementRect/__workshop__/index.ts +0 -14
  445. package/src/core/hooks/useElementRect/useElementRect.ts +0 -13
  446. package/src/core/hooks/useForwardedRef.ts +0 -19
  447. package/src/core/hooks/useIsomorphicEffect.ts +0 -7
  448. package/src/core/primitives/badge/types.ts +0 -18
  449. package/src/core/primitives/box/types.ts +0 -22
  450. package/src/core/primitives/flex/types.ts +0 -27
  451. package/src/core/primitives/grid/types.ts +0 -17
  452. package/src/core/primitives/selectable/types.ts +0 -7
  453. package/src/core/primitives/types.ts +0 -153
  454. package/src/core/types/gridItem.ts +0 -32
  455. package/src/core/types/placement.ts +0 -18
  456. package/src/core/types/radius.ts +0 -7
  457. package/src/core/types/textAlign.ts +0 -7
  458. package/src/core/utils/spanWithTextOverflow.tsx +0 -10
  459. package/src/theme/getScopedTheme.ts +0 -88
  460. package/src/theme/v0/avatar.ts +0 -10
  461. package/src/theme/v0/color/_generic.ts +0 -35
  462. package/src/theme/v0/color/_system.ts +0 -17
  463. package/src/theme/v0/color/base.ts +0 -21
  464. package/src/theme/v0/color/button.ts +0 -42
  465. package/src/theme/v0/color/card.ts +0 -19
  466. package/src/theme/v0/color/color.ts +0 -40
  467. package/src/theme/v0/color/index.ts +0 -11
  468. package/src/theme/v0/color/input.ts +0 -34
  469. package/src/theme/v0/color/muted.ts +0 -26
  470. package/src/theme/v0/color/selectable.ts +0 -31
  471. package/src/theme/v0/color/solid.ts +0 -26
  472. package/src/theme/v0/color/spot.ts +0 -13
  473. package/src/theme/v0/css.ts +0 -10
  474. package/src/theme/v0/focusRing.ts +0 -5
  475. package/src/theme/v0/font.ts +0 -40
  476. package/src/theme/v0/index.ts +0 -10
  477. package/src/theme/v0/input.ts +0 -23
  478. package/src/theme/v0/layer.ts +0 -6
  479. package/src/theme/v0/shadow.ts +0 -15
  480. package/src/theme/v0/styles.ts +0 -13
  481. package/src/theme/v0/theme.ts +0 -72
  482. package/src/theme/v2/avatar.ts +0 -12
  483. package/src/theme/v2/build/_deprecated/color/_selectable/createSelectableTones.ts +0 -76
  484. package/src/theme/v2/build/_deprecated/color/_solid/createSolidTones.ts +0 -54
  485. package/src/theme/v2/build/_deprecated/color/button/createButtonModes.ts +0 -22
  486. package/src/theme/v2/build/_deprecated/color/button/createButtonTones.ts +0 -55
  487. package/src/theme/v2/build/_deprecated/color/card/createCardStates.ts +0 -60
  488. package/src/theme/v2/build/_deprecated/color/color.test.ts +0 -63
  489. package/src/theme/v2/build/_deprecated/color/defaults.ts +0 -390
  490. package/src/theme/v2/build/_deprecated/color/factory.ts +0 -141
  491. package/src/theme/v2/build/_deprecated/color/index.ts +0 -1
  492. package/src/theme/v2/build/_deprecated/color/input/createInputModes.ts +0 -86
  493. package/src/theme/v2/build/_deprecated/color/muted/createMuted.ts +0 -54
  494. package/src/theme/v2/build/_deprecated/color/spot/createSpot.ts +0 -20
  495. package/src/theme/v2/build/buildColorTheme.test.ts +0 -185
  496. package/src/theme/v2/build/buildColorTheme.ts +0 -494
  497. package/src/theme/v2/build/buildTheme.test.ts +0 -89
  498. package/src/theme/v2/build/buildTheme.ts +0 -37
  499. package/src/theme/v2/build/colorToken/colorToken.ts +0 -19
  500. package/src/theme/v2/build/colorToken/compileColorToken.ts +0 -21
  501. package/src/theme/v2/build/colorToken/index.ts +0 -2
  502. package/src/theme/v2/build/colorToken/types.ts +0 -6
  503. package/src/theme/v2/build/index.ts +0 -3
  504. package/src/theme/v2/build/lib/color-fns/blend/index.ts +0 -3
  505. package/src/theme/v2/build/lib/color-fns/blend/mix.ts +0 -21
  506. package/src/theme/v2/build/lib/color-fns/blend/multiply.ts +0 -18
  507. package/src/theme/v2/build/lib/color-fns/blend/screen.ts +0 -18
  508. package/src/theme/v2/build/lib/color-fns/color-fns.test.ts +0 -68
  509. package/src/theme/v2/build/lib/color-fns/contrastRatio.ts +0 -34
  510. package/src/theme/v2/build/lib/color-fns/convert.ts +0 -150
  511. package/src/theme/v2/build/lib/color-fns/index.ts +0 -6
  512. package/src/theme/v2/build/lib/color-fns/parse.ts +0 -60
  513. package/src/theme/v2/build/lib/color-fns/rgba.ts +0 -14
  514. package/src/theme/v2/build/lib/color-fns/types.ts +0 -28
  515. package/src/theme/v2/build/lib/isRecord.ts +0 -3
  516. package/src/theme/v2/build/lib/utils.ts +0 -19
  517. package/src/theme/v2/build/merge.ts +0 -28
  518. package/src/theme/v2/build/mixThemeColor.test.ts +0 -23
  519. package/src/theme/v2/build/mixThemeColor.ts +0 -53
  520. package/src/theme/v2/build/renderColorTheme.ts +0 -532
  521. package/src/theme/v2/build/renderColorValue.ts +0 -85
  522. package/src/theme/v2/build/resolveColorTokens.ts +0 -268
  523. package/src/theme/v2/color/_constants.ts +0 -45
  524. package/src/theme/v2/color/_helpers.ts +0 -24
  525. package/src/theme/v2/color/_system.ts +0 -38
  526. package/src/theme/v2/color/avatar.ts +0 -11
  527. package/src/theme/v2/color/badge.ts +0 -12
  528. package/src/theme/v2/color/button.ts +0 -11
  529. package/src/theme/v2/color/color.ts +0 -28
  530. package/src/theme/v2/color/index.ts +0 -13
  531. package/src/theme/v2/color/input.ts +0 -23
  532. package/src/theme/v2/color/kbd.ts +0 -6
  533. package/src/theme/v2/color/selectable.ts +0 -8
  534. package/src/theme/v2/color/shadow.ts +0 -7
  535. package/src/theme/v2/color/state.ts +0 -41
  536. package/src/theme/v2/color/syntax.ts +0 -39
  537. package/src/theme/v2/config/helpers.ts +0 -48
  538. package/src/theme/v2/config/index.ts +0 -4
  539. package/src/theme/v2/config/system.ts +0 -114
  540. package/src/theme/v2/config/tokens/color/index.ts +0 -1
  541. package/src/theme/v2/config/tokens/color/types.ts +0 -137
  542. package/src/theme/v2/config/tokens/index.ts +0 -3
  543. package/src/theme/v2/config/tokens/parseTokenValue.test.ts +0 -44
  544. package/src/theme/v2/config/tokens/parseTokenValue.ts +0 -133
  545. package/src/theme/v2/config/tokens/types.ts +0 -53
  546. package/src/theme/v2/config/types.ts +0 -47
  547. package/src/theme/v2/defaults/colorPalette.ts +0 -5
  548. package/src/theme/v2/defaults/colorTokens.ts +0 -648
  549. package/src/theme/v2/defaults/fonts.ts +0 -227
  550. package/src/theme/v2/index.ts +0 -6
  551. package/src/theme/v2/input.ts +0 -31
  552. package/src/theme/v2/theme.ts +0 -45
  553. package/src/theme/v3/_constants.ts +0 -29
  554. package/src/theme/v3/buildTheme_v3.ts +0 -39
  555. package/src/theme/v3/color/_constants.ts +0 -15
  556. package/src/theme/v3/color/avatar.ts +0 -14
  557. package/src/theme/v3/color/card.ts +0 -79
  558. package/src/theme/v3/color/color.ts +0 -98
  559. package/src/theme/v3/color/element.ts +0 -19
  560. package/src/theme/v3/color/index.ts +0 -7
  561. package/src/theme/v3/color/token.ts +0 -32
  562. package/src/theme/v3/color/tokens.ts +0 -5
  563. package/src/theme/v3/defaultTokens.ts +0 -199
  564. package/src/theme/v3/index.ts +0 -9
  565. package/src/theme/v3/palette/constants.ts +0 -15
  566. package/src/theme/v3/palette/index.ts +0 -2
  567. package/src/theme/v3/palette/types.ts +0 -7
  568. package/src/theme/v3/tokens.ts +0 -16
  569. package/src/theme/v3/types.ts +0 -133
  570. package/src/theme/versioning/getTheme_v2.ts +0 -58
  571. package/src/theme/versioning/index.ts +0 -1
  572. package/src/theme/versioning/is_v0.ts +0 -7
  573. package/src/theme/versioning/is_v2.ts +0 -7
  574. package/src/theme/versioning/themeColor_v0_v2.ts +0 -245
  575. package/src/theme/versioning/themeColor_v2_v2_9.ts +0 -49
  576. package/src/theme/versioning/themeColor_v3_v2.ts +0 -383
  577. package/src/theme/versioning/v0_v2.ts +0 -95
  578. package/src/theme/versioning/v2_v0.ts +0 -127
  579. package/src/theme/versioning/v3_v2.ts +0 -130
  580. /package/src/theme/{v3/merge.ts → merge.ts} +0 -0
@@ -3,7 +3,7 @@ import {Box, Stack, Text} from '@sanity/ui'
3
3
  import {vars} from '@sanity/ui/css'
4
4
  import {FONT_TEXT_SIZE} from '@sanity/ui/theme'
5
5
 
6
- export default function OpticalAlignment() {
6
+ export default function OpticalAlignment(): React.JSX.Element {
7
7
  return (
8
8
  <Stack gap={4} padding={[4, 5, 6]}>
9
9
  {FONT_TEXT_SIZE.map((size) => (
@@ -1,6 +1,6 @@
1
1
  import {text, textOverflow, type TextOverflowStyleProps, type TextStyleProps} from '@sanity/ui/css'
2
2
 
3
- import type {ComponentType, Props} from '../../types/props'
3
+ import type {ComponentType, Props} from '../../types'
4
4
 
5
5
  /** @public */
6
6
  export const DEFAULT_TEXT_ELEMENT = 'div'
@@ -31,9 +31,10 @@ export type TextProps<E extends TextElementType = TextElementType> = Props<TextO
31
31
  *
32
32
  * @public
33
33
  */
34
- export function Text<E extends TextElementType = typeof DEFAULT_TEXT_ELEMENT>(props: TextProps<E>) {
34
+ export function Text<E extends TextElementType = typeof DEFAULT_TEXT_ELEMENT>(
35
+ props: TextProps<E>,
36
+ ): React.JSX.Element {
35
37
  const {
36
- accent,
37
38
  align,
38
39
  as: Element = DEFAULT_TEXT_ELEMENT,
39
40
  children,
@@ -53,7 +54,6 @@ export function Text<E extends TextElementType = typeof DEFAULT_TEXT_ELEMENT>(pr
53
54
  {...rest}
54
55
  className={text({
55
56
  className,
56
- accent,
57
57
  align,
58
58
  flex,
59
59
  maxWidth,
@@ -1,7 +1,7 @@
1
- import {defineScope} from '@sanity/ui-workshop'
1
+ import type {WorkshopScope} from '@sanity/ui-workshop'
2
2
  import {lazy} from 'react'
3
3
 
4
- export default defineScope({
4
+ const scope: WorkshopScope = {
5
5
  name: 'primitives/text-area',
6
6
  title: 'TextArea',
7
7
  stories: [
@@ -11,4 +11,6 @@ export default defineScope({
11
11
  component: lazy(() => import('./plain')),
12
12
  },
13
13
  ],
14
- })
14
+ }
15
+
16
+ export default scope
@@ -9,7 +9,7 @@ import {
9
9
  WORKSHOP_TEXT_FONT_SIZE_OPTIONS,
10
10
  } from '$workshop'
11
11
 
12
- export default function PlainStory() {
12
+ export default function PlainStory(): React.JSX.Element {
13
13
  const tone = useSelect('Tone', WORKSHOP_CARD_TONE_OPTIONS)
14
14
 
15
15
  const border = useBoolean('Border', true)
@@ -1,15 +1,8 @@
1
- import {
2
- _inputElement,
3
- _inputPresentation,
4
- type ResponsiveProp,
5
- textArea,
6
- type TextAreaStyleProps,
7
- } from '@sanity/ui/css'
8
- import type {Space} from '@sanity/ui/theme'
1
+ import {_inputElement, _inputPresentation, textArea, type TextAreaStyleProps} from '@sanity/ui/css'
9
2
  import {useImperativeHandle, useRef} from 'react'
10
3
 
11
4
  import {useCustomValidity} from '../../hooks/useCustomValidity'
12
- import type {ComponentType, Props} from '../../types/props'
5
+ import type {ComponentType, Props} from '../../types'
13
6
 
14
7
  /** @public */
15
8
  export const DEFAULT_TEXT_AREA_ELEMENT = 'textarea'
@@ -21,8 +14,6 @@ export type TextAreaOwnProps = TextAreaStyleProps & {
21
14
  */
22
15
  __unstable_disableFocusRing?: boolean
23
16
  customValidity?: string
24
- /** @deprecated Use `gap` instead. */
25
- space?: ResponsiveProp<Space>
26
17
  }
27
18
 
28
19
  /** @public */
@@ -41,7 +32,7 @@ export type TextAreaProps<E extends TextAreaElementType = TextAreaElementType> =
41
32
  */
42
33
  export function TextArea<E extends TextAreaElementType = typeof DEFAULT_TEXT_AREA_ELEMENT>(
43
34
  props: TextAreaProps<E>,
44
- ) {
35
+ ): React.JSX.Element {
45
36
  const {
46
37
  __unstable_disableFocusRing,
47
38
  as: Element = DEFAULT_TEXT_AREA_ELEMENT,
@@ -49,12 +40,11 @@ export function TextArea<E extends TextAreaElementType = typeof DEFAULT_TEXT_ARE
49
40
  customValidity,
50
41
  disabled = false,
51
42
  fontSize = 2,
52
- gap,
43
+ gap = 3,
53
44
  padding = 3,
54
45
  radius = 2,
55
46
  readOnly,
56
47
  ref: forwardedRef,
57
- space = 3,
58
48
  ...rest
59
49
  } = props as TextAreaProps<typeof DEFAULT_TEXT_AREA_ELEMENT>
60
50
 
@@ -74,7 +64,7 @@ export function TextArea<E extends TextAreaElementType = typeof DEFAULT_TEXT_ARE
74
64
  fontSize,
75
65
  padding,
76
66
  radius,
77
- gap: gap ?? space,
67
+ gap,
78
68
  })}
79
69
  data-invalid={customValidity ? '' : undefined}
80
70
  data-read-only={!disabled && readOnly ? '' : undefined}
@@ -2,7 +2,7 @@ import {Box, TextInput} from '@sanity/ui'
2
2
  import {useText} from '@sanity/ui-workshop'
3
3
  import {useCallback, useState} from 'react'
4
4
 
5
- export default function ClearButtonStory() {
5
+ export default function ClearButtonStory(): React.JSX.Element {
6
6
  const customValidity = useText('Custom validitiy')
7
7
 
8
8
  const [value, setValue] = useState('')
@@ -1,7 +1,7 @@
1
1
  import {Button, Card, Container, Stack, TextInput} from '@sanity/ui'
2
2
  import {useText} from '@sanity/ui-workshop'
3
3
 
4
- export default function CustomValidityStory() {
4
+ export default function CustomValidityStory(): React.JSX.Element {
5
5
  const customValidity = useText('Custom validity', 'Invalid value') || undefined
6
6
 
7
7
  return (
@@ -1,7 +1,7 @@
1
- import {defineScope} from '@sanity/ui-workshop'
1
+ import type {WorkshopScope} from '@sanity/ui-workshop'
2
2
  import {lazy} from 'react'
3
3
 
4
- export default defineScope({
4
+ const scope: WorkshopScope = {
5
5
  name: 'primitives/text-input',
6
6
  title: 'TextInput',
7
7
  stories: [
@@ -41,4 +41,6 @@ export default defineScope({
41
41
  component: lazy(() => import('./states')),
42
42
  },
43
43
  ],
44
- })
44
+ }
45
+
46
+ export default scope
@@ -29,7 +29,7 @@ const typingPerfTest: PerfTestProps<HTMLInputElement> = {
29
29
  },
30
30
  }
31
31
 
32
- export default function PlainStory() {
32
+ export default function PlainStory(): React.JSX.Element {
33
33
  const {ref, Wrapper} = usePerfTest(typingPerfTest)
34
34
 
35
35
  return (
@@ -1,6 +1,6 @@
1
1
  import {Flex, TextInput} from '@sanity/ui'
2
2
 
3
- export default function ReadOnlyStory() {
3
+ export default function ReadOnlyStory(): React.JSX.Element {
4
4
  return (
5
5
  <Flex padding={4}>
6
6
  <TextInput id="text-input-example" readOnly />
@@ -1,7 +1,7 @@
1
1
  import {Container, Flex, Stack, Text, TextInput} from '@sanity/ui'
2
2
  import {useAction, useBoolean} from '@sanity/ui-workshop'
3
3
 
4
- export default function StatesStory() {
4
+ export default function StatesStory(): React.JSX.Element {
5
5
  const invalid = useBoolean('Invalid', false)
6
6
  const onChange = useAction('onChange')
7
7
 
@@ -1,7 +1,7 @@
1
1
  import {Box, Card, Container, Flex, Stack, Text, TextInput} from '@sanity/ui'
2
2
  import {useBoolean} from '@sanity/ui-workshop'
3
3
 
4
- export default function TonesStory() {
4
+ export default function TonesStory(): React.JSX.Element {
5
5
  const transparentTone = useBoolean('Transparent', true)
6
6
  const neutralTone = useBoolean('Neutral', true)
7
7
  const primaryTone = useBoolean('Primary', true)
@@ -4,7 +4,7 @@ import {useCallback, useState} from 'react'
4
4
 
5
5
  import {WORKSHOP_TEXT_INPUT_TYPE_OPTIONS} from '$workshop'
6
6
 
7
- export default function TypedStory() {
7
+ export default function TypedStory(): React.JSX.Element {
8
8
  const type = useSelect('Type', WORKSHOP_TEXT_INPUT_TYPE_OPTIONS, 'text')
9
9
 
10
10
  const [value, setValue] = useState('')
@@ -9,7 +9,7 @@ import {
9
9
  textInputPrefix,
10
10
  textInputSuffix,
11
11
  } from '@sanity/ui/css'
12
- import type {Space, ThemeFontWeightKey} from '@sanity/ui/theme'
12
+ import type {FontWeight, Space} from '@sanity/ui/theme'
13
13
  import {
14
14
  type ElementType,
15
15
  isValidElement,
@@ -26,7 +26,7 @@ import {EMPTY_RECORD} from '../../constants'
26
26
  import {useCustomValidity} from '../../hooks/useCustomValidity'
27
27
  import {useResponsiveProp} from '../../hooks/useResponsiveProp'
28
28
  import {isRecord} from '../../lib/isRecord'
29
- import type {ComponentType, Props} from '../../types/props'
29
+ import type {ComponentType, Props} from '../../types'
30
30
  import {Box} from '../box/box'
31
31
  import {Button, type ButtonProps} from '../button/button'
32
32
  import {Text} from '../text/text'
@@ -58,10 +58,8 @@ export type TextInputOwnProps = InputStyleProps & {
58
58
  */
59
59
  onClear?: () => void
60
60
  prefix?: ReactNode
61
- /** @deprecated Use `gap` instead. */
62
- space?: ResponsiveProp<Space>
63
61
  suffix?: ReactNode
64
- weight?: ThemeFontWeightKey
62
+ weight?: FontWeight
65
63
  }
66
64
 
67
65
  /** @public */
@@ -80,7 +78,7 @@ export type TextInputProps<E extends TextInputElementType = TextInputElementType
80
78
  */
81
79
  export function TextInput<E extends TextInputElementType = typeof DEFAULT_TEXT_INPUT_ELEMENT>(
82
80
  props: TextInputProps<E>,
83
- ) {
81
+ ): React.JSX.Element {
84
82
  const {
85
83
  __unstable_disableFocusRing,
86
84
  as: Element = DEFAULT_TEXT_INPUT_ELEMENT,
@@ -89,7 +87,7 @@ export function TextInput<E extends TextInputElementType = typeof DEFAULT_TEXT_I
89
87
  clearButton,
90
88
  disabled = false,
91
89
  fontSize = 2,
92
- gap,
90
+ gap = 3,
93
91
  icon: IconComponent,
94
92
  iconRight: IconRightComponent,
95
93
  onClear,
@@ -98,7 +96,6 @@ export function TextInput<E extends TextInputElementType = typeof DEFAULT_TEXT_I
98
96
  radius = 2,
99
97
  readOnly,
100
98
  ref: forwardedRef,
101
- space = 3,
102
99
  suffix,
103
100
  customValidity,
104
101
  type = 'text',
@@ -177,7 +174,7 @@ export function TextInput<E extends TextInputElementType = typeof DEFAULT_TEXT_I
177
174
  fontSize,
178
175
  padding,
179
176
  radius,
180
- gap: gap ?? space,
177
+ gap: gap,
181
178
  width,
182
179
  })}
183
180
  data-icon-left={IconComponent ? '' : undefined}
@@ -20,7 +20,7 @@ const PORTAL_OPTIONS = {
20
20
  'portal1': 'portal1',
21
21
  }
22
22
 
23
- export default function CustomPortalStory() {
23
+ export default function CustomPortalStory(): React.JSX.Element {
24
24
  const content = useText(
25
25
  'Content',
26
26
  'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut mollis consectetur malesuada. Sed lobortis est dolor, eget imperdiet velit placerat et. Aenean posuere mi non aliquet iaculis. Donec fermentum pulvinar purus at sagittis. Ut tincidunt massa odio, sed finibus justo ullamcorper id. Nam venenatis justo non ligula elementum cursus. Pellentesque laoreet justo in mollis sagittis. In lacinia ornare ultrices. Suspendisse potenti.',
@@ -1,7 +1,7 @@
1
- import {defineScope} from '@sanity/ui-workshop'
1
+ import type {WorkshopScope} from '@sanity/ui-workshop'
2
2
  import {lazy} from 'react'
3
3
 
4
- export default defineScope({
4
+ const scope: WorkshopScope = {
5
5
  name: 'primitives/tooltip',
6
6
  title: 'Tooltip',
7
7
  stories: [
@@ -26,4 +26,6 @@ export default defineScope({
26
26
  component: lazy(() => import('./customPortal')),
27
27
  },
28
28
  ],
29
- })
29
+ }
30
+
31
+ export default scope
@@ -4,7 +4,7 @@ import {useCallback, useState} from 'react'
4
4
 
5
5
  import {WORKSHOP_PLACEMENT_OPTIONS} from '$workshop'
6
6
 
7
- export default function OverflowingBoundaryStory() {
7
+ export default function OverflowingBoundaryStory(): React.JSX.Element {
8
8
  const content = useText(
9
9
  'Content',
10
10
  'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut mollis consectetur malesuada. Sed lobortis est dolor, eget imperdiet velit placerat et. Aenean posuere mi non aliquet iaculis. Donec fermentum pulvinar purus at sagittis. Ut tincidunt massa odio, sed finibus justo ullamcorper id. Nam venenatis justo non ligula elementum cursus. Pellentesque laoreet justo in mollis sagittis. In lacinia ornare ultrices. Suspendisse potenti.',
@@ -8,7 +8,7 @@ import {
8
8
  WORKSHOP_SPACE_OPTIONS,
9
9
  } from '$workshop'
10
10
 
11
- export default function PropsStory() {
11
+ export default function PropsStory(): React.JSX.Element {
12
12
  const arrow = useBoolean('Arrow', false)
13
13
  const content = useText('Content', 'Tooltip content')
14
14
  const padding = useSelect('Padding', WORKSHOP_SPACE_OPTIONS, 2)
@@ -4,7 +4,7 @@ import {useState} from 'react'
4
4
 
5
5
  import {WORKSHOP_PLACEMENT_OPTIONS} from '$workshop'
6
6
 
7
- export default function ResizableBoundaryStory() {
7
+ export default function ResizableBoundaryStory(): React.JSX.Element {
8
8
  const content = useText(
9
9
  'Content',
10
10
  'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut mollis consectetur malesuada. Sed lobortis est dolor, eget imperdiet velit placerat et. Aenean posuere mi non aliquet iaculis. Donec fermentum pulvinar purus at sagittis. Ut tincidunt massa odio, sed finibus justo ullamcorper id. Nam venenatis justo non ligula elementum cursus. Pellentesque laoreet justo in mollis sagittis. In lacinia ornare ultrices. Suspendisse potenti.',
@@ -1,4 +1,4 @@
1
- import type {Placement} from '../../types/placement'
1
+ import type {Placement} from '../../types'
2
2
 
3
3
  export const DEFAULT_TOOLTIP_ARROW_WIDTH = 15
4
4
  export const DEFAULT_TOOLTIP_ARROW_HEIGHT = 6
@@ -1,10 +1,8 @@
1
- import '../../../../test/mocks/resizeObserver.mock'
2
- import '../../../../test/mocks/matchMedia.mock'
3
-
4
1
  import {act, fireEvent, screen} from '@testing-library/react'
5
2
  import {afterEach, beforeEach, describe, expect, it, vi} from 'vitest'
6
3
 
7
- import {render} from '../../../../test'
4
+ import {render} from '$test/utils'
5
+
8
6
  import {Button} from '../button/button'
9
7
  import {Text} from '../text/text'
10
8
  import {Tooltip} from './tooltip'
@@ -9,7 +9,7 @@ import {
9
9
  useFloating,
10
10
  } from '@floating-ui/react-dom'
11
11
  import {type RadiusStyleProps, type ShadowStyleProps, tooltip} from '@sanity/ui/css'
12
- import type {ThemeColorCardToneKey, ThemeColorSchemeKey} from '@sanity/ui/theme'
12
+ import type {CardTone, ColorScheme} from '@sanity/ui/theme'
13
13
  import {AnimatePresence} from 'framer-motion'
14
14
  import {
15
15
  cloneElement,
@@ -34,8 +34,7 @@ import {Z_OFFSETS} from '../../constants'
34
34
  import {useDelayedState} from '../../hooks/useDelayedState'
35
35
  import {usePrefersReducedMotion} from '../../hooks/usePrefersReducedMotion'
36
36
  import {origin} from '../../middleware/origin'
37
- import type {Placement} from '../../types/placement'
38
- import type {ComponentType, Props} from '../../types/props'
37
+ import type {ComponentType, Delay, Placement, Props} from '../../types'
39
38
  import {useBoundaryElement} from '../../utils/boundaryElement/useBoundaryElement'
40
39
  import {getElementRef} from '../../utils/getElementRef'
41
40
  import {Portal} from '../../utils/portal/portal'
@@ -43,7 +42,6 @@ import {usePortal} from '../../utils/portal/usePortal'
43
42
  import {CardProvider} from '../card/cardProvider'
44
43
  import {useCard} from '../card/useCard'
45
44
  import type {LayerOwnProps} from '../layer/layer'
46
- import type {Delay} from '../types'
47
45
  import {
48
46
  DEFAULT_FALLBACK_PLACEMENTS,
49
47
  DEFAULT_TOOLTIP_DISTANCE,
@@ -59,8 +57,6 @@ export const DEFAULT_TOOLTIP_ELEMENT = 'div'
59
57
  export type TooltipOwnProps = LayerOwnProps &
60
58
  RadiusStyleProps &
61
59
  ShadowStyleProps & {
62
- /** @deprecated Use `fallbackPlacements` instead. */
63
- allowedAutoPlacements?: Placement[]
64
60
  /**
65
61
  * Whether the tooltip should animate in and out.
66
62
  *
@@ -88,8 +84,8 @@ export type TooltipOwnProps = LayerOwnProps &
88
84
  placement?: Placement
89
85
  /** Whether or not to render the tooltip in a portal element. */
90
86
  portal?: boolean | string
91
- scheme?: ThemeColorSchemeKey
92
- tone?: ThemeColorCardToneKey
87
+ scheme?: ColorScheme
88
+ tone?: CardTone
93
89
  }
94
90
 
95
91
  /** @public */
@@ -108,7 +104,7 @@ export type TooltipProps<E extends TooltipElementType = TooltipElementType> = Pr
108
104
  */
109
105
  export function Tooltip<E extends TooltipElementType = typeof DEFAULT_TOOLTIP_ELEMENT>(
110
106
  props: TooltipProps<E>,
111
- ) {
107
+ ): React.JSX.Element {
112
108
  const boundaryElementContext = useBoundaryElement()
113
109
 
114
110
  const {
@@ -1,11 +1,13 @@
1
+ import type {Context} from 'react'
2
+
1
3
  import {createGlobalScopedContext} from '../../../lib/createGlobalScopedContext'
2
4
  import type {TooltipDelayGroupContextValue} from './types'
3
5
 
4
6
  /**
5
7
  * @beta
6
8
  */
7
- export const TooltipDelayGroupContext =
9
+ export const TooltipDelayGroupContext: Context<TooltipDelayGroupContextValue | null> =
8
10
  createGlobalScopedContext<TooltipDelayGroupContextValue | null>(
9
- '@sanity/ui/context/tooltipDelayGroup',
11
+ '@sanity/ui/v3/tooltipDelayGroup',
10
12
  null,
11
13
  )
@@ -1,7 +1,7 @@
1
- import {type ReactElement, type ReactNode, useMemo} from 'react'
1
+ import {type ReactNode, useMemo} from 'react'
2
2
 
3
3
  import {useDelayedState} from '../../../hooks/useDelayedState'
4
- import type {Delay} from '../../types'
4
+ import type {Delay} from '../../../types'
5
5
  import {TooltipDelayGroupContext} from './tooltipDelayGroupContext'
6
6
  import type {TooltipDelayGroupContextValue} from './types'
7
7
 
@@ -27,7 +27,9 @@ export interface TooltipDelayGroupProviderProps {
27
27
  * Provides context for a group of tooltip elements that should share a delay
28
28
  * which temporarily becomes 1 ms after the first floating element of the group opens.
29
29
  */
30
- export function TooltipDelayGroupProvider(props: TooltipDelayGroupProviderProps): ReactElement {
30
+ export function TooltipDelayGroupProvider(
31
+ props: TooltipDelayGroupProviderProps,
32
+ ): React.JSX.Element {
31
33
  const {children, delay} = props
32
34
  const [isGroupActive, setIsGroupActive] = useDelayedState(false)
33
35
  const [openTooltipId, setOpenTooltipId] = useDelayedState<string | null>(null)
@@ -2,7 +2,7 @@ import {motion, type MotionStyle} from 'framer-motion'
2
2
  import {type CSSProperties, type ForwardedRef, useMemo} from 'react'
3
3
 
4
4
  import {POPOVER_MOTION_PROPS} from '../../constants'
5
- import type {Placement} from '../../types/placement'
5
+ import type {Placement} from '../../types'
6
6
  import {Arrow} from '../arrow/arrow'
7
7
  import {Layer, type LayerOwnProps, type LayerProps} from '../layer/layer'
8
8
  import {
@@ -30,7 +30,7 @@ export interface TooltipLayerOwnProps extends LayerOwnProps {
30
30
  export type TooltipLayerProps = TooltipLayerOwnProps & LayerProps<'div'>
31
31
 
32
32
  /** @internal */
33
- export function TooltipLayer(props: TooltipLayerProps) {
33
+ export function TooltipLayer(props: TooltipLayerProps): React.JSX.Element {
34
34
  const {
35
35
  animate,
36
36
  arrow,
@@ -27,3 +27,30 @@ export type Props<P extends EmptyProps, E extends ElementType<P>> = Assign<
27
27
  E extends TagType ? JSX.IntrinsicElements[E] : ComponentProps<E>,
28
28
  P & {as?: E}
29
29
  >
30
+
31
+ /**
32
+ * Placement of floating UI elements.
33
+ *
34
+ * @public
35
+ */
36
+ export type Placement =
37
+ | 'top'
38
+ | 'top-start'
39
+ | 'top-end'
40
+ | 'right'
41
+ | 'right-start'
42
+ | 'right-end'
43
+ | 'bottom'
44
+ | 'bottom-start'
45
+ | 'bottom-end'
46
+ | 'left'
47
+ | 'left-start'
48
+ | 'left-end'
49
+
50
+ /** @public */
51
+ export type Delay =
52
+ | number
53
+ | Partial<{
54
+ open: number
55
+ close: number
56
+ }>
@@ -1,7 +1,7 @@
1
- import {defineScope} from '@sanity/ui-workshop'
1
+ import type {WorkshopScope} from '@sanity/ui-workshop'
2
2
  import {lazy} from 'react'
3
3
 
4
- export default defineScope({
4
+ const scope: WorkshopScope = {
5
5
  name: 'utils/boundaryElement',
6
6
  title: 'BoundaryElement',
7
7
  stories: [
@@ -11,4 +11,6 @@ export default defineScope({
11
11
  component: lazy(() => import('./plain')),
12
12
  },
13
13
  ],
14
- })
14
+ }
15
+
16
+ export default scope
@@ -1,7 +1,7 @@
1
1
  import {BoundaryElementProvider, Button, Card, Text, Tooltip} from '@sanity/ui'
2
2
  import {useState} from 'react'
3
3
 
4
- export default function PlainStory() {
4
+ export default function PlainStory(): React.JSX.Element {
5
5
  const [boundaryElement, setBoundaryElement] = useState<HTMLDivElement | null>(null)
6
6
 
7
7
  return (
@@ -1,6 +1,7 @@
1
1
  import {describe, expect, it, vi} from 'vitest'
2
2
 
3
- import {render} from '../../../../test'
3
+ import {render} from '$test/utils'
4
+
4
5
  import {BoundaryElementContext} from './boundaryElementContext'
5
6
  import type {BoundaryElementContextValue} from './types'
6
7
  import {useBoundaryElement} from './useBoundaryElement'
@@ -1,7 +1,10 @@
1
+ import type {Context} from 'react'
2
+
1
3
  import {createGlobalScopedContext} from '../../lib/createGlobalScopedContext'
2
4
  import type {BoundaryElementContextValue} from './types'
3
5
 
4
- export const BoundaryElementContext = createGlobalScopedContext<BoundaryElementContextValue | null>(
5
- '@sanity/ui/context/boundaryElement',
6
- null,
7
- )
6
+ export const BoundaryElementContext: Context<BoundaryElementContextValue | null> =
7
+ createGlobalScopedContext<BoundaryElementContextValue | null>(
8
+ '@sanity/ui/v3/boundaryElement',
9
+ null,
10
+ )
@@ -1,4 +1,4 @@
1
- import {type ReactElement, type ReactNode, useMemo} from 'react'
1
+ import {type ReactNode, useMemo} from 'react'
2
2
 
3
3
  import {BoundaryElementContext} from './boundaryElementContext'
4
4
  import type {BoundaryElementContextValue} from './types'
@@ -10,7 +10,7 @@ export interface BoundaryElementProviderProps {
10
10
  }
11
11
 
12
12
  /** @public */
13
- export function BoundaryElementProvider(props: BoundaryElementProviderProps): ReactElement {
13
+ export function BoundaryElementProvider(props: BoundaryElementProviderProps): React.JSX.Element {
14
14
  const {children, element} = props
15
15
  const value: BoundaryElementContextValue = useMemo(() => ({version: 0.0, element}), [element])
16
16
 
@@ -24,7 +24,7 @@ const TestCard = styled(Card)`
24
24
  }
25
25
  `
26
26
 
27
- export default function CustomMediaQuery() {
27
+ export default function CustomMediaQuery(): React.JSX.Element {
28
28
  return (
29
29
  <Box padding={4}>
30
30
  <Box marginBottom={4}>
@@ -1,7 +1,7 @@
1
- import {defineScope} from '@sanity/ui-workshop'
1
+ import type {WorkshopScope} from '@sanity/ui-workshop'
2
2
  import {lazy} from 'react'
3
3
 
4
- export default defineScope({
4
+ const scope: WorkshopScope = {
5
5
  name: 'utils/elementQuery',
6
6
  title: 'ElementQuery',
7
7
  stories: [
@@ -11,4 +11,6 @@ export default defineScope({
11
11
  component: lazy(() => import('./customMedia')),
12
12
  },
13
13
  ],
14
- })
14
+ }
15
+
16
+ export default scope
@@ -2,7 +2,7 @@ import {BREAKPOINTS} from '@sanity/ui/css'
2
2
  import {useImperativeHandle, useMemo, useState} from 'react'
3
3
 
4
4
  import {useElementSize} from '../../hooks/useElementSize'
5
- import type {ComponentType, Props} from '../../types/props'
5
+ import type {ComponentType, Props} from '../../types'
6
6
  import {findMaxBreakpoints, findMinBreakpoints} from './helpers'
7
7
 
8
8
  /** @beta */
@@ -36,7 +36,7 @@ const DEFAULT_BREAKPOINTS = Object.values(BREAKPOINTS)
36
36
  */
37
37
  export function ElementQuery<
38
38
  E extends ElementQueryElementType = typeof DEFAULT_ELEMENT_QUERY_ELEMENT,
39
- >(props: ElementQueryProps<E>) {
39
+ >(props: ElementQueryProps<E>): React.JSX.Element {
40
40
  const {
41
41
  as: Element = DEFAULT_ELEMENT_QUERY_ELEMENT,
42
42
  children,
@@ -7,7 +7,7 @@
7
7
  // https://github.com/facebook/react/pull/28348
8
8
  //
9
9
  // Access the ref using the method that doesn't yield a warning.
10
- export function getElementRef(element: React.ReactElement) {
10
+ export function getElementRef(element: React.ReactElement): React.Ref<unknown> | undefined {
11
11
  // React <=18 in DEV
12
12
  let getter = Object.getOwnPropertyDescriptor(element.props, 'ref')?.get
13
13
  let mayWarn = getter && 'isReactWarning' in getter && getter.isReactWarning
@@ -1,7 +1,7 @@
1
- import {defineScope} from '@sanity/ui-workshop'
1
+ import type {WorkshopScope} from '@sanity/ui-workshop'
2
2
  import {lazy} from 'react'
3
3
 
4
- export default defineScope({
4
+ const scope: WorkshopScope = {
5
5
  name: 'utils/portal',
6
6
  title: 'Portal',
7
7
  stories: [
@@ -11,4 +11,6 @@ export default defineScope({
11
11
  component: lazy(() => import('./named')),
12
12
  },
13
13
  ],
14
- })
14
+ }
15
+
16
+ export default scope