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

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 (579) 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 +34 -85
  11. package/dist/_visual-editing.d.ts +34 -85
  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 +383 -13934
  17. package/dist/css/index.d.ts +383 -13934
  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 +107 -817
  23. package/dist/index.d.ts +107 -817
  24. package/dist/index.js +243 -360
  25. package/dist/index.js.map +1 -1
  26. package/dist/theme.cjs +367 -4288
  27. package/dist/theme.cjs.map +1 -1
  28. package/dist/theme.d.cts +180 -1582
  29. package/dist/theme.d.ts +180 -1582
  30. package/dist/theme.js +371 -4292
  31. package/dist/theme.js.map +1 -1
  32. package/exports/_visual-editing.ts +0 -2
  33. package/package.json +3 -4
  34. package/src/core/Root.tsx +4 -2
  35. package/src/core/RootProvider.tsx +4 -4
  36. package/src/core/__workshop__/boundary.tsx +1 -1
  37. package/src/core/__workshop__/index.ts +5 -3
  38. package/src/core/components/autocomplete/__workshop__/async.tsx +1 -1
  39. package/src/core/components/autocomplete/__workshop__/constrainedHeight.tsx +2 -2
  40. package/src/core/components/autocomplete/__workshop__/custom.tsx +2 -2
  41. package/src/core/components/autocomplete/__workshop__/example.tsx +2 -2
  42. package/src/core/components/autocomplete/__workshop__/focusAndBlur.tsx +1 -1
  43. package/src/core/components/autocomplete/__workshop__/fullscreen.tsx +1 -1
  44. package/src/core/components/autocomplete/__workshop__/index.ts +5 -3
  45. package/src/core/components/autocomplete/__workshop__/mock/apiStore.ts +1 -1
  46. package/src/core/components/autocomplete/__workshop__/mock/countries.ts +1 -1
  47. package/src/core/components/autocomplete/autocomplete.tsx +2 -2
  48. package/src/core/components/autocomplete/autocompleteOption.tsx +2 -2
  49. package/src/core/components/autocomplete/constants.ts +2 -2
  50. package/src/core/components/breadcrumbs/__workshop__/example.tsx +1 -1
  51. package/src/core/components/breadcrumbs/__workshop__/index.ts +5 -3
  52. package/src/core/components/breadcrumbs/breadcrumbs.tsx +6 -11
  53. package/src/core/components/dialog/__workshop__/activate.tsx +1 -1
  54. package/src/core/components/dialog/__workshop__/autoFocus.tsx +1 -1
  55. package/src/core/components/dialog/__workshop__/index.ts +5 -3
  56. package/src/core/components/dialog/__workshop__/layering.tsx +1 -1
  57. package/src/core/components/dialog/__workshop__/nested.tsx +2 -3
  58. package/src/core/components/dialog/__workshop__/onScroll.tsx +1 -1
  59. package/src/core/components/dialog/__workshop__/panes.tsx +1 -1
  60. package/src/core/components/dialog/__workshop__/position.tsx +1 -1
  61. package/src/core/components/dialog/__workshop__/props.tsx +1 -1
  62. package/src/core/components/dialog/__workshop__/provider.tsx +1 -1
  63. package/src/core/components/dialog/__workshop__/wrapped.tsx +1 -1
  64. package/src/core/components/dialog/dialog.tsx +5 -6
  65. package/src/core/components/dialog/dialogCard.tsx +2 -2
  66. package/src/core/components/dialog/dialogContext.ts +3 -4
  67. package/src/core/components/dialog/dialogProvider.tsx +2 -2
  68. package/src/core/components/hotkeys/__workshop__/index.ts +5 -3
  69. package/src/core/components/hotkeys/__workshop__/plain.tsx +1 -1
  70. package/src/core/components/hotkeys/hotkeys.tsx +4 -15
  71. package/src/core/components/menu/__workshop__/asComponent.tsx +1 -1
  72. package/src/core/components/menu/__workshop__/avatarMenu.tsx +1 -1
  73. package/src/core/components/menu/__workshop__/closableMenuButton.tsx +1 -1
  74. package/src/core/components/menu/__workshop__/constrainedInBoundary.tsx +3 -3
  75. package/src/core/components/menu/__workshop__/customMenuItem.tsx +1 -1
  76. package/src/core/components/menu/__workshop__/customSelectedState.tsx +1 -1
  77. package/src/core/components/menu/__workshop__/disableFocusOnClose.tsx +1 -1
  78. package/src/core/components/menu/__workshop__/groups.tsx +1 -1
  79. package/src/core/components/menu/__workshop__/index.ts +5 -3
  80. package/src/core/components/menu/__workshop__/menuButton.tsx +2 -2
  81. package/src/core/components/menu/__workshop__/menuGroupRight.tsx +1 -1
  82. package/src/core/components/menu/__workshop__/nestedMenu.tsx +1 -1
  83. package/src/core/components/menu/__workshop__/onCloseMenuButton.tsx +1 -1
  84. package/src/core/components/menu/__workshop__/selectedItem.tsx +1 -1
  85. package/src/core/components/menu/__workshop__/shouldFocus.tsx +1 -1
  86. package/src/core/components/menu/__workshop__/tones.tsx +3 -3
  87. package/src/core/components/menu/__workshop__/withoutArrow.tsx +1 -1
  88. package/src/core/components/menu/menu.test.tsx +2 -1
  89. package/src/core/components/menu/menu.tsx +7 -22
  90. package/src/core/components/menu/menuButton.tsx +4 -50
  91. package/src/core/components/menu/menuContext.ts +3 -15
  92. package/src/core/components/menu/menuDivider.tsx +2 -2
  93. package/src/core/components/menu/menuGroup.tsx +10 -15
  94. package/src/core/components/menu/menuItem.tsx +7 -18
  95. package/src/core/components/tab/__workshop__/example.tsx +1 -1
  96. package/src/core/components/tab/__workshop__/index.ts +5 -3
  97. package/src/core/components/tab/tab.tsx +6 -4
  98. package/src/core/components/tab/tabList.tsx +3 -8
  99. package/src/core/components/tab/tabPanel.tsx +2 -2
  100. package/src/core/components/toast/__workshop__/hook.tsx +1 -1
  101. package/src/core/components/toast/__workshop__/index.ts +5 -3
  102. package/src/core/components/toast/__workshop__/toast.tsx +1 -1
  103. package/src/core/components/toast/toast.test.tsx +2 -1
  104. package/src/core/components/toast/toast.tsx +2 -2
  105. package/src/core/components/toast/toastContext.ts +4 -4
  106. package/src/core/components/toast/toastLayer.tsx +3 -3
  107. package/src/core/components/tree/__workshop__/basic.perf.ts +1 -1
  108. package/src/core/components/tree/__workshop__/basic.tsx +1 -1
  109. package/src/core/components/tree/__workshop__/index.ts +5 -3
  110. package/src/core/components/tree/__workshop__/tabFromElement.tsx +1 -1
  111. package/src/core/components/tree/tree.tsx +8 -9
  112. package/src/core/components/tree/treeContext.ts +4 -4
  113. package/src/core/components/tree/treeGroup.tsx +6 -8
  114. package/src/core/components/tree/treeItem.tsx +4 -4
  115. package/src/core/components/tree/types.ts +1 -1
  116. package/src/core/components/virtualList/__workshop__/changingProps.tsx +1 -1
  117. package/src/core/components/virtualList/__workshop__/elementScroll.tsx +1 -1
  118. package/src/core/components/virtualList/__workshop__/index.ts +5 -3
  119. package/src/core/components/virtualList/__workshop__/infiniteList.tsx +1 -1
  120. package/src/core/components/virtualList/__workshop__/windowScrolll.tsx +1 -1
  121. package/src/core/components/virtualList/virtualList.tsx +2 -2
  122. package/src/core/constants.ts +0 -18
  123. package/src/core/hooks/useMediaIndex/__workshop__/index.ts +5 -3
  124. package/src/core/hooks/useMediaIndex/__workshop__/test.tsx +1 -1
  125. package/src/core/hooks/useMediaIndex/useMediaIndex.ts +6 -1
  126. package/src/core/index.ts +1 -24
  127. package/src/core/lib/createGlobalScopedContext.ts +1 -1
  128. package/src/core/lib/globalScope.ts +1 -1
  129. package/src/core/observers/elementSize.ts +1 -1
  130. package/src/core/primitives/arrow/arrow.tsx +2 -2
  131. package/src/core/primitives/avatar/__workshop__/asButton.tsx +1 -1
  132. package/src/core/primitives/avatar/__workshop__/index.ts +5 -3
  133. package/src/core/primitives/avatar/__workshop__/stack.tsx +1 -1
  134. package/src/core/primitives/avatar/__workshop__/withinButton.tsx +1 -1
  135. package/src/core/primitives/avatar/__workshop__/withinMenuItem.tsx +1 -1
  136. package/src/core/primitives/avatar/avatar.tsx +3 -10
  137. package/src/core/primitives/avatar/avatarCounter.tsx +2 -2
  138. package/src/core/primitives/avatar/avatarStack.tsx +2 -4
  139. package/src/core/primitives/avatar/types.ts +0 -32
  140. package/src/core/primitives/badge/__workshop__/index.ts +5 -3
  141. package/src/core/primitives/badge/__workshop__/props.tsx +1 -1
  142. package/src/core/primitives/badge/__workshop__/tones.tsx +3 -3
  143. package/src/core/primitives/badge/badge.test.tsx +2 -1
  144. package/src/core/primitives/badge/badge.tsx +12 -11
  145. package/src/core/primitives/box/__workshop__/index.ts +5 -3
  146. package/src/core/primitives/box/__workshop__/props.tsx +1 -1
  147. package/src/core/primitives/box/__workshop__/responsive.tsx +1 -1
  148. package/src/core/primitives/box/box.tsx +28 -32
  149. package/src/core/primitives/button/__workshop__/custom.tsx +5 -5
  150. package/src/core/primitives/button/__workshop__/customIcons.tsx +1 -1
  151. package/src/core/primitives/button/__workshop__/disabled.tsx +3 -3
  152. package/src/core/primitives/button/__workshop__/index.ts +5 -3
  153. package/src/core/primitives/button/__workshop__/mixedChildren.tsx +1 -1
  154. package/src/core/primitives/button/__workshop__/props.tsx +1 -1
  155. package/src/core/primitives/button/__workshop__/sanityUploadButton.tsx +1 -1
  156. package/src/core/primitives/button/__workshop__/stacked.tsx +1 -1
  157. package/src/core/primitives/button/__workshop__/styled1.tsx +1 -1
  158. package/src/core/primitives/button/__workshop__/styled2.tsx +1 -1
  159. package/src/core/primitives/button/__workshop__/textOverflow.tsx +1 -1
  160. package/src/core/primitives/button/__workshop__/uploadButton.tsx +1 -1
  161. package/src/core/primitives/button/button.test.tsx +2 -1
  162. package/src/core/primitives/button/button.tsx +4 -7
  163. package/src/core/primitives/button/types.ts +0 -20
  164. package/src/core/primitives/card/__workshop__/asButton.tsx +2 -2
  165. package/src/core/primitives/card/__workshop__/asComponent.tsx +1 -1
  166. package/src/core/primitives/card/__workshop__/checkered.tsx +3 -3
  167. package/src/core/primitives/card/__workshop__/index.ts +5 -3
  168. package/src/core/primitives/card/__workshop__/interactive.tsx +1 -1
  169. package/src/core/primitives/card/__workshop__/listNavigation.tsx +1 -1
  170. package/src/core/primitives/card/__workshop__/props.tsx +1 -1
  171. package/src/core/primitives/card/__workshop__/selected.tsx +1 -1
  172. package/src/core/primitives/card/__workshop__/styled.tsx +1 -1
  173. package/src/core/primitives/card/__workshop__/tones.tsx +3 -3
  174. package/src/core/primitives/card/card.tsx +4 -2
  175. package/src/core/primitives/card/cardContext.ts +1 -1
  176. package/src/core/primitives/card/cardProvider.tsx +4 -4
  177. package/src/core/primitives/card/types.ts +5 -19
  178. package/src/core/primitives/checkbox/__workshop__/example.tsx +1 -1
  179. package/src/core/primitives/checkbox/__workshop__/index.ts +5 -3
  180. package/src/core/primitives/checkbox/__workshop__/props.tsx +1 -1
  181. package/src/core/primitives/checkbox/__workshop__/readOnly.tsx +1 -1
  182. package/src/core/primitives/checkbox/__workshop__/tones.tsx +3 -3
  183. package/src/core/primitives/checkbox/checkbox.tsx +2 -2
  184. package/src/core/primitives/code/__workshop__/index.ts +5 -3
  185. package/src/core/primitives/code/__workshop__/opticalAlignment.tsx +1 -1
  186. package/src/core/primitives/code/__workshop__/props.tsx +1 -1
  187. package/src/core/primitives/code/code.tsx +4 -2
  188. package/src/core/primitives/code/refractor.tsx +1 -1
  189. package/src/core/primitives/container/__workshop__/example.tsx +1 -1
  190. package/src/core/primitives/container/__workshop__/index.ts +5 -3
  191. package/src/core/primitives/container/container.tsx +2 -2
  192. package/src/core/primitives/flex/__workshop__/example.tsx +1 -1
  193. package/src/core/primitives/flex/__workshop__/gap.tsx +1 -1
  194. package/src/core/primitives/flex/__workshop__/index.ts +5 -3
  195. package/src/core/primitives/flex/flex.tsx +4 -2
  196. package/src/core/primitives/grid/__workshop__/index.ts +5 -3
  197. package/src/core/primitives/grid/__workshop__/responsive.tsx +3 -3
  198. package/src/core/primitives/grid/grid.tsx +4 -2
  199. package/src/core/primitives/heading/__workshop__/index.ts +5 -3
  200. package/src/core/primitives/heading/__workshop__/opticalAlignment.tsx +1 -1
  201. package/src/core/primitives/heading/__workshop__/plain.tsx +1 -1
  202. package/src/core/primitives/heading/heading.tsx +2 -4
  203. package/src/core/primitives/inline/__workshop__/index.ts +5 -3
  204. package/src/core/primitives/inline/__workshop__/plain.tsx +1 -1
  205. package/src/core/primitives/inline/inline.tsx +4 -11
  206. package/src/core/primitives/kbd/__workshop__/index.ts +5 -3
  207. package/src/core/primitives/kbd/__workshop__/plain.tsx +1 -1
  208. package/src/core/primitives/kbd/kbd.tsx +4 -2
  209. package/src/core/primitives/label/__workshop__/index.ts +5 -3
  210. package/src/core/primitives/label/__workshop__/opticalAlignment.tsx +1 -1
  211. package/src/core/primitives/label/__workshop__/plain.tsx +1 -1
  212. package/src/core/primitives/label/label.tsx +2 -4
  213. package/src/core/primitives/layer/__workshop__/_debug.tsx +1 -1
  214. package/src/core/primitives/layer/__workshop__/index.ts +5 -3
  215. package/src/core/primitives/layer/__workshop__/multipleRoots.tsx +1 -1
  216. package/src/core/primitives/layer/__workshop__/nested.tsx +1 -1
  217. package/src/core/primitives/layer/__workshop__/responsiveZOffset.tsx +1 -1
  218. package/src/core/primitives/layer/layer.test.tsx +2 -1
  219. package/src/core/primitives/layer/layer.tsx +2 -2
  220. package/src/core/primitives/layer/layerCard.tsx +2 -2
  221. package/src/core/primitives/layer/layerContext.ts +4 -4
  222. package/src/core/primitives/layer/layerProvider.tsx +2 -10
  223. package/src/core/primitives/popover/__workshop__/AlignedStory.tsx +2 -2
  224. package/src/core/primitives/popover/__workshop__/MarginsStory.tsx +1 -1
  225. package/src/core/primitives/popover/__workshop__/MatchReferenceWidthStory.tsx +1 -1
  226. package/src/core/primitives/popover/__workshop__/OpenOnMountStory.tsx +1 -1
  227. package/src/core/primitives/popover/__workshop__/PlainStory.tsx +2 -2
  228. package/src/core/primitives/popover/__workshop__/RecursiveStory.tsx +3 -3
  229. package/src/core/primitives/popover/__workshop__/SidePanelStory.tsx +3 -3
  230. package/src/core/primitives/popover/__workshop__/index.ts +5 -3
  231. package/src/core/primitives/popover/popover.tsx +4 -9
  232. package/src/core/primitives/popover/popoverLayer.tsx +2 -2
  233. package/src/core/primitives/radio/__workshop__/example.tsx +1 -1
  234. package/src/core/primitives/radio/__workshop__/index.ts +5 -3
  235. package/src/core/primitives/radio/__workshop__/plain.tsx +1 -1
  236. package/src/core/primitives/radio/radio.tsx +2 -2
  237. package/src/core/primitives/select/__workshop__/index.ts +5 -3
  238. package/src/core/primitives/select/__workshop__/plain.tsx +1 -1
  239. package/src/core/primitives/select/__workshop__/readOnly.tsx +1 -1
  240. package/src/core/primitives/select/select.tsx +5 -15
  241. package/src/core/primitives/selectable/selectable.tsx +4 -4
  242. package/src/core/primitives/skeleton/__workshop__/delay.tsx +1 -1
  243. package/src/core/primitives/skeleton/__workshop__/index.ts +5 -3
  244. package/src/core/primitives/skeleton/__workshop__/skeleton.tsx +2 -2
  245. package/src/core/primitives/skeleton/codeSkeleton.tsx +2 -2
  246. package/src/core/primitives/skeleton/headingSkeleton.tsx +2 -2
  247. package/src/core/primitives/skeleton/labelSkeleton.tsx +2 -2
  248. package/src/core/primitives/skeleton/skeleton.tsx +2 -2
  249. package/src/core/primitives/skeleton/textSkeleton.tsx +2 -2
  250. package/src/core/primitives/spinner/__workshop__/Props.tsx +1 -1
  251. package/src/core/primitives/spinner/__workshop__/index.ts +5 -3
  252. package/src/core/primitives/spinner/animatedSpinnerIcon.tsx +2 -2
  253. package/src/core/primitives/spinner/spinner.tsx +2 -2
  254. package/src/core/primitives/srOnly/srOnly.tsx +2 -2
  255. package/src/core/primitives/stack/__workshop__/index.ts +5 -3
  256. package/src/core/primitives/stack/__workshop__/plain.tsx +1 -1
  257. package/src/core/primitives/stack/stack.tsx +5 -10
  258. package/src/core/primitives/switch/__workshop__/example.tsx +1 -1
  259. package/src/core/primitives/switch/__workshop__/index.ts +5 -3
  260. package/src/core/primitives/switch/__workshop__/props.tsx +1 -1
  261. package/src/core/primitives/switch/switch.tsx +2 -2
  262. package/src/core/primitives/text/__workshop__/colored.tsx +1 -1
  263. package/src/core/primitives/text/__workshop__/example.tsx +1 -1
  264. package/src/core/primitives/text/__workshop__/index.ts +5 -3
  265. package/src/core/primitives/text/__workshop__/opticalAlignment.tsx +1 -1
  266. package/src/core/primitives/text/text.tsx +4 -4
  267. package/src/core/primitives/textArea/__workshop__/index.ts +5 -3
  268. package/src/core/primitives/textArea/__workshop__/plain.tsx +1 -1
  269. package/src/core/primitives/textArea/textArea.tsx +5 -15
  270. package/src/core/primitives/textInput/__workshop__/clearButton.tsx +1 -1
  271. package/src/core/primitives/textInput/__workshop__/customValidity.tsx +1 -1
  272. package/src/core/primitives/textInput/__workshop__/index.ts +5 -3
  273. package/src/core/primitives/textInput/__workshop__/plain.tsx +1 -1
  274. package/src/core/primitives/textInput/__workshop__/readOnly.tsx +1 -1
  275. package/src/core/primitives/textInput/__workshop__/states.tsx +1 -1
  276. package/src/core/primitives/textInput/__workshop__/tones.tsx +1 -1
  277. package/src/core/primitives/textInput/__workshop__/typed.tsx +1 -1
  278. package/src/core/primitives/textInput/textInput.tsx +6 -9
  279. package/src/core/primitives/tooltip/__workshop__/customPortal.tsx +1 -1
  280. package/src/core/primitives/tooltip/__workshop__/index.ts +5 -3
  281. package/src/core/primitives/tooltip/__workshop__/overflowingBoundary.tsx +1 -1
  282. package/src/core/primitives/tooltip/__workshop__/props.tsx +1 -1
  283. package/src/core/primitives/tooltip/__workshop__/resizableBoundary.tsx +1 -1
  284. package/src/core/primitives/tooltip/constants.ts +1 -1
  285. package/src/core/primitives/tooltip/tooltip.test.tsx +2 -4
  286. package/src/core/primitives/tooltip/tooltip.tsx +5 -9
  287. package/src/core/primitives/tooltip/tooltipDelayGroup/tooltipDelayGroupContext.tsx +4 -2
  288. package/src/core/primitives/tooltip/tooltipDelayGroup/tooltipDelayGroupProvider.tsx +5 -3
  289. package/src/core/primitives/tooltip/tooltipLayer.tsx +2 -2
  290. package/src/core/{types/props.ts → types.ts} +27 -0
  291. package/src/core/utils/boundaryElement/__workshop__/index.ts +5 -3
  292. package/src/core/utils/boundaryElement/__workshop__/plain.tsx +1 -1
  293. package/src/core/utils/boundaryElement/boundaryElement.test.tsx +2 -1
  294. package/src/core/utils/boundaryElement/boundaryElementContext.ts +7 -4
  295. package/src/core/utils/boundaryElement/boundaryElementProvider.tsx +2 -2
  296. package/src/core/utils/elementQuery/__workshop__/customMedia.tsx +1 -1
  297. package/src/core/utils/elementQuery/__workshop__/index.ts +5 -3
  298. package/src/core/utils/elementQuery/elementQuery.tsx +2 -2
  299. package/src/core/utils/getElementRef.ts +1 -1
  300. package/src/core/utils/portal/__workshop__/index.ts +5 -3
  301. package/src/core/utils/portal/__workshop__/named.tsx +1 -1
  302. package/src/core/utils/portal/portal.test.tsx +2 -1
  303. package/src/core/utils/portal/portalContext.ts +5 -2
  304. package/src/core/utils/portal/portalProvider.tsx +5 -9
  305. package/src/css/_responsiveClassName.ts +2 -2
  306. package/src/css/_style.css.ts +1 -1
  307. package/src/css/components/breadcrumbs/breadcrumbs.css.ts +1 -1
  308. package/src/css/components/dialog/dialog.css.ts +9 -17
  309. package/src/css/components/menu/menu.css.ts +2 -2
  310. package/src/css/components/menu/menu.ts +2 -2
  311. package/src/css/components/skeleton/skeleton.css.ts +2 -6
  312. package/src/css/components/toast/toast.css.ts +2 -2
  313. package/src/css/components/toast/toast.ts +2 -2
  314. package/src/css/components/tree/tree.css.ts +1 -1
  315. package/src/css/components/tree/tree.ts +1 -1
  316. package/src/css/defaultTheme.css.ts +59 -60
  317. package/src/css/layers.css.ts +4 -1
  318. package/src/css/primitives/_arrow/_arrow.css.ts +5 -5
  319. package/src/css/primitives/_input/_input.css.ts +4 -4
  320. package/src/css/primitives/_selectable/_selectable.css.ts +4 -4
  321. package/src/css/primitives/_selectable/types.ts +2 -2
  322. package/src/css/primitives/avatar/avatar.css.ts +10 -10
  323. package/src/css/primitives/badge/badge.css.ts +4 -4
  324. package/src/css/primitives/badge/types.ts +8 -2
  325. package/src/css/primitives/box/box.css.ts +2 -2
  326. package/src/css/primitives/button/button.css.ts +6 -6
  327. package/src/css/primitives/button/button.ts +2 -2
  328. package/src/css/primitives/button/types.ts +3 -3
  329. package/src/css/primitives/card/__workshop__/color.tsx +9 -9
  330. package/src/css/primitives/card/__workshop__/index.ts +5 -3
  331. package/src/css/primitives/card/card.css.ts +12 -18
  332. package/src/css/primitives/card/types.ts +3 -3
  333. package/src/css/primitives/checkbox/checkbox.css.ts +3 -3
  334. package/src/css/primitives/checkbox/checkbox.ts +3 -3
  335. package/src/css/primitives/code/code.css.ts +4 -3
  336. package/src/css/primitives/code/types.ts +3 -4
  337. package/src/css/primitives/container/container.css.ts +1 -1
  338. package/src/css/primitives/heading/heading.css.ts +5 -4
  339. package/src/css/primitives/heading/types.ts +3 -6
  340. package/src/css/primitives/kbd/kbd.css.ts +1 -1
  341. package/src/css/primitives/label/label.css.ts +5 -4
  342. package/src/css/primitives/label/types.ts +0 -8
  343. package/src/css/primitives/popover/popover.css.ts +2 -2
  344. package/src/css/primitives/popover/popover.ts +2 -2
  345. package/src/css/primitives/radio/radio.css.ts +3 -3
  346. package/src/css/primitives/radio/radio.ts +3 -3
  347. package/src/css/primitives/root/root.css.ts +1 -1
  348. package/src/css/primitives/root/root.ts +1 -1
  349. package/src/css/primitives/root/types.ts +3 -3
  350. package/src/css/primitives/select/select.css.ts +3 -3
  351. package/src/css/primitives/spinner/spinner.css.ts +2 -6
  352. package/src/css/primitives/spinner/spinner.ts +2 -2
  353. package/src/css/primitives/srOnly/srOnly.css.ts +1 -1
  354. package/src/css/primitives/srOnly/srOnly.ts +1 -1
  355. package/src/css/primitives/stack/stack.css.ts +1 -1
  356. package/src/css/primitives/stack/stack.ts +1 -1
  357. package/src/css/primitives/switch/switch.css.ts +5 -5
  358. package/src/css/primitives/text/text.css.ts +5 -4
  359. package/src/css/primitives/text/types.ts +3 -5
  360. package/src/css/primitives/textArea/textArea.css.ts +1 -1
  361. package/src/css/primitives/textInput/textInput.css.ts +4 -4
  362. package/src/css/primitives/tooltip/tooltip.css.ts +1 -1
  363. package/src/css/props/alignItems/alignItems.ts +1 -1
  364. package/src/css/props/border/border.ts +1 -16
  365. package/src/css/props/boxSizing/boxSizing.css.ts +2 -1
  366. package/src/css/props/boxSizing/boxSizing.ts +0 -3
  367. package/src/css/props/display/display.ts +1 -10
  368. package/src/css/props/flex/flex.ts +1 -1
  369. package/src/css/props/flexDirection/flexDirection.ts +1 -1
  370. package/src/css/props/flexWrap/flexWrap.ts +1 -1
  371. package/src/css/props/font/font.css.ts +3 -2
  372. package/src/css/props/font/font.ts +1 -1
  373. package/src/css/props/gap/gap.ts +1 -1
  374. package/src/css/props/gridAutoColumns/gridAutoColumns.css.ts +2 -2
  375. package/src/css/props/gridAutoColumns/gridAutoColumns.ts +2 -2
  376. package/src/css/props/gridAutoColumns/types.ts +0 -10
  377. package/src/css/props/gridAutoFlow/gridAutoFlow.ts +2 -2
  378. package/src/css/props/gridAutoFlow/types.ts +0 -4
  379. package/src/css/props/gridAutoRows/gridAutoRows.ts +2 -2
  380. package/src/css/props/gridAutoRows/types.ts +0 -4
  381. package/src/css/props/gridColumn/gridColumn.ts +3 -3
  382. package/src/css/props/gridColumn/types.ts +0 -10
  383. package/src/css/props/gridColumnEnd/gridColumnEnd.ts +3 -3
  384. package/src/css/props/gridColumnEnd/types.ts +0 -10
  385. package/src/css/props/gridColumnStart/gridColumnStart.ts +3 -6
  386. package/src/css/props/gridColumnStart/types.ts +0 -10
  387. package/src/css/props/gridRow/gridRow.ts +3 -3
  388. package/src/css/props/gridRow/types.ts +0 -10
  389. package/src/css/props/gridRowEnd/gridRowEnd.ts +3 -3
  390. package/src/css/props/gridRowEnd/types.ts +0 -10
  391. package/src/css/props/gridRowStart/gridRowStart.ts +3 -3
  392. package/src/css/props/gridRowStart/types.ts +0 -10
  393. package/src/css/props/gridTemplateColumns/gridTemplateColumns.ts +2 -2
  394. package/src/css/props/gridTemplateColumns/types.ts +0 -10
  395. package/src/css/props/gridTemplateRows/gridTemplateRows.ts +2 -2
  396. package/src/css/props/gridTemplateRows/types.ts +0 -10
  397. package/src/css/props/height/height.ts +1 -1
  398. package/src/css/props/height/types.ts +0 -6
  399. package/src/css/props/inset/inset.ts +1 -1
  400. package/src/css/props/justifyContent/justifyContent.ts +1 -1
  401. package/src/css/props/margin/margin.ts +1 -1
  402. package/src/css/props/maxWidth/maxWidth.ts +1 -1
  403. package/src/css/props/minHeight/minHeight.ts +1 -1
  404. package/src/css/props/minWidth/minWidth.ts +1 -1
  405. package/src/css/props/outline/outline.ts +1 -1
  406. package/src/css/props/overflow/overflow.ts +1 -1
  407. package/src/css/props/overflow/types.ts +0 -6
  408. package/src/css/props/padding/padding.ts +1 -1
  409. package/src/css/props/pointerEvents/pointerEvents.ts +1 -1
  410. package/src/css/props/position/position.ts +1 -1
  411. package/src/css/props/radius/radius.ts +1 -1
  412. package/src/css/props/shadow/shadow.ts +1 -1
  413. package/src/css/props/textAlign/textAlign.ts +1 -1
  414. package/src/css/props/textOverflow/textOverflow.ts +1 -1
  415. package/src/css/props/width/width.ts +1 -1
  416. package/src/css/types.ts +225 -53
  417. package/src/css/util.ts +2 -2
  418. package/src/css/vars.css.ts +33 -36
  419. package/src/theme/{v3/_parseColorToken.ts → _parseColorToken.ts} +2 -2
  420. package/src/theme/buildTheme.ts +33 -0
  421. package/src/theme/constants.ts +90 -0
  422. package/src/theme/defaults/color.ts +197 -0
  423. package/src/theme/{v2/defaults/config.ts → defaults/common.ts} +3 -16
  424. package/src/theme/{v3/defaultFonts.ts → defaults/fonts.ts} +2 -2
  425. package/src/theme/index.ts +4 -5
  426. package/src/theme/{v3/resolveTokens.ts → resolveTokens.ts} +15 -15
  427. package/src/theme/types.ts +355 -15
  428. package/src/core/__DEV__.ts +0 -5
  429. package/src/core/_compat/helpers.ts +0 -72
  430. package/src/core/_compat/styles/_responsive.ts +0 -19
  431. package/src/core/_compat/theme/theme.test.tsx +0 -73
  432. package/src/core/_compat/theme/themeColorProvider.tsx +0 -24
  433. package/src/core/_compat/theme/themeContext.ts +0 -10
  434. package/src/core/_compat/theme/themeProvider.tsx +0 -68
  435. package/src/core/_compat/theme/types.ts +0 -10
  436. package/src/core/_compat/theme/useRootTheme.ts +0 -15
  437. package/src/core/_compat/theme/useTheme.ts +0 -12
  438. package/src/core/_compat/types.ts +0 -191
  439. package/src/core/hooks/useArrayProp.ts +0 -26
  440. package/src/core/hooks/useClickOutside.test.tsx +0 -481
  441. package/src/core/hooks/useClickOutside.ts +0 -113
  442. package/src/core/hooks/useElementRect/__workshop__/example.tsx +0 -30
  443. package/src/core/hooks/useElementRect/__workshop__/index.ts +0 -14
  444. package/src/core/hooks/useElementRect/useElementRect.ts +0 -13
  445. package/src/core/hooks/useForwardedRef.ts +0 -19
  446. package/src/core/hooks/useIsomorphicEffect.ts +0 -7
  447. package/src/core/primitives/badge/types.ts +0 -18
  448. package/src/core/primitives/box/types.ts +0 -22
  449. package/src/core/primitives/flex/types.ts +0 -27
  450. package/src/core/primitives/grid/types.ts +0 -17
  451. package/src/core/primitives/selectable/types.ts +0 -7
  452. package/src/core/primitives/types.ts +0 -153
  453. package/src/core/types/gridItem.ts +0 -32
  454. package/src/core/types/placement.ts +0 -18
  455. package/src/core/types/radius.ts +0 -7
  456. package/src/core/types/textAlign.ts +0 -7
  457. package/src/core/utils/spanWithTextOverflow.tsx +0 -10
  458. package/src/theme/getScopedTheme.ts +0 -88
  459. package/src/theme/v0/avatar.ts +0 -10
  460. package/src/theme/v0/color/_generic.ts +0 -35
  461. package/src/theme/v0/color/_system.ts +0 -17
  462. package/src/theme/v0/color/base.ts +0 -21
  463. package/src/theme/v0/color/button.ts +0 -42
  464. package/src/theme/v0/color/card.ts +0 -19
  465. package/src/theme/v0/color/color.ts +0 -40
  466. package/src/theme/v0/color/index.ts +0 -11
  467. package/src/theme/v0/color/input.ts +0 -34
  468. package/src/theme/v0/color/muted.ts +0 -26
  469. package/src/theme/v0/color/selectable.ts +0 -31
  470. package/src/theme/v0/color/solid.ts +0 -26
  471. package/src/theme/v0/color/spot.ts +0 -13
  472. package/src/theme/v0/css.ts +0 -10
  473. package/src/theme/v0/focusRing.ts +0 -5
  474. package/src/theme/v0/font.ts +0 -40
  475. package/src/theme/v0/index.ts +0 -10
  476. package/src/theme/v0/input.ts +0 -23
  477. package/src/theme/v0/layer.ts +0 -6
  478. package/src/theme/v0/shadow.ts +0 -15
  479. package/src/theme/v0/styles.ts +0 -13
  480. package/src/theme/v0/theme.ts +0 -72
  481. package/src/theme/v2/avatar.ts +0 -12
  482. package/src/theme/v2/build/_deprecated/color/_selectable/createSelectableTones.ts +0 -76
  483. package/src/theme/v2/build/_deprecated/color/_solid/createSolidTones.ts +0 -54
  484. package/src/theme/v2/build/_deprecated/color/button/createButtonModes.ts +0 -22
  485. package/src/theme/v2/build/_deprecated/color/button/createButtonTones.ts +0 -55
  486. package/src/theme/v2/build/_deprecated/color/card/createCardStates.ts +0 -60
  487. package/src/theme/v2/build/_deprecated/color/color.test.ts +0 -63
  488. package/src/theme/v2/build/_deprecated/color/defaults.ts +0 -390
  489. package/src/theme/v2/build/_deprecated/color/factory.ts +0 -141
  490. package/src/theme/v2/build/_deprecated/color/index.ts +0 -1
  491. package/src/theme/v2/build/_deprecated/color/input/createInputModes.ts +0 -86
  492. package/src/theme/v2/build/_deprecated/color/muted/createMuted.ts +0 -54
  493. package/src/theme/v2/build/_deprecated/color/spot/createSpot.ts +0 -20
  494. package/src/theme/v2/build/buildColorTheme.test.ts +0 -185
  495. package/src/theme/v2/build/buildColorTheme.ts +0 -494
  496. package/src/theme/v2/build/buildTheme.test.ts +0 -89
  497. package/src/theme/v2/build/buildTheme.ts +0 -37
  498. package/src/theme/v2/build/colorToken/colorToken.ts +0 -19
  499. package/src/theme/v2/build/colorToken/compileColorToken.ts +0 -21
  500. package/src/theme/v2/build/colorToken/index.ts +0 -2
  501. package/src/theme/v2/build/colorToken/types.ts +0 -6
  502. package/src/theme/v2/build/index.ts +0 -3
  503. package/src/theme/v2/build/lib/color-fns/blend/index.ts +0 -3
  504. package/src/theme/v2/build/lib/color-fns/blend/mix.ts +0 -21
  505. package/src/theme/v2/build/lib/color-fns/blend/multiply.ts +0 -18
  506. package/src/theme/v2/build/lib/color-fns/blend/screen.ts +0 -18
  507. package/src/theme/v2/build/lib/color-fns/color-fns.test.ts +0 -68
  508. package/src/theme/v2/build/lib/color-fns/contrastRatio.ts +0 -34
  509. package/src/theme/v2/build/lib/color-fns/convert.ts +0 -150
  510. package/src/theme/v2/build/lib/color-fns/index.ts +0 -6
  511. package/src/theme/v2/build/lib/color-fns/parse.ts +0 -60
  512. package/src/theme/v2/build/lib/color-fns/rgba.ts +0 -14
  513. package/src/theme/v2/build/lib/color-fns/types.ts +0 -28
  514. package/src/theme/v2/build/lib/isRecord.ts +0 -3
  515. package/src/theme/v2/build/lib/utils.ts +0 -19
  516. package/src/theme/v2/build/merge.ts +0 -28
  517. package/src/theme/v2/build/mixThemeColor.test.ts +0 -23
  518. package/src/theme/v2/build/mixThemeColor.ts +0 -53
  519. package/src/theme/v2/build/renderColorTheme.ts +0 -532
  520. package/src/theme/v2/build/renderColorValue.ts +0 -85
  521. package/src/theme/v2/build/resolveColorTokens.ts +0 -268
  522. package/src/theme/v2/color/_constants.ts +0 -45
  523. package/src/theme/v2/color/_helpers.ts +0 -24
  524. package/src/theme/v2/color/_system.ts +0 -38
  525. package/src/theme/v2/color/avatar.ts +0 -11
  526. package/src/theme/v2/color/badge.ts +0 -12
  527. package/src/theme/v2/color/button.ts +0 -11
  528. package/src/theme/v2/color/color.ts +0 -28
  529. package/src/theme/v2/color/index.ts +0 -13
  530. package/src/theme/v2/color/input.ts +0 -23
  531. package/src/theme/v2/color/kbd.ts +0 -6
  532. package/src/theme/v2/color/selectable.ts +0 -8
  533. package/src/theme/v2/color/shadow.ts +0 -7
  534. package/src/theme/v2/color/state.ts +0 -41
  535. package/src/theme/v2/color/syntax.ts +0 -39
  536. package/src/theme/v2/config/helpers.ts +0 -48
  537. package/src/theme/v2/config/index.ts +0 -4
  538. package/src/theme/v2/config/system.ts +0 -114
  539. package/src/theme/v2/config/tokens/color/index.ts +0 -1
  540. package/src/theme/v2/config/tokens/color/types.ts +0 -137
  541. package/src/theme/v2/config/tokens/index.ts +0 -3
  542. package/src/theme/v2/config/tokens/parseTokenValue.test.ts +0 -44
  543. package/src/theme/v2/config/tokens/parseTokenValue.ts +0 -133
  544. package/src/theme/v2/config/tokens/types.ts +0 -53
  545. package/src/theme/v2/config/types.ts +0 -47
  546. package/src/theme/v2/defaults/colorPalette.ts +0 -5
  547. package/src/theme/v2/defaults/colorTokens.ts +0 -648
  548. package/src/theme/v2/defaults/fonts.ts +0 -227
  549. package/src/theme/v2/index.ts +0 -6
  550. package/src/theme/v2/input.ts +0 -31
  551. package/src/theme/v2/theme.ts +0 -45
  552. package/src/theme/v3/_constants.ts +0 -29
  553. package/src/theme/v3/buildTheme_v3.ts +0 -39
  554. package/src/theme/v3/color/_constants.ts +0 -15
  555. package/src/theme/v3/color/avatar.ts +0 -14
  556. package/src/theme/v3/color/card.ts +0 -79
  557. package/src/theme/v3/color/color.ts +0 -98
  558. package/src/theme/v3/color/element.ts +0 -19
  559. package/src/theme/v3/color/index.ts +0 -7
  560. package/src/theme/v3/color/token.ts +0 -32
  561. package/src/theme/v3/color/tokens.ts +0 -5
  562. package/src/theme/v3/defaultTokens.ts +0 -199
  563. package/src/theme/v3/index.ts +0 -9
  564. package/src/theme/v3/palette/constants.ts +0 -15
  565. package/src/theme/v3/palette/index.ts +0 -2
  566. package/src/theme/v3/palette/types.ts +0 -7
  567. package/src/theme/v3/tokens.ts +0 -16
  568. package/src/theme/v3/types.ts +0 -133
  569. package/src/theme/versioning/getTheme_v2.ts +0 -58
  570. package/src/theme/versioning/index.ts +0 -1
  571. package/src/theme/versioning/is_v0.ts +0 -7
  572. package/src/theme/versioning/is_v2.ts +0 -7
  573. package/src/theme/versioning/themeColor_v0_v2.ts +0 -245
  574. package/src/theme/versioning/themeColor_v2_v2_9.ts +0 -49
  575. package/src/theme/versioning/themeColor_v3_v2.ts +0 -383
  576. package/src/theme/versioning/v0_v2.ts +0 -95
  577. package/src/theme/versioning/v2_v0.ts +0 -127
  578. package/src/theme/versioning/v3_v2.ts +0 -130
  579. /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