@sanity/ui 4.0.0-static.9 → 4.0.0

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 (677) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +25 -7
  3. package/dist/_system-CTe2lb5l.d.ts +40 -0
  4. package/dist/_system-CTe2lb5l.d.ts.map +1 -0
  5. package/dist/arrow-CHE8-_G7.js +161 -0
  6. package/dist/arrow-CHE8-_G7.js.map +1 -0
  7. package/dist/autocomplete.d.ts +140 -0
  8. package/dist/autocomplete.d.ts.map +1 -0
  9. package/dist/autocomplete.js +475 -0
  10. package/dist/autocomplete.js.map +1 -0
  11. package/dist/breadcrumbs.d.ts +18 -0
  12. package/dist/breadcrumbs.d.ts.map +1 -0
  13. package/dist/breadcrumbs.js +116 -0
  14. package/dist/breadcrumbs.js.map +1 -0
  15. package/dist/button-dnqMFkWg.d.ts +76 -0
  16. package/dist/button-dnqMFkWg.d.ts.map +1 -0
  17. package/dist/button-mxfSqr0n.js +179 -0
  18. package/dist/button-mxfSqr0n.js.map +1 -0
  19. package/dist/card-C0a0wQTc.d.ts +7 -0
  20. package/dist/card-C0a0wQTc.d.ts.map +1 -0
  21. package/dist/code.d.ts +20 -0
  22. package/dist/code.d.ts.map +1 -0
  23. package/dist/code.js +90 -0
  24. package/dist/code.js.map +1 -0
  25. package/dist/codeFontStyle-DYUujk7K.js +11 -0
  26. package/dist/codeFontStyle-DYUujk7K.js.map +1 -0
  27. package/dist/component-DVlwaWB-.d.ts +25 -0
  28. package/dist/component-DVlwaWB-.d.ts.map +1 -0
  29. package/dist/element-BYgCE_iK.js +51 -0
  30. package/dist/element-BYgCE_iK.js.map +1 -0
  31. package/dist/factory-BA3gEfyI.js +3056 -0
  32. package/dist/factory-BA3gEfyI.js.map +1 -0
  33. package/dist/flex-C-5JHi1C.js +76 -0
  34. package/dist/flex-C-5JHi1C.js.map +1 -0
  35. package/dist/font-EtfxKPUz.d.ts +49 -0
  36. package/dist/font-EtfxKPUz.d.ts.map +1 -0
  37. package/dist/getElementRef-5HZQ-Owu.js +91 -0
  38. package/dist/getElementRef-5HZQ-Owu.js.map +1 -0
  39. package/dist/getScopedTheme-C-sZsyAz.js +267 -0
  40. package/dist/getScopedTheme-C-sZsyAz.js.map +1 -0
  41. package/dist/getTheme_v2-y09KqtEb.js +487 -0
  42. package/dist/getTheme_v2-y09KqtEb.js.map +1 -0
  43. package/dist/grid-BXHFJhf_.js +115 -0
  44. package/dist/grid-BXHFJhf_.js.map +1 -0
  45. package/dist/helpers-bwfx1e-Y.js +67 -0
  46. package/dist/helpers-bwfx1e-Y.js.map +1 -0
  47. package/dist/hotkeys-CmmTQZpn.js +165 -0
  48. package/dist/hotkeys-CmmTQZpn.js.map +1 -0
  49. package/dist/index.d.ts +1192 -2168
  50. package/dist/index.d.ts.map +1 -0
  51. package/dist/index.js +2069 -4483
  52. package/dist/index.js.map +1 -1
  53. package/dist/layer-B98ynOf2.js +61 -0
  54. package/dist/layer-B98ynOf2.js.map +1 -0
  55. package/dist/layer-ChlP9Ik6.d.ts +242 -0
  56. package/dist/layer-ChlP9Ik6.d.ts.map +1 -0
  57. package/dist/menu.d.ts +146 -0
  58. package/dist/menu.d.ts.map +1 -0
  59. package/dist/menu.js +614 -0
  60. package/dist/menu.js.map +1 -0
  61. package/dist/popover-CMlQeKn0.d.ts +96 -0
  62. package/dist/popover-CMlQeKn0.d.ts.map +1 -0
  63. package/dist/popover-PorX5Jv9.js +419 -0
  64. package/dist/popover-PorX5Jv9.js.map +1 -0
  65. package/dist/popover.d.ts +2 -0
  66. package/dist/popover.js +3 -0
  67. package/dist/refractor-CC48DwHi.js +20 -0
  68. package/dist/refractor-CC48DwHi.js.map +1 -0
  69. package/dist/responsiveFont-hN1mZFjm.js +55 -0
  70. package/dist/responsiveFont-hN1mZFjm.js.map +1 -0
  71. package/dist/rgba-BSYaEUW6.d.ts +846 -0
  72. package/dist/rgba-BSYaEUW6.d.ts.map +1 -0
  73. package/dist/selectable-B0GUIL74.d.ts +7 -0
  74. package/dist/selectable-B0GUIL74.d.ts.map +1 -0
  75. package/dist/stack-iW9HuGLg.js +112 -0
  76. package/dist/stack-iW9HuGLg.js.map +1 -0
  77. package/dist/styles-css.d.ts +2 -0
  78. package/dist/styles-css.js +4 -0
  79. package/dist/styles.css +28 -0
  80. package/dist/textInput-udxyGbm1.js +321 -0
  81. package/dist/textInput-udxyGbm1.js.map +1 -0
  82. package/dist/theme.d.ts +240 -459
  83. package/dist/theme.d.ts.map +1 -0
  84. package/dist/theme.js +55 -870
  85. package/dist/theme.js.map +1 -1
  86. package/dist/toast.d.ts +73 -0
  87. package/dist/toast.d.ts.map +1 -0
  88. package/dist/toast.js +297 -0
  89. package/dist/toast.js.map +1 -0
  90. package/dist/tooltip.d.ts +88 -0
  91. package/dist/tooltip.d.ts.map +1 -0
  92. package/dist/tooltip.js +447 -0
  93. package/dist/tooltip.js.map +1 -0
  94. package/dist/useClickOutsideEvent-lEVhDFCQ.js +36 -0
  95. package/dist/useClickOutsideEvent-lEVhDFCQ.js.map +1 -0
  96. package/dist/useElementSize-BJvbGHq8.js +51 -0
  97. package/dist/useElementSize-BJvbGHq8.js.map +1 -0
  98. package/dist/useLayer-BAVfmbNN.js +712 -0
  99. package/dist/useLayer-BAVfmbNN.js.map +1 -0
  100. package/package.json +73 -208
  101. package/dist/_chunks-cjs/refractor.cjs +0 -22
  102. package/dist/_chunks-cjs/refractor.cjs.map +0 -1
  103. package/dist/_chunks-es/refractor.js +0 -25
  104. package/dist/_chunks-es/refractor.js.map +0 -1
  105. package/dist/css/index.cjs +0 -966
  106. package/dist/css/index.cjs.map +0 -1
  107. package/dist/css/index.css +0 -23387
  108. package/dist/css/index.css.map +0 -1
  109. package/dist/css/index.d.cts +0 -1394
  110. package/dist/css/index.d.ts +0 -1394
  111. package/dist/css/index.js +0 -967
  112. package/dist/css/index.js.map +0 -1
  113. package/dist/index.cjs +0 -4515
  114. package/dist/index.cjs.map +0 -1
  115. package/dist/index.d.cts +0 -2521
  116. package/dist/theme.cjs +0 -870
  117. package/dist/theme.cjs.map +0 -1
  118. package/dist/theme.d.cts +0 -499
  119. package/exports/css.ts +0 -1
  120. package/exports/index.ts +0 -1
  121. package/exports/theme.ts +0 -1
  122. package/src/core/Root.tsx +0 -88
  123. package/src/core/RootProvider.tsx +0 -40
  124. package/src/core/__workshop__/boundary.tsx +0 -28
  125. package/src/core/__workshop__/index.ts +0 -16
  126. package/src/core/components/autocomplete/__workshop__/async.tsx +0 -156
  127. package/src/core/components/autocomplete/__workshop__/constrainedHeight.tsx +0 -131
  128. package/src/core/components/autocomplete/__workshop__/custom.tsx +0 -91
  129. package/src/core/components/autocomplete/__workshop__/example.tsx +0 -80
  130. package/src/core/components/autocomplete/__workshop__/focusAndBlur.tsx +0 -36
  131. package/src/core/components/autocomplete/__workshop__/fullscreen.tsx +0 -292
  132. package/src/core/components/autocomplete/__workshop__/index.ts +0 -41
  133. package/src/core/components/autocomplete/__workshop__/mock/apiStore.ts +0 -49
  134. package/src/core/components/autocomplete/__workshop__/mock/countries.ts +0 -245
  135. package/src/core/components/autocomplete/__workshop__/types.ts +0 -4
  136. package/src/core/components/autocomplete/autocomplete.tsx +0 -690
  137. package/src/core/components/autocomplete/autocompleteOption.tsx +0 -45
  138. package/src/core/components/autocomplete/autocompleteReducer.ts +0 -47
  139. package/src/core/components/autocomplete/constants.ts +0 -28
  140. package/src/core/components/autocomplete/types.ts +0 -103
  141. package/src/core/components/breadcrumbs/__workshop__/example.tsx +0 -61
  142. package/src/core/components/breadcrumbs/__workshop__/index.ts +0 -16
  143. package/src/core/components/breadcrumbs/breadcrumbs.tsx +0 -131
  144. package/src/core/components/dialog/__workshop__/activate.tsx +0 -141
  145. package/src/core/components/dialog/__workshop__/autoFocus.tsx +0 -29
  146. package/src/core/components/dialog/__workshop__/index.ts +0 -21
  147. package/src/core/components/dialog/__workshop__/layering.tsx +0 -41
  148. package/src/core/components/dialog/__workshop__/nested.tsx +0 -71
  149. package/src/core/components/dialog/__workshop__/onScroll.tsx +0 -51
  150. package/src/core/components/dialog/__workshop__/panes.tsx +0 -89
  151. package/src/core/components/dialog/__workshop__/position.tsx +0 -30
  152. package/src/core/components/dialog/__workshop__/props.tsx +0 -77
  153. package/src/core/components/dialog/__workshop__/provider.tsx +0 -11
  154. package/src/core/components/dialog/__workshop__/wrapped.tsx +0 -76
  155. package/src/core/components/dialog/dialog.tsx +0 -232
  156. package/src/core/components/dialog/dialogCard.tsx +0 -233
  157. package/src/core/components/dialog/dialogContext.ts +0 -21
  158. package/src/core/components/dialog/dialogProvider.tsx +0 -34
  159. package/src/core/components/dialog/isTargetWithinScope.ts +0 -14
  160. package/src/core/components/dialog/types.ts +0 -2
  161. package/src/core/components/dialog/useDialog.ts +0 -11
  162. package/src/core/components/hotkeys/__workshop__/index.ts +0 -16
  163. package/src/core/components/hotkeys/__workshop__/plain.tsx +0 -9
  164. package/src/core/components/hotkeys/hotkeys.tsx +0 -60
  165. package/src/core/components/menu/__workshop__/asComponent.tsx +0 -45
  166. package/src/core/components/menu/__workshop__/avatarMenu.tsx +0 -57
  167. package/src/core/components/menu/__workshop__/closableMenuButton.tsx +0 -47
  168. package/src/core/components/menu/__workshop__/constrainedInBoundary.tsx +0 -133
  169. package/src/core/components/menu/__workshop__/customMenuItem.tsx +0 -45
  170. package/src/core/components/menu/__workshop__/customSelectedState.tsx +0 -35
  171. package/src/core/components/menu/__workshop__/disableFocusOnClose.tsx +0 -40
  172. package/src/core/components/menu/__workshop__/groups.tsx +0 -156
  173. package/src/core/components/menu/__workshop__/index.ts +0 -91
  174. package/src/core/components/menu/__workshop__/menuButton.tsx +0 -80
  175. package/src/core/components/menu/__workshop__/menuGroupRight.tsx +0 -65
  176. package/src/core/components/menu/__workshop__/nestedMenu.tsx +0 -22
  177. package/src/core/components/menu/__workshop__/onCloseMenuButton.tsx +0 -50
  178. package/src/core/components/menu/__workshop__/selectedItem.tsx +0 -69
  179. package/src/core/components/menu/__workshop__/shouldFocus.tsx +0 -42
  180. package/src/core/components/menu/__workshop__/tones.tsx +0 -25
  181. package/src/core/components/menu/__workshop__/withoutArrow.tsx +0 -32
  182. package/src/core/components/menu/helpers.ts +0 -82
  183. package/src/core/components/menu/menu.test.tsx +0 -129
  184. package/src/core/components/menu/menu.tsx +0 -179
  185. package/src/core/components/menu/menuButton.tsx +0 -225
  186. package/src/core/components/menu/menuContext.ts +0 -19
  187. package/src/core/components/menu/menuDivider.tsx +0 -32
  188. package/src/core/components/menu/menuGroup.tsx +0 -233
  189. package/src/core/components/menu/menuItem.tsx +0 -184
  190. package/src/core/components/menu/useMenu.ts +0 -21
  191. package/src/core/components/menu/useMenuController.ts +0 -241
  192. package/src/core/components/tab/__workshop__/example.tsx +0 -79
  193. package/src/core/components/tab/__workshop__/index.ts +0 -16
  194. package/src/core/components/tab/tab.tsx +0 -109
  195. package/src/core/components/tab/tabList.tsx +0 -90
  196. package/src/core/components/tab/tabPanel.tsx +0 -47
  197. package/src/core/components/toast/__workshop__/hook.tsx +0 -71
  198. package/src/core/components/toast/__workshop__/index.ts +0 -21
  199. package/src/core/components/toast/__workshop__/toast.tsx +0 -26
  200. package/src/core/components/toast/toast.test.tsx +0 -103
  201. package/src/core/components/toast/toast.tsx +0 -191
  202. package/src/core/components/toast/toastContext.ts +0 -7
  203. package/src/core/components/toast/toastLayer.tsx +0 -54
  204. package/src/core/components/toast/toastProvider.tsx +0 -112
  205. package/src/core/components/toast/toastState.ts +0 -6
  206. package/src/core/components/toast/types.ts +0 -24
  207. package/src/core/components/toast/useToast.ts +0 -23
  208. package/src/core/components/tree/__workshop__/basic.perf.ts +0 -19
  209. package/src/core/components/tree/__workshop__/basic.tsx +0 -105
  210. package/src/core/components/tree/__workshop__/index.ts +0 -23
  211. package/src/core/components/tree/__workshop__/tabFromElement.tsx +0 -84
  212. package/src/core/components/tree/helpers.ts +0 -105
  213. package/src/core/components/tree/tree.tsx +0 -248
  214. package/src/core/components/tree/treeContext.ts +0 -10
  215. package/src/core/components/tree/treeGroup.tsx +0 -46
  216. package/src/core/components/tree/treeItem.tsx +0 -237
  217. package/src/core/components/tree/types.ts +0 -24
  218. package/src/core/components/tree/useTree.ts +0 -17
  219. package/src/core/components/virtualList/__workshop__/changingProps.tsx +0 -36
  220. package/src/core/components/virtualList/__workshop__/elementScroll.tsx +0 -24
  221. package/src/core/components/virtualList/__workshop__/index.ts +0 -31
  222. package/src/core/components/virtualList/__workshop__/infiniteList.tsx +0 -48
  223. package/src/core/components/virtualList/__workshop__/windowScrolll.tsx +0 -22
  224. package/src/core/components/virtualList/virtualList.tsx +0 -209
  225. package/src/core/constants.ts +0 -67
  226. package/src/core/helpers/animation.ts +0 -27
  227. package/src/core/helpers/element.ts +0 -55
  228. package/src/core/helpers/focus.ts +0 -92
  229. package/src/core/helpers/props.ts +0 -28
  230. package/src/core/helpers/scroll.ts +0 -15
  231. package/src/core/hooks/useClickOutsideEvent.test.tsx +0 -114
  232. package/src/core/hooks/useClickOutsideEvent.ts +0 -67
  233. package/src/core/hooks/useCustomValidity.ts +0 -13
  234. package/src/core/hooks/useDelayed.test.ts +0 -67
  235. package/src/core/hooks/useDelayedState.ts +0 -28
  236. package/src/core/hooks/useElementSize.ts +0 -19
  237. package/src/core/hooks/useGlobalKeyDown.ts +0 -17
  238. package/src/core/hooks/useMatchMedia.ts +0 -28
  239. package/src/core/hooks/useMediaIndex/__workshop__/index.ts +0 -16
  240. package/src/core/hooks/useMediaIndex/__workshop__/test.tsx +0 -14
  241. package/src/core/hooks/useMediaIndex/useMediaIndex.test.tsx +0 -21
  242. package/src/core/hooks/useMediaIndex/useMediaIndex.ts +0 -107
  243. package/src/core/hooks/useMounted.ts +0 -15
  244. package/src/core/hooks/usePrefersDark.hydration.test.tsx +0 -56
  245. package/src/core/hooks/usePrefersDark.test.tsx +0 -20
  246. package/src/core/hooks/usePrefersDark.ts +0 -16
  247. package/src/core/hooks/usePrefersReducedMotion.hydration.test.tsx +0 -56
  248. package/src/core/hooks/usePrefersReducedMotion.test.tsx +0 -20
  249. package/src/core/hooks/usePrefersReducedMotion.ts +0 -16
  250. package/src/core/hooks/useResponsiveProp.ts +0 -28
  251. package/src/core/index.ts +0 -115
  252. package/src/core/lib/createGlobalScopedContext.ts +0 -37
  253. package/src/core/lib/globalScope.ts +0 -19
  254. package/src/core/lib/isArray.ts +0 -3
  255. package/src/core/lib/isRecord.ts +0 -3
  256. package/src/core/middleware/origin.ts +0 -47
  257. package/src/core/observers/elementSize.ts +0 -116
  258. package/src/core/observers/resize.ts +0 -9
  259. package/src/core/primitives/arrow/arrow.tsx +0 -74
  260. package/src/core/primitives/arrow/cmds.ts +0 -91
  261. package/src/core/primitives/avatar/__workshop__/asButton.tsx +0 -14
  262. package/src/core/primitives/avatar/__workshop__/index.ts +0 -31
  263. package/src/core/primitives/avatar/__workshop__/stack.tsx +0 -25
  264. package/src/core/primitives/avatar/__workshop__/withinButton.tsx +0 -55
  265. package/src/core/primitives/avatar/__workshop__/withinMenuItem.tsx +0 -72
  266. package/src/core/primitives/avatar/avatar.tsx +0 -147
  267. package/src/core/primitives/avatar/avatarCounter.tsx +0 -69
  268. package/src/core/primitives/avatar/avatarStack.tsx +0 -79
  269. package/src/core/primitives/avatar/types.ts +0 -2
  270. package/src/core/primitives/badge/__workshop__/index.ts +0 -21
  271. package/src/core/primitives/badge/__workshop__/props.tsx +0 -19
  272. package/src/core/primitives/badge/__workshop__/tones.tsx +0 -16
  273. package/src/core/primitives/badge/badge.test.tsx +0 -16
  274. package/src/core/primitives/badge/badge.tsx +0 -61
  275. package/src/core/primitives/box/__workshop__/index.ts +0 -21
  276. package/src/core/primitives/box/__workshop__/props.tsx +0 -20
  277. package/src/core/primitives/box/__workshop__/responsive.tsx +0 -20
  278. package/src/core/primitives/box/box.tsx +0 -222
  279. package/src/core/primitives/button/__workshop__/custom.tsx +0 -27
  280. package/src/core/primitives/button/__workshop__/customIcons.tsx +0 -30
  281. package/src/core/primitives/button/__workshop__/disabled.tsx +0 -54
  282. package/src/core/primitives/button/__workshop__/index.ts +0 -66
  283. package/src/core/primitives/button/__workshop__/mixedChildren.tsx +0 -12
  284. package/src/core/primitives/button/__workshop__/props.tsx +0 -55
  285. package/src/core/primitives/button/__workshop__/sanityUploadButton.tsx +0 -36
  286. package/src/core/primitives/button/__workshop__/stacked.tsx +0 -58
  287. package/src/core/primitives/button/__workshop__/styled1.tsx +0 -17
  288. package/src/core/primitives/button/__workshop__/styled2.tsx +0 -19
  289. package/src/core/primitives/button/__workshop__/textOverflow.tsx +0 -13
  290. package/src/core/primitives/button/__workshop__/uploadButton.tsx +0 -29
  291. package/src/core/primitives/button/button.test.tsx +0 -30
  292. package/src/core/primitives/button/button.tsx +0 -193
  293. package/src/core/primitives/button/types.ts +0 -2
  294. package/src/core/primitives/card/__workshop__/asButton.tsx +0 -107
  295. package/src/core/primitives/card/__workshop__/asComponent.tsx +0 -27
  296. package/src/core/primitives/card/__workshop__/checkered.tsx +0 -26
  297. package/src/core/primitives/card/__workshop__/index.ts +0 -20
  298. package/src/core/primitives/card/__workshop__/interactive.tsx +0 -29
  299. package/src/core/primitives/card/__workshop__/listNavigation.tsx +0 -78
  300. package/src/core/primitives/card/__workshop__/props.tsx +0 -52
  301. package/src/core/primitives/card/__workshop__/selected.tsx +0 -62
  302. package/src/core/primitives/card/__workshop__/styled.tsx +0 -14
  303. package/src/core/primitives/card/__workshop__/tones.tsx +0 -27
  304. package/src/core/primitives/card/card.tsx +0 -109
  305. package/src/core/primitives/card/cardContext.ts +0 -10
  306. package/src/core/primitives/card/cardProvider.tsx +0 -27
  307. package/src/core/primitives/card/types.ts +0 -17
  308. package/src/core/primitives/card/useCard.ts +0 -15
  309. package/src/core/primitives/checkbox/__workshop__/example.tsx +0 -25
  310. package/src/core/primitives/checkbox/__workshop__/index.ts +0 -15
  311. package/src/core/primitives/checkbox/__workshop__/props.tsx +0 -35
  312. package/src/core/primitives/checkbox/__workshop__/readOnly.tsx +0 -16
  313. package/src/core/primitives/checkbox/__workshop__/tones.tsx +0 -27
  314. package/src/core/primitives/checkbox/checkbox.tsx +0 -80
  315. package/src/core/primitives/code/__workshop__/index.ts +0 -21
  316. package/src/core/primitives/code/__workshop__/opticalAlignment.tsx +0 -23
  317. package/src/core/primitives/code/__workshop__/props.tsx +0 -18
  318. package/src/core/primitives/code/code.tsx +0 -48
  319. package/src/core/primitives/code/refractor.tsx +0 -18
  320. package/src/core/primitives/container/__workshop__/example.tsx +0 -20
  321. package/src/core/primitives/container/__workshop__/index.ts +0 -10
  322. package/src/core/primitives/container/container.tsx +0 -37
  323. package/src/core/primitives/container/types.ts +0 -6
  324. package/src/core/primitives/flex/__workshop__/example.tsx +0 -34
  325. package/src/core/primitives/flex/__workshop__/gap.tsx +0 -25
  326. package/src/core/primitives/flex/__workshop__/index.ts +0 -13
  327. package/src/core/primitives/flex/flex.tsx +0 -58
  328. package/src/core/primitives/grid/__workshop__/index.ts +0 -12
  329. package/src/core/primitives/grid/__workshop__/responsive.tsx +0 -54
  330. package/src/core/primitives/grid/grid.tsx +0 -35
  331. package/src/core/primitives/heading/__workshop__/index.ts +0 -21
  332. package/src/core/primitives/heading/__workshop__/opticalAlignment.tsx +0 -54
  333. package/src/core/primitives/heading/__workshop__/plain.tsx +0 -29
  334. package/src/core/primitives/heading/heading.tsx +0 -78
  335. package/src/core/primitives/inline/__workshop__/index.ts +0 -10
  336. package/src/core/primitives/inline/__workshop__/plain.tsx +0 -24
  337. package/src/core/primitives/inline/inline.tsx +0 -62
  338. package/src/core/primitives/kbd/__workshop__/index.ts +0 -10
  339. package/src/core/primitives/kbd/__workshop__/plain.tsx +0 -9
  340. package/src/core/primitives/kbd/kbd.tsx +0 -57
  341. package/src/core/primitives/label/__workshop__/index.ts +0 -21
  342. package/src/core/primitives/label/__workshop__/opticalAlignment.tsx +0 -54
  343. package/src/core/primitives/label/__workshop__/plain.tsx +0 -28
  344. package/src/core/primitives/label/label.tsx +0 -75
  345. package/src/core/primitives/layer/__workshop__/_debug.tsx +0 -17
  346. package/src/core/primitives/layer/__workshop__/index.ts +0 -26
  347. package/src/core/primitives/layer/__workshop__/multipleRoots.tsx +0 -49
  348. package/src/core/primitives/layer/__workshop__/nested.tsx +0 -98
  349. package/src/core/primitives/layer/__workshop__/responsiveZOffset.tsx +0 -17
  350. package/src/core/primitives/layer/getLayerContext.test.ts +0 -32
  351. package/src/core/primitives/layer/getLayerContext.ts +0 -21
  352. package/src/core/primitives/layer/layer.test.tsx +0 -110
  353. package/src/core/primitives/layer/layer.tsx +0 -42
  354. package/src/core/primitives/layer/layerCard.tsx +0 -90
  355. package/src/core/primitives/layer/layerContext.ts +0 -7
  356. package/src/core/primitives/layer/layerProvider.tsx +0 -106
  357. package/src/core/primitives/layer/types.ts +0 -9
  358. package/src/core/primitives/layer/useLayer.ts +0 -24
  359. package/src/core/primitives/popover/__workshop__/AlignedStory.tsx +0 -77
  360. package/src/core/primitives/popover/__workshop__/MarginsStory.tsx +0 -31
  361. package/src/core/primitives/popover/__workshop__/MatchReferenceWidthStory.tsx +0 -32
  362. package/src/core/primitives/popover/__workshop__/OpenOnMountStory.tsx +0 -11
  363. package/src/core/primitives/popover/__workshop__/PlainStory.tsx +0 -71
  364. package/src/core/primitives/popover/__workshop__/RecursiveStory.tsx +0 -69
  365. package/src/core/primitives/popover/__workshop__/SidePanelStory.tsx +0 -96
  366. package/src/core/primitives/popover/__workshop__/TestStory.tsx +0 -100
  367. package/src/core/primitives/popover/__workshop__/index.ts +0 -51
  368. package/src/core/primitives/popover/constants.ts +0 -22
  369. package/src/core/primitives/popover/floating-ui/size.ts +0 -83
  370. package/src/core/primitives/popover/helpers.ts +0 -32
  371. package/src/core/primitives/popover/popover.tsx +0 -443
  372. package/src/core/primitives/popover/popoverLayer.tsx +0 -149
  373. package/src/core/primitives/popover/types.ts +0 -12
  374. package/src/core/primitives/radio/__workshop__/example.tsx +0 -63
  375. package/src/core/primitives/radio/__workshop__/index.ts +0 -13
  376. package/src/core/primitives/radio/__workshop__/plain.tsx +0 -28
  377. package/src/core/primitives/radio/radio.tsx +0 -64
  378. package/src/core/primitives/select/__workshop__/index.ts +0 -13
  379. package/src/core/primitives/select/__workshop__/plain.tsx +0 -39
  380. package/src/core/primitives/select/__workshop__/readOnly.tsx +0 -23
  381. package/src/core/primitives/select/select.tsx +0 -75
  382. package/src/core/primitives/selectable/selectable.tsx +0 -50
  383. package/src/core/primitives/skeleton/__workshop__/delay.tsx +0 -70
  384. package/src/core/primitives/skeleton/__workshop__/index.ts +0 -13
  385. package/src/core/primitives/skeleton/__workshop__/skeleton.tsx +0 -64
  386. package/src/core/primitives/skeleton/codeSkeleton.tsx +0 -49
  387. package/src/core/primitives/skeleton/headingSkeleton.tsx +0 -48
  388. package/src/core/primitives/skeleton/labelSkeleton.tsx +0 -47
  389. package/src/core/primitives/skeleton/skeleton.tsx +0 -70
  390. package/src/core/primitives/skeleton/textSkeleton.tsx +0 -49
  391. package/src/core/primitives/spinner/__workshop__/Props.tsx +0 -15
  392. package/src/core/primitives/spinner/__workshop__/index.ts +0 -16
  393. package/src/core/primitives/spinner/animatedSpinnerIcon.tsx +0 -14
  394. package/src/core/primitives/spinner/spinner.tsx +0 -45
  395. package/src/core/primitives/srOnly/srOnly.tsx +0 -33
  396. package/src/core/primitives/stack/__workshop__/index.ts +0 -16
  397. package/src/core/primitives/stack/__workshop__/plain.tsx +0 -32
  398. package/src/core/primitives/stack/stack.tsx +0 -60
  399. package/src/core/primitives/switch/__workshop__/example.tsx +0 -23
  400. package/src/core/primitives/switch/__workshop__/index.ts +0 -13
  401. package/src/core/primitives/switch/__workshop__/props.tsx +0 -21
  402. package/src/core/primitives/switch/switch.tsx +0 -84
  403. package/src/core/primitives/text/__workshop__/colored.tsx +0 -23
  404. package/src/core/primitives/text/__workshop__/example.tsx +0 -28
  405. package/src/core/primitives/text/__workshop__/index.ts +0 -26
  406. package/src/core/primitives/text/__workshop__/opticalAlignment.tsx +0 -23
  407. package/src/core/primitives/text/text.tsx +0 -76
  408. package/src/core/primitives/textArea/__workshop__/index.ts +0 -16
  409. package/src/core/primitives/textArea/__workshop__/plain.tsx +0 -61
  410. package/src/core/primitives/textArea/textArea.tsx +0 -84
  411. package/src/core/primitives/textInput/__workshop__/clearButton.tsx +0 -30
  412. package/src/core/primitives/textInput/__workshop__/customValidity.tsx +0 -17
  413. package/src/core/primitives/textInput/__workshop__/index.ts +0 -46
  414. package/src/core/primitives/textInput/__workshop__/plain.tsx +0 -110
  415. package/src/core/primitives/textInput/__workshop__/readOnly.tsx +0 -9
  416. package/src/core/primitives/textInput/__workshop__/states.tsx +0 -53
  417. package/src/core/primitives/textInput/__workshop__/tones.tsx +0 -277
  418. package/src/core/primitives/textInput/__workshop__/typed.tsx +0 -23
  419. package/src/core/primitives/textInput/textInput.tsx +0 -258
  420. package/src/core/primitives/tooltip/__workshop__/customPortal.tsx +0 -102
  421. package/src/core/primitives/tooltip/__workshop__/index.ts +0 -31
  422. package/src/core/primitives/tooltip/__workshop__/overflowingBoundary.tsx +0 -74
  423. package/src/core/primitives/tooltip/__workshop__/props.tsx +0 -112
  424. package/src/core/primitives/tooltip/__workshop__/resizableBoundary.tsx +0 -86
  425. package/src/core/primitives/tooltip/constants.ts +0 -23
  426. package/src/core/primitives/tooltip/tooltip.test.tsx +0 -452
  427. package/src/core/primitives/tooltip/tooltip.tsx +0 -482
  428. package/src/core/primitives/tooltip/tooltipDelayGroup/index.ts +0 -4
  429. package/src/core/primitives/tooltip/tooltipDelayGroup/tooltipDelayGroupContext.tsx +0 -13
  430. package/src/core/primitives/tooltip/tooltipDelayGroup/tooltipDelayGroupProvider.tsx +0 -55
  431. package/src/core/primitives/tooltip/tooltipDelayGroup/types.ts +0 -10
  432. package/src/core/primitives/tooltip/tooltipDelayGroup/useTooltipDelayGroup.ts +0 -13
  433. package/src/core/primitives/tooltip/tooltipLayer.tsx +0 -106
  434. package/src/core/types.ts +0 -56
  435. package/src/core/utils/boundaryElement/__workshop__/index.ts +0 -16
  436. package/src/core/utils/boundaryElement/__workshop__/plain.tsx +0 -19
  437. package/src/core/utils/boundaryElement/boundaryElement.test.tsx +0 -102
  438. package/src/core/utils/boundaryElement/boundaryElementContext.ts +0 -10
  439. package/src/core/utils/boundaryElement/boundaryElementProvider.tsx +0 -18
  440. package/src/core/utils/boundaryElement/types.ts +0 -5
  441. package/src/core/utils/boundaryElement/useBoundaryElement.ts +0 -24
  442. package/src/core/utils/elementQuery/__workshop__/customMedia.tsx +0 -41
  443. package/src/core/utils/elementQuery/__workshop__/index.ts +0 -16
  444. package/src/core/utils/elementQuery/elementQuery.tsx +0 -75
  445. package/src/core/utils/elementQuery/helpers.ts +0 -27
  446. package/src/core/utils/errorBoundary.tsx +0 -50
  447. package/src/core/utils/getElementRef.ts +0 -29
  448. package/src/core/utils/portal/__workshop__/index.ts +0 -16
  449. package/src/core/utils/portal/__workshop__/named.tsx +0 -63
  450. package/src/core/utils/portal/portal.test.tsx +0 -105
  451. package/src/core/utils/portal/portal.tsx +0 -36
  452. package/src/core/utils/portal/portalContext.ts +0 -37
  453. package/src/core/utils/portal/portalProvider.tsx +0 -70
  454. package/src/core/utils/portal/types.ts +0 -7
  455. package/src/core/utils/portal/usePortal.ts +0 -23
  456. package/src/css/_assign.ts +0 -3
  457. package/src/css/_composeClassNames.ts +0 -12
  458. package/src/css/_fromEntries.ts +0 -3
  459. package/src/css/_getClassNames.ts +0 -9
  460. package/src/css/_responsiveClassName.ts +0 -45
  461. package/src/css/_responsiveStyle.css.ts +0 -34
  462. package/src/css/_style.css.ts +0 -9
  463. package/src/css/components/breadcrumbs/breadcrumbs.css.ts +0 -6
  464. package/src/css/components/breadcrumbs/breadcrumbs.ts +0 -7
  465. package/src/css/components/dialog/dialog.css.ts +0 -98
  466. package/src/css/components/dialog/dialog.ts +0 -58
  467. package/src/css/components/menu/menu.css.ts +0 -14
  468. package/src/css/components/menu/menu.ts +0 -12
  469. package/src/css/components/skeleton/skeleton.css.ts +0 -128
  470. package/src/css/components/skeleton/skeleton.ts +0 -38
  471. package/src/css/components/skeleton/types.ts +0 -36
  472. package/src/css/components/toast/toast.css.ts +0 -17
  473. package/src/css/components/toast/toast.ts +0 -11
  474. package/src/css/components/tree/tree.css.ts +0 -65
  475. package/src/css/components/tree/tree.ts +0 -7
  476. package/src/css/constants.ts +0 -10
  477. package/src/css/getVarName.ts +0 -27
  478. package/src/css/index.ts +0 -146
  479. package/src/css/layers.css.ts +0 -12
  480. package/src/css/primitives/_arrow/_arrow.css.ts +0 -68
  481. package/src/css/primitives/_arrow/_arrow.ts +0 -26
  482. package/src/css/primitives/_input/_input.css.ts +0 -261
  483. package/src/css/primitives/_input/input.ts +0 -29
  484. package/src/css/primitives/_input/types.ts +0 -13
  485. package/src/css/primitives/avatar/avatar.css.ts +0 -201
  486. package/src/css/primitives/avatar/avatar.ts +0 -68
  487. package/src/css/primitives/avatar/types.ts +0 -10
  488. package/src/css/primitives/badge/badge.css.ts +0 -27
  489. package/src/css/primitives/badge/badge.ts +0 -8
  490. package/src/css/primitives/badge/types.ts +0 -13
  491. package/src/css/primitives/box/box.css.ts +0 -19
  492. package/src/css/primitives/box/box.ts +0 -82
  493. package/src/css/primitives/box/types.ts +0 -75
  494. package/src/css/primitives/button/button.css.ts +0 -287
  495. package/src/css/primitives/button/button.ts +0 -26
  496. package/src/css/primitives/button/types.ts +0 -12
  497. package/src/css/primitives/card/__workshop__/color.tsx +0 -75
  498. package/src/css/primitives/card/__workshop__/index.ts +0 -16
  499. package/src/css/primitives/card/card.css.ts +0 -387
  500. package/src/css/primitives/card/card.ts +0 -13
  501. package/src/css/primitives/card/types.ts +0 -9
  502. package/src/css/primitives/checkbox/checkbox.css.ts +0 -193
  503. package/src/css/primitives/checkbox/checkbox.ts +0 -17
  504. package/src/css/primitives/code/code.css.ts +0 -272
  505. package/src/css/primitives/code/code.ts +0 -19
  506. package/src/css/primitives/code/types.ts +0 -11
  507. package/src/css/primitives/container/container.css.ts +0 -4
  508. package/src/css/primitives/container/container.ts +0 -17
  509. package/src/css/primitives/container/types.ts +0 -9
  510. package/src/css/primitives/heading/heading.css.ts +0 -86
  511. package/src/css/primitives/heading/heading.ts +0 -22
  512. package/src/css/primitives/heading/types.ts +0 -14
  513. package/src/css/primitives/kbd/kbd.css.ts +0 -16
  514. package/src/css/primitives/kbd/kbd.ts +0 -9
  515. package/src/css/primitives/kbd/types.ts +0 -6
  516. package/src/css/primitives/label/label.css.ts +0 -87
  517. package/src/css/primitives/label/label.ts +0 -22
  518. package/src/css/primitives/label/types.ts +0 -14
  519. package/src/css/primitives/popover/popover.css.ts +0 -6
  520. package/src/css/primitives/popover/popover.ts +0 -12
  521. package/src/css/primitives/radio/radio.css.ts +0 -78
  522. package/src/css/primitives/radio/radio.ts +0 -17
  523. package/src/css/primitives/root/root.css.ts +0 -19
  524. package/src/css/primitives/root/root.ts +0 -17
  525. package/src/css/primitives/root/types.ts +0 -10
  526. package/src/css/primitives/select/select.css.ts +0 -24
  527. package/src/css/primitives/select/select.ts +0 -14
  528. package/src/css/primitives/select/types.ts +0 -5
  529. package/src/css/primitives/selectable/selectable.css.ts +0 -131
  530. package/src/css/primitives/selectable/selectable.ts +0 -9
  531. package/src/css/primitives/selectable/types.ts +0 -9
  532. package/src/css/primitives/spinner/spinner.css.ts +0 -19
  533. package/src/css/primitives/spinner/spinner.ts +0 -13
  534. package/src/css/primitives/spinner/types.ts +0 -4
  535. package/src/css/primitives/srOnly/srOnly.css.ts +0 -10
  536. package/src/css/primitives/srOnly/srOnly.ts +0 -7
  537. package/src/css/primitives/stack/stack.css.ts +0 -6
  538. package/src/css/primitives/stack/stack.ts +0 -7
  539. package/src/css/primitives/switch/switch.css.ts +0 -98
  540. package/src/css/primitives/switch/switch.ts +0 -27
  541. package/src/css/primitives/text/text.css.ts +0 -86
  542. package/src/css/primitives/text/text.ts +0 -24
  543. package/src/css/primitives/text/types.ts +0 -18
  544. package/src/css/primitives/textArea/textArea.css.ts +0 -4
  545. package/src/css/primitives/textArea/textArea.ts +0 -9
  546. package/src/css/primitives/textArea/types.ts +0 -7
  547. package/src/css/primitives/textInput/textInput.css.ts +0 -43
  548. package/src/css/primitives/textInput/textInput.ts +0 -24
  549. package/src/css/primitives/textInput/types.ts +0 -7
  550. package/src/css/primitives/tooltip/tooltip.css.ts +0 -4
  551. package/src/css/primitives/tooltip/tooltip.ts +0 -8
  552. package/src/css/primitives/tooltip/types.ts +0 -4
  553. package/src/css/props/alignItems/alignItems.css.ts +0 -22
  554. package/src/css/props/alignItems/alignItems.ts +0 -8
  555. package/src/css/props/alignItems/types.ts +0 -9
  556. package/src/css/props/border/border.css.ts +0 -65
  557. package/src/css/props/border/border.ts +0 -21
  558. package/src/css/props/border/types.ts +0 -13
  559. package/src/css/props/boxSizing/boxSizing.css.ts +0 -12
  560. package/src/css/props/boxSizing/boxSizing.ts +0 -7
  561. package/src/css/props/boxSizing/types.ts +0 -7
  562. package/src/css/props/display/display.css.ts +0 -56
  563. package/src/css/props/display/display.ts +0 -8
  564. package/src/css/props/display/types.ts +0 -16
  565. package/src/css/props/flex/flex.css.ts +0 -52
  566. package/src/css/props/flex/flex.ts +0 -8
  567. package/src/css/props/flex/types.ts +0 -9
  568. package/src/css/props/flexDirection/flexDirection.css.ts +0 -19
  569. package/src/css/props/flexDirection/flexDirection.ts +0 -8
  570. package/src/css/props/flexDirection/types.ts +0 -9
  571. package/src/css/props/flexWrap/flexWrap.css.ts +0 -16
  572. package/src/css/props/flexWrap/flexWrap.ts +0 -8
  573. package/src/css/props/flexWrap/types.ts +0 -9
  574. package/src/css/props/font/font.css.ts +0 -94
  575. package/src/css/props/font/font.ts +0 -8
  576. package/src/css/props/font/types.ts +0 -6
  577. package/src/css/props/gap/gap.css.ts +0 -40
  578. package/src/css/props/gap/gap.ts +0 -13
  579. package/src/css/props/gap/types.ts +0 -10
  580. package/src/css/props/gridAutoColumns/gridAutoColumns.css.ts +0 -19
  581. package/src/css/props/gridAutoColumns/gridAutoColumns.ts +0 -8
  582. package/src/css/props/gridAutoColumns/types.ts +0 -9
  583. package/src/css/props/gridAutoFlow/gridAutoFlow.css.ts +0 -19
  584. package/src/css/props/gridAutoFlow/gridAutoFlow.ts +0 -8
  585. package/src/css/props/gridAutoFlow/types.ts +0 -9
  586. package/src/css/props/gridAutoRows/gridAutoRows.css.ts +0 -19
  587. package/src/css/props/gridAutoRows/gridAutoRows.ts +0 -8
  588. package/src/css/props/gridAutoRows/types.ts +0 -9
  589. package/src/css/props/gridColumn/gridColumn.css.ts +0 -49
  590. package/src/css/props/gridColumn/gridColumn.ts +0 -8
  591. package/src/css/props/gridColumn/types.ts +0 -9
  592. package/src/css/props/gridColumnEnd/gridColumnEnd.css.ts +0 -46
  593. package/src/css/props/gridColumnEnd/gridColumnEnd.ts +0 -8
  594. package/src/css/props/gridColumnEnd/types.ts +0 -9
  595. package/src/css/props/gridColumnStart/gridColumnStart.css.ts +0 -46
  596. package/src/css/props/gridColumnStart/gridColumnStart.ts +0 -8
  597. package/src/css/props/gridColumnStart/types.ts +0 -9
  598. package/src/css/props/gridRow/gridRow.css.ts +0 -49
  599. package/src/css/props/gridRow/gridRow.ts +0 -8
  600. package/src/css/props/gridRow/types.ts +0 -9
  601. package/src/css/props/gridRowEnd/gridRowEnd.css.ts +0 -46
  602. package/src/css/props/gridRowEnd/gridRowEnd.ts +0 -8
  603. package/src/css/props/gridRowEnd/types.ts +0 -9
  604. package/src/css/props/gridRowStart/gridRowStart.css.ts +0 -46
  605. package/src/css/props/gridRowStart/gridRowStart.ts +0 -8
  606. package/src/css/props/gridRowStart/types.ts +0 -9
  607. package/src/css/props/gridTemplateColumns/gridTemplateColumns.css.ts +0 -43
  608. package/src/css/props/gridTemplateColumns/gridTemplateColumns.ts +0 -8
  609. package/src/css/props/gridTemplateColumns/types.ts +0 -9
  610. package/src/css/props/gridTemplateRows/gridTemplateRows.css.ts +0 -43
  611. package/src/css/props/gridTemplateRows/gridTemplateRows.ts +0 -8
  612. package/src/css/props/gridTemplateRows/types.ts +0 -9
  613. package/src/css/props/height/height.css.ts +0 -25
  614. package/src/css/props/height/height.ts +0 -8
  615. package/src/css/props/height/types.ts +0 -9
  616. package/src/css/props/inset/inset.css.ts +0 -37
  617. package/src/css/props/inset/inset.ts +0 -21
  618. package/src/css/props/inset/types.ts +0 -13
  619. package/src/css/props/justifyContent/justifyContent.css.ts +0 -25
  620. package/src/css/props/justifyContent/justifyContent.ts +0 -8
  621. package/src/css/props/justifyContent/types.ts +0 -15
  622. package/src/css/props/margin/margin.css.ts +0 -117
  623. package/src/css/props/margin/margin.ts +0 -25
  624. package/src/css/props/margin/types.ts +0 -17
  625. package/src/css/props/maxWidth/maxWidth.css.ts +0 -32
  626. package/src/css/props/maxWidth/maxWidth.ts +0 -8
  627. package/src/css/props/maxWidth/types.ts +0 -11
  628. package/src/css/props/minHeight/minHeight.css.ts +0 -13
  629. package/src/css/props/minHeight/minHeight.ts +0 -8
  630. package/src/css/props/minHeight/types.ts +0 -9
  631. package/src/css/props/minWidth/minWidth.css.ts +0 -25
  632. package/src/css/props/minWidth/minWidth.ts +0 -8
  633. package/src/css/props/minWidth/types.ts +0 -9
  634. package/src/css/props/outline/outline.css.ts +0 -10
  635. package/src/css/props/outline/outline.ts +0 -8
  636. package/src/css/props/outline/types.ts +0 -7
  637. package/src/css/props/overflow/overflow.css.ts +0 -16
  638. package/src/css/props/overflow/overflow.ts +0 -8
  639. package/src/css/props/overflow/types.ts +0 -11
  640. package/src/css/props/padding/padding.css.ts +0 -87
  641. package/src/css/props/padding/padding.ts +0 -25
  642. package/src/css/props/padding/types.ts +0 -17
  643. package/src/css/props/pointerEvents/pointerEvents.css.ts +0 -13
  644. package/src/css/props/pointerEvents/pointerEvents.ts +0 -8
  645. package/src/css/props/pointerEvents/types.ts +0 -7
  646. package/src/css/props/position/position.css.ts +0 -22
  647. package/src/css/props/position/position.ts +0 -8
  648. package/src/css/props/position/types.ts +0 -9
  649. package/src/css/props/radius/radius.css.ts +0 -21
  650. package/src/css/props/radius/radius.ts +0 -8
  651. package/src/css/props/radius/types.ts +0 -8
  652. package/src/css/props/shadow/shadow.css.ts +0 -23
  653. package/src/css/props/shadow/shadow.ts +0 -8
  654. package/src/css/props/shadow/types.ts +0 -8
  655. package/src/css/props/textAlign/textAlign.css.ts +0 -22
  656. package/src/css/props/textAlign/textAlign.ts +0 -8
  657. package/src/css/props/textAlign/types.ts +0 -7
  658. package/src/css/props/textOverflow/textOverflow.css.ts +0 -19
  659. package/src/css/props/textOverflow/textOverflow.ts +0 -8
  660. package/src/css/props/textOverflow/types.ts +0 -12
  661. package/src/css/props/width/types.ts +0 -11
  662. package/src/css/props/width/width.css.ts +0 -31
  663. package/src/css/props/width/width.ts +0 -8
  664. package/src/css/theme/buildCSSTheme.ts +0 -488
  665. package/src/css/theme/defaultTheme.css.ts +0 -64
  666. package/src/css/types.ts +0 -427
  667. package/src/css/vars.css.ts +0 -676
  668. package/src/theme/_parseColorToken.ts +0 -180
  669. package/src/theme/buildTheme.ts +0 -32
  670. package/src/theme/constants.ts +0 -90
  671. package/src/theme/defaults/color.ts +0 -197
  672. package/src/theme/defaults/common.ts +0 -71
  673. package/src/theme/defaults/fonts.ts +0 -250
  674. package/src/theme/index.ts +0 -5
  675. package/src/theme/merge.ts +0 -24
  676. package/src/theme/resolveTokens.ts +0 -204
  677. package/src/theme/types.ts +0 -366
@@ -0,0 +1 @@
1
+ {"version":3,"file":"menu.js","names":["createGlobalScopedContext","MenuContextValue","version","activeElement","HTMLElement","mount","element","selected","onClickOutside","event","MouseEvent","onEscape","onItemClick","onItemMouseEnter","React","onItemMouseLeave","registerElement","el","MenuContext","isHTMLAnchorElement","isHTMLButtonElement","_isFocusable","element","HTMLElement","getAttribute","disabled","_getFocusableElements","elements","filter","_getDOMPath","rootElement","el","path","e","parentElement","children","Array","from","childNodes","index","indexOf","unshift","EMPTY_PATH","_sortElements","map","WeakMap","set","_sort","a","b","_a","get","_b","len","Math","max","length","i","aIndex","bIndex","sort","useCallback","useEffect","useRef","useState","_getFocusableElements","_sortElements","MenuController","activeElement","HTMLElement","activeIndex","handleItemMouseEnter","event","React","MouseEvent","handleItemMouseLeave","handleKeyDown","KeyboardEvent","HTMLDivElement","mount","element","selected","useMenuController","props","$","_c","onKeyDown","originElement","shouldFocus","rootElementRef","t0","Symbol","for","elementsRef","_setActiveIndex","activeIndexRef","setActiveElement","t1","nextActiveIndex","current","setActiveIndex","t2","_temp","indexOf","push","selectedIndex","idx","splice","t3","t4","t5","key","focus","preventDefault","stopPropagation","focusableElements","el","currentIndex","focusableElements_0","el_0","length","currentIndex_0","focusableElements_1","focusableLen","focusedElement","focusedIndex","el_1","currentIndex_1","focusableElements_2","focusableLen_0","focusedElement_0","focusedIndex_0","el_2","currentIndex_2","t6","event_0","element_0","currentTarget","currentIndex_3","t7","t8","t9","rafId","requestAnimationFrame","focusableElements_3","el_3","currentIndex_4","focusableElements_4","el_4","currentIndex_5","element_1","cancelAnimationFrame","t10","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","$","_c","children","forwardedRef","onClickOutside","onEscape","onItemClick","onItemSelect","onKeyDown","originElement","registerElement","restProps","t0","t1","t2","padding","ref","shouldFocus","gap","undefined","t3","Symbol","for","current","isTopLayer","t4","rootElementRef","activeElement","activeIndex","handleItemMouseEnter","handleItemMouseLeave","handleKeyDown","mount","unregisterElementRef","t5","handleRefChange","t6","t7","t8","t9","key","stopPropagation","t10","version","onItemMouseEnter","onItemMouseLeave","value","t11","t12","t13","cloneElement","useCallback","useEffect","useImperativeHandle","useMemo","useRef","useState","Popover","PopoverProps","MenuProps","MenuButtonProps","__unstable_disableRestoreFocusOnClose","boundaryElement","button","React","JSX","Element","id","menu","onClose","onOpen","placement","popover","Omit","popoverScheme","popoverRadius","portal","preventOverflow","ref","Ref","HTMLButtonElement","MenuButton","props","$","_c","t0","buttonProp","menuProp","forwardedRef","disableRestoreFocusOnClose","undefined","open","setOpen","shouldFocus","setShouldFocus","buttonElement","setButtonElement","t1","Symbol","for","menuElements","setChildMenuElements","openRef","t2","t3","current","t4","t5","t6","t7","t8","_temp","handleButtonClick","t9","event","preventDefault","handleMouseDown","t10","event_0","key","handleButtonKeyDown","t11","event_1","target","Node","contains","el","handleMenuClickOutside","t12","focus","handleMenuEscape","t13","event_2","target_0","relatedTarget","el_0","handleBlur","t14","handleItemClick","t15","el_1","els","concat","els_0","filter","_el","registerElement","t16","menuProps","t17","selected","t18","t19","t20","t21","overflow","popoverProps","t22","t23","v","styled","ElementType","EmptyProps","Props","MenuDividerProps","E","MenuDivider","hr","props","React","JSX","Element","css","getTheme_v2","_cardColorStyle","ThemeProps","SelectableTone","SelectableStyleProps","$tone","selectableBaseStyle","ReturnType","selectableColorStyle","props","color","style","theme","tone","selectable","enabled","disabled","pressed","selected","hovered","card","root","styled","responsiveRadiusStyle","ResponsiveRadiusStyleProps","Box","selectableBaseStyle","selectableColorStyle","SelectableStyleProps","Selectable","useContext","isRecord","MenuContext","MenuContextValue","useMenu","value","Error","version","ChevronRightIcon","isValidElement","useCallback","useEffect","useState","isValidElementType","Selectable","Box","Flex","Popover","PopoverProps","Text","_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","MenuGroup","props","$","_c","IconComponent","children","menuProps","onClick","restProps","t0","t1","t2","t3","t4","t5","as","undefined","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","JSX","Element","isValidElement","useCallback","useEffect","useImperativeHandle","useMemo","useRef","useState","isValidElementType","Selectable","Box","Flex","Text","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","$","_c","IconComponent","IconRightComponent","children","disabled","forwardedRef","onClick","paddingBottom","paddingLeft","paddingRight","paddingTop","paddingX","paddingY","restProps","selectedProp","t0","t1","t2","t3","t4","t5","as","padding","radius","ref","undefined","scheme","menu","activeElement","mount","onItemClick","onItemMouseEnter","_onItemMouseEnter","onItemMouseLeave","_onItemMouseLeave","rootElement","setRootElement","active","Boolean","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","JSX","Element","s"],"sources":["../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/menuButton.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"],"sourcesContent":["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/element'\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\nfunction _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 rootElementRef: React.RefObject<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 // Reset the active item when the menu unmounts, or is hidden inside an <Activity> boundary\n // (which unmounts effects while preserving state), so that reopening behaves like a fresh\n // mount: `shouldFocus` applies again and `selected` items re-register through `mount`.\n useEffect(() => {\n return () => setActiveIndex(-1)\n }, [setActiveIndex])\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 {useCallback, useEffect, useImperativeHandle, useMemo, useRef} from 'react'\nimport {styled} from 'styled-components'\n\nimport {useClickOutsideEvent} from '../../hooks/useClickOutsideEvent'\nimport {useGlobalKeyDown} from '../../hooks/useGlobalKeyDown'\nimport {Box} from '../../primitives/box/box'\nimport {Stack} from '../../primitives/stack/stack'\nimport {ResponsivePaddingProps} from '../../primitives/types'\nimport {useLayer} from '../../utils/layer/useLayer'\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'?: never\n /**\n * @deprecated Use `shouldFocus=\"last\"` instead.\n */\n 'focusLast'?: never\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.\n */\n 'space'?: never\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 function Menu(\n props: MenuProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'height' | 'role' | 'tabIndex'>,\n) {\n const {\n children,\n onClickOutside,\n onEscape,\n onItemClick,\n onItemSelect,\n onKeyDown,\n originElement,\n padding = 1,\n ref: forwardedRef,\n registerElement,\n shouldFocus = null,\n gap = 1,\n ...restProps\n } = props\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={gap}>{children}</Stack>\n </StyledMenu>\n </MenuContext.Provider>\n )\n}\n","import {\n cloneElement,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react'\n\nimport {Popover, PopoverProps} from '../../primitives/popover/popover'\nimport {MenuProps} from './menu'\n\n/**\n * @public\n */\nexport interface MenuButtonProps {\n /**\n * @beta Do not use in production.\n */\n __unstable_disableRestoreFocusOnClose?: boolean\n /**\n * @deprecated Use `popover={{floatingBoundary: element}}` and/or `popover={{referenceBoundary: element}}` instead.\n */\n boundaryElement?: never\n button: React.JSX.Element\n id: string\n menu?: React.JSX.Element\n onClose?: () => void\n onOpen?: () => void\n /**\n * @deprecated Use `popover={{placement: 'top'}}` instead.\n */\n placement?: never\n popover?: Omit<PopoverProps, 'content' | 'open'>\n /**\n * @deprecated Use `popover={{scheme: 'dark'}}` instead.\n */\n popoverScheme?: never\n /**\n * @deprecated Use `popover={{radius: 2}}` instead.\n */\n popoverRadius?: never\n /**\n * @beta Do not use in production.\n * @deprecated Use `popover={{portal: true}}` instead.\n */\n portal?: never\n /**\n * @deprecated Use `popover={{preventOverflow: true}}` instead.\n */\n preventOverflow?: never\n ref?: React.Ref<HTMLButtonElement | null>\n}\n\n/**\n * The `MenuButton` component follows the WAI-ARIA specification for menu buttons.\n *\n * @public\n */\nexport function MenuButton(props: MenuButtonProps) {\n const {\n __unstable_disableRestoreFocusOnClose: disableRestoreFocusOnClose = false,\n button: buttonProp,\n id,\n menu: menuProp,\n onClose,\n onOpen,\n popover,\n ref: forwardedRef,\n } = props\n const [open, setOpen] = useState(false)\n const [shouldFocus, setShouldFocus] = useState<'first' | 'last' | null>(null)\n const [buttonElement, setButtonElement] = useState<HTMLButtonElement | null>(null)\n const [menuElements, setChildMenuElements] = useState<HTMLElement[]>([])\n const openRef = useRef<boolean>(open)\n\n // Notify consumers when the menu opens\n useEffect(() => {\n if (onOpen && open && !openRef.current) {\n onOpen()\n }\n }, [onOpen, open])\n\n // Notify consumers when the menu closes\n useEffect(() => {\n if (onClose && !open && openRef.current) {\n onClose()\n }\n }, [onClose, open])\n\n useEffect(() => {\n openRef.current = open\n }, [open])\n\n const handleButtonClick = useCallback(() => {\n setOpen((v) => !v)\n setShouldFocus(null)\n }, [])\n\n // Prevent mouse event propagation when the menu is open.\n // This is to ensure that `handleBlur` isn't triggered when clicking the menu button whilst open,\n // which can lead to `setOpen` being triggered multiple times (once by `handleBlur`, and again by `handleButtonClick`).\n const handleMouseDown = useCallback(\n (event: PointerEvent) => {\n if (open) event.preventDefault()\n },\n [open],\n )\n\n const handleButtonKeyDown = useCallback((event: React.KeyboardEvent<HTMLButtonElement>) => {\n // On `ArrowDown`, `Enter` and `Space`\n // - Opens menu and moves focus to first menuitem\n if (event.key === 'ArrowDown' || event.key === 'Enter' || event.key === ' ') {\n event.preventDefault()\n setOpen(true)\n setShouldFocus('first')\n\n return\n }\n\n // On `ArrowUp`\n // - \tOpens menu and moves focus to last menuitem\n if (event.key === 'ArrowUp') {\n event.preventDefault()\n setOpen(true)\n setShouldFocus('last')\n\n return\n }\n }, [])\n\n const handleMenuClickOutside = useCallback(\n (event: MouseEvent) => {\n const target = event.target\n\n if (!(target instanceof Node)) {\n return\n }\n\n if (buttonElement && (target === buttonElement || buttonElement.contains(target))) {\n return\n }\n\n for (const el of menuElements) {\n if (target === el || el.contains(target)) {\n return\n }\n }\n\n setOpen(false)\n },\n [buttonElement, menuElements],\n )\n\n const handleMenuEscape = useCallback(() => {\n setOpen(false)\n if (disableRestoreFocusOnClose) return\n if (buttonElement) buttonElement.focus()\n }, [buttonElement, disableRestoreFocusOnClose])\n\n const handleBlur = useCallback(\n (event: FocusEvent) => {\n const target = event.relatedTarget\n\n if (!(target instanceof Node)) {\n return\n }\n\n for (const el of menuElements) {\n if (el === target || el.contains(target)) {\n return\n }\n }\n\n setOpen(false)\n },\n [menuElements],\n )\n\n const handleItemClick = useCallback(() => {\n setOpen(false)\n if (disableRestoreFocusOnClose) return\n if (buttonElement) buttonElement.focus()\n }, [buttonElement, disableRestoreFocusOnClose])\n\n const registerElement = useCallback((el: HTMLElement) => {\n setChildMenuElements((els) => els.concat([el]))\n\n return () => setChildMenuElements((els) => els.filter((_el) => _el !== el))\n }, [])\n\n const menuProps: MenuProps = {\n 'aria-labelledby': id,\n 'onBlurCapture': handleBlur,\n 'onClickOutside': handleMenuClickOutside,\n 'onEscape': handleMenuEscape,\n 'onItemClick': handleItemClick,\n 'originElement': buttonElement,\n registerElement,\n shouldFocus,\n }\n\n const menu = menuProp && cloneElement(menuProp, menuProps)\n\n const button = useMemo(\n () =>\n buttonProp &&\n cloneElement(buttonProp, {\n 'data-ui': 'MenuButton',\n id,\n 'onClick': handleButtonClick,\n 'onKeyDown': handleButtonKeyDown,\n 'onMouseDown': handleMouseDown,\n 'aria-haspopup': true,\n 'aria-expanded': open,\n 'ref': setButtonElement,\n 'selected': buttonProp.props.selected ?? open,\n }),\n [buttonProp, handleButtonClick, handleButtonKeyDown, handleMouseDown, id, open],\n )\n\n // Forward button ref to parent\n useImperativeHandle<HTMLButtonElement | null, HTMLButtonElement | null>(\n forwardedRef,\n () => buttonElement,\n [buttonElement],\n )\n\n const popoverProps: MenuButtonProps['popover'] = useMemo(\n () => ({\n overflow: 'auto',\n portal: true,\n // oxlint-disable-next-line no-useless-fallback-in-spread\n ...(popover || {}),\n }),\n [popover],\n )\n\n return (\n <Popover data-ui=\"MenuButton__popover\" {...popoverProps} content={menu} open={open}>\n {button || <></>}\n </Popover>\n )\n}\n","import {styled} from 'styled-components'\n\nimport {ElementType, EmptyProps, Props} from '../../types/component'\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 = styled.hr`\n height: 1px;\n border: 0;\n background: var(--card-hairline-soft-color);\n margin: 0;\n` as unknown as <E extends ElementType = 'hr'>(props: MenuDividerProps<E>) => React.JSX.Element\n","import {css} from 'styled-components'\n\nimport {getTheme_v2} from '../../../theme/versioning/getTheme_v2'\nimport {_cardColorStyle} from '../../styles/card/_cardColorStyle'\nimport {ThemeProps} from '../../styles/types'\nimport {SelectableTone} from '../../types/selectable'\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} from '../../styles/radius/radiusStyle'\nimport {ResponsiveRadiusStyleProps} from '../../styles/radius/types'\nimport {Box} from '../box/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)\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/ChevronRight'\nimport {isValidElement, useCallback, useEffect, useState} from 'react'\nimport {isValidElementType} from 'react-is'\n\nimport {Selectable} from '../../primitives/_selectable/selectable'\nimport {Box} from '../../primitives/box/box'\nimport {Flex} from '../../primitives/flex/flex'\nimport {Popover, PopoverProps} from '../../primitives/popover/popover'\nimport {Text} from '../../primitives/text/text'\nimport {_getArrayProp} from '../../styles/helpers'\nimport {useRootTheme} from '../../theme/useRootTheme'\nimport {ElementType, Props} from '../../types/component'\nimport {Radius} from '../../types/radius'\nimport {SelectableTone} from '../../types/selectable'\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.\n */\n space?: never\n text: React.ReactNode\n tone?: SelectableTone\n}\n\n/**\n * @public\n */\nexport type MenuGroupProps<E extends ElementType = 'button'> = Props<MenuGroupOwnProps, E>\n\nconst MenuGroupComponent = function MenuGroup(\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 = 3,\n text,\n tone = 'default',\n ...restProps\n } = props\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={gap} 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\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 isValidElement,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react'\nimport {isValidElementType} from 'react-is'\n\nimport {Selectable} from '../../primitives/_selectable/selectable'\nimport {Box} from '../../primitives/box/box'\nimport {Flex} from '../../primitives/flex/flex'\nimport {Text} from '../../primitives/text/text'\nimport {ResponsivePaddingProps, ResponsiveRadiusProps} from '../../primitives/types'\nimport {_getArrayProp} from '../../styles/helpers'\nimport {useRootTheme} from '../../theme/useRootTheme'\nimport {ElementType, Props} from '../../types/component'\nimport {SelectableTone} from '../../types/selectable'\nimport {Hotkeys} from '../hotkeys/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.\n */\n space?: never\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 = function MenuItem(\n props: MenuItemOwnProps & {as?: ElementType} & Omit<\n React.HTMLProps<HTMLDivElement>,\n 'as' | 'height' | 'selected' | 'tabIndex'\n >,\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 ref: forwardedRef,\n selected: selectedProp,\n gap = 3,\n text,\n tone = 'default',\n ...restProps\n } = props\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={gap} 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}\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"],"mappings":"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"}
@@ -0,0 +1,96 @@
1
+ import { N as BoxOverflow, m as ResponsiveShadowProps, n as LayerProps, p as ResponsiveRadiusProps, r as Placement } from "./layer-ChlP9Ik6.js";
2
+ import { s as ThemeColorSchemeKey } from "./_system-CTe2lb5l.js";
3
+ import { t as CardTone } from "./card-C0a0wQTc.js";
4
+ import { Ref } from "react";
5
+ /**
6
+ * @beta
7
+ */
8
+ type PopoverMargins = [number, number, number, number];
9
+ /** @beta */
10
+ type PopoverUpdateCallback = () => void;
11
+ /** @public */
12
+ type PopoverWidth = number | 'auto';
13
+ /** @public */
14
+ interface PopoverProps extends Omit<LayerProps, 'as'>, ResponsiveRadiusProps, ResponsiveShadowProps {
15
+ /** @beta */
16
+ __unstable_margins?: PopoverMargins;
17
+ /**
18
+ * Whether the popover should animate in and out.
19
+ *
20
+ * @beta
21
+ * @defaultValue false
22
+ */
23
+ animate?: boolean;
24
+ arrow?: boolean;
25
+ /** @deprecated Use `floatingBoundary` and/or `referenceBoundary` instead */
26
+ boundaryElement?: never;
27
+ children?: React.JSX.Element;
28
+ /**
29
+ * When `true`, prevent overflow within the current boundary:
30
+ * - by flipping on its side axis
31
+ * - by resizing
32
+ /*
33
+ * Note that:
34
+ * - setting `preventOverflow` to `true` also prevents overflow on its side axis
35
+ * - setting `matchReferenceWidth` to `true` also causes the popover to resize
36
+ *
37
+ * @defaultValue false
38
+ */
39
+ constrainSize?: boolean;
40
+ content?: React.ReactNode;
41
+ disabled?: boolean;
42
+ fallbackPlacements?: Placement[];
43
+ floatingBoundary?: HTMLElement | null;
44
+ /**
45
+ * When `true`, set the maximum width to match the reference element, and also prevent overflow within
46
+ * the current boundary by resizing.
47
+ *
48
+ * Note that setting `constrainSize` to `true` also causes the popover to resize
49
+ *
50
+ * @defaultValue false
51
+ */
52
+ matchReferenceWidth?: boolean;
53
+ /**
54
+ * When true, blocks all pointer interaction with elements beneath the popover until closed.
55
+ *
56
+ * @beta
57
+ * @defaultValue false
58
+ */
59
+ modal?: boolean;
60
+ open?: boolean;
61
+ overflow?: BoxOverflow;
62
+ padding?: number | number[];
63
+ placement?: Placement;
64
+ /**
65
+ * When 'flip' (default), the placement is determined from the initial placement and the
66
+ * fallback placements in order. Whichever fits in the viewport first.
67
+ *
68
+ * When 'autoPlacement', the initial placement and all fallback placements are evaluated
69
+ * and the placement with the most viewport space available.
70
+ *
71
+ * Option is only relevant if either `constrainSize` or `preventOverflow` is `true`
72
+ */
73
+ placementStrategy?: 'flip' | 'autoPlacement';
74
+ /** Whether or not to render the popover in a portal element. */
75
+ portal?: boolean | string;
76
+ preventOverflow?: boolean;
77
+ referenceBoundary?: HTMLElement | null;
78
+ /**
79
+ * When defined, the popover will be positioned relative to this element.
80
+ * The children of the popover won't be rendered.
81
+ */
82
+ referenceElement?: HTMLElement | null;
83
+ scheme?: ThemeColorSchemeKey;
84
+ tone?: CardTone;
85
+ /** @beta */
86
+ updateRef?: Ref<PopoverUpdateCallback | undefined>;
87
+ width?: PopoverWidth | PopoverWidth[];
88
+ }
89
+ /**
90
+ * The `Popover` component is used to display some content on top of another.
91
+ *
92
+ * @public
93
+ */
94
+ declare function Popover(props: PopoverProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'children' | 'content' | 'width'>): React.JSX.Element;
95
+ export { PopoverMargins as a, PopoverWidth as i, PopoverProps as n, PopoverUpdateCallback as r, Popover as t };
96
+ //# sourceMappingURL=popover-CMlQeKn0.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"popover-CMlQeKn0.d.ts","names":[],"sources":["../src/core/types/popover.ts","../src/core/primitives/popover/types.ts","../src/core/primitives/popover/popover.tsx"],"mappings":";;;;;;;KAGY;;KCFA;;KAIA;;UCkDK,qBACP,KAAK,mBAAmB,uBAAuB;;EAEvD,qBAAqB;;;;;;;EAOrB;EACA;;EAEA;EACA,WAAW,MAAM,IAAI;;;;;;;;;;;;EAYrB;EACA,UAAU,MAAM;EAChB;EACA,qBAAqB;EACrB,mBAAmB;;;;;;;;;EASnB;;;;;;;EAOA;EACA;EACA,WAAW;EACX;EACA,YAAY;;;;;;;;;;EAUZ;;EAEA;EACA;EACA,oBAAoB;;;;;EAKpB,mBAAmB;EACnB,SAAS;EACT,OAAO;;EAEP,YAAY,IAAI;EAChB,QAAQ,eAAe;;;;;;;iBAcT,QACd,OAAO,eACL,KAAK,MAAM,UAAU,4DACtB,MAAM,IAAI"}