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

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