@sanity/ui 4.0.0-static.4 → 4.0.0-static.40

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 (341) hide show
  1. package/dist/_chunks-es/{refractor.js → Refractor.js} +1 -1
  2. package/dist/_chunks-es/{refractor.js.map → Refractor.js.map} +1 -1
  3. package/dist/css/index.css +2 -1
  4. package/dist/css/index.css.map +1 -0
  5. package/dist/css/index.d.ts +51 -7
  6. package/dist/css/index.js +17979 -55
  7. package/dist/css/index.js.map +1 -1
  8. package/dist/index.d.ts +26 -38
  9. package/dist/index.js +1744 -1127
  10. package/dist/index.js.map +1 -1
  11. package/exports/css/index.css +1 -0
  12. package/package.json +39 -51
  13. package/src/core/Root.tsx +1 -1
  14. package/src/core/RootProvider.tsx +5 -5
  15. package/src/core/__workshop__/index.ts +1 -1
  16. package/src/core/components/autocomplete/{autocomplete.tsx → Autocomplete.tsx} +90 -58
  17. package/src/core/components/autocomplete/__workshop__/{custom.tsx → Custom.tsx} +14 -1
  18. package/src/core/components/autocomplete/__workshop__/{example.tsx → Example.tsx} +12 -1
  19. package/src/core/components/autocomplete/__workshop__/index.ts +6 -6
  20. package/src/core/components/autocomplete/types.ts +1 -1
  21. package/src/core/components/breadcrumbs/{breadcrumbs.tsx → Breadcrumbs.tsx} +80 -47
  22. package/src/core/components/breadcrumbs/__workshop__/index.ts +1 -1
  23. package/src/core/components/dialog/{dialog.tsx → Dialog.tsx} +20 -11
  24. package/src/core/components/dialog/{dialogCard.tsx → DialogCard.tsx} +9 -9
  25. package/src/core/components/dialog/{dialogContext.ts → DialogContext.ts} +1 -1
  26. package/src/core/components/dialog/{dialogProvider.tsx → DialogProvider.tsx} +2 -2
  27. package/src/core/components/dialog/__workshop__/{panes.tsx → Panes.tsx} +9 -21
  28. package/src/core/components/dialog/__workshop__/{position.tsx → Position.tsx} +9 -1
  29. package/src/core/components/dialog/__workshop__/{props.tsx → Props.tsx} +2 -0
  30. package/src/core/components/dialog/__workshop__/index.ts +10 -10
  31. package/src/core/components/dialog/__workshop__/styles.css.ts +18 -0
  32. package/src/core/components/dialog/useDialog.ts +3 -3
  33. package/src/core/components/hotkeys/{hotkeys.tsx → Hotkeys.tsx} +2 -2
  34. package/src/core/components/hotkeys/__workshop__/index.ts +1 -1
  35. package/src/core/components/menu/{menu.test.tsx → Menu.test.tsx} +9 -13
  36. package/src/core/components/menu/{menu.tsx → Menu.tsx} +19 -24
  37. package/src/core/components/menu/{menuButton.tsx → MenuButton.tsx} +14 -9
  38. package/src/core/components/menu/{menuContext.ts → MenuContext.ts} +3 -4
  39. package/src/core/components/menu/{menuGroup.tsx → MenuGroup.tsx} +16 -11
  40. package/src/core/components/menu/{menuItem.tsx → MenuItem.tsx} +7 -9
  41. package/src/core/components/menu/__workshop__/DataProps.tsx +27 -0
  42. package/src/core/components/menu/__workshop__/{menuButton.tsx → MenuButton.tsx} +6 -1
  43. package/src/core/components/menu/__workshop__/{tones.tsx → Tones.tsx} +7 -1
  44. package/src/core/components/menu/__workshop__/index.ts +22 -17
  45. package/src/core/components/menu/useMenu.ts +5 -5
  46. package/src/core/components/menu/useMenuController.ts +5 -5
  47. package/src/core/components/tab/{tab.tsx → Tab.tsx} +1 -1
  48. package/src/core/components/tab/{tabList.tsx → TabList.tsx} +2 -2
  49. package/src/core/components/tab/{tabPanel.tsx → TabPanel.tsx} +1 -1
  50. package/src/core/components/tab/__workshop__/index.ts +1 -1
  51. package/src/core/components/toast/{toast.test.tsx → Toast.test.tsx} +7 -7
  52. package/src/core/components/toast/{toast.tsx → Toast.tsx} +6 -6
  53. package/src/core/components/toast/{toastContext.ts → ToastContext.ts} +1 -1
  54. package/src/core/components/toast/{toastLayer.tsx → ToastLayer.tsx} +1 -1
  55. package/src/core/components/toast/{toastProvider.tsx → ToastProvider.tsx} +7 -7
  56. package/src/core/components/toast/__workshop__/{toast.tsx → Toast.tsx} +2 -0
  57. package/src/core/components/toast/__workshop__/index.ts +2 -2
  58. package/src/core/components/toast/useToast.ts +3 -3
  59. package/src/core/components/tree/{tree.tsx → Tree.tsx} +4 -4
  60. package/src/core/components/tree/{treeContext.ts → TreeContext.ts} +1 -1
  61. package/src/core/components/tree/{treeGroup.tsx → TreeGroup.tsx} +1 -1
  62. package/src/core/components/tree/{treeItem.tsx → TreeItem.tsx} +28 -25
  63. package/src/core/components/tree/__workshop__/index.ts +4 -4
  64. package/src/core/components/tree/useTree.ts +3 -3
  65. package/src/core/components/virtualList/{virtualList.tsx → VirtualList.tsx} +87 -45
  66. package/src/core/components/virtualList/__workshop__/index.ts +4 -4
  67. package/src/core/helpers/props.ts +0 -9
  68. package/src/core/hooks/useGlobalKeyDown.ts +11 -4
  69. package/src/core/hooks/useMediaIndex/__workshop__/index.ts +1 -1
  70. package/src/core/hooks/useResponsiveProp.ts +4 -17
  71. package/src/core/index.ts +68 -66
  72. package/src/core/lib/createGlobalScopedContext.ts +5 -3
  73. package/src/core/primitives/avatar/{avatar.tsx → Avatar.tsx} +7 -6
  74. package/src/core/primitives/avatar/{avatarCounter.tsx → AvatarCounter.tsx} +2 -2
  75. package/src/core/primitives/avatar/{avatarStack.tsx → AvatarStack.tsx} +3 -3
  76. package/src/core/primitives/avatar/__workshop__/{asButton.tsx → AsButton.tsx} +8 -1
  77. package/src/core/primitives/avatar/__workshop__/PropsStory.tsx +22 -0
  78. package/src/core/primitives/avatar/__workshop__/{stack.tsx → Stack.tsx} +5 -1
  79. package/src/core/primitives/avatar/__workshop__/index.ts +9 -4
  80. package/src/core/primitives/badge/{badge.test.tsx → Badge.test.tsx} +1 -1
  81. package/src/core/primitives/badge/{badge.tsx → Badge.tsx} +2 -2
  82. package/src/core/primitives/badge/__workshop__/{props.tsx → Props.tsx} +12 -1
  83. package/src/core/primitives/badge/__workshop__/index.ts +2 -2
  84. package/src/core/primitives/box/__workshop__/{props.tsx → Props.tsx} +6 -1
  85. package/src/core/primitives/box/__workshop__/index.ts +2 -2
  86. package/src/core/primitives/button/{button.test.tsx → Button.test.tsx} +1 -1
  87. package/src/core/primitives/button/{button.tsx → Button.tsx} +12 -11
  88. package/src/core/primitives/button/__workshop__/DataProps.tsx +22 -0
  89. package/src/core/primitives/button/__workshop__/{props.tsx → Props.tsx} +22 -0
  90. package/src/core/primitives/button/__workshop__/SanityUploadButton.tsx +21 -0
  91. package/src/core/primitives/button/__workshop__/{stacked.tsx → Stacked.tsx} +16 -0
  92. package/src/core/primitives/button/__workshop__/Styled1.tsx +11 -0
  93. package/src/core/primitives/button/__workshop__/index.ts +15 -15
  94. package/src/core/primitives/button/__workshop__/styles.css.ts +30 -0
  95. package/src/core/primitives/card/{card.tsx → Card.tsx} +10 -10
  96. package/src/core/primitives/card/{cardContext.ts → CardContext.ts} +1 -1
  97. package/src/core/primitives/card/{cardProvider.tsx → CardProvider.tsx} +3 -12
  98. package/src/core/primitives/card/__workshop__/DataProps.tsx +30 -0
  99. package/src/core/primitives/card/__workshop__/{props.tsx → Props.tsx} +10 -0
  100. package/src/core/primitives/card/__workshop__/{selected.tsx → Selected.tsx} +1 -1
  101. package/src/core/primitives/card/__workshop__/{styled.tsx → Styled.tsx} +2 -5
  102. package/src/core/primitives/card/__workshop__/index.ts +10 -9
  103. package/src/core/primitives/card/useCard.ts +11 -6
  104. package/src/core/primitives/checkbox/__workshop__/index.ts +4 -4
  105. package/src/core/primitives/code/{code.tsx → Code.tsx} +26 -2
  106. package/src/core/primitives/code/__workshop__/{props.tsx → Props.tsx} +6 -1
  107. package/src/core/primitives/code/__workshop__/index.ts +2 -2
  108. package/src/core/primitives/container/{container.tsx → Container.tsx} +1 -1
  109. package/src/core/primitives/container/__workshop__/{example.tsx → Example.tsx} +6 -1
  110. package/src/core/primitives/container/__workshop__/index.ts +1 -1
  111. package/src/core/primitives/flex/{flex.tsx → Flex.tsx} +1 -1
  112. package/src/core/primitives/flex/__workshop__/{example.tsx → Example.tsx} +14 -16
  113. package/src/core/primitives/flex/__workshop__/index.ts +2 -2
  114. package/src/core/primitives/flex/__workshop__/styles.css.ts +12 -0
  115. package/src/core/primitives/grid/{grid.tsx → Grid.tsx} +1 -1
  116. package/src/core/primitives/grid/__workshop__/index.ts +1 -1
  117. package/src/core/primitives/heading/{heading.tsx → Heading.tsx} +16 -0
  118. package/src/core/primitives/heading/__workshop__/{plain.tsx → Plain.tsx} +12 -1
  119. package/src/core/primitives/heading/__workshop__/index.ts +2 -2
  120. package/src/core/primitives/inline/{inline.tsx → Inline.tsx} +2 -1
  121. package/src/core/primitives/inline/__workshop__/{plain.tsx → Plain.tsx} +5 -1
  122. package/src/core/primitives/inline/__workshop__/index.ts +1 -1
  123. package/src/core/primitives/kbd/{kbd.tsx → Kbd.tsx} +2 -2
  124. package/src/core/primitives/kbd/__workshop__/index.ts +1 -1
  125. package/src/core/primitives/label/{label.tsx → Label.tsx} +16 -0
  126. package/src/core/primitives/label/__workshop__/{plain.tsx → Plain.tsx} +15 -1
  127. package/src/core/primitives/label/__workshop__/index.ts +2 -2
  128. package/src/core/primitives/layer/{layer.test.tsx → Layer.test.tsx} +7 -7
  129. package/src/core/primitives/layer/{layer.tsx → Layer.tsx} +3 -3
  130. package/src/core/primitives/layer/{layerCard.tsx → LayerCard.tsx} +2 -2
  131. package/src/core/primitives/layer/{layerContext.ts → LayerContext.ts} +1 -1
  132. package/src/core/primitives/layer/{layerProvider.tsx → LayerProvider.tsx} +6 -6
  133. package/src/core/primitives/layer/__workshop__/index.ts +3 -3
  134. package/src/core/primitives/layer/useLayer.ts +3 -3
  135. package/src/core/primitives/popover/{popover.tsx → Popover.tsx} +170 -150
  136. package/src/core/primitives/popover/{popoverLayer.tsx → PopoverLayer.tsx} +3 -3
  137. package/src/core/primitives/popover/__workshop__/AlignedStory.tsx +13 -1
  138. package/src/core/primitives/popover/__workshop__/MatchReferenceWidthStory.tsx +2 -0
  139. package/src/core/primitives/popover/__workshop__/PlainStory.tsx +8 -0
  140. package/src/core/primitives/popover/__workshop__/SidePanelStory.tsx +7 -1
  141. package/src/core/primitives/popover/__workshop__/TestStory.tsx +6 -0
  142. package/src/core/primitives/popover/floating-ui/size.ts +17 -16
  143. package/src/core/primitives/radio/{radio.tsx → Radio.tsx} +2 -2
  144. package/src/core/primitives/radio/__workshop__/index.ts +2 -2
  145. package/src/core/primitives/select/{select.tsx → Select.tsx} +7 -5
  146. package/src/core/primitives/select/__workshop__/{plain.tsx → Plain.tsx} +4 -0
  147. package/src/core/primitives/select/__workshop__/index.ts +2 -2
  148. package/src/core/primitives/selectable/{selectable.tsx → Selectable.tsx} +2 -2
  149. package/src/core/primitives/selectable/__workshop__/DataProps.tsx +27 -0
  150. package/src/core/primitives/selectable/__workshop__/index.ts +14 -0
  151. package/src/core/primitives/skeleton/{codeSkeleton.tsx → CodeSkeleton.tsx} +1 -1
  152. package/src/core/primitives/skeleton/{headingSkeleton.tsx → HeadingSkeleton.tsx} +1 -1
  153. package/src/core/primitives/skeleton/{labelSkeleton.tsx → LabelSkeleton.tsx} +1 -1
  154. package/src/core/primitives/skeleton/{skeleton.tsx → Skeleton.tsx} +2 -2
  155. package/src/core/primitives/skeleton/{textSkeleton.tsx → TextSkeleton.tsx} +1 -1
  156. package/src/core/primitives/skeleton/__workshop__/{delay.tsx → Delay.tsx} +9 -1
  157. package/src/core/primitives/skeleton/__workshop__/{skeleton.tsx → Skeleton.tsx} +9 -1
  158. package/src/core/primitives/skeleton/__workshop__/index.ts +2 -2
  159. package/src/core/primitives/spinner/{spinner.tsx → Spinner.tsx} +2 -2
  160. package/src/core/primitives/spinner/__workshop__/Props.tsx +6 -1
  161. package/src/core/primitives/stack/{stack.tsx → Stack.tsx} +1 -1
  162. package/src/core/primitives/stack/__workshop__/{plain.tsx → Plain.tsx} +4 -1
  163. package/src/core/primitives/stack/__workshop__/index.ts +1 -1
  164. package/src/core/primitives/switch/{switch.tsx → Switch.tsx} +2 -10
  165. package/src/core/primitives/switch/__workshop__/index.ts +2 -2
  166. package/src/core/primitives/text/{text.tsx → Text.tsx} +14 -0
  167. package/src/core/primitives/text/__workshop__/{colored.tsx → Colored.tsx} +10 -8
  168. package/src/core/primitives/text/__workshop__/{example.tsx → Example.tsx} +15 -1
  169. package/src/core/primitives/text/__workshop__/index.ts +3 -3
  170. package/src/core/primitives/textArea/{textArea.tsx → TextArea.tsx} +7 -1
  171. package/src/core/primitives/textArea/__workshop__/{plain.tsx → Plain.tsx} +8 -0
  172. package/src/core/primitives/textArea/__workshop__/index.ts +1 -1
  173. package/src/core/primitives/textInput/{textInput.tsx → TextInput.tsx} +93 -72
  174. package/src/core/primitives/textInput/__workshop__/{plain.tsx → Plain.tsx} +34 -4
  175. package/src/core/primitives/textInput/__workshop__/{typed.tsx → Typed.tsx} +7 -1
  176. package/src/core/primitives/textInput/__workshop__/index.ts +7 -7
  177. package/src/core/primitives/tooltip/{tooltip.test.tsx → Tooltip.test.tsx} +4 -4
  178. package/src/core/primitives/tooltip/{tooltip.tsx → Tooltip.tsx} +102 -63
  179. package/src/core/primitives/tooltip/{tooltipLayer.tsx → TooltipLayer.tsx} +2 -2
  180. package/src/core/primitives/tooltip/__workshop__/{customPortal.tsx → CustomPortal.tsx} +2 -0
  181. package/src/core/primitives/tooltip/__workshop__/{overflowingBoundary.tsx → OverflowingBoundary.tsx} +2 -0
  182. package/src/core/primitives/tooltip/__workshop__/{props.tsx → Props.tsx} +12 -0
  183. package/src/core/primitives/tooltip/__workshop__/{resizableBoundary.tsx → ResizableBoundary.tsx} +5 -0
  184. package/src/core/primitives/tooltip/__workshop__/index.ts +4 -4
  185. package/src/core/primitives/tooltip/tooltipDelayGroup/{tooltipDelayGroupContext.tsx → TooltipDelayGroupContext.tsx} +1 -1
  186. package/src/core/primitives/tooltip/tooltipDelayGroup/{tooltipDelayGroupProvider.tsx → TooltipDelayGroupProvider.tsx} +2 -4
  187. package/src/core/primitives/tooltip/tooltipDelayGroup/useTooltipDelayGroup.ts +3 -3
  188. package/src/core/types.ts +6 -5
  189. package/src/core/utils/{errorBoundary.tsx → ErrorBoundary.tsx} +1 -1
  190. package/src/core/utils/boundaryElement/{boundaryElementContext.ts → BoundaryElementContext.ts} +2 -5
  191. package/src/core/utils/boundaryElement/BoundaryElementProvider.tsx +16 -0
  192. package/src/core/utils/boundaryElement/__workshop__/index.ts +1 -1
  193. package/src/core/utils/boundaryElement/types.ts +1 -4
  194. package/src/core/utils/boundaryElement/useBoundaryElement.ts +7 -19
  195. package/src/core/utils/elementQuery/__workshop__/CustomMedia.tsx +19 -0
  196. package/src/core/utils/elementQuery/__workshop__/index.ts +1 -1
  197. package/src/core/utils/elementQuery/__workshop__/styles.css.ts +31 -0
  198. package/src/core/utils/portal/{portal.test.tsx → Portal.test.tsx} +7 -7
  199. package/src/core/utils/portal/{portal.tsx → Portal.tsx} +7 -4
  200. package/src/core/utils/portal/{portalContext.ts → PortalContext.ts} +1 -1
  201. package/src/core/utils/portal/PortalProvider.tsx +38 -0
  202. package/src/core/utils/portal/__workshop__/index.ts +1 -1
  203. package/src/core/utils/portal/usePortal.ts +12 -5
  204. package/src/css/_responsiveStyle.css.ts +2 -2
  205. package/src/css/primitives/_input/_input.css.ts +13 -12
  206. package/src/css/primitives/_input/input.ts +2 -0
  207. package/src/css/primitives/_input/types.ts +2 -1
  208. package/src/css/primitives/avatar/avatar.css.ts +17 -5
  209. package/src/css/primitives/box/box.css.ts +19 -1
  210. package/src/css/primitives/button/button.css.ts +252 -183
  211. package/src/css/primitives/card/__workshop__/{color.tsx → Color.tsx} +9 -1
  212. package/src/css/primitives/card/__workshop__/index.ts +1 -1
  213. package/src/css/primitives/card/card.css.ts +133 -130
  214. package/src/css/primitives/checkbox/checkbox.css.ts +1 -0
  215. package/src/css/primitives/code/code.ts +4 -0
  216. package/src/css/primitives/code/types.ts +7 -1
  217. package/src/css/primitives/heading/heading.ts +4 -0
  218. package/src/css/primitives/heading/types.ts +7 -1
  219. package/src/css/primitives/label/label.ts +4 -0
  220. package/src/css/primitives/label/types.ts +7 -1
  221. package/src/css/primitives/radio/radio.css.ts +1 -1
  222. package/src/css/primitives/root/root.css.ts +1 -1
  223. package/src/css/primitives/select/select.css.ts +7 -1
  224. package/src/css/primitives/selectable/selectable.css.ts +79 -70
  225. package/src/css/primitives/switch/switch.css.ts +10 -1
  226. package/src/css/primitives/text/text.ts +2 -0
  227. package/src/css/primitives/text/types.ts +6 -1
  228. package/src/css/primitives/textInput/textInput.css.ts +15 -3
  229. package/src/css/props/width/types.ts +1 -1
  230. package/src/css/props/width/width.css.ts +5 -2
  231. package/src/css/theme/buildCSSTheme.ts +4 -0
  232. package/src/css/types.ts +4 -0
  233. package/src/css/vars.css.ts +4 -0
  234. package/dist/_chunks-cjs/refractor.cjs +0 -22
  235. package/dist/_chunks-cjs/refractor.cjs.map +0 -1
  236. package/dist/css/index.cjs +0 -966
  237. package/dist/css/index.cjs.map +0 -1
  238. package/dist/css/index.d.cts +0 -1370
  239. package/dist/index.cjs +0 -4515
  240. package/dist/index.cjs.map +0 -1
  241. package/dist/index.d.cts +0 -2521
  242. package/dist/theme.cjs +0 -870
  243. package/dist/theme.cjs.map +0 -1
  244. package/dist/theme.d.cts +0 -499
  245. package/src/core/primitives/button/__workshop__/sanityUploadButton.tsx +0 -36
  246. package/src/core/primitives/button/__workshop__/styled1.tsx +0 -17
  247. package/src/core/primitives/button/__workshop__/styled2.tsx +0 -19
  248. package/src/core/primitives/popover/helpers.ts +0 -32
  249. package/src/core/primitives/tooltip/tooltipDelayGroup/index.ts +0 -4
  250. package/src/core/utils/boundaryElement/boundaryElement.test.tsx +0 -102
  251. package/src/core/utils/boundaryElement/boundaryElementProvider.tsx +0 -18
  252. package/src/core/utils/elementQuery/__workshop__/customMedia.tsx +0 -41
  253. package/src/core/utils/portal/portalProvider.tsx +0 -70
  254. /package/src/core/__workshop__/{boundary.tsx → Boundary.tsx} +0 -0
  255. /package/src/core/components/autocomplete/{autocompleteOption.tsx → AutocompleteOption.tsx} +0 -0
  256. /package/src/core/components/autocomplete/__workshop__/{async.tsx → Async.tsx} +0 -0
  257. /package/src/core/components/autocomplete/__workshop__/{constrainedHeight.tsx → ConstrainedHeight.tsx} +0 -0
  258. /package/src/core/components/autocomplete/__workshop__/{focusAndBlur.tsx → FocusAndBlur.tsx} +0 -0
  259. /package/src/core/components/autocomplete/__workshop__/{fullscreen.tsx → Fullscreen.tsx} +0 -0
  260. /package/src/core/components/breadcrumbs/__workshop__/{example.tsx → Example.tsx} +0 -0
  261. /package/src/core/components/dialog/__workshop__/{activate.tsx → Activate.tsx} +0 -0
  262. /package/src/core/components/dialog/__workshop__/{autoFocus.tsx → AutoFocus.tsx} +0 -0
  263. /package/src/core/components/dialog/__workshop__/{layering.tsx → Layering.tsx} +0 -0
  264. /package/src/core/components/dialog/__workshop__/{nested.tsx → Nested.tsx} +0 -0
  265. /package/src/core/components/dialog/__workshop__/{onScroll.tsx → OnScroll.tsx} +0 -0
  266. /package/src/core/components/dialog/__workshop__/{provider.tsx → Provider.tsx} +0 -0
  267. /package/src/core/components/dialog/__workshop__/{wrapped.tsx → Wrapped.tsx} +0 -0
  268. /package/src/core/components/hotkeys/__workshop__/{plain.tsx → Plain.tsx} +0 -0
  269. /package/src/core/components/menu/{menuDivider.tsx → MenuDivider.tsx} +0 -0
  270. /package/src/core/components/menu/__workshop__/{asComponent.tsx → AsComponent.tsx} +0 -0
  271. /package/src/core/components/menu/__workshop__/{avatarMenu.tsx → AvatarMenu.tsx} +0 -0
  272. /package/src/core/components/menu/__workshop__/{closableMenuButton.tsx → ClosableMenuButton.tsx} +0 -0
  273. /package/src/core/components/menu/__workshop__/{constrainedInBoundary.tsx → ConstrainedInBoundary.tsx} +0 -0
  274. /package/src/core/components/menu/__workshop__/{customMenuItem.tsx → CustomMenuItem.tsx} +0 -0
  275. /package/src/core/components/menu/__workshop__/{customSelectedState.tsx → CustomSelectedState.tsx} +0 -0
  276. /package/src/core/components/menu/__workshop__/{disableFocusOnClose.tsx → DisableFocusOnClose.tsx} +0 -0
  277. /package/src/core/components/menu/__workshop__/{groups.tsx → Groups.tsx} +0 -0
  278. /package/src/core/components/menu/__workshop__/{menuGroupRight.tsx → MenuGroupRight.tsx} +0 -0
  279. /package/src/core/components/menu/__workshop__/{nestedMenu.tsx → NestedMenu.tsx} +0 -0
  280. /package/src/core/components/menu/__workshop__/{onCloseMenuButton.tsx → OnCloseMenuButton.tsx} +0 -0
  281. /package/src/core/components/menu/__workshop__/{selectedItem.tsx → SelectedItem.tsx} +0 -0
  282. /package/src/core/components/menu/__workshop__/{shouldFocus.tsx → ShouldFocus.tsx} +0 -0
  283. /package/src/core/components/menu/__workshop__/{withoutArrow.tsx → WithoutArrow.tsx} +0 -0
  284. /package/src/core/components/tab/__workshop__/{example.tsx → Example.tsx} +0 -0
  285. /package/src/core/components/toast/__workshop__/{hook.tsx → Hook.tsx} +0 -0
  286. /package/src/core/components/tree/__workshop__/{basic.tsx → Basic.tsx} +0 -0
  287. /package/src/core/components/tree/__workshop__/{tabFromElement.tsx → TabFromElement.tsx} +0 -0
  288. /package/src/core/components/virtualList/__workshop__/{changingProps.tsx → ChangingProps.tsx} +0 -0
  289. /package/src/core/components/virtualList/__workshop__/{elementScroll.tsx → ElementScroll.tsx} +0 -0
  290. /package/src/core/components/virtualList/__workshop__/{infiniteList.tsx → InfiniteList.tsx} +0 -0
  291. /package/src/core/components/virtualList/__workshop__/{windowScrolll.tsx → WindowScrolll.tsx} +0 -0
  292. /package/src/core/hooks/useMediaIndex/__workshop__/{test.tsx → Test.tsx} +0 -0
  293. /package/src/core/primitives/arrow/{arrow.tsx → Arrow.tsx} +0 -0
  294. /package/src/core/primitives/avatar/__workshop__/{withinButton.tsx → WithinButton.tsx} +0 -0
  295. /package/src/core/primitives/avatar/__workshop__/{withinMenuItem.tsx → WithinMenuItem.tsx} +0 -0
  296. /package/src/core/primitives/badge/__workshop__/{tones.tsx → Tones.tsx} +0 -0
  297. /package/src/core/primitives/box/{box.tsx → Box.tsx} +0 -0
  298. /package/src/core/primitives/box/__workshop__/{responsive.tsx → Responsive.tsx} +0 -0
  299. /package/src/core/primitives/button/__workshop__/{custom.tsx → Custom.tsx} +0 -0
  300. /package/src/core/primitives/button/__workshop__/{customIcons.tsx → CustomIcons.tsx} +0 -0
  301. /package/src/core/primitives/button/__workshop__/{disabled.tsx → Disabled.tsx} +0 -0
  302. /package/src/core/primitives/button/__workshop__/{mixedChildren.tsx → MixedChildren.tsx} +0 -0
  303. /package/src/core/primitives/button/__workshop__/{textOverflow.tsx → TextOverflow.tsx} +0 -0
  304. /package/src/core/primitives/button/__workshop__/{uploadButton.tsx → UploadButton.tsx} +0 -0
  305. /package/src/core/primitives/card/__workshop__/{asButton.tsx → AsButton.tsx} +0 -0
  306. /package/src/core/primitives/card/__workshop__/{asComponent.tsx → AsComponent.tsx} +0 -0
  307. /package/src/core/primitives/card/__workshop__/{checkered.tsx → Checkered.tsx} +0 -0
  308. /package/src/core/primitives/card/__workshop__/{interactive.tsx → Interactive.tsx} +0 -0
  309. /package/src/core/primitives/card/__workshop__/{listNavigation.tsx → ListNavigation.tsx} +0 -0
  310. /package/src/core/primitives/card/__workshop__/{tones.tsx → Tones.tsx} +0 -0
  311. /package/src/core/primitives/checkbox/{checkbox.tsx → Checkbox.tsx} +0 -0
  312. /package/src/core/primitives/checkbox/__workshop__/{example.tsx → Example.tsx} +0 -0
  313. /package/src/core/primitives/checkbox/__workshop__/{props.tsx → Props.tsx} +0 -0
  314. /package/src/core/primitives/checkbox/__workshop__/{readOnly.tsx → ReadOnly.tsx} +0 -0
  315. /package/src/core/primitives/checkbox/__workshop__/{tones.tsx → Tones.tsx} +0 -0
  316. /package/src/core/primitives/code/{refractor.tsx → Refractor.tsx} +0 -0
  317. /package/src/core/primitives/code/__workshop__/{opticalAlignment.tsx → OpticalAlignment.tsx} +0 -0
  318. /package/src/core/primitives/flex/__workshop__/{gap.tsx → Gap.tsx} +0 -0
  319. /package/src/core/primitives/grid/__workshop__/{responsive.tsx → Responsive.tsx} +0 -0
  320. /package/src/core/primitives/heading/__workshop__/{opticalAlignment.tsx → OpticalAlignment.tsx} +0 -0
  321. /package/src/core/primitives/kbd/__workshop__/{plain.tsx → Plain.tsx} +0 -0
  322. /package/src/core/primitives/label/__workshop__/{opticalAlignment.tsx → OpticalAlignment.tsx} +0 -0
  323. /package/src/core/primitives/layer/__workshop__/{multipleRoots.tsx → MultipleRoots.tsx} +0 -0
  324. /package/src/core/primitives/layer/__workshop__/{nested.tsx → Nested.tsx} +0 -0
  325. /package/src/core/primitives/layer/__workshop__/{responsiveZOffset.tsx → ResponsiveZOffset.tsx} +0 -0
  326. /package/src/core/primitives/radio/__workshop__/{example.tsx → Example.tsx} +0 -0
  327. /package/src/core/primitives/radio/__workshop__/{plain.tsx → Plain.tsx} +0 -0
  328. /package/src/core/primitives/select/__workshop__/{readOnly.tsx → ReadOnly.tsx} +0 -0
  329. /package/src/core/primitives/spinner/{animatedSpinnerIcon.tsx → AnimatedSpinnerIcon.tsx} +0 -0
  330. /package/src/core/primitives/srOnly/{srOnly.tsx → SrOnly.tsx} +0 -0
  331. /package/src/core/primitives/switch/__workshop__/{example.tsx → Example.tsx} +0 -0
  332. /package/src/core/primitives/switch/__workshop__/{props.tsx → Props.tsx} +0 -0
  333. /package/src/core/primitives/text/__workshop__/{opticalAlignment.tsx → OpticalAlignment.tsx} +0 -0
  334. /package/src/core/primitives/textInput/__workshop__/{clearButton.tsx → ClearButton.tsx} +0 -0
  335. /package/src/core/primitives/textInput/__workshop__/{customValidity.tsx → CustomValidity.tsx} +0 -0
  336. /package/src/core/primitives/textInput/__workshop__/{readOnly.tsx → ReadOnly.tsx} +0 -0
  337. /package/src/core/primitives/textInput/__workshop__/{states.tsx → States.tsx} +0 -0
  338. /package/src/core/primitives/textInput/__workshop__/{tones.tsx → Tones.tsx} +0 -0
  339. /package/src/core/utils/boundaryElement/__workshop__/{plain.tsx → Plain.tsx} +0 -0
  340. /package/src/core/utils/elementQuery/{elementQuery.tsx → ElementQuery.tsx} +0 -0
  341. /package/src/core/utils/portal/__workshop__/{named.tsx → Named.tsx} +0 -0
@@ -4,8 +4,8 @@ import {useImperativeHandle, useRef} from 'react'
4
4
 
5
5
  import {useCustomValidity} from '../../hooks/useCustomValidity'
6
6
  import type {ComponentType, Props} from '../../types'
7
- import {Box} from '../box/box'
8
- import {Text} from '../text/text'
7
+ import {Box} from '../box/Box'
8
+ import {Text} from '../text/Text'
9
9
 
10
10
  /** @public */
11
11
  export const DEFAULT_SELECT_ELEMENT = 'select'
@@ -36,12 +36,14 @@ export function Select<E extends SelectElementType = typeof DEFAULT_SELECT_ELEME
36
36
  children,
37
37
  customValidity,
38
38
  disabled,
39
+ flex,
39
40
  fontSize = 2,
40
41
  gap = 2,
41
42
  padding = 3,
42
43
  radius = 1,
43
44
  readOnly,
44
45
  ref: forwardedRef,
46
+ width = 'fill',
45
47
  ...rest
46
48
  } = props as SelectProps<typeof DEFAULT_SELECT_ELEMENT>
47
49
 
@@ -55,9 +57,9 @@ export function Select<E extends SelectElementType = typeof DEFAULT_SELECT_ELEME
55
57
  useCustomValidity(ref, customValidity)
56
58
 
57
59
  return (
58
- <div
60
+ <span
59
61
  data-ui="Select"
60
- className={select({border, fontSize, gap, padding, radius})}
62
+ className={select({border, fontSize, flex, gap, padding, radius, width})}
61
63
  data-icon-right=""
62
64
  >
63
65
  <Element {...rest} className={_inputElement()} disabled={disabled || readOnly} ref={ref}>
@@ -70,6 +72,6 @@ export function Select<E extends SelectElementType = typeof DEFAULT_SELECT_ELEME
70
72
  </Text>
71
73
  </Box>
72
74
  </span>
73
- </div>
75
+ </span>
74
76
  )
75
77
  }
@@ -6,7 +6,9 @@ import {WORKSHOP_RADIUS_OPTIONS, WORKSHOP_TEXT_FONT_SIZE_OPTIONS} from '$worksho
6
6
  export default function PlainStory(): React.JSX.Element {
7
7
  const border = useBoolean('Border', true)
8
8
  const disabled = useBoolean('Disabled', false)
9
+ // @ts-expect-error - TODO: fix this
9
10
  const fontSize = useSelect('Font size', WORKSHOP_TEXT_FONT_SIZE_OPTIONS)
11
+ // @ts-expect-error - TODO: fix this
10
12
  const radius = useSelect('Radius', WORKSHOP_RADIUS_OPTIONS)
11
13
  const readOnly = useBoolean('Read only', false)
12
14
 
@@ -21,8 +23,10 @@ export default function PlainStory(): React.JSX.Element {
21
23
  <Select
22
24
  border={border}
23
25
  disabled={disabled}
26
+ // @ts-expect-error - TODO: fix this
24
27
  fontSize={fontSize}
25
28
  id="select-example"
29
+ // @ts-expect-error - TODO: fix this
26
30
  radius={radius}
27
31
  readOnly={readOnly}
28
32
  >
@@ -5,8 +5,8 @@ const scope: WorkshopScope = {
5
5
  name: 'primitives/select',
6
6
  title: 'Select',
7
7
  stories: [
8
- {name: 'plain', title: 'Plain', component: lazy(() => import('./plain'))},
9
- {name: 'read-only', title: 'Read-only', component: lazy(() => import('./readOnly'))},
8
+ {name: 'plain', title: 'Plain', component: lazy(() => import('./Plain'))},
9
+ {name: 'read-only', title: 'Read-only', component: lazy(() => import('./ReadOnly'))},
10
10
  ],
11
11
  }
12
12
 
@@ -2,7 +2,7 @@ import {_selectable, type SelectableStyleProps} from '@sanity/ui/css'
2
2
  import type {ElementTone} from '@sanity/ui/theme'
3
3
 
4
4
  import type {ComponentType, Props} from '../../types'
5
- import {Box, type BoxOwnProps} from '../box/box'
5
+ import {Box, type BoxOwnProps} from '../box/Box'
6
6
 
7
7
  /** @internal */
8
8
  export const DEFAULT_SELECTABLE_ELEMENT = 'button'
@@ -44,7 +44,7 @@ export function Selectable<E extends SelectableElementType = typeof DEFAULT_SELE
44
44
  {...rest}
45
45
  as={as}
46
46
  className={_selectable({className, radius, tone})}
47
- data-selected={selected ? '' : undefined}
47
+ data-selected={selected ? '' : props['data-selected']}
48
48
  />
49
49
  )
50
50
  }
@@ -0,0 +1,27 @@
1
+ import {Selectable, Stack, Text} from '@sanity/ui'
2
+ import type {ElementTone} from '@sanity/ui/theme'
3
+ import {useSelect} from '@sanity/ui-workshop'
4
+
5
+ import {WORKSHOP_BUTTON_TONE_OPTIONS} from '$workshop'
6
+
7
+ export default function DataPropsStory(): React.JSX.Element {
8
+ // @ts-expect-error - TODO: fix this
9
+ const tone = useSelect('Tone', WORKSHOP_BUTTON_TONE_OPTIONS, 'default') as ElementTone | undefined
10
+
11
+ return (
12
+ <Stack gap={4} padding={4}>
13
+ <Selectable data-enabled="" padding={3} tone={tone}>
14
+ <Text>Selectable</Text>
15
+ </Selectable>
16
+ <Selectable data-hovered="" padding={3} tone={tone}>
17
+ <Text>Selectable</Text>
18
+ </Selectable>
19
+ <Selectable data-pressed="" padding={3} tone={tone}>
20
+ <Text>Selectable</Text>
21
+ </Selectable>
22
+ <Selectable data-selected="" padding={3} tone={tone}>
23
+ <Text>Selectable</Text>
24
+ </Selectable>
25
+ </Stack>
26
+ )
27
+ }
@@ -0,0 +1,14 @@
1
+ import {defineScope} from '@sanity/ui-workshop'
2
+ import {lazy} from 'react'
3
+
4
+ export default defineScope({
5
+ name: 'primitives/selectable',
6
+ title: 'Selectable',
7
+ stories: [
8
+ {
9
+ name: 'data-props',
10
+ title: 'Data props',
11
+ component: lazy(() => import('./DataProps')),
12
+ },
13
+ ],
14
+ })
@@ -2,7 +2,7 @@ import {codeSkeleton, type ResponsiveProp} from '@sanity/ui/css'
2
2
  import type {FontCodeSize} from '@sanity/ui/theme'
3
3
 
4
4
  import type {Props} from '../../types'
5
- import {Skeleton, type SkeletonElementType, type SkeletonOwnProps} from './skeleton'
5
+ import {Skeleton, type SkeletonElementType, type SkeletonOwnProps} from './Skeleton'
6
6
 
7
7
  /** @beta */
8
8
  export const DEFAULT_CODE_SKELETON_ELEMENT = 'div'
@@ -2,7 +2,7 @@ import {headingSkeleton, type ResponsiveProp} from '@sanity/ui/css'
2
2
  import type {FontHeadingSize} from '@sanity/ui/theme'
3
3
 
4
4
  import type {Props} from '../../types'
5
- import {Skeleton, type SkeletonElementType, type SkeletonOwnProps} from './skeleton'
5
+ import {Skeleton, type SkeletonElementType, type SkeletonOwnProps} from './Skeleton'
6
6
 
7
7
  /** @beta */
8
8
  export const DEFAULT_HEADING_SKELETON_ELEMENT = 'div'
@@ -2,7 +2,7 @@ import {labelSkeleton, type ResponsiveProp} from '@sanity/ui/css'
2
2
  import type {FontLabelSize} from '@sanity/ui/theme'
3
3
 
4
4
  import type {Props} from '../../types'
5
- import {Skeleton, type SkeletonElementType, type SkeletonOwnProps} from './skeleton'
5
+ import {Skeleton, type SkeletonElementType, type SkeletonOwnProps} from './Skeleton'
6
6
 
7
7
  /** @beta */
8
8
  export const DEFAULT_LABEL_SKELETON_ELEMENT = 'div'
@@ -43,7 +43,7 @@ export function Skeleton<E extends SkeletonElementType = typeof DEFAULT_SKELETON
43
43
 
44
44
  useEffect(() => {
45
45
  if (!delay) {
46
- return setVisible(true)
46
+ return undefined
47
47
  }
48
48
 
49
49
  const timeout = setTimeout(() => {
@@ -64,7 +64,7 @@ export function Skeleton<E extends SkeletonElementType = typeof DEFAULT_SKELETON
64
64
  ...rest,
65
65
  })}
66
66
  data-animated={animated ? '' : undefined}
67
- data-visible={visible ? '' : undefined}
67
+ data-visible={(delay ? visible : true) ? '' : undefined}
68
68
  />
69
69
  )
70
70
  }
@@ -2,7 +2,7 @@ import {type ResponsiveProp, textSkeleton} from '@sanity/ui/css'
2
2
  import type {FontTextSize} from '@sanity/ui/theme'
3
3
 
4
4
  import type {Props} from '../../types'
5
- import {Skeleton, type SkeletonElementType, type SkeletonOwnProps} from './skeleton'
5
+ import {Skeleton, type SkeletonElementType, type SkeletonOwnProps} from './Skeleton'
6
6
 
7
7
  /** @beta */
8
8
  export const DEFAULT_TEXT_SKELETON_ELEMENT = 'div'
@@ -16,6 +16,7 @@ import {useBoolean, useSelect} from '@sanity/ui-workshop'
16
16
  import {WORKSHOP_CARD_TONE_OPTIONS} from '$workshop'
17
17
 
18
18
  export default function SkeletonDelayStory(): React.JSX.Element {
19
+ // @ts-expect-error - TODO: fix this
19
20
  const tone = useSelect('Tone', WORKSHOP_CARD_TONE_OPTIONS)
20
21
  const animated = useBoolean('Animated', true)
21
22
 
@@ -23,7 +24,14 @@ export default function SkeletonDelayStory(): React.JSX.Element {
23
24
  <Box padding={[4, 5, 6]}>
24
25
  <Container width={1}>
25
26
  <Text muted>Delayed by 2000ms</Text>
26
- <Card tone={tone} marginTop={4} padding={2} radius={2} border>
27
+ <Card
28
+ // @ts-expect-error - TODO: fix this
29
+ tone={tone}
30
+ marginTop={4}
31
+ padding={2}
32
+ radius={2}
33
+ border
34
+ >
27
35
  <Flex align="center">
28
36
  <Skeleton
29
37
  style={{width: 90, height: 90}}
@@ -16,6 +16,7 @@ import {useBoolean, useSelect} from '@sanity/ui-workshop'
16
16
  import {WORKSHOP_CARD_TONE_OPTIONS} from '$workshop'
17
17
 
18
18
  export default function SkeletonStory(): React.JSX.Element {
19
+ // @ts-expect-error - TODO: fix this
19
20
  const tone = useSelect('Tone', WORKSHOP_CARD_TONE_OPTIONS)
20
21
  const animated = useBoolean('Animated', true)
21
22
 
@@ -24,7 +25,14 @@ export default function SkeletonStory(): React.JSX.Element {
24
25
  <Container width={1}>
25
26
  <Stack gap={4}>
26
27
  {[1, 2, 3].map((item) => (
27
- <Card key={item} tone={tone} padding={2} radius={2} border>
28
+ <Card
29
+ key={item}
30
+ // @ts-expect-error - TODO: fix this
31
+ tone={tone}
32
+ padding={2}
33
+ radius={2}
34
+ border
35
+ >
28
36
  <Flex align="center">
29
37
  <Grid gap={2} gridTemplateColumns={2} marginRight={3}>
30
38
  <Skeleton style={{width: 40, height: 40}} radius={2} animated={animated} />
@@ -5,8 +5,8 @@ const scope: WorkshopScope = {
5
5
  name: 'primitives/skeleton',
6
6
  title: 'Skeleton',
7
7
  stories: [
8
- {name: 'skeleton', title: 'Skeleton', component: lazy(() => import('./skeleton'))},
9
- {name: 'skeleton-delay', title: 'Skeleton delay', component: lazy(() => import('./delay'))},
8
+ {name: 'skeleton', title: 'Skeleton', component: lazy(() => import('./Skeleton'))},
9
+ {name: 'skeleton-delay', title: 'Skeleton delay', component: lazy(() => import('./Delay'))},
10
10
  ],
11
11
  }
12
12
 
@@ -2,8 +2,8 @@ import {type ResponsiveProp, spinner} from '@sanity/ui/css'
2
2
  import type {FontTextSize} from '@sanity/ui/theme'
3
3
 
4
4
  import type {ComponentType, Props} from '../../types'
5
- import {Text} from '../text/text'
6
- import {AnimatedSpinnerIcon} from './animatedSpinnerIcon'
5
+ import {Text} from '../text/Text'
6
+ import {AnimatedSpinnerIcon} from './AnimatedSpinnerIcon'
7
7
 
8
8
  /** @public */
9
9
  export const DEFAULT_SPINNER_ELEMENT = 'div'
@@ -5,11 +5,16 @@ import {WORKSHOP_TEXT_FONT_SIZE_OPTIONS} from '$workshop'
5
5
 
6
6
  export default function Props(): React.JSX.Element {
7
7
  const muted = useBoolean('Muted', false)
8
+ // @ts-expect-error - TODO: fix this
8
9
  const size = useSelect('Size', WORKSHOP_TEXT_FONT_SIZE_OPTIONS, 2)
9
10
 
10
11
  return (
11
12
  <Flex align="center" height="fill" justify="center">
12
- <Spinner muted={muted} size={size} />
13
+ <Spinner
14
+ muted={muted}
15
+ // @ts-expect-error - TODO: fix this
16
+ size={size}
17
+ />
13
18
  </Flex>
14
19
  )
15
20
  }
@@ -1,7 +1,7 @@
1
1
  import {stack} from '@sanity/ui/css'
2
2
 
3
3
  import type {Props} from '../../types'
4
- import {Box, type BoxElementType, type BoxOwnProps} from '../box/box'
4
+ import {Box, type BoxElementType, type BoxOwnProps} from '../box/Box'
5
5
 
6
6
  /** @public */
7
7
  export const DEFAULT_STACK_ELEMENT = 'div'
@@ -7,7 +7,10 @@ export default function PlainStory(): React.JSX.Element {
7
7
  return (
8
8
  <Flex align="center" height="fill" justify="center" padding={[4, 5, 6]} sizing="border">
9
9
  <Container width={0}>
10
- <Stack gap={useSelect('Gap', WORKSHOP_SPACE_OPTIONS, 0)}>
10
+ <Stack
11
+ // @ts-expect-error - TODO: fix this
12
+ gap={useSelect('Gap', WORKSHOP_SPACE_OPTIONS, 0)}
13
+ >
11
14
  <Card padding={[2, 3, 4]} shadow={1}>
12
15
  <Text align="center" muted>
13
16
  Stack item
@@ -8,7 +8,7 @@ const scope: WorkshopScope = {
8
8
  {
9
9
  name: 'plain',
10
10
  title: 'Plain',
11
- component: lazy(() => import('./plain')),
11
+ component: lazy(() => import('./Plain')),
12
12
  },
13
13
  ],
14
14
  }
@@ -8,7 +8,6 @@ import {
8
8
  import {useEffect, useImperativeHandle, useRef} from 'react'
9
9
 
10
10
  import type {ComponentType, Props} from '../../types'
11
- import {Box} from '../box/box'
12
11
 
13
12
  /** @public */
14
13
  export const DEFAULT_SWITCH_ELEMENT = 'input'
@@ -41,7 +40,6 @@ export function Switch<E extends SwitchElementType = typeof DEFAULT_SWITCH_ELEME
41
40
  indeterminate,
42
41
  readOnly,
43
42
  ref: forwardedRef,
44
- style,
45
43
  ...rest
46
44
  } = props as SwitchProps<typeof DEFAULT_SWITCH_ELEMENT>
47
45
 
@@ -60,13 +58,7 @@ export function Switch<E extends SwitchElementType = typeof DEFAULT_SWITCH_ELEME
60
58
  }, [indeterminate])
61
59
 
62
60
  return (
63
- <Box
64
- className={_switch({className})}
65
- data-ui="Switch"
66
- display="block"
67
- position="relative"
68
- style={style}
69
- >
61
+ <span className={_switch({className})} data-ui="Switch">
70
62
  <Element
71
63
  {...rest}
72
64
  className={_switchElement()}
@@ -79,6 +71,6 @@ export function Switch<E extends SwitchElementType = typeof DEFAULT_SWITCH_ELEME
79
71
  <span className={_switchTrack()} />
80
72
  <span className={_switchThumb()} />
81
73
  </span>
82
- </Box>
74
+ </span>
83
75
  )
84
76
  }
@@ -5,8 +5,8 @@ const scope: WorkshopScope = {
5
5
  name: 'primitives/switch',
6
6
  title: 'Switch',
7
7
  stories: [
8
- {name: 'props', title: 'Props', component: lazy(() => import('./props'))},
9
- {name: 'example', title: 'Example', component: lazy(() => import('./example'))},
8
+ {name: 'props', title: 'Props', component: lazy(() => import('./Props'))},
9
+ {name: 'example', title: 'Example', component: lazy(() => import('./Example'))},
10
10
  ],
11
11
  }
12
12
 
@@ -42,6 +42,13 @@ export function Text<E extends TextElementType = typeof DEFAULT_TEXT_ELEMENT>(
42
42
  children,
43
43
  className,
44
44
  flex,
45
+ margin,
46
+ marginX,
47
+ marginY,
48
+ marginTop,
49
+ marginRight,
50
+ marginBottom,
51
+ marginLeft,
45
52
  maxWidth = 'fill',
46
53
  muted,
47
54
  size = 2,
@@ -58,6 +65,13 @@ export function Text<E extends TextElementType = typeof DEFAULT_TEXT_ELEMENT>(
58
65
  className,
59
66
  align,
60
67
  flex,
68
+ margin,
69
+ marginX,
70
+ marginY,
71
+ marginTop,
72
+ marginRight,
73
+ marginBottom,
74
+ marginLeft,
61
75
  maxWidth,
62
76
  muted,
63
77
  size,
@@ -2,22 +2,24 @@ import {Flex, Text} from '@sanity/ui'
2
2
  import {vars} from '@sanity/ui/css'
3
3
  import type {AvatarColor} from '@sanity/ui/theme'
4
4
  import {useSelect} from '@sanity/ui-workshop'
5
- import {styled} from 'styled-components'
5
+ import {assignInlineVars} from '@vanilla-extract/dynamic'
6
6
 
7
7
  import {WORKSHOP_AVATAR_COLOR_OPTIONS} from '$workshop'
8
8
 
9
- const ColoredText = styled(Text)<{$color: AvatarColor}>`
10
- ${vars.color.fg.slice(4, -1)}: ${({$color}) => vars.color.avatar[$color].bg};
11
- `
12
-
13
9
  export default function ColoredTextStory(): React.JSX.Element {
14
- const color = useSelect('Color', WORKSHOP_AVATAR_COLOR_OPTIONS, 'gray') ?? 'gray'
10
+ // @ts-expect-error - TODO: fix this
11
+ const color: AvatarColor = useSelect('Color', WORKSHOP_AVATAR_COLOR_OPTIONS, 'gray') ?? 'gray'
15
12
 
16
13
  return (
17
14
  <Flex align="center" height="fill" justify="center" padding={[4, 5, 6]} sizing="border">
18
- <ColoredText align="center" $color={color} size={4} weight="bold">
15
+ <Text
16
+ align="center"
17
+ size={4}
18
+ weight="bold"
19
+ style={assignInlineVars({[vars.color.fg]: vars.color.avatar[color].bg})}
20
+ >
19
21
  {color}
20
- </ColoredText>
22
+ </Text>
21
23
  </Flex>
22
24
  )
23
25
  }
@@ -9,17 +9,31 @@ import {
9
9
  } from '$workshop'
10
10
 
11
11
  export default function TextStory(): React.JSX.Element {
12
+ // @ts-expect-error - TODO: fix this
12
13
  const align = useSelect('Align', WORKSHOP_TEXT_ALIGN_OPTIONS)
13
14
  const muted = useBoolean('Muted', false)
15
+ // @ts-expect-error - TODO: fix this
14
16
  const size = useSelect('Size', WORKSHOP_TEXT_FONT_SIZE_OPTIONS, 1)
15
17
  const text = useText('Text', 'Hello, world')
18
+ // @ts-expect-error - TODO: fix this
16
19
  const textOverflow = useSelect('Text overflow', WORKSHOP_TEXT_OVERFLOW_OPTIONS)
20
+ // @ts-expect-error - TODO: fix this
17
21
  const weight = useSelect('Weight', WORKSHOP_TEXT_WEIGHT_OPTIONS)
18
22
 
19
23
  return (
20
24
  <Flex align="center" height="fill" justify="center" padding={4} sizing="border">
21
25
  <Container width={0}>
22
- <Text align={align} muted={muted} size={size} textOverflow={textOverflow} weight={weight}>
26
+ <Text
27
+ // @ts-expect-error - TODO: fix this
28
+ align={align}
29
+ muted={muted}
30
+ // @ts-expect-error - TODO: fix this
31
+ size={size}
32
+ // @ts-expect-error - TODO: fix this
33
+ textOverflow={textOverflow}
34
+ // @ts-expect-error - TODO: fix this
35
+ weight={weight}
36
+ >
23
37
  {text}
24
38
  </Text>
25
39
  </Container>
@@ -8,17 +8,17 @@ const scope: WorkshopScope = {
8
8
  {
9
9
  name: 'default',
10
10
  title: 'Text',
11
- component: lazy(() => import('./example')),
11
+ component: lazy(() => import('./Example')),
12
12
  },
13
13
  {
14
14
  name: 'colored',
15
15
  title: 'Colored text',
16
- component: lazy(() => import('./colored')),
16
+ component: lazy(() => import('./Colored')),
17
17
  },
18
18
  {
19
19
  name: 'optical-alignment',
20
20
  title: 'Optical alignment',
21
- component: lazy(() => import('./opticalAlignment')),
21
+ component: lazy(() => import('./OpticalAlignment')),
22
22
  },
23
23
  ],
24
24
  }
@@ -37,14 +37,17 @@ export function TextArea<E extends TextAreaElementType = typeof DEFAULT_TEXT_ARE
37
37
  __unstable_disableFocusRing,
38
38
  as: Element = DEFAULT_TEXT_AREA_ELEMENT,
39
39
  border = true,
40
+ className,
40
41
  customValidity,
41
42
  disabled = false,
43
+ flex,
42
44
  fontSize = 2,
43
45
  gap = 3,
44
46
  padding = 3,
45
47
  radius = 2,
46
48
  readOnly,
47
49
  ref: forwardedRef,
50
+ width,
48
51
  ...rest
49
52
  } = props as TextAreaProps<typeof DEFAULT_TEXT_AREA_ELEMENT>
50
53
 
@@ -60,11 +63,14 @@ export function TextArea<E extends TextAreaElementType = typeof DEFAULT_TEXT_ARE
60
63
  return (
61
64
  <span
62
65
  className={textArea({
66
+ className,
63
67
  border,
68
+ flex,
64
69
  fontSize,
70
+ gap,
65
71
  padding,
66
72
  radius,
67
- gap,
73
+ width,
68
74
  })}
69
75
  data-invalid={customValidity ? '' : undefined}
70
76
  data-read-only={!disabled && readOnly ? '' : undefined}
@@ -10,15 +10,19 @@ import {
10
10
  } from '$workshop'
11
11
 
12
12
  export default function PlainStory(): React.JSX.Element {
13
+ // @ts-expect-error - TODO: fix this
13
14
  const tone = useSelect('Tone', WORKSHOP_CARD_TONE_OPTIONS)
14
15
 
15
16
  const border = useBoolean('Border', true)
16
17
  const customValidity = useText('Custom validity')
17
18
  const disableFocusRing = useBoolean('Disable focus ring (unstable)', false)
18
19
  const disabled = useBoolean('Disabled', false)
20
+ // @ts-expect-error - TODO: fix this
19
21
  const fontSize = useSelect('Font size', WORKSHOP_TEXT_FONT_SIZE_OPTIONS, 2)
22
+ // @ts-expect-error - TODO: fix this
20
23
  const padding = useSelect('Padding', WORKSHOP_SPACE_OPTIONS, 3)
21
24
  const placeholder = useText('Placeholder', 'Placeholder')
25
+ // @ts-expect-error - TODO: fix this
22
26
  const radius = useSelect('Radius', WORKSHOP_RADIUS_OPTIONS, 2)
23
27
  const readOnly = useBoolean('Read only', false)
24
28
 
@@ -32,6 +36,7 @@ export default function PlainStory(): React.JSX.Element {
32
36
  justifyContent="center"
33
37
  padding={[4, 5, 6]}
34
38
  sizing="border"
39
+ // @ts-expect-error - TODO: fix this
35
40
  tone={tone}
36
41
  >
37
42
  <Container width={0}>
@@ -44,11 +49,14 @@ export default function PlainStory(): React.JSX.Element {
44
49
  border={border}
45
50
  customValidity={customValidity}
46
51
  disabled={disabled}
52
+ // @ts-expect-error - TODO: fix this
47
53
  fontSize={fontSize}
48
54
  id="text-area-example"
49
55
  onChange={(e) => setValue(e.target.value)}
56
+ // @ts-expect-error - TODO: fix this
50
57
  padding={padding}
51
58
  placeholder={placeholder}
59
+ // @ts-expect-error - TODO: fix this
52
60
  radius={radius}
53
61
  readOnly={readOnly}
54
62
  rows={10}
@@ -8,7 +8,7 @@ const scope: WorkshopScope = {
8
8
  {
9
9
  name: 'plain',
10
10
  title: 'Plain',
11
- component: lazy(() => import('./plain')),
11
+ component: lazy(() => import('./Plain')),
12
12
  },
13
13
  ],
14
14
  }