@sanity/ui 3.0.0-static.3 → 3.0.0-static.30

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 (1353) hide show
  1. package/README.md +7 -9
  2. package/dist/_chunks-cjs/_visual-editing.cjs +2358 -0
  3. package/dist/_chunks-cjs/_visual-editing.cjs.map +1 -0
  4. package/dist/_chunks-cjs/refractor.cjs +26 -0
  5. package/dist/_chunks-cjs/refractor.cjs.map +1 -0
  6. package/dist/_chunks-es/_visual-editing.js +2371 -0
  7. package/dist/_chunks-es/_visual-editing.js.map +1 -0
  8. package/dist/_chunks-es/refractor.js +25 -0
  9. package/dist/_chunks-es/refractor.js.map +1 -0
  10. package/dist/_visual-editing.cjs +30 -0
  11. package/dist/_visual-editing.cjs.map +1 -0
  12. package/dist/_visual-editing.d.cts +894 -0
  13. package/dist/_visual-editing.d.ts +504 -418
  14. package/dist/_visual-editing.js +29 -30
  15. package/dist/_visual-editing.js.map +1 -1
  16. package/dist/css/index.cjs +617 -0
  17. package/dist/css/index.cjs.map +1 -0
  18. package/dist/css/index.css +1 -0
  19. package/dist/css/index.d.cts +14902 -0
  20. package/dist/css/index.d.ts +14902 -0
  21. package/dist/css/index.js +617 -0
  22. package/dist/css/index.js.map +1 -0
  23. package/dist/css/layers.css +4 -0
  24. package/dist/css/primitives/popover/popover.css +4 -0
  25. package/dist/index.cjs +2470 -0
  26. package/dist/index.cjs.map +1 -0
  27. package/dist/index.d.cts +3212 -0
  28. package/dist/index.d.ts +1325 -982
  29. package/dist/index.js +1614 -692
  30. package/dist/index.js.map +1 -1
  31. package/dist/theme.cjs +4791 -0
  32. package/dist/theme.cjs.map +1 -0
  33. package/dist/theme.d.cts +1903 -0
  34. package/dist/theme.d.ts +329 -309
  35. package/dist/theme.js +3188 -1384
  36. package/dist/theme.js.map +1 -1
  37. package/exports/_visual-editing.ts +26 -27
  38. package/exports/index.ts +1 -1
  39. package/package.json +67 -79
  40. package/src/core/_compat/helpers.ts +72 -0
  41. package/src/core/_compat/styles/_responsive.ts +19 -0
  42. package/src/core/_compat/theme/theme.test.tsx +72 -0
  43. package/src/core/_compat/theme/themeColorProvider.tsx +24 -0
  44. package/src/core/_compat/theme/themeContext.ts +10 -0
  45. package/src/core/_compat/theme/themeProvider.tsx +68 -0
  46. package/src/core/_compat/theme/types.ts +10 -0
  47. package/src/core/_compat/theme/useRootTheme.ts +15 -0
  48. package/src/core/_compat/theme/useTheme.ts +12 -0
  49. package/src/core/_compat/types.ts +191 -0
  50. package/src/core/components/autocomplete/__workshop__/async.tsx +156 -0
  51. package/src/core/components/autocomplete/__workshop__/constrainedHeight.tsx +131 -0
  52. package/src/core/components/autocomplete/__workshop__/custom.tsx +91 -0
  53. package/src/core/components/autocomplete/__workshop__/example.tsx +80 -0
  54. package/src/core/components/autocomplete/__workshop__/focusAndBlur.tsx +36 -0
  55. package/src/core/components/autocomplete/__workshop__/fullscreen.tsx +292 -0
  56. package/src/core/components/autocomplete/__workshop__/index.ts +39 -0
  57. package/src/core/components/autocomplete/autocomplete.tsx +690 -0
  58. package/src/core/components/autocomplete/autocompleteOption.tsx +45 -0
  59. package/src/core/components/autocomplete/autocompleteReducer.ts +47 -0
  60. package/src/core/components/autocomplete/constants.ts +28 -0
  61. package/src/core/components/autocomplete/types.ts +103 -0
  62. package/src/core/components/breadcrumbs/__workshop__/example.tsx +61 -0
  63. package/src/core/components/breadcrumbs/breadcrumbs.tsx +136 -0
  64. package/src/core/components/dialog/__workshop__/activate.tsx +141 -0
  65. package/src/core/components/dialog/__workshop__/autoFocus.tsx +29 -0
  66. package/src/core/components/dialog/__workshop__/onScroll.tsx +51 -0
  67. package/src/core/components/dialog/__workshop__/panes.tsx +89 -0
  68. package/src/core/components/dialog/__workshop__/position.tsx +30 -0
  69. package/src/core/components/dialog/__workshop__/props.tsx +77 -0
  70. package/src/core/components/dialog/__workshop__/wrapped.tsx +76 -0
  71. package/src/core/components/dialog/dialog.tsx +233 -0
  72. package/src/core/components/dialog/dialogCard.tsx +226 -0
  73. package/src/core/components/dialog/dialogContext.ts +22 -0
  74. package/src/core/components/dialog/dialogProvider.tsx +34 -0
  75. package/src/core/components/dialog/isTargetWithinScope.ts +14 -0
  76. package/src/core/components/dialog/types.ts +2 -0
  77. package/src/core/components/dialog/useDialog.ts +11 -0
  78. package/src/core/components/hotkeys/hotkeys.tsx +71 -0
  79. package/src/core/components/menu/__workshop__/asComponent.tsx +45 -0
  80. package/src/core/components/menu/__workshop__/avatarMenu.tsx +57 -0
  81. package/src/core/components/menu/__workshop__/closableMenuButton.tsx +47 -0
  82. package/src/core/components/menu/__workshop__/constrainedInBoundary.tsx +133 -0
  83. package/src/core/components/menu/__workshop__/customMenuItem.tsx +45 -0
  84. package/src/core/components/menu/__workshop__/customSelectedState.tsx +35 -0
  85. package/src/core/components/menu/__workshop__/disableFocusOnClose.tsx +40 -0
  86. package/src/core/components/menu/__workshop__/groups.tsx +156 -0
  87. package/src/core/components/menu/__workshop__/menuButton.tsx +80 -0
  88. package/src/core/components/menu/__workshop__/menuGroupRight.tsx +65 -0
  89. package/src/core/components/menu/__workshop__/nestedMenu.tsx +22 -0
  90. package/src/core/components/menu/__workshop__/onCloseMenuButton.tsx +50 -0
  91. package/src/core/components/menu/__workshop__/selectedItem.tsx +69 -0
  92. package/src/core/components/menu/__workshop__/shouldFocus.tsx +42 -0
  93. package/src/core/components/menu/__workshop__/tones.tsx +25 -0
  94. package/src/core/components/menu/__workshop__/withoutArrow.tsx +32 -0
  95. package/src/core/components/menu/helpers.ts +82 -0
  96. package/src/core/components/menu/menu.test.tsx +127 -0
  97. package/src/core/components/menu/menu.tsx +194 -0
  98. package/src/core/components/menu/menuButton.tsx +271 -0
  99. package/src/core/components/menu/menuContext.ts +31 -0
  100. package/src/core/components/menu/menuDivider.tsx +32 -0
  101. package/src/core/components/menu/menuGroup.tsx +238 -0
  102. package/src/core/components/menu/menuItem.tsx +194 -0
  103. package/src/core/components/menu/useMenu.ts +21 -0
  104. package/src/core/components/menu/useMenuController.ts +241 -0
  105. package/src/core/components/tab/__workshop__/example.tsx +79 -0
  106. package/src/core/components/tab/tab.tsx +107 -0
  107. package/src/core/components/tab/tabList.tsx +95 -0
  108. package/src/core/components/tab/tabPanel.tsx +47 -0
  109. package/src/core/components/toast/__workshop__/hook.tsx +71 -0
  110. package/src/core/components/toast/__workshop__/toast.tsx +26 -0
  111. package/src/core/components/toast/toast.test.tsx +101 -0
  112. package/src/core/components/toast/toast.tsx +189 -0
  113. package/src/core/components/toast/toastContext.ts +7 -0
  114. package/src/core/components/toast/toastLayer.tsx +54 -0
  115. package/src/core/components/toast/toastProvider.tsx +112 -0
  116. package/src/core/components/toast/types.ts +24 -0
  117. package/src/core/components/toast/useToast.ts +23 -0
  118. package/src/core/components/tree/__workshop__/basic.perf.ts +19 -0
  119. package/src/core/components/tree/__workshop__/basic.tsx +105 -0
  120. package/src/core/components/tree/__workshop__/tabFromElement.tsx +84 -0
  121. package/src/core/components/tree/helpers.ts +105 -0
  122. package/src/core/components/tree/tree.tsx +249 -0
  123. package/src/core/components/tree/treeContext.ts +10 -0
  124. package/src/core/components/tree/treeGroup.tsx +48 -0
  125. package/src/core/components/tree/treeItem.tsx +237 -0
  126. package/src/core/components/tree/types.ts +24 -0
  127. package/src/core/components/tree/useTree.ts +17 -0
  128. package/src/core/components/virtualList/__workshop__/index.ts +29 -0
  129. package/src/core/components/virtualList/__workshop__/infiniteList.tsx +48 -0
  130. package/src/core/components/virtualList/virtualList.tsx +209 -0
  131. package/src/core/constants.ts +85 -0
  132. package/src/core/helpers/focus.ts +92 -0
  133. package/src/core/helpers/props.ts +28 -0
  134. package/src/core/hooks/useArrayProp.ts +26 -0
  135. package/src/core/hooks/useClickOutside.test.tsx +481 -0
  136. package/src/core/hooks/useClickOutside.ts +113 -0
  137. package/src/core/hooks/useClickOutsideEvent.test.tsx +114 -0
  138. package/src/core/hooks/useClickOutsideEvent.ts +67 -0
  139. package/src/core/hooks/useDelayed.test.ts +67 -0
  140. package/src/core/hooks/useDelayedState.ts +28 -0
  141. package/src/core/hooks/useElementRect/__workshop__/example.tsx +30 -0
  142. package/src/core/hooks/useElementSize.ts +19 -0
  143. package/src/core/hooks/useForwardedRef.ts +19 -0
  144. package/src/core/hooks/useMediaIndex/__workshop__/test.tsx +14 -0
  145. package/src/core/hooks/useMediaIndex/useMediaIndex.test.tsx +21 -0
  146. package/src/core/hooks/useMediaIndex/useMediaIndex.ts +102 -0
  147. package/src/core/hooks/usePrefersDark.hydration.test.tsx +56 -0
  148. package/src/core/hooks/usePrefersDark.test.tsx +20 -0
  149. package/src/core/hooks/usePrefersReducedMotion.hydration.test.tsx +56 -0
  150. package/src/core/hooks/usePrefersReducedMotion.test.tsx +20 -0
  151. package/src/core/hooks/useResponsiveProp.ts +28 -0
  152. package/src/core/index.ts +136 -0
  153. package/src/core/lib/isArray.ts +3 -0
  154. package/src/core/middleware/origin.ts +47 -0
  155. package/src/core/observers/elementSize.ts +116 -0
  156. package/src/core/primitives/arrow/arrow.tsx +74 -0
  157. package/src/core/primitives/avatar/__workshop__/asButton.tsx +14 -0
  158. package/src/core/primitives/avatar/__workshop__/stack.tsx +25 -0
  159. package/src/core/primitives/avatar/__workshop__/withinButton.tsx +55 -0
  160. package/src/core/primitives/avatar/__workshop__/withinMenuItem.tsx +72 -0
  161. package/src/core/primitives/avatar/avatar.tsx +154 -0
  162. package/src/core/primitives/avatar/avatarCounter.tsx +69 -0
  163. package/src/core/primitives/avatar/avatarStack.tsx +81 -0
  164. package/src/core/primitives/avatar/types.ts +34 -0
  165. package/src/core/primitives/badge/__workshop__/props.tsx +19 -0
  166. package/src/core/primitives/badge/__workshop__/tones.tsx +16 -0
  167. package/src/core/primitives/badge/badge.test.tsx +15 -0
  168. package/src/core/primitives/badge/badge.tsx +60 -0
  169. package/src/core/primitives/badge/types.ts +18 -0
  170. package/src/core/primitives/box/__workshop__/props.tsx +20 -0
  171. package/src/core/primitives/box/__workshop__/responsive.tsx +20 -0
  172. package/src/core/primitives/box/box.tsx +219 -0
  173. package/src/core/primitives/button/__workshop__/custom.tsx +27 -0
  174. package/src/core/primitives/button/__workshop__/customIcons.tsx +30 -0
  175. package/src/core/primitives/button/__workshop__/disabled.tsx +54 -0
  176. package/src/core/primitives/button/__workshop__/index.ts +64 -0
  177. package/src/core/primitives/button/__workshop__/props.tsx +55 -0
  178. package/src/core/primitives/button/__workshop__/sanityUploadButton.tsx +36 -0
  179. package/src/core/primitives/button/__workshop__/stacked.tsx +58 -0
  180. package/src/core/primitives/button/__workshop__/textOverflow.tsx +13 -0
  181. package/src/core/primitives/button/__workshop__/uploadButton.tsx +29 -0
  182. package/src/core/primitives/button/button.test.tsx +29 -0
  183. package/src/core/primitives/button/button.tsx +196 -0
  184. package/src/core/primitives/button/types.ts +22 -0
  185. package/src/core/primitives/card/__workshop__/asButton.tsx +107 -0
  186. package/src/core/primitives/card/__workshop__/asComponent.tsx +27 -0
  187. package/src/core/primitives/card/__workshop__/checkered.tsx +26 -0
  188. package/src/core/primitives/card/__workshop__/index.ts +18 -0
  189. package/src/core/primitives/card/__workshop__/interactive.tsx +29 -0
  190. package/src/core/primitives/card/__workshop__/listNavigation.tsx +78 -0
  191. package/src/core/primitives/card/__workshop__/props.tsx +52 -0
  192. package/src/core/primitives/card/__workshop__/selected.tsx +62 -0
  193. package/src/core/primitives/card/__workshop__/tones.tsx +27 -0
  194. package/src/core/primitives/card/card.tsx +106 -0
  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/types.ts +31 -0
  198. package/src/core/primitives/card/useCard.ts +9 -0
  199. package/src/core/primitives/checkbox/__workshop__/props.tsx +35 -0
  200. package/src/core/primitives/checkbox/__workshop__/tones.tsx +27 -0
  201. package/src/core/primitives/checkbox/checkbox.tsx +80 -0
  202. package/src/core/primitives/code/__workshop__/opticalAlignment.tsx +23 -0
  203. package/src/core/primitives/code/__workshop__/props.tsx +18 -0
  204. package/src/core/primitives/code/code.tsx +46 -0
  205. package/src/core/primitives/code/refractor.tsx +18 -0
  206. package/src/core/primitives/container/__workshop__/example.tsx +20 -0
  207. package/src/core/primitives/container/container.tsx +37 -0
  208. package/src/core/primitives/flex/__workshop__/example.tsx +34 -0
  209. package/src/core/primitives/flex/flex.tsx +56 -0
  210. package/src/core/primitives/flex/types.ts +27 -0
  211. package/src/core/primitives/grid/grid.tsx +33 -0
  212. package/src/core/primitives/heading/__workshop__/opticalAlignment.tsx +54 -0
  213. package/src/core/primitives/heading/__workshop__/plain.tsx +29 -0
  214. package/src/core/primitives/heading/heading.tsx +80 -0
  215. package/src/core/primitives/inline/__workshop__/plain.tsx +24 -0
  216. package/src/core/primitives/inline/inline.tsx +69 -0
  217. package/src/core/primitives/kbd/kbd.tsx +55 -0
  218. package/src/core/primitives/label/__workshop__/plain.tsx +28 -0
  219. package/src/core/primitives/label/label.tsx +77 -0
  220. package/src/core/primitives/layer/__workshop__/index.ts +24 -0
  221. package/src/core/primitives/layer/__workshop__/multipleRoots.tsx +49 -0
  222. package/src/core/primitives/layer/__workshop__/nested.tsx +98 -0
  223. package/src/core/primitives/layer/__workshop__/responsiveZOffset.tsx +17 -0
  224. package/src/core/primitives/layer/getLayerContext.test.ts +32 -0
  225. package/src/core/primitives/layer/getLayerContext.ts +21 -0
  226. package/src/core/primitives/layer/layer.test.tsx +108 -0
  227. package/src/core/primitives/layer/layer.tsx +42 -0
  228. package/src/core/primitives/layer/layerCard.tsx +90 -0
  229. package/src/core/primitives/layer/layerContext.ts +7 -0
  230. package/src/core/primitives/layer/layerProvider.tsx +114 -0
  231. package/src/core/primitives/layer/useLayer.ts +24 -0
  232. package/src/core/primitives/popover/__workshop__/AlignedStory.tsx +77 -0
  233. package/src/core/primitives/popover/__workshop__/MatchReferenceWidthStory.tsx +32 -0
  234. package/src/core/primitives/popover/__workshop__/PlainStory.tsx +71 -0
  235. package/src/core/primitives/popover/__workshop__/RecursiveStory.tsx +69 -0
  236. package/src/core/primitives/popover/__workshop__/SidePanelStory.tsx +96 -0
  237. package/src/core/primitives/popover/__workshop__/TestStory.tsx +100 -0
  238. package/src/core/primitives/popover/constants.ts +22 -0
  239. package/src/core/primitives/popover/floating-ui/size.ts +83 -0
  240. package/src/core/primitives/popover/helpers.ts +32 -0
  241. package/src/core/primitives/popover/popover.tsx +453 -0
  242. package/src/core/primitives/popover/popoverLayer.tsx +149 -0
  243. package/src/core/primitives/popover/types.ts +12 -0
  244. package/src/core/primitives/radio/__workshop__/example.tsx +63 -0
  245. package/src/core/primitives/radio/__workshop__/plain.tsx +28 -0
  246. package/src/core/primitives/radio/radio.tsx +64 -0
  247. package/src/core/primitives/root/Root.tsx +84 -0
  248. package/src/core/primitives/root/RootProvider.tsx +40 -0
  249. package/src/core/primitives/root/__workshop__/boundary.tsx +5 -0
  250. package/src/core/primitives/root/__workshop__/index.ts +8 -0
  251. package/src/core/primitives/select/__workshop__/plain.tsx +39 -0
  252. package/src/core/primitives/select/__workshop__/readOnly.tsx +23 -0
  253. package/src/core/primitives/select/select.tsx +85 -0
  254. package/src/core/primitives/selectable/selectable.tsx +50 -0
  255. package/src/core/primitives/selectable/types.ts +7 -0
  256. package/src/core/primitives/skeleton/__workshop__/delay.tsx +70 -0
  257. package/src/core/primitives/skeleton/__workshop__/index.ts +11 -0
  258. package/src/core/primitives/skeleton/__workshop__/skeleton.tsx +64 -0
  259. package/src/core/primitives/skeleton/codeSkeleton.tsx +49 -0
  260. package/src/core/primitives/skeleton/headingSkeleton.tsx +48 -0
  261. package/src/core/primitives/skeleton/labelSkeleton.tsx +47 -0
  262. package/src/core/primitives/skeleton/skeleton.tsx +71 -0
  263. package/src/core/primitives/skeleton/textSkeleton.tsx +49 -0
  264. package/src/core/primitives/spinner/__workshop__/Props.tsx +15 -0
  265. package/src/core/primitives/spinner/animatedSpinnerIcon.tsx +14 -0
  266. package/src/core/primitives/spinner/spinner.tsx +45 -0
  267. package/src/core/primitives/srOnly/srOnly.tsx +33 -0
  268. package/src/core/primitives/stack/__workshop__/plain.tsx +32 -0
  269. package/src/core/primitives/stack/stack.tsx +65 -0
  270. package/src/core/primitives/switch/switch.tsx +84 -0
  271. package/src/core/primitives/text/__workshop__/colored.tsx +23 -0
  272. package/src/core/primitives/text/__workshop__/example.tsx +28 -0
  273. package/src/core/primitives/text/__workshop__/opticalAlignment.tsx +23 -0
  274. package/src/core/primitives/text/text.tsx +74 -0
  275. package/src/core/primitives/textArea/__workshop__/plain.tsx +61 -0
  276. package/src/core/primitives/textArea/textArea.tsx +96 -0
  277. package/src/core/primitives/textInput/__workshop__/customValidity.tsx +17 -0
  278. package/src/core/primitives/textInput/__workshop__/plain.tsx +110 -0
  279. package/src/core/primitives/textInput/__workshop__/states.tsx +53 -0
  280. package/src/core/primitives/textInput/__workshop__/tones.tsx +277 -0
  281. package/src/core/primitives/textInput/__workshop__/typed.tsx +23 -0
  282. package/src/core/primitives/textInput/textInput.tsx +261 -0
  283. package/src/core/primitives/tooltip/__workshop__/customPortal.tsx +102 -0
  284. package/src/core/primitives/tooltip/__workshop__/overflowingBoundary.tsx +74 -0
  285. package/src/core/primitives/tooltip/__workshop__/props.tsx +112 -0
  286. package/src/core/primitives/tooltip/__workshop__/resizableBoundary.tsx +86 -0
  287. package/src/core/primitives/tooltip/constants.ts +23 -0
  288. package/src/core/primitives/tooltip/tooltip.test.tsx +454 -0
  289. package/src/core/primitives/tooltip/tooltip.tsx +489 -0
  290. package/src/core/primitives/tooltip/tooltipDelayGroup/tooltipDelayGroupContext.tsx +11 -0
  291. package/src/core/primitives/tooltip/tooltipDelayGroup/tooltipDelayGroupProvider.tsx +53 -0
  292. package/src/core/primitives/tooltip/tooltipDelayGroup/useTooltipDelayGroup.ts +13 -0
  293. package/src/core/primitives/tooltip/tooltipLayer.tsx +106 -0
  294. package/src/core/primitives/types.ts +153 -0
  295. package/src/core/types/props.ts +28 -0
  296. package/src/core/types/radius.ts +7 -0
  297. package/src/core/utils/boundaryElement/boundaryElement.test.tsx +100 -0
  298. package/src/core/utils/boundaryElement/boundaryElementContext.ts +7 -0
  299. package/src/core/utils/boundaryElement/boundaryElementProvider.tsx +18 -0
  300. package/src/core/utils/boundaryElement/types.ts +5 -0
  301. package/src/core/utils/boundaryElement/useBoundaryElement.ts +24 -0
  302. package/src/core/utils/elementQuery/__workshop__/customMedia.tsx +41 -0
  303. package/src/core/utils/elementQuery/elementQuery.tsx +75 -0
  304. package/src/core/utils/errorBoundary.tsx +50 -0
  305. package/src/core/utils/getElementRef.ts +27 -0
  306. package/src/core/utils/portal/__workshop__/named.tsx +63 -0
  307. package/src/core/utils/portal/portal.test.tsx +103 -0
  308. package/src/core/utils/portal/portal.tsx +40 -0
  309. package/src/core/utils/portal/portalContext.ts +31 -0
  310. package/src/core/utils/portal/portalProvider.tsx +73 -0
  311. package/src/core/utils/portal/types.ts +7 -0
  312. package/src/core/utils/portal/usePortal.ts +23 -0
  313. package/src/css/_assign.ts +3 -0
  314. package/src/css/_composeClassNames.ts +12 -0
  315. package/src/css/_fromEntries.ts +3 -0
  316. package/src/css/_getClassNames.ts +9 -0
  317. package/src/css/_responsiveClassName.ts +45 -0
  318. package/src/css/_responsiveStyle.css.ts +34 -0
  319. package/src/css/_style.css.ts +9 -0
  320. package/src/css/components/breadcrumbs/breadcrumbs.css.ts +6 -0
  321. package/src/css/components/breadcrumbs/breadcrumbs.ts +5 -3
  322. package/src/css/components/dialog/dialog.css.ts +106 -0
  323. package/src/css/components/dialog/dialog.ts +42 -14
  324. package/src/css/components/menu/menu.css.ts +14 -0
  325. package/src/css/components/menu/menu.ts +8 -5
  326. package/src/css/components/skeleton/skeleton.css.ts +132 -0
  327. package/src/css/components/skeleton/skeleton.ts +16 -9
  328. package/src/css/components/skeleton/types.ts +16 -6
  329. package/src/css/components/toast/toast.css.ts +17 -0
  330. package/src/css/components/toast/toast.ts +5 -15
  331. package/src/css/components/tree/tree.css.ts +65 -0
  332. package/src/css/components/tree/tree.ts +5 -3
  333. package/src/css/constants.ts +10 -1
  334. package/src/css/defaultTheme.css.ts +521 -0
  335. package/src/css/index.ts +141 -39
  336. package/src/css/layers.css.ts +9 -0
  337. package/src/css/primitives/_arrow/_arrow.css.ts +68 -0
  338. package/src/css/primitives/_arrow/_arrow.ts +16 -4
  339. package/src/css/primitives/_input/_input.css.ts +261 -0
  340. package/src/css/primitives/_input/input.ts +16 -12
  341. package/src/css/primitives/_input/types.ts +4 -3
  342. package/src/css/primitives/_selectable/_selectable.css.ts +131 -0
  343. package/src/css/primitives/_selectable/selectable.ts +5 -5
  344. package/src/css/primitives/_selectable/types.ts +3 -2
  345. package/src/css/primitives/avatar/avatar.css.ts +198 -0
  346. package/src/css/primitives/avatar/avatar.ts +52 -11
  347. package/src/css/primitives/avatar/types.ts +5 -3
  348. package/src/css/primitives/badge/badge.css.ts +27 -0
  349. package/src/css/primitives/badge/badge.ts +4 -4
  350. package/src/css/primitives/badge/types.ts +4 -5
  351. package/src/css/primitives/box/box.css.ts +19 -0
  352. package/src/css/primitives/box/box.ts +63 -31
  353. package/src/css/primitives/box/types.ts +56 -30
  354. package/src/css/primitives/button/button.css.ts +289 -0
  355. package/src/css/primitives/button/button.ts +19 -34
  356. package/src/css/primitives/button/types.ts +12 -0
  357. package/src/css/primitives/card/__workshop__/color.tsx +75 -0
  358. package/src/css/primitives/card/__workshop__/index.ts +14 -0
  359. package/src/css/primitives/card/card.css.ts +370 -0
  360. package/src/css/primitives/card/card.ts +9 -10
  361. package/src/css/primitives/card/types.ts +4 -6
  362. package/src/css/primitives/checkbox/checkbox.css.ts +193 -0
  363. package/src/css/primitives/checkbox/checkbox.ts +13 -5
  364. package/src/css/primitives/code/code.css.ts +271 -0
  365. package/src/css/primitives/code/code.ts +15 -5
  366. package/src/css/primitives/code/types.ts +5 -3
  367. package/src/css/primitives/container/container.css.ts +4 -0
  368. package/src/css/primitives/container/container.ts +14 -4
  369. package/src/css/primitives/container/types.ts +4 -2
  370. package/src/css/primitives/heading/heading.css.ts +85 -0
  371. package/src/css/primitives/heading/heading.ts +16 -11
  372. package/src/css/primitives/heading/types.ts +8 -3
  373. package/src/css/primitives/kbd/kbd.css.ts +16 -0
  374. package/src/css/primitives/kbd/kbd.ts +6 -4
  375. package/src/css/primitives/kbd/types.ts +2 -3
  376. package/src/css/primitives/label/label.css.ts +86 -0
  377. package/src/css/primitives/label/label.ts +16 -10
  378. package/src/css/primitives/label/types.ts +15 -5
  379. package/src/css/primitives/popover/popover.css.ts +6 -0
  380. package/src/css/primitives/popover/popover.ts +10 -3
  381. package/src/css/primitives/radio/radio.css.ts +78 -0
  382. package/src/css/primitives/radio/radio.ts +15 -3
  383. package/src/css/primitives/root/root.css.ts +15 -0
  384. package/src/css/primitives/root/root.ts +17 -0
  385. package/src/css/primitives/root/types.ts +10 -0
  386. package/src/css/primitives/select/select.css.ts +24 -0
  387. package/src/css/primitives/select/select.ts +8 -6
  388. package/src/css/primitives/select/types.ts +1 -1
  389. package/src/css/primitives/spinner/spinner.css.ts +23 -0
  390. package/src/css/primitives/spinner/spinner.ts +9 -5
  391. package/src/css/primitives/spinner/types.ts +4 -0
  392. package/src/css/primitives/srOnly/srOnly.css.ts +10 -0
  393. package/src/css/primitives/srOnly/srOnly.ts +7 -0
  394. package/src/css/primitives/stack/stack.css.ts +6 -0
  395. package/src/css/primitives/stack/stack.ts +7 -0
  396. package/src/css/primitives/switch/switch.css.ts +98 -0
  397. package/src/css/primitives/switch/switch.ts +13 -7
  398. package/src/css/primitives/text/text.css.ts +85 -0
  399. package/src/css/primitives/text/text.ts +18 -11
  400. package/src/css/primitives/text/types.ts +12 -3
  401. package/src/css/primitives/textArea/textArea.css.ts +4 -0
  402. package/src/css/primitives/textArea/textArea.ts +6 -5
  403. package/src/css/primitives/textArea/types.ts +5 -3
  404. package/src/css/primitives/textInput/textInput.css.ts +41 -0
  405. package/src/css/primitives/textInput/textInput.ts +21 -5
  406. package/src/css/primitives/textInput/types.ts +3 -7
  407. package/src/css/primitives/tooltip/tooltip.css.ts +4 -0
  408. package/src/css/primitives/tooltip/tooltip.ts +6 -7
  409. package/src/css/primitives/tooltip/types.ts +4 -0
  410. package/src/css/props/alignItems/alignItems.css.ts +22 -0
  411. package/src/css/props/alignItems/alignItems.ts +8 -0
  412. package/src/css/props/alignItems/types.ts +9 -0
  413. package/src/css/props/border/border.css.ts +65 -0
  414. package/src/css/props/border/border.ts +36 -0
  415. package/src/css/props/border/types.ts +13 -0
  416. package/src/css/props/boxSizing/boxSizing.css.ts +11 -0
  417. package/src/css/props/boxSizing/boxSizing.ts +10 -0
  418. package/src/css/props/boxSizing/types.ts +7 -0
  419. package/src/css/props/display/display.css.ts +56 -0
  420. package/src/css/props/display/display.ts +17 -0
  421. package/src/css/props/display/types.ts +16 -0
  422. package/src/css/props/flex/flex.css.ts +52 -0
  423. package/src/css/props/flex/flex.ts +8 -0
  424. package/src/css/props/flex/types.ts +9 -0
  425. package/src/css/props/flexDirection/flexDirection.css.ts +19 -0
  426. package/src/css/props/flexDirection/flexDirection.ts +8 -0
  427. package/src/css/props/flexDirection/types.ts +9 -0
  428. package/src/css/props/flexWrap/flexWrap.css.ts +16 -0
  429. package/src/css/props/flexWrap/flexWrap.ts +8 -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/props/gap/types.ts +10 -0
  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/types.ts +19 -0
  440. package/src/css/props/gridAutoFlow/gridAutoFlow.css.ts +19 -0
  441. package/src/css/props/gridAutoFlow/gridAutoFlow.ts +8 -0
  442. package/src/css/props/gridAutoFlow/types.ts +13 -0
  443. package/src/css/props/gridAutoRows/gridAutoRows.css.ts +19 -0
  444. package/src/css/props/gridAutoRows/gridAutoRows.ts +8 -0
  445. package/src/css/props/gridAutoRows/types.ts +13 -0
  446. package/src/css/props/gridColumn/gridColumn.css.ts +49 -0
  447. package/src/css/props/gridColumn/gridColumn.ts +8 -0
  448. package/src/css/props/gridColumn/types.ts +19 -0
  449. package/src/css/props/gridColumnEnd/gridColumnEnd.css.ts +46 -0
  450. package/src/css/props/gridColumnEnd/gridColumnEnd.ts +8 -0
  451. package/src/css/props/gridColumnEnd/types.ts +19 -0
  452. package/src/css/props/gridColumnStart/gridColumnStart.css.ts +46 -0
  453. package/src/css/props/gridColumnStart/gridColumnStart.ts +11 -0
  454. package/src/css/props/gridColumnStart/types.ts +19 -0
  455. package/src/css/props/gridRow/gridRow.css.ts +49 -0
  456. package/src/css/props/gridRow/gridRow.ts +8 -0
  457. package/src/css/props/gridRow/types.ts +19 -0
  458. package/src/css/props/gridRowEnd/gridRowEnd.css.ts +46 -0
  459. package/src/css/props/gridRowEnd/gridRowEnd.ts +8 -0
  460. package/src/css/props/gridRowEnd/types.ts +19 -0
  461. package/src/css/props/gridRowStart/gridRowStart.css.ts +46 -0
  462. package/src/css/props/gridRowStart/gridRowStart.ts +8 -0
  463. package/src/css/props/gridRowStart/types.ts +19 -0
  464. package/src/css/props/gridTemplateColumns/gridTemplateColumns.css.ts +43 -0
  465. package/src/css/props/gridTemplateColumns/gridTemplateColumns.ts +8 -0
  466. package/src/css/props/gridTemplateColumns/types.ts +19 -0
  467. package/src/css/props/gridTemplateRows/gridTemplateRows.css.ts +43 -0
  468. package/src/css/props/gridTemplateRows/gridTemplateRows.ts +8 -0
  469. package/src/css/props/gridTemplateRows/types.ts +19 -0
  470. package/src/css/props/height/height.css.ts +25 -0
  471. package/src/css/props/height/height.ts +8 -0
  472. package/src/css/props/height/types.ts +15 -0
  473. package/src/css/props/inset/inset.css.ts +37 -0
  474. package/src/css/props/inset/inset.ts +21 -0
  475. package/src/css/props/inset/types.ts +13 -0
  476. package/src/css/props/justifyContent/justifyContent.css.ts +25 -0
  477. package/src/css/props/justifyContent/justifyContent.ts +8 -0
  478. package/src/css/props/justifyContent/types.ts +15 -0
  479. package/src/css/props/margin/margin.css.ts +117 -0
  480. package/src/css/props/margin/margin.ts +25 -0
  481. package/src/css/props/margin/types.ts +17 -0
  482. package/src/css/props/maxWidth/maxWidth.css.ts +32 -0
  483. package/src/css/props/maxWidth/maxWidth.ts +8 -0
  484. package/src/css/props/maxWidth/types.ts +11 -0
  485. package/src/css/props/minHeight/minHeight.css.ts +13 -0
  486. package/src/css/props/minHeight/minHeight.ts +8 -0
  487. package/src/css/props/minHeight/types.ts +9 -0
  488. package/src/css/props/minWidth/minWidth.css.ts +25 -0
  489. package/src/css/props/minWidth/minWidth.ts +8 -0
  490. package/src/css/props/minWidth/types.ts +9 -0
  491. package/src/css/props/outline/outline.css.ts +10 -0
  492. package/src/css/props/outline/outline.ts +8 -0
  493. package/src/css/props/outline/types.ts +7 -0
  494. package/src/css/props/overflow/overflow.css.ts +16 -0
  495. package/src/css/props/overflow/overflow.ts +8 -0
  496. package/src/css/props/overflow/types.ts +17 -0
  497. package/src/css/props/padding/padding.css.ts +87 -0
  498. package/src/css/props/padding/padding.ts +25 -0
  499. package/src/css/props/padding/types.ts +17 -0
  500. package/src/css/props/pointerEvents/pointerEvents.css.ts +13 -0
  501. package/src/css/props/pointerEvents/pointerEvents.ts +8 -0
  502. package/src/css/props/position/position.css.ts +22 -0
  503. package/src/css/props/position/position.ts +8 -0
  504. package/src/css/props/position/types.ts +9 -0
  505. package/src/css/props/radius/radius.css.ts +21 -0
  506. package/src/css/props/radius/radius.ts +8 -0
  507. package/src/css/props/radius/types.ts +8 -0
  508. package/src/css/props/shadow/shadow.css.ts +23 -0
  509. package/src/css/props/shadow/shadow.ts +8 -0
  510. package/src/css/props/shadow/types.ts +8 -0
  511. package/src/css/props/textAlign/textAlign.css.ts +22 -0
  512. package/src/css/props/textAlign/textAlign.ts +8 -0
  513. package/src/css/props/textAlign/types.ts +7 -0
  514. package/src/css/props/textOverflow/textOverflow.css.ts +19 -0
  515. package/src/css/props/textOverflow/textOverflow.ts +8 -0
  516. package/src/css/props/textOverflow/types.ts +12 -0
  517. package/src/css/props/width/types.ts +11 -0
  518. package/src/css/props/width/width.css.ts +31 -0
  519. package/src/css/props/width/width.ts +8 -0
  520. package/src/css/types.ts +221 -810
  521. package/src/css/util.ts +3 -8
  522. package/src/css/vars.css.ts +676 -0
  523. package/src/theme/getScopedTheme.ts +4 -4
  524. package/src/theme/index.ts +0 -5
  525. package/src/theme/types.ts +6 -10
  526. package/src/theme/v0/color/_generic.ts +1 -1
  527. package/src/theme/v0/color/button.ts +1 -1
  528. package/src/theme/v0/color/card.ts +1 -1
  529. package/src/theme/v0/color/color.ts +11 -11
  530. package/src/theme/v0/color/input.ts +1 -1
  531. package/src/theme/v0/color/muted.ts +1 -1
  532. package/src/theme/v0/color/selectable.ts +1 -1
  533. package/src/theme/v0/color/solid.ts +1 -1
  534. package/src/theme/v0/color/spot.ts +1 -1
  535. package/src/theme/v0/focusRing.ts +1 -3
  536. package/src/theme/v0/font.ts +6 -19
  537. package/src/theme/v0/layer.ts +1 -3
  538. package/src/theme/v0/shadow.ts +2 -6
  539. package/src/theme/v0/styles.ts +1 -1
  540. package/src/theme/v0/theme.ts +7 -7
  541. package/src/theme/v2/avatar.ts +2 -4
  542. package/src/theme/v2/build/_deprecated/color/_selectable/createSelectableTones.ts +76 -0
  543. package/src/theme/v2/build/_deprecated/color/_solid/createSolidTones.ts +54 -0
  544. package/src/theme/v2/build/_deprecated/color/button/createButtonModes.ts +22 -0
  545. package/src/theme/v2/build/_deprecated/color/button/createButtonTones.ts +55 -0
  546. package/src/theme/v2/build/_deprecated/color/card/createCardStates.ts +60 -0
  547. package/src/theme/v2/build/_deprecated/color/color.test.ts +63 -0
  548. package/src/theme/v2/build/_deprecated/color/defaults.ts +390 -0
  549. package/src/theme/v2/build/_deprecated/color/factory.ts +141 -0
  550. package/src/theme/v2/build/_deprecated/color/input/createInputModes.ts +86 -0
  551. package/src/theme/v2/build/_deprecated/color/muted/createMuted.ts +54 -0
  552. package/src/theme/v2/build/_deprecated/color/spot/createSpot.ts +20 -0
  553. package/src/theme/v2/build/buildColorTheme.test.ts +185 -0
  554. package/src/theme/v2/build/buildColorTheme.ts +494 -0
  555. package/src/theme/v2/build/buildTheme.test.ts +89 -0
  556. package/src/theme/v2/build/buildTheme.ts +37 -0
  557. package/src/theme/v2/build/colorToken/colorToken.ts +19 -0
  558. package/src/theme/v2/build/colorToken/compileColorToken.ts +21 -0
  559. package/src/theme/v2/build/colorToken/types.ts +6 -0
  560. package/src/theme/v2/build/lib/color-fns/blend/mix.ts +21 -0
  561. package/src/theme/v2/build/lib/color-fns/blend/multiply.ts +18 -0
  562. package/src/theme/v2/build/lib/color-fns/blend/screen.ts +18 -0
  563. package/src/theme/v2/build/lib/color-fns/color-fns.test.ts +68 -0
  564. package/src/theme/v2/build/lib/color-fns/contrastRatio.ts +34 -0
  565. package/src/theme/v2/build/lib/color-fns/convert.ts +150 -0
  566. package/src/theme/v2/build/lib/color-fns/parse.ts +60 -0
  567. package/src/theme/v2/build/mixThemeColor.test.ts +23 -0
  568. package/src/theme/v2/build/mixThemeColor.ts +53 -0
  569. package/src/theme/v2/build/renderColorTheme.ts +532 -0
  570. package/src/theme/v2/build/renderColorValue.ts +85 -0
  571. package/src/theme/v2/build/resolveColorTokens.ts +268 -0
  572. package/src/theme/v2/color/_helpers.ts +2 -2
  573. package/src/theme/v2/color/_system.ts +2 -4
  574. package/src/theme/v2/color/avatar.ts +3 -7
  575. package/src/theme/v2/color/badge.ts +3 -7
  576. package/src/theme/v2/color/button.ts +5 -11
  577. package/src/theme/v2/color/color.ts +10 -16
  578. package/src/theme/v2/color/input.ts +8 -10
  579. package/src/theme/v2/color/kbd.ts +1 -3
  580. package/src/theme/v2/color/selectable.ts +4 -8
  581. package/src/theme/v2/color/state.ts +5 -7
  582. package/src/theme/v2/color/syntax.ts +1 -3
  583. package/src/theme/v2/config/helpers.ts +48 -0
  584. package/src/theme/v2/config/system.ts +114 -0
  585. package/src/theme/v2/config/tokens/color/types.ts +137 -0
  586. package/src/theme/v2/config/tokens/index.ts +3 -0
  587. package/src/theme/v2/config/tokens/parseTokenValue.test.ts +44 -0
  588. package/src/theme/v2/config/tokens/parseTokenValue.ts +133 -0
  589. package/src/theme/v2/config/tokens/types.ts +53 -0
  590. package/src/theme/v2/config/types.ts +47 -0
  591. package/src/theme/v2/defaults/colorPalette.ts +5 -0
  592. package/src/theme/v2/defaults/colorTokens.ts +648 -0
  593. package/src/theme/v2/defaults/config.ts +84 -0
  594. package/src/theme/v2/defaults/fonts.ts +227 -0
  595. package/src/theme/v2/index.ts +2 -0
  596. package/src/theme/v2/input.ts +2 -4
  597. package/src/theme/v2/theme.ts +10 -14
  598. package/src/theme/v3/_constants.ts +29 -0
  599. package/src/theme/v3/_parseColorToken.ts +180 -0
  600. package/src/theme/v3/buildTheme_v3.ts +20 -11
  601. package/src/theme/v3/color/_constants.ts +15 -0
  602. package/src/theme/v3/color/avatar.ts +14 -0
  603. package/src/theme/v3/color/card.ts +58 -95
  604. package/src/theme/v3/color/color.ts +75 -71
  605. package/src/theme/v3/color/element.ts +8 -8
  606. package/src/theme/v3/color/index.ts +2 -2
  607. package/src/theme/v3/color/token.ts +19 -4
  608. package/src/theme/v3/color/tokens.ts +2 -2
  609. package/src/theme/v3/defaultFonts.ts +250 -0
  610. package/src/theme/v3/defaultTokens.ts +199 -0
  611. package/src/theme/v3/index.ts +4 -1
  612. package/src/theme/v3/palette/constants.ts +15 -0
  613. package/src/theme/v3/palette/types.ts +7 -0
  614. package/src/theme/v3/resolveTokens.ts +70 -65
  615. package/src/theme/v3/tokens.ts +2 -2
  616. package/src/theme/v3/types.ts +97 -12
  617. package/src/theme/versioning/getTheme_v2.ts +3 -3
  618. package/src/theme/versioning/is_v0.ts +2 -2
  619. package/src/theme/versioning/is_v2.ts +2 -2
  620. package/src/theme/versioning/themeColor_v0_v2.ts +2 -2
  621. package/src/theme/versioning/themeColor_v2_v2_9.ts +1 -1
  622. package/src/theme/versioning/themeColor_v3_v2.ts +229 -52
  623. package/src/theme/versioning/v0_v2.ts +3 -3
  624. package/src/theme/versioning/v2_v0.ts +4 -4
  625. package/src/theme/versioning/v3_v2.ts +62 -40
  626. package/bin/ui.js +0 -5
  627. package/dist/_chunks-cjs/_visual-editing.js +0 -3100
  628. package/dist/_chunks-cjs/_visual-editing.js.map +0 -1
  629. package/dist/_chunks-cjs/buildCommand.js +0 -32
  630. package/dist/_chunks-cjs/buildCommand.js.map +0 -1
  631. package/dist/_chunks-cjs/refractor.js +0 -27
  632. package/dist/_chunks-cjs/refractor.js.map +0 -1
  633. package/dist/_chunks-cjs/v3_v2.js +0 -251
  634. package/dist/_chunks-cjs/v3_v2.js.map +0 -1
  635. package/dist/_chunks-es/_visual-editing.mjs +0 -3107
  636. package/dist/_chunks-es/_visual-editing.mjs.map +0 -1
  637. package/dist/_chunks-es/refractor.mjs +0 -26
  638. package/dist/_chunks-es/refractor.mjs.map +0 -1
  639. package/dist/_chunks-es/v3_v2.mjs +0 -252
  640. package/dist/_chunks-es/v3_v2.mjs.map +0 -1
  641. package/dist/_visual-editing.d.mts +0 -808
  642. package/dist/_visual-editing.mjs +0 -31
  643. package/dist/_visual-editing.mjs.map +0 -1
  644. package/dist/cli.d.ts +0 -1
  645. package/dist/cli.js +0 -357
  646. package/dist/cli.js.map +0 -1
  647. package/dist/css.d.mts +0 -2197
  648. package/dist/css.d.ts +0 -2197
  649. package/dist/css.js +0 -4769
  650. package/dist/css.js.map +0 -1
  651. package/dist/css.mjs +0 -4770
  652. package/dist/css.mjs.map +0 -1
  653. package/dist/index.d.mts +0 -2869
  654. package/dist/index.mjs +0 -1545
  655. package/dist/index.mjs.map +0 -1
  656. package/dist/sanity-palette.css +0 -9
  657. package/dist/sanity-theme.css +0 -1
  658. package/dist/system.css +0 -22813
  659. package/dist/theme.d.mts +0 -1883
  660. package/dist/theme.mjs +0 -2989
  661. package/dist/theme.mjs.map +0 -1
  662. package/src/cli/buildCommand.ts +0 -48
  663. package/src/cli/index.ts +0 -38
  664. package/src/css/_comp.test.ts +0 -7
  665. package/src/css/_comp.ts +0 -10
  666. package/src/css/_mergeStyles.ts +0 -31
  667. package/src/css/_resp.ts +0 -38
  668. package/src/css/_responsiveRule.ts +0 -38
  669. package/src/css/aspects/border/border.style.ts +0 -13
  670. package/src/css/aspects/border/border.ts +0 -14
  671. package/src/css/aspects/border/index.ts +0 -2
  672. package/src/css/aspects/border/types.ts +0 -10
  673. package/src/css/aspects/display/display.style.ts +0 -34
  674. package/src/css/aspects/display/display.ts +0 -7
  675. package/src/css/aspects/display/index.ts +0 -2
  676. package/src/css/aspects/display/types.ts +0 -17
  677. package/src/css/aspects/flex/flex.style.ts +0 -30
  678. package/src/css/aspects/flex/flex.ts +0 -13
  679. package/src/css/aspects/flex/flexAlign.style.ts +0 -12
  680. package/src/css/aspects/flex/flexDirection.style.ts +0 -11
  681. package/src/css/aspects/flex/flexJustify.style.ts +0 -13
  682. package/src/css/aspects/flex/flexWrap.style.ts +0 -10
  683. package/src/css/aspects/flex/index.ts +0 -2
  684. package/src/css/aspects/flex/types.ts +0 -35
  685. package/src/css/aspects/flexItem/flex.style.ts +0 -22
  686. package/src/css/aspects/flexItem/flexItem.ts +0 -8
  687. package/src/css/aspects/flexItem/index.ts +0 -2
  688. package/src/css/aspects/flexItem/types.ts +0 -27
  689. package/src/css/aspects/font/font.style.ts +0 -151
  690. package/src/css/aspects/font/font.ts +0 -12
  691. package/src/css/aspects/font/index.ts +0 -2
  692. package/src/css/aspects/font/types.ts +0 -12
  693. package/src/css/aspects/gap/gap.style.ts +0 -21
  694. package/src/css/aspects/gap/gap.ts +0 -8
  695. package/src/css/aspects/gap/index.ts +0 -2
  696. package/src/css/aspects/gap/types.ts +0 -10
  697. package/src/css/aspects/grid/grid.ts +0 -13
  698. package/src/css/aspects/grid/gridAutoColumns.style.ts +0 -11
  699. package/src/css/aspects/grid/gridAutoFlow.style.ts +0 -11
  700. package/src/css/aspects/grid/gridAutoRows.style.ts +0 -11
  701. package/src/css/aspects/grid/gridColumns.style.ts +0 -18
  702. package/src/css/aspects/grid/gridRows.style.ts +0 -18
  703. package/src/css/aspects/grid/index.ts +0 -2
  704. package/src/css/aspects/grid/types.ts +0 -29
  705. package/src/css/aspects/gridItem/gridColumn.style.ts +0 -20
  706. package/src/css/aspects/gridItem/gridColumnEnd.style.ts +0 -20
  707. package/src/css/aspects/gridItem/gridColumnStart.style.ts +0 -20
  708. package/src/css/aspects/gridItem/gridItem.ts +0 -15
  709. package/src/css/aspects/gridItem/gridRow.style.ts +0 -20
  710. package/src/css/aspects/gridItem/gridRowEnd.style.ts +0 -20
  711. package/src/css/aspects/gridItem/gridRowStart.style.ts +0 -20
  712. package/src/css/aspects/gridItem/index.ts +0 -2
  713. package/src/css/aspects/gridItem/types.ts +0 -41
  714. package/src/css/aspects/height/height.style.ts +0 -9
  715. package/src/css/aspects/height/height.ts +0 -17
  716. package/src/css/aspects/height/index.ts +0 -1
  717. package/src/css/aspects/height/rules.ts +0 -7
  718. package/src/css/aspects/index.ts +0 -20
  719. package/src/css/aspects/inset/index.ts +0 -2
  720. package/src/css/aspects/inset/inset.style.ts +0 -12
  721. package/src/css/aspects/inset/inset.ts +0 -13
  722. package/src/css/aspects/inset/types.ts +0 -13
  723. package/src/css/aspects/margin/index.ts +0 -2
  724. package/src/css/aspects/margin/margin.style.ts +0 -46
  725. package/src/css/aspects/margin/margin.ts +0 -15
  726. package/src/css/aspects/margin/types.ts +0 -11
  727. package/src/css/aspects/maxWidth/index.ts +0 -2
  728. package/src/css/aspects/maxWidth/maxWidth.style.ts +0 -16
  729. package/src/css/aspects/maxWidth/maxWidth.ts +0 -6
  730. package/src/css/aspects/maxWidth/types.ts +0 -7
  731. package/src/css/aspects/outline/outline.style.ts +0 -9
  732. package/src/css/aspects/overflow/index.ts +0 -2
  733. package/src/css/aspects/overflow/overflow.style.ts +0 -11
  734. package/src/css/aspects/overflow/overflow.ts +0 -11
  735. package/src/css/aspects/overflow/types.ts +0 -11
  736. package/src/css/aspects/padding/index.ts +0 -2
  737. package/src/css/aspects/padding/padding.style.ts +0 -46
  738. package/src/css/aspects/padding/padding.ts +0 -15
  739. package/src/css/aspects/padding/types.ts +0 -14
  740. package/src/css/aspects/pointerEvents/index.ts +0 -2
  741. package/src/css/aspects/pointerEvents/pointerEvents.style.ts +0 -13
  742. package/src/css/aspects/pointerEvents/pointerEvents.ts +0 -6
  743. package/src/css/aspects/position/index.ts +0 -2
  744. package/src/css/aspects/position/position.style.ts +0 -12
  745. package/src/css/aspects/position/position.ts +0 -7
  746. package/src/css/aspects/position/types.ts +0 -9
  747. package/src/css/aspects/radius/index.ts +0 -2
  748. package/src/css/aspects/radius/radius.style.ts +0 -16
  749. package/src/css/aspects/radius/radius.ts +0 -8
  750. package/src/css/aspects/radius/types.ts +0 -8
  751. package/src/css/aspects/shadow/index.ts +0 -2
  752. package/src/css/aspects/shadow/shadow.style.ts +0 -49
  753. package/src/css/aspects/shadow/shadow.ts +0 -7
  754. package/src/css/aspects/shadow/types.ts +0 -8
  755. package/src/css/aspects/textOverflow/index.ts +0 -2
  756. package/src/css/aspects/textOverflow/textOverflow.style.ts +0 -21
  757. package/src/css/aspects/textOverflow/textOverflow.ts +0 -6
  758. package/src/css/aspects/textOverflow/types.ts +0 -8
  759. package/src/css/aspects/width/index.ts +0 -2
  760. package/src/css/aspects/width/rules.ts +0 -8
  761. package/src/css/aspects/width/types.ts +0 -9
  762. package/src/css/aspects/width/width.style.ts +0 -11
  763. package/src/css/aspects/width/width.ts +0 -6
  764. package/src/css/compile/compilePalette.ts +0 -60
  765. package/src/css/compile/compileRule.ts +0 -96
  766. package/src/css/compile/compileRules.test.ts +0 -36
  767. package/src/css/compile/compileRules.ts +0 -43
  768. package/src/css/compile/compileStyle.ts +0 -148
  769. package/src/css/compile/compileSystem.ts +0 -10
  770. package/src/css/compile/compileTheme.ts +0 -15
  771. package/src/css/compile/compileTheme_v3.ts +0 -410
  772. package/src/css/compile/types.ts +0 -6
  773. package/src/css/components/breadcrumbs/breadcrumbs.style.ts +0 -9
  774. package/src/css/components/breadcrumbs/index.ts +0 -1
  775. package/src/css/components/breadcrumbs/rules.ts +0 -25
  776. package/src/css/components/dialog/dialog.style.ts +0 -79
  777. package/src/css/components/dialog/index.ts +0 -1
  778. package/src/css/components/dialog/rules.ts +0 -78
  779. package/src/css/components/menu/index.ts +0 -1
  780. package/src/css/components/menu/menu.style.ts +0 -17
  781. package/src/css/components/menu/rules.ts +0 -15
  782. package/src/css/components/skeleton/index.ts +0 -2
  783. package/src/css/components/skeleton/rules.ts +0 -113
  784. package/src/css/components/skeleton/skeleton.style.ts +0 -96
  785. package/src/css/components/toast/index.ts +0 -1
  786. package/src/css/components/toast/rules.ts +0 -18
  787. package/src/css/components/toast/toast.style.ts +0 -20
  788. package/src/css/components/tree/index.ts +0 -1
  789. package/src/css/components/tree/rules.ts +0 -168
  790. package/src/css/components/tree/tree.style.ts +0 -55
  791. package/src/css/composeClassNames.ts +0 -17
  792. package/src/css/primitives/_arrow/_arrow.style.ts +0 -73
  793. package/src/css/primitives/_arrow/index.ts +0 -1
  794. package/src/css/primitives/_input/__workshop__/customInput.tsx +0 -16
  795. package/src/css/primitives/_input/__workshop__/index.ts +0 -14
  796. package/src/css/primitives/_input/_input.style.ts +0 -162
  797. package/src/css/primitives/_input/index.ts +0 -2
  798. package/src/css/primitives/_selectable/__style.ts +0 -117
  799. package/src/css/primitives/_selectable/_contants.ts +0 -11
  800. package/src/css/primitives/_selectable/_selectable.style.ts +0 -132
  801. package/src/css/primitives/_selectable/index.ts +0 -2
  802. package/src/css/primitives/avatar/avatar.style.ts +0 -175
  803. package/src/css/primitives/avatar/index.ts +0 -2
  804. package/src/css/primitives/avatar/rules.ts +0 -176
  805. package/src/css/primitives/badge/badge.style.ts +0 -22
  806. package/src/css/primitives/badge/index.ts +0 -2
  807. package/src/css/primitives/box/box.style.ts +0 -31
  808. package/src/css/primitives/box/index.ts +0 -2
  809. package/src/css/primitives/button/_constants.ts +0 -17
  810. package/src/css/primitives/button/button.style.ts +0 -182
  811. package/src/css/primitives/button/index.ts +0 -1
  812. package/src/css/primitives/button/rules.ts +0 -302
  813. package/src/css/primitives/card/_constants.ts +0 -13
  814. package/src/css/primitives/card/card.style.ts +0 -198
  815. package/src/css/primitives/card/index.ts +0 -2
  816. package/src/css/primitives/card/rules.ts +0 -473
  817. package/src/css/primitives/checkbox/__styles.ts +0 -129
  818. package/src/css/primitives/checkbox/checkbox.style.ts +0 -154
  819. package/src/css/primitives/checkbox/index.ts +0 -1
  820. package/src/css/primitives/checkbox/rules.ts +0 -152
  821. package/src/css/primitives/code/code.style.ts +0 -62
  822. package/src/css/primitives/code/index.ts +0 -2
  823. package/src/css/primitives/code/rules.ts +0 -96
  824. package/src/css/primitives/container/container.style.ts +0 -10
  825. package/src/css/primitives/container/index.ts +0 -2
  826. package/src/css/primitives/container/rules.ts +0 -8
  827. package/src/css/primitives/heading/heading.style.ts +0 -47
  828. package/src/css/primitives/heading/index.ts +0 -2
  829. package/src/css/primitives/heading/rules.ts +0 -155
  830. package/src/css/primitives/kbd/index.ts +0 -2
  831. package/src/css/primitives/kbd/kbd.style.ts +0 -22
  832. package/src/css/primitives/kbd/rules.ts +0 -20
  833. package/src/css/primitives/label/index.ts +0 -2
  834. package/src/css/primitives/label/label.style.ts +0 -48
  835. package/src/css/primitives/label/rules.ts +0 -137
  836. package/src/css/primitives/popover/index.ts +0 -1
  837. package/src/css/primitives/popover/popover.style.ts +0 -5
  838. package/src/css/primitives/popover/rules.ts +0 -5
  839. package/src/css/primitives/radio/index.ts +0 -1
  840. package/src/css/primitives/radio/radio.style.ts +0 -123
  841. package/src/css/primitives/radio/rules.ts +0 -121
  842. package/src/css/primitives/select/index.ts +0 -2
  843. package/src/css/primitives/select/rules.ts +0 -22
  844. package/src/css/primitives/select/select.style.ts +0 -24
  845. package/src/css/primitives/spinner/index.ts +0 -1
  846. package/src/css/primitives/spinner/rules.ts +0 -21
  847. package/src/css/primitives/spinner/spinner.style.ts +0 -22
  848. package/src/css/primitives/switch/index.ts +0 -1
  849. package/src/css/primitives/switch/rules.ts +0 -340
  850. package/src/css/primitives/switch/switch.style.ts +0 -169
  851. package/src/css/primitives/text/index.ts +0 -2
  852. package/src/css/primitives/text/rules.ts +0 -164
  853. package/src/css/primitives/text/text.style.ts +0 -56
  854. package/src/css/primitives/textArea/index.ts +0 -2
  855. package/src/css/primitives/textArea/rules.ts +0 -7
  856. package/src/css/primitives/textArea/textArea.style.ts +0 -9
  857. package/src/css/primitives/textInput/index.ts +0 -2
  858. package/src/css/primitives/textInput/rules.ts +0 -224
  859. package/src/css/primitives/textInput/textInput.style.ts +0 -167
  860. package/src/css/primitives/token/rules.ts +0 -45
  861. package/src/css/primitives/token/token.style.ts +0 -49
  862. package/src/css/primitives/tooltip/index.ts +0 -1
  863. package/src/css/primitives/tooltip/rules.ts +0 -19
  864. package/src/css/primitives/tooltip/tooltip.style.ts +0 -21
  865. package/src/css/responsiveRules.ts +0 -25
  866. package/src/css/scopeClassName.ts +0 -6
  867. package/src/css/system.style.ts +0 -154
  868. package/src/css/utils/srOnly/index.ts +0 -1
  869. package/src/css/utils/srOnly/srOnly.style.ts +0 -14
  870. package/src/css/utils/srOnly/srOnly.ts +0 -5
  871. package/src/css/varNames.ts +0 -486
  872. package/src/css/vars.ts +0 -456
  873. package/src/theme/_constants.ts +0 -26
  874. package/src/theme/_types.ts +0 -41
  875. package/src/theme/build/_deprecated/color/_selectable/createSelectableTones.ts +0 -76
  876. package/src/theme/build/_deprecated/color/_solid/createSolidTones.ts +0 -54
  877. package/src/theme/build/_deprecated/color/button/createButtonModes.ts +0 -17
  878. package/src/theme/build/_deprecated/color/button/createButtonTones.ts +0 -55
  879. package/src/theme/build/_deprecated/color/card/createCardStates.ts +0 -60
  880. package/src/theme/build/_deprecated/color/color.test.ts +0 -63
  881. package/src/theme/build/_deprecated/color/defaults.ts +0 -390
  882. package/src/theme/build/_deprecated/color/factory.ts +0 -141
  883. package/src/theme/build/_deprecated/color/input/createInputModes.ts +0 -81
  884. package/src/theme/build/_deprecated/color/muted/createMuted.ts +0 -54
  885. package/src/theme/build/_deprecated/color/spot/createSpot.ts +0 -20
  886. package/src/theme/build/buildColorTheme.test.ts +0 -183
  887. package/src/theme/build/buildColorTheme.ts +0 -494
  888. package/src/theme/build/buildTheme.test.ts +0 -87
  889. package/src/theme/build/buildTheme.ts +0 -12
  890. package/src/theme/build/colorToken/colorToken.ts +0 -19
  891. package/src/theme/build/colorToken/compileColorToken.ts +0 -21
  892. package/src/theme/build/colorToken/types.ts +0 -6
  893. package/src/theme/build/lib/color-fns/blend/mix.ts +0 -21
  894. package/src/theme/build/lib/color-fns/blend/multiply.ts +0 -18
  895. package/src/theme/build/lib/color-fns/blend/screen.ts +0 -18
  896. package/src/theme/build/lib/color-fns/color-fns.test.ts +0 -68
  897. package/src/theme/build/lib/color-fns/contrastRatio.ts +0 -31
  898. package/src/theme/build/lib/color-fns/convert.ts +0 -150
  899. package/src/theme/build/lib/color-fns/parse.ts +0 -60
  900. package/src/theme/build/mixThemeColor.test.ts +0 -21
  901. package/src/theme/build/mixThemeColor.ts +0 -53
  902. package/src/theme/build/renderColorTheme.ts +0 -532
  903. package/src/theme/build/renderColorValue.ts +0 -85
  904. package/src/theme/build/resolveColorTokens.ts +0 -268
  905. package/src/theme/build/theme.test.ts +0 -27
  906. package/src/theme/config/helpers.ts +0 -55
  907. package/src/theme/config/system.ts +0 -115
  908. package/src/theme/config/tokens/color/types.ts +0 -133
  909. package/src/theme/config/tokens/index.ts +0 -4
  910. package/src/theme/config/tokens/parseTokenKey.test.ts +0 -64
  911. package/src/theme/config/tokens/parseTokenKey.ts +0 -67
  912. package/src/theme/config/tokens/parseTokenValue.test.ts +0 -42
  913. package/src/theme/config/tokens/parseTokenValue.ts +0 -133
  914. package/src/theme/config/tokens/types.ts +0 -53
  915. package/src/theme/config/types.ts +0 -45
  916. package/src/theme/defaults/colorPalette.ts +0 -5
  917. package/src/theme/defaults/colorTokens.ts +0 -648
  918. package/src/theme/defaults/config.ts +0 -84
  919. package/src/theme/defaults/fonts.ts +0 -228
  920. package/src/theme/palette/constants.ts +0 -15
  921. package/src/theme/palette/types.ts +0 -16
  922. package/src/theme/v3/buildTheme_v3.test.ts +0 -40
  923. package/src/theme/v3/color/buildColor_v3.ts +0 -193
  924. package/src/theme/v3/color/parseColor.test.ts +0 -79
  925. package/src/theme/v3/color/parseColor.ts +0 -167
  926. package/src/theme/v3/color/renderColor.test.ts +0 -19
  927. package/src/theme/v3/color/renderColor.ts +0 -33
  928. package/src/theme/v3/defaults.ts +0 -205
  929. package/src/ui/StyleTags.tsx +0 -24
  930. package/src/ui/_compat/index.ts +0 -9
  931. package/src/ui/_compat/styles/_responsive.ts +0 -19
  932. package/src/ui/_compat/styles/index.ts +0 -1
  933. package/src/ui/_compat/theme/index.ts +0 -5
  934. package/src/ui/_compat/theme/theme.test.tsx +0 -73
  935. package/src/ui/_compat/theme/themeColorProvider.tsx +0 -30
  936. package/src/ui/_compat/theme/themeContext.ts +0 -10
  937. package/src/ui/_compat/theme/themeProvider.tsx +0 -74
  938. package/src/ui/_compat/theme/types.ts +0 -12
  939. package/src/ui/_compat/theme/useRootTheme.ts +0 -17
  940. package/src/ui/_compat/theme/useTheme.ts +0 -16
  941. package/src/ui/_compat/types.ts +0 -274
  942. package/src/ui/components/autocomplete/__workshop__/async.tsx +0 -157
  943. package/src/ui/components/autocomplete/__workshop__/constrainedHeight.tsx +0 -131
  944. package/src/ui/components/autocomplete/__workshop__/custom.tsx +0 -90
  945. package/src/ui/components/autocomplete/__workshop__/example.tsx +0 -80
  946. package/src/ui/components/autocomplete/__workshop__/focusAndBlur.tsx +0 -36
  947. package/src/ui/components/autocomplete/__workshop__/fullscreen.tsx +0 -293
  948. package/src/ui/components/autocomplete/__workshop__/index.ts +0 -39
  949. package/src/ui/components/autocomplete/autocomplete.tsx +0 -731
  950. package/src/ui/components/autocomplete/autocompleteOption.tsx +0 -45
  951. package/src/ui/components/autocomplete/autocompleteReducer.ts +0 -47
  952. package/src/ui/components/autocomplete/constants.ts +0 -28
  953. package/src/ui/components/autocomplete/index.ts +0 -2
  954. package/src/ui/components/autocomplete/types.ts +0 -108
  955. package/src/ui/components/breadcrumbs/__workshop__/example.tsx +0 -62
  956. package/src/ui/components/breadcrumbs/breadcrumbs.tsx +0 -127
  957. package/src/ui/components/breadcrumbs/index.ts +0 -1
  958. package/src/ui/components/dialog/__workshop__/activate.tsx +0 -134
  959. package/src/ui/components/dialog/__workshop__/autoFocus.tsx +0 -29
  960. package/src/ui/components/dialog/__workshop__/onScroll.tsx +0 -39
  961. package/src/ui/components/dialog/__workshop__/panes.tsx +0 -82
  962. package/src/ui/components/dialog/__workshop__/position.tsx +0 -30
  963. package/src/ui/components/dialog/__workshop__/props.tsx +0 -77
  964. package/src/ui/components/dialog/__workshop__/wrapped.tsx +0 -76
  965. package/src/ui/components/dialog/dialog.tsx +0 -433
  966. package/src/ui/components/dialog/dialogContext.ts +0 -20
  967. package/src/ui/components/dialog/dialogProvider.tsx +0 -35
  968. package/src/ui/components/dialog/index.ts +0 -4
  969. package/src/ui/components/dialog/useDialog.ts +0 -11
  970. package/src/ui/components/hotkeys/hotkeys.tsx +0 -54
  971. package/src/ui/components/hotkeys/index.ts +0 -1
  972. package/src/ui/components/index.ts +0 -9
  973. package/src/ui/components/menu/__workshop__/asComponent.tsx +0 -45
  974. package/src/ui/components/menu/__workshop__/avatarMenu.tsx +0 -51
  975. package/src/ui/components/menu/__workshop__/closableMenuButton.tsx +0 -46
  976. package/src/ui/components/menu/__workshop__/constrainedInBoundary.tsx +0 -134
  977. package/src/ui/components/menu/__workshop__/customMenuItem.tsx +0 -45
  978. package/src/ui/components/menu/__workshop__/customSelectedState.tsx +0 -39
  979. package/src/ui/components/menu/__workshop__/disableFocusOnClose.tsx +0 -40
  980. package/src/ui/components/menu/__workshop__/groups.tsx +0 -156
  981. package/src/ui/components/menu/__workshop__/menuButton.tsx +0 -80
  982. package/src/ui/components/menu/__workshop__/menuGroupRight.tsx +0 -65
  983. package/src/ui/components/menu/__workshop__/nestedMenu.tsx +0 -22
  984. package/src/ui/components/menu/__workshop__/onCloseMenuButton.tsx +0 -41
  985. package/src/ui/components/menu/__workshop__/selectedItem.tsx +0 -69
  986. package/src/ui/components/menu/__workshop__/shouldFocus.tsx +0 -47
  987. package/src/ui/components/menu/__workshop__/tones.tsx +0 -25
  988. package/src/ui/components/menu/__workshop__/withoutArrow.tsx +0 -32
  989. package/src/ui/components/menu/helpers.ts +0 -82
  990. package/src/ui/components/menu/index.ts +0 -5
  991. package/src/ui/components/menu/menu.test.tsx +0 -128
  992. package/src/ui/components/menu/menu.tsx +0 -200
  993. package/src/ui/components/menu/menuButton.tsx +0 -275
  994. package/src/ui/components/menu/menuContext.ts +0 -31
  995. package/src/ui/components/menu/menuDivider.tsx +0 -22
  996. package/src/ui/components/menu/menuGroup.tsx +0 -228
  997. package/src/ui/components/menu/menuItem.tsx +0 -180
  998. package/src/ui/components/menu/useMenu.ts +0 -21
  999. package/src/ui/components/menu/useMenuController.ts +0 -241
  1000. package/src/ui/components/skeleton/__workshop__/delay.tsx +0 -70
  1001. package/src/ui/components/skeleton/__workshop__/index.ts +0 -11
  1002. package/src/ui/components/skeleton/__workshop__/skeleton.tsx +0 -64
  1003. package/src/ui/components/skeleton/index.ts +0 -2
  1004. package/src/ui/components/skeleton/skeleton.tsx +0 -53
  1005. package/src/ui/components/skeleton/textSkeleton.tsx +0 -132
  1006. package/src/ui/components/tab/__workshop__/example.tsx +0 -79
  1007. package/src/ui/components/tab/index.ts +0 -3
  1008. package/src/ui/components/tab/tab.tsx +0 -105
  1009. package/src/ui/components/tab/tabList.tsx +0 -74
  1010. package/src/ui/components/tab/tabPanel.tsx +0 -40
  1011. package/src/ui/components/toast/__workshop__/hook.tsx +0 -71
  1012. package/src/ui/components/toast/__workshop__/toast.tsx +0 -26
  1013. package/src/ui/components/toast/index.ts +0 -4
  1014. package/src/ui/components/toast/toast.test.tsx +0 -101
  1015. package/src/ui/components/toast/toast.tsx +0 -211
  1016. package/src/ui/components/toast/toastContext.ts +0 -7
  1017. package/src/ui/components/toast/toastLayer.tsx +0 -38
  1018. package/src/ui/components/toast/toastProvider.tsx +0 -113
  1019. package/src/ui/components/toast/types.ts +0 -28
  1020. package/src/ui/components/toast/useToast.ts +0 -25
  1021. package/src/ui/components/tree/__workshop__/basic.perf.ts +0 -19
  1022. package/src/ui/components/tree/__workshop__/basic.tsx +0 -105
  1023. package/src/ui/components/tree/__workshop__/tabFromElement.tsx +0 -84
  1024. package/src/ui/components/tree/helpers.ts +0 -105
  1025. package/src/ui/components/tree/index.ts +0 -4
  1026. package/src/ui/components/tree/tree.tsx +0 -244
  1027. package/src/ui/components/tree/treeContext.ts +0 -10
  1028. package/src/ui/components/tree/treeGroup.tsx +0 -30
  1029. package/src/ui/components/tree/treeItem.tsx +0 -220
  1030. package/src/ui/components/tree/types.ts +0 -25
  1031. package/src/ui/components/tree/useTree.ts +0 -17
  1032. package/src/ui/constants.ts +0 -79
  1033. package/src/ui/helpers/focus.ts +0 -100
  1034. package/src/ui/helpers/index.ts +0 -5
  1035. package/src/ui/helpers/props.ts +0 -10
  1036. package/src/ui/hooks/index.ts +0 -12
  1037. package/src/ui/hooks/useArrayProp.ts +0 -29
  1038. package/src/ui/hooks/useClickOutside.test.tsx +0 -482
  1039. package/src/ui/hooks/useClickOutside.ts +0 -117
  1040. package/src/ui/hooks/useClickOutsideEvent.test.tsx +0 -115
  1041. package/src/ui/hooks/useClickOutsideEvent.ts +0 -73
  1042. package/src/ui/hooks/useDelayed.test.ts +0 -68
  1043. package/src/ui/hooks/useDelayedState.ts +0 -28
  1044. package/src/ui/hooks/useElementRect/__workshop__/example.tsx +0 -32
  1045. package/src/ui/hooks/useElementRect/index.ts +0 -1
  1046. package/src/ui/hooks/useElementSize.ts +0 -19
  1047. package/src/ui/hooks/useForwardedRef.ts +0 -19
  1048. package/src/ui/hooks/useMediaIndex/__workshop__/test.tsx +0 -14
  1049. package/src/ui/hooks/useMediaIndex/index.ts +0 -1
  1050. package/src/ui/hooks/useMediaIndex/useMediaIndex.test.tsx +0 -36
  1051. package/src/ui/hooks/useMediaIndex/useMediaIndex.ts +0 -104
  1052. package/src/ui/hooks/usePrefersDark.hydration.test.tsx +0 -56
  1053. package/src/ui/hooks/usePrefersDark.test.tsx +0 -19
  1054. package/src/ui/hooks/usePrefersReducedMotion.hydration.test.tsx +0 -56
  1055. package/src/ui/hooks/usePrefersReducedMotion.test.tsx +0 -19
  1056. package/src/ui/index.ts +0 -9
  1057. package/src/ui/middleware/origin.ts +0 -47
  1058. package/src/ui/observers/elementSizeObserver.ts +0 -116
  1059. package/src/ui/observers/index.ts +0 -2
  1060. package/src/ui/primitives/_selectable/index.ts +0 -1
  1061. package/src/ui/primitives/_selectable/selectable.tsx +0 -31
  1062. package/src/ui/primitives/avatar/__workshop__/asButton.tsx +0 -14
  1063. package/src/ui/primitives/avatar/__workshop__/stack.tsx +0 -25
  1064. package/src/ui/primitives/avatar/__workshop__/withinButton.tsx +0 -63
  1065. package/src/ui/primitives/avatar/__workshop__/withinMenuItem.tsx +0 -72
  1066. package/src/ui/primitives/avatar/avatar.tsx +0 -158
  1067. package/src/ui/primitives/avatar/avatarCounter.tsx +0 -62
  1068. package/src/ui/primitives/avatar/avatarStack.tsx +0 -82
  1069. package/src/ui/primitives/avatar/index.ts +0 -4
  1070. package/src/ui/primitives/avatar/types.ts +0 -17
  1071. package/src/ui/primitives/badge/__workshop__/props.tsx +0 -30
  1072. package/src/ui/primitives/badge/__workshop__/tones.tsx +0 -21
  1073. package/src/ui/primitives/badge/badge.test.tsx +0 -16
  1074. package/src/ui/primitives/badge/badge.tsx +0 -64
  1075. package/src/ui/primitives/badge/index.ts +0 -1
  1076. package/src/ui/primitives/badge/types.ts +0 -8
  1077. package/src/ui/primitives/box/__workshop__/props.tsx +0 -20
  1078. package/src/ui/primitives/box/__workshop__/responsive.tsx +0 -20
  1079. package/src/ui/primitives/box/box.tsx +0 -155
  1080. package/src/ui/primitives/box/index.ts +0 -1
  1081. package/src/ui/primitives/button/__workshop__/custom.tsx +0 -50
  1082. package/src/ui/primitives/button/__workshop__/customIcons.tsx +0 -30
  1083. package/src/ui/primitives/button/__workshop__/disabled.tsx +0 -74
  1084. package/src/ui/primitives/button/__workshop__/index.ts +0 -59
  1085. package/src/ui/primitives/button/__workshop__/props.tsx +0 -58
  1086. package/src/ui/primitives/button/__workshop__/sanityUploadButton.tsx +0 -36
  1087. package/src/ui/primitives/button/__workshop__/stacked.tsx +0 -59
  1088. package/src/ui/primitives/button/__workshop__/uploadButton.tsx +0 -28
  1089. package/src/ui/primitives/button/button.test.tsx +0 -44
  1090. package/src/ui/primitives/button/button.tsx +0 -206
  1091. package/src/ui/primitives/button/index.ts +0 -1
  1092. package/src/ui/primitives/card/__workshop__/allTones.tsx +0 -27
  1093. package/src/ui/primitives/card/__workshop__/asButton.tsx +0 -107
  1094. package/src/ui/primitives/card/__workshop__/asComponent.tsx +0 -27
  1095. package/src/ui/primitives/card/__workshop__/checkered.tsx +0 -26
  1096. package/src/ui/primitives/card/__workshop__/index.ts +0 -18
  1097. package/src/ui/primitives/card/__workshop__/interactive.tsx +0 -30
  1098. package/src/ui/primitives/card/__workshop__/listNavigation.tsx +0 -80
  1099. package/src/ui/primitives/card/__workshop__/props.tsx +0 -55
  1100. package/src/ui/primitives/card/__workshop__/selected.tsx +0 -93
  1101. package/src/ui/primitives/card/card.tsx +0 -119
  1102. package/src/ui/primitives/card/cardContext.ts +0 -10
  1103. package/src/ui/primitives/card/cardProvider.tsx +0 -19
  1104. package/src/ui/primitives/card/index.ts +0 -4
  1105. package/src/ui/primitives/card/types.ts +0 -27
  1106. package/src/ui/primitives/card/useCard.ts +0 -7
  1107. package/src/ui/primitives/checkbox/__workshop__/props.tsx +0 -33
  1108. package/src/ui/primitives/checkbox/__workshop__/tones.tsx +0 -28
  1109. package/src/ui/primitives/checkbox/checkbox.tsx +0 -74
  1110. package/src/ui/primitives/checkbox/index.ts +0 -1
  1111. package/src/ui/primitives/code/__workshop__/opticalAlignment.tsx +0 -48
  1112. package/src/ui/primitives/code/__workshop__/props.tsx +0 -21
  1113. package/src/ui/primitives/code/code.tsx +0 -49
  1114. package/src/ui/primitives/code/index.ts +0 -1
  1115. package/src/ui/primitives/code/refractor.tsx +0 -20
  1116. package/src/ui/primitives/container/__workshop__/example.tsx +0 -20
  1117. package/src/ui/primitives/container/container.tsx +0 -35
  1118. package/src/ui/primitives/container/index.ts +0 -2
  1119. package/src/ui/primitives/flex/__workshop__/example.tsx +0 -34
  1120. package/src/ui/primitives/flex/flex.tsx +0 -29
  1121. package/src/ui/primitives/flex/index.ts +0 -1
  1122. package/src/ui/primitives/grid/grid.tsx +0 -30
  1123. package/src/ui/primitives/grid/index.ts +0 -1
  1124. package/src/ui/primitives/heading/__workshop__/opticalAlignment.tsx +0 -54
  1125. package/src/ui/primitives/heading/__workshop__/plain.tsx +0 -32
  1126. package/src/ui/primitives/heading/heading.tsx +0 -62
  1127. package/src/ui/primitives/heading/index.ts +0 -1
  1128. package/src/ui/primitives/index.ts +0 -27
  1129. package/src/ui/primitives/inline/__workshop__/plain.tsx +0 -27
  1130. package/src/ui/primitives/inline/index.ts +0 -1
  1131. package/src/ui/primitives/inline/inline.tsx +0 -50
  1132. package/src/ui/primitives/inline/types.ts +0 -6
  1133. package/src/ui/primitives/kbd/index.ts +0 -1
  1134. package/src/ui/primitives/kbd/kbd.tsx +0 -55
  1135. package/src/ui/primitives/label/__workshop__/plain.tsx +0 -37
  1136. package/src/ui/primitives/label/index.ts +0 -1
  1137. package/src/ui/primitives/label/label.tsx +0 -67
  1138. package/src/ui/primitives/popover/__workshop__/AlignedStory.tsx +0 -77
  1139. package/src/ui/primitives/popover/__workshop__/MatchReferenceWidthStory.tsx +0 -32
  1140. package/src/ui/primitives/popover/__workshop__/PlainStory.tsx +0 -71
  1141. package/src/ui/primitives/popover/__workshop__/RecursiveStory.tsx +0 -70
  1142. package/src/ui/primitives/popover/__workshop__/SidePanelStory.tsx +0 -93
  1143. package/src/ui/primitives/popover/__workshop__/TestStory.tsx +0 -98
  1144. package/src/ui/primitives/popover/constants.ts +0 -22
  1145. package/src/ui/primitives/popover/floating-ui/size.ts +0 -83
  1146. package/src/ui/primitives/popover/helpers.ts +0 -32
  1147. package/src/ui/primitives/popover/index.ts +0 -2
  1148. package/src/ui/primitives/popover/popover.tsx +0 -492
  1149. package/src/ui/primitives/popover/popoverCard.tsx +0 -155
  1150. package/src/ui/primitives/popover/types.ts +0 -6
  1151. package/src/ui/primitives/radio/__workshop__/example.tsx +0 -63
  1152. package/src/ui/primitives/radio/__workshop__/plain.tsx +0 -28
  1153. package/src/ui/primitives/radio/index.ts +0 -1
  1154. package/src/ui/primitives/radio/radio.tsx +0 -49
  1155. package/src/ui/primitives/select/__workshop__/plain.tsx +0 -30
  1156. package/src/ui/primitives/select/__workshop__/readOnly.tsx +0 -23
  1157. package/src/ui/primitives/select/index.ts +0 -1
  1158. package/src/ui/primitives/select/select.tsx +0 -85
  1159. package/src/ui/primitives/spinner/__workshop__/Props.tsx +0 -16
  1160. package/src/ui/primitives/spinner/animatedSpinnerIcon.tsx +0 -16
  1161. package/src/ui/primitives/spinner/index.ts +0 -1
  1162. package/src/ui/primitives/spinner/spinner.tsx +0 -33
  1163. package/src/ui/primitives/stack/__workshop__/plain.tsx +0 -32
  1164. package/src/ui/primitives/stack/index.ts +0 -1
  1165. package/src/ui/primitives/stack/stack.tsx +0 -40
  1166. package/src/ui/primitives/switch/index.ts +0 -1
  1167. package/src/ui/primitives/switch/switch.tsx +0 -75
  1168. package/src/ui/primitives/text/__workshop__/colored.tsx +0 -23
  1169. package/src/ui/primitives/text/__workshop__/example.tsx +0 -39
  1170. package/src/ui/primitives/text/__workshop__/opticalAlignment.tsx +0 -48
  1171. package/src/ui/primitives/text/index.ts +0 -1
  1172. package/src/ui/primitives/text/text.tsx +0 -64
  1173. package/src/ui/primitives/textArea/__workshop__/plain.tsx +0 -50
  1174. package/src/ui/primitives/textArea/index.ts +0 -1
  1175. package/src/ui/primitives/textArea/textArea.tsx +0 -71
  1176. package/src/ui/primitives/textInput/__workshop__/customValidity.tsx +0 -17
  1177. package/src/ui/primitives/textInput/__workshop__/plain.tsx +0 -104
  1178. package/src/ui/primitives/textInput/__workshop__/states.tsx +0 -53
  1179. package/src/ui/primitives/textInput/__workshop__/tones.tsx +0 -277
  1180. package/src/ui/primitives/textInput/__workshop__/typed.tsx +0 -23
  1181. package/src/ui/primitives/textInput/index.ts +0 -1
  1182. package/src/ui/primitives/textInput/textInput.tsx +0 -286
  1183. package/src/ui/primitives/tooltip/__workshop__/customPortal.tsx +0 -102
  1184. package/src/ui/primitives/tooltip/__workshop__/overflowingBoundary.tsx +0 -74
  1185. package/src/ui/primitives/tooltip/__workshop__/props.tsx +0 -111
  1186. package/src/ui/primitives/tooltip/__workshop__/resizableBoundary.tsx +0 -86
  1187. package/src/ui/primitives/tooltip/constants.ts +0 -23
  1188. package/src/ui/primitives/tooltip/index.ts +0 -2
  1189. package/src/ui/primitives/tooltip/tooltip.test.tsx +0 -453
  1190. package/src/ui/primitives/tooltip/tooltip.tsx +0 -467
  1191. package/src/ui/primitives/tooltip/tooltipCard.tsx +0 -115
  1192. package/src/ui/primitives/tooltip/tooltipDelayGroup/tooltipDelayGroupContext.tsx +0 -11
  1193. package/src/ui/primitives/tooltip/tooltipDelayGroup/tooltipDelayGroupProvider.tsx +0 -55
  1194. package/src/ui/primitives/tooltip/tooltipDelayGroup/useTooltipDelayGroup.ts +0 -13
  1195. package/src/ui/primitives/types.ts +0 -166
  1196. package/src/ui/types/avatar.ts +0 -19
  1197. package/src/ui/types/badge.ts +0 -12
  1198. package/src/ui/types/button.ts +0 -24
  1199. package/src/ui/types/card.ts +0 -6
  1200. package/src/ui/types/dialog.ts +0 -4
  1201. package/src/ui/types/flex.ts +0 -27
  1202. package/src/ui/types/index.ts +0 -15
  1203. package/src/ui/types/popover.ts +0 -4
  1204. package/src/ui/types/props.ts +0 -18
  1205. package/src/ui/types/radius.ts +0 -7
  1206. package/src/ui/types/selectable.ts +0 -7
  1207. package/src/ui/utils/arrow/arrow.tsx +0 -59
  1208. package/src/ui/utils/arrow/index.ts +0 -1
  1209. package/src/ui/utils/boundaryElement/boundaryElement.test.tsx +0 -100
  1210. package/src/ui/utils/boundaryElement/boundaryElementContext.ts +0 -7
  1211. package/src/ui/utils/boundaryElement/boundaryElementProvider.tsx +0 -24
  1212. package/src/ui/utils/boundaryElement/index.ts +0 -3
  1213. package/src/ui/utils/boundaryElement/types.ts +0 -7
  1214. package/src/ui/utils/boundaryElement/useBoundaryElement.ts +0 -26
  1215. package/src/ui/utils/conditionalWrapper/conditionalWrapper.tsx +0 -23
  1216. package/src/ui/utils/conditionalWrapper/index.ts +0 -1
  1217. package/src/ui/utils/elementQuery/__workshop__/customMedia.tsx +0 -30
  1218. package/src/ui/utils/elementQuery/elementQuery.tsx +0 -53
  1219. package/src/ui/utils/elementQuery/index.ts +0 -1
  1220. package/src/ui/utils/errorBoundary.tsx +0 -48
  1221. package/src/ui/utils/getElementRef.ts +0 -26
  1222. package/src/ui/utils/index.ts +0 -9
  1223. package/src/ui/utils/layer/__workshop__/index.ts +0 -24
  1224. package/src/ui/utils/layer/__workshop__/multipleRoots.tsx +0 -49
  1225. package/src/ui/utils/layer/__workshop__/nested.tsx +0 -98
  1226. package/src/ui/utils/layer/__workshop__/responsiveZOffset.tsx +0 -13
  1227. package/src/ui/utils/layer/getLayerContext.test.ts +0 -30
  1228. package/src/ui/utils/layer/getLayerContext.ts +0 -21
  1229. package/src/ui/utils/layer/index.ts +0 -4
  1230. package/src/ui/utils/layer/layer.test.tsx +0 -108
  1231. package/src/ui/utils/layer/layer.tsx +0 -112
  1232. package/src/ui/utils/layer/layerContext.ts +0 -7
  1233. package/src/ui/utils/layer/layerProvider.tsx +0 -110
  1234. package/src/ui/utils/layer/useLayer.ts +0 -26
  1235. package/src/ui/utils/portal/__workshop__/named.tsx +0 -63
  1236. package/src/ui/utils/portal/index.ts +0 -4
  1237. package/src/ui/utils/portal/portal.test.tsx +0 -103
  1238. package/src/ui/utils/portal/portal.ts +0 -46
  1239. package/src/ui/utils/portal/portalContext.ts +0 -31
  1240. package/src/ui/utils/portal/portalProvider.tsx +0 -79
  1241. package/src/ui/utils/portal/types.ts +0 -9
  1242. package/src/ui/utils/portal/usePortal.ts +0 -25
  1243. package/src/ui/utils/srOnly/index.ts +0 -1
  1244. package/src/ui/utils/srOnly/srOnly.tsx +0 -35
  1245. package/src/ui/utils/virtualList/__workshop__/index.ts +0 -29
  1246. package/src/ui/utils/virtualList/__workshop__/infiniteList.tsx +0 -48
  1247. package/src/ui/utils/virtualList/index.ts +0 -1
  1248. package/src/ui/utils/virtualList/virtualList.tsx +0 -189
  1249. /package/src/{ui/global.ts → core/__DEV__.ts} +0 -0
  1250. /package/src/{ui/components/autocomplete/__mocks__ → core/components/autocomplete/__workshop__/mock}/apiStore.ts +0 -0
  1251. /package/src/{ui/components/autocomplete/__mocks__ → core/components/autocomplete/__workshop__/mock}/countries.ts +0 -0
  1252. /package/src/{ui → core}/components/autocomplete/__workshop__/types.ts +0 -0
  1253. /package/src/{ui → core}/components/breadcrumbs/__workshop__/index.ts +0 -0
  1254. /package/src/{ui → core}/components/dialog/__workshop__/index.ts +0 -0
  1255. /package/src/{ui → core}/components/dialog/__workshop__/layering.tsx +0 -0
  1256. /package/src/{ui → core}/components/dialog/__workshop__/nested.tsx +0 -0
  1257. /package/src/{ui → core}/components/dialog/__workshop__/provider.tsx +0 -0
  1258. /package/src/{ui → core}/components/hotkeys/__workshop__/index.ts +0 -0
  1259. /package/src/{ui → core}/components/hotkeys/__workshop__/plain.tsx +0 -0
  1260. /package/src/{ui → core}/components/menu/__workshop__/index.ts +0 -0
  1261. /package/src/{ui → core}/components/tab/__workshop__/index.ts +0 -0
  1262. /package/src/{ui → core}/components/toast/__workshop__/index.ts +0 -0
  1263. /package/src/{ui → core}/components/toast/toastState.ts +0 -0
  1264. /package/src/{ui → core}/components/tree/__workshop__/index.ts +0 -0
  1265. /package/src/{ui/utils → core/components}/virtualList/__workshop__/changingProps.tsx +0 -0
  1266. /package/src/{ui/utils → core/components}/virtualList/__workshop__/elementScroll.tsx +0 -0
  1267. /package/src/{ui/utils → core/components}/virtualList/__workshop__/windowScrolll.tsx +0 -0
  1268. /package/src/{ui → core}/helpers/animation.ts +0 -0
  1269. /package/src/{ui → core}/helpers/element.ts +0 -0
  1270. /package/src/{ui → core}/helpers/scroll.ts +0 -0
  1271. /package/src/{ui → core}/hooks/useCustomValidity.ts +0 -0
  1272. /package/src/{ui → core}/hooks/useElementRect/__workshop__/index.ts +0 -0
  1273. /package/src/{ui → core}/hooks/useElementRect/useElementRect.ts +0 -0
  1274. /package/src/{ui → core}/hooks/useGlobalKeyDown.ts +0 -0
  1275. /package/src/{ui → core}/hooks/useIsomorphicEffect.ts +0 -0
  1276. /package/src/{ui → core}/hooks/useMatchMedia.ts +0 -0
  1277. /package/src/{ui → core}/hooks/useMediaIndex/__workshop__/index.ts +0 -0
  1278. /package/src/{ui → core}/hooks/useMounted.ts +0 -0
  1279. /package/src/{ui → core}/hooks/usePrefersDark.ts +0 -0
  1280. /package/src/{ui → core}/hooks/usePrefersReducedMotion.ts +0 -0
  1281. /package/src/{ui → core}/lib/createGlobalScopedContext.ts +0 -0
  1282. /package/src/{ui → core}/lib/globalScope.ts +0 -0
  1283. /package/src/{theme/build → core}/lib/isRecord.ts +0 -0
  1284. /package/src/{ui/observers/resizeObserver.ts → core/observers/resize.ts} +0 -0
  1285. /package/src/{ui/utils → core/primitives}/arrow/cmds.ts +0 -0
  1286. /package/src/{ui → core}/primitives/avatar/__workshop__/index.ts +0 -0
  1287. /package/src/{ui → core}/primitives/badge/__workshop__/index.ts +0 -0
  1288. /package/src/{ui → core}/primitives/box/__workshop__/index.ts +0 -0
  1289. /package/src/{ui/types/box.ts → core/primitives/box/types.ts} +0 -0
  1290. /package/src/{ui → core}/primitives/button/__workshop__/mixedChildren.tsx +0 -0
  1291. /package/src/{ui → core}/primitives/button/__workshop__/styled1.tsx +0 -0
  1292. /package/src/{ui → core}/primitives/button/__workshop__/styled2.tsx +0 -0
  1293. /package/src/{ui → core}/primitives/card/__workshop__/styled.tsx +0 -0
  1294. /package/src/{ui → core}/primitives/checkbox/__workshop__/example.tsx +0 -0
  1295. /package/src/{ui → core}/primitives/checkbox/__workshop__/index.ts +0 -0
  1296. /package/src/{ui → core}/primitives/checkbox/__workshop__/readOnly.tsx +0 -0
  1297. /package/src/{ui → core}/primitives/code/__workshop__/index.ts +0 -0
  1298. /package/src/{ui → core}/primitives/container/__workshop__/index.ts +0 -0
  1299. /package/src/{ui → core}/primitives/container/types.ts +0 -0
  1300. /package/src/{ui → core}/primitives/flex/__workshop__/gap.tsx +0 -0
  1301. /package/src/{ui → core}/primitives/flex/__workshop__/index.ts +0 -0
  1302. /package/src/{ui → core}/primitives/grid/__workshop__/index.ts +0 -0
  1303. /package/src/{ui → core}/primitives/grid/__workshop__/responsive.tsx +0 -0
  1304. /package/src/{ui/types/grid.ts → core/primitives/grid/types.ts} +0 -0
  1305. /package/src/{ui → core}/primitives/heading/__workshop__/index.ts +0 -0
  1306. /package/src/{ui → core}/primitives/inline/__workshop__/index.ts +0 -0
  1307. /package/src/{ui → core}/primitives/kbd/__workshop__/index.ts +0 -0
  1308. /package/src/{ui → core}/primitives/kbd/__workshop__/plain.tsx +0 -0
  1309. /package/src/{ui → core}/primitives/label/__workshop__/index.ts +0 -0
  1310. /package/src/{ui → core}/primitives/label/__workshop__/opticalAlignment.tsx +0 -0
  1311. /package/src/{ui/utils → core/primitives}/layer/__workshop__/_debug.tsx +0 -0
  1312. /package/src/{ui/utils → core/primitives}/layer/types.ts +0 -0
  1313. /package/src/{ui → core}/primitives/popover/__workshop__/MarginsStory.tsx +0 -0
  1314. /package/src/{ui → core}/primitives/popover/__workshop__/OpenOnMountStory.tsx +0 -0
  1315. /package/src/{ui → core}/primitives/popover/__workshop__/index.ts +0 -0
  1316. /package/src/{ui → core}/primitives/radio/__workshop__/index.ts +0 -0
  1317. /package/src/{ui → core}/primitives/select/__workshop__/index.ts +0 -0
  1318. /package/src/{ui → core}/primitives/spinner/__workshop__/index.ts +0 -0
  1319. /package/src/{ui → core}/primitives/stack/__workshop__/index.ts +0 -0
  1320. /package/src/{ui → core}/primitives/switch/__workshop__/example.tsx +0 -0
  1321. /package/src/{ui → core}/primitives/switch/__workshop__/index.ts +0 -0
  1322. /package/src/{ui → core}/primitives/switch/__workshop__/props.tsx +0 -0
  1323. /package/src/{ui → core}/primitives/text/__workshop__/index.ts +0 -0
  1324. /package/src/{ui → core}/primitives/textArea/__workshop__/index.ts +0 -0
  1325. /package/src/{ui → core}/primitives/textInput/__workshop__/clearButton.tsx +0 -0
  1326. /package/src/{ui → core}/primitives/textInput/__workshop__/index.ts +0 -0
  1327. /package/src/{ui → core}/primitives/textInput/__workshop__/readOnly.tsx +0 -0
  1328. /package/src/{ui → core}/primitives/tooltip/__workshop__/index.ts +0 -0
  1329. /package/src/{ui → core}/primitives/tooltip/tooltipDelayGroup/index.ts +0 -0
  1330. /package/src/{ui → core}/primitives/tooltip/tooltipDelayGroup/types.ts +0 -0
  1331. /package/src/{ui → core}/types/gridItem.ts +0 -0
  1332. /package/src/{ui → core}/types/placement.ts +0 -0
  1333. /package/src/{ui/types/text.ts → core/types/textAlign.ts} +0 -0
  1334. /package/src/{ui → core}/utils/boundaryElement/__workshop__/index.ts +0 -0
  1335. /package/src/{ui → core}/utils/boundaryElement/__workshop__/plain.tsx +0 -0
  1336. /package/src/{ui → core}/utils/elementQuery/__workshop__/index.ts +0 -0
  1337. /package/src/{ui → core}/utils/elementQuery/helpers.ts +0 -0
  1338. /package/src/{ui → core}/utils/portal/__workshop__/index.ts +0 -0
  1339. /package/src/{ui → core}/utils/spanWithTextOverflow.tsx +0 -0
  1340. /package/src/css/{aspects → props}/pointerEvents/types.ts +0 -0
  1341. /package/src/theme/{build → v2/build}/_deprecated/color/index.ts +0 -0
  1342. /package/src/theme/{build → v2/build}/colorToken/index.ts +0 -0
  1343. /package/src/theme/{build → v2/build}/index.ts +0 -0
  1344. /package/src/theme/{build → v2/build}/lib/color-fns/blend/index.ts +0 -0
  1345. /package/src/theme/{build → v2/build}/lib/color-fns/index.ts +0 -0
  1346. /package/src/theme/{build → v2/build}/lib/color-fns/rgba.ts +0 -0
  1347. /package/src/theme/{build → v2/build}/lib/color-fns/types.ts +0 -0
  1348. /package/src/{ui → theme/v2/build}/lib/isRecord.ts +0 -0
  1349. /package/src/theme/{build → v2/build}/lib/utils.ts +0 -0
  1350. /package/src/theme/{build → v2/build}/merge.ts +0 -0
  1351. /package/src/theme/{config → v2/config}/index.ts +0 -0
  1352. /package/src/theme/{config → v2/config}/tokens/color/index.ts +0 -0
  1353. /package/src/theme/{palette → v3/palette}/index.ts +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"_visual-editing.mjs","sources":["../../src/ui/lib/globalScope.ts","../../src/ui/lib/createGlobalScopedContext.ts","../../src/ui/primitives/card/cardContext.ts","../../src/ui/primitives/card/cardProvider.tsx","../../src/ui/_compat/theme/themeContext.ts","../../src/ui/_compat/theme/themeProvider.tsx","../../src/ui/_compat/theme/useRootTheme.ts","../../src/ui/_compat/theme/themeColorProvider.tsx","../../src/ui/_compat/theme/useTheme.ts","../../src/ui/_compat/types.ts","../../src/ui/constants.ts","../../src/ui/helpers/element.ts","../../src/ui/helpers/props.ts","../../src/ui/helpers/scroll.ts","../../src/ui/hooks/useArrayProp.ts","../../src/ui/hooks/useClickOutsideEvent.ts","../../src/ui/hooks/useCustomValidity.ts","../../src/ui/observers/resizeObserver.ts","../../src/ui/observers/elementSizeObserver.ts","../../src/ui/hooks/useElementSize.ts","../../src/ui/hooks/useGlobalKeyDown.ts","../../src/ui/hooks/useMatchMedia.ts","../../src/ui/hooks/useMediaIndex/useMediaIndex.ts","../../src/ui/hooks/usePrefersDark.ts","../../src/ui/hooks/usePrefersReducedMotion.ts","../../src/ui/primitives/box/box.tsx","../../src/ui/primitives/label/label.tsx","../../src/ui/primitives/avatar/avatar.tsx","../../src/ui/primitives/avatar/avatarCounter.tsx","../../src/ui/primitives/avatar/avatarStack.tsx","../../src/ui/primitives/text/text.tsx","../../src/ui/primitives/badge/badge.tsx","../../src/ui/primitives/spinner/animatedSpinnerIcon.tsx","../../src/ui/primitives/spinner/spinner.tsx","../../src/ui/primitives/button/button.tsx","../../src/ui/primitives/card/useCard.ts","../../src/ui/primitives/card/card.tsx","../../src/ui/primitives/checkbox/checkbox.tsx","../../src/ui/primitives/code/code.tsx","../../src/ui/primitives/container/container.tsx","../../src/ui/primitives/flex/flex.tsx","../../src/ui/primitives/grid/grid.tsx","../../src/ui/primitives/heading/heading.tsx","../../src/ui/primitives/inline/inline.tsx","../../src/ui/primitives/kbd/kbd.tsx","../../src/ui/middleware/origin.ts","../../src/ui/utils/arrow/cmds.ts","../../src/ui/utils/arrow/arrow.tsx","../../src/ui/utils/boundaryElement/boundaryElementContext.ts","../../src/ui/utils/boundaryElement/boundaryElementProvider.tsx","../../src/ui/lib/isRecord.ts","../../src/ui/utils/boundaryElement/useBoundaryElement.ts","../../src/ui/utils/conditionalWrapper/conditionalWrapper.tsx","../../src/ui/utils/elementQuery/helpers.ts","../../src/ui/utils/elementQuery/elementQuery.tsx","../../src/ui/utils/layer/getLayerContext.ts","../../src/ui/utils/layer/layerContext.ts","../../src/ui/utils/layer/layerProvider.tsx","../../src/ui/utils/layer/useLayer.ts","../../src/ui/utils/layer/layer.tsx","../../src/ui/utils/portal/portalContext.ts","../../src/ui/utils/portal/usePortal.ts","../../src/ui/utils/portal/portal.ts","../../src/ui/utils/portal/portalProvider.tsx","../../src/ui/utils/srOnly/srOnly.tsx","../../src/ui/utils/virtualList/virtualList.tsx","../../src/ui/primitives/popover/constants.ts","../../src/ui/primitives/popover/floating-ui/size.ts","../../src/ui/primitives/popover/popoverCard.tsx","../../src/ui/primitives/popover/popover.tsx","../../src/ui/primitives/radio/radio.tsx","../../src/ui/primitives/select/select.tsx","../../src/ui/primitives/stack/stack.tsx","../../src/ui/primitives/switch/switch.tsx","../../src/ui/primitives/textArea/textArea.tsx","../../src/ui/primitives/textInput/textInput.tsx","../../src/ui/hooks/useDelayedState.ts","../../src/ui/utils/getElementRef.ts","../../src/ui/primitives/tooltip/constants.ts","../../src/ui/primitives/tooltip/tooltipCard.tsx","../../src/ui/primitives/tooltip/tooltipDelayGroup/tooltipDelayGroupContext.tsx","../../src/ui/primitives/tooltip/tooltipDelayGroup/tooltipDelayGroupProvider.tsx","../../src/ui/primitives/tooltip/tooltipDelayGroup/useTooltipDelayGroup.ts","../../src/ui/primitives/tooltip/tooltip.tsx","../../src/ui/components/hotkeys/hotkeys.tsx","../../src/ui/components/menu/menuContext.ts","../../src/ui/components/menu/helpers.ts","../../src/ui/components/menu/useMenuController.ts","../../src/ui/components/menu/menu.tsx","../../src/ui/components/menu/menuDivider.tsx","../../src/ui/primitives/_selectable/selectable.tsx","../../src/ui/components/menu/useMenu.ts","../../src/ui/components/menu/menuGroup.tsx","../../src/ui/components/menu/menuItem.tsx","../../src/ui/components/tab/tab.tsx","../../src/ui/components/tab/tabList.tsx"],"sourcesContent":["/**\n * Gets the global scope instance in a given environment.\n *\n * The strategy is to return the most modern, and if not, the most common:\n * - The `globalThis` variable is the modern approach to accessing the global scope\n * - The `window` variable is the global scope in a web browser\n * - The `self` variable is the global scope in workers and others\n * - The `global` variable is the global scope in Node.js\n */\nfunction getGlobalScope() {\n if (typeof globalThis !== 'undefined') return globalThis\n if (typeof window !== 'undefined') return window\n if (typeof self !== 'undefined') return self\n if (typeof global !== 'undefined') return global\n\n throw new Error('@sanity/ui: could not locate global scope')\n}\n\nexport const globalScope = getGlobalScope() as any\n","/**\n * As `@sanity/ui` is declared as a dependency, and may be duplicated, sometimes across major versions\n * it's critical that vital react contexts are shared even when there is a duplicate.\n * If we used a model similar to `sanity` itself, or `styled-components`, this would be unnecessary as\n * those libraries enforce single instances.\n * Since we don't enforce it we have to support a sanity plugin being able to call hooks like `useToast`, and then\n * read the context setup by `sanity`, which calls `ToastProvider`, even if the provider and hook are different instances in memory.\n * It's also why it's vital that all changes to globally scoped providers remain fully backwards compatible to v1.\n */\n\nimport {type Context, createContext} from 'react'\n\nimport {globalScope} from './globalScope'\n\nexport function createGlobalScopedContext<ContextType, const T extends ContextType = ContextType>(\n /**\n * Enforce that all Symbol.for keys used for globally scoped contexts have a predictable prefix\n */\n key: `@sanity/ui/context/${string}`,\n defaultValue: T,\n): Context<ContextType> {\n const symbol = Symbol.for(key)\n\n /**\n * Prevent errors about re-renders on React SSR on Next.js App Router\n */\n if (typeof document === 'undefined') {\n return createContext<ContextType>(defaultValue)\n }\n\n globalScope[symbol] = globalScope[symbol] || createContext<T>(defaultValue)\n\n return globalScope[symbol]\n}\n","import {Context} from 'react'\n\nimport {createGlobalScopedContext} from '../../lib/createGlobalScopedContext'\nimport {CardContextValue} from './types'\n\n/**\n * @internal\n */\nexport const CardContext: Context<CardContextValue | null> =\n createGlobalScopedContext<CardContextValue | null>('@sanity/ui/context/card', null)\n","import {ThemeColorCardToneKey, ThemeColorSchemeKey} from '@sanity/ui/theme'\nimport {ReactNode, useMemo} from 'react'\n\nimport {CardContext} from './cardContext'\nimport {CardCompatProviderComponent} from './types'\n\nexport function CardProvider(props: {\n compat_provider?: CardCompatProviderComponent\n children?: ReactNode\n rendered?: boolean\n tone: ThemeColorCardToneKey\n scheme: ThemeColorSchemeKey\n}) {\n const {children, rendered = false, tone, scheme} = props\n\n const context = useMemo(() => ({rendered, tone, scheme}), [rendered, tone, scheme])\n\n return <CardContext.Provider value={context}>{children}</CardContext.Provider>\n}\n","import {Context} from 'react'\n\nimport {createGlobalScopedContext} from '../../lib/createGlobalScopedContext'\nimport {ThemeContextValue} from './types'\n\n/**\n * @internal\n */\nexport const ThemeContext: Context<ThemeContextValue | null> =\n createGlobalScopedContext<ThemeContextValue | null>('@sanity/ui/context/theme', null)\n","import {\n getScopedTheme,\n type RootTheme,\n type Theme,\n type ThemeColorCardToneKey,\n type ThemeColorSchemeKey,\n} from '@sanity/ui/theme'\nimport {ReactElement, ReactNode, useContext, useMemo} from 'react'\nimport {ThemeProvider as StyledThemeProvider} from 'styled-components'\n\nimport {CardProvider} from '../../primitives/card/cardProvider'\nimport {ThemeColorProvider} from './themeColorProvider'\nimport {ThemeContext} from './themeContext'\nimport {ThemeContextValue} from './types'\n\n/**\n * @public\n */\nexport interface ThemeProviderProps {\n children?: ReactNode\n scheme?: ThemeColorSchemeKey\n theme?: RootTheme\n tone?: ThemeColorCardToneKey\n}\n\n/**\n * @public\n */\nexport function ThemeProvider(props: ThemeProviderProps): ReactElement {\n const parentTheme = useContext(ThemeContext)\n const {children} = props\n const scheme = props.scheme ?? (parentTheme?.scheme || 'light')\n const rootTheme = props.theme ?? (parentTheme?.theme || null)\n const tone = props.tone ?? (parentTheme?.tone || 'default')\n\n const themeContext: ThemeContextValue | null = useMemo(() => {\n if (!rootTheme) return null\n\n return {\n version: 0.0,\n theme: rootTheme,\n scheme,\n tone,\n }\n }, [rootTheme, scheme, tone])\n\n const theme: Theme | null = useMemo(() => {\n if (!rootTheme) return null\n\n return getScopedTheme(rootTheme, scheme, tone)\n }, [scheme, rootTheme, tone])\n\n if (!theme) {\n return <pre>ThemeProvider: no \"theme\" property provided</pre>\n }\n\n return (\n <CardProvider\n compat_provider={\n // Render a theme provider around the card if the scheme or tone differs from the root theme.\n // This is needed for backwards compatibility with the legacy theme API.\n ThemeColorProvider\n }\n scheme={scheme}\n tone={tone}\n >\n <ThemeContext.Provider value={themeContext}>\n <StyledThemeProvider theme={theme}>{children}</StyledThemeProvider>\n </ThemeContext.Provider>\n </CardProvider>\n )\n}\n\nThemeProvider.displayName = 'ThemeProvider'\n","import {useContext} from 'react'\n\nimport {ThemeContext} from './themeContext'\nimport {ThemeContextValue} from './types'\n\n/**\n * @public\n */\nexport function useRootTheme(): ThemeContextValue {\n const value = useContext(ThemeContext)\n\n if (!value) {\n throw new Error('useRootTheme(): missing context value')\n }\n\n return value as unknown as ThemeContextValue\n}\n","import {ThemeColorCardToneKey, ThemeColorSchemeKey} from '@sanity/ui/theme'\nimport {ReactElement, ReactNode} from 'react'\n\nimport {ThemeProvider} from './themeProvider'\nimport {useRootTheme} from './useRootTheme'\n\n/**\n * @public\n */\nexport interface ThemeColorProviderProps {\n children?: ReactNode\n scheme?: ThemeColorSchemeKey\n tone?: ThemeColorCardToneKey\n}\n\n/**\n * @public\n */\nexport function ThemeColorProvider(props: ThemeColorProviderProps): ReactElement {\n const {children, scheme, tone} = props\n const root = useRootTheme()\n\n return (\n <ThemeProvider scheme={scheme || root.scheme} theme={root.theme} tone={tone}>\n {children}\n </ThemeProvider>\n )\n}\n\nThemeColorProvider.displayName = 'ThemeColorProvider'\n","import {getTheme_v2, Theme, Theme_v2} from '@sanity/ui/theme'\nimport {useTheme as useStyledTheme} from 'styled-components'\n\n/**\n * @public\n */\nexport function useTheme(): Theme {\n return useStyledTheme() as Theme\n}\n\n/**\n * @public\n */\nexport function useTheme_v2(): Theme_v2 {\n return getTheme_v2(useStyledTheme() as Theme)\n}\n","// This file re-exports API members which existed in the `@sanity/ui` export in v1.\n\nimport {\n type BaseTheme as _BaseTheme,\n buildTheme,\n type HSL as _HSL,\n type PartialThemeColorBuilderOpts,\n type RGB as _RGB,\n type RootTheme as _RootTheme,\n type Theme as _Theme,\n type ThemeAvatar,\n type ThemeBoxShadow,\n type ThemeColor,\n type ThemeColorBase,\n type ThemeColorBuilderOpts,\n type ThemeColorButton,\n type ThemeColorButtonModeKey as _ThemeColorButtonModeKey,\n type ThemeColorButtonState,\n type ThemeColorButtonStates,\n type ThemeColorButtonTones,\n type ThemeColorCard,\n type ThemeColorCardState,\n type ThemeColorGenericState,\n type ThemeColorInput,\n type ThemeColorInputState,\n type ThemeColorInputStates,\n type ThemeColorMuted,\n type ThemeColorMutedTone,\n type ThemeColorName,\n type ThemeColorScheme,\n type ThemeColorSchemeKey as _ThemeColorSchemeKey,\n type ThemeColorSchemes,\n type ThemeColorSelectable,\n type ThemeColorSelectableState,\n type ThemeColorSelectableStates,\n type ThemeColorSolid,\n type ThemeColorSolidTone,\n type ThemeColorSpot,\n type ThemeColorSpotKey,\n type ThemeColorSyntax as _ThemeColorSyntax,\n type ThemeColorToneKey,\n type ThemeFont as _ThemeFont,\n type ThemeFontKey as _ThemeFontKey,\n type ThemeFonts as _ThemeFonts,\n type ThemeFontSize as _ThemeFontSize,\n type ThemeFontWeight as _ThemeFontWeight,\n type ThemeFontWeightKey as _ThemeFontWeightKey,\n type ThemeInput,\n type ThemeLayer as _ThemeLayer,\n type ThemeShadow as _ThemeShadow,\n type ThemeStyles,\n} from '@sanity/ui/theme'\n\n/**\n * @public\n * @deprecated Use `BaseTheme` from `@sanity/ui/theme` instead.\n */\nexport type BaseTheme = _BaseTheme\n\n/**\n * @public\n * @deprecated Use `ThemeBoxShadow` from `@sanity/ui/theme` instead.\n */\nexport type BoxShadow = ThemeBoxShadow\n\n/**\n * @public\n * @deprecated Use `HSL` from `@sanity/ui/theme` instead.\n */\nexport type HSL = _HSL\n\n/**\n * @public\n * @deprecated Use `RGB` from `@sanity/ui/theme` instead.\n */\nexport type RGB = _RGB\n\n/**\n * @public\n * @deprecated Use `RootTheme` from `@sanity/ui/theme` instead.\n */\nexport type RootTheme = _RootTheme\n\n/**\n * @public\n * @deprecated Use `ThemeStyles` from `@sanity/ui/theme` instead.\n */\nexport type Styles = ThemeStyles\n\n/**\n * @public\n * @deprecated Use `Theme` from `@sanity/ui/theme` instead.\n */\nexport type Theme = _Theme\n\n/**\n * @public\n * @deprecated Use `ThemeColorButtonModeKey` from `@sanity/ui/theme` instead.\n */\nexport type ThemeColorButtonModeKey = _ThemeColorButtonModeKey\n\n/**\n * @public\n * @deprecated Use `ThemeColorSchemeKey` from `@sanity/ui/theme` instead.\n */\nexport type ThemeColorSchemeKey = _ThemeColorSchemeKey\n\n/**\n * @public\n * @deprecated Use `ThemeColorSyntax` from `@sanity/ui/theme` instead.\n */\nexport type ThemeColorSyntax = _ThemeColorSyntax\n\n/**\n * @public\n * @deprecated Use `ThemeFont` from `@sanity/ui/theme` instead.\n */\nexport type ThemeFont = _ThemeFont\n\n/**\n * @public\n * @deprecated Use `ThemeFontKey` from `@sanity/ui/theme` instead.\n */\nexport type ThemeFontKey = _ThemeFontKey\n\n/**\n * @public\n * @deprecated Use `ThemeFontSize` from `@sanity/ui/theme` instead.\n */\nexport type ThemeFontSize = _ThemeFontSize\n\n/**\n * @public\n * @deprecated Use `ThemeFontWeight` from `@sanity/ui/theme` instead.\n */\nexport type ThemeFontWeight = _ThemeFontWeight\n\n/**\n * @public\n * @deprecated Use `ThemeFontWeightKey` from `@sanity/ui/theme` instead.\n */\nexport type ThemeFontWeightKey = _ThemeFontWeightKey\n\n/**\n * @public\n * @deprecated Use `ThemeFonts` from `@sanity/ui/theme` instead.\n */\nexport type ThemeFonts = _ThemeFonts\n\n/**\n * @public\n * @deprecated Use `ThemeLayer` from `@sanity/ui/theme` instead.\n */\nexport type ThemeLayer = _ThemeLayer\n\n/**\n * @public\n * @deprecated Use `ThemeShadow` from `@sanity/ui/theme` instead.\n */\nexport type ThemeShadow = _ThemeShadow\n\nexport {\n type PartialThemeColorBuilderOpts,\n type ThemeAvatar,\n type ThemeColor,\n type ThemeColorBase,\n type ThemeColorBuilderOpts,\n type ThemeColorButton,\n type ThemeColorButtonState,\n type ThemeColorButtonStates,\n type ThemeColorButtonTones,\n type ThemeColorCard,\n type ThemeColorCardState,\n type ThemeColorGenericState,\n type ThemeColorInput,\n type ThemeColorInputState,\n type ThemeColorInputStates,\n type ThemeColorMuted,\n type ThemeColorMutedTone,\n type ThemeColorName,\n type ThemeColorScheme,\n type ThemeColorSchemes,\n type ThemeColorSelectable,\n type ThemeColorSelectableState,\n type ThemeColorSelectableStates,\n type ThemeColorSolid,\n type ThemeColorSolidTone,\n type ThemeColorSpot,\n type ThemeColorSpotKey,\n type ThemeColorToneKey,\n type ThemeInput,\n}\n\nimport {\n createColorTheme as _createColorTheme,\n hexToRgb as _hexToRgb,\n hslToRgb as _hslToRgb,\n multiply as _multiply,\n parseColor as _parseColor,\n rgba as _rgba,\n rgbToHex as _rgbToHex,\n rgbToHsl as _rgbToHsl,\n screen as _screen,\n} from '@sanity/ui/theme'\n\n/**\n * @public\n * @deprecated Use `createColorTheme` from `@sanity/ui/theme` instead.\n */\nexport const createColorTheme = _createColorTheme\n\n/**\n * @public\n * @deprecated Use `hexToRgb` from `@sanity/ui/theme` instead.\n */\nexport const hexToRgb = _hexToRgb\n\n/**\n * @public\n * @deprecated Use `hslToRgb` from `@sanity/ui/theme` instead.\n */\nexport const hslToRgb = _hslToRgb\n\n/**\n * @public\n * @deprecated Use `multiply` from `@sanity/ui/theme` instead.\n */\nexport const multiply = _multiply\n\n/**\n * @public\n * @deprecated Use `parseColor` from `@sanity/ui/theme` instead.\n */\nexport const parseColor = _parseColor\n\n/**\n * @public\n * @deprecated Use `rgbToHex` from `@sanity/ui/theme` instead.\n */\nexport const rgbToHex = _rgbToHex\n\n/**\n * @public\n * @deprecated Use `rgbToHsl` from `@sanity/ui/theme` instead.\n */\nexport const rgbToHsl = _rgbToHsl\n\n/**\n * @public\n * @deprecated Use `rgba` from `@sanity/ui/theme` instead.\n */\nexport const rgba = _rgba\n\n/**\n * @public\n * @deprecated Use `screen` from `@sanity/ui/theme` instead.\n */\nexport const screen = _screen\n\n/**\n * @public\n * @deprecated Use `buildTheme` from `@sanity/ui/theme` instead.\n */\nexport const studioTheme = (() => {\n let theme: ReturnType<typeof buildTheme> | undefined\n return {\n get value() {\n if (!theme) {\n theme = buildTheme()\n }\n return theme\n },\n }\n})()\n","import type {Transition, Variant} from 'framer-motion'\n\n/**\n * @internal\n */\nexport const EMPTY_ARRAY: never[] = []\n\n/**\n * @internal\n */\nexport const EMPTY_RECORD: Record<string, never> = {}\n\nconst POPOVER_MOTION_DURATION = 0.2\n\n/**\n * Shared `framer-motion` variants used by `Popover` and `Tooltip` components.\n * @internal\n */\nexport const POPOVER_MOTION_PROPS: {\n card: {\n initial: Variant\n hidden: Variant\n visible: Variant\n scaleIn: Variant\n scaleOut: Variant\n }\n children: {\n hidden: Variant\n visible: Variant\n }\n transition: Transition\n} = {\n card: {\n initial: {\n scale: 0.97,\n willChange: 'transform',\n },\n hidden: {\n opacity: 0,\n },\n visible: {\n opacity: 1,\n transition: {\n when: 'beforeChildren',\n duration: POPOVER_MOTION_DURATION / 2,\n },\n },\n scaleIn: {\n scale: 1,\n },\n scaleOut: {\n scale: 0.97,\n },\n },\n children: {\n hidden: {\n opacity: 0,\n },\n visible: {\n opacity: 1,\n },\n },\n transition: {\n type: 'spring',\n visualDuration: POPOVER_MOTION_DURATION,\n bounce: 0.25,\n },\n}\n\n/**\n * @internal\n * @deprecated No longer used.\n */\nexport const FLOATING_STATIC_SIDES: Record<string, 'bottom' | 'left' | 'top' | 'right'> = {\n top: 'bottom',\n right: 'left',\n bottom: 'top',\n left: 'right',\n}\n","/**\n * @internal\n */\nexport function _isEnterToClickElement(element: HTMLElement): boolean {\n return isHTMLAnchorElement(element) || isHTMLButtonElement(element)\n}\n\n/**\n * @internal\n */\nexport function isHTMLElement(node: unknown): node is HTMLElement {\n return node instanceof Node && node.nodeType === Node.ELEMENT_NODE\n}\n\n/**\n * @internal\n */\nexport function isHTMLAnchorElement(element: unknown): element is HTMLAnchorElement {\n return isHTMLElement(element) && element.nodeName === 'A'\n}\n\n/**\n * @internal\n */\nexport function isHTMLInputElement(element: unknown): element is HTMLInputElement {\n return isHTMLElement(element) && element.nodeName === 'INPUT'\n}\n\n/**\n * @internal\n */\nexport function isHTMLButtonElement(element: unknown): element is HTMLButtonElement {\n return isHTMLElement(element) && element.nodeName === 'BUTTON'\n}\n\n/**\n * @internal\n */\nexport function isHTMLSelectElement(element: unknown): element is HTMLSelectElement {\n return isHTMLElement(element) && element.nodeName === 'SELECT'\n}\n\n/**\n * @internal\n */\nexport function isHTMLTextAreaElement(element: unknown): element is HTMLTextAreaElement {\n return isHTMLElement(element) && element.nodeName === 'TEXTAREA'\n}\n\n/**\n * @internal\n */\nexport function containsOrEqualsElement(element: HTMLElement, node: Node): boolean {\n return element.contains(node) || element === node\n}\n","import {EMPTY_ARRAY} from '../constants'\n\n/**\n * @internal\n */\nexport function _getArrayProp<T>(val: T | T[] | undefined, defaultVal?: T[]): T[] {\n if (val === undefined) return defaultVal || EMPTY_ARRAY\n\n return Array.isArray(val) ? val : [val]\n}\n","/**\n * @internal\n */\nexport function _isScrollable(el: Node): boolean {\n if (!(el instanceof Element)) return false\n\n const style = window.getComputedStyle(el)\n\n return (\n style.overflowX.includes('auto') ||\n style.overflowX.includes('scroll') ||\n style.overflowY.includes('auto') ||\n style.overflowY.includes('scroll')\n )\n}\n","import {useState} from 'react'\n\nimport {_getArrayProp} from '../helpers'\n\n/** @beta */\n// export type ArrayPropPrimitive = string | number | boolean | undefined | null\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\n// export function useArrayProp<T extends ArrayPropPrimitive = ArrayPropPrimitive>(\nexport function useArrayProp<T>(val: T | T[] | undefined, defaultVal?: T[]): T[] {\n const [[cachedVal, cachedHash], setCache] = useState<[T[], string]>(() => [\n _getArrayProp(val, defaultVal),\n JSON.stringify(val ?? defaultVal),\n ])\n\n const hash = JSON.stringify(val ?? defaultVal)\n\n if (hash !== cachedHash) {\n // If the cached hash has changed, update the cache right away.\n // Calling setState during render is fine in this case, and preferred over a useEffect loop\n // https://19.dev/learn/you-might-not-need-an-effect#adjusting-some-state-when-a-prop-changes\n setCache([_getArrayProp(val, defaultVal), hash])\n }\n\n return cachedVal\n}\n","import {useDebugValue, useEffect} from 'react'\nimport {useEffectEvent} from 'use-effect-event'\n\nimport {EMPTY_ARRAY} from '../constants'\n\n/**\n * @public\n */\nexport type ClickOutsideEventListener = (event: MouseEvent) => void\n\n/**\n * @public\n */\nexport type ClickOutsideEventElements = (HTMLElement | null | (HTMLElement | null)[])[]\n\n/**\n * @public\n */\nexport function useClickOutsideEvent(\n listener: ClickOutsideEventListener | false | undefined,\n elementsArg: () => ClickOutsideEventElements = () => EMPTY_ARRAY,\n boundaryElement?: () => HTMLElement | null,\n): void {\n /**\n * The `useEffectEvent` hook allow us to always see the latest value of `listener`, `elementsArg` and `boundaryElement` without needing to\n * juggle `useState`, `useRef` and `useState` to make sure the `mousedown` event listener isn't constantly being added and removed.\n */\n const onEvent = useEffectEvent((evt: MouseEvent) => {\n if (!listener) {\n return\n }\n\n const target = evt.target\n\n if (!(target instanceof Node)) {\n return\n }\n\n const resolvedBoundaryElement = boundaryElement?.()\n\n if (resolvedBoundaryElement && !resolvedBoundaryElement.contains(target)) {\n return\n }\n\n const elements = elementsArg().flat()\n\n for (const el of elements) {\n if (!el) continue\n\n if (target === el || el.contains(target)) {\n return\n }\n }\n\n listener(evt)\n })\n\n const hasListener = Boolean(listener)\n\n useEffect(() => {\n if (!hasListener) return undefined\n\n const handleEvent = (evt: MouseEvent) => onEvent(evt)\n\n document.addEventListener('mousedown', handleEvent)\n\n return () => {\n document.removeEventListener('mousedown', handleEvent)\n }\n }, [hasListener])\n\n useDebugValue(listener ? 'MouseDown On' : 'MouseDown Off')\n}\n","import {useEffect} from 'react'\n\n/**\n * @beta\n */\nexport function useCustomValidity(\n ref: {current: null | {setCustomValidity: (validity: string) => void}},\n customValidity: string | undefined,\n): void {\n useEffect(() => {\n ref.current?.setCustomValidity(customValidity || '')\n }, [customValidity, ref])\n}\n","import {ResizeObserver as ResizeObserverPolyfill} from '@juggle/resize-observer'\n\n/**\n * @internal\n */\nexport const _ResizeObserver: typeof ResizeObserver =\n typeof document !== 'undefined' && typeof window !== 'undefined' && window.ResizeObserver\n ? window.ResizeObserver\n : ResizeObserverPolyfill\n","import {_ResizeObserver} from './resizeObserver'\n\n/**\n * @beta\n */\nexport interface ElementRectValue {\n width: number\n height: number\n}\n\n/**\n * @beta\n */\nexport interface ElementSize {\n content: ElementRectValue\n border: ElementRectValue\n\n /** @deprecated INTERNAL ONLY */\n _contentRect: DOMRectReadOnly\n}\n\n/**\n * @internal\n */\nexport type _ElementSizeSubscriber = (elementRect: ElementSize) => void\n\n/**\n * @internal\n */\nexport interface _ElementSizeObserver {\n subscribe: (element: HTMLElement, subscriber: _ElementSizeSubscriber) => () => void\n}\n\n/**\n * @internal\n */\nexport interface _ElementSizeListener {\n subscribe: (element: HTMLElement, subscriber: _ElementSizeSubscriber) => () => void\n}\n\n// Initialize element size observer\n// NOTE: this should NOT have size effects\n/**\n * @internal\n */\nexport const _elementSizeObserver = _createElementSizeObserver()\n\nfunction _createElementRectValueListener(): _ElementSizeListener {\n return {\n subscribe(element, subscriber) {\n const resizeObserver = new _ResizeObserver(([entry]) => {\n subscriber({\n _contentRect: entry.contentRect,\n border: {\n width: entry.borderBoxSize[0].inlineSize,\n height: entry.borderBoxSize[0].blockSize,\n },\n content: {\n width: entry.contentRect.width,\n height: entry.contentRect.height,\n },\n })\n })\n\n resizeObserver.observe(element)\n\n return () => {\n resizeObserver.unobserve(element)\n resizeObserver.disconnect()\n }\n },\n }\n}\n\nfunction _createElementSizeObserver(): _ElementSizeObserver {\n const disposeCache = new WeakMap<HTMLElement, () => void>()\n const subscribersCache = new WeakMap<HTMLElement, _ElementSizeSubscriber[]>()\n\n return {\n subscribe(element, subscriber) {\n const subscribers = subscribersCache.get(element) || []\n\n let dispose = disposeCache.get(element)\n\n if (!subscribersCache.has(element)) {\n subscribersCache.set(element, subscribers)\n\n const listener = _createElementRectValueListener()\n\n // listen\n dispose = listener.subscribe(element, (elementRect) => {\n for (const sub of subscribers) {\n sub(elementRect)\n }\n })\n }\n\n subscribers.push(subscriber)\n\n return () => {\n // dispose\n\n const idx = subscribers.indexOf(subscriber)\n\n if (idx > -1) {\n subscribers.splice(idx, 1)\n }\n\n if (subscribers.length === 0) {\n // unlisten\n if (dispose) dispose()\n }\n }\n },\n }\n}\n","import {useEffect, useState} from 'react'\n\nimport {_elementSizeObserver, ElementSize} from '../observers/elementSizeObserver'\n\n/**\n * Subscribe to the size of a DOM element.\n * @beta\n */\nexport function useElementSize(element: HTMLElement | null): ElementSize | null {\n const [size, setSize] = useState<ElementSize | null>(null)\n\n useEffect(() => {\n if (!element) return undefined\n\n return _elementSizeObserver.subscribe(element, setSize)\n }, [element])\n\n return size\n}\n","import {useEffect} from 'react'\nimport {useEffectEvent} from 'use-effect-event'\n\n/**\n * @beta\n */\nexport function useGlobalKeyDown(onKeyDown: (event: KeyboardEvent) => void): void {\n const handleKeyDown = useEffectEvent((event: KeyboardEvent) => onKeyDown(event))\n\n useEffect(() => {\n const handler = (event: KeyboardEvent) => handleKeyDown(event)\n\n window.addEventListener('keydown', handler)\n\n return () => window.removeEventListener('keydown', handler)\n }, [])\n}\n","import {useCallback, useDebugValue, useSyncExternalStore} from 'react'\n\n/**\n * Efficiently subscribes to `window.matchMedia` queries\n *\n * @param getServerSnapshot - Only called during server-side rendering, and hydration if using hydrateRoot. Required if the hook is called during SSR (https://dev/reference/react/useSyncExternalStore#adding-support-for-server-rendering)\n *\n * @public\n */\nexport function useMatchMedia(\n mediaQueryString: `(${string})`,\n getServerSnapshot?: () => boolean,\n): boolean {\n useDebugValue(mediaQueryString)\n\n return useSyncExternalStore(\n useCallback(\n (onStoreChange) => {\n const media = window.matchMedia(mediaQueryString)\n media.addEventListener('change', onStoreChange)\n return () => media.removeEventListener('change', onStoreChange)\n },\n [mediaQueryString],\n ),\n () => window.matchMedia(mediaQueryString).matches,\n getServerSnapshot,\n )\n}\n","import {useMemo, useSyncExternalStore} from 'react'\n\n// TODO: get from theme?\nconst media = [360, 600, 900, 1200, 1800, 2400]\n\n/**\n * @internal\n */\nexport interface _MediaStore {\n subscribe: (onStoreChange: () => void) => () => void\n getSnapshot: () => number\n}\n\ntype MediaQueryMinWidth = `(min-width: ${number}px)`\ntype MediaQueryMaxWidth = `(max-width: ${number}px)`\ntype MediaQueryMinMaxWidth = `${MediaQueryMinWidth} and ${MediaQueryMaxWidth}`\ntype MediaQuery = `screen and ${MediaQueryMinWidth | MediaQueryMaxWidth | MediaQueryMinMaxWidth}`\n\nfunction _getMediaQuery(media: number[], index: number): MediaQuery {\n if (index === 0) {\n return `screen and (max-width: ${media[index] - 1}px)`\n }\n\n if (index === media.length) {\n return `screen and (min-width: ${media[index - 1]}px)`\n }\n\n return `screen and (min-width: ${media[index - 1]}px) and (max-width: ${media[index] - 1}px)`\n}\n\nfunction _createMediaStore(): _MediaStore {\n const mediaLen = media.length\n let sizes: {mq: MediaQueryList; index: number}[]\n\n // The _createMediaStore function is called in both server and client environments.\n // However since subscribe and getSnapshot are only called on the client we lazy init what we need for them\n // so that we don't need to run checks for wether it's safe to call `window.matchMedia`\n const getSizes = () => {\n if (!sizes) {\n sizes = []\n\n for (let index = mediaLen; index > -1; index -= 1) {\n const mediaQuery = _getMediaQuery(media, index)\n\n sizes.push({index, mq: window.matchMedia(mediaQuery)})\n }\n }\n\n return sizes\n }\n\n const getSnapshot = () => {\n for (const {index, mq} of getSizes()) {\n if (mq.matches) return index\n }\n\n return 0\n }\n\n const subscribe = (onStoreChange: () => void) => {\n const disposeFns: (() => void)[] = []\n\n for (const {mq} of getSizes()) {\n const handleChange = () => {\n if (mq.matches) onStoreChange()\n }\n\n mq.addEventListener('change', handleChange)\n\n disposeFns.push(() => mq.removeEventListener('change', handleChange))\n }\n\n return () => {\n for (const disposeFn of disposeFns) {\n disposeFn()\n }\n }\n }\n\n return {getSnapshot, subscribe}\n}\n\n/**\n * Only called during server-side rendering, and hydration if using hydrateRoot\n * Since the server environment doesn't have access to the DOM, we can't determine the current value of the media query\n * and we assume `(prefers-color-scheme: light)` since it's the most common scheme\n *\n * @link https://beta.reactjs.org/apis/react/useSyncExternalStore#adding-support-for-server-rendering\n */\nfunction getServerSnapshot() {\n return 0\n}\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport function useMediaIndex(): number {\n // const {media} = useTheme_v2()\n // const media = MEDIA\n const store = useMemo(() => _createMediaStore(), [])\n\n return useSyncExternalStore(store.subscribe, store.getSnapshot, getServerSnapshot)\n}\n","import {useMatchMedia} from './useMatchMedia'\n\n/**\n * Returns true if a dark color scheme is preferred, false if a light color scheme is preferred or the preference is not known.\n *\n * @param getServerSnapshot - Only called during server-side rendering, and hydration if using hydrateRoot. Since the server environment doesn't have access to the DOM, we can't determine the current value of the media query and we assume `(prefers-color-scheme: light)` since it's the most common scheme (https://dev/reference/react/useSyncExternalStore#adding-support-for-server-rendering)\n *\n * If you persist the detected preference in a cookie or a header then you may implement your own server snapshot to read it.\n * Chrome supports reading the `prefers-color-scheme` media query from a header if the server response: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Sec-CH-Prefers-Color-Scheme\n * @example https://gist.github.com/stipsan/13c0cccf8dfc34f4b44bb1b984baf7df\n *\n * @public\n */\nexport function usePrefersDark(getServerSnapshot = () => false): boolean {\n return useMatchMedia('(prefers-color-scheme: dark)', getServerSnapshot)\n}\n","import {useMatchMedia} from './useMatchMedia'\n\n/**\n * Returns true if motion should be reduced\n *\n * @param getServerSnapshot - Only called during server-side rendering, and hydration if using hydrateRoot. Since the server environment doesn't have access to the DOM, we can't determine the current value of the media query and we assume `(prefers-reduced-motion: no-preference)` since it's the most common scheme (https://dev/reference/react/useSyncExternalStore#adding-support-for-server-rendering)\n *\n * If you persist the detected preference in a cookie or a header then you may implement your own server snapshot to read it.\n * Chrome supports reading the `prefers-reduced-motion` media query from a header if the server response: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Sec-CH-Prefers-Reduced-Motion\n * @example https://gist.github.com/stipsan/0c0f839a27842249cada893e9fb7767b\n *\n * @public\n */\nexport function usePrefersReducedMotion(getServerSnapshot = () => false): boolean {\n return useMatchMedia('(prefers-reduced-motion: reduce)', getServerSnapshot)\n}\n","import {\n box,\n BoxStyleProps,\n composeClassNames,\n GapStyleProps,\n InsetStyleProps,\n PositionStyleProps,\n} from '@sanity/ui/css'\nimport {ForwardedRef, forwardRef} from 'react'\n\nimport {Props} from '../../types'\n\n/**\n * @public\n */\nexport interface BoxProps\n extends BoxStyleProps,\n GapStyleProps,\n InsetStyleProps,\n PositionStyleProps {}\n\n/**\n * The `Box` component is a basic layout wrapper component which provides utility properties\n * for flex, margins and padding.\n *\n * @public\n */\nexport const Box = forwardRef(function Box(\n props: Props<BoxProps, 'div'>,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const {\n align,\n as: As = 'div',\n border,\n borderTop,\n borderRight,\n borderBottom,\n borderLeft,\n className,\n column,\n columnStart,\n columnEnd,\n columns,\n direction,\n display = 'block',\n flex,\n gap,\n gapX,\n gapY,\n height,\n inset,\n insetBottom,\n insetLeft,\n insetRight,\n insetTop,\n justify,\n margin = 0,\n marginX,\n marginY,\n marginTop,\n marginRight,\n marginBottom,\n marginLeft,\n maxWidth,\n overflow,\n padding = 0,\n paddingX,\n paddingY,\n paddingTop,\n paddingRight,\n paddingBottom,\n paddingLeft,\n pointerEvents,\n position,\n muted,\n radius,\n row,\n rows,\n rowStart,\n rowEnd,\n sizing = 'border',\n width,\n wrap,\n ...restProps\n } = props\n\n return (\n <As\n data-ui=\"Box\"\n {...restProps}\n className={composeClassNames(\n className,\n box({\n align,\n border,\n borderTop,\n borderRight,\n borderBottom,\n borderLeft,\n column,\n columnStart,\n columnEnd,\n columns,\n direction,\n display,\n flex,\n gap,\n gapX,\n gapY,\n height,\n inset,\n insetBottom,\n insetLeft,\n insetRight,\n insetTop,\n justify,\n overflow,\n margin,\n marginX,\n marginY,\n marginTop,\n marginRight,\n marginBottom,\n marginLeft,\n maxWidth,\n muted,\n padding,\n paddingX,\n paddingY,\n paddingTop,\n paddingRight,\n paddingBottom,\n paddingLeft,\n pointerEvents,\n position,\n radius,\n row,\n rows,\n rowStart,\n rowEnd,\n sizing,\n width,\n wrap,\n }),\n )}\n // data-gap={gap}\n ref={ref}\n >\n {props.children}\n </As>\n )\n})\n\nBox.displayName = 'ForwardRef(Box)'\n","import {\n composeClassNames,\n FontStyleProps,\n label,\n LabelSize,\n ResponsiveProp,\n textOverflow,\n TextOverflowStyleProps,\n} from '@sanity/ui/css'\nimport {ForwardedRef, forwardRef} from 'react'\n\nimport {Props} from '../../types'\n\n/**\n * @public\n */\nexport interface LabelProps extends FontStyleProps, TextOverflowStyleProps {\n accent?: boolean\n htmlFor?: string\n muted?: boolean\n size?: ResponsiveProp<LabelSize>\n}\n\n/**\n * Typographic labels.\n *\n * @public\n */\nexport const Label = forwardRef(function Label(\n props: Props<LabelProps, 'div'>,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const {\n accent,\n align,\n as: As = 'div',\n children,\n className,\n muted = false,\n size = 1,\n textOverflow: textOverflowProp,\n weight = 'medium',\n ...restProps\n } = props\n\n return (\n <As\n data-ui=\"Label\"\n {...restProps}\n className={composeClassNames(\n className,\n label({\n accent,\n align,\n muted,\n size,\n weight,\n }),\n )}\n ref={ref}\n >\n <span className={textOverflow({textOverflow: textOverflowProp})}>{children}</span>\n </As>\n )\n})\n\nLabel.displayName = 'ForwardRef(Label)'\n","import {\n avatar,\n avatarArrow,\n avatarImage,\n avatarInitials,\n composeClassNames,\n ResponsiveProp,\n} from '@sanity/ui/css'\nimport {AvatarSize, ThemeColorAvatarColorKey} from '@sanity/ui/theme'\nimport {ForwardedRef, forwardRef, useCallback, useEffect, useMemo, useState} from 'react'\nimport ReactIs from 'react-is'\n\nimport {useArrayProp} from '../../hooks'\nimport {AvatarPosition, AvatarStatus, Props} from '../../types'\nimport {Box} from '../box'\nimport {Label} from '../label'\n\n/**\n * @public\n */\nexport interface AvatarProps {\n /** @beta */\n __unstable_hideInnerStroke?: boolean\n animateArrowFrom?: AvatarPosition\n arrowPosition?: AvatarPosition\n color?: ThemeColorAvatarColorKey\n initials?: string\n onImageLoadError?: (event: Error) => void\n size?: ResponsiveProp<AvatarSize>\n src?: string\n /**\n * The status of the entity this Avatar represents.\n * @alpha\n */\n status?: AvatarStatus\n title?: string\n}\n\n/**\n * Avatars are used to represent people and other agents (e.g. bots).\n *\n * @public\n */\nexport const Avatar = forwardRef(function Avatar(\n props: Props<AvatarProps, 'div'>,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const {\n __unstable_hideInnerStroke,\n as: asProp,\n className,\n color = 'gray',\n src,\n title,\n initials,\n onImageLoadError,\n arrowPosition: arrowPositionProp,\n animateArrowFrom,\n status = 'online',\n size: sizeProp = 1,\n ...restProps\n } = props\n const As = ReactIs.isValidElementType(asProp) ? asProp : 'div'\n const size = useArrayProp(sizeProp)\n\n const [arrowPosition, setArrowPosition] = useState<AvatarPosition | undefined>(\n animateArrowFrom || arrowPositionProp || 'inside',\n )\n\n const [imageError, setImageError] = useState<boolean>(false)\n\n useEffect(() => {\n if (arrowPosition === arrowPositionProp) return undefined\n\n // Start animation in the next frame\n const raf = requestAnimationFrame(() => setArrowPosition(arrowPositionProp))\n\n return () => cancelAnimationFrame(raf)\n }, [arrowPosition, arrowPositionProp])\n\n useEffect(() => {\n if (src) setImageError(false)\n }, [src])\n\n const handleImageError = useCallback(() => {\n setImageError(true)\n\n if (onImageLoadError) {\n onImageLoadError(new Error('Avatar: the image failed to load'))\n }\n }, [onImageLoadError])\n\n const initialsSize = useMemo(\n () =>\n size.map((s) => {\n if (s === 1) return 1\n if (s === 2) return 3\n if (s === 3) return 5\n\n return 0\n }),\n [size],\n )\n\n return (\n <As\n // data-as={typeof As === 'string' ? As : undefined}\n data-hide-inner-stroke={__unstable_hideInnerStroke ? '' : undefined}\n data-ui=\"Avatar\"\n {...restProps}\n aria-label={title}\n className={composeClassNames(className, avatar({color, size: sizeProp}))}\n data-arrow-position={arrowPosition}\n data-image-error={imageError ? '' : undefined}\n data-status={status}\n ref={ref}\n title={title}\n >\n <span className={avatarArrow()}>\n <svg width=\"11\" height=\"7\" viewBox=\"0 0 11 7\" fill=\"none\">\n <path\n d=\"M6.67948 1.50115L11 7L0 7L4.32052 1.50115C4.92109 0.736796 6.07891 0.736795 6.67948 1.50115Z\"\n fill={color}\n />\n </svg>\n </span>\n\n <Box\n align=\"center\"\n as=\"span\"\n className={avatarInitials()}\n display=\"flex\"\n justify=\"center\"\n position=\"absolute\"\n inset={0}\n >\n <Label\n align=\"center\"\n as=\"span\"\n size={initialsSize}\n style={{color: 'inherit'}}\n weight=\"medium\"\n >\n {initials}\n </Label>\n </Box>\n\n {src && (\n <Box className={avatarImage()} inset={0} position=\"absolute\">\n <img alt={initials} onError={handleImageError} src={src} />\n <span />\n </Box>\n )}\n </As>\n )\n})\n\nAvatar.displayName = 'ForwardRef(Avatar)'\n","import {avatarCounter, composeClassNames, ResponsiveProp} from '@sanity/ui/css'\nimport {AvatarSize} from '@sanity/ui/theme'\nimport {ForwardedRef, forwardRef, useMemo} from 'react'\n\nimport {useArrayProp} from '../../hooks'\nimport {Props} from '../../types'\nimport {Box, BoxProps} from '../box'\nimport {Label} from '../label'\n\n/**\n * @public\n */\nexport interface AvatarCounterProps\n extends Omit<BoxProps, 'align' | 'className' | 'display' | 'justify' | 'paddingX' | 'sizing'> {\n count: number\n size?: ResponsiveProp<AvatarSize>\n /** @deprecated No longer supported. */\n tone?: 'navbar'\n}\n\n/**\n * @public\n */\nexport const AvatarCounter = forwardRef(function AvatarCounter(\n props: Props<AvatarCounterProps, 'div'>,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const {className, count, size: sizeProp = 1, ...restProps} = props\n const size = useArrayProp(sizeProp)\n\n const fontSize = useMemo(\n () =>\n size.map((s) => {\n if (s === 1) return 1\n if (s === 2) return 3\n if (s === 3) return 5\n\n return 0\n }),\n [size],\n )\n\n return (\n <Box\n data-ui=\"AvatarCounter\"\n {...restProps}\n align=\"center\"\n className={composeClassNames(className, avatarCounter({size}))}\n display=\"flex\"\n justify=\"center\"\n paddingX={2}\n ref={ref}\n sizing=\"border\"\n >\n <Label align=\"center\" as=\"span\" size={fontSize} weight=\"medium\">\n {count}\n </Label>\n </Box>\n )\n})\n\nAvatarCounter.displayName = 'ForwardRef(AvatarCounter)'\n","import {avatarStack, composeClassNames, ResponsiveProp} from '@sanity/ui/css'\nimport {AvatarSize} from '@sanity/ui/theme'\nimport {Children, cloneElement, ForwardedRef, forwardRef, isValidElement, ReactElement} from 'react'\n\nimport {useArrayProp} from '../../hooks'\nimport {Props} from '../../types'\nimport {Box, BoxProps} from '../box'\nimport {AvatarProps} from './avatar'\nimport {AvatarCounter} from './avatarCounter'\n\n/**\n * @public\n */\nexport type AvatarStackChild = ReactElement<Props<AvatarProps, 'div'>> | null | undefined | false\n\n/**\n * @public\n */\nexport interface AvatarStackProps extends Omit<BoxProps, 'align' | 'className' | 'display'> {\n children: AvatarStackChild | AvatarStackChild[]\n maxLength?: number\n size?: ResponsiveProp<AvatarSize>\n /** @deprecated No longer supported. */\n tone?: 'navbar'\n}\n\n/**\n * @public\n */\nexport const AvatarStack = forwardRef(function AvatarStack(\n props: Props<AvatarStackProps, 'div'>,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const {\n children: childrenProp,\n className,\n maxLength: maxLengthProp = 4,\n size: sizeProp = 1,\n ...restProps\n } = props\n const children = Children.toArray(childrenProp).filter(isValidElement) as ReactElement<\n Props<AvatarProps, 'div'>\n >[]\n const maxLength = Math.max(maxLengthProp, 0)\n const size = useArrayProp(sizeProp)\n\n const len = children.length\n const visibleCount = maxLength - 1\n const extraCount = len - visibleCount\n const visibleChildren = extraCount > 1 ? children.slice(extraCount, len) : children\n\n return (\n <Box\n data-ui=\"AvatarStack\"\n {...restProps}\n align=\"center\"\n className={composeClassNames(className, avatarStack({size}))}\n display=\"flex\"\n ref={ref}\n >\n {len === 0 && (\n <Box flex=\"none\">\n <AvatarCounter count={len} size={size} />\n </Box>\n )}\n\n {len !== 0 && extraCount > 1 && (\n <Box flex=\"none\">\n <AvatarCounter count={extraCount} size={size} />\n </Box>\n )}\n\n {visibleChildren.map((child, childIndex) => (\n <Box flex=\"none\" key={String(childIndex)}>\n {cloneElement(child, {size})}\n </Box>\n ))}\n </Box>\n )\n})\n\nAvatarStack.displayName = 'ForwardRef(AvatarStack)'\n","import {\n composeClassNames,\n text,\n textOverflow,\n TextOverflowStyleProps,\n TextStyleProps,\n} from '@sanity/ui/css'\nimport {ForwardedRef, forwardRef} from 'react'\n\nimport {Props} from '../../types'\n\n/**\n * @public\n */\nexport interface TextProps extends TextStyleProps, TextOverflowStyleProps {\n htmlFor?: string\n}\n\n/**\n * The `Text` component is an agile, themed typographic element.\n *\n * @public\n */\nexport const Text = forwardRef(function Text(\n props: Props<TextProps, 'div'>,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const {\n accent = false,\n align,\n as: As = 'div',\n children,\n className,\n flex,\n muted = false,\n size = 1,\n textOverflow: textOverflowProp,\n weight,\n ...restProps\n } = props\n\n return (\n <As\n data-ui=\"Text\"\n {...restProps}\n ref={ref}\n className={composeClassNames(\n className,\n text({\n accent,\n align,\n flex,\n muted,\n size,\n weight,\n }),\n )}\n >\n <span className={textOverflow({textOverflow: textOverflowProp})}>{children}</span>\n </As>\n )\n})\n\nText.displayName = 'ForwardRef(Text)'\n","import {badge, composeClassNames, RadiusStyleProps} from '@sanity/ui/css'\nimport {ForwardedRef, forwardRef} from 'react'\n\nimport {BadgeMode, BadgeTone, Props} from '../../types'\nimport {Box, BoxProps} from '../box'\nimport {Text, TextProps} from '../text'\n\n/**\n * @public\n */\nexport interface BadgeProps extends BoxProps, RadiusStyleProps {\n fontSize?: number | number[]\n /** @deprecated No longer used. */\n mode?: BadgeMode\n textAlign?: TextProps['align']\n tone?: BadgeTone\n}\n\n/**\n * Badges are used to tag resources.\n *\n * @public\n */\nexport const Badge = forwardRef(function Badge(\n props: Props<BadgeProps, 'div'>,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const {\n children,\n className,\n display = 'inline-block',\n fontSize = 1,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n mode: _deprecated_mode,\n padding = 1,\n radius = 2,\n textAlign,\n tone = 'default',\n ...restProps\n } = props\n\n return (\n <Box\n data-ui=\"Badge\"\n {...restProps}\n className={composeClassNames(\n className,\n badge({\n radius,\n tone,\n }),\n )}\n display={display}\n padding={padding}\n ref={ref}\n >\n <Text align={textAlign} size={fontSize}>\n {children}\n </Text>\n </Box>\n )\n})\n\nBadge.displayName = 'ForwardRef(Badge)'\n","import {SpinnerIcon} from '@sanity/icons'\nimport {animatedSpinnerIcon, composeClassNames} from '@sanity/ui/css'\nimport {ReactElement, SVGProps} from 'react'\n\n/** @internal */\nexport function AnimatedSpinnerIcon(props: SVGProps<SVGSVGElement>): ReactElement {\n const {className, ...restProps} = props\n\n return (\n <SpinnerIcon\n {...restProps}\n data-sanity-icon=\"animated-spinner\"\n className={composeClassNames(className, animatedSpinnerIcon())}\n />\n )\n}\n","import {ResponsiveProp, spinner} from '@sanity/ui/css'\nimport {FontTextSize} from '@sanity/ui/theme'\nimport {ForwardedRef, forwardRef} from 'react'\n\nimport {Props} from '../../types'\nimport {Text} from '../text'\nimport {AnimatedSpinnerIcon} from './animatedSpinnerIcon'\n\n/**\n * @public\n */\nexport interface SpinnerProps {\n muted?: boolean\n size?: ResponsiveProp<FontTextSize>\n}\n\n/**\n * Indicate that something is loading for an indeterminate amount of time.\n *\n * @public\n */\nexport const Spinner = forwardRef(function Spinner(\n props: Props<SpinnerProps, 'div'>,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n return (\n <Text data-ui=\"Spinner\" {...props} className={spinner()} ref={ref}>\n <AnimatedSpinnerIcon />\n </Text>\n )\n})\n\nSpinner.displayName = 'ForwardRef(Spinner)'\n","import {\n button,\n buttonLoadingBox,\n ButtonStyleProps,\n composeClassNames,\n DisplayStyleProps,\n FlexStyleProps,\n GapStyleProps,\n PaddingStyleProps,\n ResponsiveProp,\n Width,\n} from '@sanity/ui/css'\nimport {FontTextSize, Space} from '@sanity/ui/theme'\nimport {ElementType, ForwardedRef, forwardRef, isValidElement, ReactNode} from 'react'\nimport {isValidElementType} from 'react-is'\n\n// import {useTheme_v2} from '../../_compat'\nimport {ButtonMode, ButtonTextAlign, ButtonTone, Props} from '../../types'\nimport {Box} from '../box'\nimport {Spinner} from '../spinner'\nimport {Text, TextProps} from '../text'\n\n/**\n * @public\n */\nexport interface ButtonProps\n extends ButtonStyleProps,\n DisplayStyleProps,\n FlexStyleProps,\n GapStyleProps,\n PaddingStyleProps {\n 'data-ui'?: string\n 'fontSize'?: ResponsiveProp<FontTextSize>\n 'href'?: string\n 'mode'?: ButtonMode\n 'icon'?: ElementType | ReactNode\n 'iconRight'?: ElementType | ReactNode\n /** @beta Do not use in production, as this might change.*/\n 'loading'?: boolean\n 'selected'?: boolean\n /** @deprecated Use `gap` instead. */\n 'space'?: ResponsiveProp<Space>\n 'textAlign'?: ButtonTextAlign\n 'muted'?: boolean\n 'target'?: string\n 'text'?: ReactNode\n 'textOverflow'?: TextProps['textOverflow']\n 'textWeight'?: TextProps['weight']\n 'tone'?: ButtonTone\n 'type'?: 'button' | 'reset' | 'submit'\n 'width'?: ResponsiveProp<Width>\n}\n\n/**\n * @public\n */\nexport const Button = forwardRef(function Button(\n props: Props<ButtonProps, 'button'>,\n ref: ForwardedRef<HTMLButtonElement>,\n) {\n const {\n align = 'center',\n as: As = 'button',\n children,\n className,\n direction,\n disabled,\n display = 'inline-flex',\n flex,\n fontSize = 1,\n gap = props.space ?? props.padding ?? 3,\n gapX,\n gapY,\n href,\n icon: IconComponent,\n iconRight: IconRightComponent,\n justify = 'center',\n loading,\n mode = 'default',\n padding = 3,\n paddingX,\n paddingY,\n paddingTop,\n paddingBottom,\n paddingLeft,\n paddingRight,\n radius = 3,\n selected,\n space = props.gap ?? props.space ?? props.padding ?? 3, // eslint-disable-line @typescript-eslint/no-unused-vars\n text,\n textAlign,\n textOverflow = 'ellipsis',\n textWeight = 'medium',\n tone = 'default',\n type = 'button',\n muted = false,\n width,\n wrap,\n ...restProps\n } = props\n // const {button: buttonTheme} = useTheme_v2()\n\n return (\n <As\n data-ui=\"Button\"\n {...restProps}\n className={composeClassNames(className, button({display, flex, mode, radius, tone, width}))}\n data-disabled={loading || disabled ? '' : undefined}\n data-selected={selected ? '' : undefined}\n disabled={Boolean(loading || disabled)}\n href={disabled ? undefined : href}\n ref={ref}\n type={type}\n >\n {Boolean(loading) && (\n <Box\n align={align}\n as=\"span\"\n className={buttonLoadingBox()}\n display=\"flex\"\n flex={1}\n justify={justify}\n width=\"fill\"\n >\n <Spinner size={fontSize} />\n </Box>\n )}\n\n {(IconComponent || text || IconRightComponent) && (\n <Box\n as=\"span\"\n direction={direction}\n display=\"flex\"\n flex={1}\n gap={gap}\n gapX={gapX}\n gapY={gapY}\n justify={justify}\n padding={padding}\n paddingX={paddingX}\n paddingY={paddingY}\n paddingTop={paddingTop}\n paddingBottom={paddingBottom}\n paddingLeft={paddingLeft}\n paddingRight={paddingRight}\n width=\"fill\"\n wrap={wrap}\n >\n {IconComponent && (\n <Text as=\"span\" flex=\"none\" muted size={fontSize}>\n {isValidElement(IconComponent) && IconComponent}\n {isValidElementType(IconComponent) && <IconComponent />}\n </Text>\n )}\n\n {text && (\n <Text\n align={textAlign}\n as=\"span\"\n flex=\"none\"\n muted={muted}\n size={fontSize}\n textOverflow={textOverflow}\n // weight={textWeight ?? buttonTheme.textWeight}\n weight={textWeight}\n >\n {text}\n </Text>\n )}\n\n {IconRightComponent && (\n <Text as=\"span\" flex=\"none\" muted size={fontSize}>\n {isValidElement(IconRightComponent) && IconRightComponent}\n {isValidElementType(IconRightComponent) && <IconRightComponent />}\n </Text>\n )}\n </Box>\n )}\n\n {children && (\n <Box\n as=\"span\"\n direction={direction}\n display=\"flex\"\n flex={1}\n gap={gap}\n gapX={gapX}\n gapY={gapY}\n padding={padding}\n paddingX={paddingX}\n paddingY={paddingY}\n paddingTop={paddingTop}\n paddingBottom={paddingBottom}\n paddingLeft={paddingLeft}\n paddingRight={paddingRight}\n width=\"fill\"\n wrap={wrap}\n >\n {children}\n </Box>\n )}\n </As>\n )\n})\n\nButton.displayName = 'ForwardRef(Button)'\n","import {useContext} from 'react'\n\nimport {CardContext} from './cardContext'\n\nexport function useCard() {\n return useContext(CardContext)\n}\n","import {_selectable, card, CardStyleProps, composeClassNames} from '@sanity/ui/css'\nimport {createElement, ForwardedRef, forwardRef} from 'react'\nimport {isValidElementType} from 'react-is'\n\nimport {Props} from '../../types'\nimport {Box, BoxProps} from '../box'\nimport {CardProvider} from './cardProvider'\nimport {useCard} from './useCard'\n\n/**\n * @public\n */\nexport interface CardProps extends BoxProps, CardStyleProps {\n /**\n * Do not use in production.\n * @beta\n */\n __unstable_checkered?: boolean\n /**\n * Do not use in production.\n * @beta\n */\n __unstable_focusRing?: boolean\n disabled?: boolean\n href?: string\n pressed?: boolean\n selected?: boolean\n target?: string\n}\n\n/**\n * The `Card` component acts much like a `Box`, but with a background and foreground color.\n * Components within a `Card` inherit its colors.\n *\n * @public\n */\nexport const Card = forwardRef(function Card(\n props: Props<CardProps, 'div'>,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const {\n __unstable_checkered: checkered = false,\n __unstable_focusRing: focusRing = false,\n as: asProp,\n className,\n pressed,\n radius = 0,\n scheme: schemeProp,\n selectable,\n selected,\n shadow,\n style,\n tone: toneProp = 'inherit',\n ...restProps\n } = props\n\n const as = isValidElementType(asProp) ? asProp : 'div'\n\n const parent = useCard()\n\n const context = {\n tone: parent?.tone ?? 'default',\n scheme: parent?.scheme ?? 'light',\n }\n\n const tone = toneProp === 'inherit' ? context.tone : toneProp\n const scheme = schemeProp === undefined ? context.scheme : schemeProp\n\n let node = (\n <Box\n data-ui=\"Card\"\n {...restProps}\n as={as}\n className={composeClassNames(\n className,\n card({\n scheme: scheme === context.scheme ? undefined : scheme,\n shadow,\n tone: tone === context.tone ? undefined : tone,\n }),\n selectable && _selectable({radius}),\n )}\n data-checkered={checkered ? '' : undefined}\n data-focus-ring={focusRing ? '' : undefined}\n data-pressed={pressed ? '' : undefined}\n data-selected={selected ? '' : undefined}\n radius={radius}\n ref={ref}\n style={style}\n />\n )\n\n if (scheme === context.scheme && tone === context.tone) {\n return node\n }\n\n node = (\n <CardProvider\n compat_provider={parent?.compat_provider}\n rendered={true}\n scheme={scheme}\n tone={tone ?? context.tone}\n >\n {node}\n </CardProvider>\n )\n\n if (parent?.compat_provider) {\n return createElement(parent.compat_provider, {\n children: node,\n scheme,\n tone: tone ?? context.tone,\n })\n }\n\n return node\n})\n\nCard.displayName = 'ForwardRef(Card)'\n","import {CheckmarkIcon, RemoveIcon} from '@sanity/icons'\nimport {checkbox, checkboxInput, composeClassNames} from '@sanity/ui/css'\nimport {ForwardedRef, forwardRef, useEffect, useImperativeHandle, useRef} from 'react'\n\nimport {useCustomValidity} from '../../hooks'\nimport {Props} from '../../types'\n\n/**\n * @public\n */\nexport interface CheckboxProps {\n indeterminate?: boolean\n customValidity?: string\n}\n\n/**\n * Checkboxes allow the user to select one or more items from a set.\n *\n * @public\n */\nexport const Checkbox = forwardRef(function Checkbox(\n props: Props<CheckboxProps, 'input'>,\n forwardedRef: ForwardedRef<HTMLInputElement>,\n) {\n const {\n checked,\n className,\n disabled,\n indeterminate,\n customValidity,\n readOnly,\n style,\n ...restProps\n } = props\n\n const ref = useRef<HTMLInputElement | null>(null)\n\n useImperativeHandle<HTMLInputElement | null, HTMLInputElement | null>(\n forwardedRef,\n () => ref.current,\n )\n\n useEffect(() => {\n if (ref.current) {\n // Set the indeterminate state\n ref.current.indeterminate = indeterminate || false\n }\n }, [indeterminate])\n\n useCustomValidity(ref, customValidity)\n\n return (\n <span className={composeClassNames(className, checkbox())} data-ui=\"Checkbox\" style={style}>\n <input\n {...restProps}\n checked={checked}\n className={composeClassNames(className, checkboxInput())}\n data-disabled={disabled ? '' : undefined}\n data-read-only={!disabled && readOnly ? '' : undefined}\n data-error={customValidity ? '' : undefined}\n disabled={disabled || readOnly}\n type=\"checkbox\"\n readOnly={readOnly}\n ref={ref}\n />\n <span>\n <CheckmarkIcon />\n <RemoveIcon />\n </span>\n </span>\n )\n})\n\nCheckbox.displayName = 'ForwardRef(Checkbox)'\n","import {code, composeClassNames, FontStyleProps} from '@sanity/ui/css'\nimport {ForwardedRef, forwardRef, lazy, Suspense} from 'react'\n\nimport {Props} from '../../types'\n\nconst LazyRefractor = lazy(() => import('./refractor'))\n\n/**\n * @public\n */\nexport interface CodeProps extends Omit<FontStyleProps, 'align'> {\n /** Define the language to use for syntax highlighting. */\n language?: string\n size?: number | number[]\n}\n\n/**\n * @public\n */\nexport const Code = forwardRef(function Code(\n props: Props<CodeProps, 'pre'>,\n ref: ForwardedRef<HTMLPreElement>,\n) {\n const {\n as: As = 'pre',\n children,\n className,\n language: languageProp,\n size = 1,\n weight,\n ...restProps\n } = props\n const language = typeof languageProp === 'string' ? languageProp : undefined\n\n return (\n <As\n data-ui=\"Code\"\n {...restProps}\n className={composeClassNames(className, code({size, weight}))}\n ref={ref}\n >\n <Suspense fallback={<code>{children}</code>}>\n <LazyRefractor language={language} value={children} />\n </Suspense>\n </As>\n )\n})\n\nCode.displayName = 'ForwardRef(Code)'\n","import {composeClassNames, container, ContainerStyleProps} from '@sanity/ui/css'\nimport {ForwardedRef, forwardRef} from 'react'\n\nimport {Props} from '../../types'\nimport {Box, BoxProps} from '../box'\n\n/**\n * @public\n */\nexport interface ContainerProps extends Omit<BoxProps, 'width'>, ContainerStyleProps {}\n\n/**\n * The `Container` component wraps content layout in a defined set of widths.\n *\n * @public\n */\nexport const Container = forwardRef(function Container(\n props: Props<ContainerProps, 'div'>,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const {as, className, sizing = 'border', width = 2, ...restProps} = props\n\n return (\n <Box\n data-ui=\"Container\"\n {...restProps}\n as={as}\n className={composeClassNames(className, container({width}))}\n ref={ref}\n sizing={sizing}\n />\n )\n})\n\nContainer.displayName = 'ForwardRef(Container)'\n","import {ForwardedRef, forwardRef} from 'react'\n\nimport {Props} from '../../types'\nimport {Box, BoxProps} from '../box'\n\n/**\n * @public\n */\nexport interface FlexProps extends Omit<BoxProps, 'display'> {\n htmlFor?: string\n}\n\n/**\n * The `Flex` component is a wrapper component for flexible elements (`Box`, `Card` and `Flex`).\n *\n * @public\n */\nexport const Flex = forwardRef(function Flex(\n props: Props<FlexProps, 'div'>,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const {as, direction = 'row', ...restProps} = props\n\n return (\n <Box data-ui=\"Flex\" {...restProps} as={as} direction={direction} display=\"flex\" ref={ref} />\n )\n})\n\nFlex.displayName = 'ForwardRef(Flex)'\n","import {ForwardedRef, forwardRef} from 'react'\n\nimport {Props} from '../../types'\nimport {Box, BoxProps} from '../box'\n\n/**\n * @public\n */\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\nexport interface GridProps extends Omit<BoxProps, 'display'> {}\n\n/**\n * The `Grid` component is for building 2-dimensional layers (based on CSS grid).\n *\n * @public\n */\nexport const Grid = forwardRef(function Grid(\n props: Props<GridProps, 'div'>,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const {as, children, ...restProps} = props\n\n return (\n <Box data-ui=\"Grid\" {...restProps} as={as} display=\"grid\" ref={ref}>\n {children}\n </Box>\n )\n})\n\nGrid.displayName = 'ForwardRef(Grid)'\n","import {\n composeClassNames,\n heading,\n type HeadingStyleProps,\n textOverflow,\n type TextOverflowStyleProps,\n} from '@sanity/ui/css'\nimport {ForwardedRef, forwardRef} from 'react'\n\nimport {Props} from '../../types'\n\n/**\n * @public\n */\nexport interface HeadingProps extends HeadingStyleProps, TextOverflowStyleProps {}\n\n/**\n * Typographic headings.\n *\n * @public\n */\nexport const Heading = forwardRef(function Heading(\n props: Props<HeadingProps, 'div'>,\n ref: ForwardedRef<HTMLElement>,\n) {\n const {\n accent = false,\n align,\n as: As = 'div',\n children,\n className,\n flex,\n muted = false,\n size = 1,\n textOverflow: textOverflowProp,\n weight,\n ...restProps\n } = props\n\n return (\n <As\n data-ui=\"Heading\"\n {...restProps}\n className={composeClassNames(\n className,\n heading({\n accent,\n align,\n flex,\n muted,\n size,\n weight,\n }),\n )}\n ref={ref}\n >\n <span className={textOverflow({textOverflow: textOverflowProp})}>{children}</span>\n </As>\n )\n})\n\nHeading.displayName = 'ForwardRef(Heading)'\n","import {ResponsiveProp} from '@sanity/ui/css'\nimport {Space} from '@sanity/ui/theme'\nimport {Children, ForwardedRef, forwardRef, useMemo} from 'react'\n\nimport {Props} from '../../types'\nimport {Box, BoxProps} from '../box'\n\n/**\n * @public\n */\nexport interface InlineProps extends Omit<BoxProps, 'align' | 'display' | 'justify'> {\n /** @deprecated Use `gap` instead. */\n space?: ResponsiveProp<Space>\n}\n\n/**\n * The `Inline` component is a layout utility for aligning and spacing items horizontally.\n *\n * @public\n */\nexport const Inline = forwardRef(function Inline(\n props: Props<InlineProps, 'div'>,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const {as, children: childrenProp, gap, gapX, gapY, space, ...restProps} = props\n\n const children = useMemo(\n () => Children.map(childrenProp, (child) => child && <Box maxWidth=\"fill\">{child}</Box>),\n [childrenProp],\n )\n\n return (\n <Box\n data-ui=\"Inline\"\n {...restProps}\n align=\"center\"\n as={as}\n display=\"flex\"\n gap={gap ?? space}\n gapX={gapX}\n gapY={gapY}\n ref={ref}\n wrap=\"wrap\"\n >\n {children}\n </Box>\n )\n})\n\nInline.displayName = 'ForwardRef(Inline)'\n","import {composeClassNames, kbd, RadiusStyleProps, ResponsiveProp} from '@sanity/ui/css'\nimport {FontTextSize, Space} from '@sanity/ui/theme'\nimport {ForwardedRef, forwardRef} from 'react'\n\nimport {Props} from '../../types'\nimport {Box, BoxProps} from '../box'\nimport {Text} from '../text'\n\n/**\n * @public\n */\nexport interface KBDProps extends BoxProps, RadiusStyleProps {\n fontSize?: ResponsiveProp<FontTextSize>\n padding?: ResponsiveProp<Space>\n}\n\n/**\n * Used to define some text as keyboard input.\n *\n * @public\n */\nexport const KBD = forwardRef(function KBD(\n props: Props<KBDProps, 'div'>,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const {\n as = 'kbd',\n children,\n className,\n display = 'inline-block',\n fontSize = 1,\n padding = 1,\n radius = 2,\n ...restProps\n } = props\n\n return (\n <Box\n data-ui=\"KBD\"\n {...restProps}\n as={as}\n className={composeClassNames(className, kbd({radius}))}\n display={display}\n muted\n padding={padding}\n ref={ref}\n >\n <Text as=\"span\" muted size={fontSize}>\n {children}\n </Text>\n </Box>\n )\n})\n\nKBD.displayName = 'ForwardRef(KBD)'\n","import {Middleware} from '@floating-ui/react-dom'\n\n/**\n * Custom floating-ui middleware which calculates transform-origin X + Y offsets\n * based on the current floating rect's dimensions and shift offset.\n *\n * Scaling popovers with these transform-origin offsets will give the effect of\n * popvers slightly 'growing' from the origin/reference element.\n *\n * This middleware must be applied after both `@sanity/ui/size` and `shift` middlewares.\n */\nexport const origin: Middleware = {\n name: '@sanity/ui/origin',\n fn({middlewareData, placement, rects}) {\n const [side] = placement.split('-')\n\n const floatingWidth = rects.floating.width\n const floatingHeight = rects.floating.height\n\n const shiftX = middlewareData.shift?.x || 0\n const shiftY = middlewareData.shift?.y || 0\n\n if (floatingWidth <= 0 || floatingHeight <= 0) {\n return {}\n }\n\n const isVerticalPlacement = ['bottom', 'top'].includes(side)\n\n const {originX, originY}: {originX: number; originY: number} = isVerticalPlacement\n ? {\n originX: clamp(0.5 - shiftX / floatingWidth, 0, 1),\n originY: side === 'bottom' ? 0 : 1,\n }\n : {\n originX: side === 'left' ? 1 : 0,\n originY: clamp(0.5 - shiftY / floatingHeight, 0, 1),\n }\n\n return {\n data: {originX, originY},\n }\n },\n}\n\nfunction clamp(num: number, min: number, max: number) {\n return Math.min(Math.max(num, min), max)\n}\n","export interface PointCmd {\n type: 'point'\n x: number\n y: number\n radius?: number\n}\n\nexport interface CurveCmd {\n type: 'curve'\n startControl: Point\n endControl: Point\n curveEnd: Point\n}\n\nexport type Cmd = PointCmd | CurveCmd\n\nexport interface Point {\n x: number\n y: number\n radius?: number\n}\n\nfunction moveTowardsLength(movingPoint: Point, targetPoint: Point, amount: number) {\n const width = targetPoint.x - movingPoint.x\n const height = targetPoint.y - movingPoint.y\n\n const distance = Math.sqrt(width * width + height * height)\n\n return moveTowardsFractional(movingPoint, targetPoint, Math.min(1, amount / distance))\n}\n\nfunction moveTowardsFractional(movingPoint: Point, targetPoint: Point, fraction: number): Point {\n return {\n x: movingPoint.x + (targetPoint.x - movingPoint.x) * fraction,\n y: movingPoint.y + (targetPoint.y - movingPoint.y) * fraction,\n }\n}\n\nexport function getRoundedCommands(points: Point[]): Cmd[] {\n const len = points.length\n\n const cmds: Cmd[] = []\n\n for (let i = 0; i < len; i += 1) {\n const point = points[i]\n const prevPoint = points[i - 1]\n const nextPoint = points[i + 1]\n\n if (prevPoint && point.radius) {\n const curveStart = moveTowardsLength(point, prevPoint, point.radius)\n const curveEnd = moveTowardsLength(point, nextPoint, point.radius)\n const startControl = moveTowardsFractional(curveStart, point, 0.5)\n const endControl = moveTowardsFractional(point, curveEnd, 0.5)\n\n cmds.push({\n type: 'point',\n ...curveStart,\n })\n\n cmds.push({\n type: 'curve',\n curveEnd,\n startControl,\n endControl,\n })\n } else {\n cmds.push({\n type: 'point',\n ...point,\n })\n }\n }\n\n return cmds\n}\n\nexport function compileCommands(cmds: Cmd[]): string {\n return cmds\n .map((n, idx) => {\n if (n.type === 'point') {\n return `${idx === 0 ? 'M' : 'L'} ${n.x} ${n.y}`\n }\n\n if (n.type === 'curve') {\n return `C ${n.startControl.x} ${n.startControl.y} ${n.endControl.x} ${n.endControl.y} ${n.curveEnd.x} ${n.curveEnd.y}`\n }\n\n return ``\n })\n .join(' ')\n}\n","import {_arrow, _arrowShape, _arrowStroke} from '@sanity/ui/css'\nimport {CSSProperties, ForwardedRef, forwardRef, ReactElement, useMemo} from 'react'\n\nimport {useTheme_v2} from '../../_compat'\nimport {Props} from '../../types'\nimport {compileCommands, getRoundedCommands, Point} from './cmds'\n\n/** @internal */\nexport const Arrow = forwardRef(function Arrow(\n props: Props<{width: number; height: number; radius?: number}, 'div'>,\n ref: ForwardedRef<HTMLDivElement>,\n): ReactElement {\n const {width: w, height: h, radius = 0, style, ...restProps} = props\n const {card} = useTheme_v2()\n const strokeWidth = card.shadow.outline\n\n const center = w / 2\n\n const path = useMemo(() => {\n const points: Point[] = [\n {x: 0, y: 0},\n {x: radius, y: 0, radius},\n {x: center, y: h - 1, radius},\n {x: w - radius, y: 0, radius},\n {x: w, y: 0},\n ]\n\n const cmds = getRoundedCommands(points)\n\n return compileCommands(cmds)\n }, [center, h, radius, w])\n\n const strokePath = `${path}`\n const fillPath = `${path} M ${w} -1 M 0 -1 Z`\n\n return (\n <div\n {...restProps}\n className={_arrow()}\n ref={ref}\n style={{...style, '--arrow-size': `${w}px`} as CSSProperties}\n >\n <svg width={w} height={w} viewBox={`0 0 ${w} ${w}`}>\n <mask id=\"stroke-mask\">\n <rect x={0} y={strokeWidth} width={w} height={w} fill=\"white\" />\n </mask>\n <path\n className={_arrowStroke()}\n d={strokePath}\n mask=\"url(#stroke-mask)\"\n strokeWidth={strokeWidth * 2}\n />\n <path className={_arrowShape()} d={fillPath} />\n </svg>\n </div>\n )\n})\n\nArrow.displayName = 'ForwardRef(Arrow)'\n","import {createGlobalScopedContext} from '../../lib/createGlobalScopedContext'\nimport {BoundaryElementContextValue} from './types'\n\nexport const BoundaryElementContext = createGlobalScopedContext<BoundaryElementContextValue | null>(\n '@sanity/ui/context/boundaryElement',\n null,\n)\n","import {ReactElement, ReactNode, useMemo} from 'react'\n\nimport {BoundaryElementContext} from './boundaryElementContext'\nimport {BoundaryElementContextValue} from './types'\n\n/**\n * @public\n */\nexport interface BoundaryElementProviderProps {\n children: ReactNode\n element: HTMLElement | null\n}\n\n/**\n * @public\n */\nexport function BoundaryElementProvider(props: BoundaryElementProviderProps): ReactElement {\n const {children, element} = props\n const value: BoundaryElementContextValue = useMemo(() => ({version: 0.0, element}), [element])\n\n return <BoundaryElementContext.Provider value={value}>{children}</BoundaryElementContext.Provider>\n}\n\nBoundaryElementProvider.displayName = 'BoundaryElementProvider'\n","export function isRecord(value: unknown): value is Record<string, unknown> {\n return Boolean(value && typeof value === 'object' && !Array.isArray(value))\n}\n","import {useContext} from 'react'\n\nimport {isRecord} from '../../lib/isRecord'\nimport {BoundaryElementContext} from './boundaryElementContext'\nimport {BoundaryElementContextValue} from './types'\n\nconst DEFAULT_VALUE: BoundaryElementContextValue = {\n version: 0.0,\n element: null,\n}\n\n/**\n * @public\n */\nexport function useBoundaryElement(): BoundaryElementContextValue {\n const value = useContext(BoundaryElementContext)\n\n // NOTE: This check is for future-compatiblity\n // - If the value is not an object, it’s not compatible with the current version\n // - If the value is an object, but doesn’t have `version: 0.0`, it’s not compatible with the current version\n if (value && (!isRecord(value) || value.version !== 0.0)) {\n throw new Error('useBoundaryElement(): the context value is not compatible')\n }\n\n return value || DEFAULT_VALUE\n}\n","import {ReactNode} from 'react'\n\n/**\n * @internal\n * @deprecated this component will be removed in the next major release\n */\nexport function ConditionalWrapper({\n children,\n condition,\n wrapper,\n}: {\n children: ReactNode\n condition: boolean\n wrapper: (children: ReactNode) => ReactNode\n}): ReactNode {\n if (!condition) {\n return children\n }\n\n return wrapper(children)\n}\n\nConditionalWrapper.displayName = 'ConditionalWrapper'\n","export function findMaxBreakpoints(media: number[], width: number): number[] {\n const ret: number[] = []\n\n for (let i = 0; i < media.length; i += 1) {\n const bp = media[i]\n\n if (bp > width) {\n ret.push(i)\n }\n }\n\n return ret\n}\n\nexport function findMinBreakpoints(media: number[], width: number): number[] {\n const ret: number[] = []\n\n for (let i = 0; i < media.length; i += 1) {\n const bp = media[i]\n\n if (bp <= width) {\n ret.push(i)\n }\n }\n\n return ret\n}\n","import {ForwardedRef, forwardRef, useImperativeHandle, useMemo, useState} from 'react'\n\nimport {useTheme_v2} from '../../_compat'\nimport {useElementSize} from '../../hooks'\nimport {Props} from '../../types'\nimport {findMaxBreakpoints, findMinBreakpoints} from './helpers'\n\n/**\n * DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport interface MediaQueryProps {\n media?: number[]\n}\n\n/**\n * DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport const ElementQuery = forwardRef(function ElementQuery(\n props: Props<MediaQueryProps, 'div'>,\n forwardedRef: ForwardedRef<HTMLDivElement>,\n) {\n const theme = useTheme_v2()\n const {children, media: _media, ...restProps} = props\n const media = _media ?? theme.media\n\n const [element, setElement] = useState<HTMLDivElement | null>(null)\n const elementSize = useElementSize(element)\n const width = useMemo(() => elementSize?.border.width ?? window.innerWidth, [elementSize])\n\n const max = useMemo(() => {\n const eq = findMaxBreakpoints(media, width)\n\n return eq.length ? eq.join(' ') : undefined\n }, [media, width])\n const min = useMemo(() => {\n const eq = findMinBreakpoints(media, width)\n\n return eq.length ? eq.join(' ') : undefined\n }, [media, width])\n\n useImperativeHandle<HTMLDivElement | null, HTMLDivElement | null>(forwardedRef, () => element, [\n element,\n ])\n\n return (\n <div data-ui=\"ElementQuery\" {...restProps} data-eq-max={max} data-eq-min={min} ref={setElement}>\n {children}\n </div>\n )\n})\nElementQuery.displayName = 'ForwardRef(ElementQuery)'\n","import {isRecord} from '../../lib/isRecord'\nimport {LayerContextValue} from './types'\n\nexport function getLayerContext(contextValue: LayerContextValue): LayerContextValue {\n // NOTE: This check is for future-compatiblity\n // - If the value is not an object, it’s not compatible with the current version\n // - If the value is an object, but doesn’t have `version: 0.0`, it’s not compatible with the current version\n if (!isRecord(contextValue) || contextValue.version !== 0.0) {\n throw new Error('the context value is not compatible')\n }\n\n if (!contextValue) {\n throw new Error('components using `useLayer()` should be wrapped in a <LayerProvider>.')\n }\n\n if (contextValue.version === 0.0) {\n return contextValue\n }\n\n throw new Error('could not get layer context')\n}\n","import {createGlobalScopedContext} from '../../lib/createGlobalScopedContext'\nimport {LayerContextValue} from './types'\n\nexport const LayerContext = createGlobalScopedContext<LayerContextValue | null>(\n '@sanity/ui/context/layer',\n null,\n)\n","import {ReactElement, ReactNode, useCallback, useContext, useEffect, useMemo, useState} from 'react'\n\nimport {useArrayProp, useMediaIndex} from '../../hooks'\nimport {getLayerContext} from './getLayerContext'\nimport {LayerContext} from './layerContext'\nimport {LayerContextValue} from './types'\n\n/**\n * @public\n */\nexport interface LayerProviderProps {\n children?: ReactNode\n zOffset?: number | number[]\n}\n\n/**\n * @public\n */\nexport function LayerProvider(props: LayerProviderProps): ReactElement {\n const {children, zOffset: zOffsetProp = 0} = props\n\n // Get parent context values\n const parentContextValue = useContext(LayerContext)\n const parent = parentContextValue && getLayerContext(parentContextValue)\n const parentRegisterChild = parent?.registerChild\n const parentLevel = parent?.level ?? 0\n\n // Get level\n const level = parentLevel + 1\n\n // Get z-index offset\n const zOffset = useArrayProp(zOffsetProp)\n\n // Get responsive z-index value\n const maxMediaIndex = zOffset.length - 1\n const mediaIndex = Math.min(useMediaIndex(), maxMediaIndex)\n const zIndex = parent ? parent.zIndex + (zOffset[mediaIndex] ?? 0) : (zOffset[mediaIndex] ?? 0)\n\n // A state value that is used to keep track of the number of child layers on each level\n const [, setChildLayers] = useState<Record<number, number>>({})\n\n // A state value that is used to keep track of the number of child levels\n const [size, setSize] = useState(0)\n\n const isTopLayer = size === 0\n\n const registerChild = useCallback(\n (childLevel?: number) => {\n // Register child layers to the parent layer\n const parentDispose = parentRegisterChild?.(childLevel)\n\n if (childLevel !== undefined) {\n setChildLayers((state) => {\n const prevLen = state[childLevel] ?? 0\n const nextState = {...state, [childLevel]: prevLen + 1}\n\n setSize(Object.keys(nextState).length)\n\n return nextState\n })\n } else {\n // Legacy behavior: if no child level is provided, increment the size by 1\n setSize((v) => v + 1)\n }\n\n return () => {\n if (childLevel !== undefined) {\n setChildLayers((state) => {\n const nextState = {...state}\n\n if (nextState[childLevel] === 1) {\n delete nextState[childLevel]\n\n setSize(Object.keys(nextState).length)\n } else {\n nextState[childLevel] -= 1\n }\n\n return nextState\n })\n } else {\n // Legacy behavior: if no child level is provided, decrement the size by 1\n setSize((v) => v - 1)\n }\n\n parentDispose?.()\n }\n },\n [parentRegisterChild, setSize, setChildLayers],\n )\n\n // Register this layer on mount\n useEffect(() => parentRegisterChild?.(level), [level, parentRegisterChild])\n\n const value: LayerContextValue = useMemo(\n () => ({\n version: 0.0,\n isTopLayer,\n level,\n registerChild,\n size,\n zIndex,\n }),\n [isTopLayer, level, registerChild, size, zIndex],\n )\n\n return <LayerContext.Provider value={value}>{children}</LayerContext.Provider>\n}\n\nLayerProvider.displayName = 'LayerProvider'\n","import {useContext} from 'react'\n\nimport {getLayerContext} from './getLayerContext'\nimport {LayerContext} from './layerContext'\nimport {LayerContextValue} from './types'\n\n/**\n * @public\n */\nexport function useLayer(): LayerContextValue {\n const value = useContext(LayerContext)\n\n if (!value) {\n throw new Error('useLayer(): missing context value')\n }\n\n try {\n return getLayerContext(value)\n } catch (err) {\n if (err instanceof Error) {\n throw new Error(`useLayer(): ${err.message}`)\n } else {\n throw new Error(`useLayer(): ${err}`)\n }\n }\n}\n","import {\n FocusEvent,\n ForwardedRef,\n forwardRef,\n useCallback,\n useEffect,\n useImperativeHandle,\n useRef,\n} from 'react'\n\nimport {EMPTY_RECORD} from '../../constants'\nimport {containsOrEqualsElement, isHTMLElement} from '../../helpers'\nimport {Box, BoxProps} from '../../primitives'\nimport {Props} from '../../types'\nimport {LayerProvider} from './layerProvider'\nimport {useLayer} from './useLayer'\n\n/**\n * @public\n */\nexport interface LayerProps extends BoxProps {\n /** A callback that fires when the layer becomes the top layer when it was not the top layer before. */\n onActivate?: (props: {activeElement: HTMLElement | null}) => void\n zOffset?: number | number[]\n}\n\ninterface LayerChildrenProps extends BoxProps {\n onActivate?: LayerProps['onActivate']\n}\n\nconst LayerChildren = forwardRef(function LayerChildren(\n props: Props<LayerChildrenProps, 'div'>,\n forwardedRef: ForwardedRef<HTMLDivElement>,\n) {\n const {\n children,\n onActivate,\n onFocus,\n position = 'relative',\n style = EMPTY_RECORD,\n ...restProps\n } = props\n const {zIndex, isTopLayer} = useLayer()\n const lastFocusedRef = useRef<HTMLElement | null>(null)\n const ref = useRef<HTMLDivElement | null>(null)\n const isTopLayerRef = useRef<boolean>(isTopLayer)\n\n useImperativeHandle<HTMLDivElement | null, HTMLDivElement | null>(forwardedRef, () => ref.current)\n\n // When the layer very first mounts, it will be the top layer, but we don't want to fire\n // the callback in that case. We use a ref to track the previous value of isTopLayer to\n // determine if the layer has become the top layer since the last render.\n useEffect(() => {\n const becameTopLayer = isTopLayerRef.current !== isTopLayer && isTopLayer\n\n if (becameTopLayer) {\n onActivate?.({activeElement: lastFocusedRef.current})\n }\n\n isTopLayerRef.current = isTopLayer\n }, [isTopLayer, onActivate])\n\n const handleFocus = useCallback(\n (event: FocusEvent<HTMLDivElement, Element>) => {\n // Call the user-provided onFocus handler if any\n onFocus?.(event)\n\n const rootElement = ref.current\n const target = document.activeElement\n\n if (!isTopLayer || !rootElement || !target) return\n\n if (isHTMLElement(target) && containsOrEqualsElement(rootElement, target)) {\n lastFocusedRef.current = target\n }\n },\n [isTopLayer, onFocus],\n )\n\n return (\n <Box\n data-ui=\"Layer\"\n {...restProps}\n onFocus={handleFocus}\n position={position}\n ref={ref}\n style={{...style, zIndex}}\n >\n {children}\n </Box>\n )\n})\n\n/**\n * @public\n */\nexport const Layer = forwardRef(function Layer(\n props: Props<LayerProps, 'div'>,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const {children, zOffset = 1, ...restProps} = props\n\n return (\n <LayerProvider zOffset={zOffset}>\n <LayerChildren {...restProps} ref={ref}>\n {children}\n </LayerChildren>\n </LayerProvider>\n )\n})\n\nLayer.displayName = 'ForwardRef(Layer)'\n","import {createGlobalScopedContext} from '../../lib/createGlobalScopedContext'\nimport {globalScope} from '../../lib/globalScope'\nimport {PortalContextValue} from './types'\n\nconst key = '@sanity/ui/context/portal'\nconst elementKey = Symbol.for(`${key}/element`)\n\nglobalScope[elementKey] = null\n\nexport const defaultContextValue: PortalContextValue = {\n version: 0.0,\n boundaryElement: null,\n get element() {\n if (typeof document === 'undefined') {\n return null\n }\n\n if (globalScope[elementKey]) {\n return globalScope[elementKey]\n }\n\n globalScope[elementKey] = document.createElement('div')\n globalScope[elementKey].setAttribute('data-portal', '')\n\n document.body.appendChild(globalScope[elementKey])\n\n return globalScope[elementKey]\n },\n}\n\nexport const PortalContext = createGlobalScopedContext<PortalContextValue>(key, defaultContextValue)\n","import {useContext} from 'react'\n\nimport {isRecord} from '../../lib/isRecord'\nimport {PortalContext} from './portalContext'\nimport {PortalContextValue} from './types'\n\n/**\n * @public\n */\nexport function usePortal(): PortalContextValue {\n const value = useContext(PortalContext)\n\n if (!value) {\n throw new Error('usePortal(): missing context value')\n }\n\n // NOTE: This check is for future-compatiblity\n // - If the value is not an object, it’s not compatible with the current version\n // - If the value is an object, but doesn’t have `version: 0.0`, it’s not compatible with the current version\n if (!isRecord(value) || value.version !== 0.0) {\n throw new Error('usePortal(): the context value is not compatible')\n }\n\n return value\n}\n","import {createElement, ReactNode, ReactPortal} from 'react'\nimport {createPortal} from 'react-dom'\n\nimport {CardProvider, useCard} from '../../primitives'\nimport {usePortal} from './usePortal'\n\n/**\n * @public\n */\nexport interface PortalProps {\n children: ReactNode\n /**\n * @beta This API might change. DO NOT USE IN PRODUCTION.\n */\n __unstable_name?: string\n}\n\n/**\n * @public\n */\nexport function Portal(props: PortalProps): ReactPortal | null {\n const {children, __unstable_name: name} = props\n const card = useCard()\n const portal = usePortal()\n const portalElement =\n (name ? portal.elements && portal.elements[name] : portal.element) || portal.elements?.default\n\n if (!portalElement) {\n return null\n }\n\n return createPortal(\n createElement(\n CardProvider,\n {\n rendered: true,\n tone: 'transparent', // card?.tone || 'default',\n scheme: card?.scheme || 'light',\n },\n children,\n ),\n portalElement,\n )\n}\n\nPortal.displayName = 'Portal'\n","import {ReactElement, ReactNode, useMemo, useRef, useSyncExternalStore} from 'react'\n\nimport {PortalContext} from './portalContext'\nimport {PortalContextValue} from './types'\n\n/**\n * @public\n */\nexport interface PortalProviderProps {\n /**\n * @deprecated Use `<BoundaryElementProvider element={...} />` instead\n */\n boundaryElement?: HTMLElement | null\n children: ReactNode\n element?: HTMLElement | null\n /**\n * @beta\n */\n __unstable_elements?: Record<string, HTMLElement | null | undefined>\n}\n\n/**\n * @public\n */\nexport function PortalProvider(props: PortalProviderProps): ReactElement {\n const {boundaryElement, children, element, __unstable_elements: elementsProp} = props\n const elements = useUnique(elementsProp)\n const fallbackElement = useSyncExternalStore(\n emptySubscribe,\n () => document.body,\n () => null,\n )\n\n const value: PortalContextValue = useMemo(() => {\n return {\n version: 0.0,\n boundaryElement: boundaryElement || null,\n element: element || fallbackElement,\n elements,\n }\n }, [boundaryElement, element, elements, fallbackElement])\n\n return <PortalContext.Provider value={value}>{children}</PortalContext.Provider>\n}\n\nPortalProvider.displayName = 'PortalProvider'\n\nconst emptySubscribe = () => () => {}\n\n/**\n * This is a React hook to make sure that a record identity is the same on every render. Uses strict\n * equality comparison (eg by identity), and only goes one level deep.\n */\nfunction useUnique<ValueType extends Comparable = Comparable>(value: ValueType): ValueType {\n const valueRef = useRef<ValueType>(value)\n\n if (!_isEqual(valueRef.current, value)) {\n valueRef.current = value\n }\n\n return valueRef.current\n}\n\nfunction _isEqual(objA: Comparable, objB: Comparable): boolean {\n if (!objA || !objB) {\n return objA === objB\n }\n\n const keysA = Object.keys(objA)\n const keysB = Object.keys(objB)\n\n if (keysA.length !== keysB.length) {\n return false\n }\n\n return keysA.every((key) => objA[key] === objB[key])\n}\n\ntype Comparable = Record<string | number | symbol, unknown> | undefined | null\n","import {composeClassNames, srOnly} from '@sanity/ui/css'\nimport {ForwardedRef, forwardRef, ReactNode} from 'react'\n\nimport {Props} from '../../types'\n\n/**\n * @public\n */\nexport interface SrOnlyProps {\n children?: ReactNode\n}\n\n/**\n * @public\n */\nexport const SrOnly = forwardRef(function SrOnly(\n props: Props<SrOnlyProps, 'div'>,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const {as: As = 'div', children, className, ...rest} = props\n\n return (\n <As\n data-ui=\"SrOnly\"\n {...rest}\n aria-hidden\n className={composeClassNames(className, srOnly())}\n ref={ref}\n >\n {children}\n </As>\n )\n})\n\nSrOnly.displayName = 'ForwardRef(SrOnly)'\n","import {\n ForwardedRef,\n forwardRef,\n ReactElement,\n ReactNode,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react'\n\nimport {useTheme_v2} from '../../_compat'\nimport {_isScrollable} from '../../helpers'\nimport {_ResizeObserver} from '../../observers'\nimport {Box, StackProps} from '../../primitives'\nimport {Props} from '../../types'\n\n/**\n * @beta\n */\nexport interface VirtualListChangeOpts {\n fromIndex: number\n gap: number\n itemHeight: number\n scrollHeight: number\n scrollTop: number\n toIndex: number\n}\n\n/**\n * @beta\n */\nexport interface VirtualListProps<Item = any> extends Omit<StackProps, 'gap'> {\n gap?: number\n getItemKey?: (item: Item, itemIndex: number) => string\n items?: Item[]\n onChange?: (opts: VirtualListChangeOpts) => void\n renderItem?: (item: Item) => ReactNode\n}\n\n/**\n * @beta\n */\nexport const VirtualList = forwardRef(function VirtualList(\n props: Props<VirtualListProps, 'div'>,\n forwardedRef: ForwardedRef<HTMLDivElement>,\n): ReactElement {\n const {as = 'div', gap = 0, getItemKey, items = [], onChange, renderItem, ...restProps} = props\n const {space} = useTheme_v2()\n const ref = useRef<HTMLDivElement | null>(null)\n const wrapperRef = useRef<HTMLDivElement | null>(null)\n const [scrollTop, setScrollTop] = useState(0)\n const [scrollHeight, setScrollHeight] = useState(0)\n const [itemHeight, setItemHeight] = useState(-1)\n\n // Sync ref to parent\n useImperativeHandle<HTMLDivElement | null, HTMLDivElement | null>(forwardedRef, () => ref.current)\n\n useEffect(() => {\n if (!wrapperRef.current) return\n\n const firstElement = wrapperRef.current.firstChild\n\n if (firstElement instanceof HTMLElement) {\n setItemHeight(firstElement.offsetHeight)\n }\n }, [renderItem])\n\n useEffect((): (() => void) | undefined => {\n if (!ref.current) return\n\n const scrollEl = findScrollable(ref.current.parentNode)\n\n if (scrollEl) {\n if (!(scrollEl instanceof HTMLElement)) return\n\n const handleScroll = () => {\n setScrollTop(scrollEl.scrollTop)\n }\n\n scrollEl.addEventListener('scroll', handleScroll, {passive: true})\n\n const ro = new _ResizeObserver((entries) => {\n setScrollHeight(entries[0].contentRect.height)\n })\n\n ro.observe(scrollEl)\n\n handleScroll()\n\n return () => {\n scrollEl.removeEventListener('scroll', handleScroll)\n\n ro.unobserve(scrollEl)\n ro.disconnect()\n }\n }\n\n const handleScroll = () => {\n setScrollTop(window.scrollY)\n }\n\n const handleResize = () => {\n setScrollHeight(window.innerHeight)\n }\n\n window.addEventListener('scroll', handleScroll, {passive: true})\n window.addEventListener('resize', handleResize)\n\n setScrollHeight(window.innerHeight)\n\n handleScroll()\n\n return () => {\n window.removeEventListener('scroll', handleScroll)\n window.removeEventListener('resize', handleResize)\n }\n }, [])\n\n const len = items.length\n const height = itemHeight ? len * (itemHeight + space[gap]) - space[gap] : 0\n const fromIndex = height ? Math.max(Math.floor((scrollTop / height) * len) - 2, 0) : 0\n const toIndex = height ? Math.ceil(((scrollTop + scrollHeight) / height) * len) + 1 : 0\n\n useEffect(() => {\n if (!onChange) return\n onChange({fromIndex, gap: space[gap], itemHeight, scrollHeight, scrollTop, toIndex})\n }, [fromIndex, gap, itemHeight, onChange, scrollHeight, scrollTop, space, toIndex])\n\n const children = useMemo(() => {\n if (!renderItem || items.length === 0) return null\n\n if (itemHeight === -1) {\n return [\n <Box insetTop={0} insetLeft={0} insetRight={0} key={0} position=\"absolute\">\n {renderItem(items[0])}\n </Box>,\n ]\n }\n\n return items.slice(fromIndex, toIndex).map((item, _itemIndex) => {\n const itemIndex = fromIndex + _itemIndex\n const node = renderItem(item)\n const key = getItemKey ? getItemKey(item, itemIndex) : itemIndex\n\n return (\n <Box\n insetLeft={0}\n insetRight={0}\n key={key}\n position=\"absolute\"\n style={{top: itemIndex * (itemHeight + space[gap])}}\n >\n {node}\n </Box>\n )\n })\n }, [fromIndex, gap, getItemKey, itemHeight, items, renderItem, space, toIndex])\n\n const wrapperStyle = useMemo(() => ({height}), [height])\n\n return (\n <Box\n // Root\n as={as}\n data-ui=\"VirtualList\"\n {...restProps}\n position=\"relative\"\n ref={ref}\n >\n <div ref={wrapperRef} style={wrapperStyle}>\n {children}\n </div>\n </Box>\n )\n})\n\nVirtualList.displayName = 'ForwardRef(VirtualList)'\n\nfunction findScrollable(parentNode: ParentNode | null) {\n let _scrollEl = parentNode\n\n while (_scrollEl && !_isScrollable(_scrollEl)) {\n _scrollEl = _scrollEl.parentNode\n }\n\n return _scrollEl\n}\n","import {Placement, PopoverMargins} from '../../types'\n\nexport const DEFAULT_POPOVER_DISTANCE = 4\nexport const DEFAULT_POPOVER_PADDING = 4\nexport const DEFAULT_POPOVER_ARROW_WIDTH = 19\nexport const DEFAULT_POPOVER_ARROW_HEIGHT = 8\nexport const DEFAULT_POPOVER_ARROW_RADIUS = 2\nexport const DEFAULT_POPOVER_MARGINS: PopoverMargins = [0, 0, 0, 0]\nexport const DEFAULT_FALLBACK_PLACEMENTS: Record<Placement, Placement[]> = {\n 'top': ['bottom', 'left', 'right'],\n 'top-start': ['bottom-start', 'left-start', 'right-start'],\n 'top-end': ['bottom-end', 'left-end', 'right-end'],\n 'bottom': ['top', 'left', 'right'],\n 'bottom-start': ['top-start', 'left-start', 'right-start'],\n 'bottom-end': ['top-end', 'left-end', 'right-end'],\n 'left': ['right', 'top', 'bottom'],\n 'left-start': ['right-start', 'top-start', 'bottom-start'],\n 'left-end': ['right-end', 'top-end', 'bottom-end'],\n 'right': ['left', 'top', 'bottom'],\n 'right-start': ['left-start', 'top-start', 'bottom-start'],\n 'right-end': ['left-end', 'top-end', 'bottom-end'],\n}\n","import {detectOverflow, Elements, Middleware} from '@floating-ui/react-dom'\n\nimport {PopoverMargins} from '../../../types'\n\nexport interface SizeMiddlewareApplyOptions {\n availableWidth: number\n availableHeight: number\n elements: Elements\n referenceWidth: number\n}\n\nexport function size(options: {\n apply: (args: SizeMiddlewareApplyOptions) => void\n boundaryElement?: HTMLElement | null\n constrainSize: boolean\n margins: PopoverMargins\n matchReferenceWidth?: boolean\n padding?: number\n}): Middleware {\n const {apply, margins, padding = 0} = options\n\n return {\n name: '@sanity/ui/size',\n async fn(args) {\n const {elements, placement, platform, rects} = args\n const {floating, reference} = rects\n\n const overflow = await detectOverflow(args, {\n altBoundary: true,\n boundary: options.boundaryElement || undefined,\n elementContext: 'floating',\n padding,\n rootBoundary: 'viewport',\n })\n\n let maxWidth = Infinity\n let maxHeight = Infinity\n\n const floatingW = floating.width\n const floatingH = floating.height\n\n if (placement.includes('top')) {\n maxWidth = floatingW - (overflow.left + overflow.right)\n maxHeight = floatingH - overflow.top\n }\n\n if (placement.includes('right')) {\n maxWidth = floatingW - overflow.right\n maxHeight = floatingH - (overflow.top + overflow.bottom)\n }\n\n if (placement.includes('bottom')) {\n maxWidth = floatingW - (overflow.left + overflow.right)\n maxHeight = floatingH - overflow.bottom\n }\n\n if (placement.includes('left')) {\n maxWidth = floatingW - overflow.left\n maxHeight = floatingH - (overflow.top + overflow.bottom)\n }\n\n // IMPORTANT – APPLY ELEMENT STYLES HERE\n // Elements need to be resized BEFORE the `platform.getDimensions` call below\n apply({\n availableWidth: maxWidth - margins[1] - margins[3],\n availableHeight: maxHeight - margins[0] - margins[2],\n elements,\n referenceWidth: reference.width - margins[1] - margins[3],\n })\n\n const nextDimensions = await platform.getDimensions(elements.floating)\n\n const targetH = nextDimensions.height\n const targetW = nextDimensions.width\n\n if (floatingW !== targetW || floatingH !== targetH) {\n return {reset: {rects: true}}\n }\n\n return {}\n },\n }\n}\n","import {Strategy} from '@floating-ui/react-dom'\nimport {motion, MotionProps} from 'framer-motion'\nimport {CSSProperties, ForwardedRef, forwardRef, memo, useMemo} from 'react'\n\nimport {POPOVER_MOTION_PROPS} from '../../constants'\nimport {Placement, PopoverMargins, Props} from '../../types'\nimport {Arrow, useLayer} from '../../utils'\nimport {Card, CardProps} from '../card'\nimport {Flex} from '../flex'\nimport {\n DEFAULT_POPOVER_ARROW_HEIGHT,\n DEFAULT_POPOVER_ARROW_RADIUS,\n DEFAULT_POPOVER_ARROW_WIDTH,\n DEFAULT_POPOVER_MARGINS,\n} from './constants'\n\n/** @internal */\nexport interface PopoverCardProps extends CardProps {\n /** @beta*/\n __unstable_margins?: PopoverMargins\n animate?: boolean\n arrow: boolean\n arrowRef: ForwardedRef<HTMLDivElement>\n arrowX?: number\n arrowY?: number\n originX?: number\n originY?: number\n placement: Placement\n referenceWidth?: number\n strategy: Strategy\n x: number | null\n y: number | null\n}\n\nconst MotionCard = motion.create(Card)\n\n/**\n * @internal\n */\nexport const PopoverCard = memo(\n forwardRef(function PopoverCard(\n props: Props<PopoverCardProps, 'div'>,\n ref: ForwardedRef<HTMLDivElement>,\n ) {\n const {\n __unstable_margins: marginsProp,\n animate,\n arrow,\n arrowRef,\n arrowX,\n arrowY,\n children,\n maxWidth,\n padding,\n placement,\n originX,\n originY,\n overflow,\n radius,\n referenceWidth,\n scheme,\n shadow,\n strategy,\n style,\n tone,\n // width,\n x: xProp,\n y: yProp,\n ...restProps\n } = props\n\n const layer = useLayer()\n\n // Get margins: [top, right, bottom, left]\n const margins: PopoverMargins = useMemo(\n () => marginsProp || DEFAULT_POPOVER_MARGINS,\n [marginsProp],\n )\n\n // Translate according to margins\n const x = (xProp ?? 0) + margins[3]\n const y = (yProp ?? 0) + margins[0]\n\n const rootStyle: CSSProperties = useMemo(\n () => ({\n left: x,\n originX,\n originY,\n position: strategy,\n top: y,\n width: referenceWidth,\n zIndex: layer.zIndex ?? 100,\n willChange: animate ? 'transform' : undefined,\n ...style,\n }),\n [animate, layer.zIndex, originX, originY, referenceWidth, strategy, style, x, y],\n )\n\n const arrowStyle: CSSProperties = useMemo(\n () => ({\n left: arrowX !== null ? arrowX : undefined,\n top: arrowY !== null ? arrowY : undefined,\n right: undefined,\n bottom: undefined,\n }),\n [arrowX, arrowY],\n )\n\n return (\n <MotionCard\n className=\"popover-card\"\n data-ui=\"Popover\"\n {...(restProps as CardProps & MotionProps)}\n data-placement={placement}\n direction=\"column\"\n display=\"flex\"\n radius={radius}\n ref={ref}\n scheme={scheme}\n shadow={shadow}\n sizing=\"border\"\n style={rootStyle}\n tone={tone}\n variants={POPOVER_MOTION_PROPS.card}\n transition={POPOVER_MOTION_PROPS.transition}\n initial={animate ? ['hidden', 'initial'] : undefined}\n animate={animate ? ['visible', 'scaleIn'] : undefined}\n exit={animate ? ['hidden', 'scaleOut'] : undefined}\n >\n <Flex\n data-ui=\"Popover__wrapper\"\n direction=\"column\"\n flex={1}\n maxWidth={maxWidth}\n overflow={overflow}\n >\n <Flex direction=\"column\" flex={1} padding={padding}>\n {children}\n </Flex>\n </Flex>\n\n {arrow && (\n <Arrow\n ref={arrowRef}\n style={arrowStyle}\n width={DEFAULT_POPOVER_ARROW_WIDTH}\n height={DEFAULT_POPOVER_ARROW_HEIGHT}\n radius={DEFAULT_POPOVER_ARROW_RADIUS}\n />\n )}\n </MotionCard>\n )\n }),\n)\nPopoverCard.displayName = 'Memo(ForwardRef(PopoverCard))'\n","import {\n arrow,\n autoUpdate,\n flip,\n hide,\n Middleware,\n offset,\n RootBoundary,\n shift,\n useFloating,\n} from '@floating-ui/react-dom'\nimport {AnimatePresence} from 'framer-motion'\nimport {\n cloneElement,\n ForwardedRef,\n forwardRef,\n memo,\n MutableRefObject,\n ReactElement,\n ReactNode,\n RefCallback,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n} from 'react'\n\n// import {useTheme_v2} from '../../_compat'\nimport {\n useArrayProp,\n // useElementSize,\n // useMediaIndex,\n usePrefersReducedMotion,\n} from '../../hooks'\nimport {origin} from '../../middleware/origin'\nimport {Placement, PopoverMargins, Props} from '../../types'\nimport {LayerProps, LayerProvider, Portal, useBoundaryElement, useLayer} from '../../utils'\nimport {CardProps} from '../card'\nimport {\n DEFAULT_FALLBACK_PLACEMENTS,\n DEFAULT_POPOVER_DISTANCE,\n DEFAULT_POPOVER_MARGINS,\n DEFAULT_POPOVER_PADDING,\n} from './constants'\nimport {size} from './floating-ui/size'\n// import {calcCurrentWidth, calcMaxWidth} from './helpers'\nimport {PopoverCard} from './popoverCard'\nimport {PopoverUpdateCallback} from './types'\n\n/** @public */\nexport interface PopoverProps extends CardProps, LayerProps {\n /** @beta */\n __unstable_margins?: PopoverMargins\n /**\n * Whether the popover should animate in and out.\n *\n * @beta\n * @defaultValue false\n */\n animate?: boolean\n arrow?: boolean\n /** @deprecated Use `floatingBoundary` and/or `referenceBoundary` instead */\n boundaryElement?: HTMLElement | null\n children?: ReactElement<{ref: ForwardedRef<HTMLElement>}>\n /**\n * When `true`, prevent overflow within the current boundary:\n * - by flipping on its side axis\n * - by resizing\n /*\n * Note that:\n * - setting `preventOverflow` to `true` also prevents overflow on its side axis\n * - setting `matchReferenceWidth` to `true` also causes the popover to resize\n *\n * @defaultValue false\n */\n constrainSize?: boolean\n content?: ReactNode\n disabled?: boolean\n fallbackPlacements?: Placement[]\n floatingBoundary?: HTMLElement | null\n /**\n * When `true`, set the maximum width to match the reference element, and also prevent overflow within\n * the current boundary by resizing.\n *\n * Note that setting `constrainSize` to `true` also causes the popover to resize\n *\n * @defaultValue false\n */\n matchReferenceWidth?: boolean\n /**\n * When true, blocks all pointer interaction with elements beneath the popover until closed.\n *\n * @beta\n * @defaultValue false\n */\n modal?: boolean\n open?: boolean\n placement?: Placement\n /** Whether or not to render the popover in a portal element. */\n portal?: boolean | string\n preventOverflow?: boolean\n referenceBoundary?: HTMLElement | null\n /**\n * When defined, the popover will be positioned relative to this element.\n * The children of the popover won't be rendered.\n */\n referenceElement?: HTMLElement | null\n /** @beta */\n updateRef?:\n | MutableRefObject<PopoverUpdateCallback | undefined>\n | RefCallback<PopoverUpdateCallback | undefined>\n}\n\nconst ViewportOverlay = () => {\n const {zIndex} = useLayer()\n\n return <div style={{height: '100vh', inset: 0, position: 'fixed', width: '100vw', zIndex}} />\n}\n\n/**\n * The `Popover` component is used to display some content on top of another.\n *\n * @public\n */\nexport const Popover = memo(\n forwardRef(function Popover(\n props: Props<PopoverProps, 'div'>,\n forwardedRef: ForwardedRef<HTMLDivElement>,\n ): ReactElement {\n // const {container, layer} = useTheme_v2()\n const boundaryElementContext = useBoundaryElement()\n\n const {\n __unstable_margins: margins = DEFAULT_POPOVER_MARGINS,\n animate: _animate = false,\n arrow: arrowProp = false,\n boundaryElement = boundaryElementContext.element,\n children: childProp,\n constrainSize = false,\n content,\n disabled,\n fallbackPlacements = props.fallbackPlacements ??\n DEFAULT_FALLBACK_PLACEMENTS[props.placement ?? 'bottom'],\n matchReferenceWidth,\n floatingBoundary = props.boundaryElement ?? boundaryElementContext.element,\n modal,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n onActivate,\n open,\n overflow = 'hidden',\n padding,\n placement: placementProp = 'bottom',\n portal,\n preventOverflow = true,\n radius = 3,\n referenceBoundary = props.boundaryElement ?? boundaryElementContext.element,\n referenceElement,\n scheme,\n shadow = 3,\n tone = 'inherit',\n width: widthProp = 'auto',\n // zOffset: zOffsetProp = layer.popover.zOffset,\n zOffset: zOffsetProp,\n updateRef,\n ...restProps\n } = props\n const prefersReducedMotion = usePrefersReducedMotion()\n const animate = prefersReducedMotion ? false : _animate\n // const boundarySize = useElementSize(boundaryElement)?.border\n // const padding = useArrayProp(paddingProp)\n // const radius = useArrayProp(radiusProp)\n // const shadow = useArrayProp(shadowProp)\n // const widthArrayProp = useArrayProp(widthProp)\n const zOffset = useArrayProp(zOffsetProp)\n const ref = useRef<HTMLDivElement | null>(null)\n const arrowRef = useRef<HTMLDivElement | null>(null)\n const rootBoundary: RootBoundary = 'viewport'\n\n useImperativeHandle<HTMLDivElement | null, HTMLDivElement | null>(\n forwardedRef,\n () => ref.current,\n )\n\n // const mediaIndex = useMediaIndex()\n // const boundaryWidth = constrainSize || preventOverflow ? boundarySize?.width : undefined\n\n // Update width when\n // - media index changes\n // - `width` property changes\n // const width = calcCurrentWidth({\n // container,\n // mediaIndex,\n // width: widthArrayProp,\n // })\n // const widthRef = useRef(width)\n\n // useEffect(() => {\n // widthRef.current = width\n // }, [width])\n\n // Update max width when\n // - boundary width changes\n // - `width` property changes\n // const maxWidth = calcMaxWidth({boundaryWidth, currentWidth: width})\n // const maxWidthRef = useRef(maxWidth)\n\n // useEffect(() => {\n // maxWidthRef.current = maxWidth\n // }, [maxWidth])\n\n // Keep track of reference element width (see `size` middleware below)\n const referenceWidthRef = useRef<number>(undefined)\n\n // // Force apply width & max width to floating element\n // useEffect(() => {\n // const floatingElement = ref.current\n\n // if (!open || !floatingElement) return\n\n // const referenceWidth = referenceWidthRef.current\n\n // if (matchReferenceWidth) {\n // if (referenceWidth !== undefined) {\n // floatingElement.style.width = `${referenceWidth}px`\n // }\n // } else if (width !== undefined) {\n // floatingElement.style.width = `${width}px`\n // }\n\n // if (typeof maxWidth === 'number') {\n // floatingElement.style.maxWidth = `${maxWidth}px`\n // }\n // }, [width, matchReferenceWidth, maxWidth, open])\n\n const middleware = useMemo(() => {\n const ret: Middleware[] = []\n\n // Flip the floating element when leaving the boundary box\n if (constrainSize || preventOverflow) {\n ret.push(\n flip({\n boundary: floatingBoundary || undefined,\n fallbackPlacements,\n padding: DEFAULT_POPOVER_PADDING,\n rootBoundary,\n }),\n )\n }\n\n // Define distance between reference and floating element\n ret.push(offset({mainAxis: DEFAULT_POPOVER_DISTANCE}))\n\n // Track sizes\n if (constrainSize || matchReferenceWidth) {\n ret.push(\n size({\n apply({availableWidth, availableHeight, elements, referenceWidth}) {\n // not fresh, so use refs\n\n referenceWidthRef.current = referenceWidth\n\n // const _currentWidth = widthRef.current\n // const _maxWidth = maxWidthRef.current\n\n if (matchReferenceWidth) {\n elements.floating.style.width = `${referenceWidth}px`\n }\n // else if (_currentWidth !== undefined) {\n // elements.floating.style.width = `${_currentWidth}px`\n // }\n\n if (constrainSize) {\n // elements.floating.style.maxWidth = `${Math.min(\n // availableWidth,\n // _maxWidth ?? Infinity,\n // )}px`\n\n elements.floating.style.maxWidth = `${availableWidth}px`\n elements.floating.style.maxHeight = `${availableHeight}px`\n }\n },\n boundaryElement: floatingBoundary || undefined,\n constrainSize,\n margins,\n matchReferenceWidth,\n padding: DEFAULT_POPOVER_PADDING,\n }),\n )\n }\n\n // Shift the popover so its sits within the boundary element\n if (preventOverflow) {\n ret.push(\n shift({\n boundary: floatingBoundary || undefined,\n rootBoundary,\n padding: DEFAULT_POPOVER_PADDING,\n }),\n )\n }\n\n // Place arrow\n if (arrowProp) {\n ret.push(\n arrow({\n element: arrowRef,\n padding: DEFAULT_POPOVER_PADDING,\n }),\n )\n }\n\n // Determine the origin to scale from.\n // Must be placed after `@sanity/ui/size` and `shift` middleware.\n if (animate) {\n ret.push(origin)\n }\n\n ret.push(\n hide({\n boundary: referenceBoundary || undefined,\n padding: DEFAULT_POPOVER_PADDING,\n strategy: 'referenceHidden',\n }),\n )\n\n return ret\n }, [\n animate,\n arrowProp,\n constrainSize,\n fallbackPlacements,\n floatingBoundary,\n margins,\n matchReferenceWidth,\n preventOverflow,\n referenceBoundary,\n ])\n\n const {x, y, middlewareData, placement, refs, strategy, update} = useFloating({\n middleware,\n placement: placementProp,\n whileElementsMounted: autoUpdate,\n elements: referenceElement\n ? {\n reference: referenceElement,\n }\n : undefined,\n })\n\n const referenceHidden = middlewareData.hide?.referenceHidden\n\n const arrowX = middlewareData.arrow?.x\n const arrowY = middlewareData.arrow?.y\n\n const originX = middlewareData['@sanity/ui/origin']?.originX\n const originY = middlewareData['@sanity/ui/origin']?.originY\n\n const setArrow = useCallback((arrowEl: HTMLDivElement | null) => {\n arrowRef.current = arrowEl\n }, [])\n\n const setFloating = useCallback(\n (node: HTMLDivElement | null) => {\n ref.current = node\n refs.setFloating(node)\n },\n [refs],\n )\n\n const setReference = useCallback(\n (node: HTMLElement | null) => {\n refs.setReference(node)\n\n const childRef = getElementRef(childProp as any)\n\n if (typeof childRef === 'function') {\n childRef(node)\n } else if (childRef) {\n childRef.current = node\n }\n },\n [childProp, refs],\n )\n\n const child = useMemo(() => {\n // If a reference element is defined, we don't need to clone the child\n if (referenceElement) return childProp\n\n if (!childProp) return null\n\n return cloneElement(childProp, {ref: setReference})\n }, [childProp, referenceElement, setReference])\n\n useEffect(() => {\n if (updateRef) {\n if (typeof updateRef === 'function') {\n updateRef(update)\n } else if (updateRef) {\n updateRef.current = update\n }\n }\n }, [update, updateRef])\n\n if (disabled) {\n return childProp || <></>\n }\n\n const popover = (\n <LayerProvider zOffset={zOffset}>\n {/* Optional transparent blocking overlay at the top-most z-index layer. Must be positioned before the below popover card. */}\n {modal && <ViewportOverlay />}\n\n <PopoverCard\n {...restProps}\n __unstable_margins={margins}\n animate={animate}\n arrow={arrowProp}\n arrowRef={setArrow}\n arrowX={arrowX}\n arrowY={arrowY}\n hidden={referenceHidden}\n maxWidth={widthProp}\n overflow={overflow}\n padding={padding}\n placement={placement}\n radius={radius}\n ref={setFloating}\n // referenceWidth={matchReferenceWidth ? referenceWidthRef.current : width}\n scheme={scheme}\n shadow={shadow}\n originX={originX}\n originY={originY}\n strategy={strategy}\n tone={tone}\n x={x}\n y={y}\n >\n {content}\n </PopoverCard>\n </LayerProvider>\n )\n\n const children =\n open &&\n (portal ? (\n <Portal __unstable_name={typeof portal === 'string' ? portal : undefined}>{popover}</Portal>\n ) : (\n popover\n ))\n\n return (\n <>\n {/* the popover */}\n {animate ? <AnimatePresence>{children}</AnimatePresence> : children}\n\n {/* the referred element */}\n {child}\n </>\n )\n }),\n)\n\nPopover.displayName = 'Memo(ForwardRef(Popover))'\n\n// Before React 19 accessing `element.props.ref` will throw a warning and suggest using `element.ref`\n// After React 19 accessing `element.ref` does the opposite.\n// https://github.com/facebook/react/pull/28348\n//\n// Access the ref using the method that doesn't yield a warning.\nfunction getElementRef(\n element: ReactElement<{ref: ForwardedRef<HTMLElement>}>,\n): ForwardedRef<HTMLElement> {\n // React <=18 in DEV\n let getter = Object.getOwnPropertyDescriptor(element.props, 'ref')?.get\n let mayWarn = getter && 'isReactWarning' in getter && getter.isReactWarning\n\n if (mayWarn) {\n return (element as any).ref\n }\n\n // React 19 in DEV\n getter = Object.getOwnPropertyDescriptor(element, 'ref')?.get\n mayWarn = getter && 'isReactWarning' in getter && getter.isReactWarning\n\n if (mayWarn) {\n return element.props.ref\n }\n\n // Not DEV\n return element.props.ref || (element as any).ref\n}\n","import {composeClassNames, radio} from '@sanity/ui/css'\nimport {ForwardedRef, forwardRef, useImperativeHandle, useRef} from 'react'\n\nimport {useCustomValidity} from '../../hooks'\nimport {Props} from '../../types'\n\n/**\n * @public\n */\nexport interface RadioProps {\n customValidity?: string\n}\n\n/**\n * The `Radio` component allows the user to select one option from a set.\n *\n * @public\n */\nexport const Radio = forwardRef(function Radio(\n props: Props<RadioProps, 'input'>,\n forwardedRef: ForwardedRef<HTMLInputElement>,\n) {\n const {className, disabled, style, customValidity, readOnly, ...restProps} = props\n const ref = useRef<HTMLInputElement | null>(null)\n\n useImperativeHandle<HTMLInputElement | null, HTMLInputElement | null>(\n forwardedRef,\n () => ref.current,\n )\n\n useCustomValidity(ref, customValidity)\n\n return (\n <div className={composeClassNames(className, radio())} data-ui=\"Radio\" style={style}>\n <input\n data-read-only={!disabled && readOnly ? '' : undefined}\n data-error={customValidity ? '' : undefined}\n {...restProps}\n disabled={disabled || readOnly}\n readOnly={readOnly}\n ref={ref}\n type=\"radio\"\n />\n <span />\n </div>\n )\n})\n\nRadio.displayName = 'ForwardRef(Radio)'\n","import {ChevronDownIcon} from '@sanity/icons'\nimport {\n _inputElement,\n ResponsiveProp,\n select,\n selectPresentation,\n SelectStyleProps,\n} from '@sanity/ui/css'\nimport {Space} from '@sanity/ui/theme'\nimport {ForwardedRef, forwardRef, useImperativeHandle, useRef} from 'react'\n\nimport {useCustomValidity} from '../../hooks'\nimport {Props} from '../../types'\nimport {Box} from '../box'\nimport {Text} from '../text'\n\n/**\n * @public\n */\nexport interface SelectProps extends SelectStyleProps {\n customValidity?: string\n readOnly?: boolean\n /** @deprecated Use `gap` instead. */\n space?: ResponsiveProp<Space>\n}\n\n/**\n * The `Select` component provides control of options.\n *\n * @public\n */\nexport const Select = forwardRef(function Select(\n props: Props<SelectProps, 'select'>,\n forwardedRef: ForwardedRef<HTMLSelectElement>,\n) {\n const {\n border = true,\n children,\n customValidity,\n disabled,\n fontSize = 1,\n gap,\n padding = 2,\n radius = 2,\n readOnly,\n space = 2,\n ...restProps\n } = props\n\n const ref = useRef<HTMLSelectElement | null>(null)\n\n useImperativeHandle<HTMLSelectElement | null, HTMLSelectElement | null>(\n forwardedRef,\n () => ref.current,\n )\n\n useCustomValidity(ref, customValidity)\n\n return (\n <div\n data-ui=\"Select\"\n className={select({border, fontSize, padding, radius, gap: gap ?? space})}\n data-icon-right=\"\"\n >\n <select\n data-read-only={!disabled && readOnly ? '' : undefined}\n {...restProps}\n className={_inputElement()}\n disabled={disabled || readOnly}\n ref={ref}\n >\n {children}\n </select>\n <span className={selectPresentation()}>\n <Box as=\"span\" display=\"inline-block\" padding={padding}>\n <Text size={fontSize}>\n <ChevronDownIcon />\n </Text>\n </Box>\n </span>\n </div>\n )\n})\n\nSelect.displayName = 'ForwardRef(Select)'\n","import {ResponsiveProp} from '@sanity/ui/css'\nimport {Space} from '@sanity/ui/theme'\nimport {ForwardedRef, forwardRef} from 'react'\n\nimport {Props} from '../../types'\nimport {Box, BoxProps} from '../box'\n\n/**\n * @public\n */\nexport interface StackProps extends Omit<BoxProps, 'direction' | 'display' | 'gapX' | 'gapY'> {\n /** @deprecated Use `gap` instead. */\n space?: ResponsiveProp<Space>\n}\n\n/**\n * The `Stack` component is used to place elements on top of each other.\n *\n * @public\n */\nexport const Stack = forwardRef(function Stack(\n props: Props<StackProps, 'div'>,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const {as, gap, space, ...restProps} = props\n\n return (\n <Box\n data-ui=\"Stack\"\n {...restProps}\n as={as}\n direction=\"column\"\n display=\"flex\"\n gap={gap ?? space}\n ref={ref}\n />\n )\n})\n\nStack.displayName = 'ForwardRef(Stack)'\n","import {\n _switch,\n _switchElement,\n _switchPresentation,\n _switchThumb,\n _switchTrack,\n composeClassNames,\n} from '@sanity/ui/css'\nimport {ForwardedRef, forwardRef, useEffect, useImperativeHandle, useRef} from 'react'\n\nimport {Props} from '../../types'\nimport {Box} from '../box'\n\n/**\n * @public\n */\nexport interface SwitchProps {\n indeterminate?: boolean\n}\n\n/**\n * The `Switch` component allows the user to toggle a setting on and off.\n *\n * Extends all properties of an `<input type=\"checkbox\" />` element, except type.\n *\n * @public\n */\nexport const Switch = forwardRef(function Switch(\n props: Props<SwitchProps, 'input'>,\n forwardedRef: ForwardedRef<HTMLInputElement>,\n) {\n const {checked, className, disabled, indeterminate, readOnly, style, ...restProps} = props\n const ref = useRef<HTMLInputElement | null>(null)\n\n useImperativeHandle<HTMLInputElement | null, HTMLInputElement | null>(\n forwardedRef,\n () => ref.current,\n )\n\n useEffect(() => {\n if (ref.current) {\n // Set the indeterminate state\n ref.current.indeterminate = indeterminate || false\n }\n }, [indeterminate])\n\n return (\n <Box\n className={composeClassNames(className, _switch())}\n data-checked={checked ? '' : undefined}\n data-indeterminate={indeterminate ? '' : undefined}\n data-ui=\"Switch\"\n display=\"inline-block\"\n position=\"relative\"\n style={style}\n >\n <input\n {...restProps}\n checked={indeterminate !== true && checked}\n className={_switchElement()}\n data-disabled={disabled ? '' : undefined}\n data-read-only={!disabled && readOnly ? '' : undefined}\n disabled={disabled || readOnly}\n type=\"checkbox\"\n ref={ref}\n />\n <span aria-hidden className={_switchPresentation()}>\n <span className={_switchTrack()} />\n <span className={_switchThumb()} />\n </span>\n </Box>\n )\n})\n\nSwitch.displayName = 'ForwardRef(Switch)'\n","import {\n _inputElement,\n _inputPresentation,\n ResponsiveProp,\n textArea,\n TextAreaStyleProps,\n} from '@sanity/ui/css'\nimport {Space, ThemeFontWeightKey} from '@sanity/ui/theme'\nimport {ForwardedRef, forwardRef, useImperativeHandle, useRef} from 'react'\n\nimport {useCustomValidity} from '../../hooks'\nimport {Props} from '../../types'\n\n/**\n * @public\n */\nexport interface TextAreaProps extends TextAreaStyleProps {\n /**\n * @beta\n */\n __unstable_disableFocusRing?: boolean\n customValidity?: string\n /** @deprecated Use `gap` instead. */\n space?: ResponsiveProp<Space>\n weight?: ThemeFontWeightKey\n}\n\n/**\n * A multiline text input.\n *\n * @public\n */\nexport const TextArea = forwardRef(function TextArea(\n props: Props<TextAreaProps, 'textarea'>,\n forwardedRef: ForwardedRef<HTMLTextAreaElement>,\n) {\n const {\n border = true,\n customValidity,\n disabled = false,\n fontSize = 2,\n gap,\n padding = 3,\n radius = 2,\n space = 3,\n // weight,\n // __unstable_disableFocusRing,\n ...restProps\n } = props\n\n const ref = useRef<HTMLTextAreaElement | null>(null)\n\n useImperativeHandle<HTMLTextAreaElement | null, HTMLTextAreaElement | null>(\n forwardedRef,\n () => ref.current,\n )\n\n useCustomValidity(ref, customValidity)\n\n return (\n <span\n className={textArea({border, fontSize, padding, radius, gap: gap ?? space})}\n data-ui=\"TextArea\"\n >\n <textarea {...restProps} className={_inputElement()} disabled={disabled} ref={ref} />\n <span className={_inputPresentation()} />\n </span>\n )\n})\n\nTextArea.displayName = 'ForwardRef(TextArea)'\n","import {CloseIcon} from '@sanity/icons'\nimport {\n _inputElement,\n _inputPresentation,\n composeClassNames,\n InputStyleProps,\n ResponsiveProp,\n textInput,\n} from '@sanity/ui/css'\nimport {Space, ThemeFontWeightKey} from '@sanity/ui/theme'\nimport {\n CSSProperties,\n ElementType,\n ForwardedRef,\n forwardRef,\n isValidElement,\n MouseEvent,\n ReactNode,\n useCallback,\n useImperativeHandle,\n useMemo,\n useRef,\n} from 'react'\nimport {isValidElementType} from 'react-is'\n\nimport {EMPTY_RECORD} from '../../constants'\nimport {useArrayProp, useCustomValidity} from '../../hooks'\nimport {isRecord} from '../../lib/isRecord'\nimport {Props} from '../../types'\nimport {Box} from '../box'\nimport {Button, ButtonProps} from '../button'\nimport {Text} from '../text'\n\n/**\n * @public\n */\nexport type TextInputClearButtonProps = Omit<\n Props<ButtonProps, 'button'>,\n 'as' | 'onClick' | 'onMouseDown'\n>\n\n/**\n * @public\n */\nexport type TextInputType =\n | 'search'\n | 'date'\n | 'datetime-local'\n | 'email'\n | 'url'\n | 'month'\n | 'number'\n | 'password'\n | 'tel'\n | 'time'\n | 'text'\n | 'week'\n | 'color'\n\n/**\n * @public\n */\nexport interface TextInputProps extends InputStyleProps {\n /**\n * @beta\n */\n __unstable_disableFocusRing?: boolean\n /**\n * @beta\n */\n clearButton?: boolean | TextInputClearButtonProps\n customValidity?: string\n icon?: ElementType | ReactNode\n iconRight?: ElementType | ReactNode\n /**\n * @beta\n */\n onClear?: () => void\n prefix?: ReactNode\n /** @deprecated Use `gap` instead. */\n space?: ResponsiveProp<Space>\n suffix?: ReactNode\n type?: TextInputType\n weight?: ThemeFontWeightKey\n}\n\nconst CLEAR_BUTTON_BOX_STYLE: CSSProperties = {\n backgroundColor: 'transparent',\n top: 0,\n right: 0,\n zIndex: 2,\n}\n\n/**\n * Single line text input.\n *\n * @public\n */\nexport const TextInput = forwardRef(function TextInput(\n props: Props<TextInputProps, 'input'>,\n forwardedRef: ForwardedRef<HTMLInputElement>,\n) {\n const {\n __unstable_disableFocusRing,\n border = true,\n className,\n clearButton,\n disabled = false,\n fontSize = 1,\n gap,\n icon: IconComponent,\n iconRight: IconRightComponent,\n onClear,\n padding = 3,\n prefix,\n radius = 2,\n readOnly,\n space = 3,\n suffix,\n customValidity,\n type = 'text',\n weight: _width, // eslint-disable-line @typescript-eslint/no-unused-vars\n width,\n ...restProps\n } = props\n const ref = useRef<HTMLInputElement | null>(null)\n\n const paddingArray = useArrayProp(padding)\n\n const withClearButton = Boolean(clearButton)\n\n useImperativeHandle<HTMLInputElement | null, HTMLInputElement | null>(\n forwardedRef,\n () => ref.current,\n )\n\n useCustomValidity(ref, customValidity)\n\n // Prevent the clear button from taking the focus away from the input\n const handleClearMouseDown = useCallback((event: MouseEvent<HTMLButtonElement>) => {\n event.preventDefault()\n event.stopPropagation()\n }, [])\n\n const handleClearClick = useCallback(\n (event: MouseEvent<HTMLButtonElement>) => {\n event.preventDefault()\n event.stopPropagation()\n\n if (onClear) onClear()\n\n // Focus the input, in case focus has been lost when clicking the clear button\n ref.current?.focus()\n },\n [onClear, ref],\n )\n\n const clearButtonBoxPadding = useMemo(\n () =>\n paddingArray.map((v) => {\n if (v === 0) return 0\n if (v === 1) return 1\n if (v === 2) return 1\n\n return typeof v === 'number' ? v - 2 : 0\n }) as Space[],\n [paddingArray],\n )\n\n const clearButtonPadding = useMemo(\n () =>\n paddingArray.map((v) => {\n if (v === 0) return 0\n if (v === 1) return 0\n if (v === 2) return 1\n\n return typeof v === 'number' ? v - 1 : 0\n }) as Space[],\n [paddingArray],\n )\n\n const clearButtonProps: TextInputClearButtonProps = useMemo(\n () => (isRecord(clearButton) ? clearButton : EMPTY_RECORD),\n [clearButton],\n )\n\n return (\n <Box\n align=\"center\"\n as=\"span\"\n className={composeClassNames(\n className,\n textInput({\n border,\n fontSize,\n padding,\n radius,\n gap: gap ?? space,\n width,\n }),\n )}\n data-icon-left={IconComponent ? '' : undefined}\n data-icon-right={IconRightComponent ? '' : undefined}\n data-prefix={prefix ? '' : undefined}\n data-suffix={suffix ? '' : undefined}\n data-ui=\"TextInput\"\n display=\"flex\"\n >\n {prefix && (\n <Box as=\"span\" className=\"text-input-prefix\" sizing=\"border\">\n <span>{prefix}</span>\n </Box>\n )}\n\n <Box as=\"span\" flex={1} position=\"relative\">\n <input\n // data-as=\"input\"\n {...restProps}\n className={_inputElement()}\n disabled={disabled}\n readOnly={readOnly}\n ref={ref}\n type={type}\n />\n\n <Box\n as=\"span\"\n // $unstableDisableFocusRing={__unstable_disableFocusRing}\n className={_inputPresentation()}\n data-disable-focus-ring={__unstable_disableFocusRing ? '' : undefined}\n position=\"absolute\"\n >\n {IconComponent && (\n <Box as=\"span\" padding={padding} position=\"absolute\" style={{top: 0, left: 0}}>\n <Text size={fontSize}>\n {isValidElement(IconComponent) && IconComponent}\n {isValidElementType(IconComponent) && <IconComponent />}\n </Text>\n </Box>\n )}\n\n {!withClearButton && IconRightComponent && (\n <Box as=\"span\" padding={padding} position=\"absolute\" style={{top: 0, right: 0}}>\n <Text size={fontSize}>\n {isValidElement(IconRightComponent) && IconRightComponent}\n {isValidElementType(IconRightComponent) && <IconRightComponent />}\n </Text>\n </Box>\n )}\n </Box>\n\n {!disabled && !readOnly && clearButton && (\n <Box\n as=\"span\"\n padding={clearButtonBoxPadding}\n position=\"absolute\"\n style={CLEAR_BUTTON_BOX_STYLE}\n // tone={customValidity ? 'critical' : 'inherit'}\n >\n <Button\n aria-label=\"Clear\"\n data-qa=\"clear-button\"\n display=\"block\"\n fontSize={fontSize}\n icon={CloseIcon}\n mode=\"bleed\"\n padding={clearButtonPadding}\n radius={radius}\n {...clearButtonProps}\n onClick={handleClearClick}\n onMouseDown={handleClearMouseDown}\n />\n </Box>\n )}\n </Box>\n\n {suffix && (\n <Box as=\"span\" className=\"text-input-suffix\" sizing=\"border\">\n <span>{suffix}</span>\n </Box>\n )}\n </Box>\n )\n})\n\nTextInput.displayName = 'ForwardRef(TextInput)'\n","import {SetStateAction, useCallback, useRef, useState} from 'react'\n\n/**\n * @beta\n */\nexport function useDelayedState<S>(\n initialState: S | (() => S),\n): [S, (nextState: SetStateAction<S>, delay?: number) => void] {\n const [state, setState] = useState(initialState)\n const delayedAction = useRef<NodeJS.Timeout | undefined>(undefined)\n\n const onStateChange = useCallback((nextState: SetStateAction<S>, delay?: number) => {\n const action = () => {\n setState(nextState)\n }\n\n // A new state change has been initiated, cancel the previous one.\n if (delayedAction.current) {\n clearTimeout(delayedAction.current)\n delayedAction.current = undefined\n }\n\n if (!delay) return action()\n delayedAction.current = setTimeout(action, delay)\n }, [])\n\n return [state, onStateChange]\n}\n","// Based on https://github.com/radix-ui/primitives/blob/0bade6a704e5821b90a6da0f3d8cfa8a7711127d/packages/react/slot/src/Slot.tsx#L128-L150\n// Before React 19 accessing `element.props.ref` will throw a warning and suggest using `element.ref`\n// After React 19 accessing `element.ref` does the opposite.\n// https://github.com/facebook/react/pull/28348\n//\n// Access the ref using the method that doesn't yield a warning.\nexport function getElementRef(element: React.ReactElement) {\n // React <=18 in DEV\n let getter = Object.getOwnPropertyDescriptor(element.props, 'ref')?.get\n let mayWarn = getter && 'isReactWarning' in getter && getter.isReactWarning\n\n if (mayWarn) {\n return (element as any).ref\n }\n\n // React 19 in DEV\n getter = Object.getOwnPropertyDescriptor(element, 'ref')?.get\n mayWarn = getter && 'isReactWarning' in getter && getter.isReactWarning\n\n if (mayWarn) {\n return (element.props as {ref?: React.Ref<unknown>}).ref\n }\n\n // Not DEV\n return (element.props as {ref?: React.Ref<unknown>}).ref || (element as any).ref\n}\n","import {Placement} from '@floating-ui/react-dom'\n\nexport const DEFAULT_TOOLTIP_ARROW_WIDTH = 15\nexport const DEFAULT_TOOLTIP_ARROW_HEIGHT = 6\nexport const DEFAULT_TOOLTIP_ARROW_RADIUS = 2\n\nexport const DEFAULT_TOOLTIP_DISTANCE = 4\nexport const DEFAULT_TOOLTIP_PADDING = 4\n\nexport const DEFAULT_FALLBACK_PLACEMENTS: Record<Placement, Placement[]> = {\n 'top': ['top-end', 'top-start', 'bottom', 'left', 'right'],\n 'top-start': ['top', 'top-end', 'bottom-start', 'left-start', 'right-start'],\n 'top-end': ['top', 'top-start', 'bottom-end', 'left-end', 'right-end'],\n 'bottom': ['bottom-end', 'bottom-start', 'top', 'left', 'right'],\n 'bottom-start': ['bottom', 'bottom-end', 'top-start', 'left-start', 'right-start'],\n 'bottom-end': ['bottom', 'bottom-start', 'top-end', 'left-end', 'right-end'],\n 'left': ['left-end', 'left-start', 'right', 'top', 'bottom'],\n 'left-start': ['left', 'left-end', 'right-start', 'top-start', 'bottom-start'],\n 'left-end': ['left', 'left-start', 'right-end', 'top-end', 'bottom-end'],\n 'right': ['right-end', 'right-start', 'left', 'top', 'bottom'],\n 'right-start': ['right', 'right-end', 'left-start', 'top-start', 'bottom-start'],\n 'right-end': ['right', 'right-start', 'left-end', 'top-end', 'bottom-end'],\n}\n","import {tooltipCard} from '@sanity/ui/css'\nimport {motion} from 'framer-motion'\nimport {CSSProperties, ForwardedRef, forwardRef, memo, useMemo} from 'react'\n\nimport {POPOVER_MOTION_PROPS} from '../../constants'\nimport {Placement, Props} from '../../types'\nimport {Arrow} from '../../utils'\nimport {Card, CardProps} from '../card'\nimport {\n DEFAULT_TOOLTIP_ARROW_HEIGHT,\n DEFAULT_TOOLTIP_ARROW_RADIUS,\n DEFAULT_TOOLTIP_ARROW_WIDTH,\n} from './constants'\n\nconst MotionCard = motion.create(Card)\n\n/* @internal */\nexport interface TooltipCardProps extends CardProps {\n animate?: boolean\n arrow: boolean\n arrowRef: ForwardedRef<HTMLDivElement>\n arrowX?: number\n arrowY?: number\n originX?: number\n originY?: number\n placement?: Placement\n}\n\n/**\n * @internal\n */\nexport const TooltipCard = memo(\n forwardRef(function TooltipCard(\n props: Omit<\n Props<TooltipCardProps, 'div'>,\n 'onDrag' | 'onDragEnd' | 'onDragStart' | 'onAnimationStart'\n >,\n ref: ForwardedRef<HTMLDivElement>,\n ) {\n const {\n animate,\n arrow,\n arrowRef,\n arrowX,\n arrowY,\n children,\n originX,\n originY,\n padding,\n placement,\n radius,\n scheme,\n shadow,\n style,\n tone,\n ...restProps\n } = props\n\n const rootStyle: CSSProperties = useMemo(\n () => ({\n originX,\n originY,\n willChange: animate ? 'transform' : undefined,\n ...style,\n }),\n [animate, originX, originY, style],\n )\n\n const arrowStyle: CSSProperties = useMemo(\n () => ({\n left: arrowX !== null ? arrowX : undefined,\n top: arrowY !== null ? arrowY : undefined,\n right: undefined,\n bottom: undefined,\n }),\n [arrowX, arrowY],\n )\n\n return (\n <MotionCard\n data-ui=\"Tooltip__card\"\n {...restProps}\n data-animate={animate ? '' : undefined}\n className={tooltipCard()}\n data-placement={placement}\n padding={padding}\n radius={radius}\n ref={ref}\n scheme={scheme}\n shadow={shadow}\n style={rootStyle}\n variants={POPOVER_MOTION_PROPS.card}\n transition={POPOVER_MOTION_PROPS.transition}\n initial={animate ? ['hidden', 'initial'] : undefined}\n animate={animate ? ['visible', 'scaleIn'] : undefined}\n exit={animate ? ['hidden', 'scaleOut'] : undefined}\n tone={tone}\n >\n {children}\n\n {arrow && (\n <Arrow\n ref={arrowRef}\n style={arrowStyle}\n width={DEFAULT_TOOLTIP_ARROW_WIDTH}\n height={DEFAULT_TOOLTIP_ARROW_HEIGHT}\n radius={DEFAULT_TOOLTIP_ARROW_RADIUS}\n />\n )}\n </MotionCard>\n )\n }),\n)\n\nTooltipCard.displayName = 'Memo(ForwardRef(TooltipCard))'\n","import {createGlobalScopedContext} from '../../../lib/createGlobalScopedContext'\nimport {TooltipDelayGroupContextValue} from './types'\n\n/**\n * @beta\n */\nexport const TooltipDelayGroupContext =\n createGlobalScopedContext<TooltipDelayGroupContextValue | null>(\n '@sanity/ui/context/tooltipDelayGroup',\n null,\n )\n","import {ReactElement, ReactNode, useMemo} from 'react'\n\nimport {useDelayedState} from '../../../hooks/useDelayedState'\nimport {Delay} from '../../types'\nimport {TooltipDelayGroupContext} from './tooltipDelayGroupContext'\nimport {TooltipDelayGroupContextValue} from './types'\n\n/**\n * @public\n * */\nexport interface TooltipDelayGroupProviderProps {\n children?: ReactNode\n /**\n * Handles the delays to open or close a tooltip inside a group\n *\n * If only a `number` is passed, it will be used for both opening and closing.\n *\n * If an object `{open: number; close:number}` is passed, it can be used to set different delays for each action.\n *\n * @public\n */\n delay: Delay\n}\n\n/**\n * @public\n * Provides context for a group of tooltip elements that should share a delay\n * which temporarily becomes 1 ms after the first floating element of the group opens.\n */\nexport function TooltipDelayGroupProvider(props: TooltipDelayGroupProviderProps): ReactElement {\n const {children, delay} = props\n const [isGroupActive, setIsGroupActive] = useDelayedState(false)\n const [openTooltipId, setOpenTooltipId] = useDelayedState<string | null>(null)\n\n const openDelay = typeof delay === 'number' ? delay : delay?.open || 0\n const closeDelay = typeof delay === 'number' ? delay : delay?.close || 0\n\n const value: TooltipDelayGroupContextValue = useMemo(\n () => ({\n setIsGroupActive: setIsGroupActive,\n openTooltipId: openTooltipId,\n setOpenTooltipId: setOpenTooltipId,\n // When the group is active, we want the next tooltip to open immediately.\n openDelay: isGroupActive ? 1 : openDelay,\n closeDelay: closeDelay,\n }),\n [closeDelay, isGroupActive, openDelay, openTooltipId, setIsGroupActive, setOpenTooltipId],\n )\n\n return (\n <TooltipDelayGroupContext.Provider value={value}>{children}</TooltipDelayGroupContext.Provider>\n )\n}\n\nTooltipDelayGroupProvider.displayName = 'TooltipDelayGroupProvider'\n","import {useContext} from 'react'\n\nimport {TooltipDelayGroupContext} from './tooltipDelayGroupContext'\nimport {TooltipDelayGroupContextValue} from './types'\n\n/**\n * @beta\n */\nexport function useTooltipDelayGroup(): TooltipDelayGroupContextValue | null {\n const value = useContext(TooltipDelayGroupContext)\n\n return value\n}\n","import {\n arrow,\n autoUpdate,\n flip,\n type Middleware,\n offset,\n type RootBoundary,\n shift,\n useFloating,\n} from '@floating-ui/react-dom'\nimport {composeClassNames, RadiusStyleProps, ShadowStyleProps, tooltip} from '@sanity/ui/css'\nimport type {ThemeColorCardToneKey, ThemeColorSchemeKey} from '@sanity/ui/theme'\nimport {AnimatePresence} from 'framer-motion'\nimport {\n cloneElement,\n ForwardedRef,\n forwardRef,\n ReactElement,\n ReactNode,\n useCallback,\n useEffect,\n useId,\n useImperativeHandle,\n useLayoutEffect,\n useMemo,\n useRef,\n useState,\n} from 'react'\nimport {useEffectEvent} from 'use-effect-event'\n\nimport {useTheme_v2} from '../../_compat'\nimport {useArrayProp, usePrefersReducedMotion} from '../../hooks'\nimport {useDelayedState} from '../../hooks/useDelayedState'\nimport {origin} from '../../middleware/origin'\nimport type {Placement, Props} from '../../types'\nimport {Layer, type LayerProps, Portal, useBoundaryElement, usePortal} from '../../utils'\nimport {getElementRef} from '../../utils/getElementRef'\nimport type {Delay} from '../types'\nimport {\n DEFAULT_FALLBACK_PLACEMENTS,\n DEFAULT_TOOLTIP_DISTANCE,\n DEFAULT_TOOLTIP_PADDING,\n} from './constants'\nimport {TooltipCard} from './tooltipCard'\nimport {useTooltipDelayGroup} from './tooltipDelayGroup'\n\n/**\n * @public\n */\nexport interface TooltipProps extends Omit<LayerProps, 'as'>, RadiusStyleProps, ShadowStyleProps {\n /** @deprecated Use `fallbackPlacements` instead. */\n allowedAutoPlacements?: Placement[]\n /**\n * Whether the tooltip should animate in and out.\n *\n * @beta\n * @defaultValue false\n */\n animate?: boolean\n arrow?: boolean\n boundaryElement?: HTMLElement | null\n children?: ReactElement<Props>\n content?: ReactNode\n /**\n * Adds a delay to open or close the tooltip.\n *\n * If only a `number` is passed, it will be used for both opening and closing.\n *\n * If an object `{open: number; close:number}` is passed, it can be used to set different delays for each action.\n *\n * @public\n * @defaultValue 0\n */\n delay?: Delay\n disabled?: boolean\n fallbackPlacements?: Placement[]\n placement?: Placement\n /** Whether or not to render the tooltip in a portal element. */\n portal?: boolean | string\n scheme?: ThemeColorSchemeKey\n tone?: ThemeColorCardToneKey\n}\n\n/**\n * Tooltips display information when hovering, focusing or tapping.\n *\n * @public\n */\nexport const Tooltip = forwardRef(function Tooltip(\n props: Props<TooltipProps, 'div'>,\n forwardedRef: ForwardedRef<HTMLDivElement>,\n) {\n const boundaryElementContext = useBoundaryElement()\n const {layer} = useTheme_v2()\n const {\n animate: _animate = false,\n arrow: arrowProp = false,\n boundaryElement = boundaryElementContext?.element,\n children: childProp,\n className,\n content,\n delay,\n disabled,\n fallbackPlacements: fallbackPlacementsProp = props.fallbackPlacements ??\n DEFAULT_FALLBACK_PLACEMENTS[props.placement ?? 'bottom'],\n padding = 2,\n placement: placementProp = 'bottom',\n portal: portalProp,\n radius = 3,\n scheme,\n shadow = 2,\n zOffset = layer.tooltip.zOffset,\n tone,\n ...restProps\n } = props\n const prefersReducedMotion = usePrefersReducedMotion()\n const animate = prefersReducedMotion ? false : _animate\n const fallbackPlacements = useArrayProp(fallbackPlacementsProp)\n const ref = useRef<HTMLDivElement | null>(null)\n const [referenceElement, setReferenceElement] = useState<HTMLElement | null>(null)\n const arrowRef = useRef<HTMLDivElement | null>(null)\n const rootBoundary: RootBoundary = 'viewport'\n const [tooltipMaxWidth, setTooltipMaxWidth] = useState(0)\n\n useImperativeHandle<HTMLDivElement | null, HTMLDivElement | null>(forwardedRef, () => ref.current)\n\n const portal = usePortal()\n const portalElement =\n typeof portalProp === 'string' ? portal.elements?.[portalProp] || null : portal.element\n\n const middleware = useMemo(() => {\n const ret: Middleware[] = []\n\n // Flip the floating element when leaving the boundary box\n ret.push(\n flip({\n boundary: boundaryElement || undefined,\n fallbackPlacements,\n padding: DEFAULT_TOOLTIP_PADDING,\n rootBoundary,\n }),\n )\n\n // Define distance between reference and floating element\n ret.push(offset({mainAxis: DEFAULT_TOOLTIP_DISTANCE}))\n\n // Shift the tooltip so its sits with the boundary element\n ret.push(\n shift({\n boundary: boundaryElement || undefined,\n rootBoundary,\n padding: DEFAULT_TOOLTIP_PADDING,\n }),\n )\n\n // Place arrow\n if (arrowProp) {\n ret.push(arrow({element: arrowRef, padding: DEFAULT_TOOLTIP_PADDING}))\n }\n\n // Determine the origin to scale from.\n // Must be placed after `@sanity/ui/size` and `shift` middleware.\n if (animate) {\n ret.push(origin)\n }\n\n return ret\n }, [animate, arrowProp, boundaryElement, fallbackPlacements])\n\n const {floatingStyles, placement, middlewareData, refs, update} = useFloating({\n middleware,\n placement: placementProp,\n whileElementsMounted: autoUpdate,\n elements: {reference: referenceElement},\n })\n\n const arrowX = middlewareData.arrow?.x\n const arrowY = middlewareData.arrow?.y\n\n const originX = middlewareData['@sanity/ui/origin']?.originX\n const originY = middlewareData['@sanity/ui/origin']?.originY\n\n const tooltipId = useId()\n const [isOpen, setIsOpen] = useDelayedState(false)\n const delayGroupContext = useTooltipDelayGroup()\n const {setIsGroupActive, setOpenTooltipId} = delayGroupContext || {}\n const showTooltip = isOpen || delayGroupContext?.openTooltipId === tooltipId\n\n const isInsideGroup = delayGroupContext !== null\n const openDelayProp = typeof delay === 'number' ? delay : delay?.open || 0\n const closeDelayProp = typeof delay === 'number' ? delay : delay?.close || 0\n\n const openDelay = isInsideGroup ? delayGroupContext.openDelay : openDelayProp\n const closeDelay = isInsideGroup ? delayGroupContext.closeDelay : closeDelayProp\n\n const handleIsOpenChange = useCallback(\n (open: boolean, immediate?: boolean) => {\n if (isInsideGroup) {\n // When it's inside a group, the open or close status will be handled by the group.\n if (open) {\n const groupedOpenDelay = immediate ? 0 : openDelay\n\n setIsGroupActive?.(open, groupedOpenDelay)\n setOpenTooltipId?.(tooltipId, groupedOpenDelay)\n } else {\n const minimumGroupDeactivateDelay = 200 // We should provide some delay to allow the user to reach the next tooltip.\n const groupDeactivateDelay =\n closeDelay > minimumGroupDeactivateDelay ? closeDelay : minimumGroupDeactivateDelay\n\n setIsGroupActive?.(open, groupDeactivateDelay)\n setOpenTooltipId?.(null, immediate ? 0 : closeDelay)\n }\n } else {\n const standaloneDelay = immediate ? 0 : open ? openDelay : closeDelay\n\n // When it's not inside a group, the open or close status will be handled by the tooltip itself.\n setIsOpen(open, standaloneDelay)\n }\n },\n [\n isInsideGroup,\n openDelay,\n setIsGroupActive,\n setOpenTooltipId,\n tooltipId,\n closeDelay,\n setIsOpen,\n ],\n )\n\n const handleBlur = useCallback(\n (e: FocusEvent) => {\n handleIsOpenChange(false)\n childProp?.props?.onBlur?.(e)\n },\n [childProp?.props, handleIsOpenChange],\n )\n const handleClick = useCallback(\n (e: MouseEvent) => {\n handleIsOpenChange(false, true)\n childProp?.props.onClick?.(e)\n },\n [childProp?.props, handleIsOpenChange],\n )\n const handleContextMenu = useCallback(\n (e: MouseEvent) => {\n handleIsOpenChange(false, true)\n childProp?.props.onContextMenu?.(e)\n },\n [childProp?.props, handleIsOpenChange],\n )\n const handleFocus = useCallback(\n (e: FocusEvent) => {\n handleIsOpenChange(true)\n childProp?.props?.onFocus?.(e)\n },\n [childProp?.props, handleIsOpenChange],\n )\n const handleMouseEnter = useCallback(\n (e: MouseEvent) => {\n handleIsOpenChange(true)\n childProp?.props?.onMouseEnter?.(e)\n },\n [childProp?.props, handleIsOpenChange],\n )\n const handleMouseLeave = useCallback(\n (e: MouseEvent) => {\n handleIsOpenChange(false)\n childProp?.props?.onMouseLeave?.(e)\n },\n [childProp?.props, handleIsOpenChange],\n )\n\n // Handle closing the tooltip when the mouse leaves the referenceElement\n useCloseOnMouseLeave({handleIsOpenChange, referenceElement, showTooltip, isInsideGroup})\n\n // Close when `disabled` changes to `true`\n useEffect(() => {\n if (disabled && showTooltip) handleIsOpenChange(false)\n }, [disabled, handleIsOpenChange, showTooltip])\n\n // Close when `content` changes to falsy\n useEffect(() => {\n if (!content && showTooltip) handleIsOpenChange(false)\n }, [content, handleIsOpenChange, showTooltip])\n\n useEffect(() => {\n // If the user clicks on escape key, close the tooltip.\n if (!showTooltip) return\n\n function handleWindowKeyDown(event: KeyboardEvent) {\n if (event.key === 'Escape') {\n handleIsOpenChange(false, true)\n }\n }\n\n window.addEventListener('keydown', handleWindowKeyDown)\n\n return () => {\n window.removeEventListener('keydown', handleWindowKeyDown)\n }\n }, [handleIsOpenChange, showTooltip])\n\n // // Set the max width of the tooltip based on boundaries and portals\n useLayoutEffect(() => {\n // Get the maximum tooltip width (sans tooltip padding)\n // Tooltip width should never exceed the width of either any supplied boundary or portal element.\n // If both portal and boundary elements are provided, use the smaller width of the two.\n const availableWidths = [\n ...(boundaryElement ? [boundaryElement.offsetWidth] : []),\n portalElement?.offsetWidth || document.body.offsetWidth,\n ]\n\n setTooltipMaxWidth(Math.min(...availableWidths) - DEFAULT_TOOLTIP_PADDING * 2)\n }, [boundaryElement, portalElement])\n\n const setArrow = useCallback(\n (arrowEl: HTMLDivElement | null) => {\n arrowRef.current = arrowEl\n update()\n },\n [update],\n )\n\n const setFloating = useCallback(\n (node: HTMLDivElement | null) => {\n ref.current = node\n refs.setFloating(node)\n },\n [refs],\n )\n\n const child = useMemo(() => {\n if (!childProp) return null\n\n return cloneElement(childProp, {\n onBlur: handleBlur,\n onFocus: handleFocus,\n onMouseEnter: handleMouseEnter,\n onMouseLeave: handleMouseLeave,\n onClick: handleClick,\n onContextMenu: handleContextMenu,\n ref: setReferenceElement,\n })\n }, [\n childProp,\n handleBlur,\n handleClick,\n handleContextMenu,\n handleFocus,\n handleMouseEnter,\n handleMouseLeave,\n ])\n\n // If there's a child then we need to set the reference element to the cloned child ref\n // and if child changes we make sure to update or remove the reference element.\n useImperativeHandle(childProp ? getElementRef(childProp) : null, () => referenceElement, [\n referenceElement,\n ])\n\n if (!child) return <></>\n\n if (disabled) return child\n\n const node = (\n <Layer\n data-ui=\"Tooltip\"\n // {...restProps}\n className={composeClassNames(className, tooltip())}\n ref={setFloating}\n style={{\n ...floatingStyles,\n maxWidth: tooltipMaxWidth > 0 ? `${tooltipMaxWidth}px` : undefined,\n }}\n zOffset={zOffset}\n >\n <TooltipCard\n {...restProps}\n animate={animate}\n arrow={arrowProp}\n arrowRef={setArrow}\n arrowX={arrowX}\n arrowY={arrowY}\n originX={originX}\n originY={originY}\n padding={padding}\n placement={placement}\n radius={radius}\n ref={setFloating}\n scheme={scheme}\n shadow={shadow}\n tone={tone}\n >\n {content}\n </TooltipCard>\n </Layer>\n )\n\n const children =\n showTooltip &&\n (portalProp ? (\n <Portal __unstable_name={typeof portalProp === 'string' ? portalProp : undefined}>\n {node}\n </Portal>\n ) : (\n node\n ))\n\n return (\n <>\n {/* the tooltip */}\n {animate ? <AnimatePresence>{children}</AnimatePresence> : children}\n\n {/* the referred element */}\n {child}\n </>\n )\n})\n\nTooltip.displayName = 'ForwardRef(Tooltip)'\n\n/**\n * As `useEffectEvent` should never be passed to other components or hooks, this custom hook groups together the `useEffectEvent` and the `useEffect` hook using it.\n * @see https://19.dev/learn/separating-events-from-effects#reading-latest-props-and-state-with-effect-events:~:text=Never%20pass%20them%20to%20other%20components%20or%20Hooks\n */\nfunction useCloseOnMouseLeave({\n handleIsOpenChange,\n referenceElement,\n showTooltip,\n isInsideGroup,\n}: {\n handleIsOpenChange: (open: boolean, immediate?: boolean) => void\n referenceElement: HTMLElement | null\n showTooltip: boolean\n isInsideGroup: boolean\n}) {\n // Since we don't want the `mouseevent` events to be attached and removed if the `referenceElement` is changed\n // we use a \"effect event\" (https://19.dev/learn/separating-events-from-effects#reading-latest-props-and-state-with-effect-events)\n // in order to always see the latest `referenceElement` value inside the event handler itself.\n const onMouseMove = useEffectEvent((target: EventTarget | null, teardown: () => void) => {\n if (!referenceElement) return\n\n const isHoveringReference =\n referenceElement === target || (target instanceof Node && referenceElement.contains(target))\n\n if (!isHoveringReference) {\n handleIsOpenChange(false)\n // Allow removing the event listener eagerly, to avoid race conditions\n teardown()\n }\n })\n\n // Detect whether the mouse is moving outside of the reference element. This is sometimes\n // necessary, because the tooltip might not always close as it should (e.g. when clicking\n // the reference element triggers a CPU-heavy operation.)\n useEffect(() => {\n if (!showTooltip || isInsideGroup) return\n\n const handleMouseMove = (event: MouseEvent) => {\n onMouseMove(event.target, () => window.removeEventListener('mousemove', handleMouseMove))\n }\n\n window.addEventListener('mousemove', handleMouseMove)\n\n return () => window.removeEventListener('mousemove', handleMouseMove)\n }, [isInsideGroup, showTooltip])\n}\n","import {GapStyleProps, RadiusStyleProps, ResponsiveProp} from '@sanity/ui/css'\nimport {FontTextSize, Space} from '@sanity/ui/theme'\nimport {ForwardedRef, forwardRef} from 'react'\n\nimport {Box, KBD} from '../../primitives'\nimport {Props} from '../../types'\n\n/**\n * @public\n */\nexport interface HotkeysProps extends GapStyleProps, RadiusStyleProps {\n fontSize?: ResponsiveProp<FontTextSize>\n padding?: ResponsiveProp<Space>\n /** @deprecated Use `gap` instead. */\n space?: ResponsiveProp<Space>\n keys?: string[]\n}\n\n/**\n * Represent hotkeys (a keyboard combination) with semantic `<kbd>` elements.\n *\n * @public\n */\nexport const Hotkeys = forwardRef(function Hotkeys(\n props: Props<HotkeysProps, 'div'>,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const {fontSize, gap, gapX, gapY, keys, padding, radius, space = 0.5, ...restProps} = props\n\n if (!keys || keys.length === 0) {\n return undefined\n }\n\n return (\n <Box\n as=\"kbd\"\n data-ui=\"Hotkeys\"\n {...restProps}\n display=\"flex\"\n gap={gap ?? space}\n gapX={gapX}\n gapY={gapY}\n ref={ref}\n >\n {keys.map((key, i) => (\n <KBD fontSize={fontSize} key={i} padding={padding} radius={radius}>\n {key}\n </KBD>\n ))}\n </Box>\n )\n})\n\nHotkeys.displayName = 'ForwardRef(Hotkeys)'\n","import {MouseEvent as ReactMouseEvent} from 'react'\n\nimport {createGlobalScopedContext} from '../../lib/createGlobalScopedContext'\n\nexport interface MenuContextValue {\n version: 0.0\n activeElement: HTMLElement | null\n activeIndex: number\n mount: (element: HTMLElement | null, selected?: boolean) => () => void\n onClickOutside?: (event: MouseEvent) => void\n onEscape?: () => void\n onItemClick?: () => void\n onItemMouseEnter?: (event: ReactMouseEvent<HTMLElement>) => void\n onItemMouseLeave?: (event: ReactMouseEvent<HTMLElement>) => void\n registerElement?: (el: HTMLElement) => () => void\n\n /**\n * @deprecated Use `onItemMouseEnter` instead\n */\n onMouseEnter: (event: ReactMouseEvent<HTMLElement>) => void\n\n /**\n * @deprecated Use `onItemMouseLeave` instead\n */\n onMouseLeave: (event: ReactMouseEvent<HTMLElement>) => void\n}\n\nexport const MenuContext = createGlobalScopedContext<MenuContextValue | null>(\n '@sanity/ui/context/menu',\n null,\n)\n","import {isHTMLAnchorElement, isHTMLButtonElement} from '../../helpers'\n\n/**\n * @internal\n */\nfunction _isFocusable(element: HTMLElement) {\n return (\n (isHTMLAnchorElement(element) && element.getAttribute('data-disabled') !== 'true') ||\n (isHTMLButtonElement(element) && !element.disabled)\n )\n}\n\n/**\n * @internal\n */\nexport function _getFocusableElements(elements: HTMLElement[]): HTMLElement[] {\n return elements.filter(_isFocusable)\n}\n\n/**\n * @internal\n */\nexport function _getDOMPath(rootElement: HTMLElement, el: HTMLElement): number[] {\n const path: number[] = []\n\n let e = el\n\n while (e !== rootElement) {\n const parentElement = e.parentElement\n\n if (!parentElement) return path\n\n const children = Array.from(parentElement.childNodes)\n const index = children.indexOf(e)\n\n path.unshift(index)\n\n if (parentElement === rootElement) {\n return path\n }\n\n e = parentElement\n }\n\n return path\n}\n\nconst EMPTY_PATH: number[] = []\n\n/**\n * @internal\n */\nexport function _sortElements(rootElement: HTMLElement | null, elements: HTMLElement[]): void {\n if (!rootElement) return\n\n const map = new WeakMap<HTMLElement, number[]>()\n\n for (const el of elements) {\n map.set(el, _getDOMPath(rootElement, el))\n }\n\n const _sort = (a: HTMLElement, b: HTMLElement) => {\n const _a = map.get(a) || EMPTY_PATH\n const _b = map.get(b) || EMPTY_PATH\n\n const len = Math.max(_a.length, _b.length)\n\n // Loop until there are different indexes\n for (let i = 0; i < len; i += 1) {\n const aIndex = _a[i] || -1\n const bIndex = _b[i] || -1\n\n if (aIndex !== bIndex) {\n return aIndex - bIndex\n }\n }\n\n return 0\n }\n\n elements.sort(_sort)\n}\n","import {\n KeyboardEvent,\n KeyboardEventHandler,\n MouseEvent,\n MutableRefObject,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react'\n\nimport {_getFocusableElements, _sortElements} from './helpers'\n\n/**\n * @internal\n */\nexport interface MenuController {\n activeElement: HTMLElement | null\n activeIndex: number\n handleItemMouseEnter: (event: MouseEvent<HTMLElement>) => void\n handleItemMouseLeave: () => void\n handleKeyDown: (event: KeyboardEvent<HTMLDivElement>) => void\n mount: (element: HTMLElement | null, selected?: boolean) => () => void\n}\n\n/**\n * This controller is responsible for controlling UI menu state.\n *\n * @internal\n */\nexport function useMenuController(props: {\n onKeyDown?: KeyboardEventHandler\n originElement?: HTMLElement | null\n shouldFocus: 'first' | 'last' | null\n rootElementRef: MutableRefObject<HTMLDivElement | null>\n}): MenuController {\n const {onKeyDown, originElement, shouldFocus, rootElementRef} = props\n const elementsRef = useRef<HTMLElement[]>([])\n const [activeIndex, _setActiveIndex] = useState(-1)\n const activeIndexRef = useRef(activeIndex)\n const activeElement = useMemo(() => elementsRef.current[activeIndex] || null, [activeIndex])\n const mounted = Boolean(rootElementRef.current)\n\n const setActiveIndex = useCallback((nextActiveIndex: number) => {\n _setActiveIndex(nextActiveIndex)\n activeIndexRef.current = nextActiveIndex\n }, [])\n\n const mount = useCallback(\n (element: HTMLElement | null, selected?: boolean): (() => void) => {\n if (!element) return () => undefined\n\n if (elementsRef.current.indexOf(element) === -1) {\n elementsRef.current.push(element)\n _sortElements(rootElementRef.current, elementsRef.current)\n }\n\n if (selected) {\n const selectedIndex = elementsRef.current.indexOf(element)\n\n setActiveIndex(selectedIndex)\n }\n\n return () => {\n const idx = elementsRef.current.indexOf(element)\n\n if (idx > -1) {\n elementsRef.current.splice(idx, 1)\n }\n }\n },\n [rootElementRef, setActiveIndex],\n )\n\n const handleKeyDown = useCallback(\n (event: KeyboardEvent<HTMLDivElement>) => {\n // Move focus to the element that opened the menu before handling the `Tab` press\n if (event.key === 'Tab') {\n if (originElement) {\n originElement.focus()\n }\n\n return\n }\n\n // Move focus to the first focusable menuitem\n if (event.key === 'Home') {\n event.preventDefault()\n event.stopPropagation()\n\n const focusableElements = _getFocusableElements(elementsRef.current)\n const el = focusableElements[0]\n\n if (!el) return\n\n const currentIndex = elementsRef.current.indexOf(el)\n\n setActiveIndex(currentIndex)\n\n return\n }\n\n // Move focus to the last focusable menuitem\n if (event.key === 'End') {\n event.preventDefault()\n event.stopPropagation()\n\n const focusableElements = _getFocusableElements(elementsRef.current)\n const el = focusableElements[focusableElements.length - 1]\n\n if (!el) return\n\n const currentIndex = elementsRef.current.indexOf(el)\n\n setActiveIndex(currentIndex)\n\n return\n }\n\n if (event.key === 'ArrowUp') {\n event.preventDefault()\n event.stopPropagation()\n\n const focusableElements = _getFocusableElements(elementsRef.current)\n const focusableLen = focusableElements.length\n\n if (focusableLen === 0) return\n\n const focusedElement = elementsRef.current[activeIndexRef.current]\n\n let focusedIndex = focusableElements.indexOf(focusedElement)\n\n focusedIndex = (focusedIndex - 1 + focusableLen) % focusableLen\n\n const el = focusableElements[focusedIndex]\n const currentIndex = elementsRef.current.indexOf(el)\n\n setActiveIndex(currentIndex)\n\n return\n }\n\n if (event.key === 'ArrowDown') {\n event.preventDefault()\n event.stopPropagation()\n\n const focusableElements = _getFocusableElements(elementsRef.current)\n const focusableLen = focusableElements.length\n\n if (focusableLen === 0) return\n\n const focusedElement = elementsRef.current[activeIndexRef.current]\n\n let focusedIndex = focusableElements.indexOf(focusedElement)\n\n focusedIndex = (focusedIndex + 1) % focusableLen\n\n const el = focusableElements[focusedIndex]\n const currentIndex = elementsRef.current.indexOf(el)\n\n setActiveIndex(currentIndex)\n\n return\n }\n\n if (onKeyDown) {\n onKeyDown(event)\n }\n },\n [onKeyDown, originElement, setActiveIndex],\n )\n\n const handleItemMouseEnter = useCallback(\n (event: MouseEvent<HTMLElement>) => {\n const element = event.currentTarget\n const currentIndex = elementsRef.current.indexOf(element)\n\n setActiveIndex(currentIndex)\n },\n [setActiveIndex],\n )\n\n const handleItemMouseLeave = useCallback(() => {\n // Set the active index to -2 to deactivate all menu items\n // when the user moves the mouse away from the menu item.\n // We avoid using -1 because it would focus the first menu item,\n // which would be incorrect when the user hovers over a gap\n // between two menu items or a menu divider.\n setActiveIndex(-2)\n rootElementRef.current?.focus()\n }, [rootElementRef, setActiveIndex])\n\n // Set focus on the currently active element\n useEffect(() => {\n if (!mounted) return\n\n const rafId = requestAnimationFrame(() => {\n if (activeIndex === -1) {\n if (shouldFocus === 'first') {\n const focusableElements = _getFocusableElements(elementsRef.current)\n const el = focusableElements[0]\n\n if (el) {\n const currentIndex = elementsRef.current.indexOf(el)\n\n setActiveIndex(currentIndex)\n }\n }\n\n if (shouldFocus === 'last') {\n const focusableElements = _getFocusableElements(elementsRef.current)\n const el = focusableElements[focusableElements.length - 1]\n\n if (el) {\n const currentIndex = elementsRef.current.indexOf(el)\n\n setActiveIndex(currentIndex)\n }\n }\n\n return\n }\n\n const element = elementsRef.current[activeIndex] || null\n\n element?.focus()\n })\n\n return () => cancelAnimationFrame(rafId)\n }, [activeIndex, mounted, setActiveIndex, shouldFocus])\n\n return {\n activeElement,\n activeIndex,\n handleItemMouseEnter,\n handleItemMouseLeave,\n handleKeyDown,\n mount,\n }\n}\n","import {\n composeClassNames,\n GapStyleProps,\n menu,\n PaddingStyleProps,\n ResponsiveProp,\n} from '@sanity/ui/css'\nimport {Space} from '@sanity/ui/theme'\nimport {\n ForwardedRef,\n forwardRef,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n} from 'react'\n\nimport {useClickOutsideEvent, useGlobalKeyDown} from '../../hooks'\nimport {Box, Stack} from '../../primitives'\nimport {Props} from '../../types'\nimport {useLayer} from '../../utils'\nimport {MenuContext, MenuContextValue} from './menuContext'\nimport {useMenuController} from './useMenuController'\n\n/**\n * @public\n */\nexport interface MenuProps extends PaddingStyleProps, Pick<GapStyleProps, 'gap'> {\n /**\n * @deprecated Use `shouldFocus=\"first\"` instead.\n */\n 'focusFirst'?: boolean\n /**\n * @deprecated Use `shouldFocus=\"last\"` instead.\n */\n 'focusLast'?: boolean\n 'onClickOutside'?: (event: MouseEvent) => void\n 'onEscape'?: () => void\n 'onItemClick'?: () => void\n 'onItemSelect'?: (index: number) => void\n 'originElement'?: HTMLElement | null\n 'registerElement'?: (el: HTMLElement) => () => void\n 'shouldFocus'?: 'first' | 'last' | null\n /** @deprecated Use `gap` property instead. */\n 'space'?: ResponsiveProp<Space>\n 'aria-labelledby'?: string\n // 'onBlurCapture'?: (event: FocusEvent) => void\n}\n\n/**\n * The `Menu` component is a building block for application menus.\n *\n * @public\n */\nexport const Menu = forwardRef(function Menu(\n props: Props<MenuProps, 'div'>,\n forwardedRef: ForwardedRef<HTMLDivElement>,\n) {\n const {\n children,\n className,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n focusFirst,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n focusLast,\n gap,\n // onBlurCapture,\n onClickOutside,\n onEscape,\n onItemClick,\n onItemSelect,\n onKeyDown,\n originElement,\n padding = 1,\n registerElement,\n shouldFocus: _shouldFocus,\n space = 1,\n ...restProps\n } = props\n const shouldFocus =\n _shouldFocus ?? ((props.focusFirst && 'first') || (props.focusLast && 'last') || null)\n\n const ref = useRef<HTMLDivElement | null>(null)\n\n useImperativeHandle<HTMLDivElement | null, HTMLDivElement | null>(forwardedRef, () => ref.current)\n\n const {isTopLayer} = useLayer()\n\n const {\n activeElement,\n activeIndex,\n handleItemMouseEnter,\n handleItemMouseLeave,\n handleKeyDown,\n mount,\n } = useMenuController({\n onKeyDown,\n originElement,\n shouldFocus,\n rootElementRef: ref,\n })\n\n const unregisterElementRef = useRef<(() => void) | null>(null)\n const handleRefChange = useCallback(\n (el: HTMLDivElement | null) => {\n // Run cleanup of previously registered elements\n if (unregisterElementRef.current) {\n // The `registerElement` callback were originally used in a `useEffect`, so it returns a cleanup function that is a bit gnarly to handle in a ref callback.\n // Since we can't change the `registerElement` implementation itself without making breaking change,\n // that is explained in the code comments for createGlobalScopedContext.tsx,\n // we need to handle with a ref that holds on to the cleanup function last returned when the ref callback is called.\n unregisterElementRef.current()\n unregisterElementRef.current = null\n }\n\n ref.current = el\n\n // Register root element (for nested menus)\n if (ref.current && registerElement) {\n unregisterElementRef.current = registerElement(ref.current)\n }\n },\n [registerElement],\n )\n\n // Trigger `onItemSelect` when active index changes\n useEffect(() => {\n if (onItemSelect) onItemSelect(activeIndex)\n }, [activeIndex, onItemSelect])\n\n // Close menu when clicking outside\n useClickOutsideEvent(isTopLayer && onClickOutside, () => [ref.current])\n\n // Close menu when pressing Escape\n useGlobalKeyDown(\n useCallback(\n (event) => {\n if (!isTopLayer) return\n\n if (event.key === 'Escape') {\n event.stopPropagation()\n if (onEscape) onEscape()\n }\n },\n [isTopLayer, onEscape],\n ),\n )\n\n const value: MenuContextValue = useMemo(\n () => ({\n version: 0.0,\n activeElement,\n activeIndex,\n mount,\n onClickOutside,\n onEscape,\n onItemClick,\n onItemMouseEnter: handleItemMouseEnter,\n onItemMouseLeave: handleItemMouseLeave,\n registerElement,\n\n // deprecated\n onMouseEnter: handleItemMouseEnter,\n onMouseLeave: handleItemMouseLeave,\n }),\n [\n activeElement,\n activeIndex,\n mount,\n handleItemMouseEnter,\n handleItemMouseLeave,\n onClickOutside,\n onEscape,\n onItemClick,\n registerElement,\n ],\n )\n\n return (\n <MenuContext.Provider value={value}>\n <Box\n data-ui=\"Menu\"\n {...restProps}\n className={composeClassNames(className, menu())}\n onKeyDown={handleKeyDown}\n overflow=\"auto\"\n outline=\"none\"\n padding={padding}\n ref={handleRefChange}\n role=\"menu\"\n tabIndex={-1}\n >\n <Stack gap={gap ?? space}>{children}</Stack>\n </Box>\n </MenuContext.Provider>\n )\n})\n\nMenu.displayName = 'ForwardRef(Menu)'\n","import {composeClassNames, menuDivider} from '@sanity/ui/css'\nimport {ForwardedRef, forwardRef} from 'react'\n\nimport {Props} from '../../types'\n\n/** @public */\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\nexport interface MenuDividerProps {}\n\n/**\n * @public\n */\nexport const MenuDivider = forwardRef(function MenuDivider(\n props: Props<MenuDividerProps, 'div'>,\n ref: ForwardedRef<HTMLHRElement>,\n) {\n const {className, ...restProps} = props\n\n return <hr {...restProps} className={composeClassNames(className, menuDivider())} ref={ref} />\n})\n\nMenuDivider.displayName = 'MenuDivider'\n","import {_selectable, composeClassNames, SelectableStyleProps} from '@sanity/ui/css'\nimport {ForwardedRef, forwardRef} from 'react'\n\nimport {Props, SelectableTone} from '../../types'\nimport {Box, BoxProps} from '../box'\n\n/** @internal */\nexport interface SelectableProps extends BoxProps, SelectableStyleProps {\n disabled?: boolean\n href?: string\n tone?: SelectableTone\n type?: 'button'\n}\n\n/** @internal */\nexport const Selectable = forwardRef(function Selectable(\n props: Props<SelectableProps, 'div'>,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const {className, radius, tone, ...restProps} = props\n\n return (\n <Box\n {...restProps}\n className={composeClassNames(className, _selectable({radius, tone}))}\n ref={ref}\n />\n )\n})\n\nSelectable.displayName = 'ForwardRef(Selectable)'\n","import {useContext} from 'react'\n\nimport {isRecord} from '../../lib/isRecord'\nimport {MenuContext, MenuContextValue} from './menuContext'\n\nexport function useMenu(): MenuContextValue {\n const value = useContext(MenuContext)\n\n if (!value) {\n throw new Error('useMenu(): missing context value')\n }\n\n // NOTE: This check is for future-compatiblity\n // - If the value is not an object, it’s not compatible with the current version\n // - If the value is an object, but doesn’t have `version: 0.0`, it’s not compatible with the current version\n if (!isRecord(value) || value.version !== 0.0) {\n throw new Error('useMenu(): the context value is not compatible')\n }\n\n return value\n}\n","import {ChevronRightIcon} from '@sanity/icons'\nimport {GapStyleProps, ResponsiveProp} from '@sanity/ui/css'\nimport {FontTextSize, Space} from '@sanity/ui/theme'\nimport {\n ElementType,\n isValidElement,\n KeyboardEvent,\n MouseEvent,\n ReactElement,\n ReactNode,\n useCallback,\n useEffect,\n useState,\n} from 'react'\nimport {isValidElementType} from 'react-is'\n\nimport {Box, Flex, Popover, PopoverProps, Text} from '../../primitives'\nimport {Selectable} from '../../primitives/_selectable'\nimport {Props, Radius, SelectableTone} from '../../types'\nimport {Menu, MenuProps} from './menu'\nimport {useMenu} from './useMenu'\n\n/**\n * @public\n */\nexport interface MenuGroupProps extends GapStyleProps {\n disabled?: boolean\n fontSize?: ResponsiveProp<FontTextSize>\n icon?: ElementType | ReactNode\n menu?: Omit<\n MenuProps,\n | 'onClickOutside'\n | 'onEscape'\n | 'onItemClick'\n | 'onKeyDown'\n | 'onMouseEnter'\n | 'registerElement'\n | 'shouldFocus'\n | 'onBlurCapture'\n >\n padding?: ResponsiveProp<Space>\n popover?: Omit<PopoverProps, 'content' | 'open'>\n radius?: Radius | Radius[]\n /** @deprecated Use `gap` instead. */\n space?: ResponsiveProp<Space>\n text: ReactNode\n tone?: SelectableTone\n}\n\n/**\n * @public\n */\nexport function MenuGroup(props: Props<MenuGroupProps, 'div'>): ReactElement {\n const {\n as = 'button',\n children,\n fontSize = 1,\n gap,\n gapX,\n gapY,\n icon: IconComponent,\n menu: menuProps,\n onClick,\n padding = 3,\n popover,\n radius = 2,\n space = 3,\n text,\n tone = 'default',\n ...restProps\n } = props\n const menu = useMenu()\n\n const {\n activeElement,\n mount,\n onClickOutside,\n onEscape,\n onItemClick,\n onItemMouseEnter: _onItemMouseEnter,\n registerElement,\n } = menu\n const onItemMouseEnter = _onItemMouseEnter ?? menu.onMouseEnter\n const [rootElement, setRootElement] = useState<HTMLButtonElement | HTMLDivElement | null>(null)\n const [open, setOpen] = useState(false)\n const [shouldFocus, setShouldFocus] = useState<'first' | 'last' | null>(null)\n const active = Boolean(activeElement) && activeElement === rootElement\n const [withinMenu, setWithinMenu] = useState(false)\n\n const handleMouseEnter = useCallback(\n (event: MouseEvent<HTMLElement>) => {\n setWithinMenu(false)\n onItemMouseEnter(event)\n setOpen(true)\n },\n [onItemMouseEnter],\n )\n\n const handleMenuKeyDown = useCallback(\n (event: KeyboardEvent<HTMLDivElement>) => {\n if (event.key === 'ArrowLeft') {\n event.stopPropagation()\n\n setOpen(false)\n\n requestAnimationFrame(() => {\n rootElement?.focus()\n })\n }\n },\n [rootElement],\n )\n\n const handleClick = useCallback(\n (event: MouseEvent<HTMLDivElement>) => {\n onClick?.(event)\n\n setShouldFocus('first')\n setOpen(true)\n },\n [onClick],\n )\n\n const handleChildItemClick = useCallback(() => {\n setOpen(false)\n onItemClick?.()\n }, [onItemClick])\n\n const handleMenuMouseEnter = useCallback(() => setWithinMenu(true), [])\n\n // Register the menu item element\n useEffect(() => mount(rootElement), [mount, rootElement])\n\n // Close child menu when a sibling item becomes active\n useEffect(() => {\n if (!active) setOpen(false)\n }, [active])\n\n // Update state when child menu is no longer open\n useEffect(() => {\n if (!open) setWithinMenu(false)\n }, [open])\n\n // Reset the shouldFocus state after it has been used\n useEffect(() => {\n if (!shouldFocus) return\n // The useMenuController effect that handles `shouldFocus` schedules a request animation frame where it's processed.\n // By doing the same here, we ensure that the reset is processed after the focus change.\n const rafId = requestAnimationFrame(() => setShouldFocus(null))\n\n return () => cancelAnimationFrame(rafId)\n }, [shouldFocus])\n\n const childMenu = (\n <Menu\n {...menuProps}\n onClickOutside={onClickOutside}\n onEscape={onEscape}\n onItemClick={handleChildItemClick}\n onKeyDown={handleMenuKeyDown}\n onMouseEnter={handleMenuMouseEnter}\n registerElement={registerElement}\n shouldFocus={shouldFocus}\n >\n {children}\n </Menu>\n )\n\n const handleKeyDown = useCallback((event: KeyboardEvent<HTMLDivElement>) => {\n const target = event.currentTarget\n\n if (document.activeElement !== target) {\n return\n }\n\n if (event.key === 'ArrowRight') {\n setShouldFocus('first')\n setOpen(true)\n setWithinMenu(true)\n\n return\n }\n }, [])\n\n return (\n <Popover {...popover} content={childMenu} data-ui=\"MenuGroup__popover\" open={open}>\n <Selectable\n // data-as={as}\n data-ui=\"MenuGroup\"\n // forwardedAs={as}\n {...restProps}\n aria-pressed={as === 'button' ? withinMenu : undefined}\n as={as}\n data-pressed={as !== 'button' ? withinMenu : undefined}\n data-selected={!withinMenu && active ? '' : undefined}\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n onMouseEnter={handleMouseEnter}\n radius={radius}\n ref={setRootElement}\n tabIndex={-1}\n tone={tone}\n type={as === 'button' ? 'button' : undefined}\n >\n <Flex gap={gap ?? space} gapX={gapX} gapY={gapY} padding={padding}>\n {IconComponent && (\n <Text size={fontSize}>\n {isValidElement(IconComponent) && IconComponent}\n {isValidElementType(IconComponent) && <IconComponent />}\n </Text>\n )}\n\n <Box flex={1}>\n <Text size={fontSize} textOverflow=\"ellipsis\" weight=\"medium\">\n {text}\n </Text>\n </Box>\n\n <Text size={fontSize}>\n <ChevronRightIcon />\n </Text>\n </Flex>\n </Selectable>\n </Popover>\n )\n}\n\nMenuGroup.displayName = 'MenuGroup'\n","import {GapStyleProps, PaddingStyleProps, RadiusStyleProps, ResponsiveProp} from '@sanity/ui/css'\nimport {Space} from '@sanity/ui/theme'\nimport {\n ElementType,\n ForwardedRef,\n forwardRef,\n isValidElement,\n MouseEvent,\n ReactNode,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react'\nimport {isValidElementType} from 'react-is'\n\nimport {Box, Flex, Text} from '../../primitives'\nimport {Selectable} from '../../primitives/_selectable'\nimport {Props, SelectableTone} from '../../types'\nimport {Hotkeys} from '../hotkeys'\nimport {useMenu} from './useMenu'\n\n/**\n * @public\n */\nexport interface MenuItemProps extends GapStyleProps, PaddingStyleProps, RadiusStyleProps {\n disabled?: boolean\n fontSize?: number | number[]\n hotkeys?: string[]\n icon?: ElementType | ReactNode\n iconRight?: ElementType | ReactNode\n pressed?: boolean\n selected?: boolean\n /** @deprecated Use `gap` instead. */\n space?: ResponsiveProp<Space>\n text?: ReactNode\n tone?: SelectableTone\n}\n\n/**\n * @public\n */\nexport const MenuItem = forwardRef(function MenuItem(\n props: Props<MenuItemProps, 'div'>,\n forwardedRef: ForwardedRef<HTMLDivElement>,\n) {\n const {\n as = 'button',\n children,\n disabled,\n fontSize = 1,\n gap,\n gapX,\n gapY,\n hotkeys,\n icon: IconComponent,\n iconRight: IconRightComponent,\n onClick,\n padding = 3,\n paddingX,\n paddingY,\n paddingTop,\n paddingRight,\n paddingBottom,\n paddingLeft,\n pressed,\n radius = 2,\n selected: selectedProp,\n space = 3,\n text,\n tone = 'default',\n ...restProps\n } = props\n\n const menu = useMenu()\n const {\n activeElement,\n mount,\n onItemClick,\n onItemMouseEnter: _onItemMouseEnter,\n onItemMouseLeave: _onItemMouseLeave,\n } = menu\n const onItemMouseEnter = _onItemMouseEnter ?? menu.onMouseEnter\n const onItemMouseLeave = _onItemMouseLeave ?? menu.onMouseLeave\n const [rootElement, setRootElement] = useState<HTMLDivElement | null>(null)\n const active = Boolean(activeElement) && activeElement === rootElement\n const ref = useRef<HTMLDivElement | null>(null)\n\n useImperativeHandle<HTMLDivElement | null, HTMLDivElement | null>(forwardedRef, () => ref.current)\n\n useEffect(() => mount(rootElement, selectedProp), [mount, rootElement, selectedProp])\n\n const handleClick = useCallback(\n (event: MouseEvent<HTMLDivElement>) => {\n if (disabled) return\n if (onClick) onClick(event)\n if (onItemClick) onItemClick()\n },\n [disabled, onClick, onItemClick],\n )\n\n const paddingProps = useMemo(\n () => ({\n padding,\n paddingX,\n paddingY,\n paddingTop,\n paddingRight,\n paddingBottom,\n paddingLeft,\n }),\n [padding, paddingX, paddingY, paddingTop, paddingRight, paddingBottom, paddingLeft],\n )\n\n const setRef = useCallback((el: HTMLDivElement | null) => {\n ref.current = el\n setRootElement(el)\n }, [])\n\n return (\n <Selectable\n data-ui=\"MenuItem\"\n role=\"menuitem\"\n {...restProps}\n as={as}\n data-pressed={pressed ? '' : undefined}\n data-selected={active ? '' : undefined}\n data-disabled={disabled ? '' : undefined}\n radius={radius}\n disabled={disabled}\n onClick={handleClick}\n onMouseEnter={onItemMouseEnter}\n onMouseLeave={onItemMouseLeave}\n ref={setRef}\n tabIndex={-1}\n tone={tone}\n type={as === 'button' ? 'button' : undefined}\n >\n {(IconComponent || text || IconRightComponent) && (\n <Flex as=\"span\" gap={gap ?? space} gapX={gapX} gapY={gapY} align=\"center\" {...paddingProps}>\n {IconComponent && (\n <Text muted size={fontSize}>\n {isValidElement(IconComponent) && IconComponent}\n {isValidElementType(IconComponent) && <IconComponent />}\n </Text>\n )}\n\n {text && (\n <Box flex={1}>\n <Text size={fontSize} textOverflow=\"ellipsis\" weight=\"medium\">\n {text}\n </Text>\n </Box>\n )}\n\n {hotkeys && (\n <Hotkeys gap={0.5} keys={hotkeys} style={{marginTop: -4, marginBottom: -4}} />\n )}\n\n {IconRightComponent && (\n <Text muted size={fontSize}>\n {isValidElement(IconRightComponent) && IconRightComponent}\n {isValidElementType(IconRightComponent) && <IconRightComponent />}\n </Text>\n )}\n </Flex>\n )}\n\n {children && (\n <Box as=\"span\" {...paddingProps}>\n {children}\n </Box>\n )}\n </Selectable>\n )\n})\n\nMenuItem.displayName = 'ForwardRef(MenuItem)'\n","import {ResponsiveProp} from '@sanity/ui/css'\nimport {FontTextSize, Space} from '@sanity/ui/theme'\nimport {\n ElementType,\n FocusEvent,\n ForwardedRef,\n forwardRef,\n ReactNode,\n useCallback,\n useEffect,\n useImperativeHandle,\n useRef,\n} from 'react'\n\nimport {Button} from '../../primitives'\nimport {ButtonTone, Props} from '../../types'\n\n/**\n * @public\n */\nexport interface TabProps {\n /**\n * The `id` of the corresponding `TabPanel` component.\n */\n 'aria-controls': string\n 'id': string\n 'icon'?: ElementType | ReactNode\n 'focused'?: boolean\n 'fontSize'?: ResponsiveProp<FontTextSize>\n 'label'?: ReactNode\n 'padding'?: ResponsiveProp<Space>\n 'selected'?: boolean\n 'tone'?: ButtonTone\n}\n\n/**\n * @public\n */\nexport const Tab = forwardRef(function Tab(\n props: Props<TabProps, 'button'>,\n forwardedRef: ForwardedRef<HTMLButtonElement>,\n) {\n const {\n icon,\n id,\n focused,\n fontSize = 1,\n label,\n onClick,\n onFocus,\n padding = 2,\n selected,\n ...restProps\n } = props\n const ref = useRef<HTMLButtonElement | null>(null)\n const focusedRef = useRef(false)\n\n useImperativeHandle<HTMLButtonElement | null, HTMLButtonElement | null>(\n forwardedRef,\n () => ref.current,\n )\n\n const handleBlur = useCallback(() => {\n focusedRef.current = false\n }, [])\n\n const handleFocus = useCallback(\n (event: FocusEvent<HTMLButtonElement>) => {\n focusedRef.current = true\n if (onFocus) onFocus(event)\n },\n [onFocus],\n )\n\n useEffect(() => {\n if (focused && !focusedRef.current) {\n if (ref.current) ref.current.focus()\n focusedRef.current = true\n }\n }, [focused])\n\n return (\n <Button\n data-ui=\"Tab\"\n {...restProps}\n aria-selected={selected ? 'true' : 'false'}\n fontSize={fontSize}\n icon={icon}\n id={id}\n mode=\"bleed\"\n onClick={onClick}\n onBlur={handleBlur}\n onFocus={handleFocus}\n padding={padding}\n ref={ref}\n role=\"tab\"\n selected={selected}\n tabIndex={selected ? 0 : -1}\n text={label}\n type=\"button\"\n />\n )\n})\n\nTab.displayName = 'ForwardRef(Tab)'\n","import {\n Children,\n cloneElement,\n ForwardedRef,\n forwardRef,\n KeyboardEvent,\n ReactElement,\n useCallback,\n useState,\n} from 'react'\n\nimport {Inline, InlineProps} from '../../primitives'\nimport {Props} from '../../types'\nimport {TabProps} from './tab'\n\n/**\n * @public\n */\nexport type TabListChild = ReactElement<Props<TabProps, 'button'>> | null | undefined | false\n\n/**\n * @public\n */\nexport interface TabListProps extends Omit<InlineProps, 'as' | 'height'> {\n children: TabListChild[]\n}\n\nfunction _isReactElement(node: unknown): node is ReactElement<Props<TabProps, 'button'>> {\n return Boolean(node)\n}\n\n/**\n * @public\n */\nexport const TabList = forwardRef(function TabList(\n props: Props<TabListProps, 'div'>,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const {children: childrenProp, ...restProps} = props\n const [focusedIndex, setFocusedIndex] = useState(-1)\n\n const children = Children.toArray(childrenProp).filter(_isReactElement)\n\n const tabs = children.map((child, childIndex) =>\n cloneElement(child, {\n focused: focusedIndex === childIndex,\n key: childIndex,\n onFocus: () => setFocusedIndex(childIndex),\n }),\n )\n\n const numTabs = tabs.length\n\n const handleKeyDown = useCallback(\n (event: KeyboardEvent<HTMLDivElement>) => {\n if (event.key === 'ArrowLeft') {\n setFocusedIndex((prevIndex) => (prevIndex + numTabs - 1) % numTabs)\n }\n\n if (event.key === 'ArrowRight') {\n setFocusedIndex((prevIndex) => (prevIndex + 1) % numTabs)\n }\n },\n [numTabs],\n )\n\n return (\n <Inline data-ui=\"TabList\" {...restProps} onKeyDown={handleKeyDown} ref={ref} role=\"tablist\">\n {tabs}\n </Inline>\n )\n})\n\nTabList.displayName = 'ForwardRef(TabList)'\n"],"names":["getGlobalScope","globalThis","window","self","global","Error","globalScope","createGlobalScopedContext","key","defaultValue","symbol","Symbol","for","document","createContext","CardContext","CardProvider","props","$","_c","children","rendered","t0","tone","scheme","undefined","t1","t2","context","t3","ThemeContext","ThemeProvider","parentTheme","useContext","rootTheme","theme","bb0","version","themeContext","bb1","getScopedTheme","StyledThemeProvider","t4","ThemeColorProvider","displayName","useRootTheme","value","root","useTheme","useStyledTheme","useTheme_v2","getTheme_v2","createColorTheme","_createColorTheme","hexToRgb","_hexToRgb","hslToRgb","_hslToRgb","multiply","_multiply","parseColor","_parseColor","rgbToHex","_rgbToHex","rgbToHsl","_rgbToHsl","rgba","_rgba","screen","_screen","studioTheme","buildTheme","EMPTY_ARRAY","EMPTY_RECORD","POPOVER_MOTION_PROPS","card","initial","scale","willChange","hidden","opacity","visible","transition","when","duration","POPOVER_MOTION_DURATION","scaleIn","scaleOut","type","visualDuration","bounce","_isEnterToClickElement","element","isHTMLAnchorElement","isHTMLButtonElement","isHTMLElement","node","Node","nodeType","ELEMENT_NODE","nodeName","isHTMLInputElement","isHTMLSelectElement","isHTMLTextAreaElement","containsOrEqualsElement","contains","_getArrayProp","val","defaultVal","Array","isArray","_isScrollable","el","Element","style","getComputedStyle","overflowX","includes","overflowY","useArrayProp","JSON","stringify","setCache","useState","cachedVal","cachedHash","hash","useClickOutsideEvent","listener","boundaryElement","elementsArg","_temp","evt","target","resolvedBoundaryElement","elements","flat","onEvent","useEffectEvent","hasListener","Boolean","handleEvent","evt_0","addEventListener","removeEventListener","useEffect","useDebugValue","useCustomValidity","ref","customValidity","current","setCustomValidity","_ResizeObserver","ResizeObserver","ResizeObserverPolyfill","_elementSizeObserver","_createElementSizeObserver","_createElementRectValueListener","subscribe","subscriber","resizeObserver","entry","_contentRect","contentRect","border","width","borderBoxSize","inlineSize","height","blockSize","content","observe","unobserve","disconnect","disposeCache","WeakMap","subscribersCache","subscribers","get","dispose","has","set","elementRect","sub","push","idx","indexOf","splice","length","useElementSize","size","setSize","useGlobalKeyDown","onKeyDown","event","handleKeyDown","handler","event_0","useMatchMedia","mediaQueryString","getServerSnapshot","onStoreChange","media","matchMedia","matches","useSyncExternalStore","_getMediaQuery","index","_createMediaStore","mediaLen","sizes","getSizes","mediaQuery","mq","getSnapshot","disposeFns","handleChange","disposeFn","useMediaIndex","store","usePrefersDark","usePrefersReducedMotion","Box","forwardRef","align","borderBottom","borderLeft","borderRight","borderTop","className","column","columnEnd","columnStart","columns","direction","flex","gap","gapX","gapY","inset","insetBottom","insetLeft","insetRight","insetTop","justify","marginBottom","marginLeft","marginRight","marginTop","marginX","marginY","maxWidth","muted","overflow","paddingBottom","paddingLeft","paddingRight","paddingTop","paddingX","paddingY","pointerEvents","position","radius","restProps","row","rowEnd","rowStart","rows","wrap","as","display","margin","padding","sizing","As","t5","composeClassNames","box","t6","Label","accent","textOverflowProp","textOverflow","weight","label","t7","Avatar","__unstable_hideInnerStroke","animateArrowFrom","arrowPositionProp","asProp","initials","onImageLoadError","src","title","color","arrowPosition","status","sizeProp","ReactIs","isValidElementType","setArrowPosition","imageError","setImageError","raf","requestAnimationFrame","cancelAnimationFrame","handleImageError","t8","t9","map","initialsSize","t10","t11","avatar","t12","t13","avatarArrow","t14","t15","avatarInitials","t16","t17","t18","avatarImage","t19","s","AvatarCounter","count","fontSize","avatarCounter","AvatarStack","childrenProp","maxLength","maxLengthProp","Children","toArray","filter","isValidElement","Math","max","len","visibleCount","extraCount","visibleChildren","slice","T0","avatarStack","child","childIndex","cloneElement","String","Text","text","Badge","textAlign","mode","_deprecated_mode","badge","AnimatedSpinnerIcon","animatedSpinnerIcon","Spinner","spinner","Button","disabled","space","href","icon","IconComponent","iconRight","IconRightComponent","loading","selected","textWeight","button","buttonLoadingBox","useCard","Card","pressed","schemeProp","selectable","shadow","__unstable_checkered","__unstable_focusRing","checkered","focusRing","toneProp","parent","_selectable","compat_provider","createElement","Checkbox","forwardedRef","checked","indeterminate","readOnly","useRef","useImperativeHandle","checkbox","checkboxInput","LazyRefractor","lazy","Code","languageProp","language","code","Container","container","Flex","Grid","Heading","heading","Inline","KBD","kbd","origin","name","fn","middlewareData","placement","rects","side","split","floatingWidth","floating","floatingHeight","shiftX","shift","x","shiftY","y","isVerticalPlacement","originX","originY","clamp","data","num","min","moveTowardsLength","movingPoint","targetPoint","amount","distance","sqrt","moveTowardsFractional","fraction","getRoundedCommands","points","cmds","i","point","prevPoint","nextPoint","curveStart","curveEnd","startControl","endControl","compileCommands","n","join","Arrow","h","w","strokeWidth","outline","center","path","strokePath","fillPath","_arrow","_arrowStroke","_arrowShape","BoundaryElementContext","BoundaryElementProvider","isRecord","DEFAULT_VALUE","useBoundaryElement","ConditionalWrapper","condition","wrapper","findMaxBreakpoints","ret","findMinBreakpoints","ElementQuery","_media","setElement","elementSize","innerWidth","eq","eq_0","getLayerContext","contextValue","LayerContext","LayerProvider","zOffset","zOffsetProp","parentContextValue","parentRegisterChild","registerChild","level","maxMediaIndex","mediaIndex","zIndex","setChildLayers","isTopLayer","childLevel","parentDispose","state","prevLen","nextState","Object","keys","state_0","nextState_0","_temp2","v_0","v","useLayer","err","message","LayerChildren","onActivate","onFocus","lastFocusedRef","isTopLayerRef","activeElement","rootElement","handleFocus","Layer","elementKey","defaultContextValue","setAttribute","body","appendChild","PortalContext","usePortal","Portal","__unstable_name","portal","portalElement","default","createPortal","PortalProvider","__unstable_elements","elementsProp","useUnique","fallbackElement","emptySubscribe","valueRef","_isEqual","objA","objB","keysA","keysB","every","SrOnly","rest","srOnly","VirtualList","getItemKey","onChange","renderItem","items","wrapperRef","scrollTop","setScrollTop","scrollHeight","setScrollHeight","itemHeight","setItemHeight","firstElement","firstChild","HTMLElement","offsetHeight","scrollEl","findScrollable","parentNode","handleScroll","passive","ro","entries","handleScroll_0","scrollY","handleResize","innerHeight","fromIndex","floor","toIndex","ceil","item","_itemIndex","itemIndex","top","wrapperStyle","_scrollEl","DEFAULT_POPOVER_DISTANCE","DEFAULT_POPOVER_PADDING","DEFAULT_POPOVER_ARROW_WIDTH","DEFAULT_POPOVER_ARROW_HEIGHT","DEFAULT_POPOVER_ARROW_RADIUS","DEFAULT_POPOVER_MARGINS","DEFAULT_FALLBACK_PLACEMENTS","options","apply","margins","args","platform","reference","detectOverflow","altBoundary","boundary","elementContext","rootBoundary","Infinity","maxHeight","floatingW","floatingH","left","right","bottom","availableWidth","availableHeight","referenceWidth","nextDimensions","getDimensions","targetH","targetW","reset","MotionCard","motion","create","PopoverCard","memo","animate","arrow","arrowRef","arrowX","arrowY","marginsProp","strategy","xProp","yProp","__unstable_margins","layer","rootStyle","arrowStyle","ViewportOverlay","Popover","boundaryElementContext","_animate","arrowProp","childProp","constrainSize","fallbackPlacements","matchReferenceWidth","floatingBoundary","modal","open","placementProp","preventOverflow","referenceBoundary","referenceElement","widthProp","updateRef","referenceWidthRef","middleware","useMemo","flip","offset","mainAxis","hide","refs","update","useFloating","whileElementsMounted","autoUpdate","referenceHidden","setArrow","useCallback","arrowEl","setFloating","setReference","childRef","getElementRef","popover","getter","getOwnPropertyDescriptor","mayWarn","isReactWarning","Radio","radio","Select","select","_inputElement","selectPresentation","Stack","Switch","_switch","_switchElement","_switchPresentation","_switchTrack","_switchThumb","TextArea","textArea","_inputPresentation","CLEAR_BUTTON_BOX_STYLE","backgroundColor","TextInput","__unstable_disableFocusRing","clearButton","onClear","prefix","suffix","t20","t21","t22","t23","t24","_width","t25","t26","paddingArray","withClearButton","handleClearMouseDown","preventDefault","stopPropagation","focus","handleClearClick","clearButtonBoxPadding","_temp3","clearButtonPadding","clearButtonProps","textInput","t27","t28","CloseIcon","t29","t30","t31","useDelayedState","initialState","setState","delayedAction","delay","action","clearTimeout","setTimeout","onStateChange","DEFAULT_TOOLTIP_ARROW_WIDTH","DEFAULT_TOOLTIP_ARROW_HEIGHT","DEFAULT_TOOLTIP_ARROW_RADIUS","DEFAULT_TOOLTIP_DISTANCE","DEFAULT_TOOLTIP_PADDING","TooltipCard","tooltipCard","TooltipDelayGroupContext","TooltipDelayGroupProvider","isGroupActive","setIsGroupActive","openTooltipId","setOpenTooltipId","openDelay","closeDelay","close","useTooltipDelayGroup","Tooltip","fallbackPlacementsProp","portalProp","tooltip","setReferenceElement","tooltipMaxWidth","setTooltipMaxWidth","floatingStyles","tooltipId","useId","isOpen","setIsOpen","delayGroupContext","showTooltip","isInsideGroup","openDelayProp","closeDelayProp","handleIsOpenChange","immediate","groupedOpenDelay","groupDeactivateDelay","minimumGroupDeactivateDelay","handleBlur","e","onBlur","handleClick","onClick","handleContextMenu","onContextMenu","handleMouseEnter","onMouseEnter","handleMouseLeave","onMouseLeave","handleWindowKeyDown","useLayoutEffect","availableWidths","offsetWidth","useCloseOnMouseLeave","teardown","onMouseMove","handleMouseMove","Hotkeys","MenuContext","_isFocusable","getAttribute","_getFocusableElements","_getDOMPath","parentElement","from","childNodes","unshift","EMPTY_PATH","_sortElements","_sort","a","b","_a","_b","aIndex","bIndex","sort","useMenuController","originElement","shouldFocus","rootElementRef","elementsRef","activeIndex","_setActiveIndex","activeIndexRef","mounted","setActiveIndex","nextActiveIndex","mount","selectedIndex","currentIndex","focusableElements","focusableLen","focusedElement","focusedIndex","handleItemMouseEnter","currentTarget","handleItemMouseLeave","rafId","Menu","_shouldFocus","onClickOutside","onEscape","onItemClick","onItemSelect","registerElement","focusFirst","focusLast","unregisterElementRef","handleRefChange","onItemMouseEnter","onItemMouseLeave","menu","MenuDivider","menuDivider","Selectable","useMenu","MenuGroup","menuProps","_onItemMouseEnter","setRootElement","setOpen","setShouldFocus","active","withinMenu","setWithinMenu","handleMenuKeyDown","event_1","handleChildItemClick","handleMenuMouseEnter","childMenu","event_2","t32","MenuItem","hotkeys","selectedProp","_onItemMouseLeave","paddingProps","setRef","Tab","focused","id","focusedRef","_isReactElement","TabList","setFocusedIndex","tabs","numTabs","prevIndex","prevIndex_0"],"mappings":"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"}