@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
@@ -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