@anoki/fse-ui 1.0.546 → 1.0.547

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 (240) hide show
  1. package/dist/index.cjs.js +1 -1
  2. package/dist/index.cjs103.js +1 -1
  3. package/dist/index.cjs103.js.map +1 -1
  4. package/dist/index.cjs213.js +1 -1
  5. package/dist/index.cjs217.js +1 -1
  6. package/dist/index.cjs224.js +1 -1
  7. package/dist/index.cjs235.js +1 -1
  8. package/dist/index.cjs262.js +1 -1
  9. package/dist/index.cjs301.js +1 -1
  10. package/dist/index.cjs334.js +1 -1
  11. package/dist/index.cjs334.js.map +1 -1
  12. package/dist/index.cjs337.js +1 -1
  13. package/dist/index.cjs337.js.map +1 -1
  14. package/dist/index.cjs338.js +1 -1
  15. package/dist/index.cjs338.js.map +1 -1
  16. package/dist/index.cjs339.js +1 -1
  17. package/dist/index.cjs339.js.map +1 -1
  18. package/dist/index.cjs340.js +1 -1
  19. package/dist/index.cjs341.js +1 -1
  20. package/dist/index.cjs341.js.map +1 -1
  21. package/dist/index.cjs342.js +2 -0
  22. package/dist/index.cjs342.js.map +1 -0
  23. package/dist/index.cjs343.js +2 -0
  24. package/dist/index.cjs343.js.map +1 -0
  25. package/dist/index.cjs344.js +1 -1
  26. package/dist/index.cjs344.js.map +1 -1
  27. package/dist/index.cjs345.js +1 -1
  28. package/dist/index.cjs345.js.map +1 -1
  29. package/dist/index.cjs346.js +1 -1
  30. package/dist/index.cjs346.js.map +1 -1
  31. package/dist/index.cjs347.js +1 -1
  32. package/dist/index.cjs347.js.map +1 -1
  33. package/dist/index.cjs348.js +1 -1
  34. package/dist/index.cjs348.js.map +1 -1
  35. package/dist/index.cjs349.js +1 -1
  36. package/dist/index.cjs349.js.map +1 -1
  37. package/dist/index.cjs350.js +1 -1
  38. package/dist/index.cjs350.js.map +1 -1
  39. package/dist/index.cjs354.js +1 -1
  40. package/dist/index.cjs354.js.map +1 -1
  41. package/dist/index.cjs355.js +1 -1
  42. package/dist/index.cjs355.js.map +1 -1
  43. package/dist/index.cjs356.js +1 -1
  44. package/dist/index.cjs356.js.map +1 -1
  45. package/dist/index.cjs357.js +1 -1
  46. package/dist/index.cjs357.js.map +1 -1
  47. package/dist/index.cjs358.js +1 -1
  48. package/dist/index.cjs358.js.map +1 -1
  49. package/dist/index.cjs359.js +1 -1
  50. package/dist/index.cjs359.js.map +1 -1
  51. package/dist/index.cjs360.js +1 -1
  52. package/dist/index.cjs360.js.map +1 -1
  53. package/dist/index.cjs361.js +1 -1
  54. package/dist/index.cjs361.js.map +1 -1
  55. package/dist/index.cjs362.js +1 -1
  56. package/dist/index.cjs362.js.map +1 -1
  57. package/dist/index.cjs363.js +1 -1
  58. package/dist/index.cjs363.js.map +1 -1
  59. package/dist/index.cjs372.js +1 -4
  60. package/dist/index.cjs372.js.map +1 -1
  61. package/dist/index.cjs373.js +1 -1
  62. package/dist/index.cjs373.js.map +1 -1
  63. package/dist/index.cjs374.js +1 -1
  64. package/dist/index.cjs374.js.map +1 -1
  65. package/dist/index.cjs375.js +1 -1
  66. package/dist/index.cjs375.js.map +1 -1
  67. package/dist/index.cjs376.js +1 -38
  68. package/dist/index.cjs376.js.map +1 -1
  69. package/dist/index.cjs377.js +1 -1
  70. package/dist/index.cjs377.js.map +1 -1
  71. package/dist/index.cjs378.js +1 -1
  72. package/dist/index.cjs378.js.map +1 -1
  73. package/dist/index.cjs379.js +1 -1
  74. package/dist/index.cjs379.js.map +1 -1
  75. package/dist/{index.cjs371.js → index.cjs380.js} +2 -2
  76. package/dist/{index.cjs371.js.map → index.cjs380.js.map} +1 -1
  77. package/dist/index.cjs381.js +5 -0
  78. package/dist/index.cjs381.js.map +1 -0
  79. package/dist/index.cjs382.js +2 -0
  80. package/dist/index.cjs382.js.map +1 -0
  81. package/dist/index.cjs386.js +2 -0
  82. package/dist/index.cjs386.js.map +1 -0
  83. package/dist/index.cjs387.js +39 -0
  84. package/dist/index.cjs387.js.map +1 -0
  85. package/dist/index.cjs388.js +1 -1
  86. package/dist/index.cjs388.js.map +1 -1
  87. package/dist/index.cjs389.js +1 -1
  88. package/dist/index.cjs389.js.map +1 -1
  89. package/dist/index.cjs390.js +2 -0
  90. package/dist/index.cjs390.js.map +1 -0
  91. package/dist/{index.cjs366.js → index.cjs391.js} +2 -2
  92. package/dist/{index.cjs366.js.map → index.cjs391.js.map} +1 -1
  93. package/dist/{index.cjs367.js → index.cjs392.js} +1 -1
  94. package/dist/{index.cjs367.js.map → index.cjs392.js.map} +1 -1
  95. package/dist/{index.cjs368.js → index.cjs393.js} +1 -1
  96. package/dist/{index.cjs368.js.map → index.cjs393.js.map} +1 -1
  97. package/dist/index.cjs394.js +2 -0
  98. package/dist/index.cjs394.js.map +1 -0
  99. package/dist/index.cjs395.js +2 -0
  100. package/dist/index.cjs395.js.map +1 -0
  101. package/dist/index.cjs410.js +1 -1
  102. package/dist/index.d.ts +7 -3
  103. package/dist/index.es.js +137 -136
  104. package/dist/index.es103.js +17 -12
  105. package/dist/index.es103.js.map +1 -1
  106. package/dist/index.es213.js +6 -6
  107. package/dist/index.es217.js +1 -1
  108. package/dist/index.es224.js +8 -8
  109. package/dist/index.es235.js +13 -13
  110. package/dist/index.es262.js +7 -7
  111. package/dist/index.es301.js +4 -4
  112. package/dist/index.es334.js +15 -7
  113. package/dist/index.es334.js.map +1 -1
  114. package/dist/index.es337.js +6 -29
  115. package/dist/index.es337.js.map +1 -1
  116. package/dist/index.es338.js +26 -32
  117. package/dist/index.es338.js.map +1 -1
  118. package/dist/index.es339.js +63 -617
  119. package/dist/index.es339.js.map +1 -1
  120. package/dist/index.es340.js +1 -1
  121. package/dist/index.es341.js +30 -15
  122. package/dist/index.es341.js.map +1 -1
  123. package/dist/index.es342.js +128 -0
  124. package/dist/index.es342.js.map +1 -0
  125. package/dist/index.es343.js +138 -0
  126. package/dist/index.es343.js.map +1 -0
  127. package/dist/index.es344.js +13 -10
  128. package/dist/index.es344.js.map +1 -1
  129. package/dist/index.es345.js +63 -47
  130. package/dist/index.es345.js.map +1 -1
  131. package/dist/index.es346.js +32 -45
  132. package/dist/index.es346.js.map +1 -1
  133. package/dist/index.es347.js +14 -7
  134. package/dist/index.es347.js.map +1 -1
  135. package/dist/index.es348.js +8 -124
  136. package/dist/index.es348.js.map +1 -1
  137. package/dist/index.es349.js +50 -15
  138. package/dist/index.es349.js.map +1 -1
  139. package/dist/index.es350.js +47 -129
  140. package/dist/index.es350.js.map +1 -1
  141. package/dist/index.es354.js +601 -157
  142. package/dist/index.es354.js.map +1 -1
  143. package/dist/index.es355.js +3 -49
  144. package/dist/index.es355.js.map +1 -1
  145. package/dist/index.es356.js +10 -8
  146. package/dist/index.es356.js.map +1 -1
  147. package/dist/index.es357.js +12 -4
  148. package/dist/index.es357.js.map +1 -1
  149. package/dist/index.es358.js +5 -11
  150. package/dist/index.es358.js.map +1 -1
  151. package/dist/index.es359.js +24 -204
  152. package/dist/index.es359.js.map +1 -1
  153. package/dist/index.es360.js +44 -20
  154. package/dist/index.es360.js.map +1 -1
  155. package/dist/index.es361.js +7 -24
  156. package/dist/index.es361.js.map +1 -1
  157. package/dist/index.es362.js +212 -387
  158. package/dist/index.es362.js.map +1 -1
  159. package/dist/index.es363.js +174 -21
  160. package/dist/index.es363.js.map +1 -1
  161. package/dist/index.es372.js +22 -107
  162. package/dist/index.es372.js.map +1 -1
  163. package/dist/index.es373.js +28 -15
  164. package/dist/index.es373.js.map +1 -1
  165. package/dist/index.es374.js +5 -6
  166. package/dist/index.es374.js.map +1 -1
  167. package/dist/index.es375.js +200 -60
  168. package/dist/index.es375.js.map +1 -1
  169. package/dist/index.es376.js +22 -69
  170. package/dist/index.es376.js.map +1 -1
  171. package/dist/index.es377.js +391 -7
  172. package/dist/index.es377.js.map +1 -1
  173. package/dist/index.es378.js +5 -14
  174. package/dist/index.es378.js.map +1 -1
  175. package/dist/index.es379.js +3 -62
  176. package/dist/index.es379.js.map +1 -1
  177. package/dist/{index.es371.js → index.es380.js} +3 -3
  178. package/dist/{index.es371.js.map → index.es380.js.map} +1 -1
  179. package/dist/index.es381.js +113 -0
  180. package/dist/index.es381.js.map +1 -0
  181. package/dist/index.es382.js +19 -0
  182. package/dist/index.es382.js.map +1 -0
  183. package/dist/index.es386.js +68 -0
  184. package/dist/index.es386.js.map +1 -0
  185. package/dist/index.es387.js +72 -0
  186. package/dist/index.es387.js.map +1 -0
  187. package/dist/index.es388.js +9 -4
  188. package/dist/index.es388.js.map +1 -1
  189. package/dist/index.es389.js +13 -22
  190. package/dist/index.es389.js.map +1 -1
  191. package/dist/index.es390.js +65 -0
  192. package/dist/index.es390.js.map +1 -0
  193. package/dist/{index.es366.js → index.es391.js} +2 -2
  194. package/dist/{index.es366.js.map → index.es391.js.map} +1 -1
  195. package/dist/{index.es367.js → index.es392.js} +1 -1
  196. package/dist/{index.es367.js.map → index.es392.js.map} +1 -1
  197. package/dist/{index.es368.js → index.es393.js} +1 -1
  198. package/dist/{index.es368.js.map → index.es393.js.map} +1 -1
  199. package/dist/index.es394.js +7 -0
  200. package/dist/index.es394.js.map +1 -0
  201. package/dist/index.es395.js +26 -0
  202. package/dist/index.es395.js.map +1 -0
  203. package/dist/index.es410.js +8 -8
  204. package/package.json +1 -1
  205. package/dist/index.cjs335.js +0 -2
  206. package/dist/index.cjs335.js.map +0 -1
  207. package/dist/index.cjs336.js +0 -2
  208. package/dist/index.cjs336.js.map +0 -1
  209. package/dist/index.cjs351.js +0 -2
  210. package/dist/index.cjs351.js.map +0 -1
  211. package/dist/index.cjs352.js +0 -2
  212. package/dist/index.cjs352.js.map +0 -1
  213. package/dist/index.cjs353.js +0 -2
  214. package/dist/index.cjs353.js.map +0 -1
  215. package/dist/index.cjs364.js +0 -2
  216. package/dist/index.cjs364.js.map +0 -1
  217. package/dist/index.cjs365.js +0 -2
  218. package/dist/index.cjs365.js.map +0 -1
  219. package/dist/index.cjs369.js +0 -2
  220. package/dist/index.cjs369.js.map +0 -1
  221. package/dist/index.cjs370.js +0 -2
  222. package/dist/index.cjs370.js.map +0 -1
  223. package/dist/index.es335.js +0 -30
  224. package/dist/index.es335.js.map +0 -1
  225. package/dist/index.es336.js +0 -71
  226. package/dist/index.es336.js.map +0 -1
  227. package/dist/index.es351.js +0 -221
  228. package/dist/index.es351.js.map +0 -1
  229. package/dist/index.es352.js +0 -17
  230. package/dist/index.es352.js.map +0 -1
  231. package/dist/index.es353.js +0 -72
  232. package/dist/index.es353.js.map +0 -1
  233. package/dist/index.es364.js +0 -32
  234. package/dist/index.es364.js.map +0 -1
  235. package/dist/index.es365.js +0 -8
  236. package/dist/index.es365.js.map +0 -1
  237. package/dist/index.es369.js +0 -8
  238. package/dist/index.es369.js.map +0 -1
  239. package/dist/index.es370.js +0 -6
  240. package/dist/index.es370.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.es354.js","sources":["../node_modules/@radix-ui/react-roving-focus/dist/index.mjs"],"sourcesContent":["\"use client\";\n\n// packages/react/roving-focus/src/roving-focus-group.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { createCollection } from \"@radix-ui/react-collection\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useId } from \"@radix-ui/react-id\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { jsx } from \"react/jsx-runtime\";\nvar ENTRY_FOCUS = \"rovingFocusGroup.onEntryFocus\";\nvar EVENT_OPTIONS = { bubbles: false, cancelable: true };\nvar GROUP_NAME = \"RovingFocusGroup\";\nvar [Collection, useCollection, createCollectionScope] = createCollection(GROUP_NAME);\nvar [createRovingFocusGroupContext, createRovingFocusGroupScope] = createContextScope(\n GROUP_NAME,\n [createCollectionScope]\n);\nvar [RovingFocusProvider, useRovingFocusContext] = createRovingFocusGroupContext(GROUP_NAME);\nvar RovingFocusGroup = React.forwardRef(\n (props, forwardedRef) => {\n return /* @__PURE__ */ jsx(Collection.Provider, { scope: props.__scopeRovingFocusGroup, children: /* @__PURE__ */ jsx(Collection.Slot, { scope: props.__scopeRovingFocusGroup, children: /* @__PURE__ */ jsx(RovingFocusGroupImpl, { ...props, ref: forwardedRef }) }) });\n }\n);\nRovingFocusGroup.displayName = GROUP_NAME;\nvar RovingFocusGroupImpl = React.forwardRef((props, forwardedRef) => {\n const {\n __scopeRovingFocusGroup,\n orientation,\n loop = false,\n dir,\n currentTabStopId: currentTabStopIdProp,\n defaultCurrentTabStopId,\n onCurrentTabStopIdChange,\n onEntryFocus,\n preventScrollOnEntryFocus = false,\n ...groupProps\n } = props;\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const direction = useDirection(dir);\n const [currentTabStopId = null, setCurrentTabStopId] = useControllableState({\n prop: currentTabStopIdProp,\n defaultProp: defaultCurrentTabStopId,\n onChange: onCurrentTabStopIdChange\n });\n const [isTabbingBackOut, setIsTabbingBackOut] = React.useState(false);\n const handleEntryFocus = useCallbackRef(onEntryFocus);\n const getItems = useCollection(__scopeRovingFocusGroup);\n const isClickFocusRef = React.useRef(false);\n const [focusableItemsCount, setFocusableItemsCount] = React.useState(0);\n React.useEffect(() => {\n const node = ref.current;\n if (node) {\n node.addEventListener(ENTRY_FOCUS, handleEntryFocus);\n return () => node.removeEventListener(ENTRY_FOCUS, handleEntryFocus);\n }\n }, [handleEntryFocus]);\n return /* @__PURE__ */ jsx(\n RovingFocusProvider,\n {\n scope: __scopeRovingFocusGroup,\n orientation,\n dir: direction,\n loop,\n currentTabStopId,\n onItemFocus: React.useCallback(\n (tabStopId) => setCurrentTabStopId(tabStopId),\n [setCurrentTabStopId]\n ),\n onItemShiftTab: React.useCallback(() => setIsTabbingBackOut(true), []),\n onFocusableItemAdd: React.useCallback(\n () => setFocusableItemsCount((prevCount) => prevCount + 1),\n []\n ),\n onFocusableItemRemove: React.useCallback(\n () => setFocusableItemsCount((prevCount) => prevCount - 1),\n []\n ),\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n tabIndex: isTabbingBackOut || focusableItemsCount === 0 ? -1 : 0,\n \"data-orientation\": orientation,\n ...groupProps,\n ref: composedRefs,\n style: { outline: \"none\", ...props.style },\n onMouseDown: composeEventHandlers(props.onMouseDown, () => {\n isClickFocusRef.current = true;\n }),\n onFocus: composeEventHandlers(props.onFocus, (event) => {\n const isKeyboardFocus = !isClickFocusRef.current;\n if (event.target === event.currentTarget && isKeyboardFocus && !isTabbingBackOut) {\n const entryFocusEvent = new CustomEvent(ENTRY_FOCUS, EVENT_OPTIONS);\n event.currentTarget.dispatchEvent(entryFocusEvent);\n if (!entryFocusEvent.defaultPrevented) {\n const items = getItems().filter((item) => item.focusable);\n const activeItem = items.find((item) => item.active);\n const currentItem = items.find((item) => item.id === currentTabStopId);\n const candidateItems = [activeItem, currentItem, ...items].filter(\n Boolean\n );\n const candidateNodes = candidateItems.map((item) => item.ref.current);\n focusFirst(candidateNodes, preventScrollOnEntryFocus);\n }\n }\n isClickFocusRef.current = false;\n }),\n onBlur: composeEventHandlers(props.onBlur, () => setIsTabbingBackOut(false))\n }\n )\n }\n );\n});\nvar ITEM_NAME = \"RovingFocusGroupItem\";\nvar RovingFocusGroupItem = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeRovingFocusGroup,\n focusable = true,\n active = false,\n tabStopId,\n ...itemProps\n } = props;\n const autoId = useId();\n const id = tabStopId || autoId;\n const context = useRovingFocusContext(ITEM_NAME, __scopeRovingFocusGroup);\n const isCurrentTabStop = context.currentTabStopId === id;\n const getItems = useCollection(__scopeRovingFocusGroup);\n const { onFocusableItemAdd, onFocusableItemRemove } = context;\n React.useEffect(() => {\n if (focusable) {\n onFocusableItemAdd();\n return () => onFocusableItemRemove();\n }\n }, [focusable, onFocusableItemAdd, onFocusableItemRemove]);\n return /* @__PURE__ */ jsx(\n Collection.ItemSlot,\n {\n scope: __scopeRovingFocusGroup,\n id,\n focusable,\n active,\n children: /* @__PURE__ */ jsx(\n Primitive.span,\n {\n tabIndex: isCurrentTabStop ? 0 : -1,\n \"data-orientation\": context.orientation,\n ...itemProps,\n ref: forwardedRef,\n onMouseDown: composeEventHandlers(props.onMouseDown, (event) => {\n if (!focusable) event.preventDefault();\n else context.onItemFocus(id);\n }),\n onFocus: composeEventHandlers(props.onFocus, () => context.onItemFocus(id)),\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n if (event.key === \"Tab\" && event.shiftKey) {\n context.onItemShiftTab();\n return;\n }\n if (event.target !== event.currentTarget) return;\n const focusIntent = getFocusIntent(event, context.orientation, context.dir);\n if (focusIntent !== void 0) {\n if (event.metaKey || event.ctrlKey || event.altKey || event.shiftKey) return;\n event.preventDefault();\n const items = getItems().filter((item) => item.focusable);\n let candidateNodes = items.map((item) => item.ref.current);\n if (focusIntent === \"last\") candidateNodes.reverse();\n else if (focusIntent === \"prev\" || focusIntent === \"next\") {\n if (focusIntent === \"prev\") candidateNodes.reverse();\n const currentIndex = candidateNodes.indexOf(event.currentTarget);\n candidateNodes = context.loop ? wrapArray(candidateNodes, currentIndex + 1) : candidateNodes.slice(currentIndex + 1);\n }\n setTimeout(() => focusFirst(candidateNodes));\n }\n })\n }\n )\n }\n );\n }\n);\nRovingFocusGroupItem.displayName = ITEM_NAME;\nvar MAP_KEY_TO_FOCUS_INTENT = {\n ArrowLeft: \"prev\",\n ArrowUp: \"prev\",\n ArrowRight: \"next\",\n ArrowDown: \"next\",\n PageUp: \"first\",\n Home: \"first\",\n PageDown: \"last\",\n End: \"last\"\n};\nfunction getDirectionAwareKey(key, dir) {\n if (dir !== \"rtl\") return key;\n return key === \"ArrowLeft\" ? \"ArrowRight\" : key === \"ArrowRight\" ? \"ArrowLeft\" : key;\n}\nfunction getFocusIntent(event, orientation, dir) {\n const key = getDirectionAwareKey(event.key, dir);\n if (orientation === \"vertical\" && [\"ArrowLeft\", \"ArrowRight\"].includes(key)) return void 0;\n if (orientation === \"horizontal\" && [\"ArrowUp\", \"ArrowDown\"].includes(key)) return void 0;\n return MAP_KEY_TO_FOCUS_INTENT[key];\n}\nfunction focusFirst(candidates, preventScroll = false) {\n const PREVIOUSLY_FOCUSED_ELEMENT = document.activeElement;\n for (const candidate of candidates) {\n if (candidate === PREVIOUSLY_FOCUSED_ELEMENT) return;\n candidate.focus({ preventScroll });\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}\nvar Root = RovingFocusGroup;\nvar Item = RovingFocusGroupItem;\nexport {\n Item,\n Root,\n RovingFocusGroup,\n RovingFocusGroupItem,\n createRovingFocusGroupScope\n};\n//# sourceMappingURL=index.mjs.map\n"],"names":["ENTRY_FOCUS","EVENT_OPTIONS","GROUP_NAME","Collection","useCollection","createCollectionScope","createCollection","createRovingFocusGroupContext","createRovingFocusGroupScope","createContextScope","RovingFocusProvider","useRovingFocusContext","RovingFocusGroup","React","props","forwardedRef","jsx","RovingFocusGroupImpl","__scopeRovingFocusGroup","orientation","loop","dir","currentTabStopIdProp","defaultCurrentTabStopId","onCurrentTabStopIdChange","onEntryFocus","preventScrollOnEntryFocus","groupProps","ref","composedRefs","useComposedRefs","direction","useDirection","currentTabStopId","setCurrentTabStopId","useControllableState","isTabbingBackOut","setIsTabbingBackOut","handleEntryFocus","useCallbackRef","getItems","isClickFocusRef","focusableItemsCount","setFocusableItemsCount","node","tabStopId","prevCount","Primitive","composeEventHandlers","event","isKeyboardFocus","entryFocusEvent","items","item","activeItem","currentItem","candidateNodes","focusFirst","ITEM_NAME","RovingFocusGroupItem","focusable","active","itemProps","autoId","useId","id","context","isCurrentTabStop","onFocusableItemAdd","onFocusableItemRemove","focusIntent","getFocusIntent","currentIndex","wrapArray","MAP_KEY_TO_FOCUS_INTENT","getDirectionAwareKey","key","candidates","preventScroll","PREVIOUSLY_FOCUSED_ELEMENT","candidate","array","startIndex","_","index","Root","Item"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index.es354.js","sources":["../node_modules/@radix-ui/react-menu/dist/index.mjs"],"sourcesContent":["\"use client\";\n\n// packages/react/menu/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 xi = polygon[i].x;\n const yi = polygon[i].y;\n const xj = polygon[j].x;\n const yj = polygon[j].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","isPointInPolygon","point","polygon","x","y","inside","i","j","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,53 +1,7 @@
1
- var S = function(r) {
2
- if (typeof document > "u")
3
- return null;
4
- var u = Array.isArray(r) ? r[0] : r;
5
- return u.ownerDocument.body;
6
- }, f = /* @__PURE__ */ new WeakMap(), v = /* @__PURE__ */ new WeakMap(), p = {}, h = 0, W = function(r) {
7
- return r && (r.host || W(r.parentNode));
8
- }, D = function(r, u) {
9
- return u.map(function(e) {
10
- if (r.contains(e))
11
- return e;
12
- var n = W(e);
13
- return n && r.contains(n) ? n : (console.error("aria-hidden", e, "in not contained inside", r, ". Doing nothing"), null);
14
- }).filter(function(e) {
15
- return !!e;
16
- });
17
- }, E = function(r, u, e, n) {
18
- var i = D(u, Array.isArray(r) ? r : [r]);
19
- p[e] || (p[e] = /* @__PURE__ */ new WeakMap());
20
- var o = p[e], l = [], s = /* @__PURE__ */ new Set(), b = new Set(i), y = function(t) {
21
- !t || s.has(t) || (s.add(t), y(t.parentNode));
22
- };
23
- i.forEach(y);
24
- var A = function(t) {
25
- !t || b.has(t) || Array.prototype.forEach.call(t.children, function(a) {
26
- if (s.has(a))
27
- A(a);
28
- else
29
- try {
30
- var c = a.getAttribute(n), w = c !== null && c !== "false", d = (f.get(a) || 0) + 1, M = (o.get(a) || 0) + 1;
31
- f.set(a, d), o.set(a, M), l.push(a), d === 1 && w && v.set(a, !0), M === 1 && a.setAttribute(e, "true"), w || a.setAttribute(n, "true");
32
- } catch (k) {
33
- console.error("aria-hidden: cannot operate on ", a, k);
34
- }
35
- });
36
- };
37
- return A(u), s.clear(), h++, function() {
38
- l.forEach(function(t) {
39
- var a = f.get(t) - 1, c = o.get(t) - 1;
40
- f.set(t, a), o.set(t, c), a || (v.has(t) || t.removeAttribute(n), v.delete(t)), c || t.removeAttribute(e);
41
- }), h--, h || (f = /* @__PURE__ */ new WeakMap(), f = /* @__PURE__ */ new WeakMap(), v = /* @__PURE__ */ new WeakMap(), p = {});
42
- };
43
- }, C = function(r, u, e) {
44
- e === void 0 && (e = "data-aria-hidden");
45
- var n = Array.from(Array.isArray(r) ? r : [r]), i = S(r);
46
- return i ? (n.push.apply(n, Array.from(i.querySelectorAll("[aria-live]"))), E(n, i, e, "aria-hidden")) : function() {
47
- return null;
48
- };
1
+ import * as t from "react";
2
+ var e = globalThis != null && globalThis.document ? t.useLayoutEffect : () => {
49
3
  };
50
4
  export {
51
- C as hideOthers
5
+ e as useLayoutEffect
52
6
  };
53
7
  //# sourceMappingURL=index.es355.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es355.js","sources":["../node_modules/aria-hidden/dist/es2015/index.js"],"sourcesContent":["var getDefaultParent = function (originalTarget) {\n if (typeof document === 'undefined') {\n return null;\n }\n var sampleTarget = Array.isArray(originalTarget) ? originalTarget[0] : originalTarget;\n return sampleTarget.ownerDocument.body;\n};\nvar counterMap = new WeakMap();\nvar uncontrolledNodes = new WeakMap();\nvar markerMap = {};\nvar lockCount = 0;\nvar unwrapHost = function (node) {\n return node && (node.host || unwrapHost(node.parentNode));\n};\nvar correctTargets = function (parent, targets) {\n return targets\n .map(function (target) {\n if (parent.contains(target)) {\n return target;\n }\n var correctedTarget = unwrapHost(target);\n if (correctedTarget && parent.contains(correctedTarget)) {\n return correctedTarget;\n }\n console.error('aria-hidden', target, 'in not contained inside', parent, '. Doing nothing');\n return null;\n })\n .filter(function (x) { return Boolean(x); });\n};\n/**\n * Marks everything except given node(or nodes) as aria-hidden\n * @param {Element | Element[]} originalTarget - elements to keep on the page\n * @param [parentNode] - top element, defaults to document.body\n * @param {String} [markerName] - a special attribute to mark every node\n * @param {String} [controlAttribute] - html Attribute to control\n * @return {Undo} undo command\n */\nvar applyAttributeToOthers = function (originalTarget, parentNode, markerName, controlAttribute) {\n var targets = correctTargets(parentNode, Array.isArray(originalTarget) ? originalTarget : [originalTarget]);\n if (!markerMap[markerName]) {\n markerMap[markerName] = new WeakMap();\n }\n var markerCounter = markerMap[markerName];\n var hiddenNodes = [];\n var elementsToKeep = new Set();\n var elementsToStop = new Set(targets);\n var keep = function (el) {\n if (!el || elementsToKeep.has(el)) {\n return;\n }\n elementsToKeep.add(el);\n keep(el.parentNode);\n };\n targets.forEach(keep);\n var deep = function (parent) {\n if (!parent || elementsToStop.has(parent)) {\n return;\n }\n Array.prototype.forEach.call(parent.children, function (node) {\n if (elementsToKeep.has(node)) {\n deep(node);\n }\n else {\n try {\n var attr = node.getAttribute(controlAttribute);\n var alreadyHidden = attr !== null && attr !== 'false';\n var counterValue = (counterMap.get(node) || 0) + 1;\n var markerValue = (markerCounter.get(node) || 0) + 1;\n counterMap.set(node, counterValue);\n markerCounter.set(node, markerValue);\n hiddenNodes.push(node);\n if (counterValue === 1 && alreadyHidden) {\n uncontrolledNodes.set(node, true);\n }\n if (markerValue === 1) {\n node.setAttribute(markerName, 'true');\n }\n if (!alreadyHidden) {\n node.setAttribute(controlAttribute, 'true');\n }\n }\n catch (e) {\n console.error('aria-hidden: cannot operate on ', node, e);\n }\n }\n });\n };\n deep(parentNode);\n elementsToKeep.clear();\n lockCount++;\n return function () {\n hiddenNodes.forEach(function (node) {\n var counterValue = counterMap.get(node) - 1;\n var markerValue = markerCounter.get(node) - 1;\n counterMap.set(node, counterValue);\n markerCounter.set(node, markerValue);\n if (!counterValue) {\n if (!uncontrolledNodes.has(node)) {\n node.removeAttribute(controlAttribute);\n }\n uncontrolledNodes.delete(node);\n }\n if (!markerValue) {\n node.removeAttribute(markerName);\n }\n });\n lockCount--;\n if (!lockCount) {\n // clear\n counterMap = new WeakMap();\n counterMap = new WeakMap();\n uncontrolledNodes = new WeakMap();\n markerMap = {};\n }\n };\n};\n/**\n * Marks everything except given node(or nodes) as aria-hidden\n * @param {Element | Element[]} originalTarget - elements to keep on the page\n * @param [parentNode] - top element, defaults to document.body\n * @param {String} [markerName] - a special attribute to mark every node\n * @return {Undo} undo command\n */\nexport var hideOthers = function (originalTarget, parentNode, markerName) {\n if (markerName === void 0) { markerName = 'data-aria-hidden'; }\n var targets = Array.from(Array.isArray(originalTarget) ? originalTarget : [originalTarget]);\n var activeParentNode = parentNode || getDefaultParent(originalTarget);\n if (!activeParentNode) {\n return function () { return null; };\n }\n // we should not hide ariaLive elements - https://github.com/theKashey/aria-hidden/issues/10\n targets.push.apply(targets, Array.from(activeParentNode.querySelectorAll('[aria-live]')));\n return applyAttributeToOthers(targets, activeParentNode, markerName, 'aria-hidden');\n};\n/**\n * Marks everything except given node(or nodes) as inert\n * @param {Element | Element[]} originalTarget - elements to keep on the page\n * @param [parentNode] - top element, defaults to document.body\n * @param {String} [markerName] - a special attribute to mark every node\n * @return {Undo} undo command\n */\nexport var inertOthers = function (originalTarget, parentNode, markerName) {\n if (markerName === void 0) { markerName = 'data-inert-ed'; }\n var activeParentNode = parentNode || getDefaultParent(originalTarget);\n if (!activeParentNode) {\n return function () { return null; };\n }\n return applyAttributeToOthers(originalTarget, activeParentNode, markerName, 'inert');\n};\n/**\n * @returns if current browser supports inert\n */\nexport var supportsInert = function () {\n return typeof HTMLElement !== 'undefined' && HTMLElement.prototype.hasOwnProperty('inert');\n};\n/**\n * Automatic function to \"suppress\" DOM elements - _hide_ or _inert_ in the best possible way\n * @param {Element | Element[]} originalTarget - elements to keep on the page\n * @param [parentNode] - top element, defaults to document.body\n * @param {String} [markerName] - a special attribute to mark every node\n * @return {Undo} undo command\n */\nexport var suppressOthers = function (originalTarget, parentNode, markerName) {\n if (markerName === void 0) { markerName = 'data-suppressed'; }\n return (supportsInert() ? inertOthers : hideOthers)(originalTarget, parentNode, markerName);\n};\n"],"names":["getDefaultParent","originalTarget","sampleTarget","counterMap","uncontrolledNodes","markerMap","lockCount","unwrapHost","node","correctTargets","parent","targets","target","correctedTarget","x","applyAttributeToOthers","parentNode","markerName","controlAttribute","markerCounter","hiddenNodes","elementsToKeep","elementsToStop","keep","el","deep","attr","alreadyHidden","counterValue","markerValue","e","hideOthers","activeParentNode"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index.es355.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,12 +1,14 @@
1
- import { __assign as m } from "./index.es363.js";
2
1
  import * as r from "react";
3
- import { RemoveScroll as e } from "./index.es364.js";
4
- import t from "./index.es365.js";
5
- var s = r.forwardRef(function(a, o) {
6
- return r.createElement(e, m({}, a, { ref: o, sideCar: t }));
7
- });
8
- s.classNames = e.classNames;
2
+ function o(t) {
3
+ const e = r.useRef(t);
4
+ return r.useEffect(() => {
5
+ e.current = t;
6
+ }), r.useMemo(() => (...n) => {
7
+ var u;
8
+ return (u = e.current) == null ? void 0 : u.call(e, ...n);
9
+ }, []);
10
+ }
9
11
  export {
10
- s as default
12
+ o as useCallbackRef
11
13
  };
12
14
  //# sourceMappingURL=index.es356.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es356.js","sources":["../node_modules/react-remove-scroll/dist/es2015/Combination.js"],"sourcesContent":["import { __assign } from \"tslib\";\nimport * as React from 'react';\nimport { RemoveScroll } from './UI';\nimport SideCar from './sidecar';\nvar ReactRemoveScroll = React.forwardRef(function (props, ref) { return (React.createElement(RemoveScroll, __assign({}, props, { ref: ref, sideCar: SideCar }))); });\nReactRemoveScroll.classNames = RemoveScroll.classNames;\nexport default ReactRemoveScroll;\n"],"names":["ReactRemoveScroll","React","props","ref","RemoveScroll","__assign","SideCar"],"mappings":";;;;AAIG,IAACA,IAAoBC,EAAM,WAAW,SAAUC,GAAOC,GAAK;AAAE,SAAQF,EAAM,cAAcG,GAAcC,EAAS,CAAE,GAAEH,GAAO,EAAE,KAAKC,GAAK,SAASG,GAAS,CAAC;AAAK,CAAA;AACnKN,EAAkB,aAAaI,EAAa;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index.es356.js","sources":["../node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs"],"sourcesContent":["// packages/react/use-callback-ref/src/use-callback-ref.tsx\nimport * as React from \"react\";\nfunction useCallbackRef(callback) {\n const callbackRef = React.useRef(callback);\n React.useEffect(() => {\n callbackRef.current = callback;\n });\n return React.useMemo(() => (...args) => callbackRef.current?.(...args), []);\n}\nexport {\n useCallbackRef\n};\n//# sourceMappingURL=index.mjs.map\n"],"names":["useCallbackRef","callback","callbackRef","React","args","_a"],"mappings":";AAEA,SAASA,EAAeC,GAAU;AAChC,QAAMC,IAAcC,EAAM,OAAOF,CAAQ;AACzC,SAAAE,EAAM,UAAU,MAAM;AACpB,IAAAD,EAAY,UAAUD;AAAA,EAC1B,CAAG,GACME,EAAM,QAAQ,MAAM,IAAIC;;AAAS,YAAAC,IAAAH,EAAY,YAAZ,gBAAAG,EAAA,KAAAH,GAAsB,GAAGE;AAAA,KAAO,EAAE;AAC5E;","x_google_ignoreList":[0]}
@@ -1,7 +1,15 @@
1
- import * as t from "react";
2
- var e = globalThis != null && globalThis.document ? t.useLayoutEffect : () => {
3
- };
1
+ import * as r from "react";
2
+ import { useCallbackRef as s } from "./index.es356.js";
3
+ function p(n, e = globalThis == null ? void 0 : globalThis.document) {
4
+ const t = s(n);
5
+ r.useEffect(() => {
6
+ const o = (a) => {
7
+ a.key === "Escape" && t(a);
8
+ };
9
+ return e.addEventListener("keydown", o, { capture: !0 }), () => e.removeEventListener("keydown", o, { capture: !0 });
10
+ }, [t, e]);
11
+ }
4
12
  export {
5
- e as useLayoutEffect
13
+ p as useEscapeKeydown
6
14
  };
7
15
  //# sourceMappingURL=index.es357.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es357.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.es357.js","sources":["../node_modules/@radix-ui/react-use-escape-keydown/dist/index.mjs"],"sourcesContent":["// packages/react/use-escape-keydown/src/use-escape-keydown.tsx\nimport * as React from \"react\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nfunction useEscapeKeydown(onEscapeKeyDownProp, ownerDocument = globalThis?.document) {\n const onEscapeKeyDown = useCallbackRef(onEscapeKeyDownProp);\n React.useEffect(() => {\n const handleKeyDown = (event) => {\n if (event.key === \"Escape\") {\n onEscapeKeyDown(event);\n }\n };\n ownerDocument.addEventListener(\"keydown\", handleKeyDown, { capture: true });\n return () => ownerDocument.removeEventListener(\"keydown\", handleKeyDown, { capture: true });\n }, [onEscapeKeyDown, ownerDocument]);\n}\nexport {\n useEscapeKeydown\n};\n//# sourceMappingURL=index.mjs.map\n"],"names":["useEscapeKeydown","onEscapeKeyDownProp","ownerDocument","onEscapeKeyDown","useCallbackRef","React","handleKeyDown","event"],"mappings":";;AAGA,SAASA,EAAiBC,GAAqBC,IAAgB,yCAAY,UAAU;AACnF,QAAMC,IAAkBC,EAAeH,CAAmB;AAC1D,EAAAI,EAAM,UAAU,MAAM;AACpB,UAAMC,IAAgB,CAACC,MAAU;AAC/B,MAAIA,EAAM,QAAQ,YAChBJ,EAAgBI,CAAK;AAAA,IAExB;AACD,WAAAL,EAAc,iBAAiB,WAAWI,GAAe,EAAE,SAAS,IAAM,GACnE,MAAMJ,EAAc,oBAAoB,WAAWI,GAAe,EAAE,SAAS,IAAM;AAAA,EAC9F,GAAK,CAACH,GAAiBD,CAAa,CAAC;AACrC;","x_google_ignoreList":[0]}
@@ -1,15 +1,9 @@
1
- import * as r from "react";
2
- import { useCallbackRef as s } from "./index.es344.js";
3
- function p(n, e = globalThis == null ? void 0 : globalThis.document) {
4
- const t = s(n);
5
- r.useEffect(() => {
6
- const o = (a) => {
7
- a.key === "Escape" && t(a);
8
- };
9
- return e.addEventListener("keydown", o, { capture: !0 }), () => e.removeEventListener("keydown", o, { capture: !0 });
10
- }, [t, e]);
1
+ import * as u from "react";
2
+ function t(r) {
3
+ const e = u.useRef({ value: r, previous: r });
4
+ return u.useMemo(() => (e.current.value !== r && (e.current.previous = e.current.value, e.current.value = r), e.current.previous), [r]);
11
5
  }
12
6
  export {
13
- p as useEscapeKeydown
7
+ t as usePrevious
14
8
  };
15
9
  //# sourceMappingURL=index.es358.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es358.js","sources":["../node_modules/@radix-ui/react-use-escape-keydown/dist/index.mjs"],"sourcesContent":["// packages/react/use-escape-keydown/src/use-escape-keydown.tsx\nimport * as React from \"react\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nfunction useEscapeKeydown(onEscapeKeyDownProp, ownerDocument = globalThis?.document) {\n const onEscapeKeyDown = useCallbackRef(onEscapeKeyDownProp);\n React.useEffect(() => {\n const handleKeyDown = (event) => {\n if (event.key === \"Escape\") {\n onEscapeKeyDown(event);\n }\n };\n ownerDocument.addEventListener(\"keydown\", handleKeyDown, { capture: true });\n return () => ownerDocument.removeEventListener(\"keydown\", handleKeyDown, { capture: true });\n }, [onEscapeKeyDown, ownerDocument]);\n}\nexport {\n useEscapeKeydown\n};\n//# sourceMappingURL=index.mjs.map\n"],"names":["useEscapeKeydown","onEscapeKeyDownProp","ownerDocument","onEscapeKeyDown","useCallbackRef","React","handleKeyDown","event"],"mappings":";;AAGA,SAASA,EAAiBC,GAAqBC,IAAgB,yCAAY,UAAU;AACnF,QAAMC,IAAkBC,EAAeH,CAAmB;AAC1D,EAAAI,EAAM,UAAU,MAAM;AACpB,UAAMC,IAAgB,CAACC,MAAU;AAC/B,MAAIA,EAAM,QAAQ,YAChBJ,EAAgBI,CAAK;AAAA,IAExB;AACD,WAAAL,EAAc,iBAAiB,WAAWI,GAAe,EAAE,SAAS,IAAM,GACnE,MAAMJ,EAAc,oBAAoB,WAAWI,GAAe,EAAE,SAAS,IAAM;AAAA,EAC9F,GAAK,CAACH,GAAiBD,CAAa,CAAC;AACrC;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index.es358.js","sources":["../node_modules/@radix-ui/react-use-previous/dist/index.mjs"],"sourcesContent":["// packages/react/use-previous/src/use-previous.tsx\nimport * as React from \"react\";\nfunction usePrevious(value) {\n const ref = React.useRef({ value, previous: value });\n return React.useMemo(() => {\n if (ref.current.value !== value) {\n ref.current.previous = ref.current.value;\n ref.current.value = value;\n }\n return ref.current.previous;\n }, [value]);\n}\nexport {\n usePrevious\n};\n//# sourceMappingURL=index.mjs.map\n"],"names":["usePrevious","value","ref","React"],"mappings":";AAEA,SAASA,EAAYC,GAAO;AAC1B,QAAMC,IAAMC,EAAM,OAAO,EAAE,OAAAF,GAAO,UAAUA,GAAO;AACnD,SAAOE,EAAM,QAAQ,OACfD,EAAI,QAAQ,UAAUD,MACxBC,EAAI,QAAQ,WAAWA,EAAI,QAAQ,OACnCA,EAAI,QAAQ,QAAQD,IAEfC,EAAI,QAAQ,WAClB,CAACD,CAAK,CAAC;AACZ;","x_google_ignoreList":[0]}
@@ -1,208 +1,28 @@
1
- import { computePosition as I, offset as J, shift as K, flip as N, size as Q, hide as T, limitShift as X, arrow as L } from "./index.es362.js";
2
- import { autoUpdate as me, platform as pe } from "./index.es362.js";
3
- import * as f from "react";
4
- import { useLayoutEffect as Y, useEffect as Z } from "react";
5
- import * as b from "react-dom";
6
- var w = typeof document < "u" ? Y : Z;
7
- function R(e, t) {
8
- if (e === t)
9
- return !0;
10
- if (typeof e != typeof t)
11
- return !1;
12
- if (typeof e == "function" && e.toString() === t.toString())
13
- return !0;
14
- let n, r, s;
15
- if (e && t && typeof e == "object") {
16
- if (Array.isArray(e)) {
17
- if (n = e.length, n !== t.length) return !1;
18
- for (r = n; r-- !== 0; )
19
- if (!R(e[r], t[r]))
20
- return !1;
21
- return !0;
22
- }
23
- if (s = Object.keys(e), n = s.length, n !== Object.keys(t).length)
24
- return !1;
25
- for (r = n; r-- !== 0; )
26
- if (!{}.hasOwnProperty.call(t, s[r]))
27
- return !1;
28
- for (r = n; r-- !== 0; ) {
29
- const p = s[r];
30
- if (!(p === "_owner" && e.$$typeof) && !R(e[p], t[p]))
31
- return !1;
32
- }
33
- return !0;
34
- }
35
- return e !== e && t !== t;
1
+ import * as h from "react";
2
+ import { useLayoutEffect as z } from "./index.es355.js";
3
+ function c(r) {
4
+ const [d, e] = h.useState(void 0);
5
+ return z(() => {
6
+ if (r) {
7
+ e({ width: r.offsetWidth, height: r.offsetHeight });
8
+ const f = new ResizeObserver((i) => {
9
+ if (!Array.isArray(i) || !i.length)
10
+ return;
11
+ const b = i[0];
12
+ let o, t;
13
+ if ("borderBoxSize" in b) {
14
+ const s = b.borderBoxSize, u = Array.isArray(s) ? s[0] : s;
15
+ o = u.inlineSize, t = u.blockSize;
16
+ } else
17
+ o = r.offsetWidth, t = r.offsetHeight;
18
+ e({ width: o, height: t });
19
+ });
20
+ return f.observe(r, { box: "border-box" }), () => f.unobserve(r);
21
+ } else
22
+ e(void 0);
23
+ }, [r]), d;
36
24
  }
37
- function A(e) {
38
- return typeof window > "u" ? 1 : (e.ownerDocument.defaultView || window).devicePixelRatio || 1;
39
- }
40
- function v(e, t) {
41
- const n = A(e);
42
- return Math.round(t * n) / n;
43
- }
44
- function E(e) {
45
- const t = f.useRef(e);
46
- return w(() => {
47
- t.current = e;
48
- }), t;
49
- }
50
- function re(e) {
51
- e === void 0 && (e = {});
52
- const {
53
- placement: t = "bottom",
54
- strategy: n = "absolute",
55
- middleware: r = [],
56
- platform: s,
57
- elements: {
58
- reference: p,
59
- floating: q
60
- } = {},
61
- transform: k = !0,
62
- whileElementsMounted: D,
63
- open: x
64
- } = e, [i, O] = f.useState({
65
- x: 0,
66
- y: 0,
67
- strategy: n,
68
- placement: t,
69
- middlewareData: {},
70
- isPositioned: !1
71
- }), [M, B] = f.useState(r);
72
- R(M, r) || B(r);
73
- const [U, V] = f.useState(null), [W, G] = f.useState(null), _ = f.useCallback((o) => {
74
- o !== a.current && (a.current = o, V(o));
75
- }, []), C = f.useCallback((o) => {
76
- o !== d.current && (d.current = o, G(o));
77
- }, []), u = p || U, l = q || W, a = f.useRef(null), d = f.useRef(null), y = f.useRef(i), H = D != null, S = E(D), P = E(s), F = E(x), g = f.useCallback(() => {
78
- if (!a.current || !d.current)
79
- return;
80
- const o = {
81
- placement: t,
82
- strategy: n,
83
- middleware: M
84
- };
85
- P.current && (o.platform = P.current), I(a.current, d.current, o).then((h) => {
86
- const m = {
87
- ...h,
88
- // The floating element's position may be recomputed while it's closed
89
- // but still mounted (such as when transitioning out). To ensure
90
- // `isPositioned` will be `false` initially on the next open, avoid
91
- // setting it to `true` when `open === false` (must be specified).
92
- isPositioned: F.current !== !1
93
- };
94
- $.current && !R(y.current, m) && (y.current = m, b.flushSync(() => {
95
- O(m);
96
- }));
97
- });
98
- }, [M, t, n, P, F]);
99
- w(() => {
100
- x === !1 && y.current.isPositioned && (y.current.isPositioned = !1, O((o) => ({
101
- ...o,
102
- isPositioned: !1
103
- })));
104
- }, [x]);
105
- const $ = f.useRef(!1);
106
- w(() => ($.current = !0, () => {
107
- $.current = !1;
108
- }), []), w(() => {
109
- if (u && (a.current = u), l && (d.current = l), u && l) {
110
- if (S.current)
111
- return S.current(u, l, g);
112
- g();
113
- }
114
- }, [u, l, g, S, H]);
115
- const j = f.useMemo(() => ({
116
- reference: a,
117
- floating: d,
118
- setReference: _,
119
- setFloating: C
120
- }), [_, C]), c = f.useMemo(() => ({
121
- reference: u,
122
- floating: l
123
- }), [u, l]), z = f.useMemo(() => {
124
- const o = {
125
- position: n,
126
- left: 0,
127
- top: 0
128
- };
129
- if (!c.floating)
130
- return o;
131
- const h = v(c.floating, i.x), m = v(c.floating, i.y);
132
- return k ? {
133
- ...o,
134
- transform: "translate(" + h + "px, " + m + "px)",
135
- ...A(c.floating) >= 1.5 && {
136
- willChange: "transform"
137
- }
138
- } : {
139
- position: n,
140
- left: h,
141
- top: m
142
- };
143
- }, [n, k, c.floating, i.x, i.y]);
144
- return f.useMemo(() => ({
145
- ...i,
146
- update: g,
147
- refs: j,
148
- elements: c,
149
- floatingStyles: z
150
- }), [i, g, j, c, z]);
151
- }
152
- const ee = (e) => {
153
- function t(n) {
154
- return {}.hasOwnProperty.call(n, "current");
155
- }
156
- return {
157
- name: "arrow",
158
- options: e,
159
- fn(n) {
160
- const {
161
- element: r,
162
- padding: s
163
- } = typeof e == "function" ? e(n) : e;
164
- return r && t(r) ? r.current != null ? L({
165
- element: r.current,
166
- padding: s
167
- }).fn(n) : {} : r ? L({
168
- element: r,
169
- padding: s
170
- }).fn(n) : {};
171
- }
172
- };
173
- }, fe = (e, t) => ({
174
- ...J(e),
175
- options: [e, t]
176
- }), oe = (e, t) => ({
177
- ...K(e),
178
- options: [e, t]
179
- }), se = (e, t) => ({
180
- ...X(e),
181
- options: [e, t]
182
- }), ie = (e, t) => ({
183
- ...N(e),
184
- options: [e, t]
185
- }), ue = (e, t) => ({
186
- ...Q(e),
187
- options: [e, t]
188
- }), le = (e, t) => ({
189
- ...T(e),
190
- options: [e, t]
191
- }), ce = (e, t) => ({
192
- ...ee(e),
193
- options: [e, t]
194
- });
195
25
  export {
196
- ce as arrow,
197
- me as autoUpdate,
198
- I as computePosition,
199
- ie as flip,
200
- le as hide,
201
- se as limitShift,
202
- fe as offset,
203
- pe as platform,
204
- oe as shift,
205
- ue as size,
206
- re as useFloating
26
+ c as useSize
207
27
  };
208
28
  //# sourceMappingURL=index.es359.js.map