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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (580) hide show
  1. package/README.md +1 -1
  2. package/dist/_chunks-cjs/_visual-editing.cjs +263 -375
  3. package/dist/_chunks-cjs/_visual-editing.cjs.map +1 -1
  4. package/dist/_chunks-cjs/refractor.cjs.map +1 -1
  5. package/dist/_chunks-es/_visual-editing.js +263 -377
  6. package/dist/_chunks-es/_visual-editing.js.map +1 -1
  7. package/dist/_chunks-es/refractor.js.map +1 -1
  8. package/dist/_visual-editing.cjs +0 -2
  9. package/dist/_visual-editing.cjs.map +1 -1
  10. package/dist/_visual-editing.d.cts +2 -904
  11. package/dist/_visual-editing.d.ts +2 -904
  12. package/dist/_visual-editing.js +2 -4
  13. package/dist/css/index.cjs +12 -12
  14. package/dist/css/index.cjs.map +1 -1
  15. package/dist/css/index.css +1 -1
  16. package/dist/css/index.d.cts +805 -14697
  17. package/dist/css/index.d.ts +805 -14697
  18. package/dist/css/index.js +12 -12
  19. package/dist/css/index.js.map +1 -1
  20. package/dist/index.cjs +241 -366
  21. package/dist/index.cjs.map +1 -1
  22. package/dist/index.d.cts +990 -3095
  23. package/dist/index.d.ts +990 -3095
  24. package/dist/index.js +243 -360
  25. package/dist/index.js.map +1 -1
  26. package/dist/portalProvider-DgNIVviV.d.ts +575 -0
  27. package/dist/theme.cjs +367 -4288
  28. package/dist/theme.cjs.map +1 -1
  29. package/dist/theme.d.cts +272 -1806
  30. package/dist/theme.d.ts +272 -1806
  31. package/dist/theme.js +371 -4292
  32. package/dist/theme.js.map +1 -1
  33. package/exports/_visual-editing.ts +0 -2
  34. package/package.json +3 -4
  35. package/src/core/Root.tsx +4 -2
  36. package/src/core/RootProvider.tsx +4 -4
  37. package/src/core/__workshop__/boundary.tsx +1 -1
  38. package/src/core/__workshop__/index.ts +5 -3
  39. package/src/core/components/autocomplete/__workshop__/async.tsx +1 -1
  40. package/src/core/components/autocomplete/__workshop__/constrainedHeight.tsx +2 -2
  41. package/src/core/components/autocomplete/__workshop__/custom.tsx +2 -2
  42. package/src/core/components/autocomplete/__workshop__/example.tsx +2 -2
  43. package/src/core/components/autocomplete/__workshop__/focusAndBlur.tsx +1 -1
  44. package/src/core/components/autocomplete/__workshop__/fullscreen.tsx +1 -1
  45. package/src/core/components/autocomplete/__workshop__/index.ts +5 -3
  46. package/src/core/components/autocomplete/__workshop__/mock/apiStore.ts +1 -1
  47. package/src/core/components/autocomplete/__workshop__/mock/countries.ts +1 -1
  48. package/src/core/components/autocomplete/autocomplete.tsx +2 -2
  49. package/src/core/components/autocomplete/autocompleteOption.tsx +2 -2
  50. package/src/core/components/autocomplete/constants.ts +2 -2
  51. package/src/core/components/breadcrumbs/__workshop__/example.tsx +1 -1
  52. package/src/core/components/breadcrumbs/__workshop__/index.ts +5 -3
  53. package/src/core/components/breadcrumbs/breadcrumbs.tsx +6 -11
  54. package/src/core/components/dialog/__workshop__/activate.tsx +1 -1
  55. package/src/core/components/dialog/__workshop__/autoFocus.tsx +1 -1
  56. package/src/core/components/dialog/__workshop__/index.ts +5 -3
  57. package/src/core/components/dialog/__workshop__/layering.tsx +1 -1
  58. package/src/core/components/dialog/__workshop__/nested.tsx +2 -3
  59. package/src/core/components/dialog/__workshop__/onScroll.tsx +1 -1
  60. package/src/core/components/dialog/__workshop__/panes.tsx +1 -1
  61. package/src/core/components/dialog/__workshop__/position.tsx +1 -1
  62. package/src/core/components/dialog/__workshop__/props.tsx +1 -1
  63. package/src/core/components/dialog/__workshop__/provider.tsx +1 -1
  64. package/src/core/components/dialog/__workshop__/wrapped.tsx +1 -1
  65. package/src/core/components/dialog/dialog.tsx +5 -6
  66. package/src/core/components/dialog/dialogCard.tsx +2 -2
  67. package/src/core/components/dialog/dialogContext.ts +3 -4
  68. package/src/core/components/dialog/dialogProvider.tsx +2 -2
  69. package/src/core/components/hotkeys/__workshop__/index.ts +5 -3
  70. package/src/core/components/hotkeys/__workshop__/plain.tsx +1 -1
  71. package/src/core/components/hotkeys/hotkeys.tsx +4 -15
  72. package/src/core/components/menu/__workshop__/asComponent.tsx +1 -1
  73. package/src/core/components/menu/__workshop__/avatarMenu.tsx +1 -1
  74. package/src/core/components/menu/__workshop__/closableMenuButton.tsx +1 -1
  75. package/src/core/components/menu/__workshop__/constrainedInBoundary.tsx +3 -3
  76. package/src/core/components/menu/__workshop__/customMenuItem.tsx +1 -1
  77. package/src/core/components/menu/__workshop__/customSelectedState.tsx +1 -1
  78. package/src/core/components/menu/__workshop__/disableFocusOnClose.tsx +1 -1
  79. package/src/core/components/menu/__workshop__/groups.tsx +1 -1
  80. package/src/core/components/menu/__workshop__/index.ts +5 -3
  81. package/src/core/components/menu/__workshop__/menuButton.tsx +2 -2
  82. package/src/core/components/menu/__workshop__/menuGroupRight.tsx +1 -1
  83. package/src/core/components/menu/__workshop__/nestedMenu.tsx +1 -1
  84. package/src/core/components/menu/__workshop__/onCloseMenuButton.tsx +1 -1
  85. package/src/core/components/menu/__workshop__/selectedItem.tsx +1 -1
  86. package/src/core/components/menu/__workshop__/shouldFocus.tsx +1 -1
  87. package/src/core/components/menu/__workshop__/tones.tsx +3 -3
  88. package/src/core/components/menu/__workshop__/withoutArrow.tsx +1 -1
  89. package/src/core/components/menu/menu.test.tsx +2 -1
  90. package/src/core/components/menu/menu.tsx +7 -22
  91. package/src/core/components/menu/menuButton.tsx +4 -50
  92. package/src/core/components/menu/menuContext.ts +3 -15
  93. package/src/core/components/menu/menuDivider.tsx +2 -2
  94. package/src/core/components/menu/menuGroup.tsx +10 -15
  95. package/src/core/components/menu/menuItem.tsx +7 -18
  96. package/src/core/components/tab/__workshop__/example.tsx +1 -1
  97. package/src/core/components/tab/__workshop__/index.ts +5 -3
  98. package/src/core/components/tab/tab.tsx +6 -4
  99. package/src/core/components/tab/tabList.tsx +3 -8
  100. package/src/core/components/tab/tabPanel.tsx +2 -2
  101. package/src/core/components/toast/__workshop__/hook.tsx +1 -1
  102. package/src/core/components/toast/__workshop__/index.ts +5 -3
  103. package/src/core/components/toast/__workshop__/toast.tsx +1 -1
  104. package/src/core/components/toast/toast.test.tsx +2 -1
  105. package/src/core/components/toast/toast.tsx +2 -2
  106. package/src/core/components/toast/toastContext.ts +4 -4
  107. package/src/core/components/toast/toastLayer.tsx +3 -3
  108. package/src/core/components/tree/__workshop__/basic.perf.ts +1 -1
  109. package/src/core/components/tree/__workshop__/basic.tsx +1 -1
  110. package/src/core/components/tree/__workshop__/index.ts +5 -3
  111. package/src/core/components/tree/__workshop__/tabFromElement.tsx +1 -1
  112. package/src/core/components/tree/tree.tsx +8 -9
  113. package/src/core/components/tree/treeContext.ts +4 -4
  114. package/src/core/components/tree/treeGroup.tsx +6 -8
  115. package/src/core/components/tree/treeItem.tsx +4 -4
  116. package/src/core/components/tree/types.ts +1 -1
  117. package/src/core/components/virtualList/__workshop__/changingProps.tsx +1 -1
  118. package/src/core/components/virtualList/__workshop__/elementScroll.tsx +1 -1
  119. package/src/core/components/virtualList/__workshop__/index.ts +5 -3
  120. package/src/core/components/virtualList/__workshop__/infiniteList.tsx +1 -1
  121. package/src/core/components/virtualList/__workshop__/windowScrolll.tsx +1 -1
  122. package/src/core/components/virtualList/virtualList.tsx +2 -2
  123. package/src/core/constants.ts +0 -18
  124. package/src/core/hooks/useMediaIndex/__workshop__/index.ts +5 -3
  125. package/src/core/hooks/useMediaIndex/__workshop__/test.tsx +1 -1
  126. package/src/core/hooks/useMediaIndex/useMediaIndex.ts +6 -1
  127. package/src/core/index.ts +1 -24
  128. package/src/core/lib/createGlobalScopedContext.ts +1 -1
  129. package/src/core/lib/globalScope.ts +1 -1
  130. package/src/core/observers/elementSize.ts +1 -1
  131. package/src/core/primitives/arrow/arrow.tsx +2 -2
  132. package/src/core/primitives/avatar/__workshop__/asButton.tsx +1 -1
  133. package/src/core/primitives/avatar/__workshop__/index.ts +5 -3
  134. package/src/core/primitives/avatar/__workshop__/stack.tsx +1 -1
  135. package/src/core/primitives/avatar/__workshop__/withinButton.tsx +1 -1
  136. package/src/core/primitives/avatar/__workshop__/withinMenuItem.tsx +1 -1
  137. package/src/core/primitives/avatar/avatar.tsx +3 -10
  138. package/src/core/primitives/avatar/avatarCounter.tsx +2 -2
  139. package/src/core/primitives/avatar/avatarStack.tsx +2 -4
  140. package/src/core/primitives/avatar/types.ts +0 -32
  141. package/src/core/primitives/badge/__workshop__/index.ts +5 -3
  142. package/src/core/primitives/badge/__workshop__/props.tsx +1 -1
  143. package/src/core/primitives/badge/__workshop__/tones.tsx +3 -3
  144. package/src/core/primitives/badge/badge.test.tsx +2 -1
  145. package/src/core/primitives/badge/badge.tsx +12 -11
  146. package/src/core/primitives/box/__workshop__/index.ts +5 -3
  147. package/src/core/primitives/box/__workshop__/props.tsx +1 -1
  148. package/src/core/primitives/box/__workshop__/responsive.tsx +1 -1
  149. package/src/core/primitives/box/box.tsx +28 -32
  150. package/src/core/primitives/button/__workshop__/custom.tsx +5 -5
  151. package/src/core/primitives/button/__workshop__/customIcons.tsx +1 -1
  152. package/src/core/primitives/button/__workshop__/disabled.tsx +3 -3
  153. package/src/core/primitives/button/__workshop__/index.ts +5 -3
  154. package/src/core/primitives/button/__workshop__/mixedChildren.tsx +1 -1
  155. package/src/core/primitives/button/__workshop__/props.tsx +1 -1
  156. package/src/core/primitives/button/__workshop__/sanityUploadButton.tsx +1 -1
  157. package/src/core/primitives/button/__workshop__/stacked.tsx +1 -1
  158. package/src/core/primitives/button/__workshop__/styled1.tsx +1 -1
  159. package/src/core/primitives/button/__workshop__/styled2.tsx +1 -1
  160. package/src/core/primitives/button/__workshop__/textOverflow.tsx +1 -1
  161. package/src/core/primitives/button/__workshop__/uploadButton.tsx +1 -1
  162. package/src/core/primitives/button/button.test.tsx +2 -1
  163. package/src/core/primitives/button/button.tsx +4 -7
  164. package/src/core/primitives/button/types.ts +0 -20
  165. package/src/core/primitives/card/__workshop__/asButton.tsx +2 -2
  166. package/src/core/primitives/card/__workshop__/asComponent.tsx +1 -1
  167. package/src/core/primitives/card/__workshop__/checkered.tsx +3 -3
  168. package/src/core/primitives/card/__workshop__/index.ts +5 -3
  169. package/src/core/primitives/card/__workshop__/interactive.tsx +1 -1
  170. package/src/core/primitives/card/__workshop__/listNavigation.tsx +1 -1
  171. package/src/core/primitives/card/__workshop__/props.tsx +1 -1
  172. package/src/core/primitives/card/__workshop__/selected.tsx +1 -1
  173. package/src/core/primitives/card/__workshop__/styled.tsx +1 -1
  174. package/src/core/primitives/card/__workshop__/tones.tsx +3 -3
  175. package/src/core/primitives/card/card.tsx +4 -2
  176. package/src/core/primitives/card/cardContext.ts +1 -1
  177. package/src/core/primitives/card/cardProvider.tsx +4 -4
  178. package/src/core/primitives/card/types.ts +5 -19
  179. package/src/core/primitives/checkbox/__workshop__/example.tsx +1 -1
  180. package/src/core/primitives/checkbox/__workshop__/index.ts +5 -3
  181. package/src/core/primitives/checkbox/__workshop__/props.tsx +1 -1
  182. package/src/core/primitives/checkbox/__workshop__/readOnly.tsx +1 -1
  183. package/src/core/primitives/checkbox/__workshop__/tones.tsx +3 -3
  184. package/src/core/primitives/checkbox/checkbox.tsx +2 -2
  185. package/src/core/primitives/code/__workshop__/index.ts +5 -3
  186. package/src/core/primitives/code/__workshop__/opticalAlignment.tsx +1 -1
  187. package/src/core/primitives/code/__workshop__/props.tsx +1 -1
  188. package/src/core/primitives/code/code.tsx +4 -2
  189. package/src/core/primitives/code/refractor.tsx +1 -1
  190. package/src/core/primitives/container/__workshop__/example.tsx +1 -1
  191. package/src/core/primitives/container/__workshop__/index.ts +5 -3
  192. package/src/core/primitives/container/container.tsx +2 -2
  193. package/src/core/primitives/flex/__workshop__/example.tsx +1 -1
  194. package/src/core/primitives/flex/__workshop__/gap.tsx +1 -1
  195. package/src/core/primitives/flex/__workshop__/index.ts +5 -3
  196. package/src/core/primitives/flex/flex.tsx +4 -2
  197. package/src/core/primitives/grid/__workshop__/index.ts +5 -3
  198. package/src/core/primitives/grid/__workshop__/responsive.tsx +3 -3
  199. package/src/core/primitives/grid/grid.tsx +4 -2
  200. package/src/core/primitives/heading/__workshop__/index.ts +5 -3
  201. package/src/core/primitives/heading/__workshop__/opticalAlignment.tsx +1 -1
  202. package/src/core/primitives/heading/__workshop__/plain.tsx +1 -1
  203. package/src/core/primitives/heading/heading.tsx +2 -4
  204. package/src/core/primitives/inline/__workshop__/index.ts +5 -3
  205. package/src/core/primitives/inline/__workshop__/plain.tsx +1 -1
  206. package/src/core/primitives/inline/inline.tsx +4 -11
  207. package/src/core/primitives/kbd/__workshop__/index.ts +5 -3
  208. package/src/core/primitives/kbd/__workshop__/plain.tsx +1 -1
  209. package/src/core/primitives/kbd/kbd.tsx +4 -2
  210. package/src/core/primitives/label/__workshop__/index.ts +5 -3
  211. package/src/core/primitives/label/__workshop__/opticalAlignment.tsx +1 -1
  212. package/src/core/primitives/label/__workshop__/plain.tsx +1 -1
  213. package/src/core/primitives/label/label.tsx +2 -4
  214. package/src/core/primitives/layer/__workshop__/_debug.tsx +1 -1
  215. package/src/core/primitives/layer/__workshop__/index.ts +5 -3
  216. package/src/core/primitives/layer/__workshop__/multipleRoots.tsx +1 -1
  217. package/src/core/primitives/layer/__workshop__/nested.tsx +1 -1
  218. package/src/core/primitives/layer/__workshop__/responsiveZOffset.tsx +1 -1
  219. package/src/core/primitives/layer/layer.test.tsx +2 -1
  220. package/src/core/primitives/layer/layer.tsx +2 -2
  221. package/src/core/primitives/layer/layerCard.tsx +2 -2
  222. package/src/core/primitives/layer/layerContext.ts +4 -4
  223. package/src/core/primitives/layer/layerProvider.tsx +2 -10
  224. package/src/core/primitives/popover/__workshop__/AlignedStory.tsx +2 -2
  225. package/src/core/primitives/popover/__workshop__/MarginsStory.tsx +1 -1
  226. package/src/core/primitives/popover/__workshop__/MatchReferenceWidthStory.tsx +1 -1
  227. package/src/core/primitives/popover/__workshop__/OpenOnMountStory.tsx +1 -1
  228. package/src/core/primitives/popover/__workshop__/PlainStory.tsx +2 -2
  229. package/src/core/primitives/popover/__workshop__/RecursiveStory.tsx +3 -3
  230. package/src/core/primitives/popover/__workshop__/SidePanelStory.tsx +3 -3
  231. package/src/core/primitives/popover/__workshop__/index.ts +5 -3
  232. package/src/core/primitives/popover/popover.tsx +4 -9
  233. package/src/core/primitives/popover/popoverLayer.tsx +2 -2
  234. package/src/core/primitives/radio/__workshop__/example.tsx +1 -1
  235. package/src/core/primitives/radio/__workshop__/index.ts +5 -3
  236. package/src/core/primitives/radio/__workshop__/plain.tsx +1 -1
  237. package/src/core/primitives/radio/radio.tsx +2 -2
  238. package/src/core/primitives/select/__workshop__/index.ts +5 -3
  239. package/src/core/primitives/select/__workshop__/plain.tsx +1 -1
  240. package/src/core/primitives/select/__workshop__/readOnly.tsx +1 -1
  241. package/src/core/primitives/select/select.tsx +5 -15
  242. package/src/core/primitives/selectable/selectable.tsx +4 -4
  243. package/src/core/primitives/skeleton/__workshop__/delay.tsx +1 -1
  244. package/src/core/primitives/skeleton/__workshop__/index.ts +5 -3
  245. package/src/core/primitives/skeleton/__workshop__/skeleton.tsx +2 -2
  246. package/src/core/primitives/skeleton/codeSkeleton.tsx +2 -2
  247. package/src/core/primitives/skeleton/headingSkeleton.tsx +2 -2
  248. package/src/core/primitives/skeleton/labelSkeleton.tsx +2 -2
  249. package/src/core/primitives/skeleton/skeleton.tsx +2 -2
  250. package/src/core/primitives/skeleton/textSkeleton.tsx +2 -2
  251. package/src/core/primitives/spinner/__workshop__/Props.tsx +1 -1
  252. package/src/core/primitives/spinner/__workshop__/index.ts +5 -3
  253. package/src/core/primitives/spinner/animatedSpinnerIcon.tsx +2 -2
  254. package/src/core/primitives/spinner/spinner.tsx +2 -2
  255. package/src/core/primitives/srOnly/srOnly.tsx +2 -2
  256. package/src/core/primitives/stack/__workshop__/index.ts +5 -3
  257. package/src/core/primitives/stack/__workshop__/plain.tsx +1 -1
  258. package/src/core/primitives/stack/stack.tsx +5 -10
  259. package/src/core/primitives/switch/__workshop__/example.tsx +1 -1
  260. package/src/core/primitives/switch/__workshop__/index.ts +5 -3
  261. package/src/core/primitives/switch/__workshop__/props.tsx +1 -1
  262. package/src/core/primitives/switch/switch.tsx +2 -2
  263. package/src/core/primitives/text/__workshop__/colored.tsx +1 -1
  264. package/src/core/primitives/text/__workshop__/example.tsx +1 -1
  265. package/src/core/primitives/text/__workshop__/index.ts +5 -3
  266. package/src/core/primitives/text/__workshop__/opticalAlignment.tsx +1 -1
  267. package/src/core/primitives/text/text.tsx +4 -4
  268. package/src/core/primitives/textArea/__workshop__/index.ts +5 -3
  269. package/src/core/primitives/textArea/__workshop__/plain.tsx +1 -1
  270. package/src/core/primitives/textArea/textArea.tsx +5 -15
  271. package/src/core/primitives/textInput/__workshop__/clearButton.tsx +1 -1
  272. package/src/core/primitives/textInput/__workshop__/customValidity.tsx +1 -1
  273. package/src/core/primitives/textInput/__workshop__/index.ts +5 -3
  274. package/src/core/primitives/textInput/__workshop__/plain.tsx +1 -1
  275. package/src/core/primitives/textInput/__workshop__/readOnly.tsx +1 -1
  276. package/src/core/primitives/textInput/__workshop__/states.tsx +1 -1
  277. package/src/core/primitives/textInput/__workshop__/tones.tsx +1 -1
  278. package/src/core/primitives/textInput/__workshop__/typed.tsx +1 -1
  279. package/src/core/primitives/textInput/textInput.tsx +6 -9
  280. package/src/core/primitives/tooltip/__workshop__/customPortal.tsx +1 -1
  281. package/src/core/primitives/tooltip/__workshop__/index.ts +5 -3
  282. package/src/core/primitives/tooltip/__workshop__/overflowingBoundary.tsx +1 -1
  283. package/src/core/primitives/tooltip/__workshop__/props.tsx +1 -1
  284. package/src/core/primitives/tooltip/__workshop__/resizableBoundary.tsx +1 -1
  285. package/src/core/primitives/tooltip/constants.ts +1 -1
  286. package/src/core/primitives/tooltip/tooltip.test.tsx +2 -4
  287. package/src/core/primitives/tooltip/tooltip.tsx +5 -9
  288. package/src/core/primitives/tooltip/tooltipDelayGroup/tooltipDelayGroupContext.tsx +4 -2
  289. package/src/core/primitives/tooltip/tooltipDelayGroup/tooltipDelayGroupProvider.tsx +5 -3
  290. package/src/core/primitives/tooltip/tooltipLayer.tsx +2 -2
  291. package/src/core/{types/props.ts → types.ts} +27 -0
  292. package/src/core/utils/boundaryElement/__workshop__/index.ts +5 -3
  293. package/src/core/utils/boundaryElement/__workshop__/plain.tsx +1 -1
  294. package/src/core/utils/boundaryElement/boundaryElement.test.tsx +2 -1
  295. package/src/core/utils/boundaryElement/boundaryElementContext.ts +7 -4
  296. package/src/core/utils/boundaryElement/boundaryElementProvider.tsx +2 -2
  297. package/src/core/utils/elementQuery/__workshop__/customMedia.tsx +1 -1
  298. package/src/core/utils/elementQuery/__workshop__/index.ts +5 -3
  299. package/src/core/utils/elementQuery/elementQuery.tsx +2 -2
  300. package/src/core/utils/getElementRef.ts +1 -1
  301. package/src/core/utils/portal/__workshop__/index.ts +5 -3
  302. package/src/core/utils/portal/__workshop__/named.tsx +1 -1
  303. package/src/core/utils/portal/portal.test.tsx +2 -1
  304. package/src/core/utils/portal/portalContext.ts +5 -2
  305. package/src/core/utils/portal/portalProvider.tsx +5 -9
  306. package/src/css/_responsiveClassName.ts +2 -2
  307. package/src/css/_style.css.ts +1 -1
  308. package/src/css/components/breadcrumbs/breadcrumbs.css.ts +1 -1
  309. package/src/css/components/dialog/dialog.css.ts +9 -17
  310. package/src/css/components/menu/menu.css.ts +2 -2
  311. package/src/css/components/menu/menu.ts +2 -2
  312. package/src/css/components/skeleton/skeleton.css.ts +2 -6
  313. package/src/css/components/toast/toast.css.ts +2 -2
  314. package/src/css/components/toast/toast.ts +2 -2
  315. package/src/css/components/tree/tree.css.ts +1 -1
  316. package/src/css/components/tree/tree.ts +1 -1
  317. package/src/css/defaultTheme.css.ts +59 -60
  318. package/src/css/layers.css.ts +4 -1
  319. package/src/css/primitives/_arrow/_arrow.css.ts +5 -5
  320. package/src/css/primitives/_input/_input.css.ts +4 -4
  321. package/src/css/primitives/_selectable/_selectable.css.ts +4 -4
  322. package/src/css/primitives/_selectable/types.ts +2 -2
  323. package/src/css/primitives/avatar/avatar.css.ts +10 -10
  324. package/src/css/primitives/badge/badge.css.ts +4 -4
  325. package/src/css/primitives/badge/types.ts +8 -2
  326. package/src/css/primitives/box/box.css.ts +2 -2
  327. package/src/css/primitives/button/button.css.ts +6 -6
  328. package/src/css/primitives/button/button.ts +2 -2
  329. package/src/css/primitives/button/types.ts +3 -3
  330. package/src/css/primitives/card/__workshop__/color.tsx +9 -9
  331. package/src/css/primitives/card/__workshop__/index.ts +5 -3
  332. package/src/css/primitives/card/card.css.ts +12 -18
  333. package/src/css/primitives/card/types.ts +3 -3
  334. package/src/css/primitives/checkbox/checkbox.css.ts +3 -3
  335. package/src/css/primitives/checkbox/checkbox.ts +3 -3
  336. package/src/css/primitives/code/code.css.ts +4 -3
  337. package/src/css/primitives/code/types.ts +3 -4
  338. package/src/css/primitives/container/container.css.ts +1 -1
  339. package/src/css/primitives/heading/heading.css.ts +5 -4
  340. package/src/css/primitives/heading/types.ts +3 -6
  341. package/src/css/primitives/kbd/kbd.css.ts +1 -1
  342. package/src/css/primitives/label/label.css.ts +5 -4
  343. package/src/css/primitives/label/types.ts +0 -8
  344. package/src/css/primitives/popover/popover.css.ts +2 -2
  345. package/src/css/primitives/popover/popover.ts +2 -2
  346. package/src/css/primitives/radio/radio.css.ts +3 -3
  347. package/src/css/primitives/radio/radio.ts +3 -3
  348. package/src/css/primitives/root/root.css.ts +1 -1
  349. package/src/css/primitives/root/root.ts +1 -1
  350. package/src/css/primitives/root/types.ts +3 -3
  351. package/src/css/primitives/select/select.css.ts +3 -3
  352. package/src/css/primitives/spinner/spinner.css.ts +2 -6
  353. package/src/css/primitives/spinner/spinner.ts +2 -2
  354. package/src/css/primitives/srOnly/srOnly.css.ts +1 -1
  355. package/src/css/primitives/srOnly/srOnly.ts +1 -1
  356. package/src/css/primitives/stack/stack.css.ts +1 -1
  357. package/src/css/primitives/stack/stack.ts +1 -1
  358. package/src/css/primitives/switch/switch.css.ts +5 -5
  359. package/src/css/primitives/text/text.css.ts +5 -4
  360. package/src/css/primitives/text/types.ts +3 -5
  361. package/src/css/primitives/textArea/textArea.css.ts +1 -1
  362. package/src/css/primitives/textInput/textInput.css.ts +4 -4
  363. package/src/css/primitives/tooltip/tooltip.css.ts +1 -1
  364. package/src/css/props/alignItems/alignItems.ts +1 -1
  365. package/src/css/props/border/border.ts +1 -16
  366. package/src/css/props/boxSizing/boxSizing.css.ts +2 -1
  367. package/src/css/props/boxSizing/boxSizing.ts +0 -3
  368. package/src/css/props/display/display.ts +1 -10
  369. package/src/css/props/flex/flex.ts +1 -1
  370. package/src/css/props/flexDirection/flexDirection.ts +1 -1
  371. package/src/css/props/flexWrap/flexWrap.ts +1 -1
  372. package/src/css/props/font/font.css.ts +3 -2
  373. package/src/css/props/font/font.ts +1 -1
  374. package/src/css/props/gap/gap.ts +1 -1
  375. package/src/css/props/gridAutoColumns/gridAutoColumns.css.ts +2 -2
  376. package/src/css/props/gridAutoColumns/gridAutoColumns.ts +2 -2
  377. package/src/css/props/gridAutoColumns/types.ts +0 -10
  378. package/src/css/props/gridAutoFlow/gridAutoFlow.ts +2 -2
  379. package/src/css/props/gridAutoFlow/types.ts +0 -4
  380. package/src/css/props/gridAutoRows/gridAutoRows.ts +2 -2
  381. package/src/css/props/gridAutoRows/types.ts +0 -4
  382. package/src/css/props/gridColumn/gridColumn.ts +3 -3
  383. package/src/css/props/gridColumn/types.ts +0 -10
  384. package/src/css/props/gridColumnEnd/gridColumnEnd.ts +3 -3
  385. package/src/css/props/gridColumnEnd/types.ts +0 -10
  386. package/src/css/props/gridColumnStart/gridColumnStart.ts +3 -6
  387. package/src/css/props/gridColumnStart/types.ts +0 -10
  388. package/src/css/props/gridRow/gridRow.ts +3 -3
  389. package/src/css/props/gridRow/types.ts +0 -10
  390. package/src/css/props/gridRowEnd/gridRowEnd.ts +3 -3
  391. package/src/css/props/gridRowEnd/types.ts +0 -10
  392. package/src/css/props/gridRowStart/gridRowStart.ts +3 -3
  393. package/src/css/props/gridRowStart/types.ts +0 -10
  394. package/src/css/props/gridTemplateColumns/gridTemplateColumns.ts +2 -2
  395. package/src/css/props/gridTemplateColumns/types.ts +0 -10
  396. package/src/css/props/gridTemplateRows/gridTemplateRows.ts +2 -2
  397. package/src/css/props/gridTemplateRows/types.ts +0 -10
  398. package/src/css/props/height/height.ts +1 -1
  399. package/src/css/props/height/types.ts +0 -6
  400. package/src/css/props/inset/inset.ts +1 -1
  401. package/src/css/props/justifyContent/justifyContent.ts +1 -1
  402. package/src/css/props/margin/margin.ts +1 -1
  403. package/src/css/props/maxWidth/maxWidth.ts +1 -1
  404. package/src/css/props/minHeight/minHeight.ts +1 -1
  405. package/src/css/props/minWidth/minWidth.ts +1 -1
  406. package/src/css/props/outline/outline.ts +1 -1
  407. package/src/css/props/overflow/overflow.ts +1 -1
  408. package/src/css/props/overflow/types.ts +0 -6
  409. package/src/css/props/padding/padding.ts +1 -1
  410. package/src/css/props/pointerEvents/pointerEvents.ts +1 -1
  411. package/src/css/props/position/position.ts +1 -1
  412. package/src/css/props/radius/radius.ts +1 -1
  413. package/src/css/props/shadow/shadow.ts +1 -1
  414. package/src/css/props/textAlign/textAlign.ts +1 -1
  415. package/src/css/props/textOverflow/textOverflow.ts +1 -1
  416. package/src/css/props/width/width.ts +1 -1
  417. package/src/css/types.ts +225 -53
  418. package/src/css/util.ts +2 -2
  419. package/src/css/vars.css.ts +33 -36
  420. package/src/theme/{v3/_parseColorToken.ts → _parseColorToken.ts} +2 -2
  421. package/src/theme/buildTheme.ts +33 -0
  422. package/src/theme/constants.ts +90 -0
  423. package/src/theme/defaults/color.ts +197 -0
  424. package/src/theme/{v2/defaults/config.ts → defaults/common.ts} +3 -16
  425. package/src/theme/{v3/defaultFonts.ts → defaults/fonts.ts} +2 -2
  426. package/src/theme/index.ts +4 -5
  427. package/src/theme/{v3/resolveTokens.ts → resolveTokens.ts} +15 -15
  428. package/src/theme/types.ts +355 -15
  429. package/src/core/__DEV__.ts +0 -5
  430. package/src/core/_compat/helpers.ts +0 -72
  431. package/src/core/_compat/styles/_responsive.ts +0 -19
  432. package/src/core/_compat/theme/theme.test.tsx +0 -73
  433. package/src/core/_compat/theme/themeColorProvider.tsx +0 -24
  434. package/src/core/_compat/theme/themeContext.ts +0 -10
  435. package/src/core/_compat/theme/themeProvider.tsx +0 -68
  436. package/src/core/_compat/theme/types.ts +0 -10
  437. package/src/core/_compat/theme/useRootTheme.ts +0 -15
  438. package/src/core/_compat/theme/useTheme.ts +0 -12
  439. package/src/core/_compat/types.ts +0 -191
  440. package/src/core/hooks/useArrayProp.ts +0 -26
  441. package/src/core/hooks/useClickOutside.test.tsx +0 -481
  442. package/src/core/hooks/useClickOutside.ts +0 -113
  443. package/src/core/hooks/useElementRect/__workshop__/example.tsx +0 -30
  444. package/src/core/hooks/useElementRect/__workshop__/index.ts +0 -14
  445. package/src/core/hooks/useElementRect/useElementRect.ts +0 -13
  446. package/src/core/hooks/useForwardedRef.ts +0 -19
  447. package/src/core/hooks/useIsomorphicEffect.ts +0 -7
  448. package/src/core/primitives/badge/types.ts +0 -18
  449. package/src/core/primitives/box/types.ts +0 -22
  450. package/src/core/primitives/flex/types.ts +0 -27
  451. package/src/core/primitives/grid/types.ts +0 -17
  452. package/src/core/primitives/selectable/types.ts +0 -7
  453. package/src/core/primitives/types.ts +0 -153
  454. package/src/core/types/gridItem.ts +0 -32
  455. package/src/core/types/placement.ts +0 -18
  456. package/src/core/types/radius.ts +0 -7
  457. package/src/core/types/textAlign.ts +0 -7
  458. package/src/core/utils/spanWithTextOverflow.tsx +0 -10
  459. package/src/theme/getScopedTheme.ts +0 -88
  460. package/src/theme/v0/avatar.ts +0 -10
  461. package/src/theme/v0/color/_generic.ts +0 -35
  462. package/src/theme/v0/color/_system.ts +0 -17
  463. package/src/theme/v0/color/base.ts +0 -21
  464. package/src/theme/v0/color/button.ts +0 -42
  465. package/src/theme/v0/color/card.ts +0 -19
  466. package/src/theme/v0/color/color.ts +0 -40
  467. package/src/theme/v0/color/index.ts +0 -11
  468. package/src/theme/v0/color/input.ts +0 -34
  469. package/src/theme/v0/color/muted.ts +0 -26
  470. package/src/theme/v0/color/selectable.ts +0 -31
  471. package/src/theme/v0/color/solid.ts +0 -26
  472. package/src/theme/v0/color/spot.ts +0 -13
  473. package/src/theme/v0/css.ts +0 -10
  474. package/src/theme/v0/focusRing.ts +0 -5
  475. package/src/theme/v0/font.ts +0 -40
  476. package/src/theme/v0/index.ts +0 -10
  477. package/src/theme/v0/input.ts +0 -23
  478. package/src/theme/v0/layer.ts +0 -6
  479. package/src/theme/v0/shadow.ts +0 -15
  480. package/src/theme/v0/styles.ts +0 -13
  481. package/src/theme/v0/theme.ts +0 -72
  482. package/src/theme/v2/avatar.ts +0 -12
  483. package/src/theme/v2/build/_deprecated/color/_selectable/createSelectableTones.ts +0 -76
  484. package/src/theme/v2/build/_deprecated/color/_solid/createSolidTones.ts +0 -54
  485. package/src/theme/v2/build/_deprecated/color/button/createButtonModes.ts +0 -22
  486. package/src/theme/v2/build/_deprecated/color/button/createButtonTones.ts +0 -55
  487. package/src/theme/v2/build/_deprecated/color/card/createCardStates.ts +0 -60
  488. package/src/theme/v2/build/_deprecated/color/color.test.ts +0 -63
  489. package/src/theme/v2/build/_deprecated/color/defaults.ts +0 -390
  490. package/src/theme/v2/build/_deprecated/color/factory.ts +0 -141
  491. package/src/theme/v2/build/_deprecated/color/index.ts +0 -1
  492. package/src/theme/v2/build/_deprecated/color/input/createInputModes.ts +0 -86
  493. package/src/theme/v2/build/_deprecated/color/muted/createMuted.ts +0 -54
  494. package/src/theme/v2/build/_deprecated/color/spot/createSpot.ts +0 -20
  495. package/src/theme/v2/build/buildColorTheme.test.ts +0 -185
  496. package/src/theme/v2/build/buildColorTheme.ts +0 -494
  497. package/src/theme/v2/build/buildTheme.test.ts +0 -89
  498. package/src/theme/v2/build/buildTheme.ts +0 -37
  499. package/src/theme/v2/build/colorToken/colorToken.ts +0 -19
  500. package/src/theme/v2/build/colorToken/compileColorToken.ts +0 -21
  501. package/src/theme/v2/build/colorToken/index.ts +0 -2
  502. package/src/theme/v2/build/colorToken/types.ts +0 -6
  503. package/src/theme/v2/build/index.ts +0 -3
  504. package/src/theme/v2/build/lib/color-fns/blend/index.ts +0 -3
  505. package/src/theme/v2/build/lib/color-fns/blend/mix.ts +0 -21
  506. package/src/theme/v2/build/lib/color-fns/blend/multiply.ts +0 -18
  507. package/src/theme/v2/build/lib/color-fns/blend/screen.ts +0 -18
  508. package/src/theme/v2/build/lib/color-fns/color-fns.test.ts +0 -68
  509. package/src/theme/v2/build/lib/color-fns/contrastRatio.ts +0 -34
  510. package/src/theme/v2/build/lib/color-fns/convert.ts +0 -150
  511. package/src/theme/v2/build/lib/color-fns/index.ts +0 -6
  512. package/src/theme/v2/build/lib/color-fns/parse.ts +0 -60
  513. package/src/theme/v2/build/lib/color-fns/rgba.ts +0 -14
  514. package/src/theme/v2/build/lib/color-fns/types.ts +0 -28
  515. package/src/theme/v2/build/lib/isRecord.ts +0 -3
  516. package/src/theme/v2/build/lib/utils.ts +0 -19
  517. package/src/theme/v2/build/merge.ts +0 -28
  518. package/src/theme/v2/build/mixThemeColor.test.ts +0 -23
  519. package/src/theme/v2/build/mixThemeColor.ts +0 -53
  520. package/src/theme/v2/build/renderColorTheme.ts +0 -532
  521. package/src/theme/v2/build/renderColorValue.ts +0 -85
  522. package/src/theme/v2/build/resolveColorTokens.ts +0 -268
  523. package/src/theme/v2/color/_constants.ts +0 -45
  524. package/src/theme/v2/color/_helpers.ts +0 -24
  525. package/src/theme/v2/color/_system.ts +0 -38
  526. package/src/theme/v2/color/avatar.ts +0 -11
  527. package/src/theme/v2/color/badge.ts +0 -12
  528. package/src/theme/v2/color/button.ts +0 -11
  529. package/src/theme/v2/color/color.ts +0 -28
  530. package/src/theme/v2/color/index.ts +0 -13
  531. package/src/theme/v2/color/input.ts +0 -23
  532. package/src/theme/v2/color/kbd.ts +0 -6
  533. package/src/theme/v2/color/selectable.ts +0 -8
  534. package/src/theme/v2/color/shadow.ts +0 -7
  535. package/src/theme/v2/color/state.ts +0 -41
  536. package/src/theme/v2/color/syntax.ts +0 -39
  537. package/src/theme/v2/config/helpers.ts +0 -48
  538. package/src/theme/v2/config/index.ts +0 -4
  539. package/src/theme/v2/config/system.ts +0 -114
  540. package/src/theme/v2/config/tokens/color/index.ts +0 -1
  541. package/src/theme/v2/config/tokens/color/types.ts +0 -137
  542. package/src/theme/v2/config/tokens/index.ts +0 -3
  543. package/src/theme/v2/config/tokens/parseTokenValue.test.ts +0 -44
  544. package/src/theme/v2/config/tokens/parseTokenValue.ts +0 -133
  545. package/src/theme/v2/config/tokens/types.ts +0 -53
  546. package/src/theme/v2/config/types.ts +0 -47
  547. package/src/theme/v2/defaults/colorPalette.ts +0 -5
  548. package/src/theme/v2/defaults/colorTokens.ts +0 -648
  549. package/src/theme/v2/defaults/fonts.ts +0 -227
  550. package/src/theme/v2/index.ts +0 -6
  551. package/src/theme/v2/input.ts +0 -31
  552. package/src/theme/v2/theme.ts +0 -45
  553. package/src/theme/v3/_constants.ts +0 -29
  554. package/src/theme/v3/buildTheme_v3.ts +0 -39
  555. package/src/theme/v3/color/_constants.ts +0 -15
  556. package/src/theme/v3/color/avatar.ts +0 -14
  557. package/src/theme/v3/color/card.ts +0 -79
  558. package/src/theme/v3/color/color.ts +0 -98
  559. package/src/theme/v3/color/element.ts +0 -19
  560. package/src/theme/v3/color/index.ts +0 -7
  561. package/src/theme/v3/color/token.ts +0 -32
  562. package/src/theme/v3/color/tokens.ts +0 -5
  563. package/src/theme/v3/defaultTokens.ts +0 -199
  564. package/src/theme/v3/index.ts +0 -9
  565. package/src/theme/v3/palette/constants.ts +0 -15
  566. package/src/theme/v3/palette/index.ts +0 -2
  567. package/src/theme/v3/palette/types.ts +0 -7
  568. package/src/theme/v3/tokens.ts +0 -16
  569. package/src/theme/v3/types.ts +0 -133
  570. package/src/theme/versioning/getTheme_v2.ts +0 -58
  571. package/src/theme/versioning/index.ts +0 -1
  572. package/src/theme/versioning/is_v0.ts +0 -7
  573. package/src/theme/versioning/is_v2.ts +0 -7
  574. package/src/theme/versioning/themeColor_v0_v2.ts +0 -245
  575. package/src/theme/versioning/themeColor_v2_v2_9.ts +0 -49
  576. package/src/theme/versioning/themeColor_v3_v2.ts +0 -383
  577. package/src/theme/versioning/v0_v2.ts +0 -95
  578. package/src/theme/versioning/v2_v0.ts +0 -127
  579. package/src/theme/versioning/v3_v2.ts +0 -130
  580. /package/src/theme/{v3/merge.ts → merge.ts} +0 -0
@@ -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/button',
6
6
  title: 'Button',
7
7
  stories: [
@@ -61,4 +61,6 @@ export default defineScope({
61
61
  component: lazy(() => import('./textOverflow')),
62
62
  },
63
63
  ],
64
- })
64
+ }
65
+
66
+ export default scope
@@ -1,7 +1,7 @@
1
1
  import {AddIcon} from '@sanity/icons'
2
2
  import {Button, Flex} from '@sanity/ui'
3
3
 
4
- export default function MixedChildrenStory() {
4
+ export default function MixedChildrenStory(): React.JSX.Element {
5
5
  return (
6
6
  <Flex align="center" height="fill" justify="center">
7
7
  <Button fontSize={[2, 2, 3]} icon={AddIcon} mode="ghost" padding={[3, 3, 4]} text="Create">
@@ -13,7 +13,7 @@ import {
13
13
  WORKSHOP_TEXT_WEIGHT_OPTIONS,
14
14
  } from '$workshop'
15
15
 
16
- export default function ButtonStory() {
16
+ export default function ButtonStory(): React.JSX.Element {
17
17
  const disabled = useBoolean('Disabled')
18
18
  const fontSize = useSelect('Font size', WORKSHOP_TEXT_FONT_SIZE_OPTIONS)
19
19
  const gap = useSelect('Gap', WORKSHOP_SPACE_OPTIONS)
@@ -25,7 +25,7 @@ const SanityUploadButton = styled(Button).attrs({forwardedAs: 'label'})`
25
25
  }
26
26
  `
27
27
 
28
- export default function SanityUploadButtonWorkaroundStory() {
28
+ export default function SanityUploadButtonWorkaroundStory(): React.JSX.Element {
29
29
  return (
30
30
  <Flex align="center" height="fill" justify="center">
31
31
  <SanityUploadButton htmlFor="file" icon={UploadIcon} tabIndex={0} text="Upload">
@@ -11,7 +11,7 @@ import {
11
11
  WORKSHOP_TEXT_FONT_SIZE_OPTIONS,
12
12
  } from '$workshop'
13
13
 
14
- export default function StackedStory() {
14
+ export default function StackedStory(): React.JSX.Element {
15
15
  const tones = Object.entries(WORKSHOP_BUTTON_TONE_OPTIONS)
16
16
  const disabled = useBoolean('Disabled', false)
17
17
  const fontSize = useSelect('Font size', WORKSHOP_TEXT_FONT_SIZE_OPTIONS, 2)
@@ -8,7 +8,7 @@ const StyledButton1 = styled.a`
8
8
  }
9
9
  `
10
10
 
11
- export default function StyledButton1Story() {
11
+ export default function StyledButton1Story(): React.JSX.Element {
12
12
  return (
13
13
  <Flex align="center" height="fill" justify="center">
14
14
  <Button as={StyledButton1} href="#" text="Test" />
@@ -8,7 +8,7 @@ const StyledButton2 = styled(Button)<{$color?: boolean}>`
8
8
  }
9
9
  `
10
10
 
11
- export default function StyledButton2Story() {
11
+ export default function StyledButton2Story(): React.JSX.Element {
12
12
  const props = {href: '#', text: 'Test'}
13
13
 
14
14
  return (
@@ -1,7 +1,7 @@
1
1
  import {Button, Flex} from '@sanity/ui'
2
2
  import {useText} from '@sanity/ui-workshop'
3
3
 
4
- export default function TextOverflowStory() {
4
+ export default function TextOverflowStory(): React.JSX.Element {
5
5
  const text = useText('Text', 'Long text that should overflow')
6
6
 
7
7
  return (
@@ -1,7 +1,7 @@
1
1
  import {Button, Flex} from '@sanity/ui'
2
2
  import {useCallback, useRef} from 'react'
3
3
 
4
- export default function UploadButtonStory() {
4
+ export default function UploadButtonStory(): React.JSX.Element {
5
5
  const inputRef = useRef<HTMLInputElement | null>(null)
6
6
 
7
7
  const handleKeyDown = useCallback((event: React.KeyboardEvent) => {
@@ -3,7 +3,8 @@ import {screen} from '@testing-library/react'
3
3
  import {describe, expect, it} from 'vitest'
4
4
  import {axe} from 'vitest-axe'
5
5
 
6
- import {render} from '../../../../test'
6
+ import {render} from '$test/utils'
7
+
7
8
  import {Button} from './button'
8
9
 
9
10
  describe('atoms/button', () => {
@@ -8,11 +8,11 @@ import type {
8
8
  Width,
9
9
  } from '@sanity/ui/css'
10
10
  import {button, buttonLoadingBox} from '@sanity/ui/css'
11
- import type {FontTextSize, Space} from '@sanity/ui/theme'
11
+ import type {FontTextSize} from '@sanity/ui/theme'
12
12
  import {type ElementType as ReactElementType, isValidElement, type ReactNode} from 'react'
13
13
  import {isValidElementType} from 'react-is'
14
14
 
15
- import type {ComponentType, Props} from '../../types/props'
15
+ import type {ComponentType, Props} from '../../types'
16
16
  import {Box} from '../box/box'
17
17
  import {Spinner} from '../spinner/spinner'
18
18
  import {Text, type TextOwnProps} from '../text/text'
@@ -36,8 +36,6 @@ export type ButtonOwnProps = ButtonStyleProps &
36
36
  /** @beta Do not use in production, as this might change.*/
37
37
  'loading'?: boolean
38
38
  'selected'?: boolean
39
- /** @deprecated Use `gap` instead. */
40
- 'space'?: ResponsiveProp<Space>
41
39
  'textAlign'?: ButtonTextAlign
42
40
  'muted'?: boolean
43
41
  'target'?: string
@@ -56,7 +54,7 @@ export type ButtonProps<E extends ButtonElementType = ButtonElementType> = Props
56
54
  /** @public */
57
55
  export function Button<E extends ButtonElementType = typeof DEFAULT_BUTTON_ELEMENT>(
58
56
  props: ButtonProps<E>,
59
- ) {
57
+ ): React.JSX.Element {
60
58
  const {
61
59
  align = 'center',
62
60
  as: Element = DEFAULT_BUTTON_ELEMENT,
@@ -65,7 +63,7 @@ export function Button<E extends ButtonElementType = typeof DEFAULT_BUTTON_ELEME
65
63
  disabled,
66
64
  flex,
67
65
  fontSize = 1,
68
- gap = props.space ?? props.padding ?? 3,
66
+ gap = props.padding ?? 3,
69
67
  gapX,
70
68
  gapY,
71
69
  icon: IconComponent,
@@ -82,7 +80,6 @@ export function Button<E extends ButtonElementType = typeof DEFAULT_BUTTON_ELEME
82
80
  paddingRight,
83
81
  radius = 2,
84
82
  selected,
85
- space = props.gap ?? props.space ?? props.padding ?? 3, // eslint-disable-line @typescript-eslint/no-unused-vars
86
83
  text,
87
84
  textAlign,
88
85
  textOverflow = 'ellipsis',
@@ -1,22 +1,2 @@
1
- import type {ThemeColorButtonModeKey, ThemeColorStateToneKey} from '@sanity/ui/theme'
2
-
3
- /**
4
- * @public
5
- * @deprecated Use `ThemeColorButtonModeKey` instead
6
- */
7
- export type ButtonMode = ThemeColorButtonModeKey
8
-
9
1
  /** @public */
10
2
  export type ButtonTextAlign = 'left' | 'right' | 'center'
11
-
12
- /**
13
- * @public
14
- * @deprecated Use `ThemeColorStateToneKey` instead
15
- */
16
- export type ButtonTone = ThemeColorStateToneKey
17
-
18
- /**
19
- * @public
20
- * @deprecated Use `Width` from `@sanity/ui/css` instead.
21
- */
22
- export type ButtonWidth = 'fill'
@@ -2,13 +2,13 @@ import {Box, Card, Container, Flex, Grid, Stack, Text} from '@sanity/ui'
2
2
 
3
3
  import {WORKSHOP_CARD_TONE_OPTIONS} from '$workshop'
4
4
 
5
- export default function AsButtonStory() {
5
+ export default function AsButtonStory(): React.JSX.Element {
6
6
  const tones = Object.entries(WORKSHOP_CARD_TONE_OPTIONS)
7
7
 
8
8
  return (
9
9
  <Flex align="center" height="fill" justify="center" padding={4} sizing="border">
10
10
  <Container>
11
- <Grid columns={3} gap={1}>
11
+ <Grid gridTemplateColumns={3} gap={1}>
12
12
  <Box>
13
13
  <Text align="center" size={1} weight="medium">
14
14
  Enabled
@@ -14,7 +14,7 @@ const CustomLink = forwardRef(function CustomLink(
14
14
  )
15
15
  })
16
16
 
17
- export default function AsComponentStory() {
17
+ export default function AsComponentStory(): React.JSX.Element {
18
18
  const props = {href: '#'}
19
19
 
20
20
  return (
@@ -1,11 +1,11 @@
1
1
  import {Card, Flex, Stack, Text} from '@sanity/ui'
2
- import {THEME_COLOR_CARD_TONES} from '@sanity/ui/theme'
2
+ import {CARD_TONES} from '@sanity/ui/theme'
3
3
 
4
- export default function CheckeredStory() {
4
+ export default function CheckeredStory(): React.JSX.Element {
5
5
  return (
6
6
  <Flex align="center" height="fill" justify="center" padding={[4, 5, 6]} sizing="border">
7
7
  <Stack gap={1}>
8
- {THEME_COLOR_CARD_TONES.map((tone) => (
8
+ {CARD_TONES.map((tone) => (
9
9
  <Card
10
10
  __unstable_checkered
11
11
  border
@@ -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/card',
6
6
  title: 'Card',
7
7
  stories: [
@@ -15,4 +15,6 @@ export default defineScope({
15
15
  {name: 'as-component', title: 'As component', component: lazy(() => import('./asComponent'))},
16
16
  {name: 'selected', title: 'Selected', component: lazy(() => import('./selected'))},
17
17
  ],
18
- })
18
+ }
19
+
20
+ export default scope
@@ -1,7 +1,7 @@
1
1
  import {Card, Flex, Stack, Text} from '@sanity/ui'
2
2
  import {useBoolean} from '@sanity/ui-workshop'
3
3
 
4
- export default function InteractiveCardStory() {
4
+ export default function InteractiveCardStory(): React.JSX.Element {
5
5
  const pressed = useBoolean('Pressed', false)
6
6
  const selected = useBoolean('Selected', false)
7
7
 
@@ -1,6 +1,6 @@
1
1
  import {Box, Card, Flex, Stack, Text} from '@sanity/ui'
2
2
 
3
- export default function ListNavigationStory() {
3
+ export default function ListNavigationStory(): React.JSX.Element {
4
4
  return (
5
5
  <Box height="fill" padding={[3, 4, 5]} sizing="border">
6
6
  <Card height="fill" shadow={1}>
@@ -9,7 +9,7 @@ import {
9
9
  WORKSHOP_SPACE_OPTIONS,
10
10
  } from '$workshop'
11
11
 
12
- export default function PropsStory() {
12
+ export default function PropsStory(): React.JSX.Element {
13
13
  const as = useSelect('As', WORKSHOP_CARD_AS_OPTIONS, 'div')
14
14
  const border = useBoolean('Border', false)
15
15
  const checkered = useBoolean('Checkered', false)
@@ -2,7 +2,7 @@ import {EditIcon, PublishIcon} from '@sanity/icons'
2
2
  import {Box, Card, Container, Flex, Inline, Stack, Text} from '@sanity/ui'
3
3
  import {useBoolean} from '@sanity/ui-workshop'
4
4
 
5
- export default function SelectedStory() {
5
+ export default function SelectedStory(): React.JSX.Element {
6
6
  const disabled = useBoolean('Disabled', false)
7
7
  const selected = useBoolean('Selected', false)
8
8
 
@@ -3,7 +3,7 @@ import {styled} from 'styled-components'
3
3
 
4
4
  const StyledCard = styled(Card).attrs({forwardedAs: 'ol'})``
5
5
 
6
- export default function StyledCardStory() {
6
+ export default function StyledCardStory(): React.JSX.Element {
7
7
  return (
8
8
  <Flex align="center" height="fill" justify="center">
9
9
  <StyledCard>
@@ -1,13 +1,13 @@
1
1
  import {Card, Container, Flex, Stack, Text} from '@sanity/ui'
2
- import {THEME_COLOR_CARD_TONES} from '@sanity/ui/theme'
2
+ import {CARD_TONES} from '@sanity/ui/theme'
3
3
 
4
- export default function TonesStory() {
4
+ export default function TonesStory(): React.JSX.Element {
5
5
  return (
6
6
  <Card height="fill" tone="transparent">
7
7
  <Flex align="center" height="fill" justify="center" padding={[4, 5, 6]} sizing="border">
8
8
  <Container width={0}>
9
9
  <Stack gap={3}>
10
- {THEME_COLOR_CARD_TONES.map((tone) => (
10
+ {CARD_TONES.map((tone) => (
11
11
  <Card
12
12
  key={tone}
13
13
  padding={3}
@@ -1,7 +1,7 @@
1
1
  import {card, type CardStyleProps} from '@sanity/ui/css'
2
2
  import {useContext} from 'react'
3
3
 
4
- import type {Props} from '../../types/props'
4
+ import type {Props} from '../../types'
5
5
  import {Box, type BoxElementType, type BoxOwnProps} from '../box/box'
6
6
  import {CardContext} from './cardContext'
7
7
  import {CardProvider} from './cardProvider'
@@ -39,7 +39,9 @@ export type CardProps<E extends CardElementType = CardElementType> = Props<CardO
39
39
  *
40
40
  * @public
41
41
  */
42
- export function Card<E extends CardElementType = typeof DEFAULT_CARD_ELEMENT>(props: CardProps<E>) {
42
+ export function Card<E extends CardElementType = typeof DEFAULT_CARD_ELEMENT>(
43
+ props: CardProps<E>,
44
+ ): React.JSX.Element {
43
45
  const {
44
46
  __unstable_checkered: checkered = false,
45
47
  __unstable_focusRing: focusRing = false,
@@ -7,4 +7,4 @@ import type {CardContextValue} from './types'
7
7
  * @internal
8
8
  */
9
9
  export const CardContext: Context<CardContextValue | null> =
10
- createGlobalScopedContext<CardContextValue | null>('@sanity/ui/context/card', null)
10
+ createGlobalScopedContext<CardContextValue | null>('@sanity/ui/v3/card', null)
@@ -1,4 +1,4 @@
1
- import type {ThemeColorCardToneKey, ThemeColorSchemeKey} from '@sanity/ui/theme'
1
+ import type {CardTone, ColorScheme} from '@sanity/ui/theme'
2
2
  import {type ReactNode, useMemo} from 'react'
3
3
 
4
4
  import {CardContext} from './cardContext'
@@ -7,11 +7,11 @@ import type {_CardCompatProviderComponent} from './types'
7
7
  /** @public */
8
8
  export function CardProvider(props: {
9
9
  children?: ReactNode
10
- tone: ThemeColorCardToneKey
11
- scheme: ThemeColorSchemeKey
10
+ tone: CardTone
11
+ scheme: ColorScheme
12
12
  /** @internal */
13
13
  unstable_CompatProvider?: _CardCompatProviderComponent
14
- }) {
14
+ }): React.JSX.Element {
15
15
  const {children, tone, scheme, unstable_CompatProvider} = props
16
16
 
17
17
  return (
@@ -1,31 +1,17 @@
1
- import type {ThemeColorCardToneKey, ThemeColorSchemeKey} from '@sanity/ui/theme'
1
+ import type {CardTone, ColorScheme} from '@sanity/ui/theme'
2
2
  import type {ComponentType, ReactNode} from 'react'
3
3
 
4
- /** @public */
5
- export type CardTone = ThemeColorCardToneKey | 'inherit'
6
-
7
- /**
8
- * @internal
9
- * @deprecated Use `CardStyleProps` from `@sanity/ui/css` instead.
10
- */
11
- export interface CardStyleProps {
12
- $checkered: boolean
13
- $focusRing: boolean
14
- $muted: boolean
15
- $tone: ThemeColorCardToneKey
16
- }
17
-
18
4
  /** @internal */
19
5
  export type _CardCompatProviderComponent = ComponentType<{
20
6
  children?: ReactNode
21
- tone: ThemeColorCardToneKey
22
- scheme: ThemeColorSchemeKey
7
+ tone: CardTone | 'inherit'
8
+ scheme: ColorScheme
23
9
  }>
24
10
 
25
11
  /** @public */
26
12
  export interface CardContextValue {
27
- tone: ThemeColorCardToneKey
28
- scheme: ThemeColorSchemeKey
13
+ tone: CardTone
14
+ scheme: ColorScheme
29
15
  /** @internal */
30
16
  unstable_CompatProvider?: _CardCompatProviderComponent
31
17
  }
@@ -1,7 +1,7 @@
1
1
  import {Box, Checkbox, Flex, Text} from '@sanity/ui'
2
2
  import {useCallback, useState} from 'react'
3
3
 
4
- export default function ExampleStory() {
4
+ export default function ExampleStory(): React.JSX.Element {
5
5
  const [checked, setChecked] = useState<boolean | undefined>(undefined)
6
6
  const [indeterminate] = useState(checked === undefined)
7
7
  const handleChange = useCallback(() => setChecked((val) => !val), [])
@@ -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/checkbox',
6
6
  title: 'Checkbox',
7
7
  stories: [
@@ -10,4 +10,6 @@ export default defineScope({
10
10
  {name: 'read-only', title: 'Read-only', component: lazy(() => import('./readOnly'))},
11
11
  {name: 'multiple-tones', title: 'Multiple tones', component: lazy(() => import('./tones'))},
12
12
  ],
13
- })
13
+ }
14
+
15
+ export default scope
@@ -1,7 +1,7 @@
1
1
  import {Box, Checkbox, Flex, Text} from '@sanity/ui'
2
2
  import {useAction, useBoolean} from '@sanity/ui-workshop'
3
3
 
4
- export default function PropsStory() {
4
+ export default function PropsStory(): React.JSX.Element {
5
5
  const checked = useBoolean('Checked', false)
6
6
  const disabled = useBoolean('Disabled', false)
7
7
  const indeterminate = useBoolean('Indeterminate', false)
@@ -1,6 +1,6 @@
1
1
  import {Box, Checkbox, Flex, Text} from '@sanity/ui'
2
2
 
3
- export default function ReadOnlyStory() {
3
+ export default function ReadOnlyStory(): React.JSX.Element {
4
4
  return (
5
5
  <Flex align="center" height="fill" justify="center" padding={[4, 5, 6]} sizing="border">
6
6
  <Flex align="center" as="label">
@@ -1,11 +1,11 @@
1
1
  import {Card, Checkbox, Flex, Stack, Text} from '@sanity/ui'
2
- import {THEME_COLOR_CARD_TONES} from '@sanity/ui/theme'
2
+ import {CARD_TONES} from '@sanity/ui/theme'
3
3
 
4
- export default function MultipleTonesStory() {
4
+ export default function MultipleTonesStory(): React.JSX.Element {
5
5
  return (
6
6
  <Flex align="center" height="fill" justify="center" padding={[4, 5, 6]} sizing="border">
7
7
  <Stack gap={1}>
8
- {THEME_COLOR_CARD_TONES.map((tone) => (
8
+ {CARD_TONES.map((tone) => (
9
9
  <Card
10
10
  alignItems="center"
11
11
  as="label"
@@ -3,7 +3,7 @@ import {checkbox, checkboxInput, checkboxPresentation} from '@sanity/ui/css'
3
3
  import {useEffect, useImperativeHandle, useRef} from 'react'
4
4
 
5
5
  import {useCustomValidity} from '../../hooks/useCustomValidity'
6
- import type {ComponentType, Props} from '../../types/props'
6
+ import type {ComponentType, Props} from '../../types'
7
7
 
8
8
  /** @public */
9
9
  export const DEFAULT_CHECKBOX_ELEMENT = 'input'
@@ -30,7 +30,7 @@ export type CheckboxProps<E extends CheckboxElementType = CheckboxElementType> =
30
30
  */
31
31
  export function Checkbox<E extends CheckboxElementType = typeof DEFAULT_CHECKBOX_ELEMENT>(
32
32
  props: CheckboxProps<E>,
33
- ) {
33
+ ): React.JSX.Element {
34
34
  const {
35
35
  as: Element = DEFAULT_CHECKBOX_ELEMENT,
36
36
  className,
@@ -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/code',
6
6
  title: 'Code',
7
7
  stories: [
@@ -16,4 +16,6 @@ export default defineScope({
16
16
  component: lazy(() => import('./opticalAlignment')),
17
17
  },
18
18
  ],
19
- })
19
+ }
20
+
21
+ export default scope
@@ -3,7 +3,7 @@ import {Box, Code, Stack} from '@sanity/ui'
3
3
  import {vars} from '@sanity/ui/css'
4
4
  import {FONT_CODE_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={3} padding={[4, 5, 6]}>
9
9
  {FONT_CODE_SIZE.map((size) => (
@@ -3,7 +3,7 @@ import {useSelect, useText} from '@sanity/ui-workshop'
3
3
 
4
4
  import {WORKSHOP_CODE_LANGUAGE_OPTIONS, WORKSHOP_TEXT_FONT_SIZE_OPTIONS} from '$workshop'
5
5
 
6
- export default function PropsStory() {
6
+ export default function PropsStory(): React.JSX.Element {
7
7
  const code = useText('Code', `console.log('Hello, world')`)
8
8
  const language = useSelect('Language', WORKSHOP_CODE_LANGUAGE_OPTIONS, 'typescript')
9
9
  const size = useSelect('Size', WORKSHOP_TEXT_FONT_SIZE_OPTIONS, 1)
@@ -2,7 +2,7 @@ import {code, type CodeStyleProps, type ResponsiveProp} from '@sanity/ui/css'
2
2
  import type {FontCodeSize} from '@sanity/ui/theme'
3
3
  import {lazy, Suspense} from 'react'
4
4
 
5
- import type {ComponentType, Props} from '../../types/props'
5
+ import type {ComponentType, Props} from '../../types'
6
6
 
7
7
  const LazyRefractor = lazy(() => import('./refractor'))
8
8
 
@@ -23,7 +23,9 @@ export type CodeElementType = 'div' | 'pre' | ComponentType
23
23
  export type CodeProps<E extends CodeElementType = CodeElementType> = Props<CodeOwnProps, E>
24
24
 
25
25
  /** @public */
26
- export function Code<E extends CodeElementType = typeof DEFAULT_CODE_ELEMENT>(props: CodeProps<E>) {
26
+ export function Code<E extends CodeElementType = typeof DEFAULT_CODE_ELEMENT>(
27
+ props: CodeProps<E>,
28
+ ): React.JSX.Element {
27
29
  const {
28
30
  as: Element = DEFAULT_CODE_ELEMENT,
29
31
  children,
@@ -4,7 +4,7 @@ export default function LazyRefractor(
4
4
  props: Partial<Pick<React.ComponentProps<typeof Refractor>, 'language'>> & {
5
5
  value: React.ReactNode
6
6
  },
7
- ) {
7
+ ): React.JSX.Element {
8
8
  const {language: languageProp, value} = props
9
9
  const language = typeof languageProp === 'string' ? languageProp : undefined
10
10
  const registered = language ? Refractor.hasLanguage(language) : false
@@ -3,7 +3,7 @@ import {useAction, useSelect} from '@sanity/ui-workshop'
3
3
 
4
4
  import {WORKSHOP_CONTAINER_WIDTH_OPTIONS} from '$workshop'
5
5
 
6
- export default function PlainStory() {
6
+ export default function PlainStory(): React.JSX.Element {
7
7
  const width = useSelect('Width', WORKSHOP_CONTAINER_WIDTH_OPTIONS, 0)
8
8
 
9
9
  return (
@@ -1,8 +1,10 @@
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/container',
6
6
  title: 'Container',
7
7
  stories: [{name: 'plain', title: 'Plain', component: lazy(() => import('./example'))}],
8
- })
8
+ }
9
+
10
+ export default scope
@@ -1,6 +1,6 @@
1
1
  import {container, type ContainerStyleProps} from '@sanity/ui/css'
2
2
 
3
- import type {Props} from '../../types/props'
3
+ import type {Props} from '../../types'
4
4
  import {Box, type BoxElementType, type BoxOwnProps} from '../box/box'
5
5
 
6
6
  /** @public */
@@ -25,7 +25,7 @@ export type ContainerProps<E extends ContainerElementType = ContainerElementType
25
25
  */
26
26
  export function Container<E extends ContainerElementType = typeof DEFAULT_CONTAINER_ELEMENT>(
27
27
  props: ContainerProps<E>,
28
- ) {
28
+ ): React.JSX.Element {
29
29
  const {
30
30
  as = DEFAULT_CONTAINER_ELEMENT,
31
31
  className,
@@ -13,7 +13,7 @@ const DebugCard = styled(Card)`
13
13
  justify-content: center;
14
14
  `
15
15
 
16
- export default function ExampleStory() {
16
+ export default function ExampleStory(): React.JSX.Element {
17
17
  const direction = useSelect('Direction', WORKSHOP_FLEX_DIRECTION_OPTIONS, 'row')
18
18
 
19
19
  return (
@@ -1,6 +1,6 @@
1
1
  import {Card, Flex, Text} from '@sanity/ui'
2
2
 
3
- export default function GapStory() {
3
+ export default function GapStory(): React.JSX.Element {
4
4
  return (
5
5
  <Flex align="center" height="fill" justify="center" padding={[4, 5, 6]} sizing="border">
6
6
  <Flex align="center" gap={[1, 2, 3, 4]} justify="center" wrap="wrap">
@@ -1,11 +1,13 @@
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/flex',
6
6
  title: 'Flex',
7
7
  stories: [
8
8
  {name: 'plain', title: 'Plain', component: lazy(() => import('./example'))},
9
9
  {name: 'gap', title: 'Gap', component: lazy(() => import('./gap'))},
10
10
  ],
11
- })
11
+ }
12
+
13
+ export default scope