@sanity/ui 3.0.0-static.32 → 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 (582) hide show
  1. package/README.md +1 -1
  2. package/dist/_chunks-cjs/_visual-editing.cjs +269 -378
  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 +270 -381
  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 -894
  11. package/dist/_visual-editing.d.ts +2 -894
  12. package/dist/_visual-editing.js +2 -4
  13. package/dist/css/index.cjs +13 -13
  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 +13 -13
  19. package/dist/css/index.js.map +1 -1
  20. package/dist/index.cjs +242 -367
  21. package/dist/index.cjs.map +1 -1
  22. package/dist/index.d.cts +990 -3085
  23. package/dist/index.d.ts +990 -3085
  24. package/dist/index.js +244 -361
  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 +8 -9
  35. package/src/core/Root.tsx +6 -4
  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 +34 -17
  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 +2 -2
  349. package/src/css/primitives/root/root.ts +2 -2
  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/dist/css/layers.css +0 -4
  430. package/dist/css/primitives/popover/popover.css +0 -4
  431. package/src/core/__DEV__.ts +0 -5
  432. package/src/core/_compat/helpers.ts +0 -72
  433. package/src/core/_compat/styles/_responsive.ts +0 -19
  434. package/src/core/_compat/theme/theme.test.tsx +0 -73
  435. package/src/core/_compat/theme/themeColorProvider.tsx +0 -24
  436. package/src/core/_compat/theme/themeContext.ts +0 -10
  437. package/src/core/_compat/theme/themeProvider.tsx +0 -68
  438. package/src/core/_compat/theme/types.ts +0 -10
  439. package/src/core/_compat/theme/useRootTheme.ts +0 -15
  440. package/src/core/_compat/theme/useTheme.ts +0 -12
  441. package/src/core/_compat/types.ts +0 -191
  442. package/src/core/hooks/useArrayProp.ts +0 -26
  443. package/src/core/hooks/useClickOutside.test.tsx +0 -481
  444. package/src/core/hooks/useClickOutside.ts +0 -113
  445. package/src/core/hooks/useElementRect/__workshop__/example.tsx +0 -30
  446. package/src/core/hooks/useElementRect/__workshop__/index.ts +0 -14
  447. package/src/core/hooks/useElementRect/useElementRect.ts +0 -13
  448. package/src/core/hooks/useForwardedRef.ts +0 -19
  449. package/src/core/hooks/useIsomorphicEffect.ts +0 -7
  450. package/src/core/primitives/badge/types.ts +0 -18
  451. package/src/core/primitives/box/types.ts +0 -22
  452. package/src/core/primitives/flex/types.ts +0 -27
  453. package/src/core/primitives/grid/types.ts +0 -17
  454. package/src/core/primitives/selectable/types.ts +0 -7
  455. package/src/core/primitives/types.ts +0 -153
  456. package/src/core/types/gridItem.ts +0 -32
  457. package/src/core/types/placement.ts +0 -18
  458. package/src/core/types/radius.ts +0 -7
  459. package/src/core/types/textAlign.ts +0 -7
  460. package/src/core/utils/spanWithTextOverflow.tsx +0 -10
  461. package/src/theme/getScopedTheme.ts +0 -88
  462. package/src/theme/v0/avatar.ts +0 -10
  463. package/src/theme/v0/color/_generic.ts +0 -35
  464. package/src/theme/v0/color/_system.ts +0 -17
  465. package/src/theme/v0/color/base.ts +0 -21
  466. package/src/theme/v0/color/button.ts +0 -42
  467. package/src/theme/v0/color/card.ts +0 -19
  468. package/src/theme/v0/color/color.ts +0 -40
  469. package/src/theme/v0/color/index.ts +0 -11
  470. package/src/theme/v0/color/input.ts +0 -34
  471. package/src/theme/v0/color/muted.ts +0 -26
  472. package/src/theme/v0/color/selectable.ts +0 -31
  473. package/src/theme/v0/color/solid.ts +0 -26
  474. package/src/theme/v0/color/spot.ts +0 -13
  475. package/src/theme/v0/css.ts +0 -10
  476. package/src/theme/v0/focusRing.ts +0 -5
  477. package/src/theme/v0/font.ts +0 -40
  478. package/src/theme/v0/index.ts +0 -10
  479. package/src/theme/v0/input.ts +0 -23
  480. package/src/theme/v0/layer.ts +0 -6
  481. package/src/theme/v0/shadow.ts +0 -15
  482. package/src/theme/v0/styles.ts +0 -13
  483. package/src/theme/v0/theme.ts +0 -72
  484. package/src/theme/v2/avatar.ts +0 -12
  485. package/src/theme/v2/build/_deprecated/color/_selectable/createSelectableTones.ts +0 -76
  486. package/src/theme/v2/build/_deprecated/color/_solid/createSolidTones.ts +0 -54
  487. package/src/theme/v2/build/_deprecated/color/button/createButtonModes.ts +0 -22
  488. package/src/theme/v2/build/_deprecated/color/button/createButtonTones.ts +0 -55
  489. package/src/theme/v2/build/_deprecated/color/card/createCardStates.ts +0 -60
  490. package/src/theme/v2/build/_deprecated/color/color.test.ts +0 -63
  491. package/src/theme/v2/build/_deprecated/color/defaults.ts +0 -390
  492. package/src/theme/v2/build/_deprecated/color/factory.ts +0 -141
  493. package/src/theme/v2/build/_deprecated/color/index.ts +0 -1
  494. package/src/theme/v2/build/_deprecated/color/input/createInputModes.ts +0 -86
  495. package/src/theme/v2/build/_deprecated/color/muted/createMuted.ts +0 -54
  496. package/src/theme/v2/build/_deprecated/color/spot/createSpot.ts +0 -20
  497. package/src/theme/v2/build/buildColorTheme.test.ts +0 -185
  498. package/src/theme/v2/build/buildColorTheme.ts +0 -494
  499. package/src/theme/v2/build/buildTheme.test.ts +0 -89
  500. package/src/theme/v2/build/buildTheme.ts +0 -37
  501. package/src/theme/v2/build/colorToken/colorToken.ts +0 -19
  502. package/src/theme/v2/build/colorToken/compileColorToken.ts +0 -21
  503. package/src/theme/v2/build/colorToken/index.ts +0 -2
  504. package/src/theme/v2/build/colorToken/types.ts +0 -6
  505. package/src/theme/v2/build/index.ts +0 -3
  506. package/src/theme/v2/build/lib/color-fns/blend/index.ts +0 -3
  507. package/src/theme/v2/build/lib/color-fns/blend/mix.ts +0 -21
  508. package/src/theme/v2/build/lib/color-fns/blend/multiply.ts +0 -18
  509. package/src/theme/v2/build/lib/color-fns/blend/screen.ts +0 -18
  510. package/src/theme/v2/build/lib/color-fns/color-fns.test.ts +0 -68
  511. package/src/theme/v2/build/lib/color-fns/contrastRatio.ts +0 -34
  512. package/src/theme/v2/build/lib/color-fns/convert.ts +0 -150
  513. package/src/theme/v2/build/lib/color-fns/index.ts +0 -6
  514. package/src/theme/v2/build/lib/color-fns/parse.ts +0 -60
  515. package/src/theme/v2/build/lib/color-fns/rgba.ts +0 -14
  516. package/src/theme/v2/build/lib/color-fns/types.ts +0 -28
  517. package/src/theme/v2/build/lib/isRecord.ts +0 -3
  518. package/src/theme/v2/build/lib/utils.ts +0 -19
  519. package/src/theme/v2/build/merge.ts +0 -28
  520. package/src/theme/v2/build/mixThemeColor.test.ts +0 -23
  521. package/src/theme/v2/build/mixThemeColor.ts +0 -53
  522. package/src/theme/v2/build/renderColorTheme.ts +0 -532
  523. package/src/theme/v2/build/renderColorValue.ts +0 -85
  524. package/src/theme/v2/build/resolveColorTokens.ts +0 -268
  525. package/src/theme/v2/color/_constants.ts +0 -45
  526. package/src/theme/v2/color/_helpers.ts +0 -24
  527. package/src/theme/v2/color/_system.ts +0 -38
  528. package/src/theme/v2/color/avatar.ts +0 -11
  529. package/src/theme/v2/color/badge.ts +0 -12
  530. package/src/theme/v2/color/button.ts +0 -11
  531. package/src/theme/v2/color/color.ts +0 -28
  532. package/src/theme/v2/color/index.ts +0 -13
  533. package/src/theme/v2/color/input.ts +0 -23
  534. package/src/theme/v2/color/kbd.ts +0 -6
  535. package/src/theme/v2/color/selectable.ts +0 -8
  536. package/src/theme/v2/color/shadow.ts +0 -7
  537. package/src/theme/v2/color/state.ts +0 -41
  538. package/src/theme/v2/color/syntax.ts +0 -39
  539. package/src/theme/v2/config/helpers.ts +0 -48
  540. package/src/theme/v2/config/index.ts +0 -4
  541. package/src/theme/v2/config/system.ts +0 -114
  542. package/src/theme/v2/config/tokens/color/index.ts +0 -1
  543. package/src/theme/v2/config/tokens/color/types.ts +0 -137
  544. package/src/theme/v2/config/tokens/index.ts +0 -3
  545. package/src/theme/v2/config/tokens/parseTokenValue.test.ts +0 -44
  546. package/src/theme/v2/config/tokens/parseTokenValue.ts +0 -133
  547. package/src/theme/v2/config/tokens/types.ts +0 -53
  548. package/src/theme/v2/config/types.ts +0 -47
  549. package/src/theme/v2/defaults/colorPalette.ts +0 -5
  550. package/src/theme/v2/defaults/colorTokens.ts +0 -648
  551. package/src/theme/v2/defaults/fonts.ts +0 -227
  552. package/src/theme/v2/index.ts +0 -6
  553. package/src/theme/v2/input.ts +0 -31
  554. package/src/theme/v2/theme.ts +0 -45
  555. package/src/theme/v3/_constants.ts +0 -29
  556. package/src/theme/v3/buildTheme_v3.ts +0 -39
  557. package/src/theme/v3/color/_constants.ts +0 -15
  558. package/src/theme/v3/color/avatar.ts +0 -14
  559. package/src/theme/v3/color/card.ts +0 -79
  560. package/src/theme/v3/color/color.ts +0 -98
  561. package/src/theme/v3/color/element.ts +0 -19
  562. package/src/theme/v3/color/index.ts +0 -7
  563. package/src/theme/v3/color/token.ts +0 -32
  564. package/src/theme/v3/color/tokens.ts +0 -5
  565. package/src/theme/v3/defaultTokens.ts +0 -199
  566. package/src/theme/v3/index.ts +0 -9
  567. package/src/theme/v3/palette/constants.ts +0 -15
  568. package/src/theme/v3/palette/index.ts +0 -2
  569. package/src/theme/v3/palette/types.ts +0 -7
  570. package/src/theme/v3/tokens.ts +0 -16
  571. package/src/theme/v3/types.ts +0 -133
  572. package/src/theme/versioning/getTheme_v2.ts +0 -58
  573. package/src/theme/versioning/index.ts +0 -1
  574. package/src/theme/versioning/is_v0.ts +0 -7
  575. package/src/theme/versioning/is_v2.ts +0 -7
  576. package/src/theme/versioning/themeColor_v0_v2.ts +0 -245
  577. package/src/theme/versioning/themeColor_v2_v2_9.ts +0 -49
  578. package/src/theme/versioning/themeColor_v3_v2.ts +0 -383
  579. package/src/theme/versioning/v0_v2.ts +0 -95
  580. package/src/theme/versioning/v2_v0.ts +0 -127
  581. package/src/theme/versioning/v3_v2.ts +0 -130
  582. /package/src/theme/{v3/merge.ts → merge.ts} +0 -0
@@ -7,7 +7,7 @@ import {
7
7
  } from '@sanity/ui/css'
8
8
  import {useEffect, useImperativeHandle, useRef} from 'react'
9
9
 
10
- import type {ComponentType, Props} from '../../types/props'
10
+ import type {ComponentType, Props} from '../../types'
11
11
  import {Box} from '../box/box'
12
12
 
13
13
  /** @public */
@@ -33,7 +33,7 @@ export type SwitchProps<E extends SwitchElementType = SwitchElementType> = Props
33
33
  */
34
34
  export function Switch<E extends SwitchElementType = typeof DEFAULT_SWITCH_ELEMENT>(
35
35
  props: SwitchProps<E>,
36
- ) {
36
+ ): React.JSX.Element {
37
37
  const {
38
38
  as: Element = DEFAULT_SWITCH_ELEMENT,
39
39
  className,
@@ -10,7 +10,7 @@ const ColoredText = styled(Text)<{$color: AvatarColor}>`
10
10
  ${vars.color.fg.slice(4, -1)}: ${({$color}) => vars.color.avatar[$color].bg};
11
11
  `
12
12
 
13
- export default function ColoredTextStory() {
13
+ export default function ColoredTextStory(): React.JSX.Element {
14
14
  const color = useSelect('Color', WORKSHOP_AVATAR_COLOR_OPTIONS, 'gray') ?? 'gray'
15
15
 
16
16
  return (
@@ -8,7 +8,7 @@ import {
8
8
  WORKSHOP_TEXT_WEIGHT_OPTIONS,
9
9
  } from '$workshop'
10
10
 
11
- export default function TextStory() {
11
+ export default function TextStory(): React.JSX.Element {
12
12
  const align = useSelect('Align', WORKSHOP_TEXT_ALIGN_OPTIONS)
13
13
  const muted = useBoolean('Muted', false)
14
14
  const size = useSelect('Size', WORKSHOP_TEXT_FONT_SIZE_OPTIONS, 1)
@@ -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',
6
6
  title: 'Text',
7
7
  stories: [
@@ -21,4 +21,6 @@ export default defineScope({
21
21
  component: lazy(() => import('./opticalAlignment')),
22
22
  },
23
23
  ],
24
- })
24
+ }
25
+
26
+ export default scope
@@ -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}>