@vritti/quantum-ui 0.2.9 → 0.2.10

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 (180) hide show
  1. package/dist/Alert.js +7 -2
  2. package/dist/Alert.js.map +1 -1
  3. package/dist/Avatar.js +5 -5
  4. package/dist/Badge.js +2 -28
  5. package/dist/Badge.js.map +1 -1
  6. package/dist/Badge2.js +30 -0
  7. package/dist/Badge2.js.map +1 -0
  8. package/dist/Button.js +1 -1
  9. package/dist/Button2.js +35 -16
  10. package/dist/Button2.js.map +1 -1
  11. package/dist/Card.js +1 -1
  12. package/dist/Chart.js +1 -1
  13. package/dist/Checkbox.js +2 -289
  14. package/dist/Checkbox.js.map +1 -1
  15. package/dist/Checkbox2.js +292 -0
  16. package/dist/Checkbox2.js.map +1 -0
  17. package/dist/Combination.js +5 -5
  18. package/dist/DatePicker.js +3 -325
  19. package/dist/DatePicker.js.map +1 -1
  20. package/dist/DropdownMenu.js +77 -7
  21. package/dist/DropdownMenu.js.map +1 -1
  22. package/dist/Form.js +23 -6
  23. package/dist/Form.js.map +1 -1
  24. package/dist/Label.js +2 -2
  25. package/dist/OTPField.js +1 -1
  26. package/dist/PasswordField.js +1 -1
  27. package/dist/PhoneField.js +6 -6
  28. package/dist/PhoneField.js.map +1 -1
  29. package/dist/Progress.js +3 -3
  30. package/dist/Skeleton.js +1 -1
  31. package/dist/Sonner.js +4 -1
  32. package/dist/Sonner.js.map +1 -1
  33. package/dist/Spinner.js +1 -1
  34. package/dist/Switch.js +4 -4
  35. package/dist/TextArea.js +1 -1
  36. package/dist/TextField.js +4 -3
  37. package/dist/TextField.js.map +1 -1
  38. package/dist/ThemeContext.js +2 -8
  39. package/dist/ThemeContext.js.map +1 -1
  40. package/dist/Toggle.js +3 -3
  41. package/dist/Typography.js +1 -1
  42. package/dist/assets/quantum-ui.css +31 -31
  43. package/dist/{chevron-down.js → chevron-left.js} +4 -4
  44. package/dist/chevron-left.js.map +1 -0
  45. package/dist/components/Badge.js +2 -1
  46. package/dist/components/Badge.js.map +1 -1
  47. package/dist/components/DataTable.js +2 -0
  48. package/dist/components/DataTable.js.map +1 -0
  49. package/dist/components/Select.js +1379 -0
  50. package/dist/components/Select.js.map +1 -0
  51. package/dist/field.js +2 -2
  52. package/dist/hooks/index.js +1 -0
  53. package/dist/hooks/index.js.map +1 -1
  54. package/dist/index.js +9 -5
  55. package/dist/index.js.map +1 -1
  56. package/dist/index10.js +10 -99
  57. package/dist/index10.js.map +1 -1
  58. package/dist/index11.js +35 -73
  59. package/dist/index11.js.map +1 -1
  60. package/dist/index12.js +1 -1
  61. package/dist/index13.js +3 -3
  62. package/dist/index2.js +65 -58
  63. package/dist/index2.js.map +1 -1
  64. package/dist/index3.js +60 -8
  65. package/dist/index3.js.map +1 -1
  66. package/dist/index4.js +80 -106
  67. package/dist/index4.js.map +1 -1
  68. package/dist/index5.js +42 -37
  69. package/dist/index5.js.map +1 -1
  70. package/dist/index6.js +9 -4
  71. package/dist/index6.js.map +1 -1
  72. package/dist/index7.js +125 -10
  73. package/dist/index7.js.map +1 -1
  74. package/dist/index8.js +37 -42
  75. package/dist/index8.js.map +1 -1
  76. package/dist/index9.js +4 -37
  77. package/dist/index9.js.map +1 -1
  78. package/dist/lib/components/Alert/Alert.d.ts +2 -1
  79. package/dist/lib/components/Alert/Alert.d.ts.map +1 -1
  80. package/dist/lib/components/DataTable/DataTable.d.ts +15 -0
  81. package/dist/lib/components/DataTable/DataTable.d.ts.map +1 -0
  82. package/dist/lib/components/DataTable/components/DataTableColumnHeader.d.ts +12 -0
  83. package/dist/lib/components/DataTable/components/DataTableColumnHeader.d.ts.map +1 -0
  84. package/dist/lib/components/DataTable/components/DataTableEmpty.d.ts +13 -0
  85. package/dist/lib/components/DataTable/components/DataTableEmpty.d.ts.map +1 -0
  86. package/dist/lib/components/DataTable/components/DataTablePagination.d.ts +13 -0
  87. package/dist/lib/components/DataTable/components/DataTablePagination.d.ts.map +1 -0
  88. package/dist/lib/components/DataTable/components/DataTableToolbar.d.ts +15 -0
  89. package/dist/lib/components/DataTable/components/DataTableToolbar.d.ts.map +1 -0
  90. package/dist/lib/components/DataTable/components/DataTableViewOptions.d.ts +11 -0
  91. package/dist/lib/components/DataTable/components/DataTableViewOptions.d.ts.map +1 -0
  92. package/dist/lib/components/DataTable/hooks/useDataTable.d.ts +3 -0
  93. package/dist/lib/components/DataTable/hooks/useDataTable.d.ts.map +1 -0
  94. package/dist/lib/components/DataTable/index.d.ts +10 -0
  95. package/dist/lib/components/DataTable/index.d.ts.map +1 -0
  96. package/dist/lib/components/DataTable/types.d.ts +67 -0
  97. package/dist/lib/components/DataTable/types.d.ts.map +1 -0
  98. package/dist/lib/components/DataTable/utils.d.ts +3 -0
  99. package/dist/lib/components/DataTable/utils.d.ts.map +1 -0
  100. package/dist/lib/components/Form/Form.d.ts +2 -1
  101. package/dist/lib/components/Form/Form.d.ts.map +1 -1
  102. package/dist/lib/components/PhoneField/PhoneField.d.ts +1 -0
  103. package/dist/lib/components/PhoneField/PhoneField.d.ts.map +1 -1
  104. package/dist/lib/components/Select/Select.d.ts +23 -0
  105. package/dist/lib/components/Select/Select.d.ts.map +1 -0
  106. package/dist/lib/components/Select/components/MultiSelect/MultiSelect.d.ts +25 -0
  107. package/dist/lib/components/Select/components/MultiSelect/MultiSelect.d.ts.map +1 -0
  108. package/dist/lib/components/Select/components/MultiSelect/MultiSelectFilter.d.ts +21 -0
  109. package/dist/lib/components/Select/components/MultiSelect/MultiSelectFilter.d.ts.map +1 -0
  110. package/dist/lib/components/Select/components/SingleSelect/SingleSelect.d.ts +25 -0
  111. package/dist/lib/components/Select/components/SingleSelect/SingleSelect.d.ts.map +1 -0
  112. package/dist/lib/components/Select/components/SingleSelect/SingleSelectFilter.d.ts +21 -0
  113. package/dist/lib/components/Select/components/SingleSelect/SingleSelectFilter.d.ts.map +1 -0
  114. package/dist/lib/components/Select/hooks/useMultiSelect.d.ts +32 -0
  115. package/dist/lib/components/Select/hooks/useMultiSelect.d.ts.map +1 -0
  116. package/dist/lib/components/Select/hooks/useSelect.d.ts +23 -0
  117. package/dist/lib/components/Select/hooks/useSelect.d.ts.map +1 -0
  118. package/dist/lib/components/Select/hooks/useSingleSelect.d.ts +30 -0
  119. package/dist/lib/components/Select/hooks/useSingleSelect.d.ts.map +1 -0
  120. package/dist/lib/components/Select/index.d.ts +38 -0
  121. package/dist/lib/components/Select/index.d.ts.map +1 -0
  122. package/dist/lib/components/Select/types.d.ts +31 -0
  123. package/dist/lib/components/Select/types.d.ts.map +1 -0
  124. package/dist/lib/components/TextField/TextField.d.ts.map +1 -1
  125. package/dist/lib/components/index.d.ts +2 -1
  126. package/dist/lib/components/index.d.ts.map +1 -1
  127. package/dist/lib/context/ThemeContext.d.ts +1 -1
  128. package/dist/lib/context/ThemeContext.d.ts.map +1 -1
  129. package/dist/lib/context/index.d.ts +1 -1
  130. package/dist/lib/context/index.d.ts.map +1 -1
  131. package/dist/lib/hooks/index.d.ts +2 -1
  132. package/dist/lib/hooks/index.d.ts.map +1 -1
  133. package/dist/lib/hooks/useSSE.d.ts +21 -0
  134. package/dist/lib/hooks/useSSE.d.ts.map +1 -0
  135. package/dist/lib/index.d.ts +2 -2
  136. package/dist/lib/index.d.ts.map +1 -1
  137. package/dist/lib/utils/axios.d.ts.map +1 -1
  138. package/dist/popover.js +329 -0
  139. package/dist/popover.js.map +1 -0
  140. package/dist/separator2.js +2 -2
  141. package/dist/shadcn/shadcnAlert/alert.d.ts.map +1 -1
  142. package/dist/shadcn/shadcnAlert/index.d.ts +1 -1
  143. package/dist/shadcn/shadcnAlert/index.d.ts.map +1 -1
  144. package/dist/shadcn/shadcnBadge/Badge.d.ts +1 -1
  145. package/dist/shadcn/shadcnButton/Button.d.ts +2 -2
  146. package/dist/shadcn/shadcnButton/Button.d.ts.map +1 -1
  147. package/dist/shadcn/shadcnInputOTP/InputOTP.d.ts +2 -2
  148. package/dist/shadcn/shadcnMultiSelect/index.d.ts +3 -0
  149. package/dist/shadcn/shadcnMultiSelect/index.d.ts.map +1 -0
  150. package/dist/shadcn/shadcnMultiSelect/multi-select.d.ts +61 -0
  151. package/dist/shadcn/shadcnMultiSelect/multi-select.d.ts.map +1 -0
  152. package/dist/shadcn/shadcnSingleSelect/index.d.ts +3 -0
  153. package/dist/shadcn/shadcnSingleSelect/index.d.ts.map +1 -0
  154. package/dist/shadcn/shadcnSingleSelect/single-select.d.ts +60 -0
  155. package/dist/shadcn/shadcnSingleSelect/single-select.d.ts.map +1 -0
  156. package/dist/shadcn/shadcnSonner/sonner.d.ts +1 -1
  157. package/dist/shadcn/shadcnSonner/sonner.d.ts.map +1 -1
  158. package/dist/useSSE.js +82 -0
  159. package/dist/useSSE.js.map +1 -0
  160. package/dist/useTheme.js.map +1 -1
  161. package/dist/utils/axios.js +4167 -2
  162. package/dist/utils/axios.js.map +1 -1
  163. package/dist/utils.js +3748 -2970
  164. package/dist/utils.js.map +1 -1
  165. package/dist/utils2.js +3042 -0
  166. package/dist/utils2.js.map +1 -0
  167. package/dist/x.js +18 -0
  168. package/dist/x.js.map +1 -0
  169. package/package.json +11 -5
  170. package/dist/SelectField.js +0 -1351
  171. package/dist/SelectField.js.map +0 -1
  172. package/dist/axios.js +0 -4228
  173. package/dist/axios.js.map +0 -1
  174. package/dist/chevron-down.js.map +0 -1
  175. package/dist/components/SelectField.js +0 -2
  176. package/dist/components/SelectField.js.map +0 -1
  177. package/dist/lib/components/SelectField/SelectField.d.ts +0 -24
  178. package/dist/lib/components/SelectField/SelectField.d.ts.map +0 -1
  179. package/dist/lib/components/SelectField/index.d.ts +0 -3
  180. package/dist/lib/components/SelectField/index.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"DropdownMenu.js","sources":["../node_modules/.pnpm/lucide-react@0.562.0_react@19.2.3/node_modules/lucide-react/dist/esm/icons/circle.js","../node_modules/.pnpm/@radix-ui+react-roving-focus@1.1.11_@types+react-dom@19.2.3_@types+react@19.2.9__@types_2277e58410e46d03aa7eb81c214fa569/node_modules/@radix-ui/react-roving-focus/dist/index.mjs","../node_modules/.pnpm/@radix-ui+react-menu@2.1.16_@types+react-dom@19.2.3_@types+react@19.2.9__@types+react@1_c0c565c15de2d82443588cf7ac04a00b/node_modules/@radix-ui/react-menu/dist/index.mjs","../node_modules/.pnpm/@radix-ui+react-dropdown-menu@2.1.16_@types+react-dom@19.2.3_@types+react@19.2.9__@type_dd7839719afd10514086fcb65e206cd6/node_modules/@radix-ui/react-dropdown-menu/dist/index.mjs","../shadcn/shadcnDropdownMenu/dropdown-menu.tsx","../lib/components/DropdownMenu/DropdownMenu.tsx"],"sourcesContent":["/**\n * @license lucide-react v0.562.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [[\"circle\", { cx: \"12\", cy: \"12\", r: \"10\", key: \"1mglay\" }]];\nconst Circle = createLucideIcon(\"circle\", __iconNode);\n\nexport { __iconNode, Circle as default };\n//# sourceMappingURL=circle.js.map\n","\"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","\"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","\"use client\";\n\n// src/dropdown-menu.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport * as MenuPrimitive from \"@radix-ui/react-menu\";\nimport { createMenuScope } from \"@radix-ui/react-menu\";\nimport { useId } from \"@radix-ui/react-id\";\nimport { jsx } from \"react/jsx-runtime\";\nvar DROPDOWN_MENU_NAME = \"DropdownMenu\";\nvar [createDropdownMenuContext, createDropdownMenuScope] = createContextScope(\n DROPDOWN_MENU_NAME,\n [createMenuScope]\n);\nvar useMenuScope = createMenuScope();\nvar [DropdownMenuProvider, useDropdownMenuContext] = createDropdownMenuContext(DROPDOWN_MENU_NAME);\nvar DropdownMenu = (props) => {\n const {\n __scopeDropdownMenu,\n children,\n dir,\n open: openProp,\n defaultOpen,\n onOpenChange,\n modal = true\n } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n const triggerRef = React.useRef(null);\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen ?? false,\n onChange: onOpenChange,\n caller: DROPDOWN_MENU_NAME\n });\n return /* @__PURE__ */ jsx(\n DropdownMenuProvider,\n {\n scope: __scopeDropdownMenu,\n triggerId: useId(),\n triggerRef,\n contentId: useId(),\n open,\n onOpenChange: setOpen,\n onOpenToggle: React.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen]),\n modal,\n children: /* @__PURE__ */ jsx(MenuPrimitive.Root, { ...menuScope, open, onOpenChange: setOpen, dir, modal, children })\n }\n );\n};\nDropdownMenu.displayName = DROPDOWN_MENU_NAME;\nvar TRIGGER_NAME = \"DropdownMenuTrigger\";\nvar DropdownMenuTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDropdownMenu, disabled = false, ...triggerProps } = props;\n const context = useDropdownMenuContext(TRIGGER_NAME, __scopeDropdownMenu);\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Anchor, { asChild: true, ...menuScope, children: /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n id: context.triggerId,\n \"aria-haspopup\": \"menu\",\n \"aria-expanded\": context.open,\n \"aria-controls\": context.open ? context.contentId : void 0,\n \"data-state\": context.open ? \"open\" : \"closed\",\n \"data-disabled\": disabled ? \"\" : void 0,\n disabled,\n ...triggerProps,\n ref: composeRefs(forwardedRef, context.triggerRef),\n onPointerDown: composeEventHandlers(props.onPointerDown, (event) => {\n if (!disabled && event.button === 0 && event.ctrlKey === false) {\n context.onOpenToggle();\n if (!context.open) event.preventDefault();\n }\n }),\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n if (disabled) return;\n if ([\"Enter\", \" \"].includes(event.key)) context.onOpenToggle();\n if (event.key === \"ArrowDown\") context.onOpenChange(true);\n if ([\"Enter\", \" \", \"ArrowDown\"].includes(event.key)) event.preventDefault();\n })\n }\n ) });\n }\n);\nDropdownMenuTrigger.displayName = TRIGGER_NAME;\nvar PORTAL_NAME = \"DropdownMenuPortal\";\nvar DropdownMenuPortal = (props) => {\n const { __scopeDropdownMenu, ...portalProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Portal, { ...menuScope, ...portalProps });\n};\nDropdownMenuPortal.displayName = PORTAL_NAME;\nvar CONTENT_NAME = \"DropdownMenuContent\";\nvar DropdownMenuContent = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDropdownMenu, ...contentProps } = props;\n const context = useDropdownMenuContext(CONTENT_NAME, __scopeDropdownMenu);\n const menuScope = useMenuScope(__scopeDropdownMenu);\n const hasInteractedOutsideRef = React.useRef(false);\n return /* @__PURE__ */ jsx(\n MenuPrimitive.Content,\n {\n id: context.contentId,\n \"aria-labelledby\": context.triggerId,\n ...menuScope,\n ...contentProps,\n ref: forwardedRef,\n onCloseAutoFocus: composeEventHandlers(props.onCloseAutoFocus, (event) => {\n if (!hasInteractedOutsideRef.current) context.triggerRef.current?.focus();\n hasInteractedOutsideRef.current = false;\n event.preventDefault();\n }),\n onInteractOutside: composeEventHandlers(props.onInteractOutside, (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 (!context.modal || isRightClick) hasInteractedOutsideRef.current = true;\n }),\n style: {\n ...props.style,\n // re-namespace exposed content custom properties\n ...{\n \"--radix-dropdown-menu-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n \"--radix-dropdown-menu-content-available-width\": \"var(--radix-popper-available-width)\",\n \"--radix-dropdown-menu-content-available-height\": \"var(--radix-popper-available-height)\",\n \"--radix-dropdown-menu-trigger-width\": \"var(--radix-popper-anchor-width)\",\n \"--radix-dropdown-menu-trigger-height\": \"var(--radix-popper-anchor-height)\"\n }\n }\n }\n );\n }\n);\nDropdownMenuContent.displayName = CONTENT_NAME;\nvar GROUP_NAME = \"DropdownMenuGroup\";\nvar DropdownMenuGroup = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDropdownMenu, ...groupProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Group, { ...menuScope, ...groupProps, ref: forwardedRef });\n }\n);\nDropdownMenuGroup.displayName = GROUP_NAME;\nvar LABEL_NAME = \"DropdownMenuLabel\";\nvar DropdownMenuLabel = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDropdownMenu, ...labelProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Label, { ...menuScope, ...labelProps, ref: forwardedRef });\n }\n);\nDropdownMenuLabel.displayName = LABEL_NAME;\nvar ITEM_NAME = \"DropdownMenuItem\";\nvar DropdownMenuItem = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDropdownMenu, ...itemProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Item, { ...menuScope, ...itemProps, ref: forwardedRef });\n }\n);\nDropdownMenuItem.displayName = ITEM_NAME;\nvar CHECKBOX_ITEM_NAME = \"DropdownMenuCheckboxItem\";\nvar DropdownMenuCheckboxItem = React.forwardRef((props, forwardedRef) => {\n const { __scopeDropdownMenu, ...checkboxItemProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.CheckboxItem, { ...menuScope, ...checkboxItemProps, ref: forwardedRef });\n});\nDropdownMenuCheckboxItem.displayName = CHECKBOX_ITEM_NAME;\nvar RADIO_GROUP_NAME = \"DropdownMenuRadioGroup\";\nvar DropdownMenuRadioGroup = React.forwardRef((props, forwardedRef) => {\n const { __scopeDropdownMenu, ...radioGroupProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.RadioGroup, { ...menuScope, ...radioGroupProps, ref: forwardedRef });\n});\nDropdownMenuRadioGroup.displayName = RADIO_GROUP_NAME;\nvar RADIO_ITEM_NAME = \"DropdownMenuRadioItem\";\nvar DropdownMenuRadioItem = React.forwardRef((props, forwardedRef) => {\n const { __scopeDropdownMenu, ...radioItemProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.RadioItem, { ...menuScope, ...radioItemProps, ref: forwardedRef });\n});\nDropdownMenuRadioItem.displayName = RADIO_ITEM_NAME;\nvar INDICATOR_NAME = \"DropdownMenuItemIndicator\";\nvar DropdownMenuItemIndicator = React.forwardRef((props, forwardedRef) => {\n const { __scopeDropdownMenu, ...itemIndicatorProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.ItemIndicator, { ...menuScope, ...itemIndicatorProps, ref: forwardedRef });\n});\nDropdownMenuItemIndicator.displayName = INDICATOR_NAME;\nvar SEPARATOR_NAME = \"DropdownMenuSeparator\";\nvar DropdownMenuSeparator = React.forwardRef((props, forwardedRef) => {\n const { __scopeDropdownMenu, ...separatorProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Separator, { ...menuScope, ...separatorProps, ref: forwardedRef });\n});\nDropdownMenuSeparator.displayName = SEPARATOR_NAME;\nvar ARROW_NAME = \"DropdownMenuArrow\";\nvar DropdownMenuArrow = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDropdownMenu, ...arrowProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Arrow, { ...menuScope, ...arrowProps, ref: forwardedRef });\n }\n);\nDropdownMenuArrow.displayName = ARROW_NAME;\nvar DropdownMenuSub = (props) => {\n const { __scopeDropdownMenu, children, open: openProp, onOpenChange, defaultOpen } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen ?? false,\n onChange: onOpenChange,\n caller: \"DropdownMenuSub\"\n });\n return /* @__PURE__ */ jsx(MenuPrimitive.Sub, { ...menuScope, open, onOpenChange: setOpen, children });\n};\nvar SUB_TRIGGER_NAME = \"DropdownMenuSubTrigger\";\nvar DropdownMenuSubTrigger = React.forwardRef((props, forwardedRef) => {\n const { __scopeDropdownMenu, ...subTriggerProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.SubTrigger, { ...menuScope, ...subTriggerProps, ref: forwardedRef });\n});\nDropdownMenuSubTrigger.displayName = SUB_TRIGGER_NAME;\nvar SUB_CONTENT_NAME = \"DropdownMenuSubContent\";\nvar DropdownMenuSubContent = React.forwardRef((props, forwardedRef) => {\n const { __scopeDropdownMenu, ...subContentProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(\n MenuPrimitive.SubContent,\n {\n ...menuScope,\n ...subContentProps,\n ref: forwardedRef,\n style: {\n ...props.style,\n // re-namespace exposed content custom properties\n ...{\n \"--radix-dropdown-menu-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n \"--radix-dropdown-menu-content-available-width\": \"var(--radix-popper-available-width)\",\n \"--radix-dropdown-menu-content-available-height\": \"var(--radix-popper-available-height)\",\n \"--radix-dropdown-menu-trigger-width\": \"var(--radix-popper-anchor-width)\",\n \"--radix-dropdown-menu-trigger-height\": \"var(--radix-popper-anchor-height)\"\n }\n }\n }\n );\n});\nDropdownMenuSubContent.displayName = SUB_CONTENT_NAME;\nvar Root2 = DropdownMenu;\nvar Trigger = DropdownMenuTrigger;\nvar Portal2 = DropdownMenuPortal;\nvar Content2 = DropdownMenuContent;\nvar Group2 = DropdownMenuGroup;\nvar Label2 = DropdownMenuLabel;\nvar Item2 = DropdownMenuItem;\nvar CheckboxItem2 = DropdownMenuCheckboxItem;\nvar RadioGroup2 = DropdownMenuRadioGroup;\nvar RadioItem2 = DropdownMenuRadioItem;\nvar ItemIndicator2 = DropdownMenuItemIndicator;\nvar Separator2 = DropdownMenuSeparator;\nvar Arrow2 = DropdownMenuArrow;\nvar Sub2 = DropdownMenuSub;\nvar SubTrigger2 = DropdownMenuSubTrigger;\nvar SubContent2 = DropdownMenuSubContent;\nexport {\n Arrow2 as Arrow,\n CheckboxItem2 as CheckboxItem,\n Content2 as Content,\n DropdownMenu,\n DropdownMenuArrow,\n DropdownMenuCheckboxItem,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuItem,\n DropdownMenuItemIndicator,\n DropdownMenuLabel,\n DropdownMenuPortal,\n DropdownMenuRadioGroup,\n DropdownMenuRadioItem,\n DropdownMenuSeparator,\n DropdownMenuSub,\n DropdownMenuSubContent,\n DropdownMenuSubTrigger,\n DropdownMenuTrigger,\n Group2 as Group,\n Item2 as Item,\n ItemIndicator2 as ItemIndicator,\n Label2 as Label,\n Portal2 as Portal,\n RadioGroup2 as RadioGroup,\n RadioItem2 as RadioItem,\n Root2 as Root,\n Separator2 as Separator,\n Sub2 as Sub,\n SubContent2 as SubContent,\n SubTrigger2 as SubTrigger,\n Trigger,\n createDropdownMenuScope\n};\n//# sourceMappingURL=index.mjs.map\n","'use client';\n\nimport * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';\nimport { Check, ChevronRight, Circle } from 'lucide-react';\nimport * as React from 'react';\n\nimport { cn } from '../utils';\n\nconst DropdownMenu = DropdownMenuPrimitive.Root;\n\nconst DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;\n\nconst DropdownMenuGroup = DropdownMenuPrimitive.Group;\n\nconst DropdownMenuPortal = DropdownMenuPrimitive.Portal;\n\nconst DropdownMenuSub = DropdownMenuPrimitive.Sub;\n\nconst DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup;\n\nconst DropdownMenuSubTrigger = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.SubTrigger>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.SubTrigger> & {\n inset?: boolean;\n }\n>(({ className, inset, children, ...props }, ref) => (\n <DropdownMenuPrimitive.SubTrigger\n ref={ref}\n className={cn(\n 'flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent',\n inset && 'pl-8',\n className,\n )}\n {...props}\n >\n {children}\n <ChevronRight className=\"ml-auto h-4 w-4\" />\n </DropdownMenuPrimitive.SubTrigger>\n));\nDropdownMenuSubTrigger.displayName = DropdownMenuPrimitive.SubTrigger.displayName;\n\nconst DropdownMenuSubContent = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.SubContent>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.SubContent>\n>(({ className, ...props }, ref) => (\n <DropdownMenuPrimitive.SubContent\n ref={ref}\n className={cn(\n 'z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2',\n className,\n )}\n {...props}\n />\n));\nDropdownMenuSubContent.displayName = DropdownMenuPrimitive.SubContent.displayName;\n\nconst DropdownMenuContent = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Content>\n>(({ className, sideOffset = 4, ...props }, ref) => (\n <DropdownMenuPrimitive.Portal>\n <DropdownMenuPrimitive.Content\n ref={ref}\n sideOffset={sideOffset}\n className={cn(\n 'z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2',\n className,\n )}\n {...props}\n />\n </DropdownMenuPrimitive.Portal>\n));\nDropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;\n\nconst DropdownMenuItem = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Item> & {\n inset?: boolean;\n }\n>(({ className, inset, ...props }, ref) => (\n <DropdownMenuPrimitive.Item\n ref={ref}\n className={cn(\n 'relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50',\n inset && 'pl-8',\n className,\n )}\n {...props}\n />\n));\nDropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;\n\nconst DropdownMenuCheckboxItem = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.CheckboxItem>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.CheckboxItem>\n>(({ className, children, checked, ...props }, ref) => (\n <DropdownMenuPrimitive.CheckboxItem\n ref={ref}\n className={cn(\n 'relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50',\n className,\n )}\n checked={checked}\n {...props}\n >\n <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <Check className=\"h-4 w-4\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.CheckboxItem>\n));\nDropdownMenuCheckboxItem.displayName = DropdownMenuPrimitive.CheckboxItem.displayName;\n\nconst DropdownMenuRadioItem = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.RadioItem>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.RadioItem>\n>(({ className, children, ...props }, ref) => (\n <DropdownMenuPrimitive.RadioItem\n ref={ref}\n className={cn(\n 'relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50',\n className,\n )}\n {...props}\n >\n <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <Circle className=\"h-2 w-2 fill-current\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.RadioItem>\n));\nDropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName;\n\nconst DropdownMenuLabel = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Label>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Label> & {\n inset?: boolean;\n }\n>(({ className, inset, ...props }, ref) => (\n <DropdownMenuPrimitive.Label\n ref={ref}\n className={cn('px-2 py-1.5 text-sm font-semibold', inset && 'pl-8', className)}\n {...props}\n />\n));\nDropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;\n\nconst DropdownMenuSeparator = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <DropdownMenuPrimitive.Separator ref={ref} className={cn('-mx-1 my-2 h-px bg-border', className)} {...props} />\n));\nDropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName;\n\nconst DropdownMenuShortcut = ({ className, ...props }: React.HTMLAttributes<HTMLSpanElement>) => {\n return <span className={cn('ml-auto text-xs tracking-widest opacity-60', className)} {...props} />;\n};\nDropdownMenuShortcut.displayName = 'DropdownMenuShortcut';\n\nexport {\n DropdownMenu,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuCheckboxItem,\n DropdownMenuRadioItem,\n DropdownMenuLabel,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuGroup,\n DropdownMenuPortal,\n DropdownMenuSub,\n DropdownMenuSubContent,\n DropdownMenuSubTrigger,\n DropdownMenuRadioGroup,\n};\n","import * as React from 'react';\nimport {\n DropdownMenu as ShadcnDropdownMenuRoot,\n DropdownMenuCheckboxItem as ShadcnDropdownMenuCheckboxItem,\n DropdownMenuContent as ShadcnDropdownMenuContent,\n DropdownMenuGroup as ShadcnDropdownMenuGroup,\n DropdownMenuItem as ShadcnDropdownMenuItem,\n DropdownMenuLabel as ShadcnDropdownMenuLabel,\n DropdownMenuPortal as ShadcnDropdownMenuPortal,\n DropdownMenuRadioGroup as ShadcnDropdownMenuRadioGroup,\n DropdownMenuRadioItem as ShadcnDropdownMenuRadioItem,\n DropdownMenuSeparator as ShadcnDropdownMenuSeparator,\n DropdownMenuShortcut as ShadcnDropdownMenuShortcut,\n DropdownMenuSub as ShadcnDropdownMenuSub,\n DropdownMenuSubContent as ShadcnDropdownMenuSubContent,\n DropdownMenuSubTrigger as ShadcnDropdownMenuSubTrigger,\n DropdownMenuTrigger as ShadcnDropdownMenuTrigger,\n} from '../../../shadcn/shadcnDropdownMenu';\nimport { Button } from '../Button';\nimport type { DropdownMenuProps, MenuItem } from './types';\n\n// Export all primitive parts with proper aliases\nexport const DropdownMenuRoot = ShadcnDropdownMenuRoot;\nexport const DropdownMenuCheckboxItem = ShadcnDropdownMenuCheckboxItem;\nexport const DropdownMenuContent = ShadcnDropdownMenuContent;\nexport const DropdownMenuGroup = ShadcnDropdownMenuGroup;\nexport const DropdownMenuItem = ShadcnDropdownMenuItem;\nexport const DropdownMenuLabel = ShadcnDropdownMenuLabel;\nexport const DropdownMenuPortal = ShadcnDropdownMenuPortal;\nexport const DropdownMenuRadioGroup = ShadcnDropdownMenuRadioGroup;\nexport const DropdownMenuRadioItem = ShadcnDropdownMenuRadioItem;\nexport const DropdownMenuSeparator = ShadcnDropdownMenuSeparator;\nexport const DropdownMenuShortcut = ShadcnDropdownMenuShortcut;\nexport const DropdownMenuSub = ShadcnDropdownMenuSub;\nexport const DropdownMenuSubContent = ShadcnDropdownMenuSubContent;\nexport const DropdownMenuSubTrigger = ShadcnDropdownMenuSubTrigger;\nexport const DropdownMenuTrigger = ShadcnDropdownMenuTrigger;\n\n/**\n * Helper function to recursively render menu items based on their type\n * Supports all menu item types including nested submenus\n */\nconst renderMenuItem = (item: MenuItem, index: number): React.ReactNode => {\n switch (item.type) {\n case 'separator':\n return <DropdownMenuSeparator key={item.id ?? `separator-${index}`} />;\n\n case 'label':\n return <DropdownMenuLabel key={item.id}>{item.label}</DropdownMenuLabel>;\n\n case 'item': {\n const Icon = item.icon;\n return (\n <DropdownMenuItem\n key={item.id}\n onClick={item.onClick}\n disabled={item.disabled}\n className={item.variant === 'destructive' ? 'text-destructive focus:text-destructive' : undefined}\n >\n {Icon && <Icon className=\"mr-2 h-4 w-4\" />}\n <span>{item.label}</span>\n {item.shortcut && <DropdownMenuShortcut>{item.shortcut}</DropdownMenuShortcut>}\n </DropdownMenuItem>\n );\n }\n\n case 'checkbox': {\n const Icon = item.icon;\n return (\n <DropdownMenuCheckboxItem\n key={item.id}\n checked={item.checked}\n onCheckedChange={item.onCheckedChange}\n disabled={item.disabled}\n >\n {Icon && <Icon className=\"mr-2 h-4 w-4\" />}\n {item.label}\n </DropdownMenuCheckboxItem>\n );\n }\n\n case 'radio-group':\n return (\n <DropdownMenuRadioGroup key={item.id} value={item.value} onValueChange={item.onValueChange}>\n {item.items.map((radioItem) => {\n const Icon = radioItem.icon;\n return (\n <DropdownMenuRadioItem key={radioItem.value} value={radioItem.value} disabled={radioItem.disabled}>\n {Icon && <Icon className=\"mr-2 h-4 w-4\" />}\n {radioItem.label}\n </DropdownMenuRadioItem>\n );\n })}\n </DropdownMenuRadioGroup>\n );\n\n case 'sub': {\n const Icon = item.icon;\n return (\n <DropdownMenuSub key={item.id}>\n <DropdownMenuSubTrigger disabled={item.disabled}>\n {Icon && <Icon className=\"mr-2 h-4 w-4\" />}\n <span>{item.label}</span>\n </DropdownMenuSubTrigger>\n <DropdownMenuPortal>\n <DropdownMenuSubContent>\n {item.items.map((subItem, subIndex) => renderMenuItem(subItem, subIndex))}\n </DropdownMenuSubContent>\n </DropdownMenuPortal>\n </DropdownMenuSub>\n );\n }\n\n case 'group':\n return (\n <DropdownMenuGroup key={item.id}>\n {item.label && <DropdownMenuLabel>{item.label}</DropdownMenuLabel>}\n {item.items.map((groupItem, groupIndex) => renderMenuItem(groupItem, groupIndex))}\n </DropdownMenuGroup>\n );\n\n case 'custom': {\n const content = typeof item.render === 'function' ? item.render() : item.render;\n if (item.asMenuItem) {\n return (\n <DropdownMenuItem key={item.id} onClick={item.onClick} disabled={item.disabled}>\n {content}\n </DropdownMenuItem>\n );\n }\n return <React.Fragment key={item.id}>{content}</React.Fragment>;\n }\n\n default:\n return null;\n }\n};\n\n/**\n * DropdownMenu - A flexible, data-driven dropdown menu component\n *\n * This component provides a declarative API for building dropdown menus without\n * manually composing primitive components. It supports all dropdown menu features\n * including items, checkboxes, radio groups, submenus, separators, labels, and groups.\n *\n * @example\n * ```tsx\n * import { DropdownMenu } from '@vritti/quantum-ui/DropdownMenu';\n * import { Settings, User, LogOut } from 'lucide-react';\n *\n * function UserMenu() {\n * const [showStatus, setShowStatus] = useState(true);\n *\n * return (\n * <DropdownMenu\n * trigger={{ label: 'Menu', variant: 'outline' }}\n * items={[\n * { type: 'label', id: 'account-label', label: 'My Account' },\n * { type: 'item', id: 'profile', label: 'Profile', icon: User, shortcut: '⌘P' },\n * { type: 'item', id: 'settings', label: 'Settings', icon: Settings },\n * { type: 'separator' },\n * {\n * type: 'checkbox',\n * id: 'status',\n * label: 'Show Status',\n * checked: showStatus,\n * onCheckedChange: setShowStatus,\n * },\n * { type: 'separator' },\n * {\n * type: 'item',\n * id: 'logout',\n * label: 'Log out',\n * icon: LogOut,\n * variant: 'destructive',\n * },\n * ]}\n * align=\"end\"\n * />\n * );\n * }\n * ```\n */\nexport const DropdownMenu: React.FC<DropdownMenuProps> = ({\n trigger,\n items,\n contentClassName,\n align = 'end',\n side,\n}) => {\n const TriggerIcon = trigger.icon;\n\n return (\n <DropdownMenuRoot>\n <DropdownMenuTrigger asChild>\n {trigger.children ?? (\n <Button variant={trigger.variant} className={trigger.className}>\n {TriggerIcon && <TriggerIcon className=\"mr-2 h-4 w-4\" />}\n {trigger.label}\n </Button>\n )}\n </DropdownMenuTrigger>\n <DropdownMenuContent className={contentClassName} align={align} side={side}>\n {items.map((item, index) => renderMenuItem(item, index))}\n </DropdownMenuContent>\n </DropdownMenuRoot>\n );\n};\n\nDropdownMenu.displayName = 'DropdownMenu';\n"],"names":["GROUP_NAME","Collection","useCollection","createCollectionScope","focusFirst","ITEM_NAME","wrapArray","PopperPrimitive.Root","PopperPrimitive.Anchor","PORTAL_NAME","PortalPrimitive","CONTENT_NAME","RemoveScroll","RovingFocusGroup.Root","PopperPrimitive.Content","LABEL_NAME","RovingFocusGroup.Item","CHECKBOX_ITEM_NAME","RADIO_GROUP_NAME","RADIO_ITEM_NAME","SEPARATOR_NAME","ARROW_NAME","PopperPrimitive.Arrow","SUB_TRIGGER_NAME","SUB_CONTENT_NAME","Content2","Item2","DropdownMenu","MenuPrimitive.Root","DropdownMenuTrigger","MenuPrimitive.Anchor","DropdownMenuPortal","MenuPrimitive.Portal","DropdownMenuContent","MenuPrimitive.Content","DropdownMenuGroup","MenuPrimitive.Group","DropdownMenuLabel","MenuPrimitive.Label","DropdownMenuItem","MenuPrimitive.Item","DropdownMenuCheckboxItem","MenuPrimitive.CheckboxItem","DropdownMenuRadioGroup","MenuPrimitive.RadioGroup","DropdownMenuRadioItem","MenuPrimitive.RadioItem","MenuPrimitive.ItemIndicator","DropdownMenuSeparator","MenuPrimitive.Separator","MenuPrimitive.Arrow","DropdownMenuSub","MenuPrimitive.Sub","DropdownMenuSubTrigger","MenuPrimitive.SubTrigger","DropdownMenuSubContent","MenuPrimitive.SubContent","DropdownMenuPrimitive.Root","DropdownMenuPrimitive.Trigger","DropdownMenuPrimitive.Group","DropdownMenuPrimitive.Portal","DropdownMenuPrimitive.Sub","DropdownMenuPrimitive.RadioGroup","DropdownMenuPrimitive.SubTrigger","DropdownMenuPrimitive.SubContent","DropdownMenuPrimitive.Content","DropdownMenuPrimitive.Item","DropdownMenuPrimitive.CheckboxItem","DropdownMenuPrimitive.ItemIndicator","DropdownMenuPrimitive.RadioItem","DropdownMenuPrimitive.Label","DropdownMenuPrimitive.Separator","DropdownMenuShortcut","ShadcnDropdownMenuRoot","ShadcnDropdownMenuCheckboxItem","ShadcnDropdownMenuContent","ShadcnDropdownMenuGroup","ShadcnDropdownMenuItem","ShadcnDropdownMenuLabel","ShadcnDropdownMenuPortal","ShadcnDropdownMenuRadioGroup","ShadcnDropdownMenuRadioItem","ShadcnDropdownMenuSeparator","ShadcnDropdownMenuShortcut","ShadcnDropdownMenuSub","ShadcnDropdownMenuSubContent","ShadcnDropdownMenuSubTrigger","ShadcnDropdownMenuTrigger"],"mappings":"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","x_google_ignoreList":[0,1,2,3]}
1
+ {"version":3,"file":"DropdownMenu.js","sources":["../node_modules/.pnpm/lucide-react@0.562.0_react@19.2.3/node_modules/lucide-react/dist/esm/icons/circle.js","../node_modules/.pnpm/@radix-ui+react-collection@1.1.7_@types+react-dom@19.2.3_@types+react@19.2.9__@types+re_ae03b05a8cab938032db1ba1dbeec717/node_modules/@radix-ui/react-collection/dist/index.mjs","../node_modules/.pnpm/@radix-ui+react-direction@1.1.1_@types+react@19.2.9_react@19.2.3/node_modules/@radix-ui/react-direction/dist/index.mjs","../node_modules/.pnpm/@radix-ui+react-roving-focus@1.1.11_@types+react-dom@19.2.3_@types+react@19.2.9__@types_2277e58410e46d03aa7eb81c214fa569/node_modules/@radix-ui/react-roving-focus/dist/index.mjs","../node_modules/.pnpm/@radix-ui+react-menu@2.1.16_@types+react-dom@19.2.3_@types+react@19.2.9__@types+react@1_c0c565c15de2d82443588cf7ac04a00b/node_modules/@radix-ui/react-menu/dist/index.mjs","../node_modules/.pnpm/@radix-ui+react-dropdown-menu@2.1.16_@types+react-dom@19.2.3_@types+react@19.2.9__@type_dd7839719afd10514086fcb65e206cd6/node_modules/@radix-ui/react-dropdown-menu/dist/index.mjs","../shadcn/shadcnDropdownMenu/dropdown-menu.tsx","../lib/components/DropdownMenu/DropdownMenu.tsx"],"sourcesContent":["/**\n * @license lucide-react v0.562.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [[\"circle\", { cx: \"12\", cy: \"12\", r: \"10\", key: \"1mglay\" }]];\nconst Circle = createLucideIcon(\"circle\", __iconNode);\n\nexport { __iconNode, Circle as default };\n//# sourceMappingURL=circle.js.map\n","\"use client\";\n\n// src/collection-legacy.tsx\nimport React from \"react\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction createCollection(name) {\n const PROVIDER_NAME = name + \"CollectionProvider\";\n const [createCollectionContext, createCollectionScope] = createContextScope(PROVIDER_NAME);\n const [CollectionProviderImpl, useCollectionContext] = createCollectionContext(\n PROVIDER_NAME,\n { collectionRef: { current: null }, itemMap: /* @__PURE__ */ new Map() }\n );\n const CollectionProvider = (props) => {\n const { scope, children } = props;\n const ref = React.useRef(null);\n const itemMap = React.useRef(/* @__PURE__ */ new Map()).current;\n return /* @__PURE__ */ jsx(CollectionProviderImpl, { scope, itemMap, collectionRef: ref, children });\n };\n CollectionProvider.displayName = PROVIDER_NAME;\n const COLLECTION_SLOT_NAME = name + \"CollectionSlot\";\n const CollectionSlotImpl = createSlot(COLLECTION_SLOT_NAME);\n const CollectionSlot = React.forwardRef(\n (props, forwardedRef) => {\n const { scope, children } = props;\n const context = useCollectionContext(COLLECTION_SLOT_NAME, scope);\n const composedRefs = useComposedRefs(forwardedRef, context.collectionRef);\n return /* @__PURE__ */ jsx(CollectionSlotImpl, { ref: composedRefs, children });\n }\n );\n CollectionSlot.displayName = COLLECTION_SLOT_NAME;\n const ITEM_SLOT_NAME = name + \"CollectionItemSlot\";\n const ITEM_DATA_ATTR = \"data-radix-collection-item\";\n const CollectionItemSlotImpl = createSlot(ITEM_SLOT_NAME);\n const CollectionItemSlot = React.forwardRef(\n (props, forwardedRef) => {\n const { scope, children, ...itemData } = props;\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const context = useCollectionContext(ITEM_SLOT_NAME, scope);\n React.useEffect(() => {\n context.itemMap.set(ref, { ref, ...itemData });\n return () => void context.itemMap.delete(ref);\n });\n return /* @__PURE__ */ jsx(CollectionItemSlotImpl, { ...{ [ITEM_DATA_ATTR]: \"\" }, ref: composedRefs, children });\n }\n );\n CollectionItemSlot.displayName = ITEM_SLOT_NAME;\n function useCollection(scope) {\n const context = useCollectionContext(name + \"CollectionConsumer\", scope);\n const getItems = React.useCallback(() => {\n const collectionNode = context.collectionRef.current;\n if (!collectionNode) return [];\n const orderedNodes = Array.from(collectionNode.querySelectorAll(`[${ITEM_DATA_ATTR}]`));\n const items = Array.from(context.itemMap.values());\n const orderedItems = items.sort(\n (a, b) => orderedNodes.indexOf(a.ref.current) - orderedNodes.indexOf(b.ref.current)\n );\n return orderedItems;\n }, [context.collectionRef, context.itemMap]);\n return getItems;\n }\n return [\n { Provider: CollectionProvider, Slot: CollectionSlot, ItemSlot: CollectionItemSlot },\n useCollection,\n createCollectionScope\n ];\n}\n\n// src/collection.tsx\nimport React2 from \"react\";\nimport { createContextScope as createContextScope2 } from \"@radix-ui/react-context\";\nimport { useComposedRefs as useComposedRefs2 } from \"@radix-ui/react-compose-refs\";\nimport { createSlot as createSlot2 } from \"@radix-ui/react-slot\";\n\n// src/ordered-dictionary.ts\nvar __instanciated = /* @__PURE__ */ new WeakMap();\nvar OrderedDict = class _OrderedDict extends Map {\n #keys;\n constructor(entries) {\n super(entries);\n this.#keys = [...super.keys()];\n __instanciated.set(this, true);\n }\n set(key, value) {\n if (__instanciated.get(this)) {\n if (this.has(key)) {\n this.#keys[this.#keys.indexOf(key)] = key;\n } else {\n this.#keys.push(key);\n }\n }\n super.set(key, value);\n return this;\n }\n insert(index, key, value) {\n const has = this.has(key);\n const length = this.#keys.length;\n const relativeIndex = toSafeInteger(index);\n let actualIndex = relativeIndex >= 0 ? relativeIndex : length + relativeIndex;\n const safeIndex = actualIndex < 0 || actualIndex >= length ? -1 : actualIndex;\n if (safeIndex === this.size || has && safeIndex === this.size - 1 || safeIndex === -1) {\n this.set(key, value);\n return this;\n }\n const size = this.size + (has ? 0 : 1);\n if (relativeIndex < 0) {\n actualIndex++;\n }\n const keys = [...this.#keys];\n let nextValue;\n let shouldSkip = false;\n for (let i = actualIndex; i < size; i++) {\n if (actualIndex === i) {\n let nextKey = keys[i];\n if (keys[i] === key) {\n nextKey = keys[i + 1];\n }\n if (has) {\n this.delete(key);\n }\n nextValue = this.get(nextKey);\n this.set(key, value);\n } else {\n if (!shouldSkip && keys[i - 1] === key) {\n shouldSkip = true;\n }\n const currentKey = keys[shouldSkip ? i : i - 1];\n const currentValue = nextValue;\n nextValue = this.get(currentKey);\n this.delete(currentKey);\n this.set(currentKey, currentValue);\n }\n }\n return this;\n }\n with(index, key, value) {\n const copy = new _OrderedDict(this);\n copy.insert(index, key, value);\n return copy;\n }\n before(key) {\n const index = this.#keys.indexOf(key) - 1;\n if (index < 0) {\n return void 0;\n }\n return this.entryAt(index);\n }\n /**\n * Sets a new key-value pair at the position before the given key.\n */\n setBefore(key, newKey, value) {\n const index = this.#keys.indexOf(key);\n if (index === -1) {\n return this;\n }\n return this.insert(index, newKey, value);\n }\n after(key) {\n let index = this.#keys.indexOf(key);\n index = index === -1 || index === this.size - 1 ? -1 : index + 1;\n if (index === -1) {\n return void 0;\n }\n return this.entryAt(index);\n }\n /**\n * Sets a new key-value pair at the position after the given key.\n */\n setAfter(key, newKey, value) {\n const index = this.#keys.indexOf(key);\n if (index === -1) {\n return this;\n }\n return this.insert(index + 1, newKey, value);\n }\n first() {\n return this.entryAt(0);\n }\n last() {\n return this.entryAt(-1);\n }\n clear() {\n this.#keys = [];\n return super.clear();\n }\n delete(key) {\n const deleted = super.delete(key);\n if (deleted) {\n this.#keys.splice(this.#keys.indexOf(key), 1);\n }\n return deleted;\n }\n deleteAt(index) {\n const key = this.keyAt(index);\n if (key !== void 0) {\n return this.delete(key);\n }\n return false;\n }\n at(index) {\n const key = at(this.#keys, index);\n if (key !== void 0) {\n return this.get(key);\n }\n }\n entryAt(index) {\n const key = at(this.#keys, index);\n if (key !== void 0) {\n return [key, this.get(key)];\n }\n }\n indexOf(key) {\n return this.#keys.indexOf(key);\n }\n keyAt(index) {\n return at(this.#keys, index);\n }\n from(key, offset) {\n const index = this.indexOf(key);\n if (index === -1) {\n return void 0;\n }\n let dest = index + offset;\n if (dest < 0) dest = 0;\n if (dest >= this.size) dest = this.size - 1;\n return this.at(dest);\n }\n keyFrom(key, offset) {\n const index = this.indexOf(key);\n if (index === -1) {\n return void 0;\n }\n let dest = index + offset;\n if (dest < 0) dest = 0;\n if (dest >= this.size) dest = this.size - 1;\n return this.keyAt(dest);\n }\n find(predicate, thisArg) {\n let index = 0;\n for (const entry of this) {\n if (Reflect.apply(predicate, thisArg, [entry, index, this])) {\n return entry;\n }\n index++;\n }\n return void 0;\n }\n findIndex(predicate, thisArg) {\n let index = 0;\n for (const entry of this) {\n if (Reflect.apply(predicate, thisArg, [entry, index, this])) {\n return index;\n }\n index++;\n }\n return -1;\n }\n filter(predicate, thisArg) {\n const entries = [];\n let index = 0;\n for (const entry of this) {\n if (Reflect.apply(predicate, thisArg, [entry, index, this])) {\n entries.push(entry);\n }\n index++;\n }\n return new _OrderedDict(entries);\n }\n map(callbackfn, thisArg) {\n const entries = [];\n let index = 0;\n for (const entry of this) {\n entries.push([entry[0], Reflect.apply(callbackfn, thisArg, [entry, index, this])]);\n index++;\n }\n return new _OrderedDict(entries);\n }\n reduce(...args) {\n const [callbackfn, initialValue] = args;\n let index = 0;\n let accumulator = initialValue ?? this.at(0);\n for (const entry of this) {\n if (index === 0 && args.length === 1) {\n accumulator = entry;\n } else {\n accumulator = Reflect.apply(callbackfn, this, [accumulator, entry, index, this]);\n }\n index++;\n }\n return accumulator;\n }\n reduceRight(...args) {\n const [callbackfn, initialValue] = args;\n let accumulator = initialValue ?? this.at(-1);\n for (let index = this.size - 1; index >= 0; index--) {\n const entry = this.at(index);\n if (index === this.size - 1 && args.length === 1) {\n accumulator = entry;\n } else {\n accumulator = Reflect.apply(callbackfn, this, [accumulator, entry, index, this]);\n }\n }\n return accumulator;\n }\n toSorted(compareFn) {\n const entries = [...this.entries()].sort(compareFn);\n return new _OrderedDict(entries);\n }\n toReversed() {\n const reversed = new _OrderedDict();\n for (let index = this.size - 1; index >= 0; index--) {\n const key = this.keyAt(index);\n const element = this.get(key);\n reversed.set(key, element);\n }\n return reversed;\n }\n toSpliced(...args) {\n const entries = [...this.entries()];\n entries.splice(...args);\n return new _OrderedDict(entries);\n }\n slice(start, end) {\n const result = new _OrderedDict();\n let stop = this.size - 1;\n if (start === void 0) {\n return result;\n }\n if (start < 0) {\n start = start + this.size;\n }\n if (end !== void 0 && end > 0) {\n stop = end - 1;\n }\n for (let index = start; index <= stop; index++) {\n const key = this.keyAt(index);\n const element = this.get(key);\n result.set(key, element);\n }\n return result;\n }\n every(predicate, thisArg) {\n let index = 0;\n for (const entry of this) {\n if (!Reflect.apply(predicate, thisArg, [entry, index, this])) {\n return false;\n }\n index++;\n }\n return true;\n }\n some(predicate, thisArg) {\n let index = 0;\n for (const entry of this) {\n if (Reflect.apply(predicate, thisArg, [entry, index, this])) {\n return true;\n }\n index++;\n }\n return false;\n }\n};\nfunction at(array, index) {\n if (\"at\" in Array.prototype) {\n return Array.prototype.at.call(array, index);\n }\n const actualIndex = toSafeIndex(array, index);\n return actualIndex === -1 ? void 0 : array[actualIndex];\n}\nfunction toSafeIndex(array, index) {\n const length = array.length;\n const relativeIndex = toSafeInteger(index);\n const actualIndex = relativeIndex >= 0 ? relativeIndex : length + relativeIndex;\n return actualIndex < 0 || actualIndex >= length ? -1 : actualIndex;\n}\nfunction toSafeInteger(number) {\n return number !== number || number === 0 ? 0 : Math.trunc(number);\n}\n\n// src/collection.tsx\nimport { jsx as jsx2 } from \"react/jsx-runtime\";\nfunction createCollection2(name) {\n const PROVIDER_NAME = name + \"CollectionProvider\";\n const [createCollectionContext, createCollectionScope] = createContextScope2(PROVIDER_NAME);\n const [CollectionContextProvider, useCollectionContext] = createCollectionContext(\n PROVIDER_NAME,\n {\n collectionElement: null,\n collectionRef: { current: null },\n collectionRefObject: { current: null },\n itemMap: new OrderedDict(),\n setItemMap: () => void 0\n }\n );\n const CollectionProvider = ({ state, ...props }) => {\n return state ? /* @__PURE__ */ jsx2(CollectionProviderImpl, { ...props, state }) : /* @__PURE__ */ jsx2(CollectionInit, { ...props });\n };\n CollectionProvider.displayName = PROVIDER_NAME;\n const CollectionInit = (props) => {\n const state = useInitCollection();\n return /* @__PURE__ */ jsx2(CollectionProviderImpl, { ...props, state });\n };\n CollectionInit.displayName = PROVIDER_NAME + \"Init\";\n const CollectionProviderImpl = (props) => {\n const { scope, children, state } = props;\n const ref = React2.useRef(null);\n const [collectionElement, setCollectionElement] = React2.useState(\n null\n );\n const composeRefs = useComposedRefs2(ref, setCollectionElement);\n const [itemMap, setItemMap] = state;\n React2.useEffect(() => {\n if (!collectionElement) return;\n const observer = getChildListObserver(() => {\n });\n observer.observe(collectionElement, {\n childList: true,\n subtree: true\n });\n return () => {\n observer.disconnect();\n };\n }, [collectionElement]);\n return /* @__PURE__ */ jsx2(\n CollectionContextProvider,\n {\n scope,\n itemMap,\n setItemMap,\n collectionRef: composeRefs,\n collectionRefObject: ref,\n collectionElement,\n children\n }\n );\n };\n CollectionProviderImpl.displayName = PROVIDER_NAME + \"Impl\";\n const COLLECTION_SLOT_NAME = name + \"CollectionSlot\";\n const CollectionSlotImpl = createSlot2(COLLECTION_SLOT_NAME);\n const CollectionSlot = React2.forwardRef(\n (props, forwardedRef) => {\n const { scope, children } = props;\n const context = useCollectionContext(COLLECTION_SLOT_NAME, scope);\n const composedRefs = useComposedRefs2(forwardedRef, context.collectionRef);\n return /* @__PURE__ */ jsx2(CollectionSlotImpl, { ref: composedRefs, children });\n }\n );\n CollectionSlot.displayName = COLLECTION_SLOT_NAME;\n const ITEM_SLOT_NAME = name + \"CollectionItemSlot\";\n const ITEM_DATA_ATTR = \"data-radix-collection-item\";\n const CollectionItemSlotImpl = createSlot2(ITEM_SLOT_NAME);\n const CollectionItemSlot = React2.forwardRef(\n (props, forwardedRef) => {\n const { scope, children, ...itemData } = props;\n const ref = React2.useRef(null);\n const [element, setElement] = React2.useState(null);\n const composedRefs = useComposedRefs2(forwardedRef, ref, setElement);\n const context = useCollectionContext(ITEM_SLOT_NAME, scope);\n const { setItemMap } = context;\n const itemDataRef = React2.useRef(itemData);\n if (!shallowEqual(itemDataRef.current, itemData)) {\n itemDataRef.current = itemData;\n }\n const memoizedItemData = itemDataRef.current;\n React2.useEffect(() => {\n const itemData2 = memoizedItemData;\n setItemMap((map) => {\n if (!element) {\n return map;\n }\n if (!map.has(element)) {\n map.set(element, { ...itemData2, element });\n return map.toSorted(sortByDocumentPosition);\n }\n return map.set(element, { ...itemData2, element }).toSorted(sortByDocumentPosition);\n });\n return () => {\n setItemMap((map) => {\n if (!element || !map.has(element)) {\n return map;\n }\n map.delete(element);\n return new OrderedDict(map);\n });\n };\n }, [element, memoizedItemData, setItemMap]);\n return /* @__PURE__ */ jsx2(CollectionItemSlotImpl, { ...{ [ITEM_DATA_ATTR]: \"\" }, ref: composedRefs, children });\n }\n );\n CollectionItemSlot.displayName = ITEM_SLOT_NAME;\n function useInitCollection() {\n return React2.useState(new OrderedDict());\n }\n function useCollection(scope) {\n const { itemMap } = useCollectionContext(name + \"CollectionConsumer\", scope);\n return itemMap;\n }\n const functions = {\n createCollectionScope,\n useCollection,\n useInitCollection\n };\n return [\n { Provider: CollectionProvider, Slot: CollectionSlot, ItemSlot: CollectionItemSlot },\n functions\n ];\n}\nfunction shallowEqual(a, b) {\n if (a === b) return true;\n if (typeof a !== \"object\" || typeof b !== \"object\") return false;\n if (a == null || b == null) return false;\n const keysA = Object.keys(a);\n const keysB = Object.keys(b);\n if (keysA.length !== keysB.length) return false;\n for (const key of keysA) {\n if (!Object.prototype.hasOwnProperty.call(b, key)) return false;\n if (a[key] !== b[key]) return false;\n }\n return true;\n}\nfunction isElementPreceding(a, b) {\n return !!(b.compareDocumentPosition(a) & Node.DOCUMENT_POSITION_PRECEDING);\n}\nfunction sortByDocumentPosition(a, b) {\n return !a[1].element || !b[1].element ? 0 : isElementPreceding(a[1].element, b[1].element) ? -1 : 1;\n}\nfunction getChildListObserver(callback) {\n const observer = new MutationObserver((mutationsList) => {\n for (const mutation of mutationsList) {\n if (mutation.type === \"childList\") {\n callback();\n return;\n }\n }\n });\n return observer;\n}\nexport {\n createCollection,\n createCollection2 as unstable_createCollection\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/direction/src/direction.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nvar DirectionContext = React.createContext(void 0);\nvar DirectionProvider = (props) => {\n const { dir, children } = props;\n return /* @__PURE__ */ jsx(DirectionContext.Provider, { value: dir, children });\n};\nfunction useDirection(localDir) {\n const globalDir = React.useContext(DirectionContext);\n return localDir || globalDir || \"ltr\";\n}\nvar Provider = DirectionProvider;\nexport {\n DirectionProvider,\n Provider,\n useDirection\n};\n//# sourceMappingURL=index.mjs.map\n","\"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","\"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","\"use client\";\n\n// src/dropdown-menu.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport * as MenuPrimitive from \"@radix-ui/react-menu\";\nimport { createMenuScope } from \"@radix-ui/react-menu\";\nimport { useId } from \"@radix-ui/react-id\";\nimport { jsx } from \"react/jsx-runtime\";\nvar DROPDOWN_MENU_NAME = \"DropdownMenu\";\nvar [createDropdownMenuContext, createDropdownMenuScope] = createContextScope(\n DROPDOWN_MENU_NAME,\n [createMenuScope]\n);\nvar useMenuScope = createMenuScope();\nvar [DropdownMenuProvider, useDropdownMenuContext] = createDropdownMenuContext(DROPDOWN_MENU_NAME);\nvar DropdownMenu = (props) => {\n const {\n __scopeDropdownMenu,\n children,\n dir,\n open: openProp,\n defaultOpen,\n onOpenChange,\n modal = true\n } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n const triggerRef = React.useRef(null);\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen ?? false,\n onChange: onOpenChange,\n caller: DROPDOWN_MENU_NAME\n });\n return /* @__PURE__ */ jsx(\n DropdownMenuProvider,\n {\n scope: __scopeDropdownMenu,\n triggerId: useId(),\n triggerRef,\n contentId: useId(),\n open,\n onOpenChange: setOpen,\n onOpenToggle: React.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen]),\n modal,\n children: /* @__PURE__ */ jsx(MenuPrimitive.Root, { ...menuScope, open, onOpenChange: setOpen, dir, modal, children })\n }\n );\n};\nDropdownMenu.displayName = DROPDOWN_MENU_NAME;\nvar TRIGGER_NAME = \"DropdownMenuTrigger\";\nvar DropdownMenuTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDropdownMenu, disabled = false, ...triggerProps } = props;\n const context = useDropdownMenuContext(TRIGGER_NAME, __scopeDropdownMenu);\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Anchor, { asChild: true, ...menuScope, children: /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n id: context.triggerId,\n \"aria-haspopup\": \"menu\",\n \"aria-expanded\": context.open,\n \"aria-controls\": context.open ? context.contentId : void 0,\n \"data-state\": context.open ? \"open\" : \"closed\",\n \"data-disabled\": disabled ? \"\" : void 0,\n disabled,\n ...triggerProps,\n ref: composeRefs(forwardedRef, context.triggerRef),\n onPointerDown: composeEventHandlers(props.onPointerDown, (event) => {\n if (!disabled && event.button === 0 && event.ctrlKey === false) {\n context.onOpenToggle();\n if (!context.open) event.preventDefault();\n }\n }),\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n if (disabled) return;\n if ([\"Enter\", \" \"].includes(event.key)) context.onOpenToggle();\n if (event.key === \"ArrowDown\") context.onOpenChange(true);\n if ([\"Enter\", \" \", \"ArrowDown\"].includes(event.key)) event.preventDefault();\n })\n }\n ) });\n }\n);\nDropdownMenuTrigger.displayName = TRIGGER_NAME;\nvar PORTAL_NAME = \"DropdownMenuPortal\";\nvar DropdownMenuPortal = (props) => {\n const { __scopeDropdownMenu, ...portalProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Portal, { ...menuScope, ...portalProps });\n};\nDropdownMenuPortal.displayName = PORTAL_NAME;\nvar CONTENT_NAME = \"DropdownMenuContent\";\nvar DropdownMenuContent = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDropdownMenu, ...contentProps } = props;\n const context = useDropdownMenuContext(CONTENT_NAME, __scopeDropdownMenu);\n const menuScope = useMenuScope(__scopeDropdownMenu);\n const hasInteractedOutsideRef = React.useRef(false);\n return /* @__PURE__ */ jsx(\n MenuPrimitive.Content,\n {\n id: context.contentId,\n \"aria-labelledby\": context.triggerId,\n ...menuScope,\n ...contentProps,\n ref: forwardedRef,\n onCloseAutoFocus: composeEventHandlers(props.onCloseAutoFocus, (event) => {\n if (!hasInteractedOutsideRef.current) context.triggerRef.current?.focus();\n hasInteractedOutsideRef.current = false;\n event.preventDefault();\n }),\n onInteractOutside: composeEventHandlers(props.onInteractOutside, (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 (!context.modal || isRightClick) hasInteractedOutsideRef.current = true;\n }),\n style: {\n ...props.style,\n // re-namespace exposed content custom properties\n ...{\n \"--radix-dropdown-menu-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n \"--radix-dropdown-menu-content-available-width\": \"var(--radix-popper-available-width)\",\n \"--radix-dropdown-menu-content-available-height\": \"var(--radix-popper-available-height)\",\n \"--radix-dropdown-menu-trigger-width\": \"var(--radix-popper-anchor-width)\",\n \"--radix-dropdown-menu-trigger-height\": \"var(--radix-popper-anchor-height)\"\n }\n }\n }\n );\n }\n);\nDropdownMenuContent.displayName = CONTENT_NAME;\nvar GROUP_NAME = \"DropdownMenuGroup\";\nvar DropdownMenuGroup = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDropdownMenu, ...groupProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Group, { ...menuScope, ...groupProps, ref: forwardedRef });\n }\n);\nDropdownMenuGroup.displayName = GROUP_NAME;\nvar LABEL_NAME = \"DropdownMenuLabel\";\nvar DropdownMenuLabel = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDropdownMenu, ...labelProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Label, { ...menuScope, ...labelProps, ref: forwardedRef });\n }\n);\nDropdownMenuLabel.displayName = LABEL_NAME;\nvar ITEM_NAME = \"DropdownMenuItem\";\nvar DropdownMenuItem = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDropdownMenu, ...itemProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Item, { ...menuScope, ...itemProps, ref: forwardedRef });\n }\n);\nDropdownMenuItem.displayName = ITEM_NAME;\nvar CHECKBOX_ITEM_NAME = \"DropdownMenuCheckboxItem\";\nvar DropdownMenuCheckboxItem = React.forwardRef((props, forwardedRef) => {\n const { __scopeDropdownMenu, ...checkboxItemProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.CheckboxItem, { ...menuScope, ...checkboxItemProps, ref: forwardedRef });\n});\nDropdownMenuCheckboxItem.displayName = CHECKBOX_ITEM_NAME;\nvar RADIO_GROUP_NAME = \"DropdownMenuRadioGroup\";\nvar DropdownMenuRadioGroup = React.forwardRef((props, forwardedRef) => {\n const { __scopeDropdownMenu, ...radioGroupProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.RadioGroup, { ...menuScope, ...radioGroupProps, ref: forwardedRef });\n});\nDropdownMenuRadioGroup.displayName = RADIO_GROUP_NAME;\nvar RADIO_ITEM_NAME = \"DropdownMenuRadioItem\";\nvar DropdownMenuRadioItem = React.forwardRef((props, forwardedRef) => {\n const { __scopeDropdownMenu, ...radioItemProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.RadioItem, { ...menuScope, ...radioItemProps, ref: forwardedRef });\n});\nDropdownMenuRadioItem.displayName = RADIO_ITEM_NAME;\nvar INDICATOR_NAME = \"DropdownMenuItemIndicator\";\nvar DropdownMenuItemIndicator = React.forwardRef((props, forwardedRef) => {\n const { __scopeDropdownMenu, ...itemIndicatorProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.ItemIndicator, { ...menuScope, ...itemIndicatorProps, ref: forwardedRef });\n});\nDropdownMenuItemIndicator.displayName = INDICATOR_NAME;\nvar SEPARATOR_NAME = \"DropdownMenuSeparator\";\nvar DropdownMenuSeparator = React.forwardRef((props, forwardedRef) => {\n const { __scopeDropdownMenu, ...separatorProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Separator, { ...menuScope, ...separatorProps, ref: forwardedRef });\n});\nDropdownMenuSeparator.displayName = SEPARATOR_NAME;\nvar ARROW_NAME = \"DropdownMenuArrow\";\nvar DropdownMenuArrow = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDropdownMenu, ...arrowProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Arrow, { ...menuScope, ...arrowProps, ref: forwardedRef });\n }\n);\nDropdownMenuArrow.displayName = ARROW_NAME;\nvar DropdownMenuSub = (props) => {\n const { __scopeDropdownMenu, children, open: openProp, onOpenChange, defaultOpen } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen ?? false,\n onChange: onOpenChange,\n caller: \"DropdownMenuSub\"\n });\n return /* @__PURE__ */ jsx(MenuPrimitive.Sub, { ...menuScope, open, onOpenChange: setOpen, children });\n};\nvar SUB_TRIGGER_NAME = \"DropdownMenuSubTrigger\";\nvar DropdownMenuSubTrigger = React.forwardRef((props, forwardedRef) => {\n const { __scopeDropdownMenu, ...subTriggerProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.SubTrigger, { ...menuScope, ...subTriggerProps, ref: forwardedRef });\n});\nDropdownMenuSubTrigger.displayName = SUB_TRIGGER_NAME;\nvar SUB_CONTENT_NAME = \"DropdownMenuSubContent\";\nvar DropdownMenuSubContent = React.forwardRef((props, forwardedRef) => {\n const { __scopeDropdownMenu, ...subContentProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(\n MenuPrimitive.SubContent,\n {\n ...menuScope,\n ...subContentProps,\n ref: forwardedRef,\n style: {\n ...props.style,\n // re-namespace exposed content custom properties\n ...{\n \"--radix-dropdown-menu-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n \"--radix-dropdown-menu-content-available-width\": \"var(--radix-popper-available-width)\",\n \"--radix-dropdown-menu-content-available-height\": \"var(--radix-popper-available-height)\",\n \"--radix-dropdown-menu-trigger-width\": \"var(--radix-popper-anchor-width)\",\n \"--radix-dropdown-menu-trigger-height\": \"var(--radix-popper-anchor-height)\"\n }\n }\n }\n );\n});\nDropdownMenuSubContent.displayName = SUB_CONTENT_NAME;\nvar Root2 = DropdownMenu;\nvar Trigger = DropdownMenuTrigger;\nvar Portal2 = DropdownMenuPortal;\nvar Content2 = DropdownMenuContent;\nvar Group2 = DropdownMenuGroup;\nvar Label2 = DropdownMenuLabel;\nvar Item2 = DropdownMenuItem;\nvar CheckboxItem2 = DropdownMenuCheckboxItem;\nvar RadioGroup2 = DropdownMenuRadioGroup;\nvar RadioItem2 = DropdownMenuRadioItem;\nvar ItemIndicator2 = DropdownMenuItemIndicator;\nvar Separator2 = DropdownMenuSeparator;\nvar Arrow2 = DropdownMenuArrow;\nvar Sub2 = DropdownMenuSub;\nvar SubTrigger2 = DropdownMenuSubTrigger;\nvar SubContent2 = DropdownMenuSubContent;\nexport {\n Arrow2 as Arrow,\n CheckboxItem2 as CheckboxItem,\n Content2 as Content,\n DropdownMenu,\n DropdownMenuArrow,\n DropdownMenuCheckboxItem,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuItem,\n DropdownMenuItemIndicator,\n DropdownMenuLabel,\n DropdownMenuPortal,\n DropdownMenuRadioGroup,\n DropdownMenuRadioItem,\n DropdownMenuSeparator,\n DropdownMenuSub,\n DropdownMenuSubContent,\n DropdownMenuSubTrigger,\n DropdownMenuTrigger,\n Group2 as Group,\n Item2 as Item,\n ItemIndicator2 as ItemIndicator,\n Label2 as Label,\n Portal2 as Portal,\n RadioGroup2 as RadioGroup,\n RadioItem2 as RadioItem,\n Root2 as Root,\n Separator2 as Separator,\n Sub2 as Sub,\n SubContent2 as SubContent,\n SubTrigger2 as SubTrigger,\n Trigger,\n createDropdownMenuScope\n};\n//# sourceMappingURL=index.mjs.map\n","'use client';\n\nimport * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';\nimport { Check, ChevronRight, Circle } from 'lucide-react';\nimport * as React from 'react';\n\nimport { cn } from '../utils';\n\nconst DropdownMenu = DropdownMenuPrimitive.Root;\n\nconst DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;\n\nconst DropdownMenuGroup = DropdownMenuPrimitive.Group;\n\nconst DropdownMenuPortal = DropdownMenuPrimitive.Portal;\n\nconst DropdownMenuSub = DropdownMenuPrimitive.Sub;\n\nconst DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup;\n\nconst DropdownMenuSubTrigger = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.SubTrigger>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.SubTrigger> & {\n inset?: boolean;\n }\n>(({ className, inset, children, ...props }, ref) => (\n <DropdownMenuPrimitive.SubTrigger\n ref={ref}\n className={cn(\n 'flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent',\n inset && 'pl-8',\n className,\n )}\n {...props}\n >\n {children}\n <ChevronRight className=\"ml-auto h-4 w-4\" />\n </DropdownMenuPrimitive.SubTrigger>\n));\nDropdownMenuSubTrigger.displayName = DropdownMenuPrimitive.SubTrigger.displayName;\n\nconst DropdownMenuSubContent = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.SubContent>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.SubContent>\n>(({ className, ...props }, ref) => (\n <DropdownMenuPrimitive.SubContent\n ref={ref}\n className={cn(\n 'z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2',\n className,\n )}\n {...props}\n />\n));\nDropdownMenuSubContent.displayName = DropdownMenuPrimitive.SubContent.displayName;\n\nconst DropdownMenuContent = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Content>\n>(({ className, sideOffset = 4, ...props }, ref) => (\n <DropdownMenuPrimitive.Portal>\n <DropdownMenuPrimitive.Content\n ref={ref}\n sideOffset={sideOffset}\n className={cn(\n 'z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2',\n className,\n )}\n {...props}\n />\n </DropdownMenuPrimitive.Portal>\n));\nDropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;\n\nconst DropdownMenuItem = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Item> & {\n inset?: boolean;\n }\n>(({ className, inset, ...props }, ref) => (\n <DropdownMenuPrimitive.Item\n ref={ref}\n className={cn(\n 'relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50',\n inset && 'pl-8',\n className,\n )}\n {...props}\n />\n));\nDropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;\n\nconst DropdownMenuCheckboxItem = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.CheckboxItem>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.CheckboxItem>\n>(({ className, children, checked, ...props }, ref) => (\n <DropdownMenuPrimitive.CheckboxItem\n ref={ref}\n className={cn(\n 'relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50',\n className,\n )}\n checked={checked}\n {...props}\n >\n <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <Check className=\"h-4 w-4\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.CheckboxItem>\n));\nDropdownMenuCheckboxItem.displayName = DropdownMenuPrimitive.CheckboxItem.displayName;\n\nconst DropdownMenuRadioItem = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.RadioItem>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.RadioItem>\n>(({ className, children, ...props }, ref) => (\n <DropdownMenuPrimitive.RadioItem\n ref={ref}\n className={cn(\n 'relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50',\n className,\n )}\n {...props}\n >\n <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <Circle className=\"h-2 w-2 fill-current\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.RadioItem>\n));\nDropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName;\n\nconst DropdownMenuLabel = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Label>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Label> & {\n inset?: boolean;\n }\n>(({ className, inset, ...props }, ref) => (\n <DropdownMenuPrimitive.Label\n ref={ref}\n className={cn('px-2 py-1.5 text-sm font-semibold', inset && 'pl-8', className)}\n {...props}\n />\n));\nDropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;\n\nconst DropdownMenuSeparator = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <DropdownMenuPrimitive.Separator ref={ref} className={cn('-mx-1 my-2 h-px bg-border', className)} {...props} />\n));\nDropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName;\n\nconst DropdownMenuShortcut = ({ className, ...props }: React.HTMLAttributes<HTMLSpanElement>) => {\n return <span className={cn('ml-auto text-xs tracking-widest opacity-60', className)} {...props} />;\n};\nDropdownMenuShortcut.displayName = 'DropdownMenuShortcut';\n\nexport {\n DropdownMenu,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuCheckboxItem,\n DropdownMenuRadioItem,\n DropdownMenuLabel,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuGroup,\n DropdownMenuPortal,\n DropdownMenuSub,\n DropdownMenuSubContent,\n DropdownMenuSubTrigger,\n DropdownMenuRadioGroup,\n};\n","import * as React from 'react';\nimport {\n DropdownMenuCheckboxItem as ShadcnDropdownMenuCheckboxItem,\n DropdownMenuContent as ShadcnDropdownMenuContent,\n DropdownMenuGroup as ShadcnDropdownMenuGroup,\n DropdownMenuItem as ShadcnDropdownMenuItem,\n DropdownMenuLabel as ShadcnDropdownMenuLabel,\n DropdownMenuPortal as ShadcnDropdownMenuPortal,\n DropdownMenuRadioGroup as ShadcnDropdownMenuRadioGroup,\n DropdownMenuRadioItem as ShadcnDropdownMenuRadioItem,\n DropdownMenu as ShadcnDropdownMenuRoot,\n DropdownMenuSeparator as ShadcnDropdownMenuSeparator,\n DropdownMenuShortcut as ShadcnDropdownMenuShortcut,\n DropdownMenuSub as ShadcnDropdownMenuSub,\n DropdownMenuSubContent as ShadcnDropdownMenuSubContent,\n DropdownMenuSubTrigger as ShadcnDropdownMenuSubTrigger,\n DropdownMenuTrigger as ShadcnDropdownMenuTrigger,\n} from '../../../shadcn/shadcnDropdownMenu';\nimport { Button } from '../Button';\nimport type { DropdownMenuProps, MenuItem } from './types';\n\n// Export all primitive parts with proper aliases\nexport const DropdownMenuRoot = ShadcnDropdownMenuRoot;\nexport const DropdownMenuCheckboxItem = ShadcnDropdownMenuCheckboxItem;\nexport const DropdownMenuContent = ShadcnDropdownMenuContent;\nexport const DropdownMenuGroup = ShadcnDropdownMenuGroup;\nexport const DropdownMenuItem = ShadcnDropdownMenuItem;\nexport const DropdownMenuLabel = ShadcnDropdownMenuLabel;\nexport const DropdownMenuPortal = ShadcnDropdownMenuPortal;\nexport const DropdownMenuRadioGroup = ShadcnDropdownMenuRadioGroup;\nexport const DropdownMenuRadioItem = ShadcnDropdownMenuRadioItem;\nexport const DropdownMenuSeparator = ShadcnDropdownMenuSeparator;\nexport const DropdownMenuShortcut = ShadcnDropdownMenuShortcut;\nexport const DropdownMenuSub = ShadcnDropdownMenuSub;\nexport const DropdownMenuSubContent = ShadcnDropdownMenuSubContent;\nexport const DropdownMenuSubTrigger = ShadcnDropdownMenuSubTrigger;\nexport const DropdownMenuTrigger = ShadcnDropdownMenuTrigger;\n\n/**\n * Helper function to recursively render menu items based on their type\n * Supports all menu item types including nested submenus\n */\nconst renderMenuItem = (item: MenuItem, index: number): React.ReactNode => {\n switch (item.type) {\n case 'separator':\n return <DropdownMenuSeparator key={item.id ?? `separator-${index}`} />;\n\n case 'label':\n return <DropdownMenuLabel key={item.id}>{item.label}</DropdownMenuLabel>;\n\n case 'item': {\n const Icon = item.icon;\n return (\n <DropdownMenuItem\n key={item.id}\n onClick={item.onClick}\n disabled={item.disabled}\n className={item.variant === 'destructive' ? 'text-destructive focus:text-destructive' : undefined}\n >\n {Icon && <Icon className=\"mr-2 h-4 w-4\" />}\n <span>{item.label}</span>\n {item.shortcut && <DropdownMenuShortcut>{item.shortcut}</DropdownMenuShortcut>}\n </DropdownMenuItem>\n );\n }\n\n case 'checkbox': {\n const Icon = item.icon;\n return (\n <DropdownMenuCheckboxItem\n key={item.id}\n checked={item.checked}\n onCheckedChange={item.onCheckedChange}\n disabled={item.disabled}\n >\n {Icon && <Icon className=\"mr-2 h-4 w-4\" />}\n {item.label}\n </DropdownMenuCheckboxItem>\n );\n }\n\n case 'radio-group':\n return (\n <DropdownMenuRadioGroup key={item.id} value={item.value} onValueChange={item.onValueChange}>\n {item.items.map((radioItem) => {\n const Icon = radioItem.icon;\n return (\n <DropdownMenuRadioItem key={radioItem.value} value={radioItem.value} disabled={radioItem.disabled}>\n {Icon && <Icon className=\"mr-2 h-4 w-4\" />}\n {radioItem.label}\n </DropdownMenuRadioItem>\n );\n })}\n </DropdownMenuRadioGroup>\n );\n\n case 'sub': {\n const Icon = item.icon;\n return (\n <DropdownMenuSub key={item.id}>\n <DropdownMenuSubTrigger disabled={item.disabled}>\n {Icon && <Icon className=\"mr-2 h-4 w-4\" />}\n <span>{item.label}</span>\n </DropdownMenuSubTrigger>\n <DropdownMenuPortal>\n <DropdownMenuSubContent>\n {item.items.map((subItem, subIndex) => renderMenuItem(subItem, subIndex))}\n </DropdownMenuSubContent>\n </DropdownMenuPortal>\n </DropdownMenuSub>\n );\n }\n\n case 'group':\n return (\n <DropdownMenuGroup key={item.id}>\n {item.label && <DropdownMenuLabel>{item.label}</DropdownMenuLabel>}\n {item.items.map((groupItem, groupIndex) => renderMenuItem(groupItem, groupIndex))}\n </DropdownMenuGroup>\n );\n\n case 'custom': {\n const content = typeof item.render === 'function' ? item.render() : item.render;\n if (item.asMenuItem) {\n return (\n <DropdownMenuItem key={item.id} onClick={item.onClick} disabled={item.disabled}>\n {content}\n </DropdownMenuItem>\n );\n }\n return <React.Fragment key={item.id}>{content}</React.Fragment>;\n }\n\n default:\n return null;\n }\n};\n\n/**\n * DropdownMenu - A flexible, data-driven dropdown menu component\n *\n * This component provides a declarative API for building dropdown menus without\n * manually composing primitive components. It supports all dropdown menu features\n * including items, checkboxes, radio groups, submenus, separators, labels, and groups.\n *\n * @example\n * ```tsx\n * import { DropdownMenu } from '@vritti/quantum-ui/DropdownMenu';\n * import { Settings, User, LogOut } from 'lucide-react';\n *\n * function UserMenu() {\n * const [showStatus, setShowStatus] = useState(true);\n *\n * return (\n * <DropdownMenu\n * trigger={{ label: 'Menu', variant: 'outline' }}\n * items={[\n * { type: 'label', id: 'account-label', label: 'My Account' },\n * { type: 'item', id: 'profile', label: 'Profile', icon: User, shortcut: '⌘P' },\n * { type: 'item', id: 'settings', label: 'Settings', icon: Settings },\n * { type: 'separator' },\n * {\n * type: 'checkbox',\n * id: 'status',\n * label: 'Show Status',\n * checked: showStatus,\n * onCheckedChange: setShowStatus,\n * },\n * { type: 'separator' },\n * {\n * type: 'item',\n * id: 'logout',\n * label: 'Log out',\n * icon: LogOut,\n * variant: 'destructive',\n * },\n * ]}\n * align=\"end\"\n * />\n * );\n * }\n * ```\n */\nexport const DropdownMenu: React.FC<DropdownMenuProps> = ({\n trigger,\n items,\n contentClassName,\n align = 'end',\n side,\n}) => {\n const TriggerIcon = trigger.icon;\n\n return (\n <DropdownMenuRoot>\n <DropdownMenuTrigger asChild>\n {trigger.children ?? (\n <Button variant={trigger.variant} className={trigger.className}>\n {TriggerIcon && <TriggerIcon className=\"mr-2 h-4 w-4\" />}\n {trigger.label}\n </Button>\n )}\n </DropdownMenuTrigger>\n <DropdownMenuContent className={contentClassName} align={align} side={side}>\n {items.map((item, index) => renderMenuItem(item, index))}\n </DropdownMenuContent>\n </DropdownMenuRoot>\n );\n};\n\nDropdownMenu.displayName = 'DropdownMenu';\n"],"names":["React","GROUP_NAME","Collection","useCollection","createCollectionScope","focusFirst","ITEM_NAME","wrapArray","PopperPrimitive.Root","PopperPrimitive.Anchor","PORTAL_NAME","PortalPrimitive","CONTENT_NAME","RemoveScroll","RovingFocusGroup.Root","PopperPrimitive.Content","LABEL_NAME","RovingFocusGroup.Item","CHECKBOX_ITEM_NAME","RADIO_GROUP_NAME","RADIO_ITEM_NAME","SEPARATOR_NAME","ARROW_NAME","PopperPrimitive.Arrow","SUB_TRIGGER_NAME","SUB_CONTENT_NAME","Content2","Item2","DropdownMenu","MenuPrimitive.Root","DropdownMenuTrigger","MenuPrimitive.Anchor","DropdownMenuPortal","MenuPrimitive.Portal","DropdownMenuContent","MenuPrimitive.Content","DropdownMenuGroup","MenuPrimitive.Group","DropdownMenuLabel","MenuPrimitive.Label","DropdownMenuItem","MenuPrimitive.Item","DropdownMenuCheckboxItem","MenuPrimitive.CheckboxItem","DropdownMenuRadioGroup","MenuPrimitive.RadioGroup","DropdownMenuRadioItem","MenuPrimitive.RadioItem","MenuPrimitive.ItemIndicator","DropdownMenuSeparator","MenuPrimitive.Separator","MenuPrimitive.Arrow","DropdownMenuSub","MenuPrimitive.Sub","DropdownMenuSubTrigger","MenuPrimitive.SubTrigger","DropdownMenuSubContent","MenuPrimitive.SubContent","DropdownMenuPrimitive.Root","DropdownMenuPrimitive.Trigger","DropdownMenuPrimitive.Group","DropdownMenuPrimitive.Portal","DropdownMenuPrimitive.Sub","DropdownMenuPrimitive.RadioGroup","DropdownMenuPrimitive.SubTrigger","DropdownMenuPrimitive.SubContent","DropdownMenuPrimitive.Content","DropdownMenuPrimitive.Item","DropdownMenuPrimitive.CheckboxItem","DropdownMenuPrimitive.ItemIndicator","DropdownMenuPrimitive.RadioItem","DropdownMenuPrimitive.Label","DropdownMenuPrimitive.Separator","DropdownMenuShortcut","ShadcnDropdownMenuRoot","ShadcnDropdownMenuCheckboxItem","ShadcnDropdownMenuContent","ShadcnDropdownMenuGroup","ShadcnDropdownMenuItem","ShadcnDropdownMenuLabel","ShadcnDropdownMenuPortal","ShadcnDropdownMenuRadioGroup","ShadcnDropdownMenuRadioItem","ShadcnDropdownMenuSeparator","ShadcnDropdownMenuShortcut","ShadcnDropdownMenuSub","ShadcnDropdownMenuSubContent","ShadcnDropdownMenuSubTrigger","ShadcnDropdownMenuTrigger"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5]}