@anoki/fse-ui 1.0.711 → 1.0.712

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 (273) hide show
  1. package/dist/index.cjs216.js +1 -1
  2. package/dist/index.cjs223.js +1 -1
  3. package/dist/index.cjs244.js +1 -1
  4. package/dist/index.cjs248.js +1 -1
  5. package/dist/index.cjs255.js +1 -1
  6. package/dist/index.cjs265.js +1 -1
  7. package/dist/index.cjs271.js +1 -1
  8. package/dist/index.cjs279.js +1 -1
  9. package/dist/index.cjs288.js +1 -1
  10. package/dist/index.cjs298.js +1 -1
  11. package/dist/index.cjs337.js +1 -1
  12. package/dist/index.cjs380.js +1 -27
  13. package/dist/index.cjs380.js.map +1 -1
  14. package/dist/index.cjs381.js +2 -1
  15. package/dist/index.cjs381.js.map +1 -1
  16. package/dist/index.cjs382.js +27 -1
  17. package/dist/index.cjs382.js.map +1 -1
  18. package/dist/index.cjs383.js +1 -1
  19. package/dist/index.cjs383.js.map +1 -1
  20. package/dist/index.cjs384.js +1 -2
  21. package/dist/index.cjs384.js.map +1 -1
  22. package/dist/index.cjs392.js +1 -1
  23. package/dist/index.cjs392.js.map +1 -1
  24. package/dist/index.cjs393.js +1 -1
  25. package/dist/index.cjs393.js.map +1 -1
  26. package/dist/index.cjs394.js +1 -1
  27. package/dist/index.cjs394.js.map +1 -1
  28. package/dist/index.cjs395.js +1 -1
  29. package/dist/index.cjs395.js.map +1 -1
  30. package/dist/index.cjs396.js +1 -1
  31. package/dist/index.cjs396.js.map +1 -1
  32. package/dist/index.cjs397.js +1 -1
  33. package/dist/index.cjs397.js.map +1 -1
  34. package/dist/index.cjs398.js +1 -1
  35. package/dist/index.cjs398.js.map +1 -1
  36. package/dist/index.cjs399.js +1 -1
  37. package/dist/index.cjs399.js.map +1 -1
  38. package/dist/index.cjs400.js +1 -1
  39. package/dist/index.cjs400.js.map +1 -1
  40. package/dist/index.cjs401.js +1 -1
  41. package/dist/index.cjs401.js.map +1 -1
  42. package/dist/index.cjs402.js +1 -1
  43. package/dist/index.cjs402.js.map +1 -1
  44. package/dist/index.cjs403.js +1 -1
  45. package/dist/index.cjs403.js.map +1 -1
  46. package/dist/index.cjs404.js +1 -1
  47. package/dist/index.cjs404.js.map +1 -1
  48. package/dist/index.cjs405.js +1 -1
  49. package/dist/index.cjs405.js.map +1 -1
  50. package/dist/index.cjs409.js +1 -1
  51. package/dist/index.cjs409.js.map +1 -1
  52. package/dist/index.cjs411.js +1 -1
  53. package/dist/index.cjs411.js.map +1 -1
  54. package/dist/index.cjs412.js +1 -1
  55. package/dist/index.cjs412.js.map +1 -1
  56. package/dist/index.cjs413.js +1 -1
  57. package/dist/index.cjs413.js.map +1 -1
  58. package/dist/index.cjs415.js +1 -1
  59. package/dist/index.cjs415.js.map +1 -1
  60. package/dist/index.cjs416.js +1 -1
  61. package/dist/index.cjs416.js.map +1 -1
  62. package/dist/index.cjs417.js +1 -1
  63. package/dist/index.cjs417.js.map +1 -1
  64. package/dist/index.cjs418.js +1 -1
  65. package/dist/index.cjs418.js.map +1 -1
  66. package/dist/index.cjs419.js +1 -1
  67. package/dist/index.cjs419.js.map +1 -1
  68. package/dist/index.cjs420.js +1 -1
  69. package/dist/index.cjs420.js.map +1 -1
  70. package/dist/index.cjs421.js +1 -1
  71. package/dist/index.cjs421.js.map +1 -1
  72. package/dist/index.cjs422.js +1 -1
  73. package/dist/index.cjs422.js.map +1 -1
  74. package/dist/index.cjs423.js +4 -1
  75. package/dist/index.cjs423.js.map +1 -1
  76. package/dist/index.cjs424.js +1 -4
  77. package/dist/index.cjs424.js.map +1 -1
  78. package/dist/index.cjs425.js +1 -1
  79. package/dist/index.cjs425.js.map +1 -1
  80. package/dist/index.cjs426.js +38 -1
  81. package/dist/index.cjs426.js.map +1 -1
  82. package/dist/index.cjs427.js +1 -1
  83. package/dist/index.cjs427.js.map +1 -1
  84. package/dist/index.cjs428.js +1 -1
  85. package/dist/index.cjs428.js.map +1 -1
  86. package/dist/index.cjs429.js +1 -1
  87. package/dist/index.cjs429.js.map +1 -1
  88. package/dist/index.cjs430.js +1 -1
  89. package/dist/index.cjs431.js +1 -38
  90. package/dist/index.cjs431.js.map +1 -1
  91. package/dist/index.cjs432.js +1 -1
  92. package/dist/index.cjs432.js.map +1 -1
  93. package/dist/index.cjs433.js +1 -1
  94. package/dist/index.cjs433.js.map +1 -1
  95. package/dist/index.cjs434.js +1 -1
  96. package/dist/index.cjs434.js.map +1 -1
  97. package/dist/{index.cjs450.js → index.cjs435.js} +1 -1
  98. package/dist/{index.cjs450.js.map → index.cjs435.js.map} +1 -1
  99. package/dist/{index.cjs451.js → index.cjs436.js} +1 -1
  100. package/dist/{index.cjs451.js.map → index.cjs436.js.map} +1 -1
  101. package/dist/index.cjs437.js +2 -0
  102. package/dist/index.cjs437.js.map +1 -0
  103. package/dist/{index.cjs414.js → index.cjs438.js} +2 -2
  104. package/dist/{index.cjs414.js.map → index.cjs438.js.map} +1 -1
  105. package/dist/index.cjs439.js +2 -0
  106. package/dist/index.cjs439.js.map +1 -0
  107. package/dist/{index.cjs452.js → index.cjs440.js} +1 -1
  108. package/dist/{index.cjs452.js.map → index.cjs440.js.map} +1 -1
  109. package/dist/{index.cjs453.js → index.cjs441.js} +2 -2
  110. package/dist/{index.cjs453.js.map → index.cjs441.js.map} +1 -1
  111. package/dist/{index.cjs454.js → index.cjs442.js} +2 -2
  112. package/dist/{index.cjs454.js.map → index.cjs442.js.map} +1 -1
  113. package/dist/{index.cjs455.js → index.cjs443.js} +1 -1
  114. package/dist/{index.cjs455.js.map → index.cjs443.js.map} +1 -1
  115. package/dist/index.cjs444.js +2 -0
  116. package/dist/index.cjs444.js.map +1 -0
  117. package/dist/index.cjs445.js +2 -0
  118. package/dist/index.cjs445.js.map +1 -0
  119. package/dist/index.cjs446.js +2 -0
  120. package/dist/index.cjs446.js.map +1 -0
  121. package/dist/{index.cjs388.js → index.cjs447.js} +1 -1
  122. package/dist/{index.cjs388.js.map → index.cjs447.js.map} +1 -1
  123. package/dist/index.cjs461.js +1 -1
  124. package/dist/index.cjs468.js +1 -1
  125. package/dist/index.cjs483.js +1 -1
  126. package/dist/index.es216.js +1 -1
  127. package/dist/index.es223.js +2 -2
  128. package/dist/index.es244.js +7 -7
  129. package/dist/index.es248.js +1 -1
  130. package/dist/index.es255.js +8 -8
  131. package/dist/index.es265.js +1 -1
  132. package/dist/index.es271.js +14 -14
  133. package/dist/index.es279.js +1 -1
  134. package/dist/index.es288.js +1 -1
  135. package/dist/index.es298.js +7 -7
  136. package/dist/index.es337.js +4 -4
  137. package/dist/index.es380.js +5 -3674
  138. package/dist/index.es380.js.map +1 -1
  139. package/dist/index.es381.js +520 -5
  140. package/dist/index.es381.js.map +1 -1
  141. package/dist/index.es382.js +3675 -2
  142. package/dist/index.es382.js.map +1 -1
  143. package/dist/index.es383.js +5 -5
  144. package/dist/index.es383.js.map +1 -1
  145. package/dist/index.es384.js +2 -521
  146. package/dist/index.es384.js.map +1 -1
  147. package/dist/index.es392.js +5 -25
  148. package/dist/index.es392.js.map +1 -1
  149. package/dist/index.es393.js +23 -64
  150. package/dist/index.es393.js.map +1 -1
  151. package/dist/index.es394.js +64 -48
  152. package/dist/index.es394.js.map +1 -1
  153. package/dist/index.es395.js +10 -33
  154. package/dist/index.es395.js.map +1 -1
  155. package/dist/index.es396.js +50 -620
  156. package/dist/index.es396.js.map +1 -1
  157. package/dist/index.es397.js +124 -10
  158. package/dist/index.es397.js.map +1 -1
  159. package/dist/index.es398.js +135 -4
  160. package/dist/index.es398.js.map +1 -1
  161. package/dist/index.es399.js +14 -54
  162. package/dist/index.es399.js.map +1 -1
  163. package/dist/index.es400.js +66 -43
  164. package/dist/index.es400.js.map +1 -1
  165. package/dist/index.es401.js +33 -7
  166. package/dist/index.es401.js.map +1 -1
  167. package/dist/index.es402.js +12 -122
  168. package/dist/index.es402.js.map +1 -1
  169. package/dist/index.es403.js +8 -14
  170. package/dist/index.es403.js.map +1 -1
  171. package/dist/index.es404.js +48 -133
  172. package/dist/index.es404.js.map +1 -1
  173. package/dist/index.es405.js +51 -215
  174. package/dist/index.es405.js.map +1 -1
  175. package/dist/index.es409.js +13 -9
  176. package/dist/index.es409.js.map +1 -1
  177. package/dist/index.es411.js +4 -9
  178. package/dist/index.es411.js.map +1 -1
  179. package/dist/index.es412.js +9 -10
  180. package/dist/index.es412.js.map +1 -1
  181. package/dist/index.es413.js +10 -203
  182. package/dist/index.es413.js.map +1 -1
  183. package/dist/index.es415.js +24 -24
  184. package/dist/index.es415.js.map +1 -1
  185. package/dist/index.es416.js +27 -395
  186. package/dist/index.es416.js.map +1 -1
  187. package/dist/index.es417.js +5 -6
  188. package/dist/index.es417.js.map +1 -1
  189. package/dist/index.es418.js +5 -24
  190. package/dist/index.es418.js.map +1 -1
  191. package/dist/index.es419.js +25 -29
  192. package/dist/index.es419.js.map +1 -1
  193. package/dist/index.es420.js +5 -5
  194. package/dist/index.es420.js.map +1 -1
  195. package/dist/index.es421.js +3 -5
  196. package/dist/index.es421.js.map +1 -1
  197. package/dist/index.es422.js +24 -3
  198. package/dist/index.es422.js.map +1 -1
  199. package/dist/index.es423.js +108 -22
  200. package/dist/index.es423.js.map +1 -1
  201. package/dist/index.es424.js +14 -108
  202. package/dist/index.es424.js.map +1 -1
  203. package/dist/index.es425.js +620 -14
  204. package/dist/index.es425.js.map +1 -1
  205. package/dist/index.es426.js +64 -522
  206. package/dist/index.es426.js.map +1 -1
  207. package/dist/index.es427.js +8 -126
  208. package/dist/index.es427.js.map +1 -1
  209. package/dist/index.es428.js +13 -128
  210. package/dist/index.es428.js.map +1 -1
  211. package/dist/index.es429.js +61 -14
  212. package/dist/index.es429.js.map +1 -1
  213. package/dist/index.es430.js +1 -1
  214. package/dist/index.es431.js +45 -68
  215. package/dist/index.es431.js.map +1 -1
  216. package/dist/index.es432.js +8 -9
  217. package/dist/index.es432.js.map +1 -1
  218. package/dist/index.es433.js +216 -12
  219. package/dist/index.es433.js.map +1 -1
  220. package/dist/index.es434.js +178 -59
  221. package/dist/index.es434.js.map +1 -1
  222. package/dist/{index.es450.js → index.es435.js} +1 -1
  223. package/dist/{index.es450.js.map → index.es435.js.map} +1 -1
  224. package/dist/{index.es451.js → index.es436.js} +1 -1
  225. package/dist/{index.es451.js.map → index.es436.js.map} +1 -1
  226. package/dist/index.es437.js +208 -0
  227. package/dist/index.es437.js.map +1 -0
  228. package/dist/{index.es414.js → index.es438.js} +2 -2
  229. package/dist/{index.es414.js.map → index.es438.js.map} +1 -1
  230. package/dist/index.es439.js +400 -0
  231. package/dist/index.es439.js.map +1 -0
  232. package/dist/{index.es452.js → index.es440.js} +1 -1
  233. package/dist/{index.es452.js.map → index.es440.js.map} +1 -1
  234. package/dist/{index.es453.js → index.es441.js} +2 -2
  235. package/dist/{index.es453.js.map → index.es441.js.map} +1 -1
  236. package/dist/{index.es454.js → index.es442.js} +2 -2
  237. package/dist/{index.es454.js.map → index.es442.js.map} +1 -1
  238. package/dist/{index.es455.js → index.es443.js} +1 -1
  239. package/dist/{index.es455.js.map → index.es443.js.map} +1 -1
  240. package/dist/index.es444.js +530 -0
  241. package/dist/index.es444.js.map +1 -0
  242. package/dist/index.es445.js +130 -0
  243. package/dist/index.es445.js.map +1 -0
  244. package/dist/index.es446.js +132 -0
  245. package/dist/index.es446.js.map +1 -0
  246. package/dist/{index.es388.js → index.es447.js} +1 -1
  247. package/dist/{index.es388.js.map → index.es447.js.map} +1 -1
  248. package/dist/index.es461.js +1 -1
  249. package/dist/index.es468.js +8 -8
  250. package/dist/index.es483.js +1 -1
  251. package/dist/sections/WhatDoYouNeed/WhatDoYouNeed.css +1 -1
  252. package/package.json +1 -1
  253. package/dist/index.cjs391.js +0 -2
  254. package/dist/index.cjs391.js.map +0 -1
  255. package/dist/index.cjs406.js +0 -2
  256. package/dist/index.cjs406.js.map +0 -1
  257. package/dist/index.cjs407.js +0 -2
  258. package/dist/index.cjs407.js.map +0 -1
  259. package/dist/index.cjs408.js +0 -2
  260. package/dist/index.cjs408.js.map +0 -1
  261. package/dist/index.cjs410.js +0 -2
  262. package/dist/index.cjs410.js.map +0 -1
  263. package/dist/index.es391.js +0 -10
  264. package/dist/index.es391.js.map +0 -1
  265. package/dist/index.es406.js +0 -17
  266. package/dist/index.es406.js.map +0 -1
  267. package/dist/index.es407.js +0 -72
  268. package/dist/index.es407.js.map +0 -1
  269. package/dist/index.es408.js +0 -184
  270. package/dist/index.es408.js.map +0 -1
  271. package/dist/index.es410.js +0 -53
  272. package/dist/index.es410.js.map +0 -1
  273. /package/dist/components/ui/{ConsentModal/ConsentModalContent/ConsentModalContent.css → DoctorConfirmModal/DoctorConfirmModalContent/DoctorConfirmModalContent.css} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.es396.js","sources":["../node_modules/@radix-ui/react-menu/dist/index.mjs"],"sourcesContent":["\"use client\";\n\n// src/menu.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { createCollection } from \"@radix-ui/react-collection\";\nimport { useComposedRefs, composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { DismissableLayer } from \"@radix-ui/react-dismissable-layer\";\nimport { useFocusGuards } from \"@radix-ui/react-focus-guards\";\nimport { FocusScope } from \"@radix-ui/react-focus-scope\";\nimport { useId } from \"@radix-ui/react-id\";\nimport * as PopperPrimitive from \"@radix-ui/react-popper\";\nimport { createPopperScope } from \"@radix-ui/react-popper\";\nimport { Portal as PortalPrimitive } from \"@radix-ui/react-portal\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { Primitive, dispatchDiscreteCustomEvent } from \"@radix-ui/react-primitive\";\nimport * as RovingFocusGroup from \"@radix-ui/react-roving-focus\";\nimport { createRovingFocusGroupScope } from \"@radix-ui/react-roving-focus\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { hideOthers } from \"aria-hidden\";\nimport { RemoveScroll } from \"react-remove-scroll\";\nimport { jsx } from \"react/jsx-runtime\";\nvar SELECTION_KEYS = [\"Enter\", \" \"];\nvar FIRST_KEYS = [\"ArrowDown\", \"PageUp\", \"Home\"];\nvar LAST_KEYS = [\"ArrowUp\", \"PageDown\", \"End\"];\nvar FIRST_LAST_KEYS = [...FIRST_KEYS, ...LAST_KEYS];\nvar SUB_OPEN_KEYS = {\n ltr: [...SELECTION_KEYS, \"ArrowRight\"],\n rtl: [...SELECTION_KEYS, \"ArrowLeft\"]\n};\nvar SUB_CLOSE_KEYS = {\n ltr: [\"ArrowLeft\"],\n rtl: [\"ArrowRight\"]\n};\nvar MENU_NAME = \"Menu\";\nvar [Collection, useCollection, createCollectionScope] = createCollection(MENU_NAME);\nvar [createMenuContext, createMenuScope] = createContextScope(MENU_NAME, [\n createCollectionScope,\n createPopperScope,\n createRovingFocusGroupScope\n]);\nvar usePopperScope = createPopperScope();\nvar useRovingFocusGroupScope = createRovingFocusGroupScope();\nvar [MenuProvider, useMenuContext] = createMenuContext(MENU_NAME);\nvar [MenuRootProvider, useMenuRootContext] = createMenuContext(MENU_NAME);\nvar Menu = (props) => {\n const { __scopeMenu, open = false, children, dir, onOpenChange, modal = true } = props;\n const popperScope = usePopperScope(__scopeMenu);\n const [content, setContent] = React.useState(null);\n const isUsingKeyboardRef = React.useRef(false);\n const handleOpenChange = useCallbackRef(onOpenChange);\n const direction = useDirection(dir);\n React.useEffect(() => {\n const handleKeyDown = () => {\n isUsingKeyboardRef.current = true;\n document.addEventListener(\"pointerdown\", handlePointer, { capture: true, once: true });\n document.addEventListener(\"pointermove\", handlePointer, { capture: true, once: true });\n };\n const handlePointer = () => isUsingKeyboardRef.current = false;\n document.addEventListener(\"keydown\", handleKeyDown, { capture: true });\n return () => {\n document.removeEventListener(\"keydown\", handleKeyDown, { capture: true });\n document.removeEventListener(\"pointerdown\", handlePointer, { capture: true });\n document.removeEventListener(\"pointermove\", handlePointer, { capture: true });\n };\n }, []);\n return /* @__PURE__ */ jsx(PopperPrimitive.Root, { ...popperScope, children: /* @__PURE__ */ jsx(\n MenuProvider,\n {\n scope: __scopeMenu,\n open,\n onOpenChange: handleOpenChange,\n content,\n onContentChange: setContent,\n children: /* @__PURE__ */ jsx(\n MenuRootProvider,\n {\n scope: __scopeMenu,\n onClose: React.useCallback(() => handleOpenChange(false), [handleOpenChange]),\n isUsingKeyboardRef,\n dir: direction,\n modal,\n children\n }\n )\n }\n ) });\n};\nMenu.displayName = MENU_NAME;\nvar ANCHOR_NAME = \"MenuAnchor\";\nvar MenuAnchor = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, ...anchorProps } = props;\n const popperScope = usePopperScope(__scopeMenu);\n return /* @__PURE__ */ jsx(PopperPrimitive.Anchor, { ...popperScope, ...anchorProps, ref: forwardedRef });\n }\n);\nMenuAnchor.displayName = ANCHOR_NAME;\nvar PORTAL_NAME = \"MenuPortal\";\nvar [PortalProvider, usePortalContext] = createMenuContext(PORTAL_NAME, {\n forceMount: void 0\n});\nvar MenuPortal = (props) => {\n const { __scopeMenu, forceMount, children, container } = props;\n const context = useMenuContext(PORTAL_NAME, __scopeMenu);\n return /* @__PURE__ */ jsx(PortalProvider, { scope: __scopeMenu, forceMount, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(PortalPrimitive, { asChild: true, container, children }) }) });\n};\nMenuPortal.displayName = PORTAL_NAME;\nvar CONTENT_NAME = \"MenuContent\";\nvar [MenuContentProvider, useMenuContentContext] = createMenuContext(CONTENT_NAME);\nvar MenuContent = React.forwardRef(\n (props, forwardedRef) => {\n const portalContext = usePortalContext(CONTENT_NAME, props.__scopeMenu);\n const { forceMount = portalContext.forceMount, ...contentProps } = props;\n const context = useMenuContext(CONTENT_NAME, props.__scopeMenu);\n const rootContext = useMenuRootContext(CONTENT_NAME, props.__scopeMenu);\n return /* @__PURE__ */ jsx(Collection.Provider, { scope: props.__scopeMenu, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(Collection.Slot, { scope: props.__scopeMenu, children: rootContext.modal ? /* @__PURE__ */ jsx(MenuRootContentModal, { ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ jsx(MenuRootContentNonModal, { ...contentProps, ref: forwardedRef }) }) }) });\n }\n);\nvar MenuRootContentModal = React.forwardRef(\n (props, forwardedRef) => {\n const context = useMenuContext(CONTENT_NAME, props.__scopeMenu);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n React.useEffect(() => {\n const content = ref.current;\n if (content) return hideOthers(content);\n }, []);\n return /* @__PURE__ */ jsx(\n MenuContentImpl,\n {\n ...props,\n ref: composedRefs,\n trapFocus: context.open,\n disableOutsidePointerEvents: context.open,\n disableOutsideScroll: true,\n onFocusOutside: composeEventHandlers(\n props.onFocusOutside,\n (event) => event.preventDefault(),\n { checkForDefaultPrevented: false }\n ),\n onDismiss: () => context.onOpenChange(false)\n }\n );\n }\n);\nvar MenuRootContentNonModal = React.forwardRef((props, forwardedRef) => {\n const context = useMenuContext(CONTENT_NAME, props.__scopeMenu);\n return /* @__PURE__ */ jsx(\n MenuContentImpl,\n {\n ...props,\n ref: forwardedRef,\n trapFocus: false,\n disableOutsidePointerEvents: false,\n disableOutsideScroll: false,\n onDismiss: () => context.onOpenChange(false)\n }\n );\n});\nvar Slot = createSlot(\"MenuContent.ScrollLock\");\nvar MenuContentImpl = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeMenu,\n loop = false,\n trapFocus,\n onOpenAutoFocus,\n onCloseAutoFocus,\n disableOutsidePointerEvents,\n onEntryFocus,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside,\n onInteractOutside,\n onDismiss,\n disableOutsideScroll,\n ...contentProps\n } = props;\n const context = useMenuContext(CONTENT_NAME, __scopeMenu);\n const rootContext = useMenuRootContext(CONTENT_NAME, __scopeMenu);\n const popperScope = usePopperScope(__scopeMenu);\n const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeMenu);\n const getItems = useCollection(__scopeMenu);\n const [currentItemId, setCurrentItemId] = React.useState(null);\n const contentRef = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, contentRef, context.onContentChange);\n const timerRef = React.useRef(0);\n const searchRef = React.useRef(\"\");\n const pointerGraceTimerRef = React.useRef(0);\n const pointerGraceIntentRef = React.useRef(null);\n const pointerDirRef = React.useRef(\"right\");\n const lastPointerXRef = React.useRef(0);\n const ScrollLockWrapper = disableOutsideScroll ? RemoveScroll : React.Fragment;\n const scrollLockWrapperProps = disableOutsideScroll ? { as: Slot, allowPinchZoom: true } : void 0;\n const handleTypeaheadSearch = (key) => {\n const search = searchRef.current + key;\n const items = getItems().filter((item) => !item.disabled);\n const currentItem = document.activeElement;\n const currentMatch = items.find((item) => item.ref.current === currentItem)?.textValue;\n const values = items.map((item) => item.textValue);\n const nextMatch = getNextMatch(values, search, currentMatch);\n const newItem = items.find((item) => item.textValue === nextMatch)?.ref.current;\n (function updateSearch(value) {\n searchRef.current = value;\n window.clearTimeout(timerRef.current);\n if (value !== \"\") timerRef.current = window.setTimeout(() => updateSearch(\"\"), 1e3);\n })(search);\n if (newItem) {\n setTimeout(() => newItem.focus());\n }\n };\n React.useEffect(() => {\n return () => window.clearTimeout(timerRef.current);\n }, []);\n useFocusGuards();\n const isPointerMovingToSubmenu = React.useCallback((event) => {\n const isMovingTowards = pointerDirRef.current === pointerGraceIntentRef.current?.side;\n return isMovingTowards && isPointerInGraceArea(event, pointerGraceIntentRef.current?.area);\n }, []);\n return /* @__PURE__ */ jsx(\n MenuContentProvider,\n {\n scope: __scopeMenu,\n searchRef,\n onItemEnter: React.useCallback(\n (event) => {\n if (isPointerMovingToSubmenu(event)) event.preventDefault();\n },\n [isPointerMovingToSubmenu]\n ),\n onItemLeave: React.useCallback(\n (event) => {\n if (isPointerMovingToSubmenu(event)) return;\n contentRef.current?.focus();\n setCurrentItemId(null);\n },\n [isPointerMovingToSubmenu]\n ),\n onTriggerLeave: React.useCallback(\n (event) => {\n if (isPointerMovingToSubmenu(event)) event.preventDefault();\n },\n [isPointerMovingToSubmenu]\n ),\n pointerGraceTimerRef,\n onPointerGraceIntentChange: React.useCallback((intent) => {\n pointerGraceIntentRef.current = intent;\n }, []),\n children: /* @__PURE__ */ jsx(ScrollLockWrapper, { ...scrollLockWrapperProps, children: /* @__PURE__ */ jsx(\n FocusScope,\n {\n asChild: true,\n trapped: trapFocus,\n onMountAutoFocus: composeEventHandlers(onOpenAutoFocus, (event) => {\n event.preventDefault();\n contentRef.current?.focus({ preventScroll: true });\n }),\n onUnmountAutoFocus: onCloseAutoFocus,\n children: /* @__PURE__ */ jsx(\n DismissableLayer,\n {\n asChild: true,\n disableOutsidePointerEvents,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside,\n onInteractOutside,\n onDismiss,\n children: /* @__PURE__ */ jsx(\n RovingFocusGroup.Root,\n {\n asChild: true,\n ...rovingFocusGroupScope,\n dir: rootContext.dir,\n orientation: \"vertical\",\n loop,\n currentTabStopId: currentItemId,\n onCurrentTabStopIdChange: setCurrentItemId,\n onEntryFocus: composeEventHandlers(onEntryFocus, (event) => {\n if (!rootContext.isUsingKeyboardRef.current) event.preventDefault();\n }),\n preventScrollOnEntryFocus: true,\n children: /* @__PURE__ */ jsx(\n PopperPrimitive.Content,\n {\n role: \"menu\",\n \"aria-orientation\": \"vertical\",\n \"data-state\": getOpenState(context.open),\n \"data-radix-menu-content\": \"\",\n dir: rootContext.dir,\n ...popperScope,\n ...contentProps,\n ref: composedRefs,\n style: { outline: \"none\", ...contentProps.style },\n onKeyDown: composeEventHandlers(contentProps.onKeyDown, (event) => {\n const target = event.target;\n const isKeyDownInside = target.closest(\"[data-radix-menu-content]\") === event.currentTarget;\n const isModifierKey = event.ctrlKey || event.altKey || event.metaKey;\n const isCharacterKey = event.key.length === 1;\n if (isKeyDownInside) {\n if (event.key === \"Tab\") event.preventDefault();\n if (!isModifierKey && isCharacterKey) handleTypeaheadSearch(event.key);\n }\n const content = contentRef.current;\n if (event.target !== content) return;\n if (!FIRST_LAST_KEYS.includes(event.key)) return;\n event.preventDefault();\n const items = getItems().filter((item) => !item.disabled);\n const candidateNodes = items.map((item) => item.ref.current);\n if (LAST_KEYS.includes(event.key)) candidateNodes.reverse();\n focusFirst(candidateNodes);\n }),\n onBlur: composeEventHandlers(props.onBlur, (event) => {\n if (!event.currentTarget.contains(event.target)) {\n window.clearTimeout(timerRef.current);\n searchRef.current = \"\";\n }\n }),\n onPointerMove: composeEventHandlers(\n props.onPointerMove,\n whenMouse((event) => {\n const target = event.target;\n const pointerXHasChanged = lastPointerXRef.current !== event.clientX;\n if (event.currentTarget.contains(target) && pointerXHasChanged) {\n const newDir = event.clientX > lastPointerXRef.current ? \"right\" : \"left\";\n pointerDirRef.current = newDir;\n lastPointerXRef.current = event.clientX;\n }\n })\n )\n }\n )\n }\n )\n }\n )\n }\n ) })\n }\n );\n }\n);\nMenuContent.displayName = CONTENT_NAME;\nvar GROUP_NAME = \"MenuGroup\";\nvar MenuGroup = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, ...groupProps } = props;\n return /* @__PURE__ */ jsx(Primitive.div, { role: \"group\", ...groupProps, ref: forwardedRef });\n }\n);\nMenuGroup.displayName = GROUP_NAME;\nvar LABEL_NAME = \"MenuLabel\";\nvar MenuLabel = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, ...labelProps } = props;\n return /* @__PURE__ */ jsx(Primitive.div, { ...labelProps, ref: forwardedRef });\n }\n);\nMenuLabel.displayName = LABEL_NAME;\nvar ITEM_NAME = \"MenuItem\";\nvar ITEM_SELECT = \"menu.itemSelect\";\nvar MenuItem = React.forwardRef(\n (props, forwardedRef) => {\n const { disabled = false, onSelect, ...itemProps } = props;\n const ref = React.useRef(null);\n const rootContext = useMenuRootContext(ITEM_NAME, props.__scopeMenu);\n const contentContext = useMenuContentContext(ITEM_NAME, props.__scopeMenu);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const isPointerDownRef = React.useRef(false);\n const handleSelect = () => {\n const menuItem = ref.current;\n if (!disabled && menuItem) {\n const itemSelectEvent = new CustomEvent(ITEM_SELECT, { bubbles: true, cancelable: true });\n menuItem.addEventListener(ITEM_SELECT, (event) => onSelect?.(event), { once: true });\n dispatchDiscreteCustomEvent(menuItem, itemSelectEvent);\n if (itemSelectEvent.defaultPrevented) {\n isPointerDownRef.current = false;\n } else {\n rootContext.onClose();\n }\n }\n };\n return /* @__PURE__ */ jsx(\n MenuItemImpl,\n {\n ...itemProps,\n ref: composedRefs,\n disabled,\n onClick: composeEventHandlers(props.onClick, handleSelect),\n onPointerDown: (event) => {\n props.onPointerDown?.(event);\n isPointerDownRef.current = true;\n },\n onPointerUp: composeEventHandlers(props.onPointerUp, (event) => {\n if (!isPointerDownRef.current) event.currentTarget?.click();\n }),\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n const isTypingAhead = contentContext.searchRef.current !== \"\";\n if (disabled || isTypingAhead && event.key === \" \") return;\n if (SELECTION_KEYS.includes(event.key)) {\n event.currentTarget.click();\n event.preventDefault();\n }\n })\n }\n );\n }\n);\nMenuItem.displayName = ITEM_NAME;\nvar MenuItemImpl = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, disabled = false, textValue, ...itemProps } = props;\n const contentContext = useMenuContentContext(ITEM_NAME, __scopeMenu);\n const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeMenu);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const [isFocused, setIsFocused] = React.useState(false);\n const [textContent, setTextContent] = React.useState(\"\");\n React.useEffect(() => {\n const menuItem = ref.current;\n if (menuItem) {\n setTextContent((menuItem.textContent ?? \"\").trim());\n }\n }, [itemProps.children]);\n return /* @__PURE__ */ jsx(\n Collection.ItemSlot,\n {\n scope: __scopeMenu,\n disabled,\n textValue: textValue ?? textContent,\n children: /* @__PURE__ */ jsx(RovingFocusGroup.Item, { asChild: true, ...rovingFocusGroupScope, focusable: !disabled, children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n role: \"menuitem\",\n \"data-highlighted\": isFocused ? \"\" : void 0,\n \"aria-disabled\": disabled || void 0,\n \"data-disabled\": disabled ? \"\" : void 0,\n ...itemProps,\n ref: composedRefs,\n onPointerMove: composeEventHandlers(\n props.onPointerMove,\n whenMouse((event) => {\n if (disabled) {\n contentContext.onItemLeave(event);\n } else {\n contentContext.onItemEnter(event);\n if (!event.defaultPrevented) {\n const item = event.currentTarget;\n item.focus({ preventScroll: true });\n }\n }\n })\n ),\n onPointerLeave: composeEventHandlers(\n props.onPointerLeave,\n whenMouse((event) => contentContext.onItemLeave(event))\n ),\n onFocus: composeEventHandlers(props.onFocus, () => setIsFocused(true)),\n onBlur: composeEventHandlers(props.onBlur, () => setIsFocused(false))\n }\n ) })\n }\n );\n }\n);\nvar CHECKBOX_ITEM_NAME = \"MenuCheckboxItem\";\nvar MenuCheckboxItem = React.forwardRef(\n (props, forwardedRef) => {\n const { checked = false, onCheckedChange, ...checkboxItemProps } = props;\n return /* @__PURE__ */ jsx(ItemIndicatorProvider, { scope: props.__scopeMenu, checked, children: /* @__PURE__ */ jsx(\n MenuItem,\n {\n role: \"menuitemcheckbox\",\n \"aria-checked\": isIndeterminate(checked) ? \"mixed\" : checked,\n ...checkboxItemProps,\n ref: forwardedRef,\n \"data-state\": getCheckedState(checked),\n onSelect: composeEventHandlers(\n checkboxItemProps.onSelect,\n () => onCheckedChange?.(isIndeterminate(checked) ? true : !checked),\n { checkForDefaultPrevented: false }\n )\n }\n ) });\n }\n);\nMenuCheckboxItem.displayName = CHECKBOX_ITEM_NAME;\nvar RADIO_GROUP_NAME = \"MenuRadioGroup\";\nvar [RadioGroupProvider, useRadioGroupContext] = createMenuContext(\n RADIO_GROUP_NAME,\n { value: void 0, onValueChange: () => {\n } }\n);\nvar MenuRadioGroup = React.forwardRef(\n (props, forwardedRef) => {\n const { value, onValueChange, ...groupProps } = props;\n const handleValueChange = useCallbackRef(onValueChange);\n return /* @__PURE__ */ jsx(RadioGroupProvider, { scope: props.__scopeMenu, value, onValueChange: handleValueChange, children: /* @__PURE__ */ jsx(MenuGroup, { ...groupProps, ref: forwardedRef }) });\n }\n);\nMenuRadioGroup.displayName = RADIO_GROUP_NAME;\nvar RADIO_ITEM_NAME = \"MenuRadioItem\";\nvar MenuRadioItem = React.forwardRef(\n (props, forwardedRef) => {\n const { value, ...radioItemProps } = props;\n const context = useRadioGroupContext(RADIO_ITEM_NAME, props.__scopeMenu);\n const checked = value === context.value;\n return /* @__PURE__ */ jsx(ItemIndicatorProvider, { scope: props.__scopeMenu, checked, children: /* @__PURE__ */ jsx(\n MenuItem,\n {\n role: \"menuitemradio\",\n \"aria-checked\": checked,\n ...radioItemProps,\n ref: forwardedRef,\n \"data-state\": getCheckedState(checked),\n onSelect: composeEventHandlers(\n radioItemProps.onSelect,\n () => context.onValueChange?.(value),\n { checkForDefaultPrevented: false }\n )\n }\n ) });\n }\n);\nMenuRadioItem.displayName = RADIO_ITEM_NAME;\nvar ITEM_INDICATOR_NAME = \"MenuItemIndicator\";\nvar [ItemIndicatorProvider, useItemIndicatorContext] = createMenuContext(\n ITEM_INDICATOR_NAME,\n { checked: false }\n);\nvar MenuItemIndicator = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, forceMount, ...itemIndicatorProps } = props;\n const indicatorContext = useItemIndicatorContext(ITEM_INDICATOR_NAME, __scopeMenu);\n return /* @__PURE__ */ jsx(\n Presence,\n {\n present: forceMount || isIndeterminate(indicatorContext.checked) || indicatorContext.checked === true,\n children: /* @__PURE__ */ jsx(\n Primitive.span,\n {\n ...itemIndicatorProps,\n ref: forwardedRef,\n \"data-state\": getCheckedState(indicatorContext.checked)\n }\n )\n }\n );\n }\n);\nMenuItemIndicator.displayName = ITEM_INDICATOR_NAME;\nvar SEPARATOR_NAME = \"MenuSeparator\";\nvar MenuSeparator = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, ...separatorProps } = props;\n return /* @__PURE__ */ jsx(\n Primitive.div,\n {\n role: \"separator\",\n \"aria-orientation\": \"horizontal\",\n ...separatorProps,\n ref: forwardedRef\n }\n );\n }\n);\nMenuSeparator.displayName = SEPARATOR_NAME;\nvar ARROW_NAME = \"MenuArrow\";\nvar MenuArrow = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, ...arrowProps } = props;\n const popperScope = usePopperScope(__scopeMenu);\n return /* @__PURE__ */ jsx(PopperPrimitive.Arrow, { ...popperScope, ...arrowProps, ref: forwardedRef });\n }\n);\nMenuArrow.displayName = ARROW_NAME;\nvar SUB_NAME = \"MenuSub\";\nvar [MenuSubProvider, useMenuSubContext] = createMenuContext(SUB_NAME);\nvar MenuSub = (props) => {\n const { __scopeMenu, children, open = false, onOpenChange } = props;\n const parentMenuContext = useMenuContext(SUB_NAME, __scopeMenu);\n const popperScope = usePopperScope(__scopeMenu);\n const [trigger, setTrigger] = React.useState(null);\n const [content, setContent] = React.useState(null);\n const handleOpenChange = useCallbackRef(onOpenChange);\n React.useEffect(() => {\n if (parentMenuContext.open === false) handleOpenChange(false);\n return () => handleOpenChange(false);\n }, [parentMenuContext.open, handleOpenChange]);\n return /* @__PURE__ */ jsx(PopperPrimitive.Root, { ...popperScope, children: /* @__PURE__ */ jsx(\n MenuProvider,\n {\n scope: __scopeMenu,\n open,\n onOpenChange: handleOpenChange,\n content,\n onContentChange: setContent,\n children: /* @__PURE__ */ jsx(\n MenuSubProvider,\n {\n scope: __scopeMenu,\n contentId: useId(),\n triggerId: useId(),\n trigger,\n onTriggerChange: setTrigger,\n children\n }\n )\n }\n ) });\n};\nMenuSub.displayName = SUB_NAME;\nvar SUB_TRIGGER_NAME = \"MenuSubTrigger\";\nvar MenuSubTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const context = useMenuContext(SUB_TRIGGER_NAME, props.__scopeMenu);\n const rootContext = useMenuRootContext(SUB_TRIGGER_NAME, props.__scopeMenu);\n const subContext = useMenuSubContext(SUB_TRIGGER_NAME, props.__scopeMenu);\n const contentContext = useMenuContentContext(SUB_TRIGGER_NAME, props.__scopeMenu);\n const openTimerRef = React.useRef(null);\n const { pointerGraceTimerRef, onPointerGraceIntentChange } = contentContext;\n const scope = { __scopeMenu: props.__scopeMenu };\n const clearOpenTimer = React.useCallback(() => {\n if (openTimerRef.current) window.clearTimeout(openTimerRef.current);\n openTimerRef.current = null;\n }, []);\n React.useEffect(() => clearOpenTimer, [clearOpenTimer]);\n React.useEffect(() => {\n const pointerGraceTimer = pointerGraceTimerRef.current;\n return () => {\n window.clearTimeout(pointerGraceTimer);\n onPointerGraceIntentChange(null);\n };\n }, [pointerGraceTimerRef, onPointerGraceIntentChange]);\n return /* @__PURE__ */ jsx(MenuAnchor, { asChild: true, ...scope, children: /* @__PURE__ */ jsx(\n MenuItemImpl,\n {\n id: subContext.triggerId,\n \"aria-haspopup\": \"menu\",\n \"aria-expanded\": context.open,\n \"aria-controls\": subContext.contentId,\n \"data-state\": getOpenState(context.open),\n ...props,\n ref: composeRefs(forwardedRef, subContext.onTriggerChange),\n onClick: (event) => {\n props.onClick?.(event);\n if (props.disabled || event.defaultPrevented) return;\n event.currentTarget.focus();\n if (!context.open) context.onOpenChange(true);\n },\n onPointerMove: composeEventHandlers(\n props.onPointerMove,\n whenMouse((event) => {\n contentContext.onItemEnter(event);\n if (event.defaultPrevented) return;\n if (!props.disabled && !context.open && !openTimerRef.current) {\n contentContext.onPointerGraceIntentChange(null);\n openTimerRef.current = window.setTimeout(() => {\n context.onOpenChange(true);\n clearOpenTimer();\n }, 100);\n }\n })\n ),\n onPointerLeave: composeEventHandlers(\n props.onPointerLeave,\n whenMouse((event) => {\n clearOpenTimer();\n const contentRect = context.content?.getBoundingClientRect();\n if (contentRect) {\n const side = context.content?.dataset.side;\n const rightSide = side === \"right\";\n const bleed = rightSide ? -5 : 5;\n const contentNearEdge = contentRect[rightSide ? \"left\" : \"right\"];\n const contentFarEdge = contentRect[rightSide ? \"right\" : \"left\"];\n contentContext.onPointerGraceIntentChange({\n area: [\n // Apply a bleed on clientX to ensure that our exit point is\n // consistently within polygon bounds\n { x: event.clientX + bleed, y: event.clientY },\n { x: contentNearEdge, y: contentRect.top },\n { x: contentFarEdge, y: contentRect.top },\n { x: contentFarEdge, y: contentRect.bottom },\n { x: contentNearEdge, y: contentRect.bottom }\n ],\n side\n });\n window.clearTimeout(pointerGraceTimerRef.current);\n pointerGraceTimerRef.current = window.setTimeout(\n () => contentContext.onPointerGraceIntentChange(null),\n 300\n );\n } else {\n contentContext.onTriggerLeave(event);\n if (event.defaultPrevented) return;\n contentContext.onPointerGraceIntentChange(null);\n }\n })\n ),\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n const isTypingAhead = contentContext.searchRef.current !== \"\";\n if (props.disabled || isTypingAhead && event.key === \" \") return;\n if (SUB_OPEN_KEYS[rootContext.dir].includes(event.key)) {\n context.onOpenChange(true);\n context.content?.focus();\n event.preventDefault();\n }\n })\n }\n ) });\n }\n);\nMenuSubTrigger.displayName = SUB_TRIGGER_NAME;\nvar SUB_CONTENT_NAME = \"MenuSubContent\";\nvar MenuSubContent = React.forwardRef(\n (props, forwardedRef) => {\n const portalContext = usePortalContext(CONTENT_NAME, props.__scopeMenu);\n const { forceMount = portalContext.forceMount, ...subContentProps } = props;\n const context = useMenuContext(CONTENT_NAME, props.__scopeMenu);\n const rootContext = useMenuRootContext(CONTENT_NAME, props.__scopeMenu);\n const subContext = useMenuSubContext(SUB_CONTENT_NAME, props.__scopeMenu);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n return /* @__PURE__ */ jsx(Collection.Provider, { scope: props.__scopeMenu, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(Collection.Slot, { scope: props.__scopeMenu, children: /* @__PURE__ */ jsx(\n MenuContentImpl,\n {\n id: subContext.contentId,\n \"aria-labelledby\": subContext.triggerId,\n ...subContentProps,\n ref: composedRefs,\n align: \"start\",\n side: rootContext.dir === \"rtl\" ? \"left\" : \"right\",\n disableOutsidePointerEvents: false,\n disableOutsideScroll: false,\n trapFocus: false,\n onOpenAutoFocus: (event) => {\n if (rootContext.isUsingKeyboardRef.current) ref.current?.focus();\n event.preventDefault();\n },\n onCloseAutoFocus: (event) => event.preventDefault(),\n onFocusOutside: composeEventHandlers(props.onFocusOutside, (event) => {\n if (event.target !== subContext.trigger) context.onOpenChange(false);\n }),\n onEscapeKeyDown: composeEventHandlers(props.onEscapeKeyDown, (event) => {\n rootContext.onClose();\n event.preventDefault();\n }),\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n const isKeyDownInside = event.currentTarget.contains(event.target);\n const isCloseKey = SUB_CLOSE_KEYS[rootContext.dir].includes(event.key);\n if (isKeyDownInside && isCloseKey) {\n context.onOpenChange(false);\n subContext.trigger?.focus();\n event.preventDefault();\n }\n })\n }\n ) }) }) });\n }\n);\nMenuSubContent.displayName = SUB_CONTENT_NAME;\nfunction getOpenState(open) {\n return open ? \"open\" : \"closed\";\n}\nfunction isIndeterminate(checked) {\n return checked === \"indeterminate\";\n}\nfunction getCheckedState(checked) {\n return isIndeterminate(checked) ? \"indeterminate\" : checked ? \"checked\" : \"unchecked\";\n}\nfunction focusFirst(candidates) {\n const PREVIOUSLY_FOCUSED_ELEMENT = document.activeElement;\n for (const candidate of candidates) {\n if (candidate === PREVIOUSLY_FOCUSED_ELEMENT) return;\n candidate.focus();\n if (document.activeElement !== PREVIOUSLY_FOCUSED_ELEMENT) return;\n }\n}\nfunction wrapArray(array, startIndex) {\n return array.map((_, index) => array[(startIndex + index) % array.length]);\n}\nfunction getNextMatch(values, search, currentMatch) {\n const isRepeated = search.length > 1 && Array.from(search).every((char) => char === search[0]);\n const normalizedSearch = isRepeated ? search[0] : search;\n const currentMatchIndex = currentMatch ? values.indexOf(currentMatch) : -1;\n let wrappedValues = wrapArray(values, Math.max(currentMatchIndex, 0));\n const excludeCurrentMatch = normalizedSearch.length === 1;\n if (excludeCurrentMatch) wrappedValues = wrappedValues.filter((v) => v !== currentMatch);\n const nextMatch = wrappedValues.find(\n (value) => value.toLowerCase().startsWith(normalizedSearch.toLowerCase())\n );\n return nextMatch !== currentMatch ? nextMatch : void 0;\n}\nfunction isPointInPolygon(point, polygon) {\n const { x, y } = point;\n let inside = false;\n for (let i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {\n const ii = polygon[i];\n const jj = polygon[j];\n const xi = ii.x;\n const yi = ii.y;\n const xj = jj.x;\n const yj = jj.y;\n const intersect = yi > y !== yj > y && x < (xj - xi) * (y - yi) / (yj - yi) + xi;\n if (intersect) inside = !inside;\n }\n return inside;\n}\nfunction isPointerInGraceArea(event, area) {\n if (!area) return false;\n const cursorPos = { x: event.clientX, y: event.clientY };\n return isPointInPolygon(cursorPos, area);\n}\nfunction whenMouse(handler) {\n return (event) => event.pointerType === \"mouse\" ? handler(event) : void 0;\n}\nvar Root3 = Menu;\nvar Anchor2 = MenuAnchor;\nvar Portal = MenuPortal;\nvar Content2 = MenuContent;\nvar Group = MenuGroup;\nvar Label = MenuLabel;\nvar Item2 = MenuItem;\nvar CheckboxItem = MenuCheckboxItem;\nvar RadioGroup = MenuRadioGroup;\nvar RadioItem = MenuRadioItem;\nvar ItemIndicator = MenuItemIndicator;\nvar Separator = MenuSeparator;\nvar Arrow2 = MenuArrow;\nvar Sub = MenuSub;\nvar SubTrigger = MenuSubTrigger;\nvar SubContent = MenuSubContent;\nexport {\n Anchor2 as Anchor,\n Arrow2 as Arrow,\n CheckboxItem,\n Content2 as Content,\n Group,\n Item2 as Item,\n ItemIndicator,\n Label,\n Menu,\n MenuAnchor,\n MenuArrow,\n MenuCheckboxItem,\n MenuContent,\n MenuGroup,\n MenuItem,\n MenuItemIndicator,\n MenuLabel,\n MenuPortal,\n MenuRadioGroup,\n MenuRadioItem,\n MenuSeparator,\n MenuSub,\n MenuSubContent,\n MenuSubTrigger,\n Portal,\n RadioGroup,\n RadioItem,\n Root3 as Root,\n Separator,\n Sub,\n SubContent,\n SubTrigger,\n createMenuScope\n};\n//# sourceMappingURL=index.mjs.map\n"],"names":["SELECTION_KEYS","FIRST_KEYS","LAST_KEYS","FIRST_LAST_KEYS","SUB_OPEN_KEYS","SUB_CLOSE_KEYS","MENU_NAME","Collection","useCollection","createCollectionScope","createCollection","createMenuContext","createMenuScope","createContextScope","createPopperScope","createRovingFocusGroupScope","usePopperScope","useRovingFocusGroupScope","MenuProvider","useMenuContext","MenuRootProvider","useMenuRootContext","Menu","props","__scopeMenu","open","children","dir","onOpenChange","modal","popperScope","content","setContent","React","isUsingKeyboardRef","handleOpenChange","useCallbackRef","direction","useDirection","handleKeyDown","handlePointer","jsx","PopperPrimitive.Root","ANCHOR_NAME","MenuAnchor","forwardedRef","anchorProps","PopperPrimitive.Anchor","PORTAL_NAME","PortalProvider","usePortalContext","MenuPortal","forceMount","container","context","Presence","PortalPrimitive","CONTENT_NAME","MenuContentProvider","useMenuContentContext","MenuContent","portalContext","contentProps","rootContext","MenuRootContentModal","MenuRootContentNonModal","ref","composedRefs","useComposedRefs","hideOthers","MenuContentImpl","composeEventHandlers","event","Slot","createSlot","loop","trapFocus","onOpenAutoFocus","onCloseAutoFocus","disableOutsidePointerEvents","onEntryFocus","onEscapeKeyDown","onPointerDownOutside","onFocusOutside","onInteractOutside","onDismiss","disableOutsideScroll","rovingFocusGroupScope","getItems","currentItemId","setCurrentItemId","contentRef","timerRef","searchRef","pointerGraceTimerRef","pointerGraceIntentRef","pointerDirRef","lastPointerXRef","ScrollLockWrapper","RemoveScroll","scrollLockWrapperProps","handleTypeaheadSearch","key","search","items","item","currentItem","currentMatch","_a","values","nextMatch","getNextMatch","newItem","_b","updateSearch","value","useFocusGuards","isPointerMovingToSubmenu","isPointerInGraceArea","intent","FocusScope","DismissableLayer","RovingFocusGroup.Root","PopperPrimitive.Content","getOpenState","isKeyDownInside","isModifierKey","isCharacterKey","candidateNodes","focusFirst","whenMouse","target","pointerXHasChanged","newDir","GROUP_NAME","MenuGroup","groupProps","Primitive","LABEL_NAME","MenuLabel","labelProps","ITEM_NAME","ITEM_SELECT","MenuItem","disabled","onSelect","itemProps","contentContext","isPointerDownRef","handleSelect","menuItem","itemSelectEvent","dispatchDiscreteCustomEvent","MenuItemImpl","isTypingAhead","textValue","isFocused","setIsFocused","textContent","setTextContent","RovingFocusGroup.Item","CHECKBOX_ITEM_NAME","MenuCheckboxItem","checked","onCheckedChange","checkboxItemProps","ItemIndicatorProvider","isIndeterminate","getCheckedState","RADIO_GROUP_NAME","RadioGroupProvider","useRadioGroupContext","MenuRadioGroup","onValueChange","handleValueChange","RADIO_ITEM_NAME","MenuRadioItem","radioItemProps","ITEM_INDICATOR_NAME","useItemIndicatorContext","MenuItemIndicator","itemIndicatorProps","indicatorContext","SEPARATOR_NAME","MenuSeparator","separatorProps","ARROW_NAME","MenuArrow","arrowProps","PopperPrimitive.Arrow","SUB_NAME","MenuSubProvider","useMenuSubContext","SUB_TRIGGER_NAME","MenuSubTrigger","subContext","openTimerRef","onPointerGraceIntentChange","scope","clearOpenTimer","pointerGraceTimer","composeRefs","contentRect","side","rightSide","bleed","contentNearEdge","contentFarEdge","SUB_CONTENT_NAME","MenuSubContent","subContentProps","isCloseKey","candidates","PREVIOUSLY_FOCUSED_ELEMENT","candidate","wrapArray","array","startIndex","_","index","normalizedSearch","char","currentMatchIndex","wrappedValues","v","isPointInPolygon","point","polygon","x","y","inside","i","j","ii","jj","xi","yi","xj","yj","area","cursorPos","handler","Root3","Anchor2","Portal","Content2","Group","Label","Item2","CheckboxItem","RadioGroup","RadioItem","ItemIndicator","Separator","Arrow2","SubTrigger","SubContent"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index.es396.js","sources":["../node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs"],"sourcesContent":["// src/use-controllable-state.tsx\nimport * as React from \"react\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nvar useInsertionEffect = React[\" useInsertionEffect \".trim().toString()] || useLayoutEffect;\nfunction useControllableState({\n prop,\n defaultProp,\n onChange = () => {\n },\n caller\n}) {\n const [uncontrolledProp, setUncontrolledProp, onChangeRef] = useUncontrolledState({\n defaultProp,\n onChange\n });\n const isControlled = prop !== void 0;\n const value = isControlled ? prop : uncontrolledProp;\n if (true) {\n const isControlledRef = React.useRef(prop !== void 0);\n React.useEffect(() => {\n const wasControlled = isControlledRef.current;\n if (wasControlled !== isControlled) {\n const from = wasControlled ? \"controlled\" : \"uncontrolled\";\n const to = isControlled ? \"controlled\" : \"uncontrolled\";\n console.warn(\n `${caller} is changing from ${from} to ${to}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`\n );\n }\n isControlledRef.current = isControlled;\n }, [isControlled, caller]);\n }\n const setValue = React.useCallback(\n (nextValue) => {\n if (isControlled) {\n const value2 = isFunction(nextValue) ? nextValue(prop) : nextValue;\n if (value2 !== prop) {\n onChangeRef.current?.(value2);\n }\n } else {\n setUncontrolledProp(nextValue);\n }\n },\n [isControlled, prop, setUncontrolledProp, onChangeRef]\n );\n return [value, setValue];\n}\nfunction useUncontrolledState({\n defaultProp,\n onChange\n}) {\n const [value, setValue] = React.useState(defaultProp);\n const prevValueRef = React.useRef(value);\n const onChangeRef = React.useRef(onChange);\n useInsertionEffect(() => {\n onChangeRef.current = onChange;\n }, [onChange]);\n React.useEffect(() => {\n if (prevValueRef.current !== value) {\n onChangeRef.current?.(value);\n prevValueRef.current = value;\n }\n }, [value, prevValueRef]);\n return [value, setValue, onChangeRef];\n}\nfunction isFunction(value) {\n return typeof value === \"function\";\n}\n\n// src/use-controllable-state-reducer.tsx\nimport * as React2 from \"react\";\nimport { useEffectEvent } from \"@radix-ui/react-use-effect-event\";\nvar SYNC_STATE = Symbol(\"RADIX:SYNC_STATE\");\nfunction useControllableStateReducer(reducer, userArgs, initialArg, init) {\n const { prop: controlledState, defaultProp, onChange: onChangeProp, caller } = userArgs;\n const isControlled = controlledState !== void 0;\n const onChange = useEffectEvent(onChangeProp);\n if (true) {\n const isControlledRef = React2.useRef(controlledState !== void 0);\n React2.useEffect(() => {\n const wasControlled = isControlledRef.current;\n if (wasControlled !== isControlled) {\n const from = wasControlled ? \"controlled\" : \"uncontrolled\";\n const to = isControlled ? \"controlled\" : \"uncontrolled\";\n console.warn(\n `${caller} is changing from ${from} to ${to}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`\n );\n }\n isControlledRef.current = isControlled;\n }, [isControlled, caller]);\n }\n const args = [{ ...initialArg, state: defaultProp }];\n if (init) {\n args.push(init);\n }\n const [internalState, dispatch] = React2.useReducer(\n (state2, action) => {\n if (action.type === SYNC_STATE) {\n return { ...state2, state: action.state };\n }\n const next = reducer(state2, action);\n if (isControlled && !Object.is(next.state, state2.state)) {\n onChange(next.state);\n }\n return next;\n },\n ...args\n );\n const uncontrolledState = internalState.state;\n const prevValueRef = React2.useRef(uncontrolledState);\n React2.useEffect(() => {\n if (prevValueRef.current !== uncontrolledState) {\n prevValueRef.current = uncontrolledState;\n if (!isControlled) {\n onChange(uncontrolledState);\n }\n }\n }, [onChange, uncontrolledState, prevValueRef, isControlled]);\n const state = React2.useMemo(() => {\n const isControlled2 = controlledState !== void 0;\n if (isControlled2) {\n return { ...internalState, state: controlledState };\n }\n return internalState;\n }, [internalState, controlledState]);\n React2.useEffect(() => {\n if (isControlled && !Object.is(controlledState, internalState.state)) {\n dispatch({ type: SYNC_STATE, state: controlledState });\n }\n }, [controlledState, internalState.state, isControlled]);\n return [state, dispatch];\n}\nexport {\n useControllableState,\n useControllableStateReducer\n};\n//# sourceMappingURL=index.mjs.map\n"],"names":["useInsertionEffect","React","useLayoutEffect","useControllableState","prop","defaultProp","onChange","caller","uncontrolledProp","setUncontrolledProp","onChangeRef","useUncontrolledState","isControlled","value","isControlledRef","wasControlled","setValue","nextValue","value2","isFunction","_a","prevValueRef"],"mappings":";;AAGA,IAAIA,IAAqBC,EAAM,uBAAuB,KAAI,EAAG,SAAU,CAAA,KAAKC;AAC5E,SAASC,EAAqB;AAAA,EAC5B,MAAAC;AAAA,EACA,aAAAC;AAAA,EACA,UAAAC,IAAW,MAAM;AAAA,EAChB;AAAA,EACD,QAAAC;AACF,GAAG;AACD,QAAM,CAACC,GAAkBC,GAAqBC,CAAW,IAAIC,EAAqB;AAAA,IAChF,aAAAN;AAAA,IACA,UAAAC;AAAA,EACJ,CAAG,GACKM,IAAeR,MAAS,QACxBS,IAAQD,IAAeR,IAAOI;AAC1B;AACR,UAAMM,IAAkBb,EAAM,OAAOG,MAAS,MAAM;AACpD,IAAAH,EAAM,UAAU,MAAM;AACpB,YAAMc,IAAgBD,EAAgB;AACtC,MAAIC,MAAkBH,KAGpB,QAAQ;AAAA,QACN,GAAGL,CAAM,qBAHEQ,IAAgB,eAAe,cAGR,OAFzBH,IAAe,eAAe,cAEI;AAAA,MAC5C,GAEHE,EAAgB,UAAUF;AAAA,IAChC,GAAO,CAACA,GAAcL,CAAM,CAAC;AAAA,EAC7B;AACE,QAAMS,IAAWf,EAAM;AAAA,IACrB,CAACgB,MAAc;;AACb,UAAIL,GAAc;AAChB,cAAMM,IAASC,EAAWF,CAAS,IAAIA,EAAUb,CAAI,IAAIa;AACzD,QAAIC,MAAWd,OACbgB,IAAAV,EAAY,YAAZ,QAAAU,EAAA,KAAAV,GAAsBQ;AAAA,MAEhC;AACQ,QAAAT,EAAoBQ,CAAS;AAAA,IAEhC;AAAA,IACD,CAACL,GAAcR,GAAMK,GAAqBC,CAAW;AAAA,EACtD;AACD,SAAO,CAACG,GAAOG,CAAQ;AACzB;AACA,SAASL,EAAqB;AAAA,EAC5B,aAAAN;AAAA,EACA,UAAAC;AACF,GAAG;AACD,QAAM,CAACO,GAAOG,CAAQ,IAAIf,EAAM,SAASI,CAAW,GAC9CgB,IAAepB,EAAM,OAAOY,CAAK,GACjCH,IAAcT,EAAM,OAAOK,CAAQ;AACzC,SAAAN,EAAmB,MAAM;AACvB,IAAAU,EAAY,UAAUJ;AAAA,EAC1B,GAAK,CAACA,CAAQ,CAAC,GACbL,EAAM,UAAU,MAAM;;AACpB,IAAIoB,EAAa,YAAYR,OAC3BO,IAAAV,EAAY,YAAZ,QAAAU,EAAA,KAAAV,GAAsBG,IACtBQ,EAAa,UAAUR;AAAA,EAE7B,GAAK,CAACA,GAAOQ,CAAY,CAAC,GACjB,CAACR,GAAOG,GAAUN,CAAW;AACtC;AACA,SAASS,EAAWN,GAAO;AACzB,SAAO,OAAOA,KAAU;AAC1B;","x_google_ignoreList":[0]}
@@ -1,14 +1,128 @@
1
- import * as o from "react";
2
- import { useLayoutEffect as a } from "./index.es398.js";
3
- var s = o[" useId ".trim().toString()] || (() => {
4
- }), f = 0;
5
- function i(t) {
6
- const [e, r] = o.useState(s());
7
- return a(() => {
8
- r((u) => u ?? String(f++));
9
- }, [t]), t || (e ? `radix-${e}` : "");
1
+ import * as n from "react";
2
+ import { composeEventHandlers as m } from "./index.es392.js";
3
+ import { Primitive as R, dispatchDiscreteCustomEvent as k } from "./index.es401.js";
4
+ import { useComposedRefs as g } from "./index.es393.js";
5
+ import { useCallbackRef as w } from "./index.es412.js";
6
+ import { useEscapeKeydown as U } from "./index.es413.js";
7
+ import { j as x } from "./index.es212.js";
8
+ var j = "DismissableLayer", p = "dismissableLayer.update", z = "dismissableLayer.pointerDownOutside", H = "dismissableLayer.focusOutside", L, T = n.createContext({
9
+ layers: /* @__PURE__ */ new Set(),
10
+ layersWithOutsidePointerEventsDisabled: /* @__PURE__ */ new Set(),
11
+ branches: /* @__PURE__ */ new Set()
12
+ }), M = n.forwardRef(
13
+ (r, e) => {
14
+ const {
15
+ disableOutsidePointerEvents: i = !1,
16
+ onEscapeKeyDown: o,
17
+ onPointerDownOutside: t,
18
+ onFocusOutside: a,
19
+ onInteractOutside: l,
20
+ onDismiss: d,
21
+ ...v
22
+ } = r, c = n.useContext(T), [u, S] = n.useState(null), f = (u == null ? void 0 : u.ownerDocument) ?? (globalThis == null ? void 0 : globalThis.document), [, F] = n.useState({}), W = g(e, (s) => S(s)), y = Array.from(c.layers), [A] = [...c.layersWithOutsidePointerEventsDisabled].slice(-1), N = y.indexOf(A), b = u ? y.indexOf(u) : -1, I = c.layersWithOutsidePointerEventsDisabled.size > 0, P = b >= N, _ = q((s) => {
23
+ const E = s.target, C = [...c.branches].some((h) => h.contains(E));
24
+ !P || C || (t == null || t(s), l == null || l(s), s.defaultPrevented || d == null || d());
25
+ }, f), D = G((s) => {
26
+ const E = s.target;
27
+ [...c.branches].some((h) => h.contains(E)) || (a == null || a(s), l == null || l(s), s.defaultPrevented || d == null || d());
28
+ }, f);
29
+ return U((s) => {
30
+ b === c.layers.size - 1 && (o == null || o(s), !s.defaultPrevented && d && (s.preventDefault(), d()));
31
+ }, f), n.useEffect(() => {
32
+ if (u)
33
+ return i && (c.layersWithOutsidePointerEventsDisabled.size === 0 && (L = f.body.style.pointerEvents, f.body.style.pointerEvents = "none"), c.layersWithOutsidePointerEventsDisabled.add(u)), c.layers.add(u), O(), () => {
34
+ i && c.layersWithOutsidePointerEventsDisabled.size === 1 && (f.body.style.pointerEvents = L);
35
+ };
36
+ }, [u, f, i, c]), n.useEffect(() => () => {
37
+ u && (c.layers.delete(u), c.layersWithOutsidePointerEventsDisabled.delete(u), O());
38
+ }, [u, c]), n.useEffect(() => {
39
+ const s = () => F({});
40
+ return document.addEventListener(p, s), () => document.removeEventListener(p, s);
41
+ }, []), /* @__PURE__ */ x.jsx(
42
+ R.div,
43
+ {
44
+ ...v,
45
+ ref: W,
46
+ style: {
47
+ pointerEvents: I ? P ? "auto" : "none" : void 0,
48
+ ...r.style
49
+ },
50
+ onFocusCapture: m(r.onFocusCapture, D.onFocusCapture),
51
+ onBlurCapture: m(r.onBlurCapture, D.onBlurCapture),
52
+ onPointerDownCapture: m(
53
+ r.onPointerDownCapture,
54
+ _.onPointerDownCapture
55
+ )
56
+ }
57
+ );
58
+ }
59
+ );
60
+ M.displayName = j;
61
+ var X = "DismissableLayerBranch", Y = n.forwardRef((r, e) => {
62
+ const i = n.useContext(T), o = n.useRef(null), t = g(e, o);
63
+ return n.useEffect(() => {
64
+ const a = o.current;
65
+ if (a)
66
+ return i.branches.add(a), () => {
67
+ i.branches.delete(a);
68
+ };
69
+ }, [i.branches]), /* @__PURE__ */ x.jsx(R.div, { ...r, ref: t });
70
+ });
71
+ Y.displayName = X;
72
+ function q(r, e = globalThis == null ? void 0 : globalThis.document) {
73
+ const i = w(r), o = n.useRef(!1), t = n.useRef(() => {
74
+ });
75
+ return n.useEffect(() => {
76
+ const a = (d) => {
77
+ if (d.target && !o.current) {
78
+ let v = function() {
79
+ B(
80
+ z,
81
+ i,
82
+ c,
83
+ { discrete: !0 }
84
+ );
85
+ };
86
+ const c = { originalEvent: d };
87
+ d.pointerType === "touch" ? (e.removeEventListener("click", t.current), t.current = v, e.addEventListener("click", t.current, { once: !0 })) : v();
88
+ } else
89
+ e.removeEventListener("click", t.current);
90
+ o.current = !1;
91
+ }, l = window.setTimeout(() => {
92
+ e.addEventListener("pointerdown", a);
93
+ }, 0);
94
+ return () => {
95
+ window.clearTimeout(l), e.removeEventListener("pointerdown", a), e.removeEventListener("click", t.current);
96
+ };
97
+ }, [e, i]), {
98
+ // ensures we check React component tree (not just DOM tree)
99
+ onPointerDownCapture: () => o.current = !0
100
+ };
101
+ }
102
+ function G(r, e = globalThis == null ? void 0 : globalThis.document) {
103
+ const i = w(r), o = n.useRef(!1);
104
+ return n.useEffect(() => {
105
+ const t = (a) => {
106
+ a.target && !o.current && B(H, i, { originalEvent: a }, {
107
+ discrete: !1
108
+ });
109
+ };
110
+ return e.addEventListener("focusin", t), () => e.removeEventListener("focusin", t);
111
+ }, [e, i]), {
112
+ onFocusCapture: () => o.current = !0,
113
+ onBlurCapture: () => o.current = !1
114
+ };
115
+ }
116
+ function O() {
117
+ const r = new CustomEvent(p);
118
+ document.dispatchEvent(r);
119
+ }
120
+ function B(r, e, i, { discrete: o }) {
121
+ const t = i.originalEvent.target, a = new CustomEvent(r, { bubbles: !1, cancelable: !0, detail: i });
122
+ e && t.addEventListener(r, e, { once: !0 }), o ? k(t, a) : t.dispatchEvent(a);
10
123
  }
11
124
  export {
12
- i as useId
125
+ M as DismissableLayer,
126
+ Y as DismissableLayerBranch
13
127
  };
14
128
  //# sourceMappingURL=index.es397.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es397.js","sources":["../node_modules/@radix-ui/react-id/dist/index.mjs"],"sourcesContent":["// packages/react/id/src/id.tsx\nimport * as React from \"react\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nvar useReactId = React[\" useId \".trim().toString()] || (() => void 0);\nvar count = 0;\nfunction useId(deterministicId) {\n const [id, setId] = React.useState(useReactId());\n useLayoutEffect(() => {\n if (!deterministicId) setId((reactId) => reactId ?? String(count++));\n }, [deterministicId]);\n return deterministicId || (id ? `radix-${id}` : \"\");\n}\nexport {\n useId\n};\n//# sourceMappingURL=index.mjs.map\n"],"names":["useReactId","React","count","useId","deterministicId","id","setId","useLayoutEffect","reactId"],"mappings":";;AAGA,IAAIA,IAAaC,EAAM,UAAU,KAAM,EAAC,SAAU,CAAA,MAAM,MAAA;AAAA,IACpDC,IAAQ;AACZ,SAASC,EAAMC,GAAiB;AAC9B,QAAM,CAACC,GAAIC,CAAK,IAAIL,EAAM,SAASD,GAAY;AAC/CO,SAAAA,EAAgB,MAAM;AACE,IAAAD,EAAM,CAACE,MAAYA,KAAW,OAAON,GAAO,CAAC;AAAA,EACvE,GAAK,CAACE,CAAe,CAAC,GACbA,MAAoBC,IAAK,SAASA,CAAE,KAAK;AAClD;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index.es397.js","sources":["../node_modules/@radix-ui/react-dismissable-layer/dist/index.mjs"],"sourcesContent":["\"use client\";\n\n// src/dismissable-layer.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { Primitive, dispatchDiscreteCustomEvent } from \"@radix-ui/react-primitive\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { useEscapeKeydown } from \"@radix-ui/react-use-escape-keydown\";\nimport { jsx } from \"react/jsx-runtime\";\nvar DISMISSABLE_LAYER_NAME = \"DismissableLayer\";\nvar CONTEXT_UPDATE = \"dismissableLayer.update\";\nvar POINTER_DOWN_OUTSIDE = \"dismissableLayer.pointerDownOutside\";\nvar FOCUS_OUTSIDE = \"dismissableLayer.focusOutside\";\nvar originalBodyPointerEvents;\nvar DismissableLayerContext = React.createContext({\n layers: /* @__PURE__ */ new Set(),\n layersWithOutsidePointerEventsDisabled: /* @__PURE__ */ new Set(),\n branches: /* @__PURE__ */ new Set()\n});\nvar DismissableLayer = React.forwardRef(\n (props, forwardedRef) => {\n const {\n disableOutsidePointerEvents = false,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside,\n onInteractOutside,\n onDismiss,\n ...layerProps\n } = props;\n const context = React.useContext(DismissableLayerContext);\n const [node, setNode] = React.useState(null);\n const ownerDocument = node?.ownerDocument ?? globalThis?.document;\n const [, force] = React.useState({});\n const composedRefs = useComposedRefs(forwardedRef, (node2) => setNode(node2));\n const layers = Array.from(context.layers);\n const [highestLayerWithOutsidePointerEventsDisabled] = [...context.layersWithOutsidePointerEventsDisabled].slice(-1);\n const highestLayerWithOutsidePointerEventsDisabledIndex = layers.indexOf(highestLayerWithOutsidePointerEventsDisabled);\n const index = node ? layers.indexOf(node) : -1;\n const isBodyPointerEventsDisabled = context.layersWithOutsidePointerEventsDisabled.size > 0;\n const isPointerEventsEnabled = index >= highestLayerWithOutsidePointerEventsDisabledIndex;\n const pointerDownOutside = usePointerDownOutside((event) => {\n const target = event.target;\n const isPointerDownOnBranch = [...context.branches].some((branch) => branch.contains(target));\n if (!isPointerEventsEnabled || isPointerDownOnBranch) return;\n onPointerDownOutside?.(event);\n onInteractOutside?.(event);\n if (!event.defaultPrevented) onDismiss?.();\n }, ownerDocument);\n const focusOutside = useFocusOutside((event) => {\n const target = event.target;\n const isFocusInBranch = [...context.branches].some((branch) => branch.contains(target));\n if (isFocusInBranch) return;\n onFocusOutside?.(event);\n onInteractOutside?.(event);\n if (!event.defaultPrevented) onDismiss?.();\n }, ownerDocument);\n useEscapeKeydown((event) => {\n const isHighestLayer = index === context.layers.size - 1;\n if (!isHighestLayer) return;\n onEscapeKeyDown?.(event);\n if (!event.defaultPrevented && onDismiss) {\n event.preventDefault();\n onDismiss();\n }\n }, ownerDocument);\n React.useEffect(() => {\n if (!node) return;\n if (disableOutsidePointerEvents) {\n if (context.layersWithOutsidePointerEventsDisabled.size === 0) {\n originalBodyPointerEvents = ownerDocument.body.style.pointerEvents;\n ownerDocument.body.style.pointerEvents = \"none\";\n }\n context.layersWithOutsidePointerEventsDisabled.add(node);\n }\n context.layers.add(node);\n dispatchUpdate();\n return () => {\n if (disableOutsidePointerEvents && context.layersWithOutsidePointerEventsDisabled.size === 1) {\n ownerDocument.body.style.pointerEvents = originalBodyPointerEvents;\n }\n };\n }, [node, ownerDocument, disableOutsidePointerEvents, context]);\n React.useEffect(() => {\n return () => {\n if (!node) return;\n context.layers.delete(node);\n context.layersWithOutsidePointerEventsDisabled.delete(node);\n dispatchUpdate();\n };\n }, [node, context]);\n React.useEffect(() => {\n const handleUpdate = () => force({});\n document.addEventListener(CONTEXT_UPDATE, handleUpdate);\n return () => document.removeEventListener(CONTEXT_UPDATE, handleUpdate);\n }, []);\n return /* @__PURE__ */ jsx(\n Primitive.div,\n {\n ...layerProps,\n ref: composedRefs,\n style: {\n pointerEvents: isBodyPointerEventsDisabled ? isPointerEventsEnabled ? \"auto\" : \"none\" : void 0,\n ...props.style\n },\n onFocusCapture: composeEventHandlers(props.onFocusCapture, focusOutside.onFocusCapture),\n onBlurCapture: composeEventHandlers(props.onBlurCapture, focusOutside.onBlurCapture),\n onPointerDownCapture: composeEventHandlers(\n props.onPointerDownCapture,\n pointerDownOutside.onPointerDownCapture\n )\n }\n );\n }\n);\nDismissableLayer.displayName = DISMISSABLE_LAYER_NAME;\nvar BRANCH_NAME = \"DismissableLayerBranch\";\nvar DismissableLayerBranch = React.forwardRef((props, forwardedRef) => {\n const context = React.useContext(DismissableLayerContext);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n React.useEffect(() => {\n const node = ref.current;\n if (node) {\n context.branches.add(node);\n return () => {\n context.branches.delete(node);\n };\n }\n }, [context.branches]);\n return /* @__PURE__ */ jsx(Primitive.div, { ...props, ref: composedRefs });\n});\nDismissableLayerBranch.displayName = BRANCH_NAME;\nfunction usePointerDownOutside(onPointerDownOutside, ownerDocument = globalThis?.document) {\n const handlePointerDownOutside = useCallbackRef(onPointerDownOutside);\n const isPointerInsideReactTreeRef = React.useRef(false);\n const handleClickRef = React.useRef(() => {\n });\n React.useEffect(() => {\n const handlePointerDown = (event) => {\n if (event.target && !isPointerInsideReactTreeRef.current) {\n let handleAndDispatchPointerDownOutsideEvent2 = function() {\n handleAndDispatchCustomEvent(\n POINTER_DOWN_OUTSIDE,\n handlePointerDownOutside,\n eventDetail,\n { discrete: true }\n );\n };\n var handleAndDispatchPointerDownOutsideEvent = handleAndDispatchPointerDownOutsideEvent2;\n const eventDetail = { originalEvent: event };\n if (event.pointerType === \"touch\") {\n ownerDocument.removeEventListener(\"click\", handleClickRef.current);\n handleClickRef.current = handleAndDispatchPointerDownOutsideEvent2;\n ownerDocument.addEventListener(\"click\", handleClickRef.current, { once: true });\n } else {\n handleAndDispatchPointerDownOutsideEvent2();\n }\n } else {\n ownerDocument.removeEventListener(\"click\", handleClickRef.current);\n }\n isPointerInsideReactTreeRef.current = false;\n };\n const timerId = window.setTimeout(() => {\n ownerDocument.addEventListener(\"pointerdown\", handlePointerDown);\n }, 0);\n return () => {\n window.clearTimeout(timerId);\n ownerDocument.removeEventListener(\"pointerdown\", handlePointerDown);\n ownerDocument.removeEventListener(\"click\", handleClickRef.current);\n };\n }, [ownerDocument, handlePointerDownOutside]);\n return {\n // ensures we check React component tree (not just DOM tree)\n onPointerDownCapture: () => isPointerInsideReactTreeRef.current = true\n };\n}\nfunction useFocusOutside(onFocusOutside, ownerDocument = globalThis?.document) {\n const handleFocusOutside = useCallbackRef(onFocusOutside);\n const isFocusInsideReactTreeRef = React.useRef(false);\n React.useEffect(() => {\n const handleFocus = (event) => {\n if (event.target && !isFocusInsideReactTreeRef.current) {\n const eventDetail = { originalEvent: event };\n handleAndDispatchCustomEvent(FOCUS_OUTSIDE, handleFocusOutside, eventDetail, {\n discrete: false\n });\n }\n };\n ownerDocument.addEventListener(\"focusin\", handleFocus);\n return () => ownerDocument.removeEventListener(\"focusin\", handleFocus);\n }, [ownerDocument, handleFocusOutside]);\n return {\n onFocusCapture: () => isFocusInsideReactTreeRef.current = true,\n onBlurCapture: () => isFocusInsideReactTreeRef.current = false\n };\n}\nfunction dispatchUpdate() {\n const event = new CustomEvent(CONTEXT_UPDATE);\n document.dispatchEvent(event);\n}\nfunction handleAndDispatchCustomEvent(name, handler, detail, { discrete }) {\n const target = detail.originalEvent.target;\n const event = new CustomEvent(name, { bubbles: false, cancelable: true, detail });\n if (handler) target.addEventListener(name, handler, { once: true });\n if (discrete) {\n dispatchDiscreteCustomEvent(target, event);\n } else {\n target.dispatchEvent(event);\n }\n}\nvar Root = DismissableLayer;\nvar Branch = DismissableLayerBranch;\nexport {\n Branch,\n DismissableLayer,\n DismissableLayerBranch,\n Root\n};\n//# sourceMappingURL=index.mjs.map\n"],"names":["DISMISSABLE_LAYER_NAME","CONTEXT_UPDATE","POINTER_DOWN_OUTSIDE","FOCUS_OUTSIDE","originalBodyPointerEvents","DismissableLayerContext","React","DismissableLayer","props","forwardedRef","disableOutsidePointerEvents","onEscapeKeyDown","onPointerDownOutside","onFocusOutside","onInteractOutside","onDismiss","layerProps","context","node","setNode","ownerDocument","force","composedRefs","useComposedRefs","node2","layers","highestLayerWithOutsidePointerEventsDisabled","highestLayerWithOutsidePointerEventsDisabledIndex","index","isBodyPointerEventsDisabled","isPointerEventsEnabled","pointerDownOutside","usePointerDownOutside","event","target","isPointerDownOnBranch","branch","focusOutside","useFocusOutside","useEscapeKeydown","dispatchUpdate","handleUpdate","jsx","Primitive","composeEventHandlers","BRANCH_NAME","DismissableLayerBranch","ref","handlePointerDownOutside","useCallbackRef","isPointerInsideReactTreeRef","handleClickRef","handlePointerDown","handleAndDispatchPointerDownOutsideEvent2","handleAndDispatchCustomEvent","eventDetail","timerId","handleFocusOutside","isFocusInsideReactTreeRef","handleFocus","name","handler","detail","discrete","dispatchDiscreteCustomEvent"],"mappings":";;;;;;;AAUA,IAAIA,IAAyB,oBACzBC,IAAiB,2BACjBC,IAAuB,uCACvBC,IAAgB,iCAChBC,GACAC,IAA0BC,EAAM,cAAc;AAAA,EAChD,QAAwB,oBAAI,IAAK;AAAA,EACjC,wCAAwD,oBAAI,IAAK;AAAA,EACjE,UAA0B,oBAAI,IAAG;AACnC,CAAC,GACGC,IAAmBD,EAAM;AAAA,EAC3B,CAACE,GAAOC,MAAiB;AACvB,UAAM;AAAA,MACJ,6BAAAC,IAA8B;AAAA,MAC9B,iBAAAC;AAAA,MACA,sBAAAC;AAAA,MACA,gBAAAC;AAAA,MACA,mBAAAC;AAAA,MACA,WAAAC;AAAA,MACA,GAAGC;AAAA,IACT,IAAQR,GACES,IAAUX,EAAM,WAAWD,CAAuB,GAClD,CAACa,GAAMC,CAAO,IAAIb,EAAM,SAAS,IAAI,GACrCc,KAAgBF,KAAA,gBAAAA,EAAM,mBAAiB,yCAAY,WACnD,CAAG,EAAAG,CAAK,IAAIf,EAAM,SAAS,CAAA,CAAE,GAC7BgB,IAAeC,EAAgBd,GAAc,CAACe,MAAUL,EAAQK,CAAK,CAAC,GACtEC,IAAS,MAAM,KAAKR,EAAQ,MAAM,GAClC,CAACS,CAA4C,IAAI,CAAC,GAAGT,EAAQ,sCAAsC,EAAE,MAAM,EAAE,GAC7GU,IAAoDF,EAAO,QAAQC,CAA4C,GAC/GE,IAAQV,IAAOO,EAAO,QAAQP,CAAI,IAAI,IACtCW,IAA8BZ,EAAQ,uCAAuC,OAAO,GACpFa,IAAyBF,KAASD,GAClCI,IAAqBC,EAAsB,CAACC,MAAU;AAC1D,YAAMC,IAASD,EAAM,QACfE,IAAwB,CAAC,GAAGlB,EAAQ,QAAQ,EAAE,KAAK,CAACmB,MAAWA,EAAO,SAASF,CAAM,CAAC;AAC5F,MAAI,CAACJ,KAA0BK,MAC/BvB,KAAA,QAAAA,EAAuBqB,IACvBnB,KAAA,QAAAA,EAAoBmB,IACfA,EAAM,oBAAkBlB,KAAA,QAAAA;AAAA,IAC9B,GAAEK,CAAa,GACViB,IAAeC,EAAgB,CAACL,MAAU;AAC9C,YAAMC,IAASD,EAAM;AAErB,MADwB,CAAC,GAAGhB,EAAQ,QAAQ,EAAE,KAAK,CAACmB,MAAWA,EAAO,SAASF,CAAM,CAAC,MAEtFrB,KAAA,QAAAA,EAAiBoB,IACjBnB,KAAA,QAAAA,EAAoBmB,IACfA,EAAM,oBAAkBlB,KAAA,QAAAA;AAAA,IAC9B,GAAEK,CAAa;AAChB,WAAAmB,EAAiB,CAACN,MAAU;AAE1B,MADuBL,MAAUX,EAAQ,OAAO,OAAO,MAEvDN,KAAA,QAAAA,EAAkBsB,IACd,CAACA,EAAM,oBAAoBlB,MAC7BkB,EAAM,eAAgB,GACtBlB,EAAW;AAAA,IAEd,GAAEK,CAAa,GAChBd,EAAM,UAAU,MAAM;AACpB,UAAKY;AACL,eAAIR,MACEO,EAAQ,uCAAuC,SAAS,MAC1Db,IAA4BgB,EAAc,KAAK,MAAM,eACrDA,EAAc,KAAK,MAAM,gBAAgB,SAE3CH,EAAQ,uCAAuC,IAAIC,CAAI,IAEzDD,EAAQ,OAAO,IAAIC,CAAI,GACvBsB,EAAgB,GACT,MAAM;AACX,UAAI9B,KAA+BO,EAAQ,uCAAuC,SAAS,MACzFG,EAAc,KAAK,MAAM,gBAAgBhB;AAAA,QAE5C;AAAA,IACF,GAAE,CAACc,GAAME,GAAeV,GAA6BO,CAAO,CAAC,GAC9DX,EAAM,UAAU,MACP,MAAM;AACX,MAAKY,MACLD,EAAQ,OAAO,OAAOC,CAAI,GAC1BD,EAAQ,uCAAuC,OAAOC,CAAI,GAC1DsB,EAAgB;AAAA,IACjB,GACA,CAACtB,GAAMD,CAAO,CAAC,GAClBX,EAAM,UAAU,MAAM;AACpB,YAAMmC,IAAe,MAAMpB,EAAM,EAAE;AACnC,sBAAS,iBAAiBpB,GAAgBwC,CAAY,GAC/C,MAAM,SAAS,oBAAoBxC,GAAgBwC,CAAY;AAAA,IACvE,GAAE,EAAE,GACkBC,gBAAAA,EAAG;AAAA,MACxBC,EAAU;AAAA,MACV;AAAA,QACE,GAAG3B;AAAA,QACH,KAAKM;AAAA,QACL,OAAO;AAAA,UACL,eAAeO,IAA8BC,IAAyB,SAAS,SAAS;AAAA,UACxF,GAAGtB,EAAM;AAAA,QACV;AAAA,QACD,gBAAgBoC,EAAqBpC,EAAM,gBAAgB6B,EAAa,cAAc;AAAA,QACtF,eAAeO,EAAqBpC,EAAM,eAAe6B,EAAa,aAAa;AAAA,QACnF,sBAAsBO;AAAA,UACpBpC,EAAM;AAAA,UACNuB,EAAmB;AAAA,QAC7B;AAAA,MACA;AAAA,IACK;AAAA,EACL;AACA;AACAxB,EAAiB,cAAcP;AAC/B,IAAI6C,IAAc,0BACdC,IAAyBxC,EAAM,WAAW,CAACE,GAAOC,MAAiB;AACrE,QAAMQ,IAAUX,EAAM,WAAWD,CAAuB,GAClD0C,IAAMzC,EAAM,OAAO,IAAI,GACvBgB,IAAeC,EAAgBd,GAAcsC,CAAG;AACtD,SAAAzC,EAAM,UAAU,MAAM;AACpB,UAAMY,IAAO6B,EAAI;AACjB,QAAI7B;AACF,aAAAD,EAAQ,SAAS,IAAIC,CAAI,GAClB,MAAM;AACX,QAAAD,EAAQ,SAAS,OAAOC,CAAI;AAAA,MAC7B;AAAA,EAEP,GAAK,CAACD,EAAQ,QAAQ,CAAC,GACEyB,gBAAAA,EAAAA,IAAIC,EAAU,KAAK,EAAE,GAAGnC,GAAO,KAAKc,GAAc;AAC3E,CAAC;AACDwB,EAAuB,cAAcD;AACrC,SAASb,EAAsBpB,GAAsBQ,IAAgB,yCAAY,UAAU;AACzF,QAAM4B,IAA2BC,EAAerC,CAAoB,GAC9DsC,IAA8B5C,EAAM,OAAO,EAAK,GAChD6C,IAAiB7C,EAAM,OAAO,MAAM;AAAA,EAC5C,CAAG;AACD,SAAAA,EAAM,UAAU,MAAM;AACpB,UAAM8C,IAAoB,CAACnB,MAAU;AACnC,UAAIA,EAAM,UAAU,CAACiB,EAA4B,SAAS;AACxD,YAAIG,IAA4C,WAAW;AACzD,UAAAC;AAAA,YACEpD;AAAA,YACA8C;AAAA,YACAO;AAAA,YACA,EAAE,UAAU,GAAI;AAAA,UACjB;AAAA,QACF;AAED,cAAMA,IAAc,EAAE,eAAetB,EAAO;AAC5C,QAAIA,EAAM,gBAAgB,WACxBb,EAAc,oBAAoB,SAAS+B,EAAe,OAAO,GACjEA,EAAe,UAAUE,GACzBjC,EAAc,iBAAiB,SAAS+B,EAAe,SAAS,EAAE,MAAM,IAAM,KAE9EE,EAA2C;AAAA,MAErD;AACQ,QAAAjC,EAAc,oBAAoB,SAAS+B,EAAe,OAAO;AAEnE,MAAAD,EAA4B,UAAU;AAAA,IACvC,GACKM,IAAU,OAAO,WAAW,MAAM;AACtC,MAAApC,EAAc,iBAAiB,eAAegC,CAAiB;AAAA,IAChE,GAAE,CAAC;AACJ,WAAO,MAAM;AACX,aAAO,aAAaI,CAAO,GAC3BpC,EAAc,oBAAoB,eAAegC,CAAiB,GAClEhC,EAAc,oBAAoB,SAAS+B,EAAe,OAAO;AAAA,IAClE;AAAA,EACL,GAAK,CAAC/B,GAAe4B,CAAwB,CAAC,GACrC;AAAA;AAAA,IAEL,sBAAsB,MAAME,EAA4B,UAAU;AAAA,EACnE;AACH;AACA,SAASZ,EAAgBzB,GAAgBO,IAAgB,yCAAY,UAAU;AAC7E,QAAMqC,IAAqBR,EAAepC,CAAc,GAClD6C,IAA4BpD,EAAM,OAAO,EAAK;AACpD,SAAAA,EAAM,UAAU,MAAM;AACpB,UAAMqD,IAAc,CAAC1B,MAAU;AAC7B,MAAIA,EAAM,UAAU,CAACyB,EAA0B,WAE7CJ,EAA6BnD,GAAesD,GADxB,EAAE,eAAexB,EAAO,GACiC;AAAA,QAC3E,UAAU;AAAA,MACpB,CAAS;AAAA,IAEJ;AACD,WAAAb,EAAc,iBAAiB,WAAWuC,CAAW,GAC9C,MAAMvC,EAAc,oBAAoB,WAAWuC,CAAW;AAAA,EACzE,GAAK,CAACvC,GAAeqC,CAAkB,CAAC,GAC/B;AAAA,IACL,gBAAgB,MAAMC,EAA0B,UAAU;AAAA,IAC1D,eAAe,MAAMA,EAA0B,UAAU;AAAA,EAC1D;AACH;AACA,SAASlB,IAAiB;AACxB,QAAMP,IAAQ,IAAI,YAAYhC,CAAc;AAC5C,WAAS,cAAcgC,CAAK;AAC9B;AACA,SAASqB,EAA6BM,GAAMC,GAASC,GAAQ,EAAE,UAAAC,EAAQ,GAAI;AACzE,QAAM7B,IAAS4B,EAAO,cAAc,QAC9B7B,IAAQ,IAAI,YAAY2B,GAAM,EAAE,SAAS,IAAO,YAAY,IAAM,QAAAE,GAAQ;AAChF,EAAID,KAAS3B,EAAO,iBAAiB0B,GAAMC,GAAS,EAAE,MAAM,IAAM,GAC9DE,IACFC,EAA4B9B,GAAQD,CAAK,IAEzCC,EAAO,cAAcD,CAAK;AAE9B;","x_google_ignoreList":[0]}
@@ -1,7 +1,138 @@
1
- import * as t from "react";
2
- var e = globalThis != null && globalThis.document ? t.useLayoutEffect : () => {
3
- };
1
+ import * as d from "react";
2
+ import { useComposedRefs as P } from "./index.es393.js";
3
+ import { Primitive as M } from "./index.es401.js";
4
+ import { useCallbackRef as y } from "./index.es412.js";
5
+ import { j as _ } from "./index.es212.js";
6
+ var F = "focusScope.autoFocusOnMount", T = "focusScope.autoFocusOnUnmount", N = { bubbles: !1, cancelable: !0 }, K = "FocusScope", k = d.forwardRef((e, n) => {
7
+ const {
8
+ loop: t = !1,
9
+ trapped: u = !1,
10
+ onMountAutoFocus: p,
11
+ onUnmountAutoFocus: L,
12
+ ...g
13
+ } = e, [o, R] = d.useState(null), E = y(p), v = y(L), b = d.useRef(null), U = P(n, (s) => R(s)), a = d.useRef({
14
+ paused: !1,
15
+ pause() {
16
+ this.paused = !0;
17
+ },
18
+ resume() {
19
+ this.paused = !1;
20
+ }
21
+ }).current;
22
+ d.useEffect(() => {
23
+ if (u) {
24
+ let s = function(i) {
25
+ if (a.paused || !o) return;
26
+ const c = i.target;
27
+ o.contains(c) ? b.current = c : f(b.current, { select: !0 });
28
+ }, l = function(i) {
29
+ if (a.paused || !o) return;
30
+ const c = i.relatedTarget;
31
+ c !== null && (o.contains(c) || f(b.current, { select: !0 }));
32
+ }, r = function(i) {
33
+ if (document.activeElement === document.body)
34
+ for (const h of i)
35
+ h.removedNodes.length > 0 && f(o);
36
+ };
37
+ document.addEventListener("focusin", s), document.addEventListener("focusout", l);
38
+ const m = new MutationObserver(r);
39
+ return o && m.observe(o, { childList: !0, subtree: !0 }), () => {
40
+ document.removeEventListener("focusin", s), document.removeEventListener("focusout", l), m.disconnect();
41
+ };
42
+ }
43
+ }, [u, o, a.paused]), d.useEffect(() => {
44
+ if (o) {
45
+ S.add(a);
46
+ const s = document.activeElement;
47
+ if (!o.contains(s)) {
48
+ const r = new CustomEvent(F, N);
49
+ o.addEventListener(F, E), o.dispatchEvent(r), r.defaultPrevented || (w(V(I(o)), { select: !0 }), document.activeElement === s && f(o));
50
+ }
51
+ return () => {
52
+ o.removeEventListener(F, E), setTimeout(() => {
53
+ const r = new CustomEvent(T, N);
54
+ o.addEventListener(T, v), o.dispatchEvent(r), r.defaultPrevented || f(s ?? document.body, { select: !0 }), o.removeEventListener(T, v), S.remove(a);
55
+ }, 0);
56
+ };
57
+ }
58
+ }, [o, E, v, a]);
59
+ const A = d.useCallback(
60
+ (s) => {
61
+ if (!t && !u || a.paused) return;
62
+ const l = s.key === "Tab" && !s.altKey && !s.ctrlKey && !s.metaKey, r = document.activeElement;
63
+ if (l && r) {
64
+ const m = s.currentTarget, [i, c] = x(m);
65
+ i && c ? !s.shiftKey && r === c ? (s.preventDefault(), t && f(i, { select: !0 })) : s.shiftKey && r === i && (s.preventDefault(), t && f(c, { select: !0 })) : r === m && s.preventDefault();
66
+ }
67
+ },
68
+ [t, u, a.paused]
69
+ );
70
+ return /* @__PURE__ */ _.jsx(M.div, { tabIndex: -1, ...g, ref: U, onKeyDown: A });
71
+ });
72
+ k.displayName = K;
73
+ function w(e, { select: n = !1 } = {}) {
74
+ const t = document.activeElement;
75
+ for (const u of e)
76
+ if (f(u, { select: n }), document.activeElement !== t) return;
77
+ }
78
+ function x(e) {
79
+ const n = I(e), t = O(n, e), u = O(n.reverse(), e);
80
+ return [t, u];
81
+ }
82
+ function I(e) {
83
+ const n = [], t = document.createTreeWalker(e, NodeFilter.SHOW_ELEMENT, {
84
+ acceptNode: (u) => {
85
+ const p = u.tagName === "INPUT" && u.type === "hidden";
86
+ return u.disabled || u.hidden || p ? NodeFilter.FILTER_SKIP : u.tabIndex >= 0 ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;
87
+ }
88
+ });
89
+ for (; t.nextNode(); ) n.push(t.currentNode);
90
+ return n;
91
+ }
92
+ function O(e, n) {
93
+ for (const t of e)
94
+ if (!D(t, { upTo: n })) return t;
95
+ }
96
+ function D(e, { upTo: n }) {
97
+ if (getComputedStyle(e).visibility === "hidden") return !0;
98
+ for (; e; ) {
99
+ if (n !== void 0 && e === n) return !1;
100
+ if (getComputedStyle(e).display === "none") return !0;
101
+ e = e.parentElement;
102
+ }
103
+ return !1;
104
+ }
105
+ function H(e) {
106
+ return e instanceof HTMLInputElement && "select" in e;
107
+ }
108
+ function f(e, { select: n = !1 } = {}) {
109
+ if (e && e.focus) {
110
+ const t = document.activeElement;
111
+ e.focus({ preventScroll: !0 }), e !== t && H(e) && n && e.select();
112
+ }
113
+ }
114
+ var S = j();
115
+ function j() {
116
+ let e = [];
117
+ return {
118
+ add(n) {
119
+ const t = e[0];
120
+ n !== t && (t == null || t.pause()), e = C(e, n), e.unshift(n);
121
+ },
122
+ remove(n) {
123
+ var t;
124
+ e = C(e, n), (t = e[0]) == null || t.resume();
125
+ }
126
+ };
127
+ }
128
+ function C(e, n) {
129
+ const t = [...e], u = t.indexOf(n);
130
+ return u !== -1 && t.splice(u, 1), t;
131
+ }
132
+ function V(e) {
133
+ return e.filter((n) => n.tagName !== "A");
134
+ }
4
135
  export {
5
- e as useLayoutEffect
136
+ k as FocusScope
6
137
  };
7
138
  //# sourceMappingURL=index.es398.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es398.js","sources":["../node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs"],"sourcesContent":["// packages/react/use-layout-effect/src/use-layout-effect.tsx\nimport * as React from \"react\";\nvar useLayoutEffect2 = globalThis?.document ? React.useLayoutEffect : () => {\n};\nexport {\n useLayoutEffect2 as useLayoutEffect\n};\n//# sourceMappingURL=index.mjs.map\n"],"names":["useLayoutEffect2","React"],"mappings":";AAEG,IAACA,IAAmB,iCAAY,WAAWC,EAAM,kBAAkB,MAAM;AAC5E;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index.es398.js","sources":["../node_modules/@radix-ui/react-focus-scope/dist/index.mjs"],"sourcesContent":["\"use client\";\n\n// src/focus-scope.tsx\nimport * as React from \"react\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { jsx } from \"react/jsx-runtime\";\nvar AUTOFOCUS_ON_MOUNT = \"focusScope.autoFocusOnMount\";\nvar AUTOFOCUS_ON_UNMOUNT = \"focusScope.autoFocusOnUnmount\";\nvar EVENT_OPTIONS = { bubbles: false, cancelable: true };\nvar FOCUS_SCOPE_NAME = \"FocusScope\";\nvar FocusScope = React.forwardRef((props, forwardedRef) => {\n const {\n loop = false,\n trapped = false,\n onMountAutoFocus: onMountAutoFocusProp,\n onUnmountAutoFocus: onUnmountAutoFocusProp,\n ...scopeProps\n } = props;\n const [container, setContainer] = React.useState(null);\n const onMountAutoFocus = useCallbackRef(onMountAutoFocusProp);\n const onUnmountAutoFocus = useCallbackRef(onUnmountAutoFocusProp);\n const lastFocusedElementRef = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setContainer(node));\n const focusScope = React.useRef({\n paused: false,\n pause() {\n this.paused = true;\n },\n resume() {\n this.paused = false;\n }\n }).current;\n React.useEffect(() => {\n if (trapped) {\n let handleFocusIn2 = function(event) {\n if (focusScope.paused || !container) return;\n const target = event.target;\n if (container.contains(target)) {\n lastFocusedElementRef.current = target;\n } else {\n focus(lastFocusedElementRef.current, { select: true });\n }\n }, handleFocusOut2 = function(event) {\n if (focusScope.paused || !container) return;\n const relatedTarget = event.relatedTarget;\n if (relatedTarget === null) return;\n if (!container.contains(relatedTarget)) {\n focus(lastFocusedElementRef.current, { select: true });\n }\n }, handleMutations2 = function(mutations) {\n const focusedElement = document.activeElement;\n if (focusedElement !== document.body) return;\n for (const mutation of mutations) {\n if (mutation.removedNodes.length > 0) focus(container);\n }\n };\n var handleFocusIn = handleFocusIn2, handleFocusOut = handleFocusOut2, handleMutations = handleMutations2;\n document.addEventListener(\"focusin\", handleFocusIn2);\n document.addEventListener(\"focusout\", handleFocusOut2);\n const mutationObserver = new MutationObserver(handleMutations2);\n if (container) mutationObserver.observe(container, { childList: true, subtree: true });\n return () => {\n document.removeEventListener(\"focusin\", handleFocusIn2);\n document.removeEventListener(\"focusout\", handleFocusOut2);\n mutationObserver.disconnect();\n };\n }\n }, [trapped, container, focusScope.paused]);\n React.useEffect(() => {\n if (container) {\n focusScopesStack.add(focusScope);\n const previouslyFocusedElement = document.activeElement;\n const hasFocusedCandidate = container.contains(previouslyFocusedElement);\n if (!hasFocusedCandidate) {\n const mountEvent = new CustomEvent(AUTOFOCUS_ON_MOUNT, EVENT_OPTIONS);\n container.addEventListener(AUTOFOCUS_ON_MOUNT, onMountAutoFocus);\n container.dispatchEvent(mountEvent);\n if (!mountEvent.defaultPrevented) {\n focusFirst(removeLinks(getTabbableCandidates(container)), { select: true });\n if (document.activeElement === previouslyFocusedElement) {\n focus(container);\n }\n }\n }\n return () => {\n container.removeEventListener(AUTOFOCUS_ON_MOUNT, onMountAutoFocus);\n setTimeout(() => {\n const unmountEvent = new CustomEvent(AUTOFOCUS_ON_UNMOUNT, EVENT_OPTIONS);\n container.addEventListener(AUTOFOCUS_ON_UNMOUNT, onUnmountAutoFocus);\n container.dispatchEvent(unmountEvent);\n if (!unmountEvent.defaultPrevented) {\n focus(previouslyFocusedElement ?? document.body, { select: true });\n }\n container.removeEventListener(AUTOFOCUS_ON_UNMOUNT, onUnmountAutoFocus);\n focusScopesStack.remove(focusScope);\n }, 0);\n };\n }\n }, [container, onMountAutoFocus, onUnmountAutoFocus, focusScope]);\n const handleKeyDown = React.useCallback(\n (event) => {\n if (!loop && !trapped) return;\n if (focusScope.paused) return;\n const isTabKey = event.key === \"Tab\" && !event.altKey && !event.ctrlKey && !event.metaKey;\n const focusedElement = document.activeElement;\n if (isTabKey && focusedElement) {\n const container2 = event.currentTarget;\n const [first, last] = getTabbableEdges(container2);\n const hasTabbableElementsInside = first && last;\n if (!hasTabbableElementsInside) {\n if (focusedElement === container2) event.preventDefault();\n } else {\n if (!event.shiftKey && focusedElement === last) {\n event.preventDefault();\n if (loop) focus(first, { select: true });\n } else if (event.shiftKey && focusedElement === first) {\n event.preventDefault();\n if (loop) focus(last, { select: true });\n }\n }\n }\n },\n [loop, trapped, focusScope.paused]\n );\n return /* @__PURE__ */ jsx(Primitive.div, { tabIndex: -1, ...scopeProps, ref: composedRefs, onKeyDown: handleKeyDown });\n});\nFocusScope.displayName = FOCUS_SCOPE_NAME;\nfunction focusFirst(candidates, { select = false } = {}) {\n const previouslyFocusedElement = document.activeElement;\n for (const candidate of candidates) {\n focus(candidate, { select });\n if (document.activeElement !== previouslyFocusedElement) return;\n }\n}\nfunction getTabbableEdges(container) {\n const candidates = getTabbableCandidates(container);\n const first = findVisible(candidates, container);\n const last = findVisible(candidates.reverse(), container);\n return [first, last];\n}\nfunction getTabbableCandidates(container) {\n const nodes = [];\n const walker = document.createTreeWalker(container, NodeFilter.SHOW_ELEMENT, {\n acceptNode: (node) => {\n const isHiddenInput = node.tagName === \"INPUT\" && node.type === \"hidden\";\n if (node.disabled || node.hidden || isHiddenInput) return NodeFilter.FILTER_SKIP;\n return node.tabIndex >= 0 ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;\n }\n });\n while (walker.nextNode()) nodes.push(walker.currentNode);\n return nodes;\n}\nfunction findVisible(elements, container) {\n for (const element of elements) {\n if (!isHidden(element, { upTo: container })) return element;\n }\n}\nfunction isHidden(node, { upTo }) {\n if (getComputedStyle(node).visibility === \"hidden\") return true;\n while (node) {\n if (upTo !== void 0 && node === upTo) return false;\n if (getComputedStyle(node).display === \"none\") return true;\n node = node.parentElement;\n }\n return false;\n}\nfunction isSelectableInput(element) {\n return element instanceof HTMLInputElement && \"select\" in element;\n}\nfunction focus(element, { select = false } = {}) {\n if (element && element.focus) {\n const previouslyFocusedElement = document.activeElement;\n element.focus({ preventScroll: true });\n if (element !== previouslyFocusedElement && isSelectableInput(element) && select)\n element.select();\n }\n}\nvar focusScopesStack = createFocusScopesStack();\nfunction createFocusScopesStack() {\n let stack = [];\n return {\n add(focusScope) {\n const activeFocusScope = stack[0];\n if (focusScope !== activeFocusScope) {\n activeFocusScope?.pause();\n }\n stack = arrayRemove(stack, focusScope);\n stack.unshift(focusScope);\n },\n remove(focusScope) {\n stack = arrayRemove(stack, focusScope);\n stack[0]?.resume();\n }\n };\n}\nfunction arrayRemove(array, item) {\n const updatedArray = [...array];\n const index = updatedArray.indexOf(item);\n if (index !== -1) {\n updatedArray.splice(index, 1);\n }\n return updatedArray;\n}\nfunction removeLinks(items) {\n return items.filter((item) => item.tagName !== \"A\");\n}\nvar Root = FocusScope;\nexport {\n FocusScope,\n Root\n};\n//# sourceMappingURL=index.mjs.map\n"],"names":["AUTOFOCUS_ON_MOUNT","AUTOFOCUS_ON_UNMOUNT","EVENT_OPTIONS","FOCUS_SCOPE_NAME","FocusScope","React","props","forwardedRef","loop","trapped","onMountAutoFocusProp","onUnmountAutoFocusProp","scopeProps","container","setContainer","onMountAutoFocus","useCallbackRef","onUnmountAutoFocus","lastFocusedElementRef","composedRefs","useComposedRefs","node","focusScope","handleFocusIn2","event","target","focus","handleFocusOut2","relatedTarget","handleMutations2","mutations","mutation","mutationObserver","focusScopesStack","previouslyFocusedElement","mountEvent","focusFirst","removeLinks","getTabbableCandidates","unmountEvent","handleKeyDown","isTabKey","focusedElement","container2","first","last","getTabbableEdges","jsx","Primitive","candidates","select","candidate","findVisible","nodes","walker","isHiddenInput","elements","element","isHidden","upTo","isSelectableInput","createFocusScopesStack","stack","activeFocusScope","arrayRemove","_a","array","item","updatedArray","index","items"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1,57 +1,17 @@
1
- import * as l from "react";
2
- import { useComposedRefs as y } from "./index.es392.js";
3
- import { j as p } from "./index.es212.js";
4
- // @__NO_SIDE_EFFECTS__
5
- function b(e) {
6
- const r = /* @__PURE__ */ E(e), n = l.forwardRef((o, t) => {
7
- const { children: i, ...c } = o, a = l.Children.toArray(i), s = a.find(S);
8
- if (s) {
9
- const f = s.props.children, m = a.map((u) => u === s ? l.Children.count(f) > 1 ? l.Children.only(null) : l.isValidElement(f) ? f.props.children : null : u);
10
- return /* @__PURE__ */ p.jsx(r, { ...c, ref: t, children: l.isValidElement(f) ? l.cloneElement(f, void 0, m) : null });
11
- }
12
- return /* @__PURE__ */ p.jsx(r, { ...c, ref: t, children: i });
13
- });
14
- return n.displayName = `${e}.Slot`, n;
15
- }
16
- // @__NO_SIDE_EFFECTS__
17
- function E(e) {
18
- const r = l.forwardRef((n, o) => {
19
- const { children: t, ...i } = n, c = l.isValidElement(t) ? C(t) : void 0, a = y(c, o);
20
- if (l.isValidElement(t)) {
21
- const s = g(i, t.props);
22
- return t.type !== l.Fragment && (s.ref = a), l.cloneElement(t, s);
23
- }
24
- return l.Children.count(t) > 1 ? l.Children.only(null) : null;
25
- });
26
- return r.displayName = `${e}.SlotClone`, r;
27
- }
28
- var d = Symbol("radix.slottable");
29
- // @__NO_SIDE_EFFECTS__
30
- function h(e) {
31
- const r = ({ children: n }) => /* @__PURE__ */ p.jsx(p.Fragment, { children: n });
32
- return r.displayName = `${e}.Slottable`, r.__radixId = d, r;
33
- }
34
- function S(e) {
35
- return l.isValidElement(e) && typeof e.type == "function" && "__radixId" in e.type && e.type.__radixId === d;
36
- }
37
- function g(e, r) {
38
- const n = { ...r };
39
- for (const o in r) {
40
- const t = e[o], i = r[o];
41
- /^on[A-Z]/.test(o) ? t && i ? n[o] = (...a) => {
42
- const s = i(...a);
43
- return t(...a), s;
44
- } : t && (n[o] = t) : o === "style" ? n[o] = { ...t, ...i } : o === "className" && (n[o] = [t, i].filter(Boolean).join(" "));
45
- }
46
- return { ...e, ...n };
47
- }
48
- function C(e) {
49
- var o, t;
50
- let r = (o = Object.getOwnPropertyDescriptor(e.props, "ref")) == null ? void 0 : o.get, n = r && "isReactWarning" in r && r.isReactWarning;
51
- return n ? e.ref : (r = (t = Object.getOwnPropertyDescriptor(e, "ref")) == null ? void 0 : t.get, n = r && "isReactWarning" in r && r.isReactWarning, n ? e.props.ref : e.props.ref || e.ref);
52
- }
1
+ import * as r from "react";
2
+ import f from "react-dom";
3
+ import { Primitive as u } from "./index.es401.js";
4
+ import { useLayoutEffect as c } from "./index.es411.js";
5
+ import { j as l } from "./index.es212.js";
6
+ var p = "Portal", d = r.forwardRef((e, a) => {
7
+ var o;
8
+ const { container: s, ...i } = e, [m, n] = r.useState(!1);
9
+ c(() => n(!0), []);
10
+ const t = s || m && ((o = globalThis == null ? void 0 : globalThis.document) == null ? void 0 : o.body);
11
+ return t ? f.createPortal(/* @__PURE__ */ l.jsx(u.div, { ...i, ref: a }), t) : null;
12
+ });
13
+ d.displayName = p;
53
14
  export {
54
- b as createSlot,
55
- h as createSlottable
15
+ d as Portal
56
16
  };
57
17
  //# sourceMappingURL=index.es399.js.map