@sanity/ui 3.0.0-static.2 → 3.0.0-static.21

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 (829) hide show
  1. package/README.md +7 -6
  2. package/bin/{ui.js → sanity-ui.cjs} +1 -1
  3. package/dist/_chunks-cjs/_visual-editing.cjs +2488 -0
  4. package/dist/_chunks-cjs/_visual-editing.cjs.map +1 -0
  5. package/dist/_chunks-cjs/{refractor.js → refractor.cjs} +1 -2
  6. package/dist/_chunks-cjs/refractor.cjs.map +1 -0
  7. package/dist/_chunks-es/_visual-editing.js +2500 -0
  8. package/dist/_chunks-es/_visual-editing.js.map +1 -0
  9. package/dist/_chunks-es/{refractor.mjs → refractor.js} +1 -2
  10. package/dist/_chunks-es/refractor.js.map +1 -0
  11. package/dist/_visual-editing.cjs +30 -0
  12. package/dist/_visual-editing.cjs.map +1 -0
  13. package/dist/_visual-editing.d.cts +893 -0
  14. package/dist/_visual-editing.d.ts +503 -416
  15. package/dist/_visual-editing.js +29 -30
  16. package/dist/_visual-editing.js.map +1 -1
  17. package/dist/css.cjs +598 -0
  18. package/dist/css.cjs.map +1 -0
  19. package/dist/css.d.cts +14884 -0
  20. package/dist/css.d.ts +14379 -1630
  21. package/dist/css.js +480 -4594
  22. package/dist/css.js.map +1 -1
  23. package/dist/index.cjs +2222 -0
  24. package/dist/index.cjs.map +1 -0
  25. package/dist/{index.d.mts → index.d.cts} +1284 -961
  26. package/dist/index.d.ts +1284 -961
  27. package/dist/index.js +1270 -592
  28. package/dist/index.js.map +1 -1
  29. package/dist/{theme.mjs → theme.cjs} +2843 -2571
  30. package/dist/theme.cjs.map +1 -0
  31. package/dist/{theme.d.mts → theme.d.cts} +331 -311
  32. package/dist/theme.d.ts +331 -311
  33. package/dist/theme.js +2843 -2569
  34. package/dist/theme.js.map +1 -1
  35. package/dist/ui.css +22564 -0
  36. package/exports/_visual-editing.ts +0 -1
  37. package/package.json +84 -79
  38. package/src/cli/buildCommand.ts +3 -41
  39. package/src/cli/index.ts +2 -14
  40. package/src/core/_compat/helpers.ts +72 -0
  41. package/src/core/_compat/index.ts +1 -6
  42. package/src/core/_compat/styles/_responsive.ts +1 -1
  43. package/src/core/_compat/theme/theme.test.tsx +4 -5
  44. package/src/core/_compat/theme/themeColorProvider.tsx +4 -10
  45. package/src/core/_compat/theme/themeContext.ts +5 -5
  46. package/src/core/_compat/theme/themeProvider.tsx +19 -13
  47. package/src/core/_compat/theme/types.ts +2 -4
  48. package/src/core/_compat/theme/useRootTheme.ts +2 -4
  49. package/src/core/_compat/theme/useTheme.ts +3 -7
  50. package/src/core/_compat/types.ts +0 -73
  51. package/src/core/components/autocomplete/__workshop__/async.tsx +6 -6
  52. package/src/core/components/autocomplete/__workshop__/constrainedHeight.tsx +11 -18
  53. package/src/core/components/autocomplete/__workshop__/custom.tsx +21 -20
  54. package/src/core/components/autocomplete/__workshop__/example.tsx +17 -17
  55. package/src/core/components/autocomplete/__workshop__/focusAndBlur.tsx +5 -5
  56. package/src/core/components/autocomplete/__workshop__/fullscreen.tsx +57 -59
  57. package/src/core/components/autocomplete/autocomplete.tsx +106 -140
  58. package/src/core/components/autocomplete/autocompleteOption.tsx +1 -1
  59. package/src/core/components/autocomplete/autocompleteReducer.ts +1 -1
  60. package/src/core/components/autocomplete/constants.ts +1 -1
  61. package/src/core/components/autocomplete/types.ts +4 -9
  62. package/src/core/components/breadcrumbs/__workshop__/example.tsx +2 -3
  63. package/src/core/components/breadcrumbs/breadcrumbs.tsx +32 -28
  64. package/src/core/components/dialog/__workshop__/activate.tsx +4 -4
  65. package/src/core/components/dialog/__workshop__/autoFocus.tsx +2 -2
  66. package/src/core/components/dialog/__workshop__/onScroll.tsx +16 -4
  67. package/src/core/components/dialog/__workshop__/position.tsx +4 -4
  68. package/src/core/components/dialog/__workshop__/props.tsx +7 -7
  69. package/src/core/components/dialog/__workshop__/wrapped.tsx +2 -2
  70. package/src/core/components/dialog/dialog.tsx +104 -304
  71. package/src/core/components/dialog/dialogCard.tsx +190 -0
  72. package/src/core/components/dialog/dialogContext.ts +5 -3
  73. package/src/core/components/dialog/dialogProvider.tsx +6 -7
  74. package/src/core/components/dialog/isTargetWithinScope.ts +14 -0
  75. package/src/core/components/dialog/useDialog.ts +1 -1
  76. package/src/core/components/hotkeys/hotkeys.tsx +41 -27
  77. package/src/core/components/menu/__workshop__/asComponent.tsx +6 -6
  78. package/src/core/components/menu/__workshop__/closableMenuButton.tsx +5 -4
  79. package/src/core/components/menu/__workshop__/constrainedInBoundary.tsx +2 -2
  80. package/src/core/components/menu/__workshop__/customMenuItem.tsx +3 -3
  81. package/src/core/components/menu/__workshop__/disableFocusOnClose.tsx +1 -1
  82. package/src/core/components/menu/__workshop__/groups.tsx +2 -2
  83. package/src/core/components/menu/__workshop__/menuButton.tsx +4 -4
  84. package/src/core/components/menu/__workshop__/menuGroupRight.tsx +1 -1
  85. package/src/core/components/menu/__workshop__/nestedMenu.tsx +1 -1
  86. package/src/core/components/menu/__workshop__/onCloseMenuButton.tsx +13 -4
  87. package/src/core/components/menu/__workshop__/selectedItem.tsx +2 -2
  88. package/src/core/components/menu/__workshop__/tones.tsx +3 -3
  89. package/src/core/components/menu/__workshop__/withoutArrow.tsx +1 -1
  90. package/src/core/components/menu/menu.test.tsx +6 -7
  91. package/src/core/components/menu/menu.tsx +27 -35
  92. package/src/core/components/menu/menuButton.tsx +18 -24
  93. package/src/core/components/menu/menuContext.ts +1 -1
  94. package/src/core/components/menu/menuDivider.tsx +25 -15
  95. package/src/core/components/menu/menuGroup.tsx +39 -33
  96. package/src/core/components/menu/menuItem.tsx +58 -46
  97. package/src/core/components/menu/useMenu.ts +1 -1
  98. package/src/core/components/menu/useMenuController.ts +4 -4
  99. package/src/core/components/skeleton/__workshop__/delay.tsx +3 -3
  100. package/src/core/components/skeleton/__workshop__/skeleton.tsx +4 -4
  101. package/src/core/components/skeleton/codeSkeleton.tsx +49 -0
  102. package/src/core/components/skeleton/headingSkeleton.tsx +48 -0
  103. package/src/core/components/skeleton/index.ts +3 -0
  104. package/src/core/components/skeleton/labelSkeleton.tsx +47 -0
  105. package/src/core/components/skeleton/skeleton.tsx +37 -18
  106. package/src/core/components/skeleton/textSkeleton.tsx +29 -112
  107. package/src/core/components/tab/__workshop__/example.tsx +2 -2
  108. package/src/core/components/tab/tab.tsx +28 -26
  109. package/src/core/components/tab/tabList.tsx +49 -28
  110. package/src/core/components/tab/tabPanel.tsx +29 -22
  111. package/src/core/components/toast/__workshop__/hook.tsx +1 -1
  112. package/src/core/components/toast/__workshop__/toast.tsx +5 -5
  113. package/src/core/components/toast/toast.test.tsx +5 -5
  114. package/src/core/components/toast/toast.tsx +30 -57
  115. package/src/core/components/toast/toastContext.ts +1 -1
  116. package/src/core/components/toast/toastLayer.tsx +29 -13
  117. package/src/core/components/toast/toastProvider.tsx +5 -10
  118. package/src/core/components/toast/types.ts +3 -7
  119. package/src/core/components/toast/useToast.ts +2 -4
  120. package/src/core/components/tree/__workshop__/basic.perf.ts +1 -1
  121. package/src/core/components/tree/__workshop__/basic.tsx +1 -1
  122. package/src/core/components/tree/__workshop__/tabFromElement.tsx +1 -1
  123. package/src/core/components/tree/helpers.ts +1 -1
  124. package/src/core/components/tree/tree.tsx +196 -191
  125. package/src/core/components/tree/treeContext.ts +1 -1
  126. package/src/core/components/tree/treeGroup.tsx +24 -6
  127. package/src/core/components/tree/treeItem.tsx +44 -34
  128. package/src/core/components/tree/types.ts +2 -2
  129. package/src/core/components/tree/useTree.ts +1 -1
  130. package/src/core/constants.ts +6 -0
  131. package/src/core/helpers/props.ts +18 -0
  132. package/src/core/hooks/index.ts +1 -0
  133. package/src/core/hooks/useArrayProp.ts +1 -4
  134. package/src/core/hooks/useClickOutside.test.tsx +15 -16
  135. package/src/core/hooks/useClickOutside.ts +2 -6
  136. package/src/core/hooks/useClickOutsideEvent.test.tsx +4 -5
  137. package/src/core/hooks/useClickOutsideEvent.ts +3 -9
  138. package/src/core/hooks/useDelayed.test.ts +6 -7
  139. package/src/core/hooks/useDelayedState.ts +1 -1
  140. package/src/core/hooks/useElementRect/__workshop__/example.tsx +1 -1
  141. package/src/core/hooks/useElementSize.ts +1 -1
  142. package/src/core/hooks/useForwardedRef.ts +1 -1
  143. package/src/core/hooks/useMatchMedia.ts +13 -31
  144. package/src/core/hooks/useMediaIndex/__workshop__/test.tsx +1 -1
  145. package/src/core/hooks/useMediaIndex/useMediaIndex.test.tsx +3 -18
  146. package/src/core/hooks/useMediaIndex/useMediaIndex.ts +12 -12
  147. package/src/core/hooks/usePrefersDark.hydration.test.tsx +4 -4
  148. package/src/core/hooks/usePrefersDark.test.tsx +1 -0
  149. package/src/core/hooks/usePrefersReducedMotion.hydration.test.tsx +4 -4
  150. package/src/core/hooks/usePrefersReducedMotion.test.tsx +1 -0
  151. package/src/core/hooks/useResponsiveProp.ts +28 -0
  152. package/src/core/index.ts +0 -1
  153. package/src/core/lib/isArray.ts +3 -0
  154. package/src/core/middleware/origin.ts +1 -1
  155. package/src/core/primitives/_selectable/selectable.tsx +33 -24
  156. package/src/core/primitives/avatar/__workshop__/asButton.tsx +2 -2
  157. package/src/core/primitives/avatar/__workshop__/stack.tsx +2 -2
  158. package/src/core/primitives/avatar/__workshop__/withinButton.tsx +2 -2
  159. package/src/core/primitives/avatar/__workshop__/withinMenuItem.tsx +1 -1
  160. package/src/core/primitives/avatar/avatar.tsx +43 -48
  161. package/src/core/primitives/avatar/avatarCounter.tsx +46 -39
  162. package/src/core/primitives/avatar/avatarStack.tsx +44 -45
  163. package/src/core/primitives/avatar/types.ts +3 -3
  164. package/src/core/primitives/badge/__workshop__/props.tsx +6 -17
  165. package/src/core/primitives/badge/__workshop__/tones.tsx +1 -6
  166. package/src/core/primitives/badge/badge.test.tsx +2 -3
  167. package/src/core/primitives/badge/badge.tsx +34 -40
  168. package/src/core/primitives/badge/types.ts +2 -1
  169. package/src/core/primitives/box/__workshop__/props.tsx +2 -2
  170. package/src/core/primitives/box/__workshop__/responsive.tsx +2 -1
  171. package/src/core/primitives/box/box.tsx +153 -88
  172. package/src/core/primitives/button/__workshop__/custom.tsx +19 -42
  173. package/src/core/primitives/button/__workshop__/customIcons.tsx +3 -3
  174. package/src/core/primitives/button/__workshop__/disabled.tsx +9 -9
  175. package/src/core/primitives/button/__workshop__/props.tsx +19 -22
  176. package/src/core/primitives/button/__workshop__/sanityUploadButton.tsx +3 -3
  177. package/src/core/primitives/button/__workshop__/stacked.tsx +15 -16
  178. package/src/core/primitives/button/__workshop__/uploadButton.tsx +2 -1
  179. package/src/core/primitives/button/button.test.tsx +3 -18
  180. package/src/core/primitives/button/button.tsx +67 -76
  181. package/src/core/primitives/card/__workshop__/asButton.tsx +14 -14
  182. package/src/core/primitives/card/__workshop__/asComponent.tsx +3 -3
  183. package/src/core/primitives/card/__workshop__/checkered.tsx +1 -1
  184. package/src/core/primitives/card/__workshop__/index.ts +1 -1
  185. package/src/core/primitives/card/__workshop__/interactive.tsx +3 -4
  186. package/src/core/primitives/card/__workshop__/listNavigation.tsx +3 -3
  187. package/src/core/primitives/card/__workshop__/props.tsx +14 -17
  188. package/src/core/primitives/card/__workshop__/selected.tsx +10 -41
  189. package/src/core/primitives/card/__workshop__/{allTones.tsx → tones.tsx} +3 -3
  190. package/src/core/primitives/card/card.tsx +52 -48
  191. package/src/core/primitives/card/cardContext.ts +10 -0
  192. package/src/core/primitives/card/cardProvider.tsx +27 -0
  193. package/src/core/primitives/card/index.ts +2 -0
  194. package/src/core/primitives/card/types.ts +19 -3
  195. package/src/core/primitives/card/useCard.ts +9 -0
  196. package/src/core/primitives/checkbox/__workshop__/props.tsx +6 -4
  197. package/src/core/primitives/checkbox/__workshop__/tones.tsx +11 -20
  198. package/src/core/primitives/checkbox/checkbox.tsx +30 -23
  199. package/src/core/primitives/code/__workshop__/opticalAlignment.tsx +1 -1
  200. package/src/core/primitives/code/__workshop__/props.tsx +4 -7
  201. package/src/core/primitives/code/code.tsx +27 -30
  202. package/src/core/primitives/code/refractor.tsx +0 -2
  203. package/src/core/primitives/container/__workshop__/example.tsx +2 -2
  204. package/src/core/primitives/container/container.tsx +27 -25
  205. package/src/core/primitives/flex/__workshop__/example.tsx +2 -2
  206. package/src/core/primitives/flex/flex.tsx +44 -17
  207. package/src/core/primitives/grid/grid.tsx +20 -17
  208. package/src/core/primitives/heading/__workshop__/opticalAlignment.tsx +2 -2
  209. package/src/core/primitives/heading/__workshop__/plain.tsx +12 -15
  210. package/src/core/primitives/heading/heading.tsx +51 -33
  211. package/src/core/primitives/inline/__workshop__/plain.tsx +2 -5
  212. package/src/core/primitives/inline/inline.tsx +46 -27
  213. package/src/core/primitives/inline/types.ts +1 -0
  214. package/src/core/primitives/kbd/kbd.tsx +28 -28
  215. package/src/core/primitives/label/__workshop__/plain.tsx +8 -17
  216. package/src/core/primitives/label/label.tsx +49 -39
  217. package/src/core/primitives/popover/__workshop__/AlignedStory.tsx +6 -6
  218. package/src/core/primitives/popover/__workshop__/MatchReferenceWidthStory.tsx +3 -3
  219. package/src/core/primitives/popover/__workshop__/OpenOnMountStory.tsx +1 -1
  220. package/src/core/primitives/popover/__workshop__/PlainStory.tsx +3 -3
  221. package/src/core/primitives/popover/__workshop__/RecursiveStory.tsx +3 -4
  222. package/src/core/primitives/popover/__workshop__/SidePanelStory.tsx +10 -6
  223. package/src/core/primitives/popover/__workshop__/TestStory.tsx +5 -4
  224. package/src/core/primitives/popover/constants.ts +1 -1
  225. package/src/core/primitives/popover/floating-ui/size.ts +2 -2
  226. package/src/core/primitives/popover/helpers.ts +1 -1
  227. package/src/core/primitives/popover/popover.tsx +299 -335
  228. package/src/core/primitives/popover/popoverLayer.tsx +147 -0
  229. package/src/core/primitives/popover/types.ts +3 -2
  230. package/src/core/primitives/radio/__workshop__/example.tsx +3 -3
  231. package/src/core/primitives/radio/__workshop__/plain.tsx +3 -3
  232. package/src/core/primitives/radio/radio.tsx +34 -19
  233. package/src/core/primitives/select/__workshop__/plain.tsx +15 -6
  234. package/src/core/primitives/select/__workshop__/readOnly.tsx +1 -1
  235. package/src/core/primitives/select/select.tsx +28 -28
  236. package/src/core/primitives/spinner/__workshop__/Props.tsx +4 -5
  237. package/src/core/primitives/spinner/animatedSpinnerIcon.tsx +7 -9
  238. package/src/core/primitives/spinner/spinner.tsx +27 -15
  239. package/src/core/primitives/stack/__workshop__/plain.tsx +2 -2
  240. package/src/core/primitives/stack/stack.tsx +44 -20
  241. package/src/core/primitives/switch/switch.tsx +31 -17
  242. package/src/core/primitives/text/__workshop__/colored.tsx +6 -6
  243. package/src/core/primitives/text/__workshop__/example.tsx +9 -20
  244. package/src/core/primitives/text/__workshop__/opticalAlignment.tsx +1 -1
  245. package/src/core/primitives/text/text.tsx +52 -44
  246. package/src/core/primitives/textArea/__workshop__/plain.tsx +44 -33
  247. package/src/core/primitives/textArea/textArea.tsx +47 -22
  248. package/src/core/primitives/textInput/__workshop__/customValidity.tsx +2 -2
  249. package/src/core/primitives/textInput/__workshop__/plain.tsx +36 -30
  250. package/src/core/primitives/textInput/__workshop__/states.tsx +5 -5
  251. package/src/core/primitives/textInput/__workshop__/tones.tsx +2 -2
  252. package/src/core/primitives/textInput/__workshop__/typed.tsx +2 -2
  253. package/src/core/primitives/textInput/textInput.tsx +80 -106
  254. package/src/core/primitives/tooltip/__workshop__/customPortal.tsx +5 -5
  255. package/src/core/primitives/tooltip/__workshop__/overflowingBoundary.tsx +2 -2
  256. package/src/core/primitives/tooltip/__workshop__/props.tsx +9 -8
  257. package/src/core/primitives/tooltip/__workshop__/resizableBoundary.tsx +1 -1
  258. package/src/core/primitives/tooltip/constants.ts +1 -1
  259. package/src/core/primitives/tooltip/tooltip.test.tsx +61 -60
  260. package/src/core/primitives/tooltip/tooltip.tsx +107 -90
  261. package/src/core/primitives/tooltip/tooltipDelayGroup/tooltipDelayGroupContext.tsx +1 -1
  262. package/src/core/primitives/tooltip/tooltipDelayGroup/tooltipDelayGroupProvider.tsx +3 -5
  263. package/src/core/primitives/tooltip/tooltipDelayGroup/useTooltipDelayGroup.ts +1 -1
  264. package/src/core/primitives/tooltip/tooltipLayer.tsx +105 -0
  265. package/src/core/primitives/types.ts +19 -30
  266. package/src/core/types/avatar.ts +3 -6
  267. package/src/core/types/badge.ts +2 -4
  268. package/src/core/types/button.ts +2 -4
  269. package/src/core/types/card.ts +2 -4
  270. package/src/core/types/dialog.ts +1 -3
  271. package/src/core/types/flex.ts +3 -3
  272. package/src/core/types/props.ts +20 -10
  273. package/src/core/types/selectable.ts +1 -1
  274. package/src/core/utils/arrow/arrow.tsx +43 -28
  275. package/src/core/utils/boundaryElement/boundaryElement.test.tsx +5 -5
  276. package/src/core/utils/boundaryElement/boundaryElementContext.ts +1 -1
  277. package/src/core/utils/boundaryElement/boundaryElementProvider.tsx +4 -10
  278. package/src/core/utils/boundaryElement/types.ts +1 -3
  279. package/src/core/utils/boundaryElement/useBoundaryElement.ts +2 -4
  280. package/src/core/utils/elementQuery/__workshop__/customMedia.tsx +15 -8
  281. package/src/core/utils/elementQuery/elementQuery.tsx +41 -19
  282. package/src/core/utils/errorBoundary.tsx +6 -4
  283. package/src/core/utils/index.ts +0 -1
  284. package/src/core/utils/layer/__workshop__/multipleRoots.tsx +5 -5
  285. package/src/core/utils/layer/__workshop__/nested.tsx +3 -3
  286. package/src/core/utils/layer/__workshop__/responsiveZOffset.tsx +9 -5
  287. package/src/core/utils/layer/getLayerContext.test.ts +3 -1
  288. package/src/core/utils/layer/getLayerContext.ts +1 -1
  289. package/src/core/utils/layer/layer.test.tsx +5 -5
  290. package/src/core/utils/layer/layer.tsx +25 -95
  291. package/src/core/utils/layer/layerCard.tsx +90 -0
  292. package/src/core/utils/layer/layerContext.ts +1 -1
  293. package/src/core/utils/layer/layerProvider.tsx +20 -17
  294. package/src/core/utils/layer/useLayer.ts +2 -4
  295. package/src/core/utils/portal/__workshop__/named.tsx +3 -3
  296. package/src/core/utils/portal/portal.test.tsx +5 -5
  297. package/src/core/utils/portal/{portal.ts → portal.tsx} +17 -11
  298. package/src/core/utils/portal/portalContext.ts +1 -1
  299. package/src/core/utils/portal/portalProvider.tsx +4 -10
  300. package/src/core/utils/portal/types.ts +1 -3
  301. package/src/core/utils/portal/usePortal.ts +2 -4
  302. package/src/core/utils/srOnly/srOnly.tsx +25 -27
  303. package/src/core/utils/virtualList/__workshop__/infiniteList.tsx +1 -1
  304. package/src/core/utils/virtualList/virtualList.tsx +71 -55
  305. package/src/css/__theme/index.ts +16 -0
  306. package/src/css/__theme/lib/contract/buildVarContract.ts +78 -0
  307. package/src/css/__theme/lib/contract/index.ts +4 -0
  308. package/src/css/__theme/lib/contract/types.ts +17 -0
  309. package/src/css/__theme/resolveTheme.ts +865 -0
  310. package/src/css/_assign.ts +3 -0
  311. package/src/css/_composeClassNames.ts +12 -0
  312. package/src/css/_fromEntries.ts +3 -0
  313. package/src/css/_getClassNames.ts +9 -0
  314. package/src/css/_responsiveClassName.ts +45 -0
  315. package/src/css/_responsiveStyle.css.ts +34 -0
  316. package/src/css/_style.css.ts +9 -0
  317. package/src/css/components/breadcrumbs/breadcrumbs.css.ts +6 -0
  318. package/src/css/components/breadcrumbs/breadcrumbs.ts +5 -3
  319. package/src/css/components/dialog/dialog.css.ts +81 -0
  320. package/src/css/components/dialog/dialog.ts +20 -11
  321. package/src/css/components/index.ts +6 -0
  322. package/src/css/components/menu/menu.css.ts +14 -0
  323. package/src/css/components/menu/menu.ts +8 -5
  324. package/src/css/components/skeleton/skeleton.css.ts +132 -0
  325. package/src/css/components/skeleton/skeleton.ts +14 -9
  326. package/src/css/components/skeleton/types.ts +13 -5
  327. package/src/css/components/toast/toast.css.ts +16 -0
  328. package/src/css/components/toast/toast.ts +5 -15
  329. package/src/css/components/tree/tree.css.ts +65 -0
  330. package/src/css/components/tree/tree.ts +5 -3
  331. package/src/css/constants.ts +10 -0
  332. package/src/css/defaultTheme.css.ts +468 -0
  333. package/src/css/index.ts +12 -38
  334. package/src/css/layers.css.ts +9 -0
  335. package/src/css/primitives/_arrow/_arrow.css.ts +68 -0
  336. package/src/css/primitives/_arrow/_arrow.ts +18 -6
  337. package/src/css/primitives/_input/_input.css.ts +258 -0
  338. package/src/css/primitives/_input/input.ts +17 -14
  339. package/src/css/primitives/_input/types.ts +3 -3
  340. package/src/css/primitives/_selectable/_selectable.css.ts +121 -0
  341. package/src/css/primitives/_selectable/selectable.ts +5 -5
  342. package/src/css/primitives/_selectable/types.ts +3 -2
  343. package/src/css/primitives/avatar/avatar.css.ts +175 -0
  344. package/src/css/primitives/avatar/avatar.ts +52 -11
  345. package/src/css/primitives/avatar/types.ts +5 -3
  346. package/src/css/primitives/badge/badge.css.ts +26 -0
  347. package/src/css/primitives/badge/badge.ts +4 -4
  348. package/src/css/primitives/badge/types.ts +5 -4
  349. package/src/css/primitives/box/box.css.ts +19 -0
  350. package/src/css/primitives/box/box.ts +52 -16
  351. package/src/css/primitives/box/types.ts +46 -22
  352. package/src/css/primitives/button/button.css.ts +285 -0
  353. package/src/css/primitives/button/button.ts +15 -33
  354. package/src/css/primitives/button/index.ts +1 -0
  355. package/src/css/primitives/button/types.ts +19 -0
  356. package/src/css/primitives/card/card.css.ts +365 -0
  357. package/src/css/primitives/card/card.ts +9 -12
  358. package/src/css/primitives/card/types.ts +4 -6
  359. package/src/css/primitives/checkbox/checkbox.css.ts +193 -0
  360. package/src/css/primitives/checkbox/checkbox.ts +13 -5
  361. package/src/css/primitives/code/code.css.ts +271 -0
  362. package/src/css/primitives/code/code.ts +13 -5
  363. package/src/css/primitives/code/types.ts +4 -3
  364. package/src/css/primitives/container/container.css.ts +4 -0
  365. package/src/css/primitives/container/container.ts +12 -4
  366. package/src/css/primitives/container/types.ts +4 -2
  367. package/src/css/primitives/heading/heading.css.ts +85 -0
  368. package/src/css/primitives/heading/heading.ts +13 -11
  369. package/src/css/primitives/heading/types.ts +6 -3
  370. package/src/css/primitives/index.ts +24 -0
  371. package/src/css/primitives/kbd/kbd.css.ts +16 -0
  372. package/src/css/primitives/kbd/kbd.ts +6 -4
  373. package/src/css/primitives/kbd/types.ts +2 -3
  374. package/src/css/primitives/label/label.css.ts +85 -0
  375. package/src/css/primitives/label/label.ts +13 -10
  376. package/src/css/primitives/label/types.ts +13 -5
  377. package/src/css/primitives/popover/popover.css.ts +6 -0
  378. package/src/css/primitives/popover/popover.ts +10 -3
  379. package/src/css/primitives/radio/radio.css.ts +78 -0
  380. package/src/css/primitives/radio/radio.ts +15 -3
  381. package/src/css/primitives/select/select.css.ts +24 -0
  382. package/src/css/primitives/select/select.ts +7 -4
  383. package/src/css/primitives/select/types.ts +1 -1
  384. package/src/css/primitives/spinner/index.ts +1 -0
  385. package/src/css/primitives/spinner/spinner.css.ts +23 -0
  386. package/src/css/primitives/spinner/spinner.ts +9 -5
  387. package/src/css/primitives/spinner/types.ts +4 -0
  388. package/src/css/primitives/stack/index.ts +1 -0
  389. package/src/css/primitives/stack/stack.css.ts +6 -0
  390. package/src/css/primitives/stack/stack.ts +7 -0
  391. package/src/css/primitives/switch/switch.css.ts +98 -0
  392. package/src/css/primitives/switch/switch.ts +13 -7
  393. package/src/css/primitives/text/text.css.ts +85 -0
  394. package/src/css/primitives/text/text.ts +13 -11
  395. package/src/css/primitives/text/types.ts +9 -3
  396. package/src/css/primitives/textArea/textArea.css.ts +4 -0
  397. package/src/css/primitives/textArea/textArea.ts +5 -3
  398. package/src/css/primitives/textArea/types.ts +5 -3
  399. package/src/css/primitives/textInput/textInput.css.ts +41 -0
  400. package/src/css/primitives/textInput/textInput.ts +20 -4
  401. package/src/css/primitives/textInput/types.ts +3 -7
  402. package/src/css/primitives/tooltip/index.ts +1 -0
  403. package/src/css/primitives/tooltip/tooltip.css.ts +6 -0
  404. package/src/css/primitives/tooltip/tooltip.ts +8 -7
  405. package/src/css/primitives/tooltip/types.ts +4 -0
  406. package/src/css/props/alignItems/alignItems.css.ts +22 -0
  407. package/src/css/props/alignItems/alignItems.ts +8 -0
  408. package/src/css/props/alignItems/index.ts +2 -0
  409. package/src/css/props/alignItems/types.ts +9 -0
  410. package/src/css/props/border/border.css.ts +65 -0
  411. package/src/css/props/border/border.ts +36 -0
  412. package/src/css/props/border/types.ts +13 -0
  413. package/src/css/props/boxSizing/boxSizing.css.ts +11 -0
  414. package/src/css/props/boxSizing/boxSizing.ts +10 -0
  415. package/src/css/props/boxSizing/index.ts +2 -0
  416. package/src/css/props/boxSizing/types.ts +7 -0
  417. package/src/css/props/display/display.css.ts +56 -0
  418. package/src/css/props/display/display.ts +17 -0
  419. package/src/css/{styles → props}/display/types.ts +3 -4
  420. package/src/css/props/flex/flex.css.ts +52 -0
  421. package/src/css/props/flex/flex.ts +8 -0
  422. package/src/css/props/flex/types.ts +9 -0
  423. package/src/css/props/flexDirection/flexDirection.css.ts +19 -0
  424. package/src/css/props/flexDirection/flexDirection.ts +8 -0
  425. package/src/css/props/flexDirection/index.ts +2 -0
  426. package/src/css/props/flexDirection/types.ts +9 -0
  427. package/src/css/props/flexWrap/flexWrap.css.ts +16 -0
  428. package/src/css/props/flexWrap/flexWrap.ts +8 -0
  429. package/src/css/props/flexWrap/index.ts +2 -0
  430. package/src/css/props/flexWrap/types.ts +9 -0
  431. package/src/css/props/font/font.css.ts +93 -0
  432. package/src/css/props/font/font.ts +8 -0
  433. package/src/css/props/font/types.ts +6 -0
  434. package/src/css/props/gap/gap.css.ts +40 -0
  435. package/src/css/props/gap/gap.ts +13 -0
  436. package/src/css/{styles → props}/gap/types.ts +2 -2
  437. package/src/css/props/gridAutoColumns/gridAutoColumns.css.ts +19 -0
  438. package/src/css/props/gridAutoColumns/gridAutoColumns.ts +8 -0
  439. package/src/css/props/gridAutoColumns/index.ts +2 -0
  440. package/src/css/props/gridAutoColumns/types.ts +19 -0
  441. package/src/css/props/gridAutoFlow/gridAutoFlow.css.ts +19 -0
  442. package/src/css/props/gridAutoFlow/gridAutoFlow.ts +8 -0
  443. package/src/css/props/gridAutoFlow/index.ts +2 -0
  444. package/src/css/props/gridAutoFlow/types.ts +13 -0
  445. package/src/css/props/gridAutoRows/gridAutoRows.css.ts +19 -0
  446. package/src/css/props/gridAutoRows/gridAutoRows.ts +8 -0
  447. package/src/css/props/gridAutoRows/index.ts +2 -0
  448. package/src/css/props/gridAutoRows/types.ts +13 -0
  449. package/src/css/props/gridColumn/gridColumn.css.ts +49 -0
  450. package/src/css/props/gridColumn/gridColumn.ts +8 -0
  451. package/src/css/props/gridColumn/index.ts +2 -0
  452. package/src/css/props/gridColumn/types.ts +19 -0
  453. package/src/css/props/gridColumnEnd/gridColumnEnd.css.ts +46 -0
  454. package/src/css/props/gridColumnEnd/gridColumnEnd.ts +8 -0
  455. package/src/css/props/gridColumnEnd/index.ts +2 -0
  456. package/src/css/props/gridColumnEnd/types.ts +19 -0
  457. package/src/css/props/gridColumnStart/gridColumnStart.css.ts +46 -0
  458. package/src/css/props/gridColumnStart/gridColumnStart.ts +11 -0
  459. package/src/css/props/gridColumnStart/index.ts +2 -0
  460. package/src/css/props/gridColumnStart/types.ts +19 -0
  461. package/src/css/props/gridRow/gridRow.css.ts +49 -0
  462. package/src/css/props/gridRow/gridRow.ts +8 -0
  463. package/src/css/props/gridRow/index.ts +2 -0
  464. package/src/css/props/gridRow/types.ts +19 -0
  465. package/src/css/props/gridRowEnd/gridRowEnd.css.ts +46 -0
  466. package/src/css/props/gridRowEnd/gridRowEnd.ts +8 -0
  467. package/src/css/props/gridRowEnd/index.ts +2 -0
  468. package/src/css/props/gridRowEnd/types.ts +19 -0
  469. package/src/css/props/gridRowStart/gridRowStart.css.ts +46 -0
  470. package/src/css/props/gridRowStart/gridRowStart.ts +8 -0
  471. package/src/css/props/gridRowStart/index.ts +2 -0
  472. package/src/css/props/gridRowStart/types.ts +19 -0
  473. package/src/css/props/gridTemplateColumns/gridTemplateColumns.css.ts +43 -0
  474. package/src/css/props/gridTemplateColumns/gridTemplateColumns.ts +8 -0
  475. package/src/css/props/gridTemplateColumns/index.ts +2 -0
  476. package/src/css/props/gridTemplateColumns/types.ts +19 -0
  477. package/src/css/props/gridTemplateRows/gridTemplateRows.css.ts +43 -0
  478. package/src/css/props/gridTemplateRows/gridTemplateRows.ts +8 -0
  479. package/src/css/props/gridTemplateRows/index.ts +2 -0
  480. package/src/css/props/gridTemplateRows/types.ts +19 -0
  481. package/src/css/props/height/height.css.ts +25 -0
  482. package/src/css/props/height/height.ts +8 -0
  483. package/src/css/props/height/index.ts +2 -0
  484. package/src/css/props/height/types.ts +15 -0
  485. package/src/css/props/index.ts +37 -0
  486. package/src/css/props/inset/inset.css.ts +37 -0
  487. package/src/css/props/inset/inset.ts +21 -0
  488. package/src/css/{styles → props}/inset/types.ts +1 -1
  489. package/src/css/props/justifyContent/index.ts +2 -0
  490. package/src/css/props/justifyContent/justifyContent.css.ts +25 -0
  491. package/src/css/props/justifyContent/justifyContent.ts +8 -0
  492. package/src/css/props/justifyContent/types.ts +15 -0
  493. package/src/css/props/margin/margin.css.ts +117 -0
  494. package/src/css/props/margin/margin.ts +25 -0
  495. package/src/css/props/margin/types.ts +17 -0
  496. package/src/css/props/maxWidth/maxWidth.css.ts +32 -0
  497. package/src/css/props/maxWidth/maxWidth.ts +8 -0
  498. package/src/css/props/maxWidth/types.ts +11 -0
  499. package/src/css/props/minHeight/index.ts +2 -0
  500. package/src/css/props/minHeight/minHeight.css.ts +13 -0
  501. package/src/css/props/minHeight/minHeight.ts +8 -0
  502. package/src/css/props/minHeight/types.ts +9 -0
  503. package/src/css/props/minWidth/index.ts +2 -0
  504. package/src/css/props/minWidth/minWidth.css.ts +25 -0
  505. package/src/css/props/minWidth/minWidth.ts +8 -0
  506. package/src/css/props/minWidth/types.ts +9 -0
  507. package/src/css/props/outline/index.ts +2 -0
  508. package/src/css/props/outline/outline.css.ts +10 -0
  509. package/src/css/props/outline/outline.ts +8 -0
  510. package/src/css/props/outline/types.ts +7 -0
  511. package/src/css/props/overflow/overflow.css.ts +16 -0
  512. package/src/css/props/overflow/overflow.ts +8 -0
  513. package/src/css/props/overflow/types.ts +17 -0
  514. package/src/css/props/padding/padding.css.ts +87 -0
  515. package/src/css/props/padding/padding.ts +25 -0
  516. package/src/css/props/padding/types.ts +17 -0
  517. package/src/css/props/pointerEvents/pointerEvents.css.ts +13 -0
  518. package/src/css/props/pointerEvents/pointerEvents.ts +8 -0
  519. package/src/css/props/position/position.css.ts +22 -0
  520. package/src/css/props/position/position.ts +8 -0
  521. package/src/css/{styles → props}/position/types.ts +1 -1
  522. package/src/css/props/radius/radius.css.ts +21 -0
  523. package/src/css/props/radius/radius.ts +8 -0
  524. package/src/css/props/radius/types.ts +8 -0
  525. package/src/css/props/shadow/shadow.css.ts +23 -0
  526. package/src/css/props/shadow/shadow.ts +8 -0
  527. package/src/css/props/shadow/types.ts +8 -0
  528. package/src/css/props/textAlign/index.ts +2 -0
  529. package/src/css/props/textAlign/textAlign.css.ts +22 -0
  530. package/src/css/props/textAlign/textAlign.ts +8 -0
  531. package/src/css/props/textAlign/types.ts +7 -0
  532. package/src/css/props/textOverflow/textOverflow.css.ts +13 -0
  533. package/src/css/props/textOverflow/textOverflow.ts +8 -0
  534. package/src/css/{styles → props}/textOverflow/types.ts +5 -1
  535. package/src/css/props/width/types.ts +11 -0
  536. package/src/css/props/width/width.css.ts +28 -0
  537. package/src/css/props/width/width.ts +8 -0
  538. package/src/css/types.ts +221 -766
  539. package/src/css/util.ts +3 -8
  540. package/src/css/utils/index.ts +1 -0
  541. package/src/css/utils/srOnly/srOnly.css.ts +10 -0
  542. package/src/css/utils/srOnly/srOnly.ts +5 -3
  543. package/src/css/vars.css.ts +676 -0
  544. package/src/theme/getScopedTheme.ts +4 -4
  545. package/src/theme/index.ts +0 -5
  546. package/src/theme/types.ts +6 -10
  547. package/src/theme/v0/color/_generic.ts +1 -1
  548. package/src/theme/v0/color/button.ts +1 -1
  549. package/src/theme/v0/color/card.ts +1 -1
  550. package/src/theme/v0/color/color.ts +11 -11
  551. package/src/theme/v0/color/input.ts +1 -1
  552. package/src/theme/v0/color/muted.ts +1 -1
  553. package/src/theme/v0/color/selectable.ts +1 -1
  554. package/src/theme/v0/color/solid.ts +1 -1
  555. package/src/theme/v0/color/spot.ts +1 -1
  556. package/src/theme/v0/focusRing.ts +1 -3
  557. package/src/theme/v0/font.ts +6 -19
  558. package/src/theme/v0/layer.ts +1 -3
  559. package/src/theme/v0/shadow.ts +2 -6
  560. package/src/theme/v0/styles.ts +1 -1
  561. package/src/theme/v0/theme.ts +7 -7
  562. package/src/theme/v2/avatar.ts +2 -4
  563. package/src/theme/{build → v2/build}/_deprecated/color/_selectable/createSelectableTones.ts +3 -3
  564. package/src/theme/{build → v2/build}/_deprecated/color/_solid/createSolidTones.ts +2 -2
  565. package/src/theme/{build → v2/build}/_deprecated/color/button/createButtonModes.ts +7 -2
  566. package/src/theme/{build → v2/build}/_deprecated/color/button/createButtonTones.ts +4 -4
  567. package/src/theme/{build → v2/build}/_deprecated/color/card/createCardStates.ts +3 -3
  568. package/src/theme/{build → v2/build}/_deprecated/color/color.test.ts +1 -1
  569. package/src/theme/{build → v2/build}/_deprecated/color/defaults.ts +1 -1
  570. package/src/theme/{build → v2/build}/_deprecated/color/factory.ts +3 -3
  571. package/src/theme/{build → v2/build}/_deprecated/color/input/createInputModes.ts +7 -2
  572. package/src/theme/{build → v2/build}/_deprecated/color/muted/createMuted.ts +2 -2
  573. package/src/theme/{build → v2/build}/_deprecated/color/spot/createSpot.ts +2 -2
  574. package/src/theme/{build → v2/build}/buildColorTheme.test.ts +3 -1
  575. package/src/theme/{build → v2/build}/buildColorTheme.ts +24 -24
  576. package/src/theme/{build → v2/build}/buildTheme.test.ts +10 -8
  577. package/src/theme/v2/build/buildTheme.ts +12 -0
  578. package/src/theme/{build → v2/build}/colorToken/colorToken.ts +2 -2
  579. package/src/theme/{build → v2/build}/colorToken/compileColorToken.ts +1 -1
  580. package/src/theme/{build → v2/build}/colorToken/types.ts +2 -2
  581. package/src/theme/{build → v2/build}/lib/color-fns/blend/mix.ts +1 -1
  582. package/src/theme/{build → v2/build}/lib/color-fns/blend/multiply.ts +1 -1
  583. package/src/theme/{build → v2/build}/lib/color-fns/blend/screen.ts +1 -1
  584. package/src/theme/{build → v2/build}/lib/color-fns/color-fns.test.ts +1 -1
  585. package/src/theme/{build → v2/build}/lib/color-fns/contrastRatio.ts +5 -2
  586. package/src/theme/{build → v2/build}/lib/color-fns/convert.ts +1 -1
  587. package/src/theme/{build → v2/build}/lib/color-fns/parse.ts +1 -1
  588. package/src/theme/{build → v2/build}/mixThemeColor.test.ts +2 -0
  589. package/src/theme/{build → v2/build}/mixThemeColor.ts +1 -1
  590. package/src/theme/{build → v2/build}/renderColorTheme.ts +27 -27
  591. package/src/theme/{build → v2/build}/renderColorValue.ts +3 -3
  592. package/src/theme/{build → v2/build}/resolveColorTokens.ts +13 -13
  593. package/src/theme/v2/color/_helpers.ts +2 -2
  594. package/src/theme/v2/color/_system.ts +2 -4
  595. package/src/theme/v2/color/avatar.ts +3 -7
  596. package/src/theme/v2/color/badge.ts +3 -7
  597. package/src/theme/v2/color/button.ts +5 -11
  598. package/src/theme/v2/color/color.ts +10 -16
  599. package/src/theme/v2/color/input.ts +8 -10
  600. package/src/theme/v2/color/kbd.ts +1 -3
  601. package/src/theme/v2/color/selectable.ts +4 -8
  602. package/src/theme/v2/color/state.ts +5 -7
  603. package/src/theme/v2/color/syntax.ts +1 -3
  604. package/src/theme/{config → v2/config}/helpers.ts +6 -13
  605. package/src/theme/{config → v2/config}/system.ts +11 -12
  606. package/src/theme/{config → v2/config}/tokens/color/types.ts +14 -10
  607. package/src/theme/{config → v2/config}/tokens/index.ts +0 -1
  608. package/src/theme/{config → v2/config}/tokens/parseTokenValue.test.ts +2 -0
  609. package/src/theme/{config → v2/config}/tokens/parseTokenValue.ts +2 -2
  610. package/src/theme/{config → v2/config}/tokens/types.ts +3 -3
  611. package/src/theme/{config → v2/config}/types.ts +8 -6
  612. package/src/theme/{defaults → v2/defaults}/colorPalette.ts +1 -1
  613. package/src/theme/{defaults → v2/defaults}/colorTokens.ts +3 -3
  614. package/src/theme/{defaults → v2/defaults}/config.ts +2 -2
  615. package/src/theme/{defaults → v2/defaults}/fonts.ts +5 -6
  616. package/src/theme/v2/index.ts +2 -0
  617. package/src/theme/v2/input.ts +2 -4
  618. package/src/theme/v2/theme.ts +10 -14
  619. package/src/theme/{_constants.ts → v3/_constants.ts} +6 -3
  620. package/src/theme/v3/{color/parseColor.ts → _parseColorToken.ts} +59 -46
  621. package/src/theme/v3/buildTheme_v3.ts +20 -11
  622. package/src/theme/v3/color/_constants.ts +15 -0
  623. package/src/theme/v3/color/avatar.ts +14 -0
  624. package/src/theme/v3/color/card.ts +58 -95
  625. package/src/theme/v3/color/color.ts +75 -71
  626. package/src/theme/v3/color/element.ts +8 -8
  627. package/src/theme/v3/color/index.ts +2 -2
  628. package/src/theme/v3/color/token.ts +19 -4
  629. package/src/theme/v3/color/tokens.ts +2 -2
  630. package/src/theme/v3/defaultFonts.ts +250 -0
  631. package/src/theme/v3/defaultTokens.ts +199 -0
  632. package/src/theme/v3/index.ts +4 -1
  633. package/src/theme/{palette → v3/palette}/constants.ts +3 -3
  634. package/src/theme/v3/palette/types.ts +7 -0
  635. package/src/theme/v3/resolveTokens.ts +70 -65
  636. package/src/theme/v3/tokens.ts +2 -2
  637. package/src/theme/v3/types.ts +97 -12
  638. package/src/theme/versioning/getTheme_v2.ts +3 -3
  639. package/src/theme/versioning/is_v0.ts +2 -2
  640. package/src/theme/versioning/is_v2.ts +2 -2
  641. package/src/theme/versioning/themeColor_v0_v2.ts +2 -2
  642. package/src/theme/versioning/themeColor_v2_v2_9.ts +1 -1
  643. package/src/theme/versioning/themeColor_v3_v2.ts +229 -52
  644. package/src/theme/versioning/v0_v2.ts +3 -3
  645. package/src/theme/versioning/v2_v0.ts +4 -4
  646. package/src/theme/versioning/v3_v2.ts +62 -40
  647. package/dist/_chunks-cjs/_visual-editing.js +0 -3059
  648. package/dist/_chunks-cjs/_visual-editing.js.map +0 -1
  649. package/dist/_chunks-cjs/buildCommand.js +0 -32
  650. package/dist/_chunks-cjs/buildCommand.js.map +0 -1
  651. package/dist/_chunks-cjs/refractor.js.map +0 -1
  652. package/dist/_chunks-cjs/v3_v2.js +0 -251
  653. package/dist/_chunks-cjs/v3_v2.js.map +0 -1
  654. package/dist/_chunks-es/_visual-editing.mjs +0 -3066
  655. package/dist/_chunks-es/_visual-editing.mjs.map +0 -1
  656. package/dist/_chunks-es/refractor.mjs.map +0 -1
  657. package/dist/_chunks-es/v3_v2.mjs +0 -252
  658. package/dist/_chunks-es/v3_v2.mjs.map +0 -1
  659. package/dist/_visual-editing.d.mts +0 -806
  660. package/dist/_visual-editing.mjs +0 -31
  661. package/dist/_visual-editing.mjs.map +0 -1
  662. package/dist/cli.d.ts +0 -1
  663. package/dist/cli.js +0 -357
  664. package/dist/cli.js.map +0 -1
  665. package/dist/css.d.mts +0 -2135
  666. package/dist/css.mjs +0 -4713
  667. package/dist/css.mjs.map +0 -1
  668. package/dist/index.mjs +0 -1542
  669. package/dist/index.mjs.map +0 -1
  670. package/dist/sanity-palette.css +0 -9
  671. package/dist/sanity-theme.css +0 -1
  672. package/dist/system.css +0 -3577
  673. package/dist/theme.mjs.map +0 -1
  674. package/src/core/StyleTags.tsx +0 -24
  675. package/src/core/primitives/popover/popoverCard.tsx +0 -148
  676. package/src/core/primitives/tooltip/tooltipCard.tsx +0 -115
  677. package/src/core/utils/conditionalWrapper/conditionalWrapper.tsx +0 -23
  678. package/src/core/utils/conditionalWrapper/index.ts +0 -1
  679. package/src/css/_resp.ts +0 -31
  680. package/src/css/compile/compilePalette.ts +0 -60
  681. package/src/css/compile/compileRule.ts +0 -90
  682. package/src/css/compile/compileRules.test.ts +0 -35
  683. package/src/css/compile/compileRules.ts +0 -40
  684. package/src/css/compile/compileSystem.ts +0 -7
  685. package/src/css/compile/compileTheme.ts +0 -15
  686. package/src/css/compile/compileTheme_v3.ts +0 -410
  687. package/src/css/compile/types.ts +0 -6
  688. package/src/css/components/breadcrumbs/rules.ts +0 -25
  689. package/src/css/components/dialog/rules.ts +0 -76
  690. package/src/css/components/menu/rules.ts +0 -15
  691. package/src/css/components/skeleton/rules.ts +0 -112
  692. package/src/css/components/toast/rules.ts +0 -17
  693. package/src/css/components/tree/rules.ts +0 -168
  694. package/src/css/composeClassNames.ts +0 -13
  695. package/src/css/primitives/_arrow/rules.ts +0 -71
  696. package/src/css/primitives/_input/rules.ts +0 -163
  697. package/src/css/primitives/_selectable/__style.ts +0 -117
  698. package/src/css/primitives/_selectable/_contants.ts +0 -11
  699. package/src/css/primitives/_selectable/rules.ts +0 -129
  700. package/src/css/primitives/avatar/rules.ts +0 -176
  701. package/src/css/primitives/badge/rules.ts +0 -22
  702. package/src/css/primitives/box/rules.ts +0 -28
  703. package/src/css/primitives/button/_constants.ts +0 -17
  704. package/src/css/primitives/button/rules.ts +0 -293
  705. package/src/css/primitives/card/_constants.ts +0 -13
  706. package/src/css/primitives/card/rules.ts +0 -471
  707. package/src/css/primitives/checkbox/__styles.ts +0 -129
  708. package/src/css/primitives/checkbox/rules.ts +0 -152
  709. package/src/css/primitives/code/rules.ts +0 -96
  710. package/src/css/primitives/container/rules.ts +0 -8
  711. package/src/css/primitives/heading/rules.ts +0 -155
  712. package/src/css/primitives/kbd/rules.ts +0 -20
  713. package/src/css/primitives/label/rules.ts +0 -137
  714. package/src/css/primitives/popover/rules.ts +0 -5
  715. package/src/css/primitives/radio/rules.ts +0 -121
  716. package/src/css/primitives/select/rules.ts +0 -22
  717. package/src/css/primitives/spinner/rules.ts +0 -20
  718. package/src/css/primitives/switch/rules.ts +0 -340
  719. package/src/css/primitives/text/rules.ts +0 -164
  720. package/src/css/primitives/textArea/rules.ts +0 -7
  721. package/src/css/primitives/textInput/rules.ts +0 -224
  722. package/src/css/primitives/token/rules.ts +0 -45
  723. package/src/css/primitives/tooltip/rules.ts +0 -19
  724. package/src/css/responsiveRules.ts +0 -25
  725. package/src/css/rules.ts +0 -113
  726. package/src/css/styles/border/border.ts +0 -22
  727. package/src/css/styles/border/rules.ts +0 -24
  728. package/src/css/styles/border/types.ts +0 -10
  729. package/src/css/styles/display/display.ts +0 -7
  730. package/src/css/styles/display/rules.ts +0 -62
  731. package/src/css/styles/flex/flex.ts +0 -20
  732. package/src/css/styles/flex/rules.ts +0 -28
  733. package/src/css/styles/flex/types.ts +0 -35
  734. package/src/css/styles/flexItem/flexItem.ts +0 -8
  735. package/src/css/styles/flexItem/index.ts +0 -2
  736. package/src/css/styles/flexItem/rules.ts +0 -12
  737. package/src/css/styles/flexItem/types.ts +0 -11
  738. package/src/css/styles/font/font.ts +0 -17
  739. package/src/css/styles/font/rules.ts +0 -148
  740. package/src/css/styles/font/types.ts +0 -12
  741. package/src/css/styles/gap/gap.ts +0 -8
  742. package/src/css/styles/gap/rules.ts +0 -34
  743. package/src/css/styles/grid/grid.ts +0 -13
  744. package/src/css/styles/grid/index.ts +0 -2
  745. package/src/css/styles/grid/rules.ts +0 -146
  746. package/src/css/styles/grid/types.ts +0 -29
  747. package/src/css/styles/gridItem/gridItem.ts +0 -15
  748. package/src/css/styles/gridItem/index.ts +0 -2
  749. package/src/css/styles/gridItem/rules.ts +0 -96
  750. package/src/css/styles/gridItem/types.ts +0 -41
  751. package/src/css/styles/height/rules.ts +0 -7
  752. package/src/css/styles/index.ts +0 -19
  753. package/src/css/styles/inset/inset.ts +0 -13
  754. package/src/css/styles/inset/rules.ts +0 -16
  755. package/src/css/styles/margin/margin.ts +0 -15
  756. package/src/css/styles/margin/rules.ts +0 -64
  757. package/src/css/styles/margin/types.ts +0 -11
  758. package/src/css/styles/maxWidth/maxWidth.ts +0 -6
  759. package/src/css/styles/maxWidth/rules.ts +0 -13
  760. package/src/css/styles/maxWidth/types.ts +0 -7
  761. package/src/css/styles/outline/rules.ts +0 -7
  762. package/src/css/styles/overflow/overflow.ts +0 -11
  763. package/src/css/styles/overflow/rules.ts +0 -9
  764. package/src/css/styles/overflow/types.ts +0 -11
  765. package/src/css/styles/padding/padding.ts +0 -15
  766. package/src/css/styles/padding/rules.ts +0 -62
  767. package/src/css/styles/padding/types.ts +0 -14
  768. package/src/css/styles/pointerEvents/pointerEvents.ts +0 -6
  769. package/src/css/styles/pointerEvents/rules.ts +0 -11
  770. package/src/css/styles/position/position.ts +0 -7
  771. package/src/css/styles/position/rules.ts +0 -24
  772. package/src/css/styles/radius/radius.ts +0 -8
  773. package/src/css/styles/radius/rules.ts +0 -13
  774. package/src/css/styles/radius/types.ts +0 -8
  775. package/src/css/styles/shadow/rules.ts +0 -53
  776. package/src/css/styles/shadow/shadow.ts +0 -7
  777. package/src/css/styles/shadow/types.ts +0 -8
  778. package/src/css/styles/textOverflow/rules.ts +0 -17
  779. package/src/css/styles/textOverflow/textOverflow.ts +0 -6
  780. package/src/css/styles/width/rules.ts +0 -7
  781. package/src/css/styles/width/types.ts +0 -9
  782. package/src/css/styles/width/width.ts +0 -6
  783. package/src/css/utils/srOnly/rules.ts +0 -11
  784. package/src/css/varNames.ts +0 -473
  785. package/src/css/vars.ts +0 -443
  786. package/src/theme/_types.ts +0 -41
  787. package/src/theme/build/buildTheme.ts +0 -12
  788. package/src/theme/build/theme.test.ts +0 -27
  789. package/src/theme/config/tokens/parseTokenKey.test.ts +0 -64
  790. package/src/theme/config/tokens/parseTokenKey.ts +0 -67
  791. package/src/theme/palette/types.ts +0 -16
  792. package/src/theme/v3/buildTheme_v3.test.ts +0 -40
  793. package/src/theme/v3/color/buildColor_v3.ts +0 -193
  794. package/src/theme/v3/color/parseColor.test.ts +0 -79
  795. package/src/theme/v3/color/renderColor.test.ts +0 -19
  796. package/src/theme/v3/color/renderColor.ts +0 -33
  797. package/src/theme/v3/defaults.ts +0 -205
  798. /package/src/core/components/autocomplete/{__mocks__ → __workshop__/mock}/apiStore.ts +0 -0
  799. /package/src/core/components/autocomplete/{__mocks__ → __workshop__/mock}/countries.ts +0 -0
  800. /package/src/css/{styles → props}/border/index.ts +0 -0
  801. /package/src/css/{styles → props}/display/index.ts +0 -0
  802. /package/src/css/{styles → props}/flex/index.ts +0 -0
  803. /package/src/css/{styles → props}/font/index.ts +0 -0
  804. /package/src/css/{styles → props}/gap/index.ts +0 -0
  805. /package/src/css/{styles → props}/inset/index.ts +0 -0
  806. /package/src/css/{styles → props}/margin/index.ts +0 -0
  807. /package/src/css/{styles → props}/maxWidth/index.ts +0 -0
  808. /package/src/css/{styles → props}/overflow/index.ts +0 -0
  809. /package/src/css/{styles → props}/padding/index.ts +0 -0
  810. /package/src/css/{styles → props}/pointerEvents/index.ts +0 -0
  811. /package/src/css/{styles → props}/pointerEvents/types.ts +0 -0
  812. /package/src/css/{styles → props}/position/index.ts +0 -0
  813. /package/src/css/{styles → props}/radius/index.ts +0 -0
  814. /package/src/css/{styles → props}/shadow/index.ts +0 -0
  815. /package/src/css/{styles → props}/textOverflow/index.ts +0 -0
  816. /package/src/css/{styles → props}/width/index.ts +0 -0
  817. /package/src/theme/{build → v2/build}/_deprecated/color/index.ts +0 -0
  818. /package/src/theme/{build → v2/build}/colorToken/index.ts +0 -0
  819. /package/src/theme/{build → v2/build}/index.ts +0 -0
  820. /package/src/theme/{build → v2/build}/lib/color-fns/blend/index.ts +0 -0
  821. /package/src/theme/{build → v2/build}/lib/color-fns/index.ts +0 -0
  822. /package/src/theme/{build → v2/build}/lib/color-fns/rgba.ts +0 -0
  823. /package/src/theme/{build → v2/build}/lib/color-fns/types.ts +0 -0
  824. /package/src/theme/{build → v2/build}/lib/isRecord.ts +0 -0
  825. /package/src/theme/{build → v2/build}/lib/utils.ts +0 -0
  826. /package/src/theme/{build → v2/build}/merge.ts +0 -0
  827. /package/src/theme/{config → v2/config}/index.ts +0 -0
  828. /package/src/theme/{config → v2/config}/tokens/color/index.ts +0 -0
  829. /package/src/theme/{palette → v3/palette}/index.ts +0 -0
@@ -1,123 +1,142 @@
1
- import {BoxStyleProps} from '@sanity/ui/css'
2
- import {ButtonStyleProps} from '@sanity/ui/css'
1
+ import type {AlignItems} from '@sanity/ui/css'
2
+ import type {BoxStyleProps} from '@sanity/ui/css'
3
+ import type {ButtonStyleProps} from '@sanity/ui/css'
3
4
  import {CardStyleProps} from '@sanity/ui/css'
5
+ import type {ComponentClass} from 'react'
4
6
  import type {ComponentProps} from 'react'
5
- import {DisplayStyleProps} from '@sanity/ui/css'
6
- import {ElementProps} from '../..'
7
- import {ElementType} from 'react'
8
- import {FlexStyleProps} from '@sanity/ui/css'
9
- import {FontTextSize} from '@sanity/ui/theme'
7
+ import type {DisplayStyleProps} from '@sanity/ui/css'
8
+ import {ElementType as ElementType_2} from 'react'
9
+ import type {ExoticComponent} from 'react'
10
+ import type {FlexDirection} from '@sanity/ui/css'
11
+ import type {FlexWrap} from '@sanity/ui/css'
12
+ import type {FontTextSize} from '@sanity/ui/theme'
10
13
  import {ForwardedRef} from 'react'
11
- import {ForwardRefExoticComponent} from 'react'
12
- import {GapStyleProps} from '@sanity/ui/css'
14
+ import type {FunctionComponent} from 'react'
15
+ import type {GapStyleProps} from '@sanity/ui/css'
16
+ import {HTMLAttributes} from 'react'
13
17
  import {InputStyleProps} from '@sanity/ui/css'
14
- import {InsetStyleProps} from '@sanity/ui/css'
15
- import {MutableRefObject} from 'react'
16
- import {NamedExoticComponent} from 'react'
18
+ import type {InsetStyleProps} from '@sanity/ui/css'
19
+ import {JSX} from 'react'
20
+ import type {JustifyContent} from '@sanity/ui/css'
21
+ import {MaxWidth} from '@sanity/ui/css'
17
22
  import {PaddingStyleProps} from '@sanity/ui/css'
18
- import {PolymorphicProps} from '../..'
19
- import {PositionStyleProps} from '@sanity/ui/css'
20
- import {Radius} from '@sanity/ui/theme'
23
+ import type {PositionStyleProps} from '@sanity/ui/css'
21
24
  import {RadiusStyleProps} from '@sanity/ui/css'
22
25
  import {ReactElement} from 'react'
23
26
  import {ReactNode} from 'react'
24
- import {ReactPortal} from 'react'
27
+ import type {ReactPortal} from 'react'
28
+ import {Ref} from 'react'
25
29
  import {RefAttributes} from 'react'
26
- import {RefCallback} from 'react'
27
30
  import {ResponsiveProp} from '@sanity/ui/css'
28
31
  import {RootTheme} from '@sanity/ui/theme'
29
32
  import {ShadowStyleProps} from '@sanity/ui/css'
30
- import {Space} from '@sanity/ui/theme'
33
+ import type {Space} from '@sanity/ui/theme'
31
34
  import {TextOverflowStyleProps} from '@sanity/ui/css'
32
35
  import {TextStyleProps} from '@sanity/ui/css'
33
36
  import {Theme_v2} from '@sanity/ui/theme'
34
- import {ThemeColorButtonModeKey} from '@sanity/ui/theme'
35
37
  import {ThemeColorCardToneKey} from '@sanity/ui/theme'
36
38
  import {ThemeColorSchemeKey} from '@sanity/ui/theme'
37
- import {ThemeColorStateToneKey} from '@sanity/ui/theme'
38
- import {ThemeFontWeightKey} from '@sanity/ui/theme'
39
- import {Width} from '@sanity/ui/css'
40
-
41
- /** @public */
42
- declare type Assign<T, U> = Omit<T, keyof U> & U
39
+ import type {ThemeColorStateToneKey} from '@sanity/ui/theme'
40
+ import type {ThemeFontWeightKey} from '@sanity/ui/theme'
41
+ import type {Width} from '@sanity/ui/css'
43
42
 
44
43
  /**
45
- * The `Box` component is a basic layout wrapper component which provides utility properties
46
- * for flex, margins and padding.
44
+ * Assign properties from `U` to `T`, excluding properties that already exist in `T`.
47
45
  *
48
46
  * @public
49
47
  */
50
- export declare const Box: ForwardRefExoticComponent<
51
- Omit<ElementProps<'div'> & PolymorphicProps, keyof BoxProps> &
52
- BoxProps &
53
- RefAttributes<HTMLDivElement>
54
- >
48
+ declare type Assign<T extends {}, U extends {}> = Omit<T, keyof U> & U
55
49
 
56
50
  /**
51
+ * The `Box` component is a basic layout wrapper component which provides utility properties
52
+ * for flex, margins and padding.
53
+ *
57
54
  * @public
58
55
  */
59
- export declare interface BoxProps
60
- extends BoxStyleProps,
61
- GapStyleProps,
62
- InsetStyleProps,
63
- PositionStyleProps {}
56
+ export declare function Box<E extends BoxElementType = typeof DEFAULT_BOX_ELEMENT>(
57
+ props: BoxProps<E>,
58
+ ): JSX.Element
64
59
 
65
- /**
66
- * @public
67
- */
68
- export declare const Button: ForwardRefExoticComponent<
69
- Omit<ElementProps<'button'> & PolymorphicProps, keyof ButtonProps> &
70
- ButtonProps &
71
- RefAttributes<HTMLButtonElement>
72
- >
60
+ /** @public */
61
+ declare type BoxElementType =
62
+ | 'a'
63
+ | 'article'
64
+ | 'aside'
65
+ | 'blockquote'
66
+ | 'body'
67
+ | 'button'
68
+ | 'details'
69
+ | 'div'
70
+ | 'header'
71
+ | 'fieldset'
72
+ | 'figure'
73
+ | 'figcaption'
74
+ | 'footer'
75
+ | 'form'
76
+ | 'html'
77
+ | 'iframe'
78
+ | 'kbd'
79
+ | 'label'
80
+ | 'legend'
81
+ | 'li'
82
+ | 'main'
83
+ | 'nav'
84
+ | 'ol'
85
+ | 'pre'
86
+ | 'section'
87
+ | 'span'
88
+ | 'summary'
89
+ | 'ul'
90
+ | ComponentType
73
91
 
74
- /**
75
- * @public
76
- * @deprecated Use `ThemeColorButtonModeKey` instead
77
- */
78
- declare type ButtonMode = ThemeColorButtonModeKey
92
+ /** @public */
93
+ declare type BoxOwnProps = BoxStyleProps & GapStyleProps & InsetStyleProps & PositionStyleProps
79
94
 
80
- /**
81
- * @public
82
- */
83
- export declare interface ButtonProps
84
- extends ButtonStyleProps,
85
- DisplayStyleProps,
86
- FlexStyleProps,
87
- GapStyleProps,
88
- PaddingStyleProps {
89
- 'data-ui'?: string
90
- 'fontSize'?: ResponsiveProp<FontTextSize>
91
- 'href'?: string
92
- 'mode'?: ButtonMode
93
- 'icon'?: ElementType | ReactNode
94
- 'iconRight'?: ElementType | ReactNode
95
- /** @beta Do not use in production, as this might change.*/
96
- 'loading'?: boolean
97
- 'selected'?: boolean
98
- /** @deprecated Use `gap` instead. */
99
- 'space'?: ResponsiveProp<Space>
100
- 'textAlign'?: ButtonTextAlign
101
- 'muted'?: boolean
102
- 'target'?: string
103
- 'text'?: ReactNode
104
- 'textOverflow'?: TextProps['textOverflow']
105
- 'textWeight'?: TextProps['weight']
106
- 'tone'?: ButtonTone
107
- 'type'?: 'button' | 'reset' | 'submit'
108
- 'width'?: ResponsiveProp<Width>
109
- }
95
+ /** @public */
96
+ export declare type BoxProps<E extends BoxElementType = BoxElementType> = Props<BoxOwnProps, E>
110
97
 
111
- /**
112
- * @public
113
- */
114
- declare type ButtonTextAlign = 'left' | 'right' | 'center'
98
+ /** @public */
99
+ export declare function Button<E extends ButtonElementType = typeof DEFAULT_BUTTON_ELEMENT>(
100
+ props: ButtonProps<E>,
101
+ ): JSX.Element
115
102
 
116
- /**
117
- * @public
118
- * @deprecated Use `ThemeColorStateToneKey` instead
119
- */
120
- declare type ButtonTone = ThemeColorStateToneKey
103
+ /** @public */
104
+ declare type ButtonElementType = 'a' | 'button' | 'label' | ComponentType
105
+
106
+ /** @public */
107
+ declare type ButtonOwnProps = ButtonStyleProps &
108
+ DisplayStyleProps &
109
+ GapStyleProps &
110
+ PaddingStyleProps & {
111
+ 'align'?: BoxStyleProps['alignItems']
112
+ 'data-ui'?: string
113
+ 'disabled'?: boolean
114
+ 'fontSize'?: ResponsiveProp<FontTextSize>
115
+ 'icon'?: ElementType_2 | ReactNode
116
+ 'iconRight'?: ElementType_2 | ReactNode
117
+ 'justify'?: BoxStyleProps['justifyContent']
118
+ /** @beta Do not use in production, as this might change.*/
119
+ 'loading'?: boolean
120
+ 'selected'?: boolean
121
+ /** @deprecated Use `gap` instead. */
122
+ 'space'?: ResponsiveProp<Space>
123
+ 'textAlign'?: ButtonTextAlign
124
+ 'muted'?: boolean
125
+ 'target'?: string
126
+ 'text'?: ReactNode
127
+ 'textOverflow'?: TextOwnProps['textOverflow']
128
+ 'textWeight'?: TextOwnProps['weight']
129
+ 'width'?: ResponsiveProp<Width>
130
+ }
131
+
132
+ /** @public */
133
+ export declare type ButtonProps<E extends ButtonElementType = ButtonElementType> = Props<
134
+ ButtonOwnProps,
135
+ E
136
+ >
137
+
138
+ /** @public */
139
+ declare type ButtonTextAlign = 'left' | 'right' | 'center'
121
140
 
122
141
  /**
123
142
  * The `Card` component acts much like a `Box`, but with a background and foreground color.
@@ -125,16 +144,15 @@ declare type ButtonTone = ThemeColorStateToneKey
125
144
  *
126
145
  * @public
127
146
  */
128
- export declare const Card: ForwardRefExoticComponent<
129
- Omit<ElementProps<'div'> & PolymorphicProps, keyof CardProps> &
130
- CardProps &
131
- RefAttributes<HTMLDivElement>
132
- >
147
+ export declare function Card<E extends CardElementType = typeof DEFAULT_CARD_ELEMENT>(
148
+ props: CardProps<E>,
149
+ ): JSX.Element
133
150
 
134
- /**
135
- * @public
136
- */
137
- export declare interface CardProps extends BoxProps, CardStyleProps {
151
+ /** @public */
152
+ declare type CardElementType = BoxElementType
153
+
154
+ /** @public */
155
+ declare interface CardOwnProps extends BoxOwnProps, CardStyleProps {
138
156
  /**
139
157
  * Do not use in production.
140
158
  * @beta
@@ -146,15 +164,72 @@ export declare interface CardProps extends BoxProps, CardStyleProps {
146
164
  */
147
165
  __unstable_focusRing?: boolean
148
166
  disabled?: boolean
149
- href?: string
150
167
  pressed?: boolean
151
168
  selected?: boolean
152
169
  target?: string
153
170
  }
154
171
 
155
- /**
156
- * @public
157
- */
172
+ /** @public */
173
+ export declare type CardProps<E extends CardElementType = CardElementType> = Props<CardOwnProps, E>
174
+
175
+ /** @public */
176
+ declare type ComponentType<P = any> = FunctionComponent<P> | ComponentClass<P> | ExoticComponent<P>
177
+
178
+ /** @public */
179
+ declare const DEFAULT_BOX_ELEMENT = 'div'
180
+
181
+ /** @public */
182
+ declare const DEFAULT_BUTTON_ELEMENT = 'button'
183
+
184
+ /** @public */
185
+ declare const DEFAULT_CARD_ELEMENT = 'div'
186
+
187
+ /** @public */
188
+ declare const DEFAULT_FLEX_ELEMENT = 'div'
189
+
190
+ /** @public */
191
+ declare const DEFAULT_GRID_ELEMENT = 'div'
192
+
193
+ /** @public */
194
+ declare const DEFAULT_HOTKEYS_ELEMENT = 'kbd'
195
+
196
+ /** @public */
197
+ declare const DEFAULT_MENU_DIVIDER_ELEMENT = 'hr'
198
+
199
+ /** @public */
200
+ declare const DEFAULT_MENU_ELEMENT = 'div'
201
+
202
+ /** @public */
203
+ declare const DEFAULT_MENU_GROUP_ELEMENT = 'button'
204
+
205
+ /** @public */
206
+ declare const DEFAULT_MENU_ITEM_ELEMENT = 'button'
207
+
208
+ /** @public */
209
+ declare const DEFAULT_POPOVER_ELEMENT = 'div'
210
+
211
+ /** @public */
212
+ declare const DEFAULT_SPINNER_ELEMENT = 'div'
213
+
214
+ /** @public */
215
+ declare const DEFAULT_STACK_ELEMENT = 'div'
216
+
217
+ /** @public */
218
+ declare const DEFAULT_TAB_ELEMENT = 'button'
219
+
220
+ /** @public */
221
+ declare const DEFAULT_TAB_LIST_ELEMENT = 'div'
222
+
223
+ /** @public */
224
+ declare const DEFAULT_TEXT_ELEMENT = 'div'
225
+
226
+ /** @public */
227
+ declare const DEFAULT_TEXT_INPUT_ELEMENT = 'input'
228
+
229
+ /** @public */
230
+ declare const DEFAULT_TOOLTIP_ELEMENT = 'div'
231
+
232
+ /** @public */
158
233
  declare type Delay =
159
234
  | number
160
235
  | Partial<{
@@ -163,57 +238,69 @@ declare type Delay =
163
238
  }>
164
239
 
165
240
  /** @public */
166
- declare type ElementProps_2<E extends ElementType> = Omit<ComponentProps<E>, 'as' | 'ref'>
241
+ declare type ElementType<P> = TagType | ComponentType<P>
242
+
243
+ /** @public */
244
+ declare type EmptyProps = {}
167
245
 
168
246
  /**
169
247
  * The `Flex` component is a wrapper component for flexible elements (`Box`, `Card` and `Flex`).
170
248
  *
171
249
  * @public
172
250
  */
173
- export declare const Flex: ForwardRefExoticComponent<
174
- Omit<ElementProps<'div'> & PolymorphicProps, keyof FlexProps> &
175
- FlexProps &
176
- RefAttributes<HTMLDivElement>
177
- >
251
+ export declare function Flex<E extends FlexElementType = typeof DEFAULT_FLEX_ELEMENT>(
252
+ props: FlexProps<E>,
253
+ ): JSX.Element
178
254
 
179
- /**
180
- * @public
181
- */
182
- export declare interface FlexProps extends Omit<BoxProps, 'display'> {
183
- htmlFor?: string
255
+ /** @public */
256
+ declare type FlexElementType = BoxElementType
257
+
258
+ /** @public */
259
+ declare type FlexOwnProps = Omit<
260
+ BoxOwnProps,
261
+ 'align' | 'display' | 'flexDirection' | 'flexWrap'
262
+ > & {
263
+ align?: ResponsiveProp<AlignItems>
264
+ direction?: ResponsiveProp<FlexDirection>
265
+ justify?: ResponsiveProp<JustifyContent>
266
+ wrap?: ResponsiveProp<FlexWrap>
184
267
  }
185
268
 
269
+ /** @public */
270
+ export declare type FlexProps<E extends FlexElementType = FlexElementType> = Props<FlexOwnProps, E>
271
+
186
272
  /**
187
273
  * The `Grid` component is for building 2-dimensional layers (based on CSS grid).
188
274
  *
189
275
  * @public
190
276
  */
191
- export declare const Grid: ForwardRefExoticComponent<
192
- Omit<ElementProps<'div'> & PolymorphicProps, keyof GridProps> &
193
- GridProps &
194
- RefAttributes<HTMLDivElement>
195
- >
277
+ export declare function Grid<E extends GridElementType = typeof DEFAULT_GRID_ELEMENT>(
278
+ props: GridProps<E>,
279
+ ): JSX.Element
196
280
 
197
- /**
198
- * @public
199
- */
200
- export declare interface GridProps extends Omit<BoxProps, 'display'> {}
281
+ /** @public */
282
+ declare type GridElementType = BoxElementType
283
+
284
+ /** @public */
285
+ declare type GridOwnProps = Omit<BoxOwnProps, 'display'>
286
+
287
+ /** @public */
288
+ export declare type GridProps<E extends GridElementType = GridElementType> = Props<GridOwnProps, E>
201
289
 
202
290
  /**
203
291
  * Represent hotkeys (a keyboard combination) with semantic `<kbd>` elements.
204
292
  *
205
293
  * @public
206
294
  */
207
- export declare const Hotkeys: ForwardRefExoticComponent<
208
- Omit<ElementProps<'div'> & PolymorphicProps, keyof HotkeysProps> &
209
- HotkeysProps &
210
- RefAttributes<HTMLDivElement>
211
- >
295
+ export declare function Hotkeys<E extends HotkeysElementType = typeof DEFAULT_HOTKEYS_ELEMENT>(
296
+ props: HotkeysProps<E>,
297
+ ): JSX.Element | undefined
212
298
 
213
- /**
214
- * @public
215
- */
216
- export declare interface HotkeysProps extends GapStyleProps, RadiusStyleProps {
299
+ /** @public */
300
+ declare type HotkeysElementType = 'kbd' | ComponentType
301
+
302
+ /** @public */
303
+ declare interface HotkeysOwnProps extends GapStyleProps, RadiusStyleProps {
217
304
  fontSize?: ResponsiveProp<FontTextSize>
218
305
  padding?: ResponsiveProp<Space>
219
306
  /** @deprecated Use `gap` instead. */
@@ -221,13 +308,11 @@ export declare interface HotkeysProps extends GapStyleProps, RadiusStyleProps {
221
308
  keys?: string[]
222
309
  }
223
310
 
224
- /**
225
- * @public
226
- */
227
- declare interface InlineProps extends Omit<BoxProps, 'align' | 'display' | 'justify'> {
228
- /** @deprecated Use `gap` instead. */
229
- space?: ResponsiveProp<Space>
230
- }
311
+ /** @public */
312
+ export declare type HotkeysProps<E extends HotkeysElementType = HotkeysElementType> = Props<
313
+ HotkeysOwnProps,
314
+ E
315
+ >
231
316
 
232
317
  /**
233
318
  * @internal
@@ -239,30 +324,20 @@ export declare function isHTMLAnchorElement(element: unknown): element is HTMLAn
239
324
  */
240
325
  export declare function isHTMLElement(node: unknown): node is HTMLElement
241
326
 
242
- /**
243
- * @public
244
- */
245
- declare interface LayerProps extends BoxProps {
327
+ /** @public */
328
+ declare type LayerOwnProps = CardOwnProps & {
246
329
  /** A callback that fires when the layer becomes the top layer when it was not the top layer before. */
247
330
  onActivate?: (props: {activeElement: HTMLElement | null}) => void
248
- zOffset?: number | number[]
331
+ zOffset?: ResponsiveProp<number>
249
332
  }
250
333
 
251
- /**
252
- * @public
253
- */
334
+ /** @public */
254
335
  export declare function LayerProvider(props: LayerProviderProps): ReactElement
255
336
 
256
- export declare namespace LayerProvider {
257
- var displayName: string
258
- }
259
-
260
- /**
261
- * @public
262
- */
337
+ /** @public */
263
338
  declare interface LayerProviderProps {
264
339
  children?: ReactNode
265
- zOffset?: number | number[]
340
+ zOffset?: ResponsiveProp<number>
266
341
  }
267
342
 
268
343
  /**
@@ -270,42 +345,46 @@ declare interface LayerProviderProps {
270
345
  *
271
346
  * @public
272
347
  */
273
- export declare const Menu: ForwardRefExoticComponent<
274
- Omit<ElementProps<'div'> & PolymorphicProps, keyof MenuProps> &
275
- MenuProps &
276
- RefAttributes<HTMLDivElement>
277
- >
348
+ export declare function Menu<E extends MenuElementType = typeof DEFAULT_MENU_ELEMENT>(
349
+ props: MenuProps<E>,
350
+ ): JSX.Element
278
351
 
279
- /**
280
- * @public
281
- */
282
- export declare const MenuDivider: ForwardRefExoticComponent<
283
- Omit<ElementProps<'div'> & PolymorphicProps, never> &
284
- MenuDividerProps &
285
- RefAttributes<HTMLHRElement>
352
+ /** @public */
353
+ export declare function MenuDivider<
354
+ E extends MenuDividerElementType = typeof DEFAULT_MENU_DIVIDER_ELEMENT,
355
+ >(props: MenuDividerProps<E>): JSX.Element
356
+
357
+ /** @public */
358
+ declare type MenuDividerElementType = 'div' | 'hr' | 'span' | ComponentType
359
+
360
+ /** @public */
361
+ declare type MenuDividerOwnProps = {}
362
+
363
+ /** @public */
364
+ declare type MenuDividerProps<E extends MenuDividerElementType = MenuDividerElementType> = Props<
365
+ MenuDividerOwnProps,
366
+ E
286
367
  >
287
368
 
288
369
  /** @public */
289
- declare interface MenuDividerProps {}
370
+ declare type MenuElementType = 'div' | 'span' | ComponentType
290
371
 
291
- /**
292
- * @public
293
- */
294
- export declare function MenuGroup(props: Props<MenuGroupProps, 'div'>): ReactElement
372
+ /** @public */
373
+ export declare function MenuGroup<
374
+ E extends MenuGroupElementType = typeof DEFAULT_MENU_GROUP_ELEMENT,
375
+ >(props: MenuGroupProps<E>): JSX.Element
295
376
 
296
- export declare namespace MenuGroup {
297
- var displayName: string
298
- }
377
+ /** @public */
378
+ declare type MenuGroupElementType = 'button' | ComponentType
299
379
 
300
- /**
301
- * @public
302
- */
303
- export declare interface MenuGroupProps extends GapStyleProps {
380
+ /** @public */
381
+ declare type MenuGroupOwnProps = RadiusStyleProps & {
304
382
  disabled?: boolean
305
383
  fontSize?: ResponsiveProp<FontTextSize>
306
- icon?: ElementType | ReactNode
384
+ gap?: ResponsiveProp<Space>
385
+ icon?: ElementType_2 | ReactNode
307
386
  menu?: Omit<
308
- MenuProps,
387
+ MenuProps<typeof DEFAULT_MENU_ELEMENT>,
309
388
  | 'onClickOutside'
310
389
  | 'onEscape'
311
390
  | 'onItemClick'
@@ -317,43 +396,51 @@ export declare interface MenuGroupProps extends GapStyleProps {
317
396
  >
318
397
  padding?: ResponsiveProp<Space>
319
398
  popover?: Omit<PopoverProps, 'content' | 'open'>
320
- radius?: Radius | Radius[]
321
399
  /** @deprecated Use `gap` instead. */
322
400
  space?: ResponsiveProp<Space>
323
- text: ReactNode
324
- tone?: SelectableTone
401
+ text?: ReactNode
402
+ tone?: ThemeColorStateToneKey
325
403
  }
326
404
 
327
- /**
328
- * @public
329
- */
330
- export declare const MenuItem: ForwardRefExoticComponent<
331
- Omit<ElementProps<'div'> & PolymorphicProps, keyof MenuItemProps> &
332
- MenuItemProps &
333
- RefAttributes<HTMLDivElement>
405
+ /** @public */
406
+ export declare type MenuGroupProps<E extends MenuGroupElementType = MenuGroupElementType> = Props<
407
+ MenuGroupOwnProps,
408
+ E
334
409
  >
335
410
 
336
- /**
337
- * @public
338
- */
339
- export declare interface MenuItemProps extends GapStyleProps, PaddingStyleProps, RadiusStyleProps {
340
- disabled?: boolean
341
- fontSize?: number | number[]
342
- hotkeys?: string[]
343
- icon?: ElementType | ReactNode
344
- iconRight?: ElementType | ReactNode
345
- pressed?: boolean
346
- selected?: boolean
347
- /** @deprecated Use `gap` instead. */
348
- space?: ResponsiveProp<Space>
349
- text?: ReactNode
350
- tone?: SelectableTone
351
- }
411
+ /** @public */
412
+ export declare function MenuItem<E extends MenuItemElementType = typeof DEFAULT_MENU_ITEM_ELEMENT>(
413
+ props: MenuItemProps<E>,
414
+ ): JSX.Element
352
415
 
353
- /**
354
- * @public
355
- */
356
- export declare interface MenuProps extends PaddingStyleProps, Pick<GapStyleProps, 'gap'> {
416
+ /** @public */
417
+ declare type MenuItemElementType = 'button' | 'a' | ComponentType
418
+
419
+ /** @public */
420
+ declare type MenuItemOwnProps = GapStyleProps &
421
+ PaddingStyleProps &
422
+ RadiusStyleProps & {
423
+ disabled?: boolean
424
+ fontSize?: ResponsiveProp<FontTextSize>
425
+ hotkeys?: string[]
426
+ icon?: ElementType_2 | ReactNode
427
+ iconRight?: ElementType_2 | ReactNode
428
+ pressed?: boolean
429
+ selected?: boolean
430
+ /** @deprecated Use `gap` instead. */
431
+ space?: ResponsiveProp<Space>
432
+ text?: ReactNode
433
+ tone?: ThemeColorStateToneKey
434
+ }
435
+
436
+ /** @public */
437
+ export declare type MenuItemProps<E extends MenuItemElementType = MenuItemElementType> = Omit<
438
+ Props<MenuItemOwnProps, E>,
439
+ 'role'
440
+ >
441
+
442
+ /** @public */
443
+ declare type MenuOwnProps = PaddingStyleProps & {
357
444
  /**
358
445
  * @deprecated Use `shouldFocus="first"` instead.
359
446
  */
@@ -362,6 +449,7 @@ export declare interface MenuProps extends PaddingStyleProps, Pick<GapStyleProps
362
449
  * @deprecated Use `shouldFocus="last"` instead.
363
450
  */
364
451
  'focusLast'?: boolean
452
+ 'gap'?: ResponsiveProp<Space>
365
453
  'onClickOutside'?: (event: MouseEvent) => void
366
454
  'onEscape'?: () => void
367
455
  'onItemClick'?: () => void
@@ -374,6 +462,9 @@ export declare interface MenuProps extends PaddingStyleProps, Pick<GapStyleProps
374
462
  'aria-labelledby'?: string
375
463
  }
376
464
 
465
+ /** @public */
466
+ export declare type MenuProps<E extends MenuElementType = MenuElementType> = Props<MenuOwnProps, E>
467
+
377
468
  /**
378
469
  * Placement of floating UI elements.
379
470
  *
@@ -393,20 +484,17 @@ declare type Placement =
393
484
  | 'left-start'
394
485
  | 'left-end'
395
486
 
396
- declare interface PolymorphicProps_2 {
397
- as?: ElementType
398
- }
399
-
400
487
  /**
401
488
  * The `Popover` component is used to display some content on top of another.
402
489
  *
403
490
  * @public
404
491
  */
405
- export declare const Popover: NamedExoticComponent<
406
- Omit<ElementProps<'div'> & PolymorphicProps, keyof PopoverProps> &
407
- PopoverProps &
408
- RefAttributes<HTMLDivElement>
409
- >
492
+ export declare function Popover<E extends PopoverElementType = typeof DEFAULT_POPOVER_ELEMENT>(
493
+ props: PopoverProps<E>,
494
+ ): JSX.Element
495
+
496
+ /** @public */
497
+ declare type PopoverElementType = 'div' | ComponentType
410
498
 
411
499
  /**
412
500
  * @beta
@@ -414,7 +502,7 @@ export declare const Popover: NamedExoticComponent<
414
502
  export declare type PopoverMargins = [number, number, number, number]
415
503
 
416
504
  /** @public */
417
- export declare interface PopoverProps extends CardProps, LayerProps {
505
+ declare type PopoverOwnProps = Omit<LayerOwnProps, 'maxWidth'> & {
418
506
  /** @beta */
419
507
  __unstable_margins?: PopoverMargins
420
508
  /**
@@ -431,16 +519,16 @@ export declare interface PopoverProps extends CardProps, LayerProps {
431
519
  ref: ForwardedRef<HTMLElement>
432
520
  }>
433
521
  /**
434
- * When `true`, prevent overflow within the current boundary:
435
- * - by flipping on its side axis
436
- * - by resizing
437
- /*
438
- * Note that:
439
- * - setting `preventOverflow` to `true` also prevents overflow on its side axis
440
- * - setting `matchReferenceWidth` to `true` also causes the popover to resize
441
- *
442
- * @defaultValue false
443
- */
522
+ * When `true`, prevent overflow within the current boundary:
523
+ * - by flipping on its side axis
524
+ * - by resizing
525
+ *
526
+ * Note that:
527
+ * - setting `preventOverflow` to `true` also prevents overflow on its side axis
528
+ * - setting `matchReferenceWidth` to `true` also causes the popover to resize
529
+ *
530
+ * @defaultValue false
531
+ */
444
532
  constrainSize?: boolean
445
533
  content?: ReactNode
446
534
  disabled?: boolean
@@ -474,26 +562,23 @@ export declare interface PopoverProps extends CardProps, LayerProps {
474
562
  */
475
563
  referenceElement?: HTMLElement | null
476
564
  /** @beta */
477
- updateRef?:
478
- | MutableRefObject<PopoverUpdateCallback | undefined>
479
- | RefCallback<PopoverUpdateCallback | undefined>
565
+ updateRef?: Ref<PopoverUpdateCallback | undefined>
566
+ width?: ResponsiveProp<MaxWidth>
480
567
  }
481
568
 
569
+ /** @public */
570
+ export declare type PopoverProps<E extends PopoverElementType = PopoverElementType> = Props<
571
+ PopoverOwnProps,
572
+ E
573
+ >
574
+
482
575
  /** @beta */
483
576
  declare type PopoverUpdateCallback = () => void
484
577
 
485
- /**
486
- * @public
487
- */
578
+ /** @public */
488
579
  export declare function Portal(props: PortalProps): ReactPortal | null
489
580
 
490
- export declare namespace Portal {
491
- var displayName: string
492
- }
493
-
494
- /**
495
- * @public
496
- */
581
+ /** @public */
497
582
  export declare interface PortalProps {
498
583
  children: ReactNode
499
584
  /**
@@ -502,18 +587,10 @@ export declare interface PortalProps {
502
587
  __unstable_name?: string
503
588
  }
504
589
 
505
- /**
506
- * @public
507
- */
590
+ /** @public */
508
591
  export declare function PortalProvider(props: PortalProviderProps): ReactElement
509
592
 
510
- export declare namespace PortalProvider {
511
- var displayName: string
512
- }
513
-
514
- /**
515
- * @public
516
- */
593
+ /** @public */
517
594
  export declare interface PortalProviderProps {
518
595
  /**
519
596
  * @deprecated Use `<BoundaryElementProvider element={...} />` instead
@@ -528,145 +605,175 @@ export declare interface PortalProviderProps {
528
605
  }
529
606
 
530
607
  /** @public */
531
- declare type Props<P extends {} = {}, E extends ElementType = ElementType> = Assign<
532
- ElementProps_2<E> & PolymorphicProps_2,
533
- P
608
+ declare type Props<P extends EmptyProps, E extends ElementType<P>> = Assign<
609
+ E extends TagType ? JSX.IntrinsicElements[E] : ComponentProps<E>,
610
+ P & {
611
+ as?: E
612
+ }
534
613
  >
535
614
 
536
- /**
537
- * @public
538
- * @deprecated Use `ThemeColorStateToneKey` instead
539
- */
540
- declare type SelectableTone = ThemeColorStateToneKey
541
-
542
615
  /**
543
616
  * Indicate that something is loading for an indeterminate amount of time.
544
617
  *
545
618
  * @public
546
619
  */
547
- export declare const Spinner: ForwardRefExoticComponent<
548
- Omit<ElementProps<'div'> & PolymorphicProps, keyof SpinnerProps> &
549
- SpinnerProps &
550
- RefAttributes<HTMLDivElement>
551
- >
620
+ export declare function Spinner<E extends SpinnerElementType = typeof DEFAULT_SPINNER_ELEMENT>(
621
+ props: SpinnerProps<E>,
622
+ ): JSX.Element
552
623
 
553
- /**
554
- * @public
555
- */
556
- export declare interface SpinnerProps {
624
+ /** @public */
625
+ declare type SpinnerElementType = 'div' | 'span' | ComponentType
626
+
627
+ /** @public */
628
+ declare type SpinnerOwnProps = {
557
629
  muted?: boolean
558
630
  size?: ResponsiveProp<FontTextSize>
559
631
  }
560
632
 
633
+ /** @public */
634
+ export declare type SpinnerProps<E extends SpinnerElementType = SpinnerElementType> = Props<
635
+ SpinnerOwnProps,
636
+ E
637
+ >
638
+
561
639
  /**
562
640
  * The `Stack` component is used to place elements on top of each other.
563
641
  *
564
642
  * @public
565
643
  */
566
- export declare const Stack: ForwardRefExoticComponent<
567
- Omit<ElementProps<'div'> & PolymorphicProps, keyof StackProps> &
568
- StackProps &
569
- RefAttributes<HTMLDivElement>
570
- >
644
+ export declare function Stack<E extends StackElementType = typeof DEFAULT_STACK_ELEMENT>(
645
+ props: StackProps<E>,
646
+ ): JSX.Element
571
647
 
572
- /**
573
- * @public
574
- */
575
- export declare interface StackProps
576
- extends Omit<BoxProps, 'direction' | 'display' | 'gapX' | 'gapY'> {
648
+ /** @public */
649
+ declare type StackElementType = BoxElementType
650
+
651
+ /** @public */
652
+ declare type StackOwnProps = Omit<
653
+ BoxOwnProps,
654
+ | 'align'
655
+ | 'alignItems'
656
+ | 'columns'
657
+ | 'gridTemplateColumns'
658
+ | 'direction'
659
+ | 'display'
660
+ | 'flexDirection'
661
+ | 'gapX'
662
+ | 'gapY'
663
+ | 'justify'
664
+ | 'justifyContent'
665
+ | 'rows'
666
+ | 'gridTemplateRows'
667
+ > & {
577
668
  /** @deprecated Use `gap` instead. */
578
669
  space?: ResponsiveProp<Space>
579
670
  }
580
671
 
581
- /**
582
- * @public
583
- * @deprecated Use `buildTheme` from `@sanity/ui/theme` instead.
584
- */
585
- export declare const studioTheme: RootTheme
586
-
587
- /**
588
- * @public
589
- */
590
- export declare const Tab: ForwardRefExoticComponent<
591
- Omit<ElementProps<'button'> & PolymorphicProps, keyof TabProps> &
592
- TabProps &
593
- RefAttributes<HTMLButtonElement>
672
+ /** @public */
673
+ export declare type StackProps<E extends StackElementType = StackElementType> = Props<
674
+ StackOwnProps,
675
+ E
594
676
  >
595
677
 
596
- /**
597
- * @public
598
- */
599
- export declare const TabList: ForwardRefExoticComponent<
600
- Omit<ElementProps<'div'> & PolymorphicProps, keyof TabListProps> &
601
- TabListProps &
602
- RefAttributes<HTMLDivElement>
603
- >
678
+ /** @public */
679
+ export declare function Tab<E extends TabElementType = typeof DEFAULT_TAB_ELEMENT>(
680
+ props: TabProps<E>,
681
+ ): JSX.Element
604
682
 
605
- /**
606
- * @public
607
- */
683
+ /** @public */
684
+ declare type TabElementType = 'button' | ComponentType
685
+
686
+ /** @public */
687
+ export declare function TabList<E extends TabListElementType = typeof DEFAULT_TAB_LIST_ELEMENT>(
688
+ props: TabListProps<E>,
689
+ ): JSX.Element
690
+
691
+ /** @public */
608
692
  declare type TabListChild = ReactElement<Props<TabProps, 'button'>> | null | undefined | false
609
693
 
610
- /**
611
- * @public
612
- */
613
- export declare interface TabListProps extends Omit<InlineProps, 'as' | 'height'> {
694
+ /** @public */
695
+ declare type TabListElementType = 'div' | 'span' | ComponentType
696
+
697
+ /** @public */
698
+ declare type TabListOwnProps = Omit<FlexOwnProps, 'as' | 'height'> & {
614
699
  children: TabListChild[]
700
+ /** @deprecated Use `gap` instead */
701
+ space?: ResponsiveProp<Space>
615
702
  }
616
703
 
617
- /**
618
- * @public
619
- */
620
- export declare interface TabProps {
704
+ /** @public */
705
+ export declare type TabListProps<E extends TabListElementType = TabListElementType> = Props<
706
+ TabListOwnProps,
707
+ E
708
+ >
709
+
710
+ /** @public */
711
+ declare type TabOwnProps = {
621
712
  /**
622
713
  * The `id` of the corresponding `TabPanel` component.
623
714
  */
624
715
  'aria-controls': string
625
716
  'id': string
626
- 'icon'?: ElementType | ReactNode
717
+ 'icon'?: ElementType_2 | ReactNode
627
718
  'focused'?: boolean
628
719
  'fontSize'?: ResponsiveProp<FontTextSize>
629
720
  'label'?: ReactNode
630
721
  'padding'?: ResponsiveProp<Space>
631
722
  'selected'?: boolean
632
- 'tone'?: ButtonTone
723
+ 'tone'?: ThemeColorStateToneKey
633
724
  }
634
725
 
726
+ /** @public */
727
+ export declare type TabProps<E extends TabElementType = TabElementType> = Props<TabOwnProps, E>
728
+
729
+ /** @public */
730
+ declare type TagType = keyof JSX.IntrinsicElements
731
+
635
732
  /**
636
733
  * The `Text` component is an agile, themed typographic element.
637
734
  *
638
735
  * @public
639
736
  */
640
- declare const Text_2: ForwardRefExoticComponent<
641
- Omit<ElementProps<'div'> & PolymorphicProps, keyof TextProps> &
642
- TextProps &
643
- RefAttributes<HTMLDivElement>
644
- >
737
+ declare function Text_2<E extends TextElementType = typeof DEFAULT_TEXT_ELEMENT>(
738
+ props: TextProps<E>,
739
+ ): JSX.Element
645
740
  export {Text_2 as Text}
646
741
 
742
+ /** @public */
743
+ declare type TextElementType =
744
+ | 'div'
745
+ | 'h1'
746
+ | 'h2'
747
+ | 'h3'
748
+ | 'h4'
749
+ | 'h5'
750
+ | 'h6'
751
+ | 'label'
752
+ | 'li'
753
+ | 'p'
754
+ | 'span'
755
+ | ComponentType
756
+
647
757
  /**
648
758
  * Single line text input.
649
759
  *
650
760
  * @public
651
761
  */
652
- export declare const TextInput: ForwardRefExoticComponent<
653
- Omit<ElementProps<'input'> & PolymorphicProps, keyof TextInputProps> &
654
- TextInputProps &
655
- RefAttributes<HTMLInputElement>
656
- >
762
+ export declare function TextInput<
763
+ E extends TextInputElementType = typeof DEFAULT_TEXT_INPUT_ELEMENT,
764
+ >(props: TextInputProps<E>): JSX.Element
657
765
 
658
- /**
659
- * @public
660
- */
766
+ /** @public */
661
767
  declare type TextInputClearButtonProps = Omit<
662
- Props<ButtonProps, 'button'>,
768
+ ButtonProps<'button'>,
663
769
  'as' | 'onClick' | 'onMouseDown'
664
770
  >
665
771
 
666
- /**
667
- * @public
668
- */
669
- export declare interface TextInputProps extends InputStyleProps {
772
+ /** @public */
773
+ declare type TextInputElementType = 'input' | ComponentType
774
+
775
+ /** @public */
776
+ declare type TextInputOwnProps = InputStyleProps & {
670
777
  /**
671
778
  * @beta
672
779
  */
@@ -676,8 +783,8 @@ export declare interface TextInputProps extends InputStyleProps {
676
783
  */
677
784
  clearButton?: boolean | TextInputClearButtonProps
678
785
  customValidity?: string
679
- icon?: ElementType | ReactNode
680
- iconRight?: ElementType | ReactNode
786
+ icon?: ElementType_2 | ReactNode
787
+ iconRight?: ElementType_2 | ReactNode
681
788
  /**
682
789
  * @beta
683
790
  */
@@ -686,47 +793,25 @@ export declare interface TextInputProps extends InputStyleProps {
686
793
  /** @deprecated Use `gap` instead. */
687
794
  space?: ResponsiveProp<Space>
688
795
  suffix?: ReactNode
689
- type?: TextInputType
690
796
  weight?: ThemeFontWeightKey
691
797
  }
692
798
 
693
- /**
694
- * @public
695
- */
696
- declare type TextInputType =
697
- | 'search'
698
- | 'date'
699
- | 'datetime-local'
700
- | 'email'
701
- | 'url'
702
- | 'month'
703
- | 'number'
704
- | 'password'
705
- | 'tel'
706
- | 'time'
707
- | 'text'
708
- | 'week'
709
- | 'color'
799
+ /** @public */
800
+ export declare type TextInputProps<E extends TextInputElementType = TextInputElementType> = Props<
801
+ TextInputOwnProps,
802
+ E
803
+ >
710
804
 
711
- /**
712
- * @public
713
- */
714
- export declare interface TextProps extends TextStyleProps, TextOverflowStyleProps {
715
- htmlFor?: string
716
- }
805
+ /** @public */
806
+ declare type TextOwnProps = TextStyleProps & TextOverflowStyleProps
717
807
 
718
- /**
719
- * @public
720
- */
721
- export declare function ThemeProvider(props: ThemeProviderProps): ReactElement
808
+ /** @public */
809
+ export declare type TextProps<E extends TextElementType = TextElementType> = Props<TextOwnProps, E>
722
810
 
723
- export declare namespace ThemeProvider {
724
- var displayName: string
725
- }
811
+ /** @public */
812
+ export declare function ThemeProvider(props: ThemeProviderProps): ReactElement
726
813
 
727
- /**
728
- * @public
729
- */
814
+ /** @public */
730
815
  export declare interface ThemeProviderProps {
731
816
  children?: ReactNode
732
817
  scheme?: ThemeColorSchemeKey
@@ -739,51 +824,55 @@ export declare interface ThemeProviderProps {
739
824
  *
740
825
  * @public
741
826
  */
742
- export declare const Tooltip: ForwardRefExoticComponent<
743
- Omit<ElementProps<'div'> & PolymorphicProps, keyof TooltipProps> &
744
- TooltipProps &
745
- RefAttributes<HTMLDivElement>
746
- >
827
+ export declare function Tooltip<E extends TooltipElementType = typeof DEFAULT_TOOLTIP_ELEMENT>(
828
+ props: TooltipProps<E>,
829
+ ): JSX.Element
747
830
 
748
- /**
749
- * @public
750
- */
751
- export declare interface TooltipProps
752
- extends Omit<LayerProps, 'as'>,
753
- RadiusStyleProps,
754
- ShadowStyleProps {
755
- /** @deprecated Use `fallbackPlacements` instead. */
756
- allowedAutoPlacements?: Placement[]
757
- /**
758
- * Whether the tooltip should animate in and out.
759
- *
760
- * @beta
761
- * @defaultValue false
762
- */
763
- animate?: boolean
764
- arrow?: boolean
765
- boundaryElement?: HTMLElement | null
766
- children?: ReactElement<Props>
767
- content?: ReactNode
768
- /**
769
- * Adds a delay to open or close the tooltip.
770
- *
771
- * If only a `number` is passed, it will be used for both opening and closing.
772
- *
773
- * If an object `{open: number; close:number}` is passed, it can be used to set different delays for each action.
774
- *
775
- * @public
776
- * @defaultValue 0
777
- */
778
- delay?: Delay
779
- disabled?: boolean
780
- fallbackPlacements?: Placement[]
781
- placement?: Placement
782
- /** Whether or not to render the tooltip in a portal element. */
783
- portal?: boolean | string
784
- scheme?: ThemeColorSchemeKey
785
- tone?: ThemeColorCardToneKey
786
- }
831
+ /** @public */
832
+ declare type TooltipElementType = 'div' | 'span' | ComponentType
833
+
834
+ /** @public */
835
+ declare type TooltipOwnProps = LayerOwnProps &
836
+ RadiusStyleProps &
837
+ ShadowStyleProps & {
838
+ /** @deprecated Use `fallbackPlacements` instead. */
839
+ allowedAutoPlacements?: Placement[]
840
+ /**
841
+ * Whether the tooltip should animate in and out.
842
+ *
843
+ * @beta
844
+ * @defaultValue false
845
+ */
846
+ animate?: boolean
847
+ arrow?: boolean
848
+ boundaryElement?: HTMLElement | null
849
+ children?: ReactElement<HTMLAttributes<HTMLElement> & RefAttributes<HTMLElement>>
850
+ content?: ReactNode
851
+ /**
852
+ * Adds a delay to open or close the tooltip.
853
+ *
854
+ * If only a `number` is passed, it will be used for both opening and closing.
855
+ *
856
+ * If an object `{open: number; close:number}` is passed, it can be used to set different delays for each action.
857
+ *
858
+ * @public
859
+ * @defaultValue 0
860
+ */
861
+ delay?: Delay
862
+ disabled?: boolean
863
+ fallbackPlacements?: Placement[]
864
+ placement?: Placement
865
+ /** Whether or not to render the tooltip in a portal element. */
866
+ portal?: boolean | string
867
+ scheme?: ThemeColorSchemeKey
868
+ tone?: ThemeColorCardToneKey
869
+ }
870
+
871
+ /** @public */
872
+ export declare type TooltipProps<E extends TooltipElementType = TooltipElementType> = Props<
873
+ TooltipOwnProps,
874
+ E
875
+ >
787
876
 
788
877
  /**
789
878
  * Returns true if a dark color scheme is preferred, false if a light color scheme is preferred or the preference is not known.
@@ -798,9 +887,7 @@ export declare interface TooltipProps
798
887
  */
799
888
  export declare function usePrefersDark(getServerSnapshot?: () => boolean): boolean
800
889
 
801
- /**
802
- * @public
803
- */
890
+ /** @public */
804
891
  export declare function useTheme_v2(): Theme_v2
805
892
 
806
893
  export {}