ivt 0.2.4 → 0.2.6

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 (186) hide show
  1. package/dist/accordion/index.mjs +1 -1
  2. package/dist/alert/index.mjs +1 -1
  3. package/dist/alert-dialog/index.mjs +1 -1
  4. package/dist/alert-dialog/index.mjs.map +1 -1
  5. package/dist/avatar/index.mjs +1 -1
  6. package/dist/avatar/index.mjs.map +1 -1
  7. package/dist/badge/index.mjs +1 -1
  8. package/dist/base/index.d.ts +31 -2
  9. package/dist/base/index.mjs +1 -1
  10. package/dist/base/index.mjs.map +1 -1
  11. package/dist/button/index.mjs +1 -1
  12. package/dist/calendar/index.d.ts +10 -9
  13. package/dist/calendar/index.mjs +1 -1
  14. package/dist/card/index.mjs +1 -1
  15. package/dist/checkbox/index.mjs +1 -1
  16. package/dist/checkbox/index.mjs.map +1 -1
  17. package/dist/chunks/accordion-0MI-Gnhr.mjs +2 -0
  18. package/dist/chunks/{accordion-DxayPBXZ.mjs.map → accordion-0MI-Gnhr.mjs.map} +1 -1
  19. package/dist/chunks/{badge-BIhNGnoC.mjs → badge-CORNh0AZ.mjs} +2 -2
  20. package/dist/chunks/{badge-BIhNGnoC.mjs.map → badge-CORNh0AZ.mjs.map} +1 -1
  21. package/dist/chunks/{bundle-mjs-BPxOXzif.mjs → bundle-mjs-D9tdROnD.mjs} +1 -1
  22. package/dist/chunks/{bundle-mjs-BPxOXzif.mjs.map → bundle-mjs-D9tdROnD.mjs.map} +1 -1
  23. package/dist/chunks/{button-kxm0Lckx.mjs → button-C-N34JAH.mjs} +2 -2
  24. package/dist/chunks/{button-kxm0Lckx.mjs.map → button-C-N34JAH.mjs.map} +1 -1
  25. package/dist/chunks/calendar--a2-dYhD.mjs +2 -0
  26. package/dist/chunks/{calendar-CBJ49e3M.mjs.map → calendar--a2-dYhD.mjs.map} +1 -1
  27. package/dist/chunks/check-C1kmNajw.mjs +2 -0
  28. package/dist/chunks/{check-DlWKp3dT.mjs.map → check-C1kmNajw.mjs.map} +1 -1
  29. package/dist/chunks/chevron-down-V04oa9sD.mjs +2 -0
  30. package/dist/chunks/{chevron-down-CWUqY12V.mjs.map → chevron-down-V04oa9sD.mjs.map} +1 -1
  31. package/dist/chunks/chevron-left-B3kOPqDD.mjs +2 -0
  32. package/dist/chunks/{chevron-left-CJfbOy3n.mjs.map → chevron-left-B3kOPqDD.mjs.map} +1 -1
  33. package/dist/chunks/chevron-right-PpLc5ALc.mjs +2 -0
  34. package/dist/chunks/{chevron-right-CepU0QYJ.mjs.map → chevron-right-PpLc5ALc.mjs.map} +1 -1
  35. package/dist/chunks/circle-U4u29qXG.mjs +2 -0
  36. package/dist/chunks/circle-U4u29qXG.mjs.map +1 -0
  37. package/dist/chunks/command-C7dK8ZE6.mjs +2 -0
  38. package/dist/chunks/{command-DYCg8FQm.mjs.map → command-C7dK8ZE6.mjs.map} +1 -1
  39. package/dist/chunks/{createLucideIcon-Okp8w8Ue.mjs → createLucideIcon-CXSR1bEP.mjs} +1 -1
  40. package/dist/chunks/{createLucideIcon-Okp8w8Ue.mjs.map → createLucideIcon-CXSR1bEP.mjs.map} +1 -1
  41. package/dist/chunks/{dialog-DTcjPj46.mjs → dialog-CJ5QhsSB.mjs} +2 -2
  42. package/dist/chunks/{dialog-DTcjPj46.mjs.map → dialog-CJ5QhsSB.mjs.map} +1 -1
  43. package/dist/chunks/hover-card-Bok4BVC-.mjs +2 -0
  44. package/dist/chunks/{hover-card-T6QvJZH3.mjs.map → hover-card-Bok4BVC-.mjs.map} +1 -1
  45. package/dist/chunks/{index-BqVtEtRQ.mjs → index-BJZ14-gh.mjs} +1 -1
  46. package/dist/chunks/{index-BqVtEtRQ.mjs.map → index-BJZ14-gh.mjs.map} +1 -1
  47. package/dist/chunks/index-BMe6PFsX.mjs +2 -0
  48. package/dist/chunks/index-BMe6PFsX.mjs.map +1 -0
  49. package/dist/chunks/{index-DUhfpjqn.mjs → index-BNzQ3c3A.mjs} +2 -2
  50. package/dist/chunks/{index-DUhfpjqn.mjs.map → index-BNzQ3c3A.mjs.map} +1 -1
  51. package/dist/chunks/{index-Cy8Nz9EO.mjs → index-BO-2wsZH.mjs} +1 -1
  52. package/dist/chunks/{index-Cy8Nz9EO.mjs.map → index-BO-2wsZH.mjs.map} +1 -1
  53. package/dist/chunks/{index-BsSBJ3PL.mjs → index-BVACT7xe.mjs} +2 -2
  54. package/dist/chunks/{index-BsSBJ3PL.mjs.map → index-BVACT7xe.mjs.map} +1 -1
  55. package/dist/chunks/{index-BEptPvC9.mjs → index-BzvNkDmM.mjs} +1 -1
  56. package/dist/chunks/{index-BEptPvC9.mjs.map → index-BzvNkDmM.mjs.map} +1 -1
  57. package/dist/chunks/{index-jhOC7m1Z.mjs → index-C20HgOT7.mjs} +2 -2
  58. package/dist/chunks/{index-jhOC7m1Z.mjs.map → index-C20HgOT7.mjs.map} +1 -1
  59. package/dist/chunks/index-C3QHFNp7.mjs +2 -0
  60. package/dist/chunks/index-C3QHFNp7.mjs.map +1 -0
  61. package/dist/chunks/index-CO0WWuYX.mjs +2 -0
  62. package/dist/chunks/index-CO0WWuYX.mjs.map +1 -0
  63. package/dist/chunks/{index-g796WVS-.mjs → index-CZMSgrEB.mjs} +1 -1
  64. package/dist/chunks/{index-g796WVS-.mjs.map → index-CZMSgrEB.mjs.map} +1 -1
  65. package/dist/chunks/index-D532f2iM.mjs +2 -0
  66. package/dist/chunks/index-D532f2iM.mjs.map +1 -0
  67. package/dist/chunks/{index-Di_4GEUt.mjs → index-D5ESKExj.mjs} +2 -2
  68. package/dist/chunks/{index-Di_4GEUt.mjs.map → index-D5ESKExj.mjs.map} +1 -1
  69. package/dist/chunks/index-DCzuZZz4.mjs +2 -0
  70. package/dist/chunks/index-DCzuZZz4.mjs.map +1 -0
  71. package/dist/chunks/index-DOiEGiat.mjs +2 -0
  72. package/dist/chunks/{index-Bmfh-9vj.mjs.map → index-DOiEGiat.mjs.map} +1 -1
  73. package/dist/chunks/{index-C-gmRzgE.mjs → index-DtAARIfz.mjs} +1 -1
  74. package/dist/chunks/{index-C-gmRzgE.mjs.map → index-DtAARIfz.mjs.map} +1 -1
  75. package/dist/chunks/index-L0FTCOiH.mjs +2 -0
  76. package/dist/chunks/{index-DzvdVz0F.mjs.map → index-L0FTCOiH.mjs.map} +1 -1
  77. package/dist/chunks/index-PTRe4YNS.mjs +2 -0
  78. package/dist/chunks/{index-j5UZGMap.mjs.map → index-PTRe4YNS.mjs.map} +1 -1
  79. package/dist/chunks/{index-sxa3-G-E.mjs → index-qj95ftFz.mjs} +2 -2
  80. package/dist/chunks/{index-sxa3-G-E.mjs.map → index-qj95ftFz.mjs.map} +1 -1
  81. package/dist/chunks/index-yLvhFHpw.mjs +2 -0
  82. package/dist/chunks/index-yLvhFHpw.mjs.map +1 -0
  83. package/dist/chunks/{input-DyBbEcZb.mjs → input-BlNrkN6W.mjs} +2 -2
  84. package/dist/chunks/{input-DyBbEcZb.mjs.map → input-BlNrkN6W.mjs.map} +1 -1
  85. package/dist/chunks/{label-7xIUYreG.mjs → label-BDU0LXe-.mjs} +2 -2
  86. package/dist/chunks/{label-7xIUYreG.mjs.map → label-BDU0LXe-.mjs.map} +1 -1
  87. package/dist/chunks/{pagination-BQCy5ruZ.mjs → pagination-nctvfVO2.mjs} +2 -2
  88. package/dist/chunks/{pagination-BQCy5ruZ.mjs.map → pagination-nctvfVO2.mjs.map} +1 -1
  89. package/dist/chunks/popover-BPna4ATX.mjs +2 -0
  90. package/dist/chunks/{popover-BaOty87a.mjs.map → popover-BPna4ATX.mjs.map} +1 -1
  91. package/dist/chunks/{progress-B01RWEwW.mjs → progress-D5dklJPH.mjs} +2 -2
  92. package/dist/chunks/{progress-B01RWEwW.mjs.map → progress-D5dklJPH.mjs.map} +1 -1
  93. package/dist/chunks/scroll-area-BUsoZk7w.mjs +2 -0
  94. package/dist/chunks/{scroll-area-DBEmK194.mjs.map → scroll-area-BUsoZk7w.mjs.map} +1 -1
  95. package/dist/chunks/{select-DluWFNkM.mjs → select-Dsju3pcN.mjs} +2 -2
  96. package/dist/chunks/{select-DluWFNkM.mjs.map → select-Dsju3pcN.mjs.map} +1 -1
  97. package/dist/chunks/{separator-Bj88WMYr.mjs → separator-yvrmazzo.mjs} +2 -2
  98. package/dist/chunks/{separator-Bj88WMYr.mjs.map → separator-yvrmazzo.mjs.map} +1 -1
  99. package/dist/chunks/{skeleton-BL6dx9Bm.mjs → skeleton-CgM54DVd.mjs} +2 -2
  100. package/dist/chunks/{skeleton-BL6dx9Bm.mjs.map → skeleton-CgM54DVd.mjs.map} +1 -1
  101. package/dist/chunks/{sortable-DrKB22S8.mjs → sortable-r5LNLyFY.mjs} +2 -2
  102. package/dist/chunks/{sortable-DrKB22S8.mjs.map → sortable-r5LNLyFY.mjs.map} +1 -1
  103. package/dist/chunks/{table-BvtQHwsd.mjs → table-C7HL2RQX.mjs} +2 -2
  104. package/dist/chunks/{table-BvtQHwsd.mjs.map → table-C7HL2RQX.mjs.map} +1 -1
  105. package/dist/chunks/toggle-BNsCXJfn.mjs +2 -0
  106. package/dist/chunks/toggle-BNsCXJfn.mjs.map +1 -0
  107. package/dist/chunks/{tslib.es6-1P1xnW5u.mjs → tslib.es6-BPlpgYSG.mjs} +1 -1
  108. package/dist/chunks/{tslib.es6-1P1xnW5u.mjs.map → tslib.es6-BPlpgYSG.mjs.map} +1 -1
  109. package/dist/chunks/{utils-BNmnOQuQ.mjs → utils-CplKzw61.mjs} +2 -2
  110. package/dist/chunks/{utils-BNmnOQuQ.mjs.map → utils-CplKzw61.mjs.map} +1 -1
  111. package/dist/chunks/x-CXgTi8Ya.mjs +2 -0
  112. package/dist/chunks/{x-Dnrlrmes.mjs.map → x-CXgTi8Ya.mjs.map} +1 -1
  113. package/dist/combobox/index.d.ts +53 -0
  114. package/dist/combobox/index.mjs +2 -0
  115. package/dist/combobox/index.mjs.map +1 -0
  116. package/dist/command/index.mjs +1 -1
  117. package/dist/data-table/index.mjs +1 -1
  118. package/dist/data-table/index.mjs.map +1 -1
  119. package/dist/dialog/index.mjs +1 -1
  120. package/dist/dropdown-menu/index.mjs +1 -1
  121. package/dist/dropdown-menu/index.mjs.map +1 -1
  122. package/dist/dropzone/index.mjs +1 -1
  123. package/dist/dropzone/index.mjs.map +1 -1
  124. package/dist/form/index.mjs +1 -1
  125. package/dist/form/index.mjs.map +1 -1
  126. package/dist/hover-card/index.mjs +1 -1
  127. package/dist/icon/index.mjs +1 -1
  128. package/dist/index.css +1 -1
  129. package/dist/input/index.mjs +1 -1
  130. package/dist/ivt.css +1 -1
  131. package/dist/label/index.mjs +1 -1
  132. package/dist/menubar/index.d.ts +29 -0
  133. package/dist/menubar/index.mjs +2 -0
  134. package/dist/menubar/index.mjs.map +1 -0
  135. package/dist/multi-select/index.mjs +1 -1
  136. package/dist/multi-select/index.mjs.map +1 -1
  137. package/dist/pagination/index.mjs +1 -1
  138. package/dist/popover/index.mjs +1 -1
  139. package/dist/progress/index.mjs +1 -1
  140. package/dist/radio-group/index.d.ts +8 -0
  141. package/dist/radio-group/index.mjs +2 -0
  142. package/dist/radio-group/index.mjs.map +1 -0
  143. package/dist/scroll-area/index.mjs +1 -1
  144. package/dist/select/index.mjs +1 -1
  145. package/dist/separator/index.mjs +1 -1
  146. package/dist/sheet/index.mjs +1 -1
  147. package/dist/sheet/index.mjs.map +1 -1
  148. package/dist/skeleton/index.mjs +1 -1
  149. package/dist/sonner/index.mjs +1 -1
  150. package/dist/sonner/index.mjs.map +1 -1
  151. package/dist/sortable/index.mjs +1 -1
  152. package/dist/table/index.mjs +1 -1
  153. package/dist/tabs/index.mjs +1 -1
  154. package/dist/tabs/index.mjs.map +1 -1
  155. package/dist/textarea/index.d.ts +6 -0
  156. package/dist/textarea/index.mjs +2 -0
  157. package/dist/textarea/index.mjs.map +1 -0
  158. package/dist/toast/index.mjs +1 -1
  159. package/dist/toast/index.mjs.map +1 -1
  160. package/dist/toggle/index.d.ts +13 -0
  161. package/dist/toggle/index.mjs +2 -0
  162. package/dist/toggle/index.mjs.map +1 -0
  163. package/dist/toggle-group/index.d.ts +12 -0
  164. package/dist/toggle-group/index.mjs +2 -0
  165. package/dist/toggle-group/index.mjs.map +1 -0
  166. package/dist/tooltip/index.mjs +1 -1
  167. package/dist/tooltip/index.mjs.map +1 -1
  168. package/package.json +29 -1
  169. package/dist/chunks/accordion-DxayPBXZ.mjs +0 -2
  170. package/dist/chunks/calendar-CBJ49e3M.mjs +0 -2
  171. package/dist/chunks/check-DlWKp3dT.mjs +0 -2
  172. package/dist/chunks/chevron-down-CWUqY12V.mjs +0 -2
  173. package/dist/chunks/chevron-left-CJfbOy3n.mjs +0 -2
  174. package/dist/chunks/chevron-right-CepU0QYJ.mjs +0 -2
  175. package/dist/chunks/command-DYCg8FQm.mjs +0 -2
  176. package/dist/chunks/hover-card-T6QvJZH3.mjs +0 -2
  177. package/dist/chunks/index-Bmfh-9vj.mjs +0 -2
  178. package/dist/chunks/index-DzvdVz0F.mjs +0 -2
  179. package/dist/chunks/index-Gmu-glAo.mjs +0 -2
  180. package/dist/chunks/index-Gmu-glAo.mjs.map +0 -1
  181. package/dist/chunks/index-j5UZGMap.mjs +0 -2
  182. package/dist/chunks/index-pz7_bV3J.mjs +0 -2
  183. package/dist/chunks/index-pz7_bV3J.mjs.map +0 -1
  184. package/dist/chunks/popover-BaOty87a.mjs +0 -2
  185. package/dist/chunks/scroll-area-DBEmK194.mjs +0 -2
  186. package/dist/chunks/x-Dnrlrmes.mjs +0 -2
@@ -1 +1 @@
1
- {"version":3,"file":"index-Bmfh-9vj.mjs","sources":["../../node_modules/@radix-ui/react-roving-focus/dist/index.mjs"],"sourcesContent":["\"use client\";\n\n// 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, setCurrentTabStopId] = useControllableState({\n prop: currentTabStopIdProp,\n defaultProp: defaultCurrentTabStopId ?? null,\n onChange: onCurrentTabStopIdChange,\n caller: GROUP_NAME\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 children,\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, currentTabStopId } = 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 children: typeof children === \"function\" ? children({ isCurrentTabStop, hasTabStop: currentTabStopId != null }) : children\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","bubbles","cancelable","GROUP_NAME","Collection","useCollection","createCollectionScope","createCollection","createRovingFocusGroupContext","createRovingFocusGroupScope","createContextScope","RovingFocusProvider","useRovingFocusContext","RovingFocusGroup","React","forwardRef","props","forwardedRef","jsx","Provider","scope","__scopeRovingFocusGroup","children","Slot","RovingFocusGroupImpl","ref","displayName","orientation","loop","dir","currentTabStopId","currentTabStopIdProp","defaultCurrentTabStopId","onCurrentTabStopIdChange","onEntryFocus","preventScrollOnEntryFocus","groupProps","useRef","composedRefs","useComposedRefs","direction","useDirection","setCurrentTabStopId","useControllableState","prop","defaultProp","onChange","caller","isTabbingBackOut","setIsTabbingBackOut","useState","handleEntryFocus","useCallbackRef","getItems","isClickFocusRef","focusableItemsCount","setFocusableItemsCount","useEffect","node","current","addEventListener","removeEventListener","onItemFocus","useCallback","tabStopId","onItemShiftTab","onFocusableItemAdd","prevCount","onFocusableItemRemove","Primitive","div","tabIndex","style","outline","onMouseDown","composeEventHandlers","onFocus","event","isKeyboardFocus","target","currentTarget","entryFocusEvent","CustomEvent","dispatchEvent","defaultPrevented","items","filter","item","focusable","focusFirst","find","active","id","Boolean","map","onBlur","ITEM_NAME","RovingFocusGroupItem","itemProps","autoId","useId","context","isCurrentTabStop","ItemSlot","span","preventDefault","onKeyDown","key","shiftKey","focusIntent","getDirectionAwareKey","includes","MAP_KEY_TO_FOCUS_INTENT","getFocusIntent","metaKey","ctrlKey","altKey","candidateNodes","reverse","currentIndex","indexOf","startIndex","array","_","index","length","slice","setTimeout","hasTabStop","ArrowLeft","ArrowUp","ArrowRight","ArrowDown","PageUp","Home","PageDown","End","candidates","preventScroll","PREVIOUSLY_FOCUSED_ELEMENT","document","activeElement","candidate","focus","Root","Item"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index-DOiEGiat.mjs","sources":["../../node_modules/@radix-ui/react-roving-focus/dist/index.mjs"],"sourcesContent":["\"use client\";\n\n// 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, setCurrentTabStopId] = useControllableState({\n prop: currentTabStopIdProp,\n defaultProp: defaultCurrentTabStopId ?? null,\n onChange: onCurrentTabStopIdChange,\n caller: GROUP_NAME\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 children,\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, currentTabStopId } = 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 children: typeof children === \"function\" ? children({ isCurrentTabStop, hasTabStop: currentTabStopId != null }) : children\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","bubbles","cancelable","GROUP_NAME","Collection","useCollection","createCollectionScope","createCollection","createRovingFocusGroupContext","createRovingFocusGroupScope","createContextScope","RovingFocusProvider","useRovingFocusContext","RovingFocusGroup","React","forwardRef","props","forwardedRef","jsx","Provider","scope","__scopeRovingFocusGroup","children","Slot","RovingFocusGroupImpl","ref","displayName","orientation","loop","dir","currentTabStopId","currentTabStopIdProp","defaultCurrentTabStopId","onCurrentTabStopIdChange","onEntryFocus","preventScrollOnEntryFocus","groupProps","useRef","composedRefs","useComposedRefs","direction","useDirection","setCurrentTabStopId","useControllableState","prop","defaultProp","onChange","caller","isTabbingBackOut","setIsTabbingBackOut","useState","handleEntryFocus","useCallbackRef","getItems","isClickFocusRef","focusableItemsCount","setFocusableItemsCount","useEffect","node","current","addEventListener","removeEventListener","onItemFocus","useCallback","tabStopId","onItemShiftTab","onFocusableItemAdd","prevCount","onFocusableItemRemove","Primitive","div","tabIndex","style","outline","onMouseDown","composeEventHandlers","onFocus","event","isKeyboardFocus","target","currentTarget","entryFocusEvent","CustomEvent","dispatchEvent","defaultPrevented","items","filter","item","focusable","focusFirst","find","active","id","Boolean","map","onBlur","ITEM_NAME","RovingFocusGroupItem","itemProps","autoId","useId","context","isCurrentTabStop","ItemSlot","span","preventDefault","onKeyDown","key","shiftKey","focusIntent","getDirectionAwareKey","includes","MAP_KEY_TO_FOCUS_INTENT","getFocusIntent","metaKey","ctrlKey","altKey","candidateNodes","reverse","currentIndex","indexOf","startIndex","array","_","index","length","slice","setTimeout","hasTabStop","ArrowLeft","ArrowUp","ArrowRight","ArrowDown","PageUp","Home","PageDown","End","candidates","preventScroll","PREVIOUSLY_FOCUSED_ELEMENT","document","activeElement","candidate","focus","Root","Item"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1,2 +1,2 @@
1
1
  import*as a from"react";var o=globalThis?.document?a.useLayoutEffect:()=>{};export{o as u};
2
- //# sourceMappingURL=index-C-gmRzgE.mjs.map
2
+ //# sourceMappingURL=index-DtAARIfz.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-C-gmRzgE.mjs","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":["useLayoutEffect","globalThis","document","React"],"mappings":"wBASA,IAAMA,EAAkBC,YAAYC,SAAiBC,EAAAH,gBAAkB","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index-DtAARIfz.mjs","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":["useLayoutEffect","globalThis","document","React"],"mappings":"wBASA,IAAMA,EAAkBC,YAAYC,SAAiBC,EAAAH,gBAAkB","x_google_ignoreList":[0]}
@@ -0,0 +1,2 @@
1
+ import*as e from"react";import{c as o}from"./index-DCzuZZz4.mjs";import{u as t}from"./index-C3QHFNp7.mjs";import{c as n,a as r}from"./index-BO-2wsZH.mjs";import{u as a}from"./index-qj95ftFz.mjs";import{u as i}from"./index-D5ESKExj.mjs";import{P as s,D as c}from"./index-PTRe4YNS.mjs";import{h as l,R as d,u,F as p}from"./index-BVACT7xe.mjs";import{P as f}from"./index-D532f2iM.mjs";import{P as m}from"./index-CZMSgrEB.mjs";import{createSlot as g}from"@radix-ui/react-slot";import{jsx as D,jsxs as h,Fragment as v}from"react/jsx-runtime";var R="Dialog",[_,y]=n(R),[b,C]=_(R),I=o=>{const{__scopeDialog:t,children:n,open:r,defaultOpen:s,onOpenChange:c,modal:l=!0}=o,d=e.useRef(null),u=e.useRef(null),[p,f]=i({prop:r,defaultProp:s??!1,onChange:c,caller:R});return D(b,{scope:t,triggerRef:d,contentRef:u,contentId:a(),titleId:a(),descriptionId:a(),open:p,onOpenChange:f,onOpenToggle:e.useCallback(()=>f(e=>!e),[f]),modal:l,children:n})};I.displayName=R;var O="DialogTrigger",w=e.forwardRef((e,n)=>{const{__scopeDialog:r,...a}=e,i=C(O,r),s=t(n,i.triggerRef);return D(m.button,{type:"button","aria-haspopup":"dialog","aria-expanded":i.open,"aria-controls":i.contentId,"data-state":Z(i.open),...a,ref:s,onClick:o(e.onClick,i.onOpenToggle)})});w.displayName=O;var F="DialogPortal",[x,N]=_(F,{forceMount:void 0}),P=o=>{const{__scopeDialog:t,forceMount:n,children:r,container:a}=o,i=C(F,t);return D(x,{scope:t,forceMount:n,children:e.Children.map(r,e=>D(f,{present:n||i.open,children:D(s,{asChild:!0,container:a,children:e})}))})};P.displayName=F;var E="DialogOverlay",j=e.forwardRef((e,o)=>{const t=N(E,e.__scopeDialog),{forceMount:n=t.forceMount,...r}=e,a=C(E,e.__scopeDialog);return a.modal?D(f,{present:n||a.open,children:D(M,{...r,ref:o})}):null});j.displayName=E;var A=g("DialogOverlay.RemoveScroll"),M=e.forwardRef((e,o)=>{const{__scopeDialog:t,...n}=e,r=C(E,t);return D(d,{as:A,allowPinchZoom:!0,shards:[r.contentRef],children:D(m.div,{"data-state":Z(r.open),...n,ref:o,style:{pointerEvents:"auto",...n.style}})})}),T="DialogContent",k=e.forwardRef((e,o)=>{const t=N(T,e.__scopeDialog),{forceMount:n=t.forceMount,...r}=e,a=C(T,e.__scopeDialog);return D(f,{present:n||a.open,children:a.modal?D($,{...r,ref:o}):D(W,{...r,ref:o})})});k.displayName=T;var $=e.forwardRef((n,r)=>{const a=C(T,n.__scopeDialog),i=e.useRef(null),s=t(r,a.contentRef,i);return e.useEffect(()=>{const e=i.current;if(e)return l(e)},[]),D(S,{...n,ref:s,trapFocus:a.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:o(n.onCloseAutoFocus,e=>{e.preventDefault(),a.triggerRef.current?.focus()}),onPointerDownOutside:o(n.onPointerDownOutside,e=>{const o=e.detail.originalEvent,t=0===o.button&&!0===o.ctrlKey;(2===o.button||t)&&e.preventDefault()}),onFocusOutside:o(n.onFocusOutside,e=>e.preventDefault())})}),W=e.forwardRef((o,t)=>{const n=C(T,o.__scopeDialog),r=e.useRef(!1),a=e.useRef(!1);return D(S,{...o,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:e=>{o.onCloseAutoFocus?.(e),e.defaultPrevented||(r.current||n.triggerRef.current?.focus(),e.preventDefault()),r.current=!1,a.current=!1},onInteractOutside:e=>{o.onInteractOutside?.(e),e.defaultPrevented||(r.current=!0,"pointerdown"===e.detail.originalEvent.type&&(a.current=!0));const t=e.target,i=n.triggerRef.current?.contains(t);i&&e.preventDefault(),"focusin"===e.detail.originalEvent.type&&a.current&&e.preventDefault()}})}),S=e.forwardRef((o,n)=>{const{__scopeDialog:r,trapFocus:a,onOpenAutoFocus:i,onCloseAutoFocus:s,...l}=o,d=C(T,r),f=e.useRef(null),m=t(n,f);return u(),h(v,{children:[D(p,{asChild:!0,loop:!0,trapped:a,onMountAutoFocus:i,onUnmountAutoFocus:s,children:D(c,{role:"dialog",id:d.contentId,"aria-describedby":d.descriptionId,"aria-labelledby":d.titleId,"data-state":Z(d.open),...l,ref:m,onDismiss:()=>d.onOpenChange(!1)})}),h(v,{children:[D(L,{titleId:d.titleId}),D(Q,{contentRef:f,descriptionId:d.descriptionId})]})]})}),B="DialogTitle",q=e.forwardRef((e,o)=>{const{__scopeDialog:t,...n}=e,r=C(B,t);return D(m.h2,{id:r.titleId,...n,ref:o})});q.displayName=B;var H="DialogDescription",K=e.forwardRef((e,o)=>{const{__scopeDialog:t,...n}=e,r=C(H,t);return D(m.p,{id:r.descriptionId,...n,ref:o})});K.displayName=H;var U="DialogClose",V=e.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,a=C(U,n);return D(m.button,{type:"button",...r,ref:t,onClick:o(e.onClick,()=>a.onOpenChange(!1))})});function Z(e){return e?"open":"closed"}V.displayName=U;var z="DialogTitleWarning",[G,J]=r(z,{contentName:T,titleName:B,docsSlug:"dialog"}),L=({titleId:o})=>{const t=J(z),n=`\`${t.contentName}\` requires a \`${t.titleName}\` for the component to be accessible for screen reader users.\n\nIf you want to hide the \`${t.titleName}\`, you can wrap it with our VisuallyHidden component.\n\nFor more information, see https://radix-ui.com/primitives/docs/components/${t.docsSlug}`;return e.useEffect(()=>{if(o){document.getElementById(o)}},[n,o]),null},Q=({contentRef:o,descriptionId:t})=>{const n=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${J("DialogDescriptionWarning").contentName}}.`;return e.useEffect(()=>{const e=o.current?.getAttribute("aria-describedby");if(t&&e){document.getElementById(t)}},[n,o,t]),null},X=I,Y=w,ee=P,oe=j,te=k,ne=q,re=K,ae=V;export{ae as C,re as D,oe as O,ee as P,X as R,ne as T,G as W,te as a,Y as b,y as c};
2
+ //# sourceMappingURL=index-L0FTCOiH.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-DzvdVz0F.mjs","sources":["../../node_modules/@radix-ui/react-dialog/dist/index.mjs"],"sourcesContent":["\"use client\";\n\n// src/dialog.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContext, createContextScope } from \"@radix-ui/react-context\";\nimport { useId } from \"@radix-ui/react-id\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { DismissableLayer } from \"@radix-ui/react-dismissable-layer\";\nimport { FocusScope } from \"@radix-ui/react-focus-scope\";\nimport { Portal as PortalPrimitive } from \"@radix-ui/react-portal\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { useFocusGuards } from \"@radix-ui/react-focus-guards\";\nimport { RemoveScroll } from \"react-remove-scroll\";\nimport { hideOthers } from \"aria-hidden\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nvar DIALOG_NAME = \"Dialog\";\nvar [createDialogContext, createDialogScope] = createContextScope(DIALOG_NAME);\nvar [DialogProvider, useDialogContext] = createDialogContext(DIALOG_NAME);\nvar Dialog = (props) => {\n const {\n __scopeDialog,\n children,\n open: openProp,\n defaultOpen,\n onOpenChange,\n modal = true\n } = props;\n const triggerRef = React.useRef(null);\n const contentRef = React.useRef(null);\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen ?? false,\n onChange: onOpenChange,\n caller: DIALOG_NAME\n });\n return /* @__PURE__ */ jsx(\n DialogProvider,\n {\n scope: __scopeDialog,\n triggerRef,\n contentRef,\n contentId: useId(),\n titleId: useId(),\n descriptionId: useId(),\n open,\n onOpenChange: setOpen,\n onOpenToggle: React.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen]),\n modal,\n children\n }\n );\n};\nDialog.displayName = DIALOG_NAME;\nvar TRIGGER_NAME = \"DialogTrigger\";\nvar DialogTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDialog, ...triggerProps } = props;\n const context = useDialogContext(TRIGGER_NAME, __scopeDialog);\n const composedTriggerRef = useComposedRefs(forwardedRef, context.triggerRef);\n return /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n \"aria-haspopup\": \"dialog\",\n \"aria-expanded\": context.open,\n \"aria-controls\": context.contentId,\n \"data-state\": getState(context.open),\n ...triggerProps,\n ref: composedTriggerRef,\n onClick: composeEventHandlers(props.onClick, context.onOpenToggle)\n }\n );\n }\n);\nDialogTrigger.displayName = TRIGGER_NAME;\nvar PORTAL_NAME = \"DialogPortal\";\nvar [PortalProvider, usePortalContext] = createDialogContext(PORTAL_NAME, {\n forceMount: void 0\n});\nvar DialogPortal = (props) => {\n const { __scopeDialog, forceMount, children, container } = props;\n const context = useDialogContext(PORTAL_NAME, __scopeDialog);\n return /* @__PURE__ */ jsx(PortalProvider, { scope: __scopeDialog, forceMount, children: React.Children.map(children, (child) => /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(PortalPrimitive, { asChild: true, container, children: child }) })) });\n};\nDialogPortal.displayName = PORTAL_NAME;\nvar OVERLAY_NAME = \"DialogOverlay\";\nvar DialogOverlay = React.forwardRef(\n (props, forwardedRef) => {\n const portalContext = usePortalContext(OVERLAY_NAME, props.__scopeDialog);\n const { forceMount = portalContext.forceMount, ...overlayProps } = props;\n const context = useDialogContext(OVERLAY_NAME, props.__scopeDialog);\n return context.modal ? /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(DialogOverlayImpl, { ...overlayProps, ref: forwardedRef }) }) : null;\n }\n);\nDialogOverlay.displayName = OVERLAY_NAME;\nvar Slot = createSlot(\"DialogOverlay.RemoveScroll\");\nvar DialogOverlayImpl = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDialog, ...overlayProps } = props;\n const context = useDialogContext(OVERLAY_NAME, __scopeDialog);\n return (\n // Make sure `Content` is scrollable even when it doesn't live inside `RemoveScroll`\n // ie. when `Overlay` and `Content` are siblings\n /* @__PURE__ */ jsx(RemoveScroll, { as: Slot, allowPinchZoom: true, shards: [context.contentRef], children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-state\": getState(context.open),\n ...overlayProps,\n ref: forwardedRef,\n style: { pointerEvents: \"auto\", ...overlayProps.style }\n }\n ) })\n );\n }\n);\nvar CONTENT_NAME = \"DialogContent\";\nvar DialogContent = React.forwardRef(\n (props, forwardedRef) => {\n const portalContext = usePortalContext(CONTENT_NAME, props.__scopeDialog);\n const { forceMount = portalContext.forceMount, ...contentProps } = props;\n const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: context.modal ? /* @__PURE__ */ jsx(DialogContentModal, { ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ jsx(DialogContentNonModal, { ...contentProps, ref: forwardedRef }) });\n }\n);\nDialogContent.displayName = CONTENT_NAME;\nvar DialogContentModal = React.forwardRef(\n (props, forwardedRef) => {\n const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);\n const contentRef = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, context.contentRef, contentRef);\n React.useEffect(() => {\n const content = contentRef.current;\n if (content) return hideOthers(content);\n }, []);\n return /* @__PURE__ */ jsx(\n DialogContentImpl,\n {\n ...props,\n ref: composedRefs,\n trapFocus: context.open,\n disableOutsidePointerEvents: true,\n onCloseAutoFocus: composeEventHandlers(props.onCloseAutoFocus, (event) => {\n event.preventDefault();\n context.triggerRef.current?.focus();\n }),\n onPointerDownOutside: composeEventHandlers(props.onPointerDownOutside, (event) => {\n const originalEvent = event.detail.originalEvent;\n const ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;\n const isRightClick = originalEvent.button === 2 || ctrlLeftClick;\n if (isRightClick) event.preventDefault();\n }),\n onFocusOutside: composeEventHandlers(\n props.onFocusOutside,\n (event) => event.preventDefault()\n )\n }\n );\n }\n);\nvar DialogContentNonModal = React.forwardRef(\n (props, forwardedRef) => {\n const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);\n const hasInteractedOutsideRef = React.useRef(false);\n const hasPointerDownOutsideRef = React.useRef(false);\n return /* @__PURE__ */ jsx(\n DialogContentImpl,\n {\n ...props,\n ref: forwardedRef,\n trapFocus: false,\n disableOutsidePointerEvents: false,\n onCloseAutoFocus: (event) => {\n props.onCloseAutoFocus?.(event);\n if (!event.defaultPrevented) {\n if (!hasInteractedOutsideRef.current) context.triggerRef.current?.focus();\n event.preventDefault();\n }\n hasInteractedOutsideRef.current = false;\n hasPointerDownOutsideRef.current = false;\n },\n onInteractOutside: (event) => {\n props.onInteractOutside?.(event);\n if (!event.defaultPrevented) {\n hasInteractedOutsideRef.current = true;\n if (event.detail.originalEvent.type === \"pointerdown\") {\n hasPointerDownOutsideRef.current = true;\n }\n }\n const target = event.target;\n const targetIsTrigger = context.triggerRef.current?.contains(target);\n if (targetIsTrigger) event.preventDefault();\n if (event.detail.originalEvent.type === \"focusin\" && hasPointerDownOutsideRef.current) {\n event.preventDefault();\n }\n }\n }\n );\n }\n);\nvar DialogContentImpl = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDialog, trapFocus, onOpenAutoFocus, onCloseAutoFocus, ...contentProps } = props;\n const context = useDialogContext(CONTENT_NAME, __scopeDialog);\n const contentRef = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, contentRef);\n useFocusGuards();\n return /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(\n FocusScope,\n {\n asChild: true,\n loop: true,\n trapped: trapFocus,\n onMountAutoFocus: onOpenAutoFocus,\n onUnmountAutoFocus: onCloseAutoFocus,\n children: /* @__PURE__ */ jsx(\n DismissableLayer,\n {\n role: \"dialog\",\n id: context.contentId,\n \"aria-describedby\": context.descriptionId,\n \"aria-labelledby\": context.titleId,\n \"data-state\": getState(context.open),\n ...contentProps,\n ref: composedRefs,\n onDismiss: () => context.onOpenChange(false)\n }\n )\n }\n ),\n /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(TitleWarning, { titleId: context.titleId }),\n /* @__PURE__ */ jsx(DescriptionWarning, { contentRef, descriptionId: context.descriptionId })\n ] })\n ] });\n }\n);\nvar TITLE_NAME = \"DialogTitle\";\nvar DialogTitle = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDialog, ...titleProps } = props;\n const context = useDialogContext(TITLE_NAME, __scopeDialog);\n return /* @__PURE__ */ jsx(Primitive.h2, { id: context.titleId, ...titleProps, ref: forwardedRef });\n }\n);\nDialogTitle.displayName = TITLE_NAME;\nvar DESCRIPTION_NAME = \"DialogDescription\";\nvar DialogDescription = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDialog, ...descriptionProps } = props;\n const context = useDialogContext(DESCRIPTION_NAME, __scopeDialog);\n return /* @__PURE__ */ jsx(Primitive.p, { id: context.descriptionId, ...descriptionProps, ref: forwardedRef });\n }\n);\nDialogDescription.displayName = DESCRIPTION_NAME;\nvar CLOSE_NAME = \"DialogClose\";\nvar DialogClose = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDialog, ...closeProps } = props;\n const context = useDialogContext(CLOSE_NAME, __scopeDialog);\n return /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n ...closeProps,\n ref: forwardedRef,\n onClick: composeEventHandlers(props.onClick, () => context.onOpenChange(false))\n }\n );\n }\n);\nDialogClose.displayName = CLOSE_NAME;\nfunction getState(open) {\n return open ? \"open\" : \"closed\";\n}\nvar TITLE_WARNING_NAME = \"DialogTitleWarning\";\nvar [WarningProvider, useWarningContext] = createContext(TITLE_WARNING_NAME, {\n contentName: CONTENT_NAME,\n titleName: TITLE_NAME,\n docsSlug: \"dialog\"\n});\nvar TitleWarning = ({ titleId }) => {\n const titleWarningContext = useWarningContext(TITLE_WARNING_NAME);\n const MESSAGE = `\\`${titleWarningContext.contentName}\\` requires a \\`${titleWarningContext.titleName}\\` for the component to be accessible for screen reader users.\n\nIf you want to hide the \\`${titleWarningContext.titleName}\\`, you can wrap it with our VisuallyHidden component.\n\nFor more information, see https://radix-ui.com/primitives/docs/components/${titleWarningContext.docsSlug}`;\n React.useEffect(() => {\n if (titleId) {\n const hasTitle = document.getElementById(titleId);\n if (!hasTitle) console.error(MESSAGE);\n }\n }, [MESSAGE, titleId]);\n return null;\n};\nvar DESCRIPTION_WARNING_NAME = \"DialogDescriptionWarning\";\nvar DescriptionWarning = ({ contentRef, descriptionId }) => {\n const descriptionWarningContext = useWarningContext(DESCRIPTION_WARNING_NAME);\n const MESSAGE = `Warning: Missing \\`Description\\` or \\`aria-describedby={undefined}\\` for {${descriptionWarningContext.contentName}}.`;\n React.useEffect(() => {\n const describedById = contentRef.current?.getAttribute(\"aria-describedby\");\n if (descriptionId && describedById) {\n const hasDescription = document.getElementById(descriptionId);\n if (!hasDescription) console.warn(MESSAGE);\n }\n }, [MESSAGE, contentRef, descriptionId]);\n return null;\n};\nvar Root = Dialog;\nvar Trigger = DialogTrigger;\nvar Portal = DialogPortal;\nvar Overlay = DialogOverlay;\nvar Content = DialogContent;\nvar Title = DialogTitle;\nvar Description = DialogDescription;\nvar Close = DialogClose;\nexport {\n Close,\n Content,\n Description,\n Dialog,\n DialogClose,\n DialogContent,\n DialogDescription,\n DialogOverlay,\n DialogPortal,\n DialogTitle,\n DialogTrigger,\n Overlay,\n Portal,\n Root,\n Title,\n Trigger,\n WarningProvider,\n createDialogScope\n};\n//# sourceMappingURL=index.mjs.map\n"],"names":["DIALOG_NAME","createDialogContext","createDialogScope","createContextScope","DialogProvider","useDialogContext","Dialog","props","__scopeDialog","children","open","openProp","defaultOpen","onOpenChange","modal","triggerRef","React","useRef","contentRef","setOpen","useControllableState","prop","defaultProp","onChange","caller","jsx","scope","contentId","useId","titleId","descriptionId","onOpenToggle","useCallback","prevOpen","displayName","TRIGGER_NAME","DialogTrigger","forwardRef","forwardedRef","triggerProps","context","composedTriggerRef","useComposedRefs","Primitive","button","type","getState","ref","onClick","composeEventHandlers","PORTAL_NAME","PortalProvider","usePortalContext","forceMount","DialogPortal","container","Children","map","child","Presence","present","PortalPrimitive","asChild","OVERLAY_NAME","DialogOverlay","portalContext","overlayProps","DialogOverlayImpl","Slot","createSlot","RemoveScroll","as","allowPinchZoom","shards","div","style","pointerEvents","CONTENT_NAME","DialogContent","contentProps","DialogContentModal","DialogContentNonModal","composedRefs","useEffect","content","current","hideOthers","DialogContentImpl","trapFocus","disableOutsidePointerEvents","onCloseAutoFocus","event","preventDefault","focus","onPointerDownOutside","originalEvent","detail","ctrlLeftClick","ctrlKey","onFocusOutside","hasInteractedOutsideRef","hasPointerDownOutsideRef","defaultPrevented","onInteractOutside","target","targetIsTrigger","contains","onOpenAutoFocus","useFocusGuards","jsxs","Fragment","FocusScope","loop","trapped","onMountAutoFocus","onUnmountAutoFocus","DismissableLayer","role","id","onDismiss","TitleWarning","DescriptionWarning","TITLE_NAME","DialogTitle","titleProps","h2","DESCRIPTION_NAME","DialogDescription","descriptionProps","p","CLOSE_NAME","DialogClose","closeProps","TITLE_WARNING_NAME","WarningProvider","useWarningContext","createContext","contentName","titleName","docsSlug","titleWarningContext","MESSAGE","document","getElementById","describedById","getAttribute","Root","Trigger","Portal","Overlay","Content","Title","Description","Close"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index-L0FTCOiH.mjs","sources":["../../node_modules/@radix-ui/react-dialog/dist/index.mjs"],"sourcesContent":["\"use client\";\n\n// src/dialog.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContext, createContextScope } from \"@radix-ui/react-context\";\nimport { useId } from \"@radix-ui/react-id\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { DismissableLayer } from \"@radix-ui/react-dismissable-layer\";\nimport { FocusScope } from \"@radix-ui/react-focus-scope\";\nimport { Portal as PortalPrimitive } from \"@radix-ui/react-portal\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { useFocusGuards } from \"@radix-ui/react-focus-guards\";\nimport { RemoveScroll } from \"react-remove-scroll\";\nimport { hideOthers } from \"aria-hidden\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nvar DIALOG_NAME = \"Dialog\";\nvar [createDialogContext, createDialogScope] = createContextScope(DIALOG_NAME);\nvar [DialogProvider, useDialogContext] = createDialogContext(DIALOG_NAME);\nvar Dialog = (props) => {\n const {\n __scopeDialog,\n children,\n open: openProp,\n defaultOpen,\n onOpenChange,\n modal = true\n } = props;\n const triggerRef = React.useRef(null);\n const contentRef = React.useRef(null);\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen ?? false,\n onChange: onOpenChange,\n caller: DIALOG_NAME\n });\n return /* @__PURE__ */ jsx(\n DialogProvider,\n {\n scope: __scopeDialog,\n triggerRef,\n contentRef,\n contentId: useId(),\n titleId: useId(),\n descriptionId: useId(),\n open,\n onOpenChange: setOpen,\n onOpenToggle: React.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen]),\n modal,\n children\n }\n );\n};\nDialog.displayName = DIALOG_NAME;\nvar TRIGGER_NAME = \"DialogTrigger\";\nvar DialogTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDialog, ...triggerProps } = props;\n const context = useDialogContext(TRIGGER_NAME, __scopeDialog);\n const composedTriggerRef = useComposedRefs(forwardedRef, context.triggerRef);\n return /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n \"aria-haspopup\": \"dialog\",\n \"aria-expanded\": context.open,\n \"aria-controls\": context.contentId,\n \"data-state\": getState(context.open),\n ...triggerProps,\n ref: composedTriggerRef,\n onClick: composeEventHandlers(props.onClick, context.onOpenToggle)\n }\n );\n }\n);\nDialogTrigger.displayName = TRIGGER_NAME;\nvar PORTAL_NAME = \"DialogPortal\";\nvar [PortalProvider, usePortalContext] = createDialogContext(PORTAL_NAME, {\n forceMount: void 0\n});\nvar DialogPortal = (props) => {\n const { __scopeDialog, forceMount, children, container } = props;\n const context = useDialogContext(PORTAL_NAME, __scopeDialog);\n return /* @__PURE__ */ jsx(PortalProvider, { scope: __scopeDialog, forceMount, children: React.Children.map(children, (child) => /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(PortalPrimitive, { asChild: true, container, children: child }) })) });\n};\nDialogPortal.displayName = PORTAL_NAME;\nvar OVERLAY_NAME = \"DialogOverlay\";\nvar DialogOverlay = React.forwardRef(\n (props, forwardedRef) => {\n const portalContext = usePortalContext(OVERLAY_NAME, props.__scopeDialog);\n const { forceMount = portalContext.forceMount, ...overlayProps } = props;\n const context = useDialogContext(OVERLAY_NAME, props.__scopeDialog);\n return context.modal ? /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(DialogOverlayImpl, { ...overlayProps, ref: forwardedRef }) }) : null;\n }\n);\nDialogOverlay.displayName = OVERLAY_NAME;\nvar Slot = createSlot(\"DialogOverlay.RemoveScroll\");\nvar DialogOverlayImpl = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDialog, ...overlayProps } = props;\n const context = useDialogContext(OVERLAY_NAME, __scopeDialog);\n return (\n // Make sure `Content` is scrollable even when it doesn't live inside `RemoveScroll`\n // ie. when `Overlay` and `Content` are siblings\n /* @__PURE__ */ jsx(RemoveScroll, { as: Slot, allowPinchZoom: true, shards: [context.contentRef], children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-state\": getState(context.open),\n ...overlayProps,\n ref: forwardedRef,\n style: { pointerEvents: \"auto\", ...overlayProps.style }\n }\n ) })\n );\n }\n);\nvar CONTENT_NAME = \"DialogContent\";\nvar DialogContent = React.forwardRef(\n (props, forwardedRef) => {\n const portalContext = usePortalContext(CONTENT_NAME, props.__scopeDialog);\n const { forceMount = portalContext.forceMount, ...contentProps } = props;\n const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: context.modal ? /* @__PURE__ */ jsx(DialogContentModal, { ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ jsx(DialogContentNonModal, { ...contentProps, ref: forwardedRef }) });\n }\n);\nDialogContent.displayName = CONTENT_NAME;\nvar DialogContentModal = React.forwardRef(\n (props, forwardedRef) => {\n const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);\n const contentRef = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, context.contentRef, contentRef);\n React.useEffect(() => {\n const content = contentRef.current;\n if (content) return hideOthers(content);\n }, []);\n return /* @__PURE__ */ jsx(\n DialogContentImpl,\n {\n ...props,\n ref: composedRefs,\n trapFocus: context.open,\n disableOutsidePointerEvents: true,\n onCloseAutoFocus: composeEventHandlers(props.onCloseAutoFocus, (event) => {\n event.preventDefault();\n context.triggerRef.current?.focus();\n }),\n onPointerDownOutside: composeEventHandlers(props.onPointerDownOutside, (event) => {\n const originalEvent = event.detail.originalEvent;\n const ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;\n const isRightClick = originalEvent.button === 2 || ctrlLeftClick;\n if (isRightClick) event.preventDefault();\n }),\n onFocusOutside: composeEventHandlers(\n props.onFocusOutside,\n (event) => event.preventDefault()\n )\n }\n );\n }\n);\nvar DialogContentNonModal = React.forwardRef(\n (props, forwardedRef) => {\n const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);\n const hasInteractedOutsideRef = React.useRef(false);\n const hasPointerDownOutsideRef = React.useRef(false);\n return /* @__PURE__ */ jsx(\n DialogContentImpl,\n {\n ...props,\n ref: forwardedRef,\n trapFocus: false,\n disableOutsidePointerEvents: false,\n onCloseAutoFocus: (event) => {\n props.onCloseAutoFocus?.(event);\n if (!event.defaultPrevented) {\n if (!hasInteractedOutsideRef.current) context.triggerRef.current?.focus();\n event.preventDefault();\n }\n hasInteractedOutsideRef.current = false;\n hasPointerDownOutsideRef.current = false;\n },\n onInteractOutside: (event) => {\n props.onInteractOutside?.(event);\n if (!event.defaultPrevented) {\n hasInteractedOutsideRef.current = true;\n if (event.detail.originalEvent.type === \"pointerdown\") {\n hasPointerDownOutsideRef.current = true;\n }\n }\n const target = event.target;\n const targetIsTrigger = context.triggerRef.current?.contains(target);\n if (targetIsTrigger) event.preventDefault();\n if (event.detail.originalEvent.type === \"focusin\" && hasPointerDownOutsideRef.current) {\n event.preventDefault();\n }\n }\n }\n );\n }\n);\nvar DialogContentImpl = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDialog, trapFocus, onOpenAutoFocus, onCloseAutoFocus, ...contentProps } = props;\n const context = useDialogContext(CONTENT_NAME, __scopeDialog);\n const contentRef = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, contentRef);\n useFocusGuards();\n return /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(\n FocusScope,\n {\n asChild: true,\n loop: true,\n trapped: trapFocus,\n onMountAutoFocus: onOpenAutoFocus,\n onUnmountAutoFocus: onCloseAutoFocus,\n children: /* @__PURE__ */ jsx(\n DismissableLayer,\n {\n role: \"dialog\",\n id: context.contentId,\n \"aria-describedby\": context.descriptionId,\n \"aria-labelledby\": context.titleId,\n \"data-state\": getState(context.open),\n ...contentProps,\n ref: composedRefs,\n onDismiss: () => context.onOpenChange(false)\n }\n )\n }\n ),\n /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(TitleWarning, { titleId: context.titleId }),\n /* @__PURE__ */ jsx(DescriptionWarning, { contentRef, descriptionId: context.descriptionId })\n ] })\n ] });\n }\n);\nvar TITLE_NAME = \"DialogTitle\";\nvar DialogTitle = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDialog, ...titleProps } = props;\n const context = useDialogContext(TITLE_NAME, __scopeDialog);\n return /* @__PURE__ */ jsx(Primitive.h2, { id: context.titleId, ...titleProps, ref: forwardedRef });\n }\n);\nDialogTitle.displayName = TITLE_NAME;\nvar DESCRIPTION_NAME = \"DialogDescription\";\nvar DialogDescription = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDialog, ...descriptionProps } = props;\n const context = useDialogContext(DESCRIPTION_NAME, __scopeDialog);\n return /* @__PURE__ */ jsx(Primitive.p, { id: context.descriptionId, ...descriptionProps, ref: forwardedRef });\n }\n);\nDialogDescription.displayName = DESCRIPTION_NAME;\nvar CLOSE_NAME = \"DialogClose\";\nvar DialogClose = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDialog, ...closeProps } = props;\n const context = useDialogContext(CLOSE_NAME, __scopeDialog);\n return /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n ...closeProps,\n ref: forwardedRef,\n onClick: composeEventHandlers(props.onClick, () => context.onOpenChange(false))\n }\n );\n }\n);\nDialogClose.displayName = CLOSE_NAME;\nfunction getState(open) {\n return open ? \"open\" : \"closed\";\n}\nvar TITLE_WARNING_NAME = \"DialogTitleWarning\";\nvar [WarningProvider, useWarningContext] = createContext(TITLE_WARNING_NAME, {\n contentName: CONTENT_NAME,\n titleName: TITLE_NAME,\n docsSlug: \"dialog\"\n});\nvar TitleWarning = ({ titleId }) => {\n const titleWarningContext = useWarningContext(TITLE_WARNING_NAME);\n const MESSAGE = `\\`${titleWarningContext.contentName}\\` requires a \\`${titleWarningContext.titleName}\\` for the component to be accessible for screen reader users.\n\nIf you want to hide the \\`${titleWarningContext.titleName}\\`, you can wrap it with our VisuallyHidden component.\n\nFor more information, see https://radix-ui.com/primitives/docs/components/${titleWarningContext.docsSlug}`;\n React.useEffect(() => {\n if (titleId) {\n const hasTitle = document.getElementById(titleId);\n if (!hasTitle) console.error(MESSAGE);\n }\n }, [MESSAGE, titleId]);\n return null;\n};\nvar DESCRIPTION_WARNING_NAME = \"DialogDescriptionWarning\";\nvar DescriptionWarning = ({ contentRef, descriptionId }) => {\n const descriptionWarningContext = useWarningContext(DESCRIPTION_WARNING_NAME);\n const MESSAGE = `Warning: Missing \\`Description\\` or \\`aria-describedby={undefined}\\` for {${descriptionWarningContext.contentName}}.`;\n React.useEffect(() => {\n const describedById = contentRef.current?.getAttribute(\"aria-describedby\");\n if (descriptionId && describedById) {\n const hasDescription = document.getElementById(descriptionId);\n if (!hasDescription) console.warn(MESSAGE);\n }\n }, [MESSAGE, contentRef, descriptionId]);\n return null;\n};\nvar Root = Dialog;\nvar Trigger = DialogTrigger;\nvar Portal = DialogPortal;\nvar Overlay = DialogOverlay;\nvar Content = DialogContent;\nvar Title = DialogTitle;\nvar Description = DialogDescription;\nvar Close = DialogClose;\nexport {\n Close,\n Content,\n Description,\n Dialog,\n DialogClose,\n DialogContent,\n DialogDescription,\n DialogOverlay,\n DialogPortal,\n DialogTitle,\n DialogTrigger,\n Overlay,\n Portal,\n Root,\n Title,\n Trigger,\n WarningProvider,\n createDialogScope\n};\n//# sourceMappingURL=index.mjs.map\n"],"names":["DIALOG_NAME","createDialogContext","createDialogScope","createContextScope","DialogProvider","useDialogContext","Dialog","props","__scopeDialog","children","open","openProp","defaultOpen","onOpenChange","modal","triggerRef","React","useRef","contentRef","setOpen","useControllableState","prop","defaultProp","onChange","caller","jsx","scope","contentId","useId","titleId","descriptionId","onOpenToggle","useCallback","prevOpen","displayName","TRIGGER_NAME","DialogTrigger","forwardRef","forwardedRef","triggerProps","context","composedTriggerRef","useComposedRefs","Primitive","button","type","getState","ref","onClick","composeEventHandlers","PORTAL_NAME","PortalProvider","usePortalContext","forceMount","DialogPortal","container","Children","map","child","Presence","present","PortalPrimitive","asChild","OVERLAY_NAME","DialogOverlay","portalContext","overlayProps","DialogOverlayImpl","Slot","createSlot","RemoveScroll","as","allowPinchZoom","shards","div","style","pointerEvents","CONTENT_NAME","DialogContent","contentProps","DialogContentModal","DialogContentNonModal","composedRefs","useEffect","content","current","hideOthers","DialogContentImpl","trapFocus","disableOutsidePointerEvents","onCloseAutoFocus","event","preventDefault","focus","onPointerDownOutside","originalEvent","detail","ctrlLeftClick","ctrlKey","onFocusOutside","hasInteractedOutsideRef","hasPointerDownOutsideRef","defaultPrevented","onInteractOutside","target","targetIsTrigger","contains","onOpenAutoFocus","useFocusGuards","jsxs","Fragment","FocusScope","loop","trapped","onMountAutoFocus","onUnmountAutoFocus","DismissableLayer","role","id","onDismiss","TitleWarning","DescriptionWarning","TITLE_NAME","DialogTitle","titleProps","h2","DESCRIPTION_NAME","DialogDescription","descriptionProps","p","CLOSE_NAME","DialogClose","closeProps","TITLE_WARNING_NAME","WarningProvider","useWarningContext","createContext","contentName","titleName","docsSlug","titleWarningContext","MESSAGE","document","getElementById","describedById","getAttribute","Root","Trigger","Portal","Overlay","Content","Title","Description","Close"],"mappings":"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","x_google_ignoreList":[0]}
@@ -0,0 +1,2 @@
1
+ import*as e from"react";import{c as t}from"./index-DCzuZZz4.mjs";import{P as n,d as r}from"./index-CZMSgrEB.mjs";import{u as s}from"./index-C3QHFNp7.mjs";import{u as o}from"./index-BJZ14-gh.mjs";import{jsx as i}from"react/jsx-runtime";import a from"react-dom";import{u}from"./index-DtAARIfz.mjs";var c,d="dismissableLayer.update",l="dismissableLayer.pointerDownOutside",f="dismissableLayer.focusOutside",m=e.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),v=e.forwardRef((r,a)=>{const{disableOutsidePointerEvents:u=!1,onEscapeKeyDown:v,onPointerDownOutside:p,onFocusOutside:b,onInteractOutside:w,onDismiss:h,...D}=r,P=e.useContext(m),[L,C]=e.useState(null),O=L?.ownerDocument??globalThis?.document,[,g]=e.useState({}),x=s(a,e=>C(e)),R=Array.from(P.layers),[T]=[...P.layersWithOutsidePointerEventsDisabled].slice(-1),k=R.indexOf(T),W=L?R.indexOf(L):-1,j=P.layersWithOutsidePointerEventsDisabled.size>0,B=W>=k,S=function(t,n=globalThis?.document){const r=o(t),s=e.useRef(!1),i=e.useRef(()=>{});return e.useEffect(()=>{const e=e=>{if(e.target&&!s.current){let t=function(){y(l,r,s,{discrete:!0})};const s={originalEvent:e};"touch"===e.pointerType?(n.removeEventListener("click",i.current),i.current=t,n.addEventListener("click",i.current,{once:!0})):t()}else n.removeEventListener("click",i.current);s.current=!1},t=window.setTimeout(()=>{n.addEventListener("pointerdown",e)},0);return()=>{window.clearTimeout(t),n.removeEventListener("pointerdown",e),n.removeEventListener("click",i.current)}},[n,r]),{onPointerDownCapture:()=>s.current=!0}}(e=>{const t=e.target,n=[...P.branches].some(e=>e.contains(t));B&&!n&&(p?.(e),w?.(e),e.defaultPrevented||h?.())},O),F=function(t,n=globalThis?.document){const r=o(t),s=e.useRef(!1);return e.useEffect(()=>{const e=e=>{if(e.target&&!s.current){y(f,r,{originalEvent:e},{discrete:!1})}};return n.addEventListener("focusin",e),()=>n.removeEventListener("focusin",e)},[n,r]),{onFocusCapture:()=>s.current=!0,onBlurCapture:()=>s.current=!1}}(e=>{const t=e.target;[...P.branches].some(e=>e.contains(t))||(b?.(e),w?.(e),e.defaultPrevented||h?.())},O);return function(t,n=globalThis?.document){const r=o(t);e.useEffect(()=>{const e=e=>{"Escape"===e.key&&r(e)};return n.addEventListener("keydown",e,{capture:!0}),()=>n.removeEventListener("keydown",e,{capture:!0})},[r,n])}(e=>{W===P.layers.size-1&&(v?.(e),!e.defaultPrevented&&h&&(e.preventDefault(),h()))},O),e.useEffect(()=>{if(L)return u&&(0===P.layersWithOutsidePointerEventsDisabled.size&&(c=O.body.style.pointerEvents,O.body.style.pointerEvents="none"),P.layersWithOutsidePointerEventsDisabled.add(L)),P.layers.add(L),E(),()=>{u&&1===P.layersWithOutsidePointerEventsDisabled.size&&(O.body.style.pointerEvents=c)}},[L,O,u,P]),e.useEffect(()=>()=>{L&&(P.layers.delete(L),P.layersWithOutsidePointerEventsDisabled.delete(L),E())},[L,P]),e.useEffect(()=>{const e=()=>g({});return document.addEventListener(d,e),()=>document.removeEventListener(d,e)},[]),i(n.div,{...D,ref:x,style:{pointerEvents:j?B?"auto":"none":void 0,...r.style},onFocusCapture:t(r.onFocusCapture,F.onFocusCapture),onBlurCapture:t(r.onBlurCapture,F.onBlurCapture),onPointerDownCapture:t(r.onPointerDownCapture,S.onPointerDownCapture)})});v.displayName="DismissableLayer";var p=e.forwardRef((t,r)=>{const o=e.useContext(m),a=e.useRef(null),u=s(r,a);return e.useEffect(()=>{const e=a.current;if(e)return o.branches.add(e),()=>{o.branches.delete(e)}},[o.branches]),i(n.div,{...t,ref:u})});function E(){const e=new CustomEvent(d);document.dispatchEvent(e)}function y(e,t,n,{discrete:s}){const o=n.originalEvent.target,i=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&o.addEventListener(e,t,{once:!0}),s?r(o,i):o.dispatchEvent(i)}p.displayName="DismissableLayerBranch";var b=v,w=p,h=e.forwardRef((t,r)=>{const{container:s,...o}=t,[c,d]=e.useState(!1);u(()=>d(!0),[]);const l=s||c&&globalThis?.document?.body;return l?a.createPortal(i(n.div,{...o,ref:r}),l):null});h.displayName="Portal";export{w as B,v as D,h as P,b as R};
2
+ //# sourceMappingURL=index-PTRe4YNS.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-j5UZGMap.mjs","sources":["../../node_modules/@radix-ui/react-dismissable-layer/dist/index.mjs","../../node_modules/@radix-ui/react-use-escape-keydown/dist/index.mjs","../../node_modules/@radix-ui/react-portal/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","// 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","\"use client\";\n\n// src/portal.tsx\nimport * as React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nimport { jsx } from \"react/jsx-runtime\";\nvar PORTAL_NAME = \"Portal\";\nvar Portal = React.forwardRef((props, forwardedRef) => {\n const { container: containerProp, ...portalProps } = props;\n const [mounted, setMounted] = React.useState(false);\n useLayoutEffect(() => setMounted(true), []);\n const container = containerProp || mounted && globalThis?.document?.body;\n return container ? ReactDOM.createPortal(/* @__PURE__ */ jsx(Primitive.div, { ...portalProps, ref: forwardedRef }), container) : null;\n});\nPortal.displayName = PORTAL_NAME;\nvar Root = Portal;\nexport {\n Portal,\n Root\n};\n//# sourceMappingURL=index.mjs.map\n"],"names":["originalBodyPointerEvents","CONTEXT_UPDATE","POINTER_DOWN_OUTSIDE","FOCUS_OUTSIDE","DismissableLayerContext","React","createContext","layers","Set","layersWithOutsidePointerEventsDisabled","branches","DismissableLayer","forwardRef","props","forwardedRef","disableOutsidePointerEvents","onEscapeKeyDown","onPointerDownOutside","onFocusOutside","onInteractOutside","onDismiss","layerProps","context","useContext","node","setNode","useState","ownerDocument","globalThis","document","force","composedRefs","useComposedRefs","Array","from","highestLayerWithOutsidePointerEventsDisabled","slice","highestLayerWithOutsidePointerEventsDisabledIndex","indexOf","index","isBodyPointerEventsDisabled","size","isPointerEventsEnabled","pointerDownOutside","handlePointerDownOutside","useCallbackRef","isPointerInsideReactTreeRef","useRef","handleClickRef","useEffect","handlePointerDown","event","target","current","handleAndDispatchPointerDownOutsideEvent","handleAndDispatchCustomEvent","eventDetail","discrete","originalEvent","pointerType","removeEventListener","addEventListener","once","timerId","window","setTimeout","clearTimeout","onPointerDownCapture","usePointerDownOutside","isPointerDownOnBranch","some","branch","contains","defaultPrevented","focusOutside","handleFocusOutside","isFocusInsideReactTreeRef","handleFocus","onFocusCapture","onBlurCapture","useFocusOutside","onEscapeKeyDownProp","handleKeyDown","key","capture","useEscapeKeydown","preventDefault","body","style","pointerEvents","add","dispatchUpdate","delete","handleUpdate","jsx","Primitive","div","ref","composeEventHandlers","displayName","DismissableLayerBranch","CustomEvent","dispatchEvent","name","handler","detail","bubbles","cancelable","dispatchDiscreteCustomEvent","Root","Branch","Portal","container","containerProp","portalProps","mounted","setMounted","useLayoutEffect","ReactDOM","createPortal"],"mappings":"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","x_google_ignoreList":[0,1,2]}
1
+ {"version":3,"file":"index-PTRe4YNS.mjs","sources":["../../node_modules/@radix-ui/react-dismissable-layer/dist/index.mjs","../../node_modules/@radix-ui/react-use-escape-keydown/dist/index.mjs","../../node_modules/@radix-ui/react-portal/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","// 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","\"use client\";\n\n// src/portal.tsx\nimport * as React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nimport { jsx } from \"react/jsx-runtime\";\nvar PORTAL_NAME = \"Portal\";\nvar Portal = React.forwardRef((props, forwardedRef) => {\n const { container: containerProp, ...portalProps } = props;\n const [mounted, setMounted] = React.useState(false);\n useLayoutEffect(() => setMounted(true), []);\n const container = containerProp || mounted && globalThis?.document?.body;\n return container ? ReactDOM.createPortal(/* @__PURE__ */ jsx(Primitive.div, { ...portalProps, ref: forwardedRef }), container) : null;\n});\nPortal.displayName = PORTAL_NAME;\nvar Root = Portal;\nexport {\n Portal,\n Root\n};\n//# sourceMappingURL=index.mjs.map\n"],"names":["originalBodyPointerEvents","CONTEXT_UPDATE","POINTER_DOWN_OUTSIDE","FOCUS_OUTSIDE","DismissableLayerContext","React","createContext","layers","Set","layersWithOutsidePointerEventsDisabled","branches","DismissableLayer","forwardRef","props","forwardedRef","disableOutsidePointerEvents","onEscapeKeyDown","onPointerDownOutside","onFocusOutside","onInteractOutside","onDismiss","layerProps","context","useContext","node","setNode","useState","ownerDocument","globalThis","document","force","composedRefs","useComposedRefs","Array","from","highestLayerWithOutsidePointerEventsDisabled","slice","highestLayerWithOutsidePointerEventsDisabledIndex","indexOf","index","isBodyPointerEventsDisabled","size","isPointerEventsEnabled","pointerDownOutside","handlePointerDownOutside","useCallbackRef","isPointerInsideReactTreeRef","useRef","handleClickRef","useEffect","handlePointerDown","event","target","current","handleAndDispatchPointerDownOutsideEvent","handleAndDispatchCustomEvent","eventDetail","discrete","originalEvent","pointerType","removeEventListener","addEventListener","once","timerId","window","setTimeout","clearTimeout","onPointerDownCapture","usePointerDownOutside","isPointerDownOnBranch","some","branch","contains","defaultPrevented","focusOutside","handleFocusOutside","isFocusInsideReactTreeRef","handleFocus","onFocusCapture","onBlurCapture","useFocusOutside","onEscapeKeyDownProp","handleKeyDown","key","capture","useEscapeKeydown","preventDefault","body","style","pointerEvents","add","dispatchUpdate","delete","handleUpdate","jsx","Primitive","div","ref","composeEventHandlers","displayName","DismissableLayerBranch","CustomEvent","dispatchEvent","name","handler","detail","bubbles","cancelable","dispatchDiscreteCustomEvent","Root","Branch","Portal","container","containerProp","portalProps","mounted","setMounted","useLayoutEffect","ReactDOM","createPortal"],"mappings":"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","x_google_ignoreList":[0,1,2]}
@@ -1,2 +1,2 @@
1
- import*as r from"react";import{u as t}from"./index-C-gmRzgE.mjs";var i=r[" useId ".trim().toString()]||(()=>{}),o=0;function a(a){const[e,n]=r.useState(i());return t(()=>{n(r=>r??String(o++))},[a]),e?`radix-${e}`:""}export{a as u};
2
- //# sourceMappingURL=index-sxa3-G-E.mjs.map
1
+ import*as r from"react";import{u as t}from"./index-DtAARIfz.mjs";var i=r[" useId ".trim().toString()]||(()=>{}),o=0;function a(a){const[e,n]=r.useState(i());return t(()=>{n(r=>r??String(o++))},[a]),e?`radix-${e}`:""}export{a as u};
2
+ //# sourceMappingURL=index-qj95ftFz.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-sxa3-G-E.mjs","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","trim","toString","count","useId","deterministicId","id","setId","useState","useLayoutEffect","reactId","String"],"mappings":"iEAIA,IAAMA,EAAcC,EAAc,UAAUC,OAAOC,aAAU,MAAY,GACrEC,EAAQ,EAEZ,SAASC,EAAMC,GACb,MAAOC,EAAIC,GAAeP,EAAAQ,SAA6BT,KAKvD,OAHAU,EAAgB,KACQF,EAAOG,GAAYA,GAAWC,OAAOR,OAC1D,CAACE,IACuBC,EAAK,SAASA,IAAO,EAClD","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index-qj95ftFz.mjs","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","trim","toString","count","useId","deterministicId","id","setId","useState","useLayoutEffect","reactId","String"],"mappings":"iEAIA,IAAMA,EAAcC,EAAc,UAAUC,OAAOC,aAAU,MAAY,GACrEC,EAAQ,EAEZ,SAASC,EAAMC,GACb,MAAOC,EAAIC,GAAeP,EAAAQ,SAA6BT,KAKvD,OAHAU,EAAgB,KACQF,EAAOG,GAAYA,GAAWC,OAAOR,OAC1D,CAACE,IACuBC,EAAK,SAASA,IAAO,EAClD","x_google_ignoreList":[0]}
@@ -0,0 +1,2 @@
1
+ import*as e from"react";import{c as n}from"./index-DCzuZZz4.mjs";import{createCollection as t}from"@radix-ui/react-collection";import{u as r,c as o}from"./index-C3QHFNp7.mjs";import{c as a}from"./index-BO-2wsZH.mjs";import{u as c}from"./index-BzvNkDmM.mjs";import{P as s,D as u}from"./index-PTRe4YNS.mjs";import{h as i,u as l,R as d,F as f}from"./index-BVACT7xe.mjs";import{u as p}from"./index-qj95ftFz.mjs";import{c as m,R as h,A as v,C as g,a as _}from"./index-BMe6PFsX.mjs";import{P as w}from"./index-D532f2iM.mjs";import{P as M,d as C}from"./index-CZMSgrEB.mjs";import{c as y,I as b,R}from"./index-DOiEGiat.mjs";import{createSlot as P}from"@radix-ui/react-slot";import{u as k}from"./index-BJZ14-gh.mjs";import{jsx as x}from"react/jsx-runtime";var D=["Enter"," "],E=["ArrowUp","PageDown","End"],O=["ArrowDown","PageUp","Home",...E],I={ltr:[...D,"ArrowRight"],rtl:[...D,"ArrowLeft"]},S={ltr:["ArrowLeft"],rtl:["ArrowRight"]},T="Menu",[F,L,K]=t(T),[A,N]=a(T,[K,m,y]),j=m(),G=y(),[V,U]=A(T),[B,X]=A(T),Y=n=>{const{__scopeMenu:t,open:r=!1,children:o,dir:a,onOpenChange:s,modal:u=!0}=n,i=j(t),[l,d]=e.useState(null),f=e.useRef(!1),p=k(s),m=c(a);return e.useEffect(()=>{const e=()=>{f.current=!0,document.addEventListener("pointerdown",n,{capture:!0,once:!0}),document.addEventListener("pointermove",n,{capture:!0,once:!0})},n=()=>f.current=!1;return document.addEventListener("keydown",e,{capture:!0}),()=>{document.removeEventListener("keydown",e,{capture:!0}),document.removeEventListener("pointerdown",n,{capture:!0}),document.removeEventListener("pointermove",n,{capture:!0})}},[]),x(h,{...i,children:x(V,{scope:t,open:r,onOpenChange:p,content:l,onContentChange:d,children:x(B,{scope:t,onClose:e.useCallback(()=>p(!1),[p]),isUsingKeyboardRef:f,dir:m,modal:u,children:o})})})};Y.displayName=T;var z=e.forwardRef((e,n)=>{const{__scopeMenu:t,...r}=e,o=j(t);return x(v,{...o,...r,ref:n})});z.displayName="MenuAnchor";var H="MenuPortal",[J,W]=A(H,{forceMount:void 0}),Z=e=>{const{__scopeMenu:n,forceMount:t,children:r,container:o}=e,a=U(H,n);return x(J,{scope:n,forceMount:t,children:x(w,{present:t||a.open,children:x(s,{asChild:!0,container:o,children:r})})})};Z.displayName=H;var q="MenuContent",[Q,$]=A(q),ee=e.forwardRef((e,n)=>{const t=W(q,e.__scopeMenu),{forceMount:r=t.forceMount,...o}=e,a=U(q,e.__scopeMenu),c=X(q,e.__scopeMenu);return x(F.Provider,{scope:e.__scopeMenu,children:x(w,{present:r||a.open,children:x(F.Slot,{scope:e.__scopeMenu,children:c.modal?x(ne,{...o,ref:n}):x(te,{...o,ref:n})})})})}),ne=e.forwardRef((t,o)=>{const a=U(q,t.__scopeMenu),c=e.useRef(null),s=r(o,c);return e.useEffect(()=>{const e=c.current;if(e)return i(e)},[]),x(oe,{...t,ref:s,trapFocus:a.open,disableOutsidePointerEvents:a.open,disableOutsideScroll:!0,onFocusOutside:n(t.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>a.onOpenChange(!1)})}),te=e.forwardRef((e,n)=>{const t=U(q,e.__scopeMenu);return x(oe,{...e,ref:n,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>t.onOpenChange(!1)})}),re=P("MenuContent.ScrollLock"),oe=e.forwardRef((t,o)=>{const{__scopeMenu:a,loop:c=!1,trapFocus:s,onOpenAutoFocus:i,onCloseAutoFocus:p,disableOutsidePointerEvents:m,onEntryFocus:h,onEscapeKeyDown:v,onPointerDownOutside:_,onFocusOutside:w,onInteractOutside:M,onDismiss:C,disableOutsideScroll:y,...b}=t,P=U(q,a),k=X(q,a),D=j(a),I=G(a),S=L(a),[T,F]=e.useState(null),K=e.useRef(null),A=r(o,K,P.onContentChange),N=e.useRef(0),V=e.useRef(""),B=e.useRef(0),Y=e.useRef(null),z=e.useRef("right"),H=e.useRef(0),J=y?d:e.Fragment,W=y?{as:re,allowPinchZoom:!0}:void 0,Z=e=>{const n=V.current+e,t=S().filter(e=>!e.disabled),r=document.activeElement,o=t.find(e=>e.ref.current===r)?.textValue,a=function(e,n,t){const r=n.length>1&&Array.from(n).every(e=>e===n[0]),o=r?n[0]:n,a=t?e.indexOf(t):-1;let c=(s=e,u=Math.max(a,0),s.map((e,n)=>s[(u+n)%s.length]));var s,u;1===o.length&&(c=c.filter(e=>e!==t));const i=c.find(e=>e.toLowerCase().startsWith(o.toLowerCase()));return i!==t?i:void 0}(t.map(e=>e.textValue),n,o),c=t.find(e=>e.textValue===a)?.ref.current;!function e(n){V.current=n,window.clearTimeout(N.current),""!==n&&(N.current=window.setTimeout(()=>e(""),1e3))}(n),c&&setTimeout(()=>c.focus())};e.useEffect(()=>()=>window.clearTimeout(N.current),[]),l();const $=e.useCallback(e=>z.current===Y.current?.side&&function(e,n){if(!n)return!1;const t={x:e.clientX,y:e.clientY};return function(e,n){const{x:t,y:r}=e;let o=!1;for(let e=0,a=n.length-1;e<n.length;a=e++){const c=n[e],s=n[a],u=c.x,i=c.y,l=s.x,d=s.y;i>r!=d>r&&t<(l-u)*(r-i)/(d-i)+u&&(o=!o)}return o}(t,n)}(e,Y.current?.area),[]);return x(Q,{scope:a,searchRef:V,onItemEnter:e.useCallback(e=>{$(e)&&e.preventDefault()},[$]),onItemLeave:e.useCallback(e=>{$(e)||(K.current?.focus(),F(null))},[$]),onTriggerLeave:e.useCallback(e=>{$(e)&&e.preventDefault()},[$]),pointerGraceTimerRef:B,onPointerGraceIntentChange:e.useCallback(e=>{Y.current=e},[]),children:x(J,{...W,children:x(f,{asChild:!0,trapped:s,onMountAutoFocus:n(i,e=>{e.preventDefault(),K.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:p,children:x(u,{asChild:!0,disableOutsidePointerEvents:m,onEscapeKeyDown:v,onPointerDownOutside:_,onFocusOutside:w,onInteractOutside:M,onDismiss:C,children:x(R,{asChild:!0,...I,dir:k.dir,orientation:"vertical",loop:c,currentTabStopId:T,onCurrentTabStopIdChange:F,onEntryFocus:n(h,e=>{k.isUsingKeyboardRef.current||e.preventDefault()}),preventScrollOnEntryFocus:!0,children:x(g,{role:"menu","aria-orientation":"vertical","data-state":Se(P.open),"data-radix-menu-content":"",dir:k.dir,...D,...b,ref:A,style:{outline:"none",...b.style},onKeyDown:n(b.onKeyDown,e=>{const n=e.target.closest("[data-radix-menu-content]")===e.currentTarget,t=e.ctrlKey||e.altKey||e.metaKey,r=1===e.key.length;n&&("Tab"===e.key&&e.preventDefault(),!t&&r&&Z(e.key));const o=K.current;if(e.target!==o)return;if(!O.includes(e.key))return;e.preventDefault();const a=S().filter(e=>!e.disabled).map(e=>e.ref.current);E.includes(e.key)&&a.reverse(),function(e){const n=document.activeElement;for(const t of e){if(t===n)return;if(t.focus(),document.activeElement!==n)return}}(a)}),onBlur:n(t.onBlur,e=>{e.currentTarget.contains(e.target)||(window.clearTimeout(N.current),V.current="")}),onPointerMove:n(t.onPointerMove,Le(e=>{const n=e.target,t=H.current!==e.clientX;if(e.currentTarget.contains(n)&&t){const n=e.clientX>H.current?"right":"left";z.current=n,H.current=e.clientX}}))})})})})})})});ee.displayName=q;var ae=e.forwardRef((e,n)=>{const{__scopeMenu:t,...r}=e;return x(M.div,{role:"group",...r,ref:n})});ae.displayName="MenuGroup";var ce=e.forwardRef((e,n)=>{const{__scopeMenu:t,...r}=e;return x(M.div,{...r,ref:n})});ce.displayName="MenuLabel";var se="MenuItem",ue="menu.itemSelect",ie=e.forwardRef((t,o)=>{const{disabled:a=!1,onSelect:c,...s}=t,u=e.useRef(null),i=X(se,t.__scopeMenu),l=$(se,t.__scopeMenu),d=r(o,u),f=e.useRef(!1);return x(le,{...s,ref:d,disabled:a,onClick:n(t.onClick,()=>{const e=u.current;if(!a&&e){const n=new CustomEvent(ue,{bubbles:!0,cancelable:!0});e.addEventListener(ue,e=>c?.(e),{once:!0}),C(e,n),n.defaultPrevented?f.current=!1:i.onClose()}}),onPointerDown:e=>{t.onPointerDown?.(e),f.current=!0},onPointerUp:n(t.onPointerUp,e=>{f.current||e.currentTarget?.click()}),onKeyDown:n(t.onKeyDown,e=>{const n=""!==l.searchRef.current;a||n&&" "===e.key||D.includes(e.key)&&(e.currentTarget.click(),e.preventDefault())})})});ie.displayName=se;var le=e.forwardRef((t,o)=>{const{__scopeMenu:a,disabled:c=!1,textValue:s,...u}=t,i=$(se,a),l=G(a),d=e.useRef(null),f=r(o,d),[p,m]=e.useState(!1),[h,v]=e.useState("");return e.useEffect(()=>{const e=d.current;e&&v((e.textContent??"").trim())},[u.children]),x(F.ItemSlot,{scope:a,disabled:c,textValue:s??h,children:x(b,{asChild:!0,...l,focusable:!c,children:x(M.div,{role:"menuitem","data-highlighted":p?"":void 0,"aria-disabled":c||void 0,"data-disabled":c?"":void 0,...u,ref:f,onPointerMove:n(t.onPointerMove,Le(e=>{if(c)i.onItemLeave(e);else if(i.onItemEnter(e),!e.defaultPrevented){e.currentTarget.focus({preventScroll:!0})}})),onPointerLeave:n(t.onPointerLeave,Le(e=>i.onItemLeave(e))),onFocus:n(t.onFocus,()=>m(!0)),onBlur:n(t.onBlur,()=>m(!1))})})})}),de=e.forwardRef((e,t)=>{const{checked:r=!1,onCheckedChange:o,...a}=e;return x(we,{scope:e.__scopeMenu,checked:r,children:x(ie,{role:"menuitemcheckbox","aria-checked":Te(r)?"mixed":r,...a,ref:t,"data-state":Fe(r),onSelect:n(a.onSelect,()=>o?.(!!Te(r)||!r),{checkForDefaultPrevented:!1})})})});de.displayName="MenuCheckboxItem";var fe="MenuRadioGroup",[pe,me]=A(fe,{value:void 0,onValueChange:()=>{}}),he=e.forwardRef((e,n)=>{const{value:t,onValueChange:r,...o}=e,a=k(r);return x(pe,{scope:e.__scopeMenu,value:t,onValueChange:a,children:x(ae,{...o,ref:n})})});he.displayName=fe;var ve="MenuRadioItem",ge=e.forwardRef((e,t)=>{const{value:r,...o}=e,a=me(ve,e.__scopeMenu),c=r===a.value;return x(we,{scope:e.__scopeMenu,checked:c,children:x(ie,{role:"menuitemradio","aria-checked":c,...o,ref:t,"data-state":Fe(c),onSelect:n(o.onSelect,()=>a.onValueChange?.(r),{checkForDefaultPrevented:!1})})})});ge.displayName=ve;var _e="MenuItemIndicator",[we,Me]=A(_e,{checked:!1}),Ce=e.forwardRef((e,n)=>{const{__scopeMenu:t,forceMount:r,...o}=e,a=Me(_e,t);return x(w,{present:r||Te(a.checked)||!0===a.checked,children:x(M.span,{...o,ref:n,"data-state":Fe(a.checked)})})});Ce.displayName=_e;var ye=e.forwardRef((e,n)=>{const{__scopeMenu:t,...r}=e;return x(M.div,{role:"separator","aria-orientation":"horizontal",...r,ref:n})});ye.displayName="MenuSeparator";var be=e.forwardRef((e,n)=>{const{__scopeMenu:t,...r}=e,o=j(t);return x(_,{...o,...r,ref:n})});be.displayName="MenuArrow";var Re="MenuSub",[Pe,ke]=A(Re),xe=n=>{const{__scopeMenu:t,children:r,open:o=!1,onOpenChange:a}=n,c=U(Re,t),s=j(t),[u,i]=e.useState(null),[l,d]=e.useState(null),f=k(a);return e.useEffect(()=>(!1===c.open&&f(!1),()=>f(!1)),[c.open,f]),x(h,{...s,children:x(V,{scope:t,open:o,onOpenChange:f,content:l,onContentChange:d,children:x(Pe,{scope:t,contentId:p(),triggerId:p(),trigger:u,onTriggerChange:i,children:r})})})};xe.displayName=Re;var De="MenuSubTrigger",Ee=e.forwardRef((t,r)=>{const a=U(De,t.__scopeMenu),c=X(De,t.__scopeMenu),s=ke(De,t.__scopeMenu),u=$(De,t.__scopeMenu),i=e.useRef(null),{pointerGraceTimerRef:l,onPointerGraceIntentChange:d}=u,f={__scopeMenu:t.__scopeMenu},p=e.useCallback(()=>{i.current&&window.clearTimeout(i.current),i.current=null},[]);return e.useEffect(()=>p,[p]),e.useEffect(()=>{const e=l.current;return()=>{window.clearTimeout(e),d(null)}},[l,d]),x(z,{asChild:!0,...f,children:x(le,{id:s.triggerId,"aria-haspopup":"menu","aria-expanded":a.open,"aria-controls":s.contentId,"data-state":Se(a.open),...t,ref:o(r,s.onTriggerChange),onClick:e=>{t.onClick?.(e),t.disabled||e.defaultPrevented||(e.currentTarget.focus(),a.open||a.onOpenChange(!0))},onPointerMove:n(t.onPointerMove,Le(e=>{u.onItemEnter(e),e.defaultPrevented||t.disabled||a.open||i.current||(u.onPointerGraceIntentChange(null),i.current=window.setTimeout(()=>{a.onOpenChange(!0),p()},100))})),onPointerLeave:n(t.onPointerLeave,Le(e=>{p();const n=a.content?.getBoundingClientRect();if(n){const t=a.content?.dataset.side,r="right"===t,o=r?-5:5,c=n[r?"left":"right"],s=n[r?"right":"left"];u.onPointerGraceIntentChange({area:[{x:e.clientX+o,y:e.clientY},{x:c,y:n.top},{x:s,y:n.top},{x:s,y:n.bottom},{x:c,y:n.bottom}],side:t}),window.clearTimeout(l.current),l.current=window.setTimeout(()=>u.onPointerGraceIntentChange(null),300)}else{if(u.onTriggerLeave(e),e.defaultPrevented)return;u.onPointerGraceIntentChange(null)}})),onKeyDown:n(t.onKeyDown,e=>{const n=""!==u.searchRef.current;t.disabled||n&&" "===e.key||I[c.dir].includes(e.key)&&(a.onOpenChange(!0),a.content?.focus(),e.preventDefault())})})})});Ee.displayName=De;var Oe="MenuSubContent",Ie=e.forwardRef((t,o)=>{const a=W(q,t.__scopeMenu),{forceMount:c=a.forceMount,...s}=t,u=U(q,t.__scopeMenu),i=X(q,t.__scopeMenu),l=ke(Oe,t.__scopeMenu),d=e.useRef(null),f=r(o,d);return x(F.Provider,{scope:t.__scopeMenu,children:x(w,{present:c||u.open,children:x(F.Slot,{scope:t.__scopeMenu,children:x(oe,{id:l.contentId,"aria-labelledby":l.triggerId,...s,ref:f,align:"start",side:"rtl"===i.dir?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:e=>{i.isUsingKeyboardRef.current&&d.current?.focus(),e.preventDefault()},onCloseAutoFocus:e=>e.preventDefault(),onFocusOutside:n(t.onFocusOutside,e=>{e.target!==l.trigger&&u.onOpenChange(!1)}),onEscapeKeyDown:n(t.onEscapeKeyDown,e=>{i.onClose(),e.preventDefault()}),onKeyDown:n(t.onKeyDown,e=>{const n=e.currentTarget.contains(e.target),t=S[i.dir].includes(e.key);n&&t&&(u.onOpenChange(!1),l.trigger?.focus(),e.preventDefault())})})})})})});function Se(e){return e?"open":"closed"}function Te(e){return"indeterminate"===e}function Fe(e){return Te(e)?"indeterminate":e?"checked":"unchecked"}function Le(e){return n=>"mouse"===n.pointerType?e(n):void 0}Ie.displayName=Oe;var Ke=Y,Ae=z,Ne=Z,je=ee,Ge=ae,Ve=ce,Ue=ie,Be=de,Xe=he,Ye=ge,ze=Ce,He=ye,Je=be,We=xe,Ze=Ee,qe=Ie;export{Ae as A,je as C,Ge as G,Ue as I,Ve as L,Ne as P,Ke as R,He as S,Be as a,ze as b,N as c,Xe as d,Ye as e,We as f,Ze as g,qe as h,Je as i};
2
+ //# sourceMappingURL=index-yLvhFHpw.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-yLvhFHpw.mjs","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","LAST_KEYS","FIRST_LAST_KEYS","SUB_OPEN_KEYS","ltr","rtl","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","useState","isUsingKeyboardRef","useRef","handleOpenChange","useCallbackRef","direction","useDirection","useEffect","handleKeyDown","current","document","addEventListener","handlePointer","capture","once","removeEventListener","jsx","PopperPrimitive.Root","scope","onContentChange","onClose","useCallback","displayName","MenuAnchor","forwardRef","forwardedRef","anchorProps","PopperPrimitive.Anchor","ref","PORTAL_NAME","PortalProvider","usePortalContext","forceMount","MenuPortal","container","context","Presence","present","PortalPrimitive","asChild","CONTENT_NAME","MenuContentProvider","useMenuContentContext","MenuContent","portalContext","contentProps","rootContext","Provider","Slot","MenuRootContentModal","MenuRootContentNonModal","composedRefs","useComposedRefs","hideOthers","MenuContentImpl","trapFocus","disableOutsidePointerEvents","disableOutsideScroll","onFocusOutside","composeEventHandlers","event","preventDefault","checkForDefaultPrevented","onDismiss","createSlot","loop","onOpenAutoFocus","onCloseAutoFocus","onEntryFocus","onEscapeKeyDown","onPointerDownOutside","onInteractOutside","rovingFocusGroupScope","getItems","currentItemId","setCurrentItemId","contentRef","timerRef","searchRef","pointerGraceTimerRef","pointerGraceIntentRef","pointerDirRef","lastPointerXRef","ScrollLockWrapper","RemoveScroll","Fragment","scrollLockWrapperProps","as","allowPinchZoom","handleTypeaheadSearch","key","search","items","filter","item","disabled","currentItem","activeElement","currentMatch","find","textValue","nextMatch","values","isRepeated","length","Array","from","every","char","normalizedSearch","currentMatchIndex","indexOf","wrappedValues","array","startIndex","Math","max","map","_","index","v","value","toLowerCase","startsWith","getNextMatch","newItem","updateSearch","window","clearTimeout","setTimeout","focus","useFocusGuards","isPointerMovingToSubmenu","side","area","cursorPos","x","clientX","y","clientY","point","polygon","inside","i","j","ii","jj","xi","yi","xj","yj","isPointInPolygon","isPointerInGraceArea","onItemEnter","onItemLeave","onTriggerLeave","onPointerGraceIntentChange","intent","FocusScope","trapped","onMountAutoFocus","preventScroll","onUnmountAutoFocus","DismissableLayer","RovingFocusGroup.Root","orientation","currentTabStopId","onCurrentTabStopIdChange","preventScrollOnEntryFocus","PopperPrimitive.Content","role","getOpenState","style","outline","onKeyDown","isKeyDownInside","target","closest","currentTarget","isModifierKey","ctrlKey","altKey","metaKey","isCharacterKey","includes","candidateNodes","reverse","candidates","PREVIOUSLY_FOCUSED_ELEMENT","candidate","focusFirst","onBlur","contains","onPointerMove","whenMouse","pointerXHasChanged","newDir","MenuGroup","groupProps","Primitive","div","MenuLabel","labelProps","ITEM_NAME","ITEM_SELECT","MenuItem","onSelect","itemProps","contentContext","isPointerDownRef","MenuItemImpl","onClick","menuItem","itemSelectEvent","CustomEvent","bubbles","cancelable","dispatchDiscreteCustomEvent","defaultPrevented","onPointerDown","onPointerUp","click","isTypingAhead","isFocused","setIsFocused","textContent","setTextContent","trim","ItemSlot","RovingFocusGroup.Item","focusable","onPointerLeave","onFocus","MenuCheckboxItem","checked","onCheckedChange","checkboxItemProps","ItemIndicatorProvider","isIndeterminate","getCheckedState","RADIO_GROUP_NAME","RadioGroupProvider","useRadioGroupContext","onValueChange","MenuRadioGroup","handleValueChange","RADIO_ITEM_NAME","MenuRadioItem","radioItemProps","ITEM_INDICATOR_NAME","useItemIndicatorContext","MenuItemIndicator","itemIndicatorProps","indicatorContext","span","MenuSeparator","separatorProps","MenuArrow","arrowProps","PopperPrimitive.Arrow","SUB_NAME","MenuSubProvider","useMenuSubContext","MenuSub","parentMenuContext","trigger","setTrigger","contentId","useId","triggerId","onTriggerChange","SUB_TRIGGER_NAME","MenuSubTrigger","subContext","openTimerRef","clearOpenTimer","pointerGraceTimer","id","composeRefs","contentRect","getBoundingClientRect","dataset","rightSide","bleed","contentNearEdge","contentFarEdge","top","bottom","SUB_CONTENT_NAME","MenuSubContent","subContentProps","align","isCloseKey","handler","pointerType","Root","Anchor","Portal","Content","Group","Label","Item","CheckboxItem","RadioGroup","RadioItem","ItemIndicator","Separator","Arrow","Sub","SubTrigger","SubContent"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1,2 +1,2 @@
1
- import{c as e}from"./utils-BNmnOQuQ.mjs";import t from"react";function r({className:r,type:o,...i}){return t.createElement("input",{type:o,"data-slot":"input",className:e("border-input file:text-foreground placeholder:text-muted-foreground focus-visible:ring-ring flex h-10 w-full rounded-md border bg-transparent px-3 py-1 text-base shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium focus-visible:ring-1 focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",r),...i})}export{r as I};
2
- //# sourceMappingURL=input-DyBbEcZb.mjs.map
1
+ import{c as e}from"./utils-CplKzw61.mjs";import t from"react";function r({className:r,type:o,...i}){return t.createElement("input",{type:o,"data-slot":"input",className:e("border-input file:text-foreground placeholder:text-muted-foreground focus-visible:ring-ring flex h-10 w-full rounded-md border bg-transparent px-3 py-1 text-base shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium focus-visible:ring-1 focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",r),...i})}export{r as I};
2
+ //# sourceMappingURL=input-BlNrkN6W.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"input-DyBbEcZb.mjs","sources":["../../src/components/ui/input/input.tsx"],"sourcesContent":["import { cn } from \"@/lib/utils\";\nimport React from \"react\";\n\nfunction Input({ className, type, ...props }: React.ComponentProps<\"input\">) {\n\treturn (\n\t\t<input\n\t\t\ttype={type}\n\t\t\tdata-slot=\"input\"\n\t\t\tclassName={cn(\n\t\t\t\t\"border-input file:text-foreground placeholder:text-muted-foreground focus-visible:ring-ring flex h-10 w-full rounded-md border bg-transparent px-3 py-1 text-base shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium focus-visible:ring-1 focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nexport { Input };\n"],"names":["Input","className","type","props","React","createElement","input","data-slot","cn"],"mappings":"8DAGA,SAASA,GAAMC,UAAEA,EAASC,KAAEA,KAASC,IACpC,OACCC,EAAAC,cAACC,QAAAA,CACAJ,KAAMA,EACNK,YAAU,QACVN,UAAWO,EACV,2WACAP,MAEGE,GAGP"}
1
+ {"version":3,"file":"input-BlNrkN6W.mjs","sources":["../../src/components/ui/input/input.tsx"],"sourcesContent":["import { cn } from \"@/lib/utils\";\nimport React from \"react\";\n\nfunction Input({ className, type, ...props }: React.ComponentProps<\"input\">) {\n\treturn (\n\t\t<input\n\t\t\ttype={type}\n\t\t\tdata-slot=\"input\"\n\t\t\tclassName={cn(\n\t\t\t\t\"border-input file:text-foreground placeholder:text-muted-foreground focus-visible:ring-ring flex h-10 w-full rounded-md border bg-transparent px-3 py-1 text-base shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium focus-visible:ring-1 focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nexport { Input };\n"],"names":["Input","className","type","props","React","createElement","input","data-slot","cn"],"mappings":"8DAGA,SAASA,GAAMC,UAAEA,EAASC,KAAEA,KAASC,IACpC,OACCC,EAAAC,cAACC,QAAAA,CACAJ,KAAMA,EACNK,YAAU,QACVN,UAAWO,EACV,2WACAP,MAEGE,GAGP"}
@@ -1,2 +1,2 @@
1
- import{c as e}from"./utils-BNmnOQuQ.mjs";import*as t from"react";import a from"react";import{P as r}from"./index-g796WVS-.mjs";import{jsx as o}from"react/jsx-runtime";var s=t.forwardRef((e,t)=>o(r.label,{...e,ref:t,onMouseDown:t=>{t.target.closest("button, input, select, textarea")||(e.onMouseDown?.(t),!t.defaultPrevented&&t.detail>1&&t.preventDefault())}}));s.displayName="Label";var n=s;function l({className:t,...r}){return a.createElement(n,{"data-slot":"label",className:e("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",t),...r})}export{l as L};
2
- //# sourceMappingURL=label-7xIUYreG.mjs.map
1
+ import{c as e}from"./utils-CplKzw61.mjs";import*as t from"react";import a from"react";import{P as r}from"./index-CZMSgrEB.mjs";import{jsx as o}from"react/jsx-runtime";var s=t.forwardRef((e,t)=>o(r.label,{...e,ref:t,onMouseDown:t=>{t.target.closest("button, input, select, textarea")||(e.onMouseDown?.(t),!t.defaultPrevented&&t.detail>1&&t.preventDefault())}}));s.displayName="Label";var n=s;function l({className:t,...r}){return a.createElement(n,{"data-slot":"label",className:e("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",t),...r})}export{l as L};
2
+ //# sourceMappingURL=label-BDU0LXe-.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"label-7xIUYreG.mjs","sources":["../../node_modules/@radix-ui/react-label/dist/index.mjs","../../src/components/ui/label/label.tsx"],"sourcesContent":["\"use client\";\n\n// src/label.tsx\nimport * as React from \"react\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NAME = \"Label\";\nvar Label = React.forwardRef((props, forwardedRef) => {\n return /* @__PURE__ */ jsx(\n Primitive.label,\n {\n ...props,\n ref: forwardedRef,\n onMouseDown: (event) => {\n const target = event.target;\n if (target.closest(\"button, input, select, textarea\")) return;\n props.onMouseDown?.(event);\n if (!event.defaultPrevented && event.detail > 1) event.preventDefault();\n }\n }\n );\n});\nLabel.displayName = NAME;\nvar Root = Label;\nexport {\n Label,\n Root\n};\n//# sourceMappingURL=index.mjs.map\n","import { cn } from \"@/lib/utils\";\nimport * as LabelPrimitive from \"@radix-ui/react-label\";\nimport React from \"react\";\n\nfunction Label({ className, ...props }: React.ComponentProps<typeof LabelPrimitive.Root>) {\n\treturn (\n\t\t<LabelPrimitive.Root\n\t\t\tdata-slot=\"label\"\n\t\t\tclassName={cn(\n\t\t\t\t\"flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nexport { Label };\n"],"names":["Label","React","forwardRef","props","forwardedRef","jsx","Primitive","label","ref","onMouseDown","event","target","closest","defaultPrevented","detail","preventDefault","displayName","Root","className","createElement","LabelPrimitive","data-slot","cn"],"mappings":"uKAOA,IAMMA,EAAcC,EAAAC,WAAqC,CAACC,EAAOC,IAE7DC,EAACC,EAAUC,MAAV,IACKJ,EACJK,IAAKJ,EACLK,YAAcC,IAEGA,EAAMC,OACVC,QAAQ,qCAEnBT,EAAMM,cAAcC,IAEfA,EAAMG,kBAAoBH,EAAMI,OAAS,GAAGJ,EAAMK,sBAM/Df,EAAMgB,YAxBO,QA4Bb,IAAMC,EAAOjB,EC/Bb,SAASA,GAAMkB,UAAEA,KAAcf,IAC9B,OACCF,EAAAkB,cAACC,EAAmB,CACnBC,YAAU,QACVH,UAAWI,EACV,sNACAJ,MAEGf,GAGP","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"label-BDU0LXe-.mjs","sources":["../../node_modules/@radix-ui/react-label/dist/index.mjs","../../src/components/ui/label/label.tsx"],"sourcesContent":["\"use client\";\n\n// src/label.tsx\nimport * as React from \"react\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NAME = \"Label\";\nvar Label = React.forwardRef((props, forwardedRef) => {\n return /* @__PURE__ */ jsx(\n Primitive.label,\n {\n ...props,\n ref: forwardedRef,\n onMouseDown: (event) => {\n const target = event.target;\n if (target.closest(\"button, input, select, textarea\")) return;\n props.onMouseDown?.(event);\n if (!event.defaultPrevented && event.detail > 1) event.preventDefault();\n }\n }\n );\n});\nLabel.displayName = NAME;\nvar Root = Label;\nexport {\n Label,\n Root\n};\n//# sourceMappingURL=index.mjs.map\n","import { cn } from \"@/lib/utils\";\nimport * as LabelPrimitive from \"@radix-ui/react-label\";\nimport React from \"react\";\n\nfunction Label({ className, ...props }: React.ComponentProps<typeof LabelPrimitive.Root>) {\n\treturn (\n\t\t<LabelPrimitive.Root\n\t\t\tdata-slot=\"label\"\n\t\t\tclassName={cn(\n\t\t\t\t\"flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nexport { Label };\n"],"names":["Label","React","forwardRef","props","forwardedRef","jsx","Primitive","label","ref","onMouseDown","event","target","closest","defaultPrevented","detail","preventDefault","displayName","Root","className","createElement","LabelPrimitive","data-slot","cn"],"mappings":"uKAOA,IAMMA,EAAcC,EAAAC,WAAqC,CAACC,EAAOC,IAE7DC,EAACC,EAAUC,MAAV,IACKJ,EACJK,IAAKJ,EACLK,YAAcC,IAEGA,EAAMC,OACVC,QAAQ,qCAEnBT,EAAMM,cAAcC,IAEfA,EAAMG,kBAAoBH,EAAMI,OAAS,GAAGJ,EAAMK,sBAM/Df,EAAMgB,YAxBO,QA4Bb,IAAMC,EAAOjB,EC/Bb,SAASA,GAAMkB,UAAEA,KAAcf,IAC9B,OACCF,EAAAkB,cAACC,EAAmB,CACnBC,YAAU,QACVH,UAAWI,EACV,sNACAJ,MAEGf,GAGP","x_google_ignoreList":[0]}