@sanity/ui 3.3.0 → 3.3.2

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 (379) hide show
  1. package/README.md +12 -0
  2. package/dist/_visual-editing.d.mts +2 -1126
  3. package/dist/_visual-editing.d.ts +2 -1126
  4. package/dist/_visual-editing.js +3 -31
  5. package/dist/_visual-editing.mjs +2 -31
  6. package/dist/index.d.mts +555 -2769
  7. package/dist/index.d.mts.map +1 -0
  8. package/dist/index.d.ts +555 -2769
  9. package/dist/index.d.ts.map +1 -0
  10. package/dist/index.js +2982 -1934
  11. package/dist/index.mjs +2950 -1903
  12. package/dist/index.mjs.map +1 -1
  13. package/dist/refractor.js +16 -0
  14. package/dist/refractor.mjs +21 -0
  15. package/dist/refractor.mjs.map +1 -0
  16. package/dist/tabList.js +3804 -0
  17. package/dist/tabList.mjs +3355 -0
  18. package/dist/tabList.mjs.map +1 -0
  19. package/dist/theme.d.mts +927 -1227
  20. package/dist/theme.d.mts.map +1 -0
  21. package/dist/theme.d.ts +927 -1227
  22. package/dist/theme.d.ts.map +1 -0
  23. package/dist/theme.js +3 -4127
  24. package/dist/theme.mjs +2 -4127
  25. package/dist/theme2.d.mts +2 -0
  26. package/dist/theme2.d.ts +2 -0
  27. package/dist/theme2.js +4104 -0
  28. package/dist/theme2.mjs +3851 -0
  29. package/dist/theme2.mjs.map +1 -0
  30. package/dist/useTheme.d.mts +1451 -0
  31. package/dist/useTheme.d.mts.map +1 -0
  32. package/dist/useTheme.d.ts +1451 -0
  33. package/dist/useTheme.d.ts.map +1 -0
  34. package/exports/_visual-editing.ts +1 -0
  35. package/package.json +52 -168
  36. package/src/core/_compat.ts +30 -0
  37. package/src/core/components/autocomplete/autocomplete.tsx +8 -0
  38. package/src/core/components/autocomplete/autocompleteOption.tsx +1 -0
  39. package/src/core/components/breadcrumbs/breadcrumbs.test.tsx +8 -5
  40. package/src/core/components/breadcrumbs/breadcrumbs.tsx +3 -0
  41. package/src/core/components/dialog/dialog.tsx +5 -2
  42. package/src/core/components/hotkeys/hotkeys.test.tsx +10 -5
  43. package/src/core/components/hotkeys/hotkeys.tsx +2 -0
  44. package/src/core/components/menu/menu.spacing.test.tsx +12 -7
  45. package/src/core/components/menu/menu.test.tsx +9 -6
  46. package/src/core/components/menu/menu.tsx +4 -2
  47. package/src/core/components/menu/menuButton.tsx +8 -0
  48. package/src/core/components/menu/menuDivider.ts +1 -0
  49. package/src/core/components/menu/menuGroup.spacing.test.tsx +9 -6
  50. package/src/core/components/menu/menuGroup.tsx +6 -2
  51. package/src/core/components/menu/menuItem.spacing.test.tsx +8 -5
  52. package/src/core/components/menu/menuItem.tsx +4 -0
  53. package/src/core/components/menu/useMenuController.ts +2 -0
  54. package/src/core/components/skeleton/skeleton.tsx +1 -0
  55. package/src/core/components/tab/tab.tsx +1 -0
  56. package/src/core/components/tab/tabList.test.tsx +7 -5
  57. package/src/core/components/tab/tabList.tsx +1 -0
  58. package/src/core/components/toast/toast.test.tsx +9 -4
  59. package/src/core/components/toast/toast.tsx +1 -0
  60. package/src/core/components/toast/toastLayer.tsx +1 -0
  61. package/src/core/components/tree/tree.test.tsx +10 -5
  62. package/src/core/components/tree/tree.tsx +2 -0
  63. package/src/core/components/tree/treeGroup.tsx +1 -0
  64. package/src/core/components/tree/treeItem.test.tsx +10 -5
  65. package/src/core/components/tree/treeItem.tsx +1 -0
  66. package/src/core/hooks/index.ts +1 -0
  67. package/src/core/hooks/useClickOutside.test.tsx +43 -15
  68. package/src/core/hooks/useClickOutside.ts +1 -1
  69. package/src/core/hooks/useClickOutsideEvent.test.tsx +8 -4
  70. package/src/core/hooks/useDelayed.test.ts +9 -8
  71. package/src/core/hooks/useElementRect/useElementRect.ts +1 -0
  72. package/src/core/hooks/useForwardedRef.ts +1 -0
  73. package/src/core/hooks/useMediaIndex/useMediaIndex.test.tsx +2 -1
  74. package/src/core/hooks/usePrefersDark.hydration.test.tsx +7 -5
  75. package/src/core/hooks/usePrefersDark.test.tsx +3 -1
  76. package/src/core/hooks/usePrefersReducedMotion.hydration.test.tsx +7 -5
  77. package/src/core/hooks/usePrefersReducedMotion.test.tsx +3 -1
  78. package/src/core/lib/createGlobalScopedContext.ts +1 -0
  79. package/src/core/lib/globalScope.ts +1 -0
  80. package/src/core/observers/elementSizeObserver.ts +1 -0
  81. package/src/core/primitives/avatar/avatar.tsx +2 -2
  82. package/src/core/primitives/avatar/avatarStack.tsx +1 -0
  83. package/src/core/primitives/badge/badge.test.tsx +3 -2
  84. package/src/core/primitives/badge/badge.tsx +3 -1
  85. package/src/core/primitives/box/box.test.tsx +18 -5
  86. package/src/core/primitives/box/box.tsx +9 -1
  87. package/src/core/primitives/button/button.test.tsx +10 -6
  88. package/src/core/primitives/button/button.tsx +4 -0
  89. package/src/core/primitives/button/styles.ts +1 -0
  90. package/src/core/primitives/card/card.tsx +2 -5
  91. package/src/core/primitives/card/types.ts +1 -0
  92. package/src/core/primitives/code/code.tsx +1 -0
  93. package/src/core/primitives/code/refractor.tsx +2 -0
  94. package/src/core/primitives/container/container.tsx +1 -0
  95. package/src/core/primitives/flex/flex.tsx +2 -3
  96. package/src/core/primitives/grid/grid.test.tsx +11 -5
  97. package/src/core/primitives/grid/grid.tsx +3 -0
  98. package/src/core/primitives/heading/heading.tsx +1 -0
  99. package/src/core/primitives/inline/inline.test.tsx +9 -5
  100. package/src/core/primitives/inline/inline.tsx +3 -0
  101. package/src/core/primitives/kbd/kbd.tsx +5 -1
  102. package/src/core/primitives/label/label.tsx +1 -0
  103. package/src/core/primitives/popover/popover.tsx +5 -4
  104. package/src/core/primitives/popover/popoverCard.tsx +1 -0
  105. package/src/core/primitives/popover/types.ts +0 -1
  106. package/src/core/primitives/select/select.test.tsx +9 -5
  107. package/src/core/primitives/select/select.tsx +1 -0
  108. package/src/core/primitives/stack/stack.test.tsx +9 -5
  109. package/src/core/primitives/stack/stack.tsx +2 -0
  110. package/src/core/primitives/stack/styles.ts +1 -0
  111. package/src/core/primitives/text/text.tsx +1 -0
  112. package/src/core/primitives/textInput/textInput.test.tsx +9 -5
  113. package/src/core/primitives/textInput/textInput.tsx +3 -0
  114. package/src/core/primitives/tooltip/tooltip.test.tsx +82 -49
  115. package/src/core/primitives/tooltip/tooltip.tsx +3 -1
  116. package/src/core/primitives/tooltip/tooltipCard.tsx +1 -0
  117. package/src/core/primitives/tooltip/tooltipDelayGroup/types.ts +2 -0
  118. package/src/core/styles/flex/types.ts +0 -1
  119. package/src/core/styles/font/responsiveFont.ts +0 -3
  120. package/src/core/styles/font/types.ts +1 -3
  121. package/src/core/styles/grid/gridStyle.ts +1 -0
  122. package/src/core/styles/margin/marginStyle.ts +1 -0
  123. package/src/core/styles/margin/marginsStyle.test.ts +2 -1
  124. package/src/core/styles/padding/paddingStyle.test.ts +2 -1
  125. package/src/core/styles/padding/paddingStyle.ts +1 -0
  126. package/src/core/theme/theme.test.tsx +7 -3
  127. package/src/core/theme/useRootTheme.ts +1 -0
  128. package/src/core/theme/useTheme.ts +2 -0
  129. package/src/core/utils/arrow/arrow.tsx +1 -0
  130. package/src/core/utils/boundaryElement/boundaryElement.test.tsx +9 -4
  131. package/src/core/utils/conditionalWrapper/conditionalWrapper.tsx +1 -0
  132. package/src/core/utils/getElementRef.ts +5 -0
  133. package/src/core/utils/layer/getLayerContext.test.ts +2 -0
  134. package/src/core/utils/layer/layer.test.tsx +9 -4
  135. package/src/core/utils/layer/layer.tsx +1 -0
  136. package/src/core/utils/layer/useLayer.ts +2 -0
  137. package/src/core/utils/portal/portal.test.tsx +9 -4
  138. package/src/core/utils/portal/portalProvider.tsx +1 -0
  139. package/src/core/utils/virtualList/virtualList.tsx +2 -1
  140. package/src/theme/build/_deprecated/color/_selectable/createSelectableTones.ts +10 -0
  141. package/src/theme/build/_deprecated/color/_solid/createSolidTones.ts +4 -0
  142. package/src/theme/build/_deprecated/color/button/createButtonModes.ts +5 -0
  143. package/src/theme/build/_deprecated/color/button/createButtonTones.ts +5 -0
  144. package/src/theme/build/_deprecated/color/card/createCardStates.ts +6 -0
  145. package/src/theme/build/_deprecated/color/color.test.ts +5 -1
  146. package/src/theme/build/_deprecated/color/defaults.ts +1 -0
  147. package/src/theme/build/_deprecated/color/factory.ts +36 -0
  148. package/src/theme/build/_deprecated/color/input/createInputModes.ts +5 -0
  149. package/src/theme/build/_deprecated/color/muted/createMuted.ts +4 -0
  150. package/src/theme/build/_deprecated/color/spot/createSpot.ts +3 -0
  151. package/src/theme/build/buildColorTheme.test.ts +2 -0
  152. package/src/theme/build/buildColorTheme.ts +8 -0
  153. package/src/theme/build/buildTheme.test.ts +2 -0
  154. package/src/theme/build/lib/color-fns/color-fns.test.ts +3 -1
  155. package/src/theme/build/merge.ts +5 -0
  156. package/src/theme/build/mixThemeColor.test.ts +2 -0
  157. package/src/theme/build/renderColorTheme.ts +6 -0
  158. package/src/theme/build/renderColorValue.ts +0 -2
  159. package/src/theme/build/resolveColorTokens.ts +6 -0
  160. package/src/theme/build/theme.test.ts +2 -0
  161. package/src/theme/config/helpers.ts +5 -0
  162. package/src/theme/config/system.ts +2 -0
  163. package/src/theme/config/tokens/color/types.ts +6 -4
  164. package/src/theme/config/tokens/parseTokenKey.test.ts +2 -0
  165. package/src/theme/config/tokens/parseTokenValue.test.ts +2 -0
  166. package/src/theme/config/tokens/parseTokenValue.ts +1 -0
  167. package/src/theme/getScopedTheme.ts +6 -1
  168. package/src/theme/system/color/_helpers.ts +4 -0
  169. package/src/theme/system/theme.ts +4 -0
  170. package/src/theme/system/v0/color/_system.ts +1 -0
  171. package/src/theme/system/v0/color/button.ts +14 -0
  172. package/src/theme/system/v0/color/card.ts +6 -0
  173. package/src/theme/system/v0/color/color.ts +11 -0
  174. package/src/theme/system/v0/color/input.ts +6 -0
  175. package/src/theme/system/v0/color/muted.ts +11 -0
  176. package/src/theme/system/v0/color/selectable.ts +11 -0
  177. package/src/theme/system/v0/color/solid.ts +11 -0
  178. package/src/theme/system/v0/color/spot.ts +1 -0
  179. package/src/theme/versioning/getTheme_v2.ts +15 -0
  180. package/src/theme/versioning/themeColor_v0_v2.ts +7 -0
  181. package/src/theme/versioning/themeColor_v2_v2_9.ts +1 -0
  182. package/src/theme/versioning/v0_v2.ts +13 -1
  183. package/src/theme/versioning/v2_v0.ts +18 -0
  184. package/dist/_chunks-cjs/_visual-editing.js +0 -5899
  185. package/dist/_chunks-cjs/_visual-editing.js.map +0 -1
  186. package/dist/_chunks-cjs/refractor.js +0 -23
  187. package/dist/_chunks-cjs/refractor.js.map +0 -1
  188. package/dist/_chunks-es/_visual-editing.mjs +0 -5905
  189. package/dist/_chunks-es/_visual-editing.mjs.map +0 -1
  190. package/dist/_chunks-es/refractor.mjs +0 -26
  191. package/dist/_chunks-es/refractor.mjs.map +0 -1
  192. package/dist/_visual-editing.js.map +0 -1
  193. package/dist/_visual-editing.mjs.map +0 -1
  194. package/dist/index.js.map +0 -1
  195. package/dist/theme.js.map +0 -1
  196. package/dist/theme.mjs.map +0 -1
  197. package/src/core/__workshop__/constants.ts +0 -293
  198. package/src/core/components/autocomplete/__mocks__/apiStore.ts +0 -49
  199. package/src/core/components/autocomplete/__mocks__/countries.ts +0 -245
  200. package/src/core/components/autocomplete/__workshop__/async.tsx +0 -156
  201. package/src/core/components/autocomplete/__workshop__/constrainedHeight.tsx +0 -137
  202. package/src/core/components/autocomplete/__workshop__/custom.tsx +0 -89
  203. package/src/core/components/autocomplete/__workshop__/example.tsx +0 -79
  204. package/src/core/components/autocomplete/__workshop__/focusAndBlur.tsx +0 -36
  205. package/src/core/components/autocomplete/__workshop__/fullscreen.tsx +0 -294
  206. package/src/core/components/autocomplete/__workshop__/index.ts +0 -39
  207. package/src/core/components/autocomplete/__workshop__/types.ts +0 -4
  208. package/src/core/components/breadcrumbs/__workshop__/example.tsx +0 -62
  209. package/src/core/components/breadcrumbs/__workshop__/index.ts +0 -14
  210. package/src/core/components/dialog/__workshop__/activate.tsx +0 -134
  211. package/src/core/components/dialog/__workshop__/autoFocus.tsx +0 -29
  212. package/src/core/components/dialog/__workshop__/index.ts +0 -19
  213. package/src/core/components/dialog/__workshop__/layering.tsx +0 -41
  214. package/src/core/components/dialog/__workshop__/nested.tsx +0 -72
  215. package/src/core/components/dialog/__workshop__/onScroll.tsx +0 -39
  216. package/src/core/components/dialog/__workshop__/panes.tsx +0 -82
  217. package/src/core/components/dialog/__workshop__/position.tsx +0 -30
  218. package/src/core/components/dialog/__workshop__/props.tsx +0 -75
  219. package/src/core/components/dialog/__workshop__/provider.tsx +0 -11
  220. package/src/core/components/dialog/__workshop__/wrapped.tsx +0 -76
  221. package/src/core/components/hotkeys/__workshop__/index.ts +0 -14
  222. package/src/core/components/hotkeys/__workshop__/plain.tsx +0 -9
  223. package/src/core/components/menu/__workshop__/asComponent.tsx +0 -45
  224. package/src/core/components/menu/__workshop__/avatarMenu.tsx +0 -51
  225. package/src/core/components/menu/__workshop__/closableMenuButton.tsx +0 -46
  226. package/src/core/components/menu/__workshop__/constrainedInBoundary.tsx +0 -134
  227. package/src/core/components/menu/__workshop__/customMenuItem.tsx +0 -45
  228. package/src/core/components/menu/__workshop__/customSelectedState.tsx +0 -39
  229. package/src/core/components/menu/__workshop__/disableFocusOnClose.tsx +0 -40
  230. package/src/core/components/menu/__workshop__/groups.tsx +0 -156
  231. package/src/core/components/menu/__workshop__/index.ts +0 -89
  232. package/src/core/components/menu/__workshop__/menuButton.tsx +0 -80
  233. package/src/core/components/menu/__workshop__/menuGroupRight.tsx +0 -65
  234. package/src/core/components/menu/__workshop__/nestedMenu.tsx +0 -22
  235. package/src/core/components/menu/__workshop__/onCloseMenuButton.tsx +0 -41
  236. package/src/core/components/menu/__workshop__/selectedItem.tsx +0 -69
  237. package/src/core/components/menu/__workshop__/shouldFocus.tsx +0 -47
  238. package/src/core/components/menu/__workshop__/tones.tsx +0 -25
  239. package/src/core/components/menu/__workshop__/withoutArrow.tsx +0 -32
  240. package/src/core/components/skeleton/__workshop__/delay.tsx +0 -70
  241. package/src/core/components/skeleton/__workshop__/index.ts +0 -11
  242. package/src/core/components/skeleton/__workshop__/skeleton.tsx +0 -64
  243. package/src/core/components/tab/__workshop__/example.tsx +0 -79
  244. package/src/core/components/tab/__workshop__/index.ts +0 -14
  245. package/src/core/components/toast/__workshop__/hook.tsx +0 -71
  246. package/src/core/components/toast/__workshop__/index.ts +0 -19
  247. package/src/core/components/toast/__workshop__/toast.tsx +0 -26
  248. package/src/core/components/tree/__workshop__/basic.perf.ts +0 -19
  249. package/src/core/components/tree/__workshop__/basic.tsx +0 -105
  250. package/src/core/components/tree/__workshop__/index.ts +0 -21
  251. package/src/core/components/tree/__workshop__/tabFromElement.tsx +0 -84
  252. package/src/core/hooks/useElementRect/__workshop__/example.tsx +0 -32
  253. package/src/core/hooks/useElementRect/__workshop__/index.ts +0 -14
  254. package/src/core/hooks/useMediaIndex/__workshop__/index.ts +0 -14
  255. package/src/core/hooks/useMediaIndex/__workshop__/test.tsx +0 -14
  256. package/src/core/primitives/avatar/__workshop__/asButton.tsx +0 -14
  257. package/src/core/primitives/avatar/__workshop__/index.ts +0 -29
  258. package/src/core/primitives/avatar/__workshop__/stack.tsx +0 -25
  259. package/src/core/primitives/avatar/__workshop__/withinButton.tsx +0 -63
  260. package/src/core/primitives/avatar/__workshop__/withinMenuItem.tsx +0 -70
  261. package/src/core/primitives/badge/__workshop__/index.ts +0 -19
  262. package/src/core/primitives/badge/__workshop__/props.tsx +0 -30
  263. package/src/core/primitives/badge/__workshop__/tones.tsx +0 -21
  264. package/src/core/primitives/box/__workshop__/asComponent.tsx +0 -31
  265. package/src/core/primitives/box/__workshop__/index.ts +0 -24
  266. package/src/core/primitives/box/__workshop__/props.tsx +0 -20
  267. package/src/core/primitives/box/__workshop__/responsive.tsx +0 -20
  268. package/src/core/primitives/button/__workshop__/custom.tsx +0 -51
  269. package/src/core/primitives/button/__workshop__/customIcons.tsx +0 -30
  270. package/src/core/primitives/button/__workshop__/disabled.tsx +0 -74
  271. package/src/core/primitives/button/__workshop__/index.ts +0 -59
  272. package/src/core/primitives/button/__workshop__/mixedChildren.tsx +0 -12
  273. package/src/core/primitives/button/__workshop__/props.tsx +0 -55
  274. package/src/core/primitives/button/__workshop__/sanityUploadButton.tsx +0 -36
  275. package/src/core/primitives/button/__workshop__/stacked.tsx +0 -58
  276. package/src/core/primitives/button/__workshop__/styled1.tsx +0 -17
  277. package/src/core/primitives/button/__workshop__/styled2.tsx +0 -19
  278. package/src/core/primitives/button/__workshop__/uploadButton.tsx +0 -28
  279. package/src/core/primitives/card/__workshop__/allTones.tsx +0 -25
  280. package/src/core/primitives/card/__workshop__/asButton.tsx +0 -107
  281. package/src/core/primitives/card/__workshop__/asComponent.tsx +0 -27
  282. package/src/core/primitives/card/__workshop__/checkered.tsx +0 -26
  283. package/src/core/primitives/card/__workshop__/index.ts +0 -18
  284. package/src/core/primitives/card/__workshop__/interactive.tsx +0 -30
  285. package/src/core/primitives/card/__workshop__/listNavigation.tsx +0 -80
  286. package/src/core/primitives/card/__workshop__/props.tsx +0 -53
  287. package/src/core/primitives/card/__workshop__/selected.tsx +0 -94
  288. package/src/core/primitives/card/__workshop__/styled.tsx +0 -14
  289. package/src/core/primitives/checkbox/__workshop__/example.tsx +0 -25
  290. package/src/core/primitives/checkbox/__workshop__/index.ts +0 -13
  291. package/src/core/primitives/checkbox/__workshop__/props.tsx +0 -33
  292. package/src/core/primitives/checkbox/__workshop__/readOnly.tsx +0 -16
  293. package/src/core/primitives/checkbox/__workshop__/tones.tsx +0 -28
  294. package/src/core/primitives/code/__workshop__/index.ts +0 -19
  295. package/src/core/primitives/code/__workshop__/opticalAlignment.tsx +0 -48
  296. package/src/core/primitives/code/__workshop__/props.tsx +0 -21
  297. package/src/core/primitives/container/__workshop__/example.tsx +0 -20
  298. package/src/core/primitives/container/__workshop__/index.ts +0 -8
  299. package/src/core/primitives/flex/__workshop__/example.tsx +0 -34
  300. package/src/core/primitives/flex/__workshop__/gap.tsx +0 -25
  301. package/src/core/primitives/flex/__workshop__/index.ts +0 -11
  302. package/src/core/primitives/grid/__workshop__/index.ts +0 -10
  303. package/src/core/primitives/grid/__workshop__/responsive.tsx +0 -54
  304. package/src/core/primitives/heading/__workshop__/index.ts +0 -19
  305. package/src/core/primitives/heading/__workshop__/opticalAlignment.tsx +0 -54
  306. package/src/core/primitives/heading/__workshop__/plain.tsx +0 -32
  307. package/src/core/primitives/inline/__workshop__/index.ts +0 -8
  308. package/src/core/primitives/inline/__workshop__/plain.tsx +0 -27
  309. package/src/core/primitives/kbd/__workshop__/index.ts +0 -8
  310. package/src/core/primitives/kbd/__workshop__/plain.tsx +0 -9
  311. package/src/core/primitives/label/__workshop__/index.ts +0 -19
  312. package/src/core/primitives/label/__workshop__/opticalAlignment.tsx +0 -48
  313. package/src/core/primitives/label/__workshop__/plain.tsx +0 -24
  314. package/src/core/primitives/popover/__workshop__/AlignedStory.tsx +0 -77
  315. package/src/core/primitives/popover/__workshop__/MarginsStory.tsx +0 -31
  316. package/src/core/primitives/popover/__workshop__/MatchReferenceWidthStory.tsx +0 -32
  317. package/src/core/primitives/popover/__workshop__/OpenOnMountStory.tsx +0 -11
  318. package/src/core/primitives/popover/__workshop__/PlainStory.tsx +0 -71
  319. package/src/core/primitives/popover/__workshop__/RecursiveStory.tsx +0 -71
  320. package/src/core/primitives/popover/__workshop__/SidePanelStory.tsx +0 -89
  321. package/src/core/primitives/popover/__workshop__/TestStory.tsx +0 -97
  322. package/src/core/primitives/popover/__workshop__/index.ts +0 -49
  323. package/src/core/primitives/radio/__workshop__/example.tsx +0 -63
  324. package/src/core/primitives/radio/__workshop__/index.ts +0 -11
  325. package/src/core/primitives/radio/__workshop__/plain.tsx +0 -28
  326. package/src/core/primitives/select/__workshop__/index.ts +0 -11
  327. package/src/core/primitives/select/__workshop__/plain.tsx +0 -27
  328. package/src/core/primitives/select/__workshop__/readOnly.tsx +0 -23
  329. package/src/core/primitives/spinner/__workshop__/Props.tsx +0 -15
  330. package/src/core/primitives/spinner/__workshop__/index.ts +0 -14
  331. package/src/core/primitives/stack/__workshop__/index.ts +0 -14
  332. package/src/core/primitives/stack/__workshop__/plain.tsx +0 -32
  333. package/src/core/primitives/switch/__workshop__/example.tsx +0 -23
  334. package/src/core/primitives/switch/__workshop__/index.ts +0 -11
  335. package/src/core/primitives/switch/__workshop__/props.tsx +0 -21
  336. package/src/core/primitives/text/__workshop__/colored.tsx +0 -30
  337. package/src/core/primitives/text/__workshop__/example.tsx +0 -39
  338. package/src/core/primitives/text/__workshop__/index.ts +0 -24
  339. package/src/core/primitives/text/__workshop__/opticalAlignment.tsx +0 -48
  340. package/src/core/primitives/textArea/__workshop__/index.ts +0 -14
  341. package/src/core/primitives/textArea/__workshop__/plain.tsx +0 -50
  342. package/src/core/primitives/textInput/__workshop__/clearButton.tsx +0 -30
  343. package/src/core/primitives/textInput/__workshop__/customValidity.tsx +0 -17
  344. package/src/core/primitives/textInput/__workshop__/index.ts +0 -44
  345. package/src/core/primitives/textInput/__workshop__/plain.tsx +0 -98
  346. package/src/core/primitives/textInput/__workshop__/readOnly.tsx +0 -9
  347. package/src/core/primitives/textInput/__workshop__/states.tsx +0 -53
  348. package/src/core/primitives/textInput/__workshop__/tones.tsx +0 -277
  349. package/src/core/primitives/textInput/__workshop__/typed.tsx +0 -23
  350. package/src/core/primitives/tooltip/__workshop__/customPortal.tsx +0 -102
  351. package/src/core/primitives/tooltip/__workshop__/index.ts +0 -29
  352. package/src/core/primitives/tooltip/__workshop__/overflowingBoundary.tsx +0 -74
  353. package/src/core/primitives/tooltip/__workshop__/props.tsx +0 -107
  354. package/src/core/primitives/tooltip/__workshop__/resizableBoundary.tsx +0 -86
  355. package/src/core/theme/__workshop__/build/Root.tsx +0 -367
  356. package/src/core/theme/__workshop__/build/helpers.ts +0 -46
  357. package/src/core/theme/__workshop__/build/story.tsx +0 -465
  358. package/src/core/theme/__workshop__/canvas.tsx +0 -352
  359. package/src/core/theme/__workshop__/color.tsx +0 -62
  360. package/src/core/theme/__workshop__/debug/story.tsx +0 -408
  361. package/src/core/theme/__workshop__/index.ts +0 -39
  362. package/src/core/theme/__workshop__/layer.tsx +0 -78
  363. package/src/core/theme/__workshop__/nestedProvider.tsx +0 -15
  364. package/src/core/utils/boundaryElement/__workshop__/index.ts +0 -14
  365. package/src/core/utils/boundaryElement/__workshop__/plain.tsx +0 -19
  366. package/src/core/utils/elementQuery/__workshop__/customMedia.tsx +0 -30
  367. package/src/core/utils/elementQuery/__workshop__/index.ts +0 -14
  368. package/src/core/utils/layer/__workshop__/_debug.tsx +0 -17
  369. package/src/core/utils/layer/__workshop__/index.ts +0 -24
  370. package/src/core/utils/layer/__workshop__/multipleRoots.tsx +0 -49
  371. package/src/core/utils/layer/__workshop__/nested.tsx +0 -98
  372. package/src/core/utils/layer/__workshop__/responsiveZOffset.tsx +0 -13
  373. package/src/core/utils/portal/__workshop__/index.ts +0 -14
  374. package/src/core/utils/portal/__workshop__/named.tsx +0 -63
  375. package/src/core/utils/virtualList/__workshop__/changingProps.tsx +0 -36
  376. package/src/core/utils/virtualList/__workshop__/elementScroll.tsx +0 -24
  377. package/src/core/utils/virtualList/__workshop__/index.ts +0 -29
  378. package/src/core/utils/virtualList/__workshop__/infiniteList.tsx +0 -48
  379. package/src/core/utils/virtualList/__workshop__/windowScrolll.tsx +0 -22
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tabList.mjs","names":["_createColorTheme","_hexToRgb","_hslToRgb","_multiply","_parseColor","_rgbToHex","_rgbToHsl","_rgba","_screen","getScopedTheme","RootTheme","Theme","ThemeColorCardToneKey","ThemeColorSchemeKey","useContext","useMemo","ThemeProvider","StyledThemeProvider","ThemeContext","ThemeContextValue","ThemeProviderProps","children","React","ReactNode","scheme","theme","tone","props","$","_c","parentTheme","rootTheme","t0","bb0","t1","version","themeContext","bb1","t2","Symbol","for","t3","displayName","ThemeColorCardToneKey","ThemeColorSchemeKey","ThemeProvider","useRootTheme","ThemeColorProviderProps","children","React","ReactNode","scheme","tone","ThemeColorProvider","props","$","_c","root","t0","t1","theme","displayName","useTheme","useStyledTheme","BASE_STYLE","BASE_STYLE","BASE_STYLE","styled","SpanWithTextOverflow","span","forwardRef","styled","_getArrayProp","boxStyle","flexItemStyle","FlexItemStyleProps","responsiveBoxStyle","ResponsiveBoxStyleProps","responsiveGridItemStyle","ResponsiveGridItemStyleProps","responsiveMarginStyle","ResponsiveMarginStyleProps","responsivePaddingStyle","ResponsivePaddingStyleProps","ElementType","Props","ResponsiveBoxProps","ResponsiveFlexItemProps","ResponsiveGridItemProps","ResponsiveMarginProps","ResponsivePaddingProps","BoxOwnProps","forwardedAs","BoxProps","E","StyledBox","div","BoxComponent","Box","props","ref","$","_c","deprecated_column","deprecated_columnEnd","deprecated_columnStart","deprecated_row","deprecated_rowEnd","deprecated_rowStart","flex","gridColumn","gridColumnEnd","gridColumnStart","gridRow","gridRowEnd","gridRowStart","height","marginBottom","marginLeft","marginRight","marginTop","marginX","marginY","overflow","paddingBottom","paddingLeft","paddingRight","paddingTop","paddingX","paddingY","restProps","sizing","t0","t1","t2","t3","as","column","columnStart","columnEnd","display","margin","padding","row","rowStart","rowEnd","asProp","undefined","t4","t5","t6","t7","t8","t9","t10","t11","t12","t13","t14","t15","t16","t17","t18","t19","t20","t21","t22","t23","t24","t25","t26","t27","t28","t29","t30","children","displayName","React","JSX","Element","ThemeFontWeightKey","forwardRef","styled","_getArrayProp","ResponsiveFontStyleProps","responsiveTextAlignStyle","responsiveTextFont","ElementType","Props","TextAlign","SpanWithTextOverflow","textBaseStyle","TextOwnProps","accent","align","muted","size","textOverflow","weight","TextProps","E","StyledText","div","TextComponent","Text","props","ref","$","_c","childrenProp","restProps","t0","t1","t2","children","undefined","t3","t4","t5","t6","displayName","React","JSX","Element","forwardRef","styled","_getArrayProp","flexItemStyle","FlexItemStyleProps","responsiveFlexStyle","ResponsiveFlexStyleProps","ElementType","Props","Box","BoxOwnProps","ResponsiveFlexItemProps","ResponsiveFlexProps","FlexOwnProps","Omit","gap","FlexProps","E","StyledFlex","FlexComponent","Flex","props","ref","$","_c","align","as","justify","restProps","t0","wrap","direction","undefined","t1","t2","t3","t4","t5","t6","displayName","React","JSX","Element","SpinnerIcon","forwardRef","keyframes","styled","Text","SpinnerProps","muted","size","rotate","StyledSpinner","Spinner","props","ref","$","_c","t0","Symbol","for","t1","displayName","ThemeFontWeightKey","forwardRef","isValidElement","useMemo","isValidElementType","styled","_getArrayProp","ThemeProps","responsiveRadiusStyle","ResponsiveRadiusStyleProps","useTheme_v2","ButtonMode","ButtonTextAlign","ButtonTone","ButtonWidth","ElementType","FlexJustify","Props","Box","Flex","Spinner","Text","ResponsivePaddingProps","ResponsiveRadiusProps","buttonBaseStyles","buttonColorStyles","ButtonOwnProps","fontSize","mode","icon","React","ReactNode","iconRight","justify","loading","selected","space","gap","muted","text","textAlign","textWeight","tone","type","width","ButtonProps","E","StyledButton","button","$mode","$tone","$width","LoadingBox","div","ButtonComponent","Button","props","ref","$","_c","IconComponent","IconRightComponent","children","disabled","paddingBottomProp","paddingLeftProp","paddingRightProp","paddingTopProp","paddingXProp","paddingYProp","restProps","t0","t1","t2","t3","t4","t5","t6","t7","t8","padding","paddingX","paddingY","paddingTop","paddingBottom","paddingLeft","paddingRight","radius","undefined","justifyProp","paddingProp","radiusProp","deprecated_space","t9","t10","t11","t12","t13","t14","t15","t16","t17","t18","t19","spacing","t20","boxProps","t21","Boolean","t22","t23","t24","t25","t26","t27","displayName","JSX","Element","ThemeColorSchemeKey","forwardRef","isValidElementType","styled","_getArrayProp","responsiveBorderStyle","ResponsiveBorderStyleProps","responsiveRadiusStyle","ResponsiveRadiusStyleProps","responsiveShadowStyle","ResponsiveShadowStyleProps","ThemeColorProvider","useRootTheme","CardTone","ElementType","Props","Box","BoxOwnProps","ResponsiveBorderProps","ResponsiveRadiusProps","ResponsiveShadowProps","cardStyle","CardStyleProps","CardOwnProps","__unstable_checkered","__unstable_focusRing","disabled","muted","pressed","scheme","selected","tone","CardProps","E","StyledCard","CardComponent","Card","props","ref","$","_c","asProp","border","borderBottom","borderLeft","borderRight","borderTop","restProps","shadow","t0","t1","t2","t3","as","radius","checkered","undefined","focusRing","toneProp","rootTheme","t4","t5","t6","t7","t8","t9","t10","t11","t12","t13","t14","t15","t16","t17","displayName","React","JSX","Element","ResizeObserverPolyfill","forwardRef","styled","_getArrayProp","responsiveGridStyle","ResponsiveGridStyleProps","ElementType","Props","Box","BoxOwnProps","ResponsiveGridProps","GridOwnProps","Omit","GridProps","E","StyledGrid","GridComponent","Grid","props","ref","$","_c","as","autoCols","autoFlow","autoRows","children","columns","gap","gapX","gapY","gridTemplateColumns","gridTemplateRows","restProps","rows","t0","undefined","t1","t2","t3","t4","t5","t6","t7","t8","t9","t10","t11","displayName","React","JSX","Element","Children","forwardRef","useMemo","styled","_getArrayProp","ElementType","Props","Box","BoxOwnProps","inlineBaseStyle","inlineSpaceStyle","ResponsiveInlineSpaceStyleProps","InlineOwnProps","Omit","space","gap","InlineProps","E","StyledInline","InlineComponent","Inline","props","ref","$","_c","as","childrenProp","deprecated_space","restProps","children","spacing","undefined","t0","map","_temp","t1","t2","t3","displayName","React","JSX","Element","child","forwardRef","css","styled","_getArrayProp","responsiveRadiusStyle","ResponsiveRadiusStyleProps","ElementType","Props","Radius","Box","Text","KBDOwnProps","fontSize","padding","radius","KBDProps","E","kbdStyle","StyledKBD","kbd","KBDComponent","KBD","props","ref","$","_c","children","restProps","t0","t1","t2","undefined","t3","t4","t5","t6","displayName","React","JSX","Element","ForwardedRef","forwardRef","HTMLProps","css","styled","useTheme_v2","compileCommands","getRoundedCommands","Point","StyledArrow","div","$w","w","StrokePath","path","ShapePath","Arrow","props","ref","$","_c","h","restProps","t0","width","height","radius","undefined","card","strokeWidth","shadow","outline","center","t1","points","x","y","cmds","strokePath","fillPath","t2","t3","t4","t5","t6","t7","t8","displayName","useCallback","useContext","useEffect","useMemo","useState","useMediaIndex","_getArrayProp","getLayerContext","LayerContext","LayerContextValue","LayerProviderProps","children","React","ReactNode","zOffset","LayerProvider","props","$","_c","t0","zOffsetProp","undefined","parentContextValue","t1","parent","parentRegisterChild","registerChild","parentLevel","level","t2","maxMediaIndex","length","mediaIndex","Math","min","zIndex","t3","Symbol","for","setChildLayers","size","setSize","isTopLayer","t4","childLevel","parentDispose","state","prevLen","nextState","Object","keys","_temp","state_0","nextState_0","_temp2","t5","t6","t7","version","value","t8","v_0","v","displayName","FocusEvent","forwardRef","useCallback","useEffect","useImperativeHandle","useRef","styled","EMPTY_RECORD","containsOrEqualsElement","isHTMLElement","LayerProvider","useLayer","LayerProps","as","React","ElementType","JSX","IntrinsicElements","onActivate","props","activeElement","HTMLElement","zOffset","LayerChildrenProps","StyledLayer","div","position","LayerChildren","forwardedRef","$","_c","children","onFocus","restProps","t0","style","undefined","zIndex","isTopLayer","lastFocusedRef","ref","isTopLayerRef","t1","Symbol","for","current","t2","t3","becameTopLayer","t4","event","rootElement","target","document","handleFocus","t5","t6","Layer","displayName","useMemo","useSyncExternalStore","PortalContext","PortalContextValue","PortalProviderProps","boundaryElement","HTMLElement","children","React","ReactNode","element","__unstable_elements","Record","PortalProvider","props","$","_c","elements","fallbackElement","emptySubscribe","_temp","_temp2","t0","t1","t2","version","value","t3","document","body","displayName","DEFAULT_FALLBACK_PLACEMENTS","Strategy","ThemeColorSchemeKey","motion","MotionProps","React","CSSProperties","forwardRef","useMemo","styled","POPOVER_MOTION_PROPS","BoxOverflow","CardTone","Placement","PopoverMargins","Radius","Arrow","useLayer","Card","CardProps","Flex","DEFAULT_POPOVER_ARROW_HEIGHT","DEFAULT_POPOVER_ARROW_RADIUS","DEFAULT_POPOVER_ARROW_WIDTH","DEFAULT_POPOVER_MARGINS","MotionCard","create","MotionFlex","PopoverCard","props","ref","$","_c","animate","arrow","arrowRef","arrowX","arrowY","children","marginsProp","originX","originY","overflow","padding","placement","radius","restProps","scheme","shadow","strategy","style","tone","width","xProp","yProp","__unstable_margins","x","y","zIndex","margins","t0","undefined","t1","left","position","top","willChange","rootStyle","t2","t3","t4","right","bottom","arrowStyle","t5","t6","t7","t8","t9","t10","transition","t11","t12","card","displayName","arrow","autoPlacement","autoUpdate","flip","hide","Middleware","offset","RootBoundary","shift","useFloating","ThemeColorSchemeKey","AnimatePresence","cloneElement","forwardRef","Ref","useCallback","useEffect","useImperativeHandle","useMemo","useRef","useState","useElementSize","useMediaIndex","usePrefersReducedMotion","origin","_getArrayProp","useTheme_v2","BoxOverflow","CardTone","Placement","PopoverMargins","LayerProps","LayerProvider","Portal","useBoundaryElement","useLayer","getElementRef","ResponsiveRadiusProps","ResponsiveShadowProps","DEFAULT_FALLBACK_PLACEMENTS","DEFAULT_POPOVER_DISTANCE","DEFAULT_POPOVER_MARGINS","DEFAULT_POPOVER_PADDING","size","calcCurrentWidth","calcMaxWidth","PopoverCard","PopoverUpdateCallback","PopoverWidth","PopoverProps","Omit","__unstable_margins","animate","boundaryElement","HTMLElement","children","React","JSX","Element","constrainSize","content","ReactNode","disabled","fallbackPlacements","floatingBoundary","matchReferenceWidth","modal","open","overflow","padding","placement","placementStrategy","portal","preventOverflow","referenceBoundary","referenceElement","scheme","tone","updateRef","width","ViewportOverlay","$","_c","zIndex","t0","height","inset","position","Popover","props","forwardedRef","container","layer","boundaryElementContext","_boundaryElement","_fallbackPlacements","_floatingBoundary","_referenceBoundary","_zOffsetProp","childProp","paddingProp","restProps","t1","t10","t11","t2","t3","t4","t5","t6","t7","t8","t9","t12","t13","t14","t15","t16","t17","t18","t19","t20","t21","t22","t23","onActivate","t24","t25","t26","t27","t28","t29","t30","radius","t31","t32","t33","t34","shadow","t35","t36","t37","zOffset","t38","t39","t40","margins","undefined","_animate","arrowProp","placementProp","radiusProp","shadowProp","widthProp","element","zOffsetProp","popover","prefersReducedMotion","boundarySize","border","widthArrayProp","ref","arrowRef","Symbol","for","current","mediaIndex","boundaryWidth","widthRef","currentWidth","maxWidth","maxWidthRef","referenceWidthRef","floatingElement","referenceWidth","style","referenceWidth_0","setReferenceWidth","rootBoundary","middleware","useMiddleware","reference","whileElementsMounted","elements","x","y","middlewareData","refs","strategy","update","referenceHidden","arrowX","arrowY","originX","originY","arrowEl","setArrow","node","setFloating","bb0","setReference","child","displayName","ret","allowedPlacements","concat","push","boundary","mainAxis","forwardRef","styled","_getArrayProp","ElementType","Props","Box","BoxOwnProps","responsiveStackSpaceStyle","ResponsiveStackSpaceStyleProps","stackBaseStyle","StackOwnProps","gap","space","StackProps","E","StyledStack","StackComponent","Stack","props","ref","$","_c","as","deprecated_space","restProps","spacing","undefined","t0","t1","t2","displayName","React","JSX","Element","CloseIcon","ThemeFontWeightKey","forwardRef","isValidElement","useCallback","useImperativeHandle","useMemo","useRef","isValidElementType","styled","EMPTY_RECORD","useCustomValidity","_getArrayProp","responsiveInputPaddingStyle","responsiveRadiusStyle","ResponsiveRadiusStyleProps","textInputBaseStyle","textInputFontSizeStyle","TextInputInputStyleProps","textInputRepresentationStyle","TextInputRepresentationStyleProps","TextInputResponsivePaddingStyleProps","textInputRootStyle","useRootTheme","Radius","Box","Button","ButtonOwnProps","Card","Text","TextInputClearButtonProps","Omit","React","HTMLProps","HTMLButtonElement","TextInputType","TextInputProps","__unstable_disableFocusRing","border","clearButton","customValidity","fontSize","icon","ElementType","ReactNode","iconRight","onClear","padding","prefix","radius","space","gap","suffix","type","weight","CLEAR_BUTTON_BOX_STYLE","CSSProperties","zIndex","StyledTextInput","attrs","forwardedAs","InputRoot","span","Prefix","Suffix","Input","input","Presentation","LeftBox","RightBox","RightCard","TextInputClearButton","display","TextInput","props","forwardedRef","$","_c","IconComponent","IconRightComponent","readOnly","restProps","t0","t1","t2","t3","t4","t5","t6","disabled","undefined","fontSizeProp","paddingProp","radiusProp","deprecated_space","ref","rootTheme","t7","t8","t9","t10","t11","$hasClearButton","Boolean","$hasIcon","$hasIconRight","$hasSuffix","$hasPrefix","t12","Symbol","for","current","handleClearMouseDown","_temp","t13","event_0","event","preventDefault","stopPropagation","focus","handleClearClick","t14","prefixNode","t15","t16","t17","t18","scheme","tone","presentationNode","t19","map","_temp2","clearButtonBoxPadding","t20","_temp3","clearButtonPadding","clearButtonProps","t21","clearButtonNode","t22","suffixNode","t23","t24","t25","t26","displayName","v","v_0","ThemeColorSchemeKey","motion","MotionProps","React","CSSProperties","forwardRef","useMemo","styled","POPOVER_MOTION_PROPS","Placement","Radius","Arrow","Card","CardProps","DEFAULT_TOOLTIP_ARROW_HEIGHT","DEFAULT_TOOLTIP_ARROW_RADIUS","DEFAULT_TOOLTIP_ARROW_WIDTH","MotionCard","create","TooltipCard","props","ref","$","_c","animate","arrow","arrowRef","arrowX","arrowY","children","originX","originY","padding","placement","radius","restProps","scheme","shadow","style","t0","undefined","t1","willChange","rootStyle","t2","t3","t4","left","top","right","bottom","arrowStyle","t5","t6","t7","t8","t9","t10","card","transition","displayName","createGlobalScopedContext","TooltipDelayGroupContextValue","TooltipDelayGroupContext","arrow","autoUpdate","flip","Middleware","offset","RootBoundary","shift","useFloating","ThemeColorSchemeKey","AnimatePresence","cloneElement","forwardRef","useCallback","useEffect","useId","useImperativeHandle","useLayoutEffect","useMemo","useRef","useState","styled","useEffectEvent","usePrefersReducedMotion","useDelayedState","origin","_getArrayProp","useTheme_v2","Placement","Layer","LayerProps","Portal","useBoundaryElement","usePortal","getElementRef","Delay","DEFAULT_FALLBACK_PLACEMENTS","DEFAULT_TOOLTIP_DISTANCE","DEFAULT_TOOLTIP_PADDING","TooltipCard","useTooltipDelayGroup","TooltipProps","Omit","allowedAutoPlacements","boundaryElement","HTMLElement","children","React","JSX","Element","content","ReactNode","disabled","fallbackPlacements","padding","placement","portal","radius","scheme","shadow","delay","animate","StyledTooltip","Tooltip","props","forwardedRef","$","_c","boundaryElementContext","layer","_boundaryElement","_fallbackPlacementsProp","_zOffset","childProp","portalProp","restProps","t0","t1","t2","t3","t4","t5","zOffset","_animate","undefined","arrowProp","placementProp","element","fallbackPlacementsProp","tooltip","prefersReducedMotion","t6","ref","referenceElement","setReferenceElement","arrowRef","tooltipMaxWidth","setTooltipMaxWidth","t7","Symbol","for","current","portalElement","elements","t8","rootBoundary","middleware","useMiddleware","t9","reference","t10","whileElementsMounted","floatingStyles","middlewareData","refs","update","arrowX","x","arrowY","y","originX","originY","tooltipId","isOpen","setIsOpen","delayGroupContext","t11","setIsGroupActive","setOpenTooltipId","showTooltip","openTooltipId","isInsideGroup","openDelayProp","open","closeDelayProp","close","openDelay","closeDelay","t12","immediate","groupedOpenDelay","groupDeactivateDelay","standaloneDelay","handleIsOpenChange","t13","e","onBlur","handleBlur","t14","e_0","onClick","handleClick","t15","e_1","onContextMenu","handleContextMenu","t16","e_2","onFocus","handleFocus","t17","e_3","onMouseEnter","handleMouseEnter","t18","e_4","onMouseLeave","handleMouseLeave","t19","useCloseOnMouseLeave","t20","t21","t22","t23","t24","t25","handleWindowKeyDown","event","key","window","addEventListener","removeEventListener","t26","offsetWidth","availableWidths","document","body","Math","min","t27","t28","arrowEl","setArrow","t29","node","setFloating","t30","bb0","t31","child","t32","t33","t34","t35","maxWidth","t36","t37","t38","t39","t40","displayName","ret","boundary","push","mainAxis","target","teardown","isHoveringReference","Node","contains","onMouseMove","handleMouseMove","forwardRef","styled","Inline","KBD","_getArrayProp","Radius","HotkeysProps","fontSize","gap","padding","radius","space","keys","StyledHotkeys","kbd","Key","Hotkeys","props","ref","$","_c","restProps","t0","deprecated_space","undefined","t1","t2","spacing","length","t3","Symbol","for","t4","key","i","map","t5","displayName","forwardRef","useCallback","useEffect","useImperativeHandle","useMemo","useRef","styled","useClickOutsideEvent","useGlobalKeyDown","Box","Stack","ResponsivePaddingProps","useLayer","MenuContext","MenuContextValue","useMenuController","MenuProps","event","MouseEvent","index","HTMLElement","el","FocusEvent","StyledMenu","Menu","props","forwardedRef","$","_c","_shouldFocus","children","gap","onClickOutside","onEscape","onItemClick","onItemSelect","onKeyDown","originElement","registerElement","restProps","t0","t1","t2","focusFirst","focusLast","t3","t4","t5","t6","t7","t8","padding","t9","t10","shouldFocus","t11","t12","space","t13","t14","undefined","deprecated_space","spacing","ref","Symbol","for","current","isTopLayer","rootElementRef","activeElement","activeIndex","handleItemMouseEnter","handleItemMouseLeave","handleKeyDown","mount","unregisterElementRef","handleRefChange","key","stopPropagation","version","onItemMouseEnter","onItemMouseLeave","value","displayName","styled","responsiveRadiusStyle","ResponsiveRadiusStyleProps","Box","selectableBaseStyle","selectableColorStyle","SelectableStyleProps","Selectable","displayName","ChevronRightIcon","isValidElement","useCallback","useEffect","useState","isValidElementType","Box","Flex","Popover","PopoverProps","Text","Selectable","_getArrayProp","useRootTheme","ElementType","Props","Radius","SelectableTone","Menu","MenuProps","useMenu","MenuGroupOwnProps","fontSize","icon","React","ReactNode","menu","Omit","padding","popover","radius","gap","space","text","tone","MenuGroupProps","E","MenuGroupComponent","props","$","_c","IconComponent","children","menuProps","onClick","restProps","t0","t1","t2","t3","t4","t5","as","undefined","deprecated_space","spacing","scheme","activeElement","mount","onClickOutside","onEscape","onItemClick","onItemMouseEnter","_onItemMouseEnter","registerElement","rootElement","setRootElement","open","setOpen","shouldFocus","setShouldFocus","active","Boolean","withinMenu","setWithinMenu","t6","event","handleMouseEnter","t7","event_0","key","stopPropagation","requestAnimationFrame","focus","handleMenuKeyDown","t8","event_1","handleClick","t9","handleChildItemClick","t10","Symbol","for","handleMenuMouseEnter","t11","t12","t13","t14","t15","t16","t17","t18","rafId","cancelAnimationFrame","t19","childMenu","t20","event_2","target","currentTarget","document","handleKeyDown","t21","t22","t23","t24","t25","t26","t27","t28","t29","t30","t31","t32","displayName","MenuGroup","JSX","Element","forwardRef","isValidElement","useCallback","useEffect","useImperativeHandle","useMemo","useRef","useState","isValidElementType","Box","Flex","Text","Selectable","ResponsivePaddingProps","ResponsiveRadiusProps","_getArrayProp","useRootTheme","ElementType","Props","SelectableTone","Hotkeys","useMenu","MenuItemOwnProps","fontSize","hotkeys","icon","React","ReactNode","iconRight","pressed","selected","gap","space","text","tone","MenuItemProps","E","MenuItemComponent","MenuItem","props","forwardedRef","$","_c","IconComponent","IconRightComponent","children","disabled","onClick","paddingBottom","paddingLeft","paddingRight","paddingTop","paddingX","paddingY","restProps","selectedProp","t0","t1","t2","t3","t4","t5","as","padding","radius","undefined","deprecated_space","spacing","scheme","menu","activeElement","mount","onItemClick","onItemMouseEnter","_onItemMouseEnter","onItemMouseLeave","_onItemMouseLeave","rootElement","setRootElement","active","Boolean","ref","t6","Symbol","for","current","t7","t8","t9","event","handleClick","t10","paddingProps","t11","map","_temp","hotkeysFontSize","t12","el","setRef","t13","t14","t15","t16","t17","t18","t19","t20","marginTop","marginBottom","t21","t22","displayName","JSX","Element","s","forwardRef","useCallback","useEffect","useImperativeHandle","useRef","styled","Button","ButtonTone","TabProps","React","ElementType","ReactNode","CustomButton","Tab","props","forwardedRef","$","_c","focused","icon","id","label","onClick","onFocus","restProps","selected","t0","t1","fontSize","padding","undefined","ref","focusedRef","t2","Symbol","for","current","t3","handleBlur","t4","event","handleFocus","t5","t6","focus","t7","t8","t9","displayName","Children","cloneElement","forwardRef","isValidElement","useCallback","useState","styled","Inline","InlineOwnProps","TabListProps","Omit","children","Array","React","JSX","Element","CustomInline","TabList","props","ref","$","_c","childrenProp","restProps","focusedIndex","setFocusedIndex","t0","toArray","filter","t1","child","childIndex","focused","key","onFocus","map","tabs","numTabs","length","event","prevIndex","prevIndex_0","handleKeyDown","t2","displayName"],"sources":["../src/core/_compat.ts","../src/core/constants.ts","../src/core/helpers/element.ts","../src/core/styles/helpers.ts","../src/core/styles/font/responsiveFont.ts","../src/core/styles/font/textAlignStyle.ts","../src/core/styles/font/textFontStyle.ts","../src/core/lib/globalScope.ts","../src/core/lib/createGlobalScopedContext.ts","../src/core/theme/themeContext.ts","../src/core/theme/themeProvider.tsx","../src/core/theme/useRootTheme.ts","../src/core/theme/themeColorProvider.tsx","../src/core/theme/useTheme.ts","../src/core/styles/border/borderStyle.ts","../src/core/styles/box/boxStyle.ts","../src/core/styles/flex/flexItemStyle.ts","../src/core/styles/flex/flexStyle.ts","../src/core/styles/focusRing/index.ts","../src/core/styles/grid/gridItemStyle.ts","../src/core/styles/grid/gridStyle.ts","../src/core/styles/input/responsiveInputPaddingStyle.ts","../src/core/styles/input/textInputStyle.ts","../src/core/styles/margin/marginStyle.ts","../src/core/styles/padding/paddingStyle.ts","../src/core/styles/radius/radiusStyle.ts","../src/core/styles/shadow/shadowStyle.ts","../src/core/utils/spanWithTextOverflow.tsx","../src/core/primitives/box/box.tsx","../src/core/primitives/text/styles.ts","../src/core/primitives/text/text.tsx","../src/core/primitives/flex/flex.tsx","../src/core/primitives/spinner/spinner.tsx","../src/core/styles/card/_cardColorStyle.ts","../src/core/primitives/button/styles.ts","../src/core/primitives/button/button.tsx","../src/core/primitives/card/styles.ts","../src/core/primitives/card/card.tsx","../src/core/hooks/useClickOutsideEvent.ts","../src/core/hooks/useCustomValidity.ts","../src/core/observers/resizeObserver.ts","../src/core/observers/elementSizeObserver.ts","../src/core/hooks/useElementSize.ts","../src/core/hooks/useGlobalKeyDown.ts","../src/core/hooks/useMatchMedia.ts","../src/core/hooks/useMediaIndex/useMediaIndex.ts","../src/core/hooks/usePrefersDark.ts","../src/core/hooks/usePrefersReducedMotion.ts","../src/core/primitives/grid/grid.tsx","../src/core/primitives/inline/styles.ts","../src/core/primitives/inline/inline.tsx","../src/core/primitives/kbd/kbd.tsx","../src/core/middleware/origin.ts","../src/core/utils/arrow/cmds.ts","../src/core/utils/arrow/arrow.tsx","../src/core/utils/boundaryElement/boundaryElementContext.ts","../src/core/lib/isRecord.ts","../src/core/utils/boundaryElement/useBoundaryElement.ts","../src/core/utils/layer/getLayerContext.ts","../src/core/utils/layer/layerContext.ts","../src/core/utils/layer/layerProvider.tsx","../src/core/utils/layer/useLayer.ts","../src/core/utils/layer/layer.tsx","../src/core/utils/portal/portalContext.ts","../src/core/utils/portal/usePortal.ts","../src/core/utils/portal/portal.ts","../src/core/utils/portal/portalProvider.tsx","../src/core/utils/getElementRef.ts","../src/core/primitives/popover/constants.ts","../src/core/primitives/popover/floating-ui/size.ts","../src/core/primitives/popover/helpers.ts","../src/core/primitives/popover/popoverCard.tsx","../src/core/primitives/popover/popover.tsx","../src/core/primitives/stack/styles.ts","../src/core/primitives/stack/stack.tsx","../src/core/primitives/textInput/textInput.tsx","../src/core/hooks/useDelayedState.ts","../src/core/primitives/tooltip/constants.ts","../src/core/primitives/tooltip/tooltipCard.tsx","../src/core/primitives/tooltip/tooltipDelayGroup/tooltipDelayGroupContext.tsx","../src/core/primitives/tooltip/tooltipDelayGroup/useTooltipDelayGroup.ts","../src/core/primitives/tooltip/tooltip.tsx","../src/core/components/hotkeys/hotkeys.tsx","../src/core/components/menu/menuContext.ts","../src/core/components/menu/helpers.ts","../src/core/components/menu/useMenuController.ts","../src/core/components/menu/menu.tsx","../src/core/components/menu/menuDivider.ts","../src/core/primitives/_selectable/style.ts","../src/core/primitives/_selectable/selectable.tsx","../src/core/components/menu/useMenu.ts","../src/core/components/menu/menuGroup.tsx","../src/core/components/menu/menuItem.tsx","../src/core/components/tab/tab.tsx","../src/core/components/tab/tabList.tsx"],"sourcesContent":["// 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 // oxlint-disable-next-line no-deprecated\n type PartialThemeColorBuilderOpts,\n // oxlint-disable-next-line no-deprecated\n type ThemeAvatar,\n // oxlint-disable-next-line no-deprecated\n type ThemeColor,\n // oxlint-disable-next-line no-deprecated\n type ThemeColorBase,\n // oxlint-disable-next-line no-deprecated\n type ThemeColorBuilderOpts,\n // oxlint-disable-next-line no-deprecated\n type ThemeColorButton,\n // oxlint-disable-next-line no-deprecated\n type ThemeColorButtonState,\n // oxlint-disable-next-line no-deprecated\n type ThemeColorButtonStates,\n // oxlint-disable-next-line no-deprecated\n type ThemeColorButtonTones,\n // oxlint-disable-next-line no-deprecated\n type ThemeColorCard,\n // oxlint-disable-next-line no-deprecated\n type ThemeColorCardState,\n // oxlint-disable-next-line no-deprecated\n type ThemeColorGenericState,\n // oxlint-disable-next-line no-deprecated\n type ThemeColorInput,\n // oxlint-disable-next-line no-deprecated\n type ThemeColorInputState,\n // oxlint-disable-next-line no-deprecated\n type ThemeColorInputStates,\n // oxlint-disable-next-line no-deprecated\n type ThemeColorMuted,\n // oxlint-disable-next-line no-deprecated\n type ThemeColorMutedTone,\n // oxlint-disable-next-line no-deprecated\n type ThemeColorName,\n // oxlint-disable-next-line no-deprecated\n type ThemeColorScheme,\n // oxlint-disable-next-line no-deprecated\n type ThemeColorSchemes,\n // oxlint-disable-next-line no-deprecated\n type ThemeColorSelectable,\n // oxlint-disable-next-line no-deprecated\n type ThemeColorSelectableState,\n // oxlint-disable-next-line no-deprecated\n type ThemeColorSelectableStates,\n // oxlint-disable-next-line no-deprecated\n type ThemeColorSolid,\n // oxlint-disable-next-line no-deprecated\n type ThemeColorSolidTone,\n // oxlint-disable-next-line no-deprecated\n type ThemeColorSpot,\n // oxlint-disable-next-line no-deprecated\n type ThemeColorSpotKey,\n // oxlint-disable-next-line no-deprecated\n type ThemeColorToneKey,\n // oxlint-disable-next-line no-deprecated\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 */\n// oxlint-disable-next-line no-deprecated\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 = buildTheme()\n","import type {Transition, Variant} from 'motion/react'\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 {CSSObject, getTheme_v2, Theme} from '@sanity/ui/theme'\n\nimport {EMPTY_ARRAY} from '../constants'\n\n/**\n * @internal\n */\nexport function _fillCSSObject(keys: string[], value: string | number | CSSObject): CSSObject {\n return keys.reduce<CSSObject>((style, key) => {\n style[key] = value\n\n return style\n }, {})\n}\n\n/**\n * @public\n */\nexport function rem(pixelValue: number): string | 0 {\n if (pixelValue === 0) return 0\n\n return `${pixelValue / 16}rem`\n}\n\n/**\n * @internal\n */\nexport function _responsive<T>(\n media: number[],\n values: T[],\n callback: (value: T, index: number, array: T[]) => CSSObject,\n): CSSObject[] {\n const statements = values?.map(callback) || []\n\n return statements.map((statement, mediaIndex) => {\n if (mediaIndex === 0) return statement\n\n return {[`@media screen and (min-width: ${media[mediaIndex - 1]}px)`]: statement}\n })\n}\n\n/**\n * @internal\n */\nexport function _getArrayProp<T = number>(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/**\n * @internal\n */\nexport function _getResponsiveSpace(\n theme: Theme,\n props: string[],\n spaceIndexes: number[] = EMPTY_ARRAY,\n): CSSObject[] | null {\n if (!Array.isArray(spaceIndexes)) {\n throw new Error('the property must be array of numbers')\n }\n\n if (spaceIndexes.length === 0) {\n return null\n }\n\n const {media, space} = getTheme_v2(theme)\n\n return _responsive(media, spaceIndexes, (spaceIndex) =>\n _fillCSSObject(props, rem(space[spaceIndex])),\n )\n}\n","import {CSSObject, getTheme_v2, ThemeFontKey, ThemeFontSize} from '@sanity/ui/theme'\n\nimport {_responsive, rem} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveFontStyleProps} from './types'\n\n/**\n * A utility function getting responsive font styles.\n * @internal\n */\nexport function responsiveFont(\n fontKey: ThemeFontKey,\n props: ResponsiveFontStyleProps & ThemeProps,\n): CSSObject[] {\n const {$size, $weight} = props\n const {font, media} = getTheme_v2(props.theme)\n const {family, sizes, weights} = font[fontKey]\n const fontWeight = ($weight && weights[$weight]) || weights.regular\n\n // @todo: make this configurable\n const defaultSize = sizes[2]\n\n const base: CSSObject = {\n 'position': 'relative',\n 'fontFamily': family,\n 'fontWeight': `${fontWeight}`,\n 'padding': '1px 0',\n 'margin': 0,\n\n '&:before': {\n content: '\"\"',\n display: 'block',\n height: 0,\n },\n\n '&:after': {\n content: '\"\"',\n display: 'block',\n height: 0,\n },\n\n '& > code, & > span': {\n display: 'block',\n },\n\n '&:not([hidden])': {\n display: 'block',\n },\n }\n\n // @TODO fix the real condition that is causing $size to be undefined sometimes\n if (!$size) {\n // @ts-expect-error: `warned` isn't typed, the underlying issue should be solved rather than typing it\n if (!responsiveFont.warned) {\n console.warn('No size specified for responsive font', {fontKey, $size, props, base})\n // @ts-expect-error: `warned` isn't typed, the underlying issue should be solved rather than typing it\n responsiveFont.warned = true\n }\n\n return [base]\n }\n\n const resp = _responsive(media, $size, (sizeIndex) => fontSize(sizes[sizeIndex] || defaultSize))\n\n return [base, ...resp]\n}\n\nexport function fontSize(size: ThemeFontSize): CSSObject {\n const {ascenderHeight, descenderHeight, fontSize, iconSize, letterSpacing, lineHeight} = size\n const negHeight = ascenderHeight + descenderHeight\n const capHeight = lineHeight - negHeight\n const iconOffset = (capHeight - iconSize) / 2\n const customIconSize = Math.floor((fontSize * 1.125) / 2) * 2 + 1\n const customIconOffset = (capHeight - customIconSize) / 2\n\n return {\n 'fontSize': rem(fontSize),\n 'lineHeight': `calc(${lineHeight} / ${fontSize})`,\n 'letterSpacing': rem(letterSpacing),\n 'transform': `translateY(${rem(descenderHeight)})`,\n\n '&:before': {\n marginTop: `calc(${rem(0 - negHeight)} - 1px)`,\n },\n\n '&:after': {\n marginBottom: '-1px',\n },\n\n '& svg:not([data-sanity-icon])': {\n fontSize: `calc(${customIconSize} / 16 * 1rem)`,\n margin: rem(customIconOffset),\n },\n\n '& [data-sanity-icon]': {\n fontSize: `calc(${iconSize} / 16 * 1rem)`,\n margin: rem(iconOffset),\n },\n }\n}\n","import {CSSObject, getTheme_v2} from '@sanity/ui/theme'\n\nimport {_responsive} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveTextAlignStyleProps} from './types'\n\n/**\n * Get responsive text align styles.\n * @internal\n */\nexport function responsiveTextAlignStyle(\n props: ResponsiveTextAlignStyleProps & ThemeProps,\n): CSSObject[] {\n const {media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$align, (textAlign) => {\n return {textAlign}\n })\n}\n","import {CSSObject} from '@sanity/ui/theme'\n\nimport {ThemeProps} from '../types'\nimport {responsiveFont} from './responsiveFont'\nimport {ResponsiveFontStyleProps} from './types'\n\n/**\n * Get responsive CSS for the `text` font style.\n * @internal\n */\nexport function responsiveTextFont(props: ResponsiveFontStyleProps & ThemeProps): CSSObject[] {\n return responsiveFont('text', props)\n}\n","/**\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\n// oxlint-disable-next-line no-unsafe-type-assertion\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\n// oxlint-disable-next-line no-unnecessary-type-parameters\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 const context = createContext<ContextType>(defaultValue)\n context.displayName = key\n return context\n }\n\n globalScope[symbol] = globalScope[symbol] || createContext<T>(defaultValue)\n\n return globalScope[symbol]\n}\n","import {createGlobalScopedContext} from '../lib/createGlobalScopedContext'\nimport {ThemeContextValue} from './types'\n\n/**\n * @internal\n */\nexport const ThemeContext = createGlobalScopedContext<ThemeContextValue | null>(\n '@sanity/ui/context/theme',\n null,\n)\n","import {\n getScopedTheme,\n type RootTheme,\n type Theme,\n type ThemeColorCardToneKey,\n type ThemeColorSchemeKey,\n} from '@sanity/ui/theme'\nimport {useContext, useMemo} from 'react'\nimport {ThemeProvider as StyledThemeProvider} from 'styled-components'\n\nimport {ThemeContext} from './themeContext'\nimport {ThemeContextValue} from './types'\n\n/**\n * @public\n */\nexport interface ThemeProviderProps {\n children?: React.ReactNode\n scheme?: ThemeColorSchemeKey\n theme?: RootTheme\n tone?: ThemeColorCardToneKey\n}\n\n/**\n * @public\n */\nexport function ThemeProvider(props: ThemeProviderProps): React.JSX.Element {\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 <ThemeContext.Provider value={themeContext}>\n <StyledThemeProvider theme={theme}>{children}</StyledThemeProvider>\n </ThemeContext.Provider>\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 // oxlint-disable-next-line no-unnecessary-type-assertion, no-unsafe-type-assertion\n return value as unknown as ThemeContextValue\n}\n","import {ThemeColorCardToneKey, ThemeColorSchemeKey} from '@sanity/ui/theme'\n\nimport {ThemeProvider} from './themeProvider'\nimport {useRootTheme} from './useRootTheme'\n\n/**\n * @public\n */\nexport interface ThemeColorProviderProps {\n children?: React.ReactNode\n scheme?: ThemeColorSchemeKey\n tone?: ThemeColorCardToneKey\n}\n\n/**\n * @public\n */\nexport function ThemeColorProvider(props: ThemeColorProviderProps): React.JSX.Element {\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 // oxlint-disable-next-line no-unnecessary-type-assertion\n return useStyledTheme() as Theme\n}\n\n/**\n * @public\n */\nexport function useTheme_v2(): Theme_v2 {\n // oxlint-disable-next-line no-unnecessary-type-assertion\n return getTheme_v2(useStyledTheme() as Theme)\n}\n","import {CSSObject, getTheme_v2} from '@sanity/ui/theme'\n\nimport {_responsive} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveBorderStyleProps} from './types'\n\nexport function responsiveBorderStyle(): Array<\n (props: ResponsiveBorderStyleProps & ThemeProps) => CSSObject[]\n> {\n return [border, borderTop, borderRight, borderBottom, borderLeft]\n}\n\nfunction border(props: ResponsiveBorderStyleProps & ThemeProps) {\n const {card, media} = getTheme_v2(props.theme)\n const borderStyle = `${card.border?.width ?? 1}px solid var(--card-border-color)`\n\n return _responsive(media, props.$border, (value) =>\n value ? {'&&': {border: borderStyle}} : {'&&': {border: 0}},\n )\n}\n\nfunction borderTop(props: ResponsiveBorderStyleProps & ThemeProps) {\n const {card, media} = getTheme_v2(props.theme)\n const borderStyle = `${card.border?.width ?? 1}px solid var(--card-border-color)`\n\n return _responsive(media, props.$borderTop, (value) =>\n value ? {'&&': {borderTop: borderStyle}} : {'&&': {borderTop: 0}},\n )\n}\n\nfunction borderRight(props: ResponsiveBorderStyleProps & ThemeProps) {\n const {card, media} = getTheme_v2(props.theme)\n const borderStyle = `${card.border?.width ?? 1}px solid var(--card-border-color)`\n\n return _responsive(media, props.$borderRight, (value) =>\n value ? {'&&': {borderRight: borderStyle}} : {'&&': {borderRight: 0}},\n )\n}\n\nfunction borderBottom(props: ResponsiveBorderStyleProps & ThemeProps) {\n const {card, media} = getTheme_v2(props.theme)\n const borderStyle = `${card.border?.width ?? 1}px solid var(--card-border-color)`\n\n return _responsive(media, props.$borderBottom, (value) =>\n value ? {'&&': {borderBottom: borderStyle}} : {'&&': {borderBottom: 0}},\n )\n}\n\nfunction borderLeft(props: ResponsiveBorderStyleProps & ThemeProps) {\n const {card, media} = getTheme_v2(props.theme)\n const borderStyle = `${card.border?.width ?? 1}px solid var(--card-border-color)`\n\n return _responsive(media, props.$borderLeft, (value) =>\n value ? {'&&': {borderLeft: borderStyle}} : {'&&': {borderLeft: 0}},\n )\n}\n","import {CSSObject, getTheme_v2} from '@sanity/ui/theme'\nimport {Property} from 'csstype'\n\nimport {_responsive} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveBoxStyleProps} from './types'\n\nconst BASE_STYLE: CSSObject = {\n '&[data-as=\"ul\"],&[data-as=\"ol\"]': {\n listStyle: 'none',\n },\n}\n\nconst BOX_SIZING: {[key: string]: Property.BoxSizing} = {\n content: 'content-box',\n border: 'border-box',\n}\n\nconst BOX_HEIGHT = {\n stretch: 'stretch',\n fill: '100%',\n}\n\nexport function boxStyle(): CSSObject {\n return BASE_STYLE\n}\n\nexport function responsiveBoxStyle(): Array<\n (props: ResponsiveBoxStyleProps & ThemeProps) => CSSObject[]\n> {\n return [\n responsiveBoxSizingStyle,\n responsiveBoxHeightStyle,\n responsiveBoxOverflowStyle,\n responsiveBoxDisplayStyle,\n ]\n}\n\nfunction responsiveBoxDisplayStyle(props: ResponsiveBoxStyleProps & ThemeProps) {\n const {media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$display, (display) => ({\n '&:not([hidden])': {display},\n }))\n}\n\nfunction responsiveBoxSizingStyle(props: ResponsiveBoxStyleProps & ThemeProps) {\n const {media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$sizing, (sizing) => ({\n boxSizing: BOX_SIZING[sizing],\n }))\n}\n\nfunction responsiveBoxHeightStyle(props: ResponsiveBoxStyleProps & ThemeProps) {\n const {media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$height, (height) => ({\n height: BOX_HEIGHT[height],\n }))\n}\n\nfunction responsiveBoxOverflowStyle(props: ResponsiveBoxStyleProps & ThemeProps) {\n const {media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$overflow, (overflow) => ({\n overflow,\n }))\n}\n","import {CSSObject, getTheme_v2} from '@sanity/ui/theme'\n\nimport {EMPTY_ARRAY} from '../../constants'\nimport {_responsive} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveFlexItemStyleProps} from './types'\n\nconst BASE_STYLE: CSSObject = {\n minWidth: 0,\n minHeight: 0,\n}\n\nexport function flexItemStyle(): Array<\n CSSObject | ((props: ResponsiveFlexItemStyleProps & ThemeProps) => CSSObject[])\n> {\n return [BASE_STYLE, responsiveFlexItemStyle]\n}\n\nexport function responsiveFlexItemStyle(\n props: ResponsiveFlexItemStyleProps & ThemeProps,\n): CSSObject[] {\n const {media} = getTheme_v2(props.theme)\n\n if (!props.$flex) return EMPTY_ARRAY\n\n return _responsive(media, props.$flex, (flex) => ({flex: `${flex}`}))\n}\n","import {CSSObject, getTheme_v2} from '@sanity/ui/theme'\n\nimport {_responsive, rem} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveFlexStyleProps} from './types'\n\nconst BASE_STYLE: CSSObject = {\n '&&:not([hidden])': {\n display: 'flex',\n },\n}\n\nexport function responsiveFlexStyle(): Array<\n CSSObject | ((props: ResponsiveFlexStyleProps & ThemeProps) => CSSObject[])\n> {\n return [\n BASE_STYLE,\n responsiveFlexAlignStyle,\n responsiveFlexGapStyle,\n responsiveFlexWrapStyle,\n responsiveFlexJustifyStyle,\n responsiveFlexDirectionStyle,\n ]\n}\n\nexport function responsiveFlexAlignStyle(\n props: ResponsiveFlexStyleProps & ThemeProps,\n): CSSObject[] {\n const {media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$align, (align) => {\n return {alignItems: align}\n })\n}\n\nfunction responsiveFlexGapStyle(props: ResponsiveFlexStyleProps & ThemeProps) {\n const {media, space} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$gap, (gap) => ({\n gap: gap ? rem(space[gap]) : undefined,\n }))\n}\n\nexport function responsiveFlexWrapStyle(props: ResponsiveFlexStyleProps & ThemeProps): CSSObject[] {\n const {media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$wrap, (wrap) => {\n return {flexWrap: wrap}\n })\n}\n\nexport function responsiveFlexJustifyStyle(\n props: ResponsiveFlexStyleProps & ThemeProps,\n): CSSObject[] {\n const {media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$justify, (justify) => {\n return {justifyContent: justify}\n })\n}\n\nexport function responsiveFlexDirectionStyle(\n props: ResponsiveFlexStyleProps & ThemeProps,\n): CSSObject[] {\n const {media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$direction, (direction) => {\n return {flexDirection: direction}\n })\n}\n","import {ThemeFocusRing} from '@sanity/ui/theme'\n\nexport function focusRingBorderStyle(border: {color: string; width: number}): string {\n return `inset 0 0 0 ${border.width}px ${border.color}`\n}\n\nexport function focusRingStyle(opts: {\n base?: {bg: string}\n border?: {color: string; width: number}\n focusRing: ThemeFocusRing\n}): string {\n const {base, border, focusRing} = opts\n const focusRingOutsetWidth = focusRing.offset + focusRing.width\n const focusRingInsetWidth = 0 - focusRing.offset\n const bgColor = base ? base.bg : 'var(--card-bg-color)'\n\n return [\n focusRingInsetWidth > 0 && `inset 0 0 0 ${focusRingInsetWidth}px var(--card-focus-ring-color)`,\n border && focusRingBorderStyle(border),\n focusRingInsetWidth < 0 && `0 0 0 ${0 - focusRingInsetWidth}px ${bgColor}`,\n focusRingOutsetWidth > 0 && `0 0 0 ${focusRingOutsetWidth}px var(--card-focus-ring-color)`,\n ]\n .filter(Boolean)\n .join(',')\n}\n","import {CSSObject, getTheme_v2} from '@sanity/ui/theme'\n\nimport {_responsive} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveGridItemStyleProps} from './types'\n\nexport function responsiveGridItemStyle(): Array<\n (props: ResponsiveGridItemStyleProps & ThemeProps) => CSSObject[]\n> {\n return [\n responsiveGridItemRowStyle,\n responsiveGridItemRowStartStyle,\n responsiveGridItemRowEndStyle,\n responsiveGridItemColumnStyle,\n responsiveGridItemColumnStartStyle,\n responsiveGridItemColumnEndStyle,\n ]\n}\n\nconst GRID_ITEM_ROW = {\n auto: 'auto',\n full: '1 / -1',\n}\n\nconst GRID_ITEM_COLUMN = {\n auto: 'auto',\n full: '1 / -1',\n}\n\nfunction responsiveGridItemRowStyle(props: ResponsiveGridItemStyleProps & ThemeProps) {\n const {media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$row, (row) => {\n if (typeof row === 'number') {\n return {gridRow: `span ${row} / span ${row}`}\n }\n\n return {gridRow: GRID_ITEM_ROW[row]}\n })\n}\n\nfunction responsiveGridItemRowStartStyle(props: ResponsiveGridItemStyleProps & ThemeProps) {\n const {media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$rowStart, (rowStart) => ({\n gridRowStart: `${rowStart}`,\n }))\n}\n\nfunction responsiveGridItemRowEndStyle(props: ResponsiveGridItemStyleProps & ThemeProps) {\n const {media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$rowEnd, (rowEnd) => ({gridRowEnd: `${rowEnd}`}))\n}\n\nfunction responsiveGridItemColumnStyle(props: ResponsiveGridItemStyleProps & ThemeProps) {\n const {media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$column, (column) => {\n if (typeof column === 'number') {\n return {gridColumn: `span ${column} / span ${column}`}\n }\n\n return {gridColumn: GRID_ITEM_COLUMN[column]}\n })\n}\n\nfunction responsiveGridItemColumnStartStyle(props: ResponsiveGridItemStyleProps & ThemeProps) {\n const {media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$columnStart, (columnStart) => ({\n gridColumnStart: `${columnStart}`,\n }))\n}\n\nfunction responsiveGridItemColumnEndStyle(props: ResponsiveGridItemStyleProps & ThemeProps) {\n const {media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$columnEnd, (columnEnd) => ({\n gridColumnEnd: `${columnEnd}`,\n }))\n}\n","import {CSSObject, getTheme_v2} from '@sanity/ui/theme'\n\nimport {_responsive, rem} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveGridStyleProps} from './types'\n\nconst GRID_CSS = {\n '&&:not([hidden])': {\n display: 'grid',\n },\n '&[data-as=\"ul\"],&[data-as=\"ol\"]': {\n listStyle: 'none',\n },\n}\n\nconst GRID_AUTO_COLUMS = {\n auto: 'auto',\n min: 'min-content',\n max: 'max-content',\n fr: 'minmax(0, 1fr)',\n}\n\nconst GRID_AUTO_ROWS = {\n auto: 'auto',\n min: 'min-content',\n max: 'max-content',\n fr: 'minmax(0, 1fr)',\n}\n\nexport function responsiveGridStyle(): Array<\n CSSObject | ((props: ResponsiveGridStyleProps & ThemeProps) => CSSObject[])\n> {\n return [\n GRID_CSS,\n responsiveGridAutoFlowStyle,\n responsiveGridAutoRowsStyle,\n responsiveGridAutoColsStyle,\n responsiveGridColumnsStyle,\n responsiveGridRowsStyle,\n responsiveGridGapStyle,\n responsiveGridGapXStyle,\n responsiveGridGapYStyle,\n ]\n}\n\nfunction responsiveGridAutoFlowStyle(props: ResponsiveGridStyleProps & ThemeProps) {\n const {media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$autoFlow, (autoFlow) => ({\n gridAutoFlow: autoFlow,\n }))\n}\n\nfunction responsiveGridAutoRowsStyle(props: ResponsiveGridStyleProps & ThemeProps) {\n const {media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$autoRows, (autoRows) => ({\n gridAutoRows: autoRows && GRID_AUTO_ROWS[autoRows],\n }))\n}\n\nfunction responsiveGridAutoColsStyle(props: ResponsiveGridStyleProps & ThemeProps) {\n const {media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$autoCols, (autoCols) => ({\n gridAutoColumns: autoCols && GRID_AUTO_COLUMS[autoCols],\n }))\n}\n\nfunction responsiveGridColumnsStyle(props: ResponsiveGridStyleProps & ThemeProps) {\n const {media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$columns, (columns) => ({\n gridTemplateColumns: columns && `repeat(${columns},minmax(0,1fr));`,\n }))\n}\n\nfunction responsiveGridRowsStyle(props: ResponsiveGridStyleProps & ThemeProps) {\n const {media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$rows, (rows) => ({\n gridTemplateRows: rows && `repeat(${rows},minmax(0,1fr));`,\n }))\n}\n\nfunction responsiveGridGapStyle(props: ResponsiveGridStyleProps & ThemeProps) {\n const {media, space} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$gap, (gap) => ({\n // oxlint-disable-next-line no-deprecated\n gridGap: gap ? rem(space[gap]) : undefined,\n }))\n}\n\nfunction responsiveGridGapXStyle(props: ResponsiveGridStyleProps & ThemeProps) {\n const {media, space} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$gapX, (gapX) => ({\n columnGap: gapX ? rem(space[gapX]) : undefined,\n }))\n}\n\nfunction responsiveGridGapYStyle(props: ResponsiveGridStyleProps & ThemeProps) {\n const {media, space} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$gapY, (gapY) => ({\n rowGap: gapY ? rem(space[gapY]) : undefined,\n }))\n}\n","import {CSSObject, getTheme_v2} from '@sanity/ui/theme'\n\nimport {_responsive, rem} from '../helpers'\nimport {ThemeProps} from '../types'\n\nexport interface TextInputResponsivePaddingStyleProps {\n $fontSize: number[]\n $iconLeft?: boolean\n $iconRight?: boolean\n $padding: number[]\n $space: number[]\n}\n\nexport function responsiveInputPaddingStyle(\n props: TextInputResponsivePaddingStyleProps & ThemeProps,\n): CSSObject[] {\n const {$fontSize, $iconLeft, $iconRight, $padding, $space} = props\n const {font, media, space} = getTheme_v2(props.theme)\n const len = Math.max($padding.length, $space.length, $fontSize.length)\n const _padding: number[] = []\n const _space: number[] = []\n const _fontSize: number[] = []\n\n for (let i = 0; i < len; i += 1) {\n _fontSize[i] = $fontSize[i] === undefined ? _fontSize[i - 1] : $fontSize[i]\n _padding[i] = $padding[i] === undefined ? _padding[i - 1] : $padding[i]\n _space[i] = $space[i] === undefined ? _space[i - 1] : $space[i]\n }\n\n return _responsive(media, _padding, (_, i) => {\n const size = font.text.sizes[_fontSize[i]] || font.text.sizes[2]\n const emSize = size.lineHeight - size.ascenderHeight - size.descenderHeight\n const p = space[_padding[i]]\n const s = space[_space[i]]\n\n const styles = {\n paddingTop: rem(p - size.ascenderHeight),\n paddingRight: rem(p),\n paddingBottom: rem(p - size.descenderHeight),\n paddingLeft: rem(p),\n }\n\n if ($iconRight) styles.paddingRight = rem(p + emSize + s)\n if ($iconLeft) styles.paddingLeft = rem(p + emSize + s)\n\n return styles\n })\n}\n\nexport function responsiveInputPaddingIconsStyle(\n props: {\n $fontSize: number[]\n $padding: number[]\n $space: number[]\n } & ThemeProps,\n): CSSObject[] {\n return responsiveInputPaddingStyle({...props, $iconLeft: true, $iconRight: true})\n}\n\nexport function responsiveInputPaddingIconLeftStyle(\n props: {\n $fontSize: number[]\n $padding: number[]\n $space: number[]\n } & ThemeProps,\n): CSSObject[] {\n return responsiveInputPaddingStyle({...props, $iconLeft: true})\n}\n\nexport function responsiveInputPaddingIconRightStyle(\n props: {\n $fontSize: number[]\n $padding: number[]\n $space: number[]\n } & ThemeProps,\n): CSSObject[] {\n return responsiveInputPaddingStyle({...props, $iconRight: true})\n}\n","import {CSSObject, getTheme_v2, ThemeColorSchemeKey, ThemeFontWeightKey} from '@sanity/ui/theme'\nimport {css} from 'styled-components'\n\nimport {CardTone} from '../../types'\nimport {focusRingBorderStyle, focusRingStyle} from '../focusRing'\nimport {_responsive, rem} from '../helpers'\nimport {ThemeProps} from '../types'\n\n/**\n * @internal\n */\nexport interface TextInputInputStyleProps {\n $fontSize: number[]\n $scheme: ThemeColorSchemeKey\n $tone: CardTone\n $weight?: ThemeFontWeightKey\n}\n\n/**\n * @internal\n */\nexport interface TextInputRepresentationStyleProps {\n $hasPrefix?: boolean\n $hasSuffix?: boolean\n $scheme: ThemeColorSchemeKey\n $tone: CardTone\n $unstableDisableFocusRing?: boolean\n}\n\nconst ROOT_STYLE = css`\n &:not([hidden]) {\n display: flex;\n }\n\n align-items: center;\n`\n\nexport function textInputRootStyle(): ReturnType<typeof css> {\n return ROOT_STYLE\n}\n\nexport function textInputBaseStyle(\n props: TextInputInputStyleProps & ThemeProps,\n): ReturnType<typeof css> {\n const {$scheme, $tone, $weight} = props\n const {color, font} = getTheme_v2(props.theme)\n\n return css`\n appearance: none;\n background: none;\n border: 0;\n border-radius: 0;\n outline: none;\n width: 100%;\n box-sizing: border-box;\n font-family: ${font.text.family};\n font-weight: ${($weight && font.text.weights[$weight]) || font.text.weights.regular};\n margin: 0;\n position: relative;\n z-index: 1;\n display: block;\n\n /* NOTE: This is a hack to disable Chrome’s autofill styles */\n &:-webkit-autofill,\n &:-webkit-autofill:hover,\n &:-webkit-autofill:focus,\n &:-webkit-autofill:active {\n -webkit-text-fill-color: var(--input-fg-color) !important;\n transition: background-color 5000s;\n transition-delay: 86400s /* 24h */;\n }\n\n /* &:is(textarea) */\n &[data-as='textarea'] {\n resize: none;\n }\n\n color: var(--input-fg-color);\n\n &::placeholder {\n color: var(--input-placeholder-color);\n }\n\n &[data-scheme='${$scheme}'][data-tone='${$tone}'] {\n --input-fg-color: ${color.input.default.enabled.fg};\n --input-placeholder-color: ${color.input.default.enabled.placeholder};\n\n /* enabled */\n &:not(:invalid):not(:disabled):not(:read-only) {\n --input-fg-color: ${color.input.default.enabled.fg};\n --input-placeholder-color: ${color.input.default.enabled.placeholder};\n }\n\n /* disabled */\n &:not(:invalid):disabled {\n --input-fg-color: ${color.input.default.disabled.fg};\n --input-placeholder-color: ${color.input.default.disabled.placeholder};\n }\n\n /* invalid */\n &:invalid {\n --input-fg-color: ${color.input.invalid.enabled.fg};\n --input-placeholder-color: ${color.input.invalid.enabled.placeholder};\n }\n\n /* readOnly */\n &:read-only {\n --input-fg-color: ${color.input.default.readOnly.fg};\n --input-placeholder-color: ${color.input.default.readOnly.placeholder};\n }\n }\n `\n}\n\nexport function textInputFontSizeStyle(props: TextInputInputStyleProps & ThemeProps): CSSObject[] {\n const {font, media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$fontSize, (sizeIndex) => {\n const size = font.text.sizes[sizeIndex] || font.text.sizes[2]\n\n return {\n fontSize: rem(size.fontSize),\n lineHeight: `${size.lineHeight / size.fontSize}`,\n }\n })\n}\n\nexport function textInputRepresentationStyle(\n props: TextInputRepresentationStyleProps & ThemeProps,\n): ReturnType<typeof css> {\n const {$hasPrefix, $hasSuffix, $scheme, $tone, $unstableDisableFocusRing} = props\n const {color, input} = getTheme_v2(props.theme)\n\n return css`\n --input-box-shadow: none;\n\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n display: block;\n pointer-events: none;\n z-index: 0;\n\n background-color: var(--card-bg-color);\n box-shadow: var(--input-box-shadow);\n\n border-top-left-radius: ${$hasPrefix ? 0 : undefined};\n border-bottom-left-radius: ${$hasPrefix ? 0 : undefined};\n border-top-right-radius: ${$hasSuffix ? 0 : undefined};\n border-bottom-right-radius: ${$hasSuffix ? 0 : undefined};\n\n &[data-scheme='${$scheme}'][data-tone='${$tone}'] {\n --card-bg-color: ${color.input.default.enabled.bg};\n --card-fg-color: ${color.input.default.enabled.fg};\n\n /* enabled */\n *:not(:disabled) + &[data-border] {\n --input-box-shadow: ${focusRingBorderStyle({\n color: color.input.default.enabled.border,\n width: input.border.width,\n })};\n }\n\n /* invalid */\n *:not(:disabled):invalid + & {\n --card-bg-color: ${color.input.invalid.enabled.bg};\n --card-fg-color: ${color.input.invalid.enabled.fg};\n\n &[data-border] {\n --input-box-shadow: ${focusRingBorderStyle({\n color: color.input.invalid.enabled.border,\n width: input.border.width,\n })};\n }\n }\n\n /* focused */\n *:not(:disabled):focus + & {\n &[data-border] {\n --input-box-shadow: ${$unstableDisableFocusRing\n ? undefined\n : focusRingStyle({\n border: {color: color.input.default.enabled.border, width: input.border.width},\n focusRing: input.text.focusRing,\n })};\n }\n\n &:not([data-border]) {\n --input-box-shadow: ${$unstableDisableFocusRing\n ? undefined\n : focusRingStyle({focusRing: input.text.focusRing})};\n }\n }\n\n /* disabled */\n *:not(:invalid):disabled + & {\n --card-bg-color: ${color.input.default.disabled.bg} !important;\n --card-fg-color: ${color.input.default.disabled.fg} !important;\n --card-icon-color: ${color.input.default.disabled.fg} !important;\n\n &[data-border] {\n --input-box-shadow: ${focusRingBorderStyle({\n color: color.input.default.disabled.border,\n width: input.border.width,\n })};\n }\n }\n\n *:invalid:disabled + & {\n --card-bg-color: ${color.input.invalid.disabled.bg} !important;\n --card-fg-color: ${color.input.invalid.disabled.fg} !important;\n --card-icon-color: ${color.input.invalid.disabled.fg} !important;\n\n &[data-border] {\n --input-box-shadow: ${focusRingBorderStyle({\n color: color.input.invalid.disabled.border,\n width: input.border.width,\n })};\n }\n }\n\n /* readOnly */\n *:not(:invalid):read-only + & {\n --card-bg-color: ${color.input.default.readOnly.bg} !important;\n --card-fg-color: ${color.input.default.readOnly.fg} !important;\n }\n\n *:invalid:read-only + & {\n --card-bg-color: ${color.input.invalid.readOnly.bg} !important;\n --card-fg-color: ${color.input.invalid.readOnly.fg} !important;\n }\n\n /* hovered */\n @media (hover: hover) {\n *:not(:disabled):not(:read-only):not(:invalid):hover + & {\n --card-bg-color: ${color.input.default.hovered.bg};\n --card-fg-color: ${color.input.default.hovered.fg};\n }\n\n *:invalid:not(:disabled):not(:read-only):hover + & {\n --card-bg-color: ${color.input.invalid.hovered.bg};\n --card-fg-color: ${color.input.invalid.hovered.fg};\n }\n\n *:not(:disabled):not(:read-only):not(:invalid):not(:focus):hover + &[data-border] {\n --input-box-shadow: ${focusRingBorderStyle({\n color: color.input.default.hovered.border,\n width: input.border.width,\n })};\n }\n\n *:invalid:not(:disabled):not(:read-only):not(:focus):hover + &[data-border] {\n --input-box-shadow: ${focusRingBorderStyle({\n color: color.input.invalid.hovered.border,\n width: input.border.width,\n })};\n }\n }\n }\n `\n}\n","import {CSSObject} from '@sanity/ui/theme'\n\nimport {_getResponsiveSpace} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveMarginStyleProps} from './types'\n\nexport function responsiveMarginStyle(\n props: ResponsiveMarginStyleProps & ThemeProps,\n): CSSObject[][] {\n const {theme} = props\n\n // oxlint-disable-next-line no-unsafe-type-assertion\n return [\n _getResponsiveSpace(theme, ['margin'], props.$margin),\n _getResponsiveSpace(theme, ['marginLeft', 'marginRight'], props.$marginX),\n _getResponsiveSpace(theme, ['marginTop', 'marginBottom'], props.$marginY),\n _getResponsiveSpace(theme, ['marginTop'], props.$marginTop),\n _getResponsiveSpace(theme, ['marginRight'], props.$marginRight),\n _getResponsiveSpace(theme, ['marginBottom'], props.$marginBottom),\n _getResponsiveSpace(theme, ['marginLeft'], props.$marginLeft),\n ].filter(Boolean) as CSSObject[][]\n}\n","import {CSSObject} from '@sanity/ui/theme'\n\nimport {_getResponsiveSpace} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsivePaddingStyleProps} from './types'\n\nexport function responsivePaddingStyle(\n props: ResponsivePaddingStyleProps & ThemeProps,\n): CSSObject[][] {\n const {theme} = props\n\n // oxlint-disable-next-line no-unsafe-type-assertion\n return [\n _getResponsiveSpace(theme, ['padding'], props.$padding),\n _getResponsiveSpace(theme, ['paddingLeft', 'paddingRight'], props.$paddingX),\n _getResponsiveSpace(theme, ['paddingTop', 'paddingBottom'], props.$paddingY),\n _getResponsiveSpace(theme, ['paddingTop'], props.$paddingTop),\n _getResponsiveSpace(theme, ['paddingRight'], props.$paddingRight),\n _getResponsiveSpace(theme, ['paddingBottom'], props.$paddingBottom),\n _getResponsiveSpace(theme, ['paddingLeft'], props.$paddingLeft),\n ].filter(Boolean) as CSSObject[][]\n}\n","import {CSSObject, getTheme_v2} from '@sanity/ui/theme'\n\nimport {_responsive, rem} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveRadiusStyleProps} from './types'\n\nexport function responsiveRadiusStyle(props: ResponsiveRadiusStyleProps & ThemeProps): CSSObject[] {\n const {media, radius} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$radius, (value) => {\n let borderRadius: string | 0 = 0\n\n if (typeof value === 'number') {\n borderRadius = rem(radius[value])\n }\n\n if (value === 'full') {\n borderRadius = '9999px'\n }\n\n return {borderRadius}\n })\n}\n","import {CSSObject, getTheme_v2, ThemeBoxShadow, ThemeShadow} from '@sanity/ui/theme'\n\nimport {EMPTY_RECORD} from '../../constants'\nimport {_responsive, rem} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveShadowStyleProps} from './types'\n\nfunction toBoxShadow(shadow: ThemeBoxShadow, color: string) {\n return `${shadow.map(rem).join(' ')} ${color}`\n}\n\nfunction shadowStyle(shadow: ThemeShadow | null, outlineWidth: number = 1): CSSObject {\n if (!shadow) return EMPTY_RECORD\n\n const outline = `0 0 0 ${rem(outlineWidth)} var(--card-shadow-outline-color)`\n const umbra = toBoxShadow(shadow.umbra, 'var(--card-shadow-umbra-color)')\n const penumbra = toBoxShadow(shadow.penumbra, 'var(--card-shadow-penumbra-color)')\n const ambient = toBoxShadow(shadow.ambient, 'var(--card-shadow-ambient-color)')\n\n return {boxShadow: `${outline}, ${umbra}, ${penumbra}, ${ambient}`}\n}\n\nexport function responsiveShadowStyle(props: ResponsiveShadowStyleProps & ThemeProps): CSSObject[] {\n const {card, media, shadow} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$shadow, (index) =>\n shadowStyle(shadow[index], card.shadow.outline),\n )\n}\n","import {styled} from 'styled-components'\n\n/** @internal */\nexport const SpanWithTextOverflow = styled.span`\n display: block;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n overflow: clip;\n`\n","import {forwardRef} from 'react'\nimport {styled} from 'styled-components'\n\nimport {_getArrayProp} from '../../styles'\nimport {\n boxStyle,\n flexItemStyle,\n FlexItemStyleProps,\n responsiveBoxStyle,\n ResponsiveBoxStyleProps,\n responsiveGridItemStyle,\n ResponsiveGridItemStyleProps,\n responsiveMarginStyle,\n ResponsiveMarginStyleProps,\n responsivePaddingStyle,\n ResponsivePaddingStyleProps,\n} from '../../styles/internal'\nimport {ElementType, Props} from '../../types'\nimport {\n ResponsiveBoxProps,\n ResponsiveFlexItemProps,\n ResponsiveGridItemProps,\n ResponsiveMarginProps,\n ResponsivePaddingProps,\n} from '../types'\n\n/**\n * The props that `Box` adds on top of the element it renders as.\n *\n * @public\n */\nexport interface BoxOwnProps\n extends\n ResponsiveFlexItemProps,\n ResponsiveBoxProps,\n ResponsiveGridItemProps,\n ResponsiveMarginProps,\n ResponsivePaddingProps {\n forwardedAs?: ElementType\n}\n\n/**\n * @public\n */\nexport type BoxProps<E extends ElementType = 'div'> = Props<BoxOwnProps, E>\n\nconst StyledBox = styled.div<\n FlexItemStyleProps &\n ResponsiveBoxStyleProps &\n ResponsiveGridItemStyleProps &\n ResponsiveMarginStyleProps &\n ResponsivePaddingStyleProps\n>(\n boxStyle,\n flexItemStyle,\n responsiveBoxStyle,\n responsiveGridItemStyle,\n responsiveMarginStyle,\n responsivePaddingStyle,\n)\n\nconst BoxComponent = forwardRef(function Box(\n props: BoxOwnProps & {as?: ElementType} & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'height'>,\n ref: React.ForwardedRef<HTMLDivElement>,\n) {\n const {\n as: asProp = 'div',\n gridColumn,\n // oxlint-disable-next-line no-deprecated\n column: deprecated_column,\n gridColumnStart,\n // oxlint-disable-next-line no-deprecated\n columnStart: deprecated_columnStart,\n gridColumnEnd,\n // oxlint-disable-next-line no-deprecated\n columnEnd: deprecated_columnEnd,\n display = 'block',\n flex,\n height,\n margin = 0,\n marginX,\n marginY,\n marginTop,\n marginRight,\n marginBottom,\n marginLeft,\n overflow,\n padding = 0,\n paddingX,\n paddingY,\n paddingTop,\n paddingRight,\n paddingBottom,\n paddingLeft,\n gridRow,\n // oxlint-disable-next-line no-deprecated\n row: deprecated_row,\n gridRowStart,\n // oxlint-disable-next-line no-deprecated\n rowStart: deprecated_rowStart,\n gridRowEnd,\n // oxlint-disable-next-line no-deprecated\n rowEnd: deprecated_rowEnd,\n sizing,\n ...restProps\n } = props\n const column = gridColumn === undefined ? deprecated_column : gridColumn\n const columnStart = gridColumnStart === undefined ? deprecated_columnStart : gridColumnStart\n const columnEnd = gridColumnEnd === undefined ? deprecated_columnEnd : gridColumnEnd\n const row = gridRow === undefined ? deprecated_row : gridRow\n const rowStart = gridRowStart === undefined ? deprecated_rowStart : gridRowStart\n const rowEnd = gridRowEnd === undefined ? deprecated_rowEnd : gridRowEnd\n\n return (\n <StyledBox\n data-as={typeof asProp === 'string' ? asProp : undefined}\n data-ui=\"Box\"\n {...restProps}\n $column={_getArrayProp(column)}\n $columnStart={_getArrayProp(columnStart)}\n $columnEnd={_getArrayProp(columnEnd)}\n $display={_getArrayProp(display)}\n $flex={_getArrayProp(flex)}\n $height={_getArrayProp(height)}\n $margin={_getArrayProp(margin)}\n $marginX={_getArrayProp(marginX)}\n $marginY={_getArrayProp(marginY)}\n $marginTop={_getArrayProp(marginTop)}\n $marginRight={_getArrayProp(marginRight)}\n $marginBottom={_getArrayProp(marginBottom)}\n $marginLeft={_getArrayProp(marginLeft)}\n $overflow={_getArrayProp(overflow)}\n $padding={_getArrayProp(padding)}\n $paddingX={_getArrayProp(paddingX)}\n $paddingY={_getArrayProp(paddingY)}\n $paddingTop={_getArrayProp(paddingTop)}\n $paddingRight={_getArrayProp(paddingRight)}\n $paddingBottom={_getArrayProp(paddingBottom)}\n $paddingLeft={_getArrayProp(paddingLeft)}\n $row={_getArrayProp(row)}\n $rowStart={_getArrayProp(rowStart)}\n $rowEnd={_getArrayProp(rowEnd)}\n $sizing={_getArrayProp(sizing)}\n as={asProp}\n ref={ref}\n >\n {props.children}\n </StyledBox>\n )\n})\nBoxComponent.displayName = 'ForwardRef(Box)'\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 */\n// oxlint-disable-next-line no-unsafe-type-assertion\nexport const Box = BoxComponent as unknown as <E extends ElementType = 'div'>(\n props: BoxProps<E>,\n) => React.JSX.Element\n","import {getTheme_v2} from '@sanity/ui/theme'\nimport {css} from 'styled-components'\n\nimport {ThemeProps} from '../../styles'\n\nexport function textBaseStyle(\n props: {$accent?: boolean; $muted?: boolean} & ThemeProps,\n): ReturnType<typeof css> {\n const {$accent, $muted} = props\n const {font} = getTheme_v2(props.theme)\n\n return css`\n color: var(--card-fg-color);\n\n ${$accent &&\n css`\n color: var(--card-accent-fg-color);\n `}\n\n ${$muted &&\n css`\n color: var(--card-muted-fg-color);\n `}\n\n & code {\n font-family: ${font.code.family};\n border-radius: 1px;\n background-color: var(--card-code-bg-color);\n color: var(--card-code-fg-color);\n }\n\n & a {\n text-decoration: none;\n border-radius: 1px;\n color: var(--card-link-color);\n outline: none;\n\n @media (hover: hover) {\n &:hover {\n text-decoration: underline;\n }\n }\n\n &:focus {\n box-shadow:\n 0 0 0 1px var(--card-bg-color),\n 0 0 0 3px var(--card-focus-ring-color);\n }\n\n &:focus:not(:focus-visible) {\n box-shadow: none;\n }\n }\n\n & strong {\n font-weight: ${font.text.weights.bold};\n }\n\n & svg {\n /* Certain popular CSS libraries changes the defaults for SVG display */\n /* Make sure SVGs are rendered as inline elements */\n display: inline;\n }\n\n & [data-sanity-icon] {\n vertical-align: baseline;\n color: var(--card-icon-color);\n\n & path {\n vector-effect: non-scaling-stroke !important;\n }\n }\n `\n}\n","import {ThemeFontWeightKey} from '@sanity/ui/theme'\nimport {forwardRef} from 'react'\nimport {styled} from 'styled-components'\n\nimport {_getArrayProp} from '../../styles'\nimport {\n ResponsiveFontStyleProps,\n responsiveTextAlignStyle,\n responsiveTextFont,\n} from '../../styles/internal'\nimport {ElementType, Props, TextAlign} from '../../types'\nimport {SpanWithTextOverflow} from '../../utils/spanWithTextOverflow'\nimport {textBaseStyle} from './styles'\n\n/**\n * @public\n */\nexport interface TextOwnProps {\n accent?: boolean\n align?: TextAlign | TextAlign[]\n /** When `true` the text color will be muted. */\n muted?: boolean\n size?: number | number[]\n /**\n * Controls how overflowing text is treated.\n * Use `textOverflow=\"ellipsis\"` to render text as a single line which is concatenated with a `…` symbol.\n * @beta\n */\n textOverflow?: 'ellipsis'\n weight?: ThemeFontWeightKey\n}\n\n/**\n * @public\n */\nexport type TextProps<E extends ElementType = 'div'> = Props<TextOwnProps, E>\n\nconst StyledText = styled.div<ResponsiveFontStyleProps>(\n responsiveTextFont,\n responsiveTextAlignStyle,\n textBaseStyle,\n)\n\nconst TextComponent = forwardRef(function Text(\n props: TextOwnProps & {as?: ElementType} & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'size'>,\n ref: React.ForwardedRef<HTMLDivElement>,\n) {\n const {\n accent = false,\n align,\n children: childrenProp,\n muted = false,\n size = 2,\n textOverflow,\n weight,\n ...restProps\n } = props\n\n let children = childrenProp\n\n if (textOverflow === 'ellipsis') {\n children = <SpanWithTextOverflow>{children}</SpanWithTextOverflow>\n }\n\n return (\n <StyledText\n data-ui=\"Text\"\n {...restProps}\n $accent={accent}\n $align={_getArrayProp(align)}\n $muted={muted}\n ref={ref}\n $size={_getArrayProp(size)}\n $weight={weight}\n >\n <span>{children}</span>\n </StyledText>\n )\n})\nTextComponent.displayName = 'ForwardRef(Text)'\n\n/**\n * The `Text` component is an agile, themed typographic element.\n *\n * @public\n */\n// oxlint-disable-next-line no-unsafe-type-assertion\nexport const Text = TextComponent as unknown as <E extends ElementType = 'div'>(\n props: TextProps<E>,\n) => React.JSX.Element\n","import {forwardRef} from 'react'\nimport {styled} from 'styled-components'\n\nimport {_getArrayProp} from '../../styles'\nimport {\n flexItemStyle,\n FlexItemStyleProps,\n responsiveFlexStyle,\n ResponsiveFlexStyleProps,\n} from '../../styles/internal'\nimport {ElementType, Props} from '../../types'\nimport {Box, BoxOwnProps} from '../box'\nimport {ResponsiveFlexItemProps, ResponsiveFlexProps} from '../types'\n\n/**\n * @public\n */\nexport interface FlexOwnProps\n extends Omit<BoxOwnProps, 'display'>, ResponsiveFlexProps, ResponsiveFlexItemProps {\n gap?: number | number[]\n}\n\n/**\n * @public\n */\nexport type FlexProps<E extends ElementType = 'div'> = Props<FlexOwnProps, E>\n\nconst StyledFlex = styled(Box)<FlexItemStyleProps & ResponsiveFlexStyleProps>(\n flexItemStyle,\n responsiveFlexStyle,\n)\n\nconst FlexComponent = forwardRef(function Flex(\n props: FlexOwnProps & {as?: ElementType} & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'wrap'>,\n ref: React.ForwardedRef<HTMLDivElement>,\n) {\n const {align, as, direction = 'row', gap, justify, wrap, ...restProps} = props\n\n return (\n <StyledFlex\n data-ui=\"Flex\"\n {...restProps}\n $align={_getArrayProp(align)}\n $direction={_getArrayProp(direction)}\n $gap={_getArrayProp(gap)}\n $justify={_getArrayProp(justify)}\n $wrap={_getArrayProp(wrap)}\n forwardedAs={as}\n ref={ref}\n />\n )\n})\nFlexComponent.displayName = 'ForwardRef(Flex)'\n\n/**\n * The `Flex` component is a wrapper component for flexible elements (`Box`, `Card` and `Flex`).\n *\n * @public\n */\n// oxlint-disable-next-line no-unsafe-type-assertion\nexport const Flex = FlexComponent as unknown as <E extends ElementType = 'div'>(\n props: FlexProps<E>,\n) => React.JSX.Element\n","import {SpinnerIcon} from '@sanity/icons'\nimport {forwardRef} from 'react'\nimport {keyframes, styled} from 'styled-components'\n\nimport {Text} from '../text'\n\n/**\n * @public\n */\nexport interface SpinnerProps {\n muted?: boolean\n size?: number | number[]\n}\n\nconst rotate = keyframes`\n from {\n transform: rotate(0deg);\n }\n\n to {\n transform: rotate(360deg);\n }\n`\n\nconst StyledSpinner = styled(Text)`\n & > span > svg {\n animation: ${rotate} 500ms linear infinite;\n }\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: SpinnerProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'size'>,\n ref: React.ForwardedRef<HTMLDivElement>,\n) {\n return (\n <StyledSpinner data-ui=\"Spinner\" {...props} ref={ref}>\n <SpinnerIcon />\n </StyledSpinner>\n )\n})\nSpinner.displayName = 'ForwardRef(Spinner)'\n","import {CSSObject, ThemeColorCard_v2, ThemeColorState_v2} from '@sanity/ui/theme'\n\n/**\n * @internal\n */\nexport function _cardColorStyle(\n base: ThemeColorCard_v2,\n color: ThemeColorState_v2,\n checkered = false,\n): CSSObject {\n return {\n // from base\n\n '--card-backdrop-color': base.backdrop,\n\n '--card-focus-ring-color': base.focusRing,\n\n '--card-shadow-outline-color': base.shadow.outline,\n '--card-shadow-umbra-color': base.shadow.umbra,\n '--card-shadow-penumbra-color': base.shadow.penumbra,\n '--card-shadow-ambient-color': base.shadow.ambient,\n\n // from state\n\n '--card-accent-fg-color': color.accent.fg,\n\n '--card-avatar-gray-bg-color': color.avatar.gray.bg,\n '--card-avatar-gray-fg-color': color.avatar.gray.fg,\n '--card-avatar-blue-bg-color': color.avatar.blue.bg,\n '--card-avatar-blue-fg-color': color.avatar.blue.fg,\n '--card-avatar-purple-bg-color': color.avatar.purple.bg,\n '--card-avatar-purple-fg-color': color.avatar.purple.fg,\n '--card-avatar-magenta-bg-color': color.avatar.magenta.bg,\n '--card-avatar-magenta-fg-color': color.avatar.magenta.fg,\n '--card-avatar-red-bg-color': color.avatar.red.bg,\n '--card-avatar-red-fg-color': color.avatar.red.fg,\n '--card-avatar-orange-bg-color': color.avatar.orange.bg,\n '--card-avatar-orange-fg-color': color.avatar.orange.fg,\n '--card-avatar-yellow-bg-color': color.avatar.yellow.bg,\n '--card-avatar-yellow-fg-color': color.avatar.yellow.fg,\n '--card-avatar-green-bg-color': color.avatar.green.bg,\n '--card-avatar-green-fg-color': color.avatar.green.fg,\n '--card-avatar-cyan-bg-color': color.avatar.cyan.bg,\n '--card-avatar-cyan-fg-color': color.avatar.cyan.fg,\n\n '--card-bg-color': color.bg,\n '--card-bg-image': checkered\n ? `repeating-conic-gradient(${color.bg} 0% 25%, ${color.muted.bg} 0% 50%)`\n : undefined,\n\n '--card-border-color': color.border,\n\n '--card-badge-default-bg-color': color.badge.default.bg,\n '--card-badge-default-dot-color': color.badge.default.dot,\n '--card-badge-default-fg-color': color.badge.default.fg,\n '--card-badge-default-icon-color': color.badge.default.icon,\n '--card-badge-neutral-bg-color': color.badge.neutral?.bg,\n '--card-badge-neutral-dot-color': color.badge.neutral?.dot,\n '--card-badge-neutral-fg-color': color.badge.neutral?.fg,\n '--card-badge-neutral-icon-color': color.badge.neutral?.icon,\n '--card-badge-primary-bg-color': color.badge.primary.bg,\n '--card-badge-primary-dot-color': color.badge.primary.dot,\n '--card-badge-primary-fg-color': color.badge.primary.fg,\n '--card-badge-primary-icon-color': color.badge.primary.icon,\n '--card-badge-suggest-bg-color': color.badge.suggest?.bg,\n '--card-badge-suggest-dot-color': color.badge.suggest?.dot,\n '--card-badge-suggest-fg-color': color.badge.suggest?.fg,\n '--card-badge-suggest-icon-color': color.badge.suggest?.icon,\n '--card-badge-positive-bg-color': color.badge.positive.bg,\n '--card-badge-positive-dot-color': color.badge.positive.dot,\n '--card-badge-positive-fg-color': color.badge.positive.fg,\n '--card-badge-positive-icon-color': color.badge.positive.icon,\n '--card-badge-caution-bg-color': color.badge.caution.bg,\n '--card-badge-caution-dot-color': color.badge.caution.dot,\n '--card-badge-caution-fg-color': color.badge.caution.fg,\n '--card-badge-caution-icon-color': color.badge.caution.icon,\n '--card-badge-critical-bg-color': color.badge.critical.bg,\n '--card-badge-critical-dot-color': color.badge.critical.dot,\n '--card-badge-critical-fg-color': color.badge.critical.fg,\n '--card-badge-critical-icon-color': color.badge.critical.icon,\n\n '--card-code-bg-color': color.code.bg,\n '--card-code-fg-color': color.code.fg,\n\n '--card-fg-color': color.fg,\n\n '--card-icon-color': color.icon,\n\n '--card-kbd-bg-color': color.kbd.bg,\n '--card-kbd-border-color': color.kbd.border,\n '--card-kbd-fg-color': color.kbd.fg,\n\n '--card-link-fg-color': color.link.fg,\n\n '--card-muted-bg-color': color.muted.bg,\n '--card-muted-fg-color': color.muted.fg,\n\n '--card-skeleton-color-from': color.skeleton.from,\n '--card-skeleton-color-to': color.skeleton.to,\n\n // deprecated variables (kept for legacy)\n\n '--card-bg2-color': color.muted.bg,\n '--card-link-color': color.link.fg,\n '--card-hairline-soft-color': color.border,\n '--card-hairline-hard-color': color.border,\n }\n}\n","import {CSSObject, getTheme_v2} from '@sanity/ui/theme'\nimport {css} from 'styled-components'\n\nimport {ThemeProps} from '../../styles'\nimport {_cardColorStyle} from '../../styles/card'\nimport {focusRingBorderStyle, focusRingStyle} from '../../styles/internal'\nimport {ButtonMode, ButtonTone, ButtonWidth} from '../../types'\n\n/**\n * @internal\n */\nexport function buttonBaseStyles(\n props: {$width?: ButtonWidth} & ThemeProps,\n): ReturnType<typeof css> {\n const {$width} = props\n const {style} = getTheme_v2(props.theme)\n\n return css`\n ${style?.button};\n\n -webkit-font-smoothing: inherit;\n appearance: none;\n display: inline-flex;\n align-items: center;\n font: inherit;\n border: 0;\n outline: none;\n user-select: none;\n text-decoration: none;\n border: 0;\n box-sizing: border-box;\n padding: 0;\n margin: 0;\n white-space: nowrap;\n text-align: left;\n position: relative;\n vertical-align: top;\n\n ${$width === 'fill' &&\n css`\n width: -moz-available;\n width: -webkit-fill-available;\n width: stretch;\n `}\n\n & > span {\n display: block;\n flex: 1;\n min-width: 0;\n border-radius: inherit;\n }\n\n &::-moz-focus-inner {\n border: 0;\n padding: 0;\n }\n `\n}\n\nfunction combineBoxShadow(...boxShadows: (string | undefined)[]): string {\n return boxShadows.filter(Boolean).join(',')\n}\n\n/**\n * @internal\n */\nexport function buttonColorStyles(\n props: {$mode: ButtonMode; $tone: ButtonTone} & ThemeProps,\n): CSSObject[] {\n const {$mode} = props\n const {button, color: baseColor, style} = getTheme_v2(props.theme)\n const shadow = props.$mode === 'ghost'\n const mode = baseColor.button[$mode] || baseColor.button.default\n const color = mode[props.$tone] || mode.default\n const border = {\n width: button.border.width,\n color: 'var(--card-border-color)',\n }\n // const defaultBoxShadow = `inset 0px -1.5px 0px ${buttonTheme.border.width}px color-mix(in srgb, var(--card-border-color) 25%, var(--card-bg-color))`\n const defaultBoxShadow = undefined\n\n // oxlint-disable-next-line no-unsafe-type-assertion\n return [\n _cardColorStyle(baseColor, color.enabled),\n {\n 'backgroundColor': 'var(--card-bg-color)',\n 'color': 'var(--card-fg-color)',\n 'boxShadow': focusRingBorderStyle(border),\n '&:disabled, &[data-disabled=\"true\"]': _cardColorStyle(baseColor, color.disabled),\n \"&:not([data-disabled='true'])\": {\n 'boxShadow': combineBoxShadow(\n focusRingBorderStyle(border),\n shadow ? defaultBoxShadow : undefined,\n ),\n '&:focus': {\n boxShadow: focusRingStyle({\n base: baseColor,\n border: {width: 2, color: baseColor.bg},\n focusRing: button.focusRing,\n }),\n },\n '&:focus:not(:focus-visible)': {\n boxShadow: combineBoxShadow(\n focusRingBorderStyle(border),\n shadow ? defaultBoxShadow : undefined,\n ),\n },\n '@media (hover: hover)': {\n '&:hover': _cardColorStyle(baseColor, color.hovered),\n '&:active': _cardColorStyle(baseColor, color.pressed),\n '&[data-hovered]': _cardColorStyle(baseColor, color.hovered),\n },\n '&[data-selected]': _cardColorStyle(baseColor, color.pressed),\n },\n },\n style?.button?.root,\n ].filter(Boolean) as CSSObject[]\n}\n","import {ThemeFontWeightKey} from '@sanity/ui/theme'\nimport {forwardRef, isValidElement, useMemo} from 'react'\nimport {isValidElementType} from 'react-is'\nimport {styled} from 'styled-components'\n\nimport {_getArrayProp, ThemeProps} from '../../styles'\nimport {responsiveRadiusStyle, ResponsiveRadiusStyleProps} from '../../styles/internal'\nimport {useTheme_v2} from '../../theme'\nimport {\n ButtonMode,\n ButtonTextAlign,\n ButtonTone,\n ButtonWidth,\n ElementType,\n FlexJustify,\n Props,\n} from '../../types'\nimport {Box} from '../box'\nimport {Flex} from '../flex'\nimport {Spinner} from '../spinner'\nimport {Text} from '../text'\nimport {ResponsivePaddingProps, ResponsiveRadiusProps} from '../types'\nimport {buttonBaseStyles, buttonColorStyles} from './styles'\n\n/**\n * @public\n */\nexport interface ButtonOwnProps extends ResponsivePaddingProps, ResponsiveRadiusProps {\n fontSize?: number | number[]\n mode?: ButtonMode\n // oxlint-disable-next-line no-redundant-type-constituents\n icon?: React.ElementType | React.ReactNode\n // oxlint-disable-next-line no-redundant-type-constituents\n iconRight?: React.ElementType | React.ReactNode\n justify?: FlexJustify | FlexJustify[]\n /**\n * @beta Do not use in production, as this might change.\n */\n loading?: boolean\n selected?: boolean\n /**\n * @deprecated Use `gap` instead. `space` will be removed in v4.\n */\n space?: number | number[]\n gap?: number | number[]\n muted?: boolean\n text?: React.ReactNode\n textAlign?: ButtonTextAlign\n textWeight?: ThemeFontWeightKey\n tone?: ButtonTone\n type?: 'button' | 'reset' | 'submit'\n width?: ButtonWidth\n}\n\n/**\n * @public\n */\nexport type ButtonProps<E extends ElementType = 'button'> = Props<ButtonOwnProps, E>\n\nconst StyledButton = styled.button<\n {$mode: ButtonMode; $tone: ButtonTone; $width?: ButtonWidth} & ResponsiveRadiusStyleProps &\n ThemeProps\n>(responsiveRadiusStyle, buttonBaseStyles, buttonColorStyles)\n\nconst LoadingBox = styled.div`\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n background-color: var(--card-bg-color);\n border-radius: inherit;\n z-index: 1;\n box-shadow: inherit;\n`\n\nconst ButtonComponent = forwardRef(function Button(\n props: ButtonOwnProps & {as?: ElementType} & Omit<\n React.HTMLProps<HTMLButtonElement>,\n 'as' | 'width'\n >,\n ref: React.ForwardedRef<HTMLButtonElement>,\n) {\n const {\n children,\n disabled,\n fontSize = 1,\n icon: IconComponent,\n iconRight: IconRightComponent,\n justify: justifyProp = 'center',\n loading,\n mode = 'default',\n padding: paddingProp = 3,\n paddingX: paddingXProp,\n paddingY: paddingYProp,\n paddingTop: paddingTopProp,\n paddingBottom: paddingBottomProp,\n paddingLeft: paddingLeftProp,\n paddingRight: paddingRightProp,\n radius: radiusProp = 2,\n selected,\n gap,\n // oxlint-disable-next-line no-deprecated\n space: deprecated_space = 3,\n text,\n textAlign,\n textWeight,\n tone = 'default',\n type = 'button',\n muted = false,\n width,\n ...restProps\n } = props\n const {button} = useTheme_v2()\n\n const justify = _getArrayProp(justifyProp)\n const padding = _getArrayProp(paddingProp)\n const paddingX = _getArrayProp(paddingXProp)\n const paddingY = _getArrayProp(paddingYProp)\n const paddingTop = _getArrayProp(paddingTopProp)\n const paddingBottom = _getArrayProp(paddingBottomProp)\n const paddingLeft = _getArrayProp(paddingLeftProp)\n const paddingRight = _getArrayProp(paddingRightProp)\n const radius = _getArrayProp(radiusProp)\n const spacing = _getArrayProp(gap === undefined ? deprecated_space : gap)\n\n const boxProps = useMemo(\n () => ({\n // flex: 1,\n padding,\n paddingX,\n paddingY,\n paddingTop,\n paddingBottom,\n paddingLeft,\n paddingRight,\n }),\n [padding, paddingX, paddingY, paddingTop, paddingBottom, paddingLeft, paddingRight],\n )\n\n return (\n <StyledButton\n data-ui=\"Button\"\n {...restProps}\n $mode={mode}\n $radius={radius}\n $tone={tone}\n data-disabled={Boolean(loading || disabled)}\n data-selected={selected ? '' : undefined}\n disabled={Boolean(loading || disabled)}\n ref={ref}\n type={type}\n $width={width}\n >\n {Boolean(loading) && (\n <LoadingBox>\n <Spinner />\n </LoadingBox>\n )}\n\n {(IconComponent || text || IconRightComponent) && (\n <Box as=\"span\" {...boxProps}>\n <Flex as=\"span\" justify={justify} gap={spacing}>\n {IconComponent && (\n <Text size={fontSize}>\n {isValidElement(IconComponent) && IconComponent}\n {isValidElementType(IconComponent) && <IconComponent />}\n </Text>\n )}\n\n {text && (\n <Box>\n <Text\n muted={muted}\n align={textAlign}\n size={fontSize}\n textOverflow=\"ellipsis\"\n weight={textWeight ?? button.textWeight}\n >\n {text}\n </Text>\n </Box>\n )}\n\n {IconRightComponent && (\n <Text size={fontSize}>\n {isValidElement(IconRightComponent) && IconRightComponent}\n {isValidElementType(IconRightComponent) && <IconRightComponent />}\n </Text>\n )}\n </Flex>\n </Box>\n )}\n\n {children && (\n <Box as=\"span\" {...boxProps}>\n {children}\n </Box>\n )}\n </StyledButton>\n )\n})\nButtonComponent.displayName = 'ForwardRef(Button)'\n\n/**\n * @public\n */\n// oxlint-disable-next-line no-unsafe-type-assertion\nexport const Button = ButtonComponent as unknown as <E extends ElementType = 'button'>(\n props: ButtonProps<E>,\n) => React.JSX.Element\n","import {getTheme_v2} from '@sanity/ui/theme'\nimport {css} from 'styled-components'\n\nimport {ThemeProps} from '../../styles'\nimport {_cardColorStyle} from '../../styles/card'\nimport {focusRingStyle} from '../../styles/focusRing'\nimport {CardStyleProps} from './types'\n\nexport function cardStyle(\n props: CardStyleProps & ThemeProps,\n): Array<ReturnType<typeof css> | (() => ReturnType<typeof css>)> {\n return [cardBaseStyle(props), cardColorStyle(props)]\n}\n\nexport function cardBaseStyle(props: CardStyleProps & ThemeProps): ReturnType<typeof css> {\n const {$checkered} = props\n const {space} = getTheme_v2(props.theme)\n\n return css`\n ${$checkered &&\n css`\n background-size: ${space[3]}px ${space[3]}px;\n background-position: 50% 50%;\n background-image: var(--card-bg-image);\n `}\n\n &[data-as='button'] {\n -webkit-font-smoothing: inherit;\n appearance: none;\n outline: none;\n font: inherit;\n text-align: inherit;\n border: 0;\n width: -moz-available;\n width: -webkit-fill-available;\n width: stretch;\n }\n\n /* &:is(a) */\n &[data-as='a'] {\n outline: none;\n text-decoration: none;\n }\n\n /* &:is(pre) */\n &[data-as='pre'] {\n font: inherit;\n }\n `\n}\n\nexport function cardColorStyle(props: CardStyleProps & ThemeProps): ReturnType<typeof css> {\n const {$checkered, $focusRing, $muted} = props\n const {card, color, style} = getTheme_v2(props.theme)\n const border = {width: card.border.width, color: 'var(--card-border-color)'}\n\n return css`\n color-scheme: ${color._dark ? 'dark' : 'light'};\n\n ${_cardColorStyle(color, color, $checkered)}\n\n background-color: ${$muted ? 'var(--card-muted-bg-color)' : 'var(--card-bg-color)'};\n color: var(--card-fg-color);\n\n /* &:is(button) */\n &[data-as='button'] {\n --card-focus-ring-box-shadow: none;\n\n cursor: default;\n box-shadow: var(--card-focus-ring-box-shadow);\n\n &:disabled {\n ${_cardColorStyle(color, color.selectable.default.disabled, $checkered)}\n }\n\n &:not(:disabled) {\n &[data-pressed] {\n ${_cardColorStyle(color, color.selectable.default.pressed, $checkered)}\n }\n\n &[data-selected] {\n ${_cardColorStyle(color, color.selectable.default.selected, $checkered)}\n }\n\n @media (hover: hover) {\n &:not([data-pressed]):not([data-selected]) {\n &[data-hovered],\n &:hover {\n ${_cardColorStyle(color, color.selectable.default.hovered, $checkered)}\n }\n\n &:active {\n ${_cardColorStyle(color, color.selectable.default.pressed, $checkered)}\n }\n }\n }\n\n &:focus-visible {\n --card-focus-ring-box-shadow: ${$focusRing\n ? focusRingStyle({base: color, border, focusRing: card.focusRing})\n : undefined};\n }\n }\n }\n\n /* &:is(a) */\n &[data-as='a'] {\n cursor: pointer;\n box-shadow: var(--card-focus-ring-box-shadow);\n\n &[data-disabled] {\n ${_cardColorStyle(color, color.selectable.default.disabled, $checkered)}\n }\n\n &:not([data-disabled]) {\n &[data-pressed] {\n ${_cardColorStyle(color, color.selectable.default.pressed, $checkered)}\n }\n\n &[data-selected] {\n ${_cardColorStyle(color, color.selectable.default.selected, $checkered)}\n }\n\n @media (hover: hover) {\n &:not([data-pressed]):not([data-selected]) {\n &[data-hovered],\n &:hover {\n ${_cardColorStyle(color, color.selectable.default.hovered, $checkered)}\n }\n\n &:active {\n ${_cardColorStyle(color, color.selectable.default.pressed, $checkered)}\n }\n }\n }\n\n &:focus-visible {\n --card-focus-ring-box-shadow: ${$focusRing\n ? focusRingStyle({base: color, border, focusRing: card.focusRing})\n : undefined};\n }\n }\n }\n\n ${style?.card?.root}\n `\n}\n","import {ThemeColorSchemeKey} from '@sanity/ui/theme'\nimport {forwardRef} from 'react'\nimport {isValidElementType} from 'react-is'\nimport {styled} from 'styled-components'\n\nimport {_getArrayProp} from '../../styles'\nimport {\n responsiveBorderStyle,\n ResponsiveBorderStyleProps,\n responsiveRadiusStyle,\n ResponsiveRadiusStyleProps,\n responsiveShadowStyle,\n ResponsiveShadowStyleProps,\n} from '../../styles/internal'\nimport {ThemeColorProvider, useRootTheme} from '../../theme'\nimport {CardTone, ElementType, Props} from '../../types'\nimport {Box, BoxOwnProps} from '../box'\nimport {ResponsiveBorderProps, ResponsiveRadiusProps, ResponsiveShadowProps} from '../types'\nimport {cardStyle} from './styles'\nimport {CardStyleProps} from './types'\n\n/**\n * @public\n */\nexport interface CardOwnProps\n extends BoxOwnProps, ResponsiveBorderProps, ResponsiveRadiusProps, ResponsiveShadowProps {\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 muted?: boolean\n pressed?: boolean\n scheme?: ThemeColorSchemeKey\n selected?: boolean\n tone?: CardTone\n}\n\n/**\n * @public\n */\nexport type CardProps<E extends ElementType = 'div'> = Props<CardOwnProps, E>\n\nconst StyledCard = styled(Box)<\n CardStyleProps &\n ResponsiveRadiusStyleProps &\n ResponsiveBorderStyleProps &\n ResponsiveShadowStyleProps\n>(responsiveBorderStyle, responsiveRadiusStyle, responsiveShadowStyle, cardStyle)\n\nconst CardComponent = forwardRef(function Card(\n props: CardOwnProps & {as?: ElementType} & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'height'>,\n ref: React.ForwardedRef<HTMLDivElement>,\n) {\n const {\n __unstable_checkered: checkered = false,\n __unstable_focusRing: focusRing = false,\n as: asProp,\n border,\n borderTop,\n borderRight,\n borderBottom,\n borderLeft,\n muted,\n pressed,\n radius = 0,\n scheme,\n selected,\n shadow,\n tone: toneProp = 'default',\n ...restProps\n } = props\n\n const as = isValidElementType(asProp) ? asProp : 'div'\n const rootTheme = useRootTheme()\n const tone = toneProp === 'inherit' ? rootTheme.tone : toneProp\n\n // todo: Consider adding the wrapper approach for nested cards in which the tones are not changing, avoid unnecessary ThemeColorProvider\n return (\n <ThemeColorProvider scheme={scheme} tone={tone}>\n <StyledCard\n data-as={typeof as === 'string' ? as : undefined}\n data-scheme={rootTheme.scheme}\n data-ui=\"Card\"\n data-tone={tone}\n {...restProps}\n $border={_getArrayProp(border)}\n $borderTop={_getArrayProp(borderTop)}\n $borderRight={_getArrayProp(borderRight)}\n $borderBottom={_getArrayProp(borderBottom)}\n $borderLeft={_getArrayProp(borderLeft)}\n $checkered={checkered}\n $focusRing={focusRing}\n $muted={muted}\n $radius={_getArrayProp(radius)}\n $shadow={_getArrayProp(shadow)}\n $tone={tone}\n data-checkered={checkered ? '' : undefined}\n data-pressed={pressed ? '' : undefined}\n data-selected={selected ? '' : undefined}\n forwardedAs={as}\n ref={ref}\n selected={selected}\n />\n </ThemeColorProvider>\n )\n})\nCardComponent.displayName = 'ForwardRef(Card)'\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 */\n// oxlint-disable-next-line no-unsafe-type-assertion\nexport const Card = CardComponent as unknown as <E extends ElementType = 'div'>(\n props: CardProps<E>,\n) => React.JSX.Element\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 // oxlint-disable-next-line no-deprecated\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 * Adds global keydown event listener to the window.\n *\n * @param onKeyDown - The function to call when a keydown event is triggered.\n * @param options - The options to pass to the addEventListener function (example, capture: true)\n * @beta\n */\nexport function useGlobalKeyDown(\n onKeyDown: (event: KeyboardEvent) => void,\n options?: AddEventListenerOptions,\n): 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, options)\n\n return () => window.removeEventListener('keydown', handler, options)\n }, [options])\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://react.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\nimport {useTheme_v2} from '../../theme'\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(media: number[]): _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 store = useMemo(() => _createMediaStore(media), [media])\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://react.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://react.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 {forwardRef} from 'react'\nimport {styled} from 'styled-components'\n\nimport {_getArrayProp} from '../../styles'\nimport {responsiveGridStyle, ResponsiveGridStyleProps} from '../../styles/internal'\nimport {ElementType, Props} from '../../types'\nimport {Box, BoxOwnProps} from '../box'\nimport {ResponsiveGridProps} from '../types'\n\n/**\n * @public\n */\nexport interface GridOwnProps extends Omit<BoxOwnProps, 'display'>, ResponsiveGridProps {}\n\n/**\n * @public\n */\nexport type GridProps<E extends ElementType = 'div'> = Props<GridOwnProps, E>\n\nconst StyledGrid = styled(Box)<ResponsiveGridStyleProps>(responsiveGridStyle)\n\nconst GridComponent = forwardRef(function Grid(\n props: GridOwnProps & {as?: ElementType} & Omit<\n React.HTMLProps<HTMLDivElement>,\n 'as' | 'height' | 'rows'\n >,\n ref: React.ForwardedRef<HTMLDivElement>,\n) {\n const {\n as,\n autoRows,\n autoCols,\n autoFlow,\n // oxlint-disable-next-line no-deprecated\n columns,\n gridTemplateColumns,\n gap,\n gapX,\n gapY,\n // oxlint-disable-next-line no-deprecated\n rows,\n gridTemplateRows,\n children,\n ...restProps\n } = props\n\n return (\n <StyledGrid\n data-as={typeof as === 'string' ? as : undefined}\n data-ui=\"Grid\"\n {...restProps}\n $autoRows={_getArrayProp(autoRows)}\n $autoCols={_getArrayProp(autoCols)}\n $autoFlow={_getArrayProp(autoFlow)}\n $columns={_getArrayProp(gridTemplateColumns === undefined ? columns : gridTemplateColumns)}\n $gap={_getArrayProp(gap)}\n $gapX={_getArrayProp(gapX)}\n $gapY={_getArrayProp(gapY)}\n $rows={_getArrayProp(gridTemplateRows === undefined ? rows : gridTemplateRows)}\n forwardedAs={as}\n ref={ref}\n >\n {children}\n </StyledGrid>\n )\n})\nGridComponent.displayName = 'ForwardRef(Grid)'\n\n/**\n * The `Grid` component is for building 2-dimensional layers (based on CSS grid).\n *\n * @public\n */\n// oxlint-disable-next-line no-unsafe-type-assertion\nexport const Grid = GridComponent as unknown as <E extends ElementType = 'div'>(\n props: GridProps<E>,\n) => React.JSX.Element\n","import {CSSObject, getTheme_v2} from '@sanity/ui/theme'\n\nimport {_responsive, rem, ThemeProps} from '../../styles'\nimport {ResponsiveInlineSpaceStyleProps} from './types'\n\nexport function inlineBaseStyle(): CSSObject {\n return {\n 'lineHeight': '0',\n\n '&&:not([hidden])': {\n display: 'block',\n },\n\n '& > div': {\n display: 'inline-block',\n verticalAlign: 'middle',\n },\n }\n}\n\nexport function inlineSpaceStyle(props: ResponsiveInlineSpaceStyleProps & ThemeProps): CSSObject[] {\n const {media, space} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$space, (spaceIndex) => {\n const _space = rem(spaceIndex === 0.5 ? space[1] / 2 : space[spaceIndex])\n\n return {\n 'margin': `-${_space} 0 0 -${_space}`,\n '& > div': {padding: `${_space} 0 0 ${_space}`},\n }\n })\n}\n","import {Children, forwardRef, useMemo} from 'react'\nimport {styled} from 'styled-components'\n\nimport {_getArrayProp} from '../../styles'\nimport {ElementType, Props} from '../../types'\nimport {Box, BoxOwnProps} from '../box'\nimport {inlineBaseStyle, inlineSpaceStyle} from './styles'\nimport {ResponsiveInlineSpaceStyleProps} from './types'\n\n/**\n * @public\n */\nexport interface InlineOwnProps extends Omit<BoxOwnProps, 'display'> {\n /**\n * The spacing between children.\n * @deprecated Use `gap` instead. `space` will be removed in v4.\n */\n space?: number | number[]\n /** The spacing between children. */\n gap?: number | number[]\n}\n\n/**\n * @public\n */\nexport type InlineProps<E extends ElementType = 'div'> = Props<InlineOwnProps, E>\n\nconst StyledInline = styled(Box)<ResponsiveInlineSpaceStyleProps>(inlineBaseStyle, inlineSpaceStyle)\n\nconst InlineComponent = forwardRef(function Inline(\n props: InlineOwnProps & {as?: ElementType} & React.HTMLProps<HTMLDivElement>,\n ref,\n) {\n // oxlint-disable-next-line no-deprecated\n const {as, children: childrenProp, gap, space: deprecated_space, ...restProps} = props\n const spacing = gap === undefined ? deprecated_space : gap\n\n const children = useMemo(\n () => Children.map(childrenProp, (child) => child && <div>{child}</div>),\n [childrenProp],\n )\n\n return (\n <StyledInline\n data-ui=\"Inline\"\n {...restProps}\n $space={_getArrayProp(spacing)}\n forwardedAs={as}\n // oxlint-disable-next-line no-unnecessary-type-assertion, no-unsafe-type-assertion\n ref={ref as any}\n >\n {children}\n </StyledInline>\n )\n})\nInlineComponent.displayName = 'ForwardRef(Inline)'\n\n/**\n * The `Inline` component is a layout utility for aligning and spacing items horizontally.\n *\n * @public\n */\n// oxlint-disable-next-line no-unsafe-type-assertion\nexport const Inline = InlineComponent as unknown as <E extends ElementType = 'div'>(\n props: InlineProps<E>,\n) => React.JSX.Element\n","import {forwardRef} from 'react'\nimport {css, styled} from 'styled-components'\n\nimport {_getArrayProp} from '../../styles'\nimport {responsiveRadiusStyle, ResponsiveRadiusStyleProps} from '../../styles/internal'\nimport {ElementType, Props, Radius} from '../../types'\nimport {Box} from '../box'\nimport {Text} from '../text'\n\n/**\n * @public\n */\nexport interface KBDOwnProps {\n fontSize?: number | number[]\n padding?: number | number[]\n radius?: Radius | Radius[]\n}\n\n/**\n * @public\n */\nexport type KBDProps<E extends ElementType = 'kbd'> = Props<KBDOwnProps, E>\n\nfunction kbdStyle() {\n return css`\n --card-bg-color: var(--card-kbd-bg-color);\n --card-border-color: var(--card-kbd-border-color);\n --card-fg-color: var(--card-kbd-fg-color);\n\n box-shadow: inset 0 0 0 1px var(--card-border-color);\n background: var(--card-bg-color);\n font: inherit;\n\n vertical-align: top;\n\n &:not([hidden]) {\n display: inline-block;\n }\n `\n}\n\nconst StyledKBD = styled.kbd<ResponsiveRadiusStyleProps>(responsiveRadiusStyle, kbdStyle)\n\nconst KBDComponent = forwardRef(function KBD(\n props: KBDOwnProps & {as?: ElementType} & Omit<\n React.HTMLProps<HTMLElement>,\n 'as' | 'ref' | 'size'\n >,\n ref: React.ForwardedRef<HTMLDivElement>,\n) {\n const {children, fontSize = 0, padding = 1, radius = 2, ...restProps} = props\n\n return (\n <StyledKBD data-ui=\"KBD\" {...restProps} $radius={_getArrayProp(radius)} ref={ref}>\n <Box as=\"span\" padding={padding}>\n <Text as=\"span\" size={fontSize} weight=\"semibold\">\n {children}\n </Text>\n </Box>\n </StyledKBD>\n )\n})\nKBDComponent.displayName = 'ForwardRef(KBD)'\n\n/**\n * Used to define some text as keyboard input.\n *\n * @public\n */\n// oxlint-disable-next-line no-unsafe-type-assertion\nexport const KBD = KBDComponent as unknown as <E extends ElementType = 'kbd'>(\n props: KBDProps<E>,\n) => React.JSX.Element\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 {ForwardedRef, forwardRef, HTMLProps} from 'react'\nimport {css, styled} from 'styled-components'\n\nimport {useTheme_v2} from '../../theme'\nimport {compileCommands, getRoundedCommands, Point} from './cmds'\n\nconst StyledArrow = styled.div<{$w: number}>(\n ({$w: w}) => css`\n position: absolute;\n width: ${w}px;\n height: ${w}px;\n\n :empty + & {\n display: none;\n }\n\n & > svg {\n display: block;\n line-height: 0;\n transform-origin: ${w / 2}px ${w / 2}px;\n }\n\n [data-placement^='top'] > & {\n bottom: -${w}px;\n\n & > svg {\n transform: rotate(0);\n }\n }\n\n [data-placement^='right'] > & {\n left: -${w}px;\n\n & > svg {\n transform: rotate(90deg);\n }\n }\n\n [data-placement^='left'] > & {\n right: -${w}px;\n\n & > svg {\n transform: rotate(-90deg);\n }\n }\n\n [data-placement^='bottom'] > & {\n top: -${w}px;\n\n & > svg {\n transform: rotate(180deg);\n }\n }\n `,\n)\n\nconst StrokePath = styled.path`\n stroke: var(--card-shadow-outline-color);\n`\n\nconst ShapePath = styled.path`\n fill: var(--card-bg-color);\n`\n\n/** @internal */\nexport const Arrow = forwardRef(function Arrow(\n props: {width: number; height: number; radius?: number} & Omit<\n HTMLProps<HTMLDivElement>,\n 'width' | 'height'\n >,\n ref: ForwardedRef<HTMLDivElement>,\n): React.JSX.Element {\n const {width: w, height: h, radius = 0, ...restProps} = props\n const {card} = useTheme_v2()\n const strokeWidth = card.shadow.outline\n\n const center = w / 2\n\n const points: Point[] = [\n {\n x: 0,\n y: 0,\n },\n {\n x: radius,\n y: 0,\n radius,\n },\n {\n x: center,\n y: h - 1,\n radius,\n },\n {\n x: w - radius,\n y: 0,\n radius,\n },\n {\n x: w,\n y: 0,\n },\n ]\n\n const cmds = getRoundedCommands(points)\n const path = compileCommands(cmds)\n\n // oxlint-disable-next-line no-unnecessary-template-expression\n const strokePath = `${path}`\n const fillPath = `${path} M ${w} -1 M 0 -1 Z`\n\n return (\n <StyledArrow {...restProps} $w={w} ref={ref}>\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 <StrokePath d={strokePath} mask=\"url(#stroke-mask)\" strokeWidth={strokeWidth * 2} />\n <ShapePath d={fillPath} />\n </svg>\n </StyledArrow>\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","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 {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 {useCallback, useContext, useEffect, useMemo, useState} from 'react'\n\nimport {useMediaIndex} from '../../hooks'\nimport {_getArrayProp} from '../../styles'\nimport {getLayerContext} from './getLayerContext'\nimport {LayerContext} from './layerContext'\nimport {LayerContextValue} from './types'\n\n/**\n * @public\n */\nexport interface LayerProviderProps {\n children?: React.ReactNode\n zOffset?: number | number[]\n}\n\n/**\n * @public\n */\nexport function LayerProvider(props: LayerProviderProps): React.JSX.Element {\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 = _getArrayProp(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] : zOffset[mediaIndex]\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 // oxlint-disable-next-line preserve-caught-error\n throw new Error(`useLayer(): ${err.message}`)\n } else {\n // oxlint-disable-next-line preserve-caught-error, restrict-template-expressions\n throw new Error(`useLayer(): ${err}`)\n }\n }\n}\n","import {FocusEvent, forwardRef, useCallback, useEffect, useImperativeHandle, useRef} from 'react'\nimport {styled} from 'styled-components'\n\nimport {EMPTY_RECORD} from '../../constants'\nimport {containsOrEqualsElement, isHTMLElement} from '../../helpers'\nimport {LayerProvider} from './layerProvider'\nimport {useLayer} from './useLayer'\n\n/**\n * @public\n */\nexport interface LayerProps {\n as?: React.ElementType | keyof React.JSX.IntrinsicElements\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 {\n as?: React.ElementType | keyof React.JSX.IntrinsicElements\n onActivate?: LayerProps['onActivate']\n}\n\nconst StyledLayer = styled.div({position: 'relative'})\n\nconst LayerChildren = forwardRef(function LayerChildren(\n props: LayerChildrenProps & Omit<React.HTMLProps<HTMLDivElement>, 'as'>,\n forwardedRef: React.Ref<HTMLDivElement>,\n) {\n const {children, onActivate, onFocus, style = EMPTY_RECORD, ...restProps} = 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 // oxlint-disable-next-line no-unnecessary-type-arguments\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 <StyledLayer\n {...restProps}\n data-ui=\"Layer\"\n onFocus={handleFocus}\n ref={ref}\n style={{...style, zIndex}}\n >\n {children}\n </StyledLayer>\n )\n})\n\n/**\n * @public\n */\nexport const Layer = forwardRef(function Layer(\n props: LayerProps & Omit<React.HTMLProps<HTMLDivElement>, 'as'>,\n ref: React.Ref<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})\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 {createPortal} from 'react-dom'\n\nimport {usePortal} from './usePortal'\n\n/**\n * @public\n */\nexport interface PortalProps {\n children: React.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): React.ReactPortal | null {\n const {children, __unstable_name: name} = props\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(children, portalElement)\n}\n\nPortal.displayName = 'Portal'\n","import {useMemo, 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: React.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): React.JSX.Element {\n // oxlint-disable-next-line no-deprecated\n const {boundaryElement, children, element, __unstable_elements: elements} = props\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","// 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 // oxlint-disable-next-line unbound-method\n let getter = Object.getOwnPropertyDescriptor(element.props, 'ref')?.get\n let mayWarn = getter && 'isReactWarning' in getter && getter.isReactWarning\n\n if (mayWarn) {\n // oxlint-disable-next-line no-unsafe-type-assertion\n return (element as any).ref\n }\n\n // React 19 in DEV\n // oxlint-disable-next-line unbound-method\n getter = Object.getOwnPropertyDescriptor(element, 'ref')?.get\n mayWarn = getter && 'isReactWarning' in getter && getter.isReactWarning\n\n if (mayWarn) {\n // oxlint-disable-next-line no-unsafe-type-assertion\n return (element.props as {ref?: React.Ref<unknown>}).ref\n }\n\n // Not DEV\n // oxlint-disable-next-line no-unsafe-type-assertion\n return (element.props as {ref?: React.Ref<unknown>}).ref || (element as any).ref\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, Middleware} from '@floating-ui/react-dom'\n\nimport {PopoverMargins} from '../../../types'\n\nexport function size(options: {\n boundaryElement?: HTMLElement | null\n constrainSize: boolean\n margins: PopoverMargins\n matchReferenceWidth?: boolean\n maxWidthRef: React.RefObject<number | undefined>\n padding?: number\n referenceWidthRef: React.RefObject<number | undefined>\n setReferenceWidth: (referenceWidth: number) => void\n widthRef: React.RefObject<number | undefined>\n}): Middleware {\n const {\n constrainSize,\n margins,\n matchReferenceWidth,\n maxWidthRef,\n padding = 0,\n referenceWidthRef,\n setReferenceWidth,\n widthRef,\n } = 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 const availableWidth = maxWidth - margins[1] - margins[3]\n const availableHeight = maxHeight - margins[0] - margins[2]\n const referenceWidth = reference.width - margins[1] - margins[3]\n referenceWidthRef.current = referenceWidth\n setReferenceWidth(referenceWidth)\n\n if (matchReferenceWidth) {\n elements.floating.style.width = `${referenceWidth}px`\n } else if (widthRef.current !== undefined) {\n elements.floating.style.width = `${widthRef.current}px`\n }\n\n if (constrainSize) {\n elements.floating.style.maxWidth = `${Math.min(availableWidth, maxWidthRef.current ?? Infinity)}px`\n\n elements.floating.style.maxHeight = `${availableHeight}px`\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 {DEFAULT_POPOVER_PADDING} from './constants'\nimport {PopoverWidth} from './types'\n\nexport function calcCurrentWidth(params: {\n mediaIndex: number\n container: number[]\n width: PopoverWidth[]\n}): number | undefined {\n const {container, mediaIndex, width} = params\n\n const w = width[mediaIndex]\n const currentWidth: PopoverWidth | undefined = w === undefined ? width[width.length - 1] : w\n\n return typeof currentWidth === 'number' ? container[currentWidth] : undefined\n}\n\nexport function calcMaxWidth(params: {\n boundaryWidth: number | undefined\n currentWidth: number | undefined\n}): number | undefined {\n const {boundaryWidth, currentWidth} = params\n\n if (currentWidth === undefined && boundaryWidth === undefined) {\n return undefined\n }\n\n return Math.min(\n currentWidth ?? Infinity,\n (boundaryWidth || Infinity) - DEFAULT_POPOVER_PADDING * 2,\n )\n}\n","import {Strategy} from '@floating-ui/react-dom'\nimport {ThemeColorSchemeKey} from '@sanity/ui/theme'\nimport {motion, type MotionProps} from 'motion/react'\nimport React, {CSSProperties, forwardRef, useMemo} from 'react'\nimport {styled} from 'styled-components'\n\nimport {POPOVER_MOTION_PROPS} from '../../constants'\nimport {BoxOverflow, CardTone, Placement, PopoverMargins, Radius} 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\nconst MotionCard = styled(motion.create(Card))`\n &:not([hidden]) {\n display: flex;\n }\n flex-direction: column;\n width: max-content;\n min-width: min-content;\n will-change: transform;\n`\n\nconst MotionFlex = styled(motion.create(Flex))`\n will-change: opacity;\n`\n\n/**\n * @internal\n */\nexport const PopoverCard = forwardRef(function PopoverCard(\n props: {\n /** @beta*/\n __unstable_margins?: PopoverMargins\n animate?: boolean\n arrow: boolean\n arrowRef: React.Ref<HTMLDivElement>\n arrowX?: number\n arrowY?: number\n originX?: number\n originY?: number\n overflow?: BoxOverflow\n padding?: number | number[]\n placement: Placement\n radius?: Radius | Radius[]\n scheme?: ThemeColorSchemeKey\n shadow?: number | number[]\n strategy: Strategy\n tone: CardTone\n width: number | undefined\n x: number | null\n y: number | null\n } & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'height' | 'width'>,\n ref: React.ForwardedRef<HTMLDivElement>,\n) {\n const {\n __unstable_margins: marginsProp,\n animate,\n arrow,\n arrowRef,\n arrowX,\n arrowY,\n children,\n padding,\n placement,\n originX,\n originY,\n overflow,\n radius,\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 {zIndex} = 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,\n zIndex,\n willChange: animate ? 'transform' : undefined,\n ...style,\n }),\n [animate, originX, originY, strategy, style, width, x, y, zIndex],\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=\"Popover\"\n // oxlint-disable-next-line no-unsafe-type-assertion\n {...(restProps as CardProps & MotionProps)}\n data-placement={placement}\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 <MotionFlex\n data-ui=\"Popover__wrapper\"\n direction=\"column\"\n flex={1}\n overflow={overflow}\n variants={POPOVER_MOTION_PROPS.children}\n transition={POPOVER_MOTION_PROPS.transition}\n >\n <Flex direction=\"column\" flex={1} padding={padding}>\n {children}\n </Flex>\n </MotionFlex>\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})\nPopoverCard.displayName = 'ForwardRef(PopoverCard)'\n","import {\n arrow,\n autoPlacement,\n autoUpdate,\n flip,\n hide,\n Middleware,\n offset,\n RootBoundary,\n shift,\n useFloating,\n} from '@floating-ui/react-dom'\nimport {ThemeColorSchemeKey} from '@sanity/ui/theme'\nimport {AnimatePresence} from 'motion/react'\nimport {\n cloneElement,\n forwardRef,\n type Ref,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react'\n\nimport {useElementSize, useMediaIndex, usePrefersReducedMotion} from '../../hooks'\nimport {origin} from '../../middleware/origin'\nimport {_getArrayProp} from '../../styles'\nimport {useTheme_v2} from '../../theme'\nimport {BoxOverflow, CardTone, Placement, PopoverMargins} from '../../types'\nimport {LayerProps, LayerProvider, Portal, useBoundaryElement, useLayer} from '../../utils'\nimport {getElementRef} from '../../utils/getElementRef'\nimport {ResponsiveRadiusProps, ResponsiveShadowProps} from '../types'\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'\nimport {calcCurrentWidth, calcMaxWidth} from './helpers'\nimport {PopoverCard} from './popoverCard'\nimport {PopoverUpdateCallback, PopoverWidth} from './types'\n\n/** @public */\nexport interface PopoverProps\n extends Omit<LayerProps, 'as'>, ResponsiveRadiusProps, ResponsiveShadowProps {\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?: React.JSX.Element\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?: React.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 overflow?: BoxOverflow\n padding?: number | number[]\n placement?: Placement\n /**\n * When 'flip' (default), the placement is determined from the initial placement and the\n * fallback placements in order. Whichever fits in the viewport first.\n *\n * When 'autoPlacement', the initial placement and all fallback placements are evaluated\n * and the placement with the most viewport space available.\n *\n * Option is only relevant if either `constrainSize` or `preventOverflow` is `true`\n */\n placementStrategy?: 'flip' | 'autoPlacement'\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 scheme?: ThemeColorSchemeKey\n tone?: CardTone\n /** @beta */\n updateRef?: Ref<PopoverUpdateCallback | undefined>\n width?: PopoverWidth | PopoverWidth[]\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 = forwardRef(function Popover(\n props: PopoverProps &\n Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'children' | 'content' | 'width'>,\n forwardedRef: React.ForwardedRef<HTMLDivElement>,\n): React.JSX.Element {\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 // oxlint-disable-next-line no-deprecated\n boundaryElement: _boundaryElement,\n children: childProp,\n constrainSize = false,\n content,\n disabled,\n fallbackPlacements: _fallbackPlacements,\n matchReferenceWidth,\n floatingBoundary: _floatingBoundary,\n modal,\n // oxlint-disable-next-line no-unused-vars\n onActivate,\n open,\n overflow = 'hidden',\n padding: paddingProp,\n placement: placementProp = 'bottom',\n placementStrategy = 'flip',\n portal,\n preventOverflow = true,\n radius: radiusProp = 3,\n referenceBoundary: _referenceBoundary,\n referenceElement,\n scheme,\n shadow: shadowProp = 3,\n tone = 'inherit',\n width: widthProp = 'auto',\n zOffset: _zOffsetProp,\n updateRef,\n ...restProps\n } = props\n const boundaryElement = _boundaryElement ?? boundaryElementContext?.element\n const fallbackPlacements =\n _fallbackPlacements ?? DEFAULT_FALLBACK_PLACEMENTS[props.placement ?? 'bottom']\n const floatingBoundary =\n // oxlint-disable-next-line no-deprecated\n _floatingBoundary ?? props.boundaryElement ?? boundaryElementContext.element\n const referenceBoundary =\n // oxlint-disable-next-line no-deprecated\n _referenceBoundary ?? props.boundaryElement ?? boundaryElementContext.element\n const zOffsetProp = _zOffsetProp ?? layer.popover.zOffset\n const prefersReducedMotion = usePrefersReducedMotion()\n const animate = prefersReducedMotion ? false : _animate\n const boundarySize = useElementSize(boundaryElement)?.border\n const padding = _getArrayProp(paddingProp)\n const radius = _getArrayProp(radiusProp)\n const shadow = _getArrayProp(shadowProp)\n const widthArrayProp = _getArrayProp(widthProp)\n const zOffset = _getArrayProp(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>(forwardedRef, () => ref.current)\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 [referenceWidth, setReferenceWidth] = useState<number | undefined>(undefined)\n const middleware = useMiddleware({\n animate,\n arrowProp,\n arrowRef,\n constrainSize,\n fallbackPlacements,\n floatingBoundary,\n margins,\n matchReferenceWidth,\n maxWidthRef,\n placementProp,\n placementStrategy,\n preventOverflow,\n referenceBoundary,\n referenceWidthRef,\n rootBoundary,\n setReferenceWidth,\n widthRef,\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 // 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, () => refs.reference.current)\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: refs.setReference})\n }, [childProp, referenceElement, refs.setReference])\n\n useImperativeHandle(updateRef, () => update, [update])\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 overflow={overflow}\n padding={padding}\n placement={placement}\n radius={radius}\n ref={setFloating}\n scheme={scheme}\n shadow={shadow}\n originX={originX}\n originY={originY}\n strategy={strategy}\n tone={tone}\n width={matchReferenceWidth ? referenceWidth : width}\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})\nPopover.displayName = 'ForwardRef(Popover)'\n\nfunction useMiddleware({\n animate,\n arrowProp,\n arrowRef,\n constrainSize,\n fallbackPlacements,\n floatingBoundary,\n margins,\n matchReferenceWidth,\n maxWidthRef,\n placementProp,\n placementStrategy,\n preventOverflow,\n referenceBoundary,\n referenceWidthRef,\n rootBoundary,\n setReferenceWidth,\n widthRef,\n}: {\n animate: boolean\n arrowProp: boolean\n arrowRef: React.RefObject<HTMLDivElement | null>\n constrainSize: boolean\n fallbackPlacements: Placement[]\n floatingBoundary: HTMLElement | null\n margins: PopoverMargins\n matchReferenceWidth: boolean | undefined\n maxWidthRef: React.RefObject<number | undefined>\n placementProp: Placement\n placementStrategy: 'flip' | 'autoPlacement'\n preventOverflow: boolean\n referenceBoundary: HTMLElement | null\n referenceWidthRef: React.RefObject<number | undefined>\n rootBoundary: RootBoundary\n setReferenceWidth: (referenceWidth: number) => void\n widthRef: React.RefObject<number | undefined>\n}) {\n return useMemo(() => {\n const ret: Middleware[] = []\n\n // Flip the floating element when leaving the boundary box\n if (constrainSize || preventOverflow) {\n if (placementStrategy === 'autoPlacement') {\n ret.push(\n autoPlacement({\n allowedPlacements: [placementProp].concat(fallbackPlacements),\n }),\n )\n } else {\n ret.push(\n flip({\n boundary: floatingBoundary || undefined,\n fallbackPlacements,\n padding: DEFAULT_POPOVER_PADDING,\n rootBoundary,\n }),\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 boundaryElement: floatingBoundary || undefined,\n constrainSize,\n margins,\n matchReferenceWidth,\n maxWidthRef,\n padding: DEFAULT_POPOVER_PADDING,\n referenceWidthRef,\n setReferenceWidth,\n widthRef,\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 arrowRef,\n constrainSize,\n fallbackPlacements,\n floatingBoundary,\n margins,\n matchReferenceWidth,\n maxWidthRef,\n placementProp,\n placementStrategy,\n preventOverflow,\n referenceBoundary,\n referenceWidthRef,\n rootBoundary,\n setReferenceWidth,\n widthRef,\n ])\n}\n","import {CSSObject, getTheme_v2} from '@sanity/ui/theme'\n\nimport {_responsive, rem, ThemeProps} from '../../styles'\n\nexport interface ResponsiveStackSpaceStyleProps {\n $space: number[]\n}\n\nconst BASE_STYLE: CSSObject = {\n '&&:not([hidden])': {\n display: 'grid',\n },\n '&[data-as=\"ul\"],&[data-as=\"ol\"]': {\n listStyle: 'none',\n },\n 'gridTemplateColumns': 'minmax(0, 1fr)',\n 'gridAutoRows': 'min-content',\n}\n\nexport function stackBaseStyle(): CSSObject {\n return BASE_STYLE\n}\n\nexport function responsiveStackSpaceStyle(\n props: ResponsiveStackSpaceStyleProps & ThemeProps,\n): CSSObject[] {\n const {media, space} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$space, (spaceIndex) => ({\n // oxlint-disable-next-line no-deprecated\n gridGap: rem(space[spaceIndex]),\n }))\n}\n","import {forwardRef} from 'react'\nimport {styled} from 'styled-components'\n\nimport {_getArrayProp} from '../../styles'\nimport {ElementType, Props} from '../../types'\nimport {Box, BoxOwnProps} from '../box'\nimport {responsiveStackSpaceStyle, ResponsiveStackSpaceStyleProps, stackBaseStyle} from './styles'\n\n/**\n * @public\n */\nexport interface StackOwnProps extends BoxOwnProps {\n gap?: number | number[]\n /**\n * @deprecated Use `gap` instead. `space` will be removed in v4.\n */\n space?: number | number[]\n}\n\n/**\n * @public\n */\nexport type StackProps<E extends ElementType = 'div'> = Props<StackOwnProps, E>\n\nconst StyledStack = styled(Box)<ResponsiveStackSpaceStyleProps>(\n stackBaseStyle,\n responsiveStackSpaceStyle,\n)\n\nconst StackComponent = forwardRef(function Stack(\n props: StackOwnProps & {as?: ElementType} & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'ref'>,\n ref: React.ForwardedRef<HTMLDivElement>,\n) {\n // oxlint-disable-next-line no-deprecated\n const {as, gap, space: deprecated_space, ...restProps} = props\n const spacing = gap === undefined ? deprecated_space : gap\n\n return (\n <StyledStack\n data-as={typeof as === 'string' ? as : undefined}\n data-ui=\"Stack\"\n {...restProps}\n $space={_getArrayProp(spacing)}\n forwardedAs={as}\n ref={ref}\n />\n )\n})\nStackComponent.displayName = 'ForwardRef(Stack)'\n\n/**\n * The `Stack` component is used to place elements on top of each other.\n *\n * @public\n */\n// oxlint-disable-next-line no-unsafe-type-assertion\nexport const Stack = StackComponent as unknown as <E extends ElementType = 'div'>(\n props: StackProps<E>,\n) => React.JSX.Element\n","import {CloseIcon} from '@sanity/icons'\nimport {ThemeFontWeightKey} from '@sanity/ui/theme'\nimport {forwardRef, isValidElement, useCallback, useImperativeHandle, useMemo, useRef} from 'react'\nimport {isValidElementType} from 'react-is'\nimport {styled} from 'styled-components'\n\nimport {EMPTY_RECORD} from '../../constants'\nimport {useCustomValidity} from '../../hooks'\nimport {_getArrayProp} from '../../styles'\nimport {\n responsiveInputPaddingStyle,\n responsiveRadiusStyle,\n ResponsiveRadiusStyleProps,\n textInputBaseStyle,\n textInputFontSizeStyle,\n TextInputInputStyleProps,\n textInputRepresentationStyle,\n TextInputRepresentationStyleProps,\n TextInputResponsivePaddingStyleProps,\n textInputRootStyle,\n} from '../../styles/internal'\nimport {useRootTheme} from '../../theme'\nimport {Radius} from '../../types'\nimport {Box} from '../box'\nimport {Button, ButtonOwnProps} from '../button'\nimport {Card} from '../card'\nimport {Text} from '../text'\n\n/**\n * @public\n */\nexport type TextInputClearButtonProps = ButtonOwnProps &\n Omit<React.HTMLProps<HTMLButtonElement>, 'as' | 'onClick' | 'onMouseDown' | 'ref'>\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 {\n /**\n * @beta\n */\n __unstable_disableFocusRing?: boolean\n border?: boolean\n /**\n * @beta\n */\n clearButton?: boolean | TextInputClearButtonProps\n customValidity?: string\n fontSize?: number | number[]\n // oxlint-disable-next-line no-redundant-type-constituents\n icon?: React.ElementType | React.ReactNode\n // oxlint-disable-next-line no-redundant-type-constituents\n iconRight?: React.ElementType | React.ReactNode\n /**\n * @beta\n */\n onClear?: () => void\n padding?: number | number[]\n prefix?: React.ReactNode\n radius?: Radius | Radius[]\n /**\n * @deprecated Use `gap` instead. `space` will be removed in v4.\n */\n space?: number | number[]\n gap?: number | number[]\n suffix?: React.ReactNode\n type?: TextInputType\n weight?: ThemeFontWeightKey\n}\n\nconst CLEAR_BUTTON_BOX_STYLE: React.CSSProperties = {zIndex: 2}\n\nconst StyledTextInput = styled(Card).attrs({forwardedAs: 'span'})(textInputRootStyle)\n\nconst InputRoot = styled.span`\n flex: 1;\n min-width: 0;\n display: block;\n position: relative;\n`\n\nconst Prefix = styled(Card).attrs({forwardedAs: 'span'})`\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n\n & > span {\n display: block;\n margin: -1px;\n }\n`\n\nconst Suffix = styled(Card).attrs({forwardedAs: 'span'})`\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n\n & > span {\n display: block;\n margin: -1px;\n }\n`\n\nconst Input = styled.input<TextInputResponsivePaddingStyleProps & TextInputInputStyleProps>(\n responsiveInputPaddingStyle,\n textInputBaseStyle,\n textInputFontSizeStyle,\n)\n\nconst Presentation = styled.span<ResponsiveRadiusStyleProps & TextInputRepresentationStyleProps>(\n responsiveRadiusStyle,\n textInputRepresentationStyle,\n)\n\nconst LeftBox = styled(Box)`\n position: absolute;\n top: 0;\n left: 0;\n`\n\nconst RightBox = styled(Box)`\n position: absolute;\n top: 0;\n right: 0;\n`\n\nconst RightCard = styled(Card)`\n background-color: transparent;\n position: absolute;\n top: 0;\n right: 0;\n`\n\nconst TextInputClearButton = styled(Button)({\n '&:not([hidden])': {\n display: 'block',\n },\n})\n\n/**\n * Single line text input.\n *\n * @public\n */\nexport const TextInput = forwardRef(function TextInput(\n props: TextInputProps & Omit<React.HTMLProps<HTMLInputElement>, 'as' | 'prefix' | 'type'>,\n forwardedRef: React.Ref<HTMLInputElement>,\n) {\n const {\n __unstable_disableFocusRing,\n border = true,\n clearButton,\n disabled = false,\n fontSize: fontSizeProp = 2,\n gap,\n icon: IconComponent,\n iconRight: IconRightComponent,\n onClear,\n padding: paddingProp = 3,\n prefix,\n radius: radiusProp = 2,\n readOnly,\n // oxlint-disable-next-line no-deprecated\n space: deprecated_space = 3,\n suffix,\n customValidity,\n type = 'text',\n weight,\n ...restProps\n } = props\n const ref = useRef<HTMLInputElement | null>(null)\n\n const rootTheme = useRootTheme()\n\n const fontSize = _getArrayProp(fontSizeProp)\n const padding = _getArrayProp(paddingProp)\n const radius = _getArrayProp(radiusProp)\n const space = _getArrayProp(gap === undefined ? deprecated_space : gap)\n\n // Transient properties\n const $hasClearButton = Boolean(clearButton)\n const $hasIcon = Boolean(IconComponent)\n const $hasIconRight = Boolean(IconRightComponent)\n const $hasSuffix = Boolean(suffix)\n const $hasPrefix = Boolean(prefix)\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: React.MouseEvent<HTMLButtonElement>) => {\n event.preventDefault()\n event.stopPropagation()\n }, [])\n\n const handleClearClick = useCallback(\n (event: React.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 // Render prefix (memoized)\n const prefixNode = useMemo(\n () =>\n prefix && (\n <Prefix borderTop borderLeft borderBottom radius={radius} sizing=\"border\" tone=\"inherit\">\n <span>{prefix}</span>\n </Prefix>\n ),\n [prefix, radius],\n )\n\n // Render presentation (memoized)\n const presentationNode = useMemo(\n () => (\n <Presentation\n $hasPrefix={$hasPrefix}\n $unstableDisableFocusRing={__unstable_disableFocusRing}\n $hasSuffix={$hasSuffix}\n $radius={radius}\n $scheme={rootTheme.scheme}\n $tone={rootTheme.tone}\n data-border={border ? '' : undefined}\n data-scheme={rootTheme.scheme}\n data-tone={rootTheme.tone}\n >\n {IconComponent && (\n <LeftBox padding={padding}>\n <Text size={fontSize}>\n {isValidElement(IconComponent) && IconComponent}\n {isValidElementType(IconComponent) && <IconComponent />}\n </Text>\n </LeftBox>\n )}\n\n {!$hasClearButton && IconRightComponent && (\n <RightBox padding={padding}>\n <Text size={fontSize}>\n {isValidElement(IconRightComponent) && IconRightComponent}\n {isValidElementType(IconRightComponent) && <IconRightComponent />}\n </Text>\n </RightBox>\n )}\n </Presentation>\n ),\n [\n __unstable_disableFocusRing,\n border,\n fontSize,\n IconComponent,\n IconRightComponent,\n padding,\n radius,\n rootTheme,\n $hasClearButton,\n $hasPrefix,\n $hasSuffix,\n ],\n )\n\n // Render clear button (memoized)\n const clearButtonBoxPadding = useMemo(\n () =>\n padding.map((v) => {\n if (v === 0) return 0\n if (v === 1) return 1\n if (v === 2) return 1\n\n return v - 2\n }),\n [padding],\n )\n const clearButtonPadding = useMemo(\n () =>\n padding.map((v) => {\n if (v === 0) return 0\n if (v === 1) return 0\n if (v === 2) return 1\n\n return v - 1\n }),\n [padding],\n )\n const clearButtonProps: TextInputClearButtonProps = useMemo(\n () => (typeof clearButton === 'object' ? clearButton : EMPTY_RECORD),\n [clearButton],\n )\n const clearButtonNode = useMemo(\n () =>\n !disabled &&\n !readOnly &&\n clearButton && (\n <RightCard\n forwardedAs=\"span\"\n padding={clearButtonBoxPadding}\n style={CLEAR_BUTTON_BOX_STYLE}\n tone={customValidity ? 'critical' : 'inherit'}\n >\n <TextInputClearButton\n aria-label=\"Clear\"\n data-qa=\"clear-button\"\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 </RightCard>\n ),\n [\n clearButton,\n clearButtonBoxPadding,\n clearButtonPadding,\n clearButtonProps,\n customValidity,\n disabled,\n fontSize,\n handleClearClick,\n handleClearMouseDown,\n radius,\n readOnly,\n ],\n )\n\n // Render suffix (memoized)\n const suffixNode = useMemo(\n () =>\n suffix && (\n <Suffix borderTop borderRight borderBottom radius={radius} sizing=\"border\" tone=\"inherit\">\n <span>{suffix}</span>\n </Suffix>\n ),\n [radius, suffix],\n )\n\n return (\n <StyledTextInput data-ui=\"TextInput\" tone={rootTheme.tone}>\n {prefixNode}\n\n <InputRoot>\n <Input\n data-as=\"input\"\n data-scheme={rootTheme.scheme}\n data-tone={rootTheme.tone}\n {...restProps}\n $fontSize={fontSize}\n $iconLeft={$hasIcon}\n $iconRight={$hasIconRight || $hasClearButton}\n $padding={padding}\n $scheme={rootTheme.scheme}\n $space={space}\n $tone={rootTheme.tone}\n $weight={weight}\n disabled={disabled}\n readOnly={readOnly}\n ref={ref}\n type={type}\n />\n\n {presentationNode}\n {clearButtonNode}\n </InputRoot>\n\n {suffixNode}\n </StyledTextInput>\n )\n})\nTextInput.displayName = 'ForwardRef(TextInput)'\n","import {SetStateAction, useCallback, useEffect, 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 useEffect(() => {\n return () => {\n if (delayedAction.current) {\n clearTimeout(delayedAction.current)\n }\n }\n }, [])\n\n return [state, onStateChange]\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 {ThemeColorSchemeKey} from '@sanity/ui/theme'\nimport {motion, type MotionProps} from 'motion/react'\nimport React, {CSSProperties, forwardRef, useMemo} from 'react'\nimport {styled} from 'styled-components'\n\nimport {POPOVER_MOTION_PROPS} from '../../constants'\nimport {Placement, Radius} 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 = styled(motion.create(Card))`\n will-change: transform;\n`\n\n/**\n * @internal\n */\nexport const TooltipCard = forwardRef(function TooltipCard(\n props: {\n animate?: boolean\n arrow: boolean\n arrowRef: React.Ref<HTMLDivElement>\n arrowX?: number\n arrowY?: number\n originX?: number\n originY?: number\n padding?: number | number[]\n placement?: Placement\n radius?: Radius | Radius[]\n scheme?: ThemeColorSchemeKey\n shadow?: number | number[]\n } & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'height' | 'width'>,\n ref: React.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 ...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 // oxlint-disable-next-line no-unsafe-type-assertion\n {...(restProps as CardProps & MotionProps)}\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 >\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})\nTooltipCard.displayName = '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 {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 type {ThemeColorSchemeKey} from '@sanity/ui/theme'\nimport {AnimatePresence} from 'motion/react'\nimport {\n cloneElement,\n forwardRef,\n useCallback,\n useEffect,\n useId,\n useImperativeHandle,\n useLayoutEffect,\n useMemo,\n useRef,\n useState,\n} from 'react'\nimport {styled} from 'styled-components'\nimport {useEffectEvent} from 'use-effect-event'\n\nimport {usePrefersReducedMotion} from '../../hooks'\nimport {useDelayedState} from '../../hooks/useDelayedState'\nimport {origin} from '../../middleware/origin'\nimport {_getArrayProp} from '../../styles'\nimport {useTheme_v2} from '../../theme'\nimport type {Placement} 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'> {\n /** @deprecated Use `fallbackPlacements` instead. */\n allowedAutoPlacements?: Placement[]\n arrow?: boolean\n boundaryElement?: HTMLElement | null\n children?: React.JSX.Element\n content?: React.ReactNode\n disabled?: boolean\n fallbackPlacements?: Placement[]\n padding?: number | number[]\n placement?: Placement\n /** Whether or not to render the tooltip in a portal element. */\n portal?: boolean | string\n radius?: number | number[]\n scheme?: ThemeColorSchemeKey\n shadow?: number | number[]\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 /**\n * Whether the tooltip should animate in and out.\n *\n * @beta\n * @defaultValue false\n */\n animate?: boolean\n}\n\nconst StyledTooltip = styled(Layer)`\n pointer-events: none;\n`\n\n/**\n * Tooltips display information when hovering, focusing or tapping.\n *\n * @public\n */\nexport const Tooltip = forwardRef(function Tooltip(\n props: TooltipProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'children' | 'content'>,\n forwardedRef: React.ForwardedRef<HTMLDivElement>,\n) {\n const boundaryElementContext = useBoundaryElement()\n const {layer} = useTheme_v2()\n const {\n animate: _animate = false,\n arrow: arrowProp = false,\n boundaryElement: _boundaryElement,\n children: childProp,\n content,\n disabled,\n fallbackPlacements: _fallbackPlacementsProp,\n padding = 2,\n placement: placementProp = 'bottom',\n portal: portalProp,\n radius = 2,\n scheme,\n shadow = 2,\n zOffset: _zOffset,\n delay,\n ...restProps\n } = props\n const boundaryElement = _boundaryElement ?? boundaryElementContext?.element\n const fallbackPlacementsProp =\n _fallbackPlacementsProp ?? DEFAULT_FALLBACK_PLACEMENTS[props.placement ?? 'bottom']\n const zOffset = _zOffset ?? layer.tooltip.zOffset\n const prefersReducedMotion = usePrefersReducedMotion()\n const animate = prefersReducedMotion ? false : _animate\n const fallbackPlacements = _getArrayProp(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 = useMiddleware({\n animate,\n arrowProp,\n arrowRef,\n boundaryElement,\n fallbackPlacements,\n rootBoundary,\n })\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 // oxlint-disable-next-line consistent-return\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 // oxlint-disable-next-line react-compiler\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 tooltip = (\n <StyledTooltip\n data-ui=\"Tooltip\"\n {...restProps}\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 >\n {content}\n </TooltipCard>\n </StyledTooltip>\n )\n\n const children =\n showTooltip &&\n (portalProp ? (\n <Portal __unstable_name={typeof portalProp === 'string' ? portalProp : undefined}>\n {tooltip}\n </Portal>\n ) : (\n tooltip\n ))\n\n return (\n <>\n {/* the tooltip */}\n {animate ? <AnimatePresence>{children}</AnimatePresence> : children}\n\n {/* the referred element */}\n {child}\n </>\n )\n})\nTooltip.displayName = 'ForwardRef(Tooltip)'\n\nfunction useMiddleware({\n animate,\n arrowProp,\n arrowRef,\n boundaryElement,\n fallbackPlacements,\n rootBoundary,\n}: {\n animate: boolean\n arrowProp: boolean\n arrowRef: React.RefObject<HTMLDivElement | null>\n boundaryElement: HTMLElement | null\n fallbackPlacements: Placement[]\n rootBoundary: RootBoundary\n}) {\n return 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, arrowRef, boundaryElement, fallbackPlacements, rootBoundary])\n}\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.react.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.react.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 // oxlint-disable-next-line consistent-return\n return () => window.removeEventListener('mousemove', handleMouseMove)\n }, [isInsideGroup, showTooltip])\n}\n","import {forwardRef} from 'react'\nimport {styled} from 'styled-components'\n\nimport {Inline, KBD} from '../../primitives'\nimport {_getArrayProp} from '../../styles'\nimport {Radius} from '../../types'\n\n/**\n * @public\n */\nexport interface HotkeysProps {\n fontSize?: number | number[]\n gap?: number | number[]\n padding?: number | number[]\n radius?: Radius | Radius[]\n /**\n * @deprecated Use `gap` instead. `space` will be removed in v4.\n */\n space?: number | number[]\n keys?: string[]\n}\n\nconst StyledHotkeys = styled.kbd`\n font: inherit;\n padding: 1px;\n\n &:not([hidden]) {\n display: block;\n }\n`\n\nconst Key = styled(KBD)`\n &:not([hidden]) {\n display: block;\n }\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: HotkeysProps & Omit<React.HTMLProps<HTMLElement>, 'as' | 'ref' | 'size'>,\n ref: React.Ref<HTMLElement>,\n) {\n // oxlint-disable-next-line no-deprecated\n const {fontSize, gap, keys, padding, radius, space: deprecated_space = 0.5, ...restProps} = props\n const spacing = _getArrayProp(gap === undefined ? deprecated_space : gap)\n\n if (!keys || keys.length === 0) {\n return <></>\n }\n\n return (\n <StyledHotkeys data-ui=\"Hotkeys\" {...restProps} ref={ref}>\n <Inline as=\"span\" gap={spacing}>\n {keys.map((key, i) => (\n // oxlint-disable-next-line no-array-index-key\n <Key fontSize={fontSize} key={i} padding={padding} radius={radius}>\n {key}\n </Key>\n ))}\n </Inline>\n </StyledHotkeys>\n )\n})\nHotkeys.displayName = 'ForwardRef(Hotkeys)'\n","import {createGlobalScopedContext} from '../../lib/createGlobalScopedContext'\n\nexport interface MenuContextValue {\n version: 2\n activeElement: HTMLElement | null\n mount: (element: HTMLElement | null, selected?: boolean) => () => void\n onClickOutside?: (event: MouseEvent) => void\n onEscape?: () => void\n onItemClick?: () => void\n onItemMouseEnter: (event: React.MouseEvent<HTMLElement>) => void\n onItemMouseLeave: (event: React.MouseEvent<HTMLElement>) => void\n registerElement?: (el: 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 {useCallback, useEffect, useRef, useState} 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: React.MouseEvent<HTMLElement>) => void\n handleItemMouseLeave: () => void\n handleKeyDown: (event: React.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?: React.KeyboardEventHandler\n originElement?: HTMLElement | null\n shouldFocus: 'first' | 'last' | null\n // oxlint-disable-next-line no-deprecated\n rootElementRef: React.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, setActiveElement] = useState<HTMLElement | null>(null)\n\n const setActiveIndex = useCallback((nextActiveIndex: number) => {\n _setActiveIndex(nextActiveIndex)\n activeIndexRef.current = nextActiveIndex\n setActiveElement(elementsRef.current[nextActiveIndex] || null)\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: React.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: React.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 (!rootElementRef.current) 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 // oxlint-disable-next-line consistent-return\n return () => cancelAnimationFrame(rafId)\n }, [activeIndex, rootElementRef, setActiveIndex, shouldFocus])\n\n return {\n activeElement,\n activeIndex,\n handleItemMouseEnter,\n handleItemMouseLeave,\n handleKeyDown,\n mount,\n }\n}\n","import {forwardRef, useCallback, useEffect, useImperativeHandle, useMemo, useRef} from 'react'\nimport {styled} from 'styled-components'\n\nimport {useClickOutsideEvent, useGlobalKeyDown} from '../../hooks'\nimport {Box, Stack} from '../../primitives'\nimport {ResponsivePaddingProps} from '../../primitives/types'\nimport {useLayer} from '../../utils'\nimport {MenuContext, MenuContextValue} from './menuContext'\nimport {useMenuController} from './useMenuController'\n\n/**\n * @public\n */\nexport interface MenuProps extends ResponsivePaddingProps {\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 'gap'?: number | number[]\n /**\n * @deprecated Use `gap` instead. `space` will be removed in v4.\n */\n 'space'?: number | number[]\n 'aria-labelledby'?: string\n 'onBlurCapture'?: (event: FocusEvent) => void\n}\n\nconst StyledMenu = styled(Box)`\n outline: none;\n overflow: auto;\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: MenuProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'height' | 'role' | 'tabIndex'>,\n forwardedRef: React.ForwardedRef<HTMLDivElement>,\n) {\n const {\n children,\n // oxlint-disable-next-line no-deprecated, no-unused-vars\n focusFirst,\n // oxlint-disable-next-line no-deprecated, no-unused-vars\n focusLast,\n onClickOutside,\n onEscape,\n onItemClick,\n onItemSelect,\n onKeyDown,\n originElement,\n padding = 1,\n registerElement,\n shouldFocus: _shouldFocus,\n gap,\n // oxlint-disable-next-line no-deprecated\n space: deprecated_space = 1,\n ...restProps\n } = props\n const spacing = gap === undefined ? deprecated_space : gap\n const shouldFocus =\n // oxlint-disable-next-line no-deprecated\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({onKeyDown, originElement, shouldFocus, rootElementRef: ref})\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 = useMemo(\n () =>\n ({\n version: 2,\n activeElement,\n mount,\n onClickOutside,\n onEscape,\n onItemClick,\n onItemMouseEnter: handleItemMouseEnter,\n onItemMouseLeave: handleItemMouseLeave,\n registerElement,\n }) satisfies MenuContextValue,\n [\n activeElement,\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 <StyledMenu\n data-ui=\"Menu\"\n {...restProps}\n onKeyDown={handleKeyDown}\n padding={padding}\n ref={handleRefChange}\n role=\"menu\"\n tabIndex={-1}\n >\n <Stack gap={spacing}>{children}</Stack>\n </StyledMenu>\n </MenuContext.Provider>\n )\n})\nMenu.displayName = 'ForwardRef(Menu)'\n","import {styled} from 'styled-components'\n\nimport {ElementType, EmptyProps, Props} from '../../types'\n\nconst StyledMenuDivider = styled.hr`\n height: 1px;\n border: 0;\n background: var(--card-hairline-soft-color);\n margin: 0;\n`\nStyledMenuDivider.displayName = 'MenuDivider'\n\n/**\n * @public\n */\nexport type MenuDividerProps<E extends ElementType = 'hr'> = Props<EmptyProps, E>\n\n/**\n * @public\n */\n// oxlint-disable-next-line no-unsafe-type-assertion\nexport const MenuDivider = StyledMenuDivider as unknown as <E extends ElementType = 'hr'>(\n props: MenuDividerProps<E>,\n) => React.JSX.Element\n","import {getTheme_v2} from '@sanity/ui/theme'\nimport {css} from 'styled-components'\n\nimport {ThemeProps} from '../../styles'\nimport {_cardColorStyle} from '../../styles/card'\nimport {SelectableTone} from '../../types'\n\n/**\n * @internal\n */\nexport interface SelectableStyleProps {\n $tone: SelectableTone\n}\n\nexport function selectableBaseStyle(): ReturnType<typeof css> {\n return css`\n background-color: inherit;\n color: inherit;\n\n &[data-as='button'] {\n -webkit-font-smoothing: inherit;\n appearance: none;\n outline: none;\n font: inherit;\n text-align: inherit;\n border: 0;\n width: -moz-available;\n width: -webkit-fill-available;\n width: stretch;\n }\n\n /* &:is(a) */\n &[data-as='a'] {\n text-decoration: none;\n }\n `\n}\n\nexport function selectableColorStyle(\n props: SelectableStyleProps & ThemeProps,\n): ReturnType<typeof css> {\n const {$tone} = props\n const {color, style} = getTheme_v2(props.theme)\n const tone = color.selectable[$tone]\n\n return css`\n ${_cardColorStyle(color, tone.enabled)}\n\n background-color: var(--card-bg-color);\n color: var(--card-fg-color);\n outline: none;\n\n /* &:is(button) */\n &[data-as='button'] {\n &:disabled {\n ${_cardColorStyle(color, tone.disabled)}\n }\n\n &:not(:disabled) {\n &[aria-pressed='true'] {\n ${_cardColorStyle(color, tone.pressed)}\n }\n\n &[data-selected],\n &[aria-selected='true'] > & {\n ${_cardColorStyle(color, tone.selected)}\n }\n\n @media (hover: hover) {\n &:not([data-selected]) {\n &[data-hovered],\n &:hover {\n ${_cardColorStyle(color, tone.hovered)}\n }\n\n &:active {\n ${_cardColorStyle(color, tone.pressed)}\n }\n }\n }\n }\n }\n\n /* &:is(a) */\n &[data-as='a'] {\n &[data-disabled] {\n ${_cardColorStyle(color, tone.disabled)}\n }\n\n &:not([data-disabled]) {\n &[data-pressed] {\n ${_cardColorStyle(color, tone.pressed)}\n }\n\n &[data-selected] {\n ${_cardColorStyle(color, tone.selected)}\n }\n\n @media (hover: hover) {\n &:not([data-selected]) {\n &[data-hovered],\n &:hover {\n ${_cardColorStyle(color, tone.hovered)}\n }\n &:active {\n ${_cardColorStyle(color, tone.pressed)}\n }\n }\n }\n }\n }\n\n ${style?.card?.root}\n `\n}\n","import {styled} from 'styled-components'\n\nimport {responsiveRadiusStyle, ResponsiveRadiusStyleProps} from '../../styles/radius'\nimport {Box} from '../box'\nimport {selectableBaseStyle, selectableColorStyle, SelectableStyleProps} from './style'\n\n/**\n * @internal\n */\nexport const Selectable = styled(Box)<SelectableStyleProps & ResponsiveRadiusStyleProps>(\n responsiveRadiusStyle,\n selectableBaseStyle,\n selectableColorStyle,\n)\nSelectable.displayName = '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: 2`, it’s not compatible with the current version\n if (!isRecord(value) || value.version !== 2) {\n throw new Error('useMenu(): the context value is not compatible')\n }\n\n return value\n}\n","import {ChevronRightIcon} from '@sanity/icons'\nimport {isValidElement, useCallback, useEffect, useState} from 'react'\nimport {isValidElementType} from 'react-is'\n\nimport {Box, Flex, Popover, PopoverProps, Text} from '../../primitives'\nimport {Selectable} from '../../primitives/_selectable'\nimport {_getArrayProp} from '../../styles'\nimport {useRootTheme} from '../../theme'\nimport {ElementType, Props, Radius, SelectableTone} from '../../types'\nimport {Menu, MenuProps} from './menu'\nimport {useMenu} from './useMenu'\n\n/**\n * @public\n */\nexport interface MenuGroupOwnProps {\n fontSize?: number | number[]\n // oxlint-disable-next-line no-redundant-type-constituents\n icon?: React.ElementType | React.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?: number | number[]\n popover?: Omit<PopoverProps, 'content' | 'open'>\n radius?: Radius | Radius[]\n gap?: number | number[]\n /**\n * @deprecated Use `gap` instead. `space` will be removed in v4.\n */\n space?: number | number[]\n text: React.ReactNode\n tone?: SelectableTone\n}\n\n/**\n * @public\n */\nexport type MenuGroupProps<E extends ElementType = 'button'> = Props<MenuGroupOwnProps, E>\n\nfunction MenuGroupComponent(\n props: Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'height' | 'popover' | 'ref' | 'tabIndex'> &\n MenuGroupOwnProps & {as?: ElementType},\n): React.JSX.Element {\n const {\n as = 'button',\n children,\n fontSize = 1,\n icon: IconComponent,\n menu: menuProps,\n onClick,\n padding = 3,\n popover,\n radius = 2,\n gap,\n // oxlint-disable-next-line no-deprecated\n space: deprecated_space = 3,\n text,\n tone = 'default',\n ...restProps\n } = props\n const spacing = gap === undefined ? deprecated_space : gap\n const menu = useMenu()\n const {scheme} = useRootTheme()\n const {\n activeElement,\n mount,\n onClickOutside,\n onEscape,\n onItemClick,\n onItemMouseEnter: _onItemMouseEnter,\n registerElement,\n } = menu\n const onItemMouseEnter = _onItemMouseEnter ?? menu.onItemMouseEnter\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: React.MouseEvent<HTMLElement>) => {\n setWithinMenu(false)\n onItemMouseEnter(event)\n setOpen(true)\n },\n [onItemMouseEnter],\n )\n\n const handleMenuKeyDown = useCallback(\n (event: React.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: React.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 // oxlint-disable-next-line react-compiler\n if (!active) setOpen(false)\n }, [active])\n\n // Update state when child menu is no longer open\n useEffect(() => {\n // oxlint-disable-next-line react-compiler\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 // oxlint-disable-next-line consistent-return\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: React.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 data-pressed={as !== 'button' ? withinMenu : undefined}\n data-selected={!withinMenu && active ? '' : undefined}\n $radius={_getArrayProp(radius)}\n $tone={tone}\n $scheme={scheme}\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n onMouseEnter={handleMouseEnter}\n ref={setRootElement}\n tabIndex={-1}\n type={as === 'button' ? 'button' : undefined}\n >\n <Flex gap={spacing} 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\nMenuGroupComponent.displayName = 'MenuGroup'\n\n/**\n * @public\n */\n// oxlint-disable-next-line no-unsafe-type-assertion\nexport const MenuGroup = MenuGroupComponent as unknown as <E extends ElementType = 'button'>(\n props: MenuGroupProps<E>,\n) => React.JSX.Element\n","import {\n forwardRef,\n isValidElement,\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 {ResponsivePaddingProps, ResponsiveRadiusProps} from '../../primitives/types'\nimport {_getArrayProp} from '../../styles'\nimport {useRootTheme} from '../../theme'\nimport {ElementType, Props} from '../../types'\nimport {SelectableTone} from '../../types/selectable'\nimport {Hotkeys} from '../hotkeys'\nimport {useMenu} from './useMenu'\n\n/**\n * @public\n */\nexport interface MenuItemOwnProps extends ResponsivePaddingProps, ResponsiveRadiusProps {\n fontSize?: number | number[]\n hotkeys?: string[]\n // oxlint-disable-next-line no-redundant-type-constituents\n icon?: React.ElementType | React.ReactNode\n // oxlint-disable-next-line no-redundant-type-constituents\n iconRight?: React.ElementType | React.ReactNode\n pressed?: boolean\n selected?: boolean\n gap?: number | number[]\n /**\n * @deprecated Use `gap` instead. `space` will be removed in v4.\n */\n space?: number | number[]\n text?: React.ReactNode\n tone?: SelectableTone\n}\n\n/**\n * @public\n */\nexport type MenuItemProps<E extends ElementType = 'button'> = Props<MenuItemOwnProps, E>\n\nconst MenuItemComponent = forwardRef(function MenuItem(\n props: MenuItemOwnProps & {as?: ElementType} & Omit<\n React.HTMLProps<HTMLDivElement>,\n 'as' | 'height' | 'ref' | 'selected' | 'tabIndex'\n >,\n forwardedRef: React.ForwardedRef<HTMLDivElement>,\n) {\n const {\n as = 'button',\n children,\n disabled,\n fontSize = 1,\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 gap,\n // oxlint-disable-next-line no-deprecated\n space: deprecated_space = 3,\n text,\n tone = 'default',\n ...restProps\n } = props\n const spacing = gap === undefined ? deprecated_space : gap\n const {scheme} = useRootTheme()\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.onItemMouseEnter\n const onItemMouseLeave = _onItemMouseLeave ?? menu.onItemMouseLeave\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: React.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 hotkeysFontSize = _getArrayProp(fontSize).map((s) => s - 1)\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 data-pressed={as !== 'button' && pressed ? '' : undefined}\n data-selected={active ? '' : undefined}\n data-disabled={disabled ? '' : undefined}\n forwardedAs={as}\n $radius={_getArrayProp(radius)}\n $padding={_getArrayProp(0)}\n $tone={disabled ? 'default' : tone}\n $scheme={scheme}\n disabled={disabled}\n onClick={handleClick}\n onMouseEnter={onItemMouseEnter}\n onMouseLeave={onItemMouseLeave}\n ref={setRef}\n tabIndex={-1}\n type={as === 'button' ? 'button' : undefined}\n >\n {(IconComponent || text || IconRightComponent) && (\n <Flex as=\"span\" gap={spacing} align=\"center\" {...paddingProps}>\n {IconComponent && (\n <Text 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\n fontSize={hotkeysFontSize}\n keys={hotkeys}\n style={{marginTop: -4, marginBottom: -4}}\n />\n )}\n\n {IconRightComponent && (\n <Text size={fontSize}>\n {isValidElement(IconRightComponent) && IconRightComponent}\n {isValidElementType(IconRightComponent) && <IconRightComponent />}\n </Text>\n )}\n </Flex>\n )}\n {children && (\n <Box as=\"span\" {...paddingProps}>\n {children}\n </Box>\n )}\n </Selectable>\n )\n})\nMenuItemComponent.displayName = 'ForwardRef(MenuItem)'\n\n/**\n * @public\n */\n// oxlint-disable-next-line no-unsafe-type-assertion\nexport const MenuItem = MenuItemComponent as unknown as <E extends ElementType = 'button'>(\n props: MenuItemProps<E>,\n) => React.JSX.Element\n","import {forwardRef, useCallback, useEffect, useImperativeHandle, useRef} from 'react'\nimport {styled} from 'styled-components'\n\nimport {Button} from '../../primitives'\nimport {ButtonTone} from '../../types'\n\n/**\n * @public\n */\nexport interface TabProps {\n /**\n * The `id` of the correlating `TabPanel` component.\n */\n 'aria-controls': string\n 'id': string\n // oxlint-disable-next-line no-redundant-type-constituents\n 'icon'?: React.ElementType | React.ReactNode\n 'focused'?: boolean\n 'fontSize'?: number | number[]\n 'label'?: React.ReactNode\n 'padding'?: number | number[]\n 'selected'?: boolean\n 'tone'?: ButtonTone\n}\n\nconst CustomButton = styled(Button)`\n max-width: 100%;\n`\n\n/**\n * @public\n */\nexport const Tab = forwardRef(function Tab(\n props: TabProps &\n Omit<\n React.HTMLProps<HTMLButtonElement>,\n 'aria-controls' | 'as' | 'id' | 'label' | 'type' | 'width'\n >,\n forwardedRef: React.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: React.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 <CustomButton\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})\nTab.displayName = 'ForwardRef(Tab)'\n","import {Children, cloneElement, forwardRef, isValidElement, useCallback, useState} from 'react'\nimport {styled} from 'styled-components'\n\nimport {Inline, InlineOwnProps} from '../../primitives'\n\n/**\n * @public\n */\nexport interface TabListProps extends Omit<InlineOwnProps, 'height'> {\n children: Array<React.JSX.Element | null | undefined | false>\n}\n\n//Limits the width of tabs in tablist\nconst CustomInline = styled(Inline)`\n & > div {\n display: inline-block;\n vertical-align: middle;\n max-width: 100%;\n box-sizing: border-box;\n }\n`\n\n/**\n * @public\n */\nexport const TabList = forwardRef(function TabList(\n props: TabListProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'height'>,\n ref,\n) {\n const {children: childrenProp, ...restProps} = props\n const [focusedIndex, setFocusedIndex] = useState(-1)\n\n const children: React.JSX.Element[] = Children.toArray(childrenProp).filter(isValidElement)\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: React.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 // oxlint-disable-next-line interactive-supports-focus\n <CustomInline\n data-ui=\"TabList\"\n {...restProps}\n onKeyDown={handleKeyDown}\n ref={ref}\n role=\"tablist\"\n >\n {tabs}\n </CustomInline>\n )\n})\nTabList.displayName = 'ForwardRef(TabList)'\n"],"mappings":"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"}