ics-ui-kit 0.1.0-alpha.47 → 0.1.0-alpha.49

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 (198) hide show
  1. package/README.md +32 -32
  2. package/dist/AlertContext-CxjW1LVL.js.map +1 -1
  3. package/dist/AlertIcon-DQs4wtDT.js.map +1 -1
  4. package/dist/Button--ooZ8ALo.js.map +1 -1
  5. package/dist/ButtonBase-Sf-fcVor.js.map +1 -1
  6. package/dist/CarouselItem-DCAuGIKz.js.map +1 -1
  7. package/dist/{CheckboxField-DvsGq3kV.js → CheckboxField-BR2hWwTO.js} +2 -2
  8. package/dist/CheckboxField-BR2hWwTO.js.map +1 -0
  9. package/dist/{Command-BU9Ouar3.js → Command-C_iW2joV.js} +2 -2
  10. package/dist/Command-C_iW2joV.js.map +1 -0
  11. package/dist/ComponentVariantProvider-B0SFUaXB.js.map +1 -1
  12. package/dist/Description-BTPMlTT-.js.map +1 -1
  13. package/dist/Dialog-CkDUxZUj.js.map +1 -1
  14. package/dist/Divider-Dm2gjy8W.js.map +1 -1
  15. package/dist/EmptyState-DRKjscH-.js.map +1 -1
  16. package/dist/ErrorState-B26k67-z.js.map +1 -1
  17. package/dist/FeatureIcon-yM7FhAXa.js.map +1 -1
  18. package/dist/{Field-CdocNMjg.js → Field-DpbrZvvg.js} +2 -2
  19. package/dist/Field-DpbrZvvg.js.map +1 -0
  20. package/dist/{FieldLabel-DRwAhGMz.js → FieldLabel-saPDMPPr.js} +2 -2
  21. package/dist/FieldLabel-saPDMPPr.js.map +1 -0
  22. package/dist/FolderSvg-cw0DxNVy.js.map +1 -1
  23. package/dist/{FormFooterTemplate-1MNxzQ7J.js → FormFooterTemplate-DV4pN3b-.js} +2 -2
  24. package/dist/FormFooterTemplate-DV4pN3b-.js.map +1 -0
  25. package/dist/FormHeader-BA2dJOPS.js.map +1 -1
  26. package/dist/{FormStack-DbtLshF8.js → FormStack-D-0fK-Zy.js} +3 -3
  27. package/dist/FormStack-D-0fK-Zy.js.map +1 -0
  28. package/dist/HintState-BxrCAWqq.js.map +1 -1
  29. package/dist/Icon-DH3ev9GK.js.map +1 -1
  30. package/dist/IconButton-moydR8IU.js.map +1 -1
  31. package/dist/{IconTooltip-CibXkFmt.js → IconTooltip-BbswlF6Q.js} +3 -3
  32. package/dist/IconTooltip-BbswlF6Q.js.map +1 -0
  33. package/dist/ImagePlaceholder-B6mGYVx2.js.map +1 -1
  34. package/dist/ImagePreview-BIBDrLVV.js.map +1 -1
  35. package/dist/ImageUploader-C-_ZPptv.js.map +1 -1
  36. package/dist/Indicator-B75A1Vgp.js.map +1 -1
  37. package/dist/InputGroup-CmstXpkX.js.map +1 -1
  38. package/dist/InputOTP-B2e1nfSO.js.map +1 -1
  39. package/dist/Loader-BpHiL6W-.js.map +1 -1
  40. package/dist/MenuItem-pvsONHlh.js.map +1 -1
  41. package/dist/{MenuItemShortcut-CGbVYqRi.js → MenuItemShortcut-DK7VneTR.js} +2 -2
  42. package/dist/MenuItemShortcut-DK7VneTR.js.map +1 -0
  43. package/dist/MenuItemText-7uPl9P3z.js.map +1 -1
  44. package/dist/Overlay-CLw_hvAN.js.map +1 -1
  45. package/dist/{Popover-CkezMtEz.js → Popover-DmwXZwYd.js} +17 -17
  46. package/dist/Popover-DmwXZwYd.js.map +1 -0
  47. package/dist/RichButton-BuenN3bJ.js.map +1 -1
  48. package/dist/ScrollShadowContainer-ODG9ChxA.js.map +1 -1
  49. package/dist/{SearchSelectTag-D1bFK1ux.js → SearchSelectTag-Ce-Q9JGR.js} +2 -2
  50. package/dist/SearchSelectTag-Ce-Q9JGR.js.map +1 -0
  51. package/dist/{Select-Bfrb-J8s.js → Select-CWbLja8r.js} +195 -195
  52. package/dist/Select-CWbLja8r.js.map +1 -0
  53. package/dist/Sheet-Dx9mwcF6.js.map +1 -1
  54. package/dist/Shortcut-D8L15_ed.js +22 -0
  55. package/dist/Shortcut-D8L15_ed.js.map +1 -0
  56. package/dist/Skeleton-y6I-i9q5.js.map +1 -1
  57. package/dist/{Tag-DJuVSJh5.js → Tag-CofZF1d0.js} +6 -6
  58. package/dist/Tag-CofZF1d0.js.map +1 -0
  59. package/dist/Text-DeBE8AKl.js.map +1 -1
  60. package/dist/TextInput-DTzujp77.js.map +1 -1
  61. package/dist/{Toggle-CS29Nksd.js → Toggle-CCD2UHWr.js} +15 -13
  62. package/dist/Toggle-CCD2UHWr.js.map +1 -0
  63. package/dist/{Tooltip-Cm1-WEdA.js → Tooltip-BH_Jc6ub.js} +2 -2
  64. package/dist/Tooltip-BH_Jc6ub.js.map +1 -0
  65. package/dist/TriggerButton-a2ClSj7f.js +33 -0
  66. package/dist/TriggerButton-a2ClSj7f.js.map +1 -0
  67. package/dist/blocks/auth/otp-form.js +1 -1
  68. package/dist/blocks/auth/otp-form.js.map +1 -1
  69. package/dist/cn-dsXlqdJg.js.map +1 -1
  70. package/dist/components/alert-dialog.js.map +1 -1
  71. package/dist/components/alert.js.map +1 -1
  72. package/dist/components/avatar/Avatar.d.ts +1 -1
  73. package/dist/components/avatar/avatar-indicator/AvatarIndicator.d.ts +3 -1
  74. package/dist/components/avatar/avatar-label/AvatarLabel.d.ts +1 -1
  75. package/dist/components/avatar.js +110 -93
  76. package/dist/components/avatar.js.map +1 -1
  77. package/dist/components/badge.js.map +1 -1
  78. package/dist/components/breadcrumb.js.map +1 -1
  79. package/dist/components/button.js +1 -1
  80. package/dist/components/button.js.map +1 -1
  81. package/dist/components/calendar.js.map +1 -1
  82. package/dist/components/card.js.map +1 -1
  83. package/dist/components/carousel.js.map +1 -1
  84. package/dist/components/checkbox.js +1 -1
  85. package/dist/components/collapsible.js.map +1 -1
  86. package/dist/components/color-tile.js.map +1 -1
  87. package/dist/components/command.js +1 -1
  88. package/dist/components/container.js.map +1 -1
  89. package/dist/components/counter.js.map +1 -1
  90. package/dist/components/dialog.js +1 -1
  91. package/dist/components/dialog.js.map +1 -1
  92. package/dist/components/divider.js.map +1 -1
  93. package/dist/components/drawer.js +1 -1
  94. package/dist/components/drawer.js.map +1 -1
  95. package/dist/components/dropdown.js +2 -2
  96. package/dist/components/dropdown.js.map +1 -1
  97. package/dist/components/error-state.js.map +1 -1
  98. package/dist/components/field.js +1 -1
  99. package/dist/components/file-upload.js.map +1 -1
  100. package/dist/components/form.js +3 -3
  101. package/dist/components/form.js.map +1 -1
  102. package/dist/components/gallery.js.map +1 -1
  103. package/dist/components/icon-tooltip.js +1 -1
  104. package/dist/components/input.js.map +1 -1
  105. package/dist/components/label.js +1 -1
  106. package/dist/components/menu-item.js +1 -1
  107. package/dist/components/menu-item.js.map +1 -1
  108. package/dist/components/overflow-tooltip.js +1 -1
  109. package/dist/components/overflow-tooltip.js.map +1 -1
  110. package/dist/components/page-state.js.map +1 -1
  111. package/dist/components/popover.js +1 -1
  112. package/dist/components/portal-container.js.map +1 -1
  113. package/dist/components/progress-circle.js.map +1 -1
  114. package/dist/components/progress.js.map +1 -1
  115. package/dist/components/prose.js.map +1 -1
  116. package/dist/components/radio-group.js.map +1 -1
  117. package/dist/components/resizable.js.map +1 -1
  118. package/dist/components/scheduler.js +1 -1
  119. package/dist/components/scheduler.js.map +1 -1
  120. package/dist/components/search-select.js +4 -4
  121. package/dist/components/search-select.js.map +1 -1
  122. package/dist/components/select.js +1 -1
  123. package/dist/components/shortcut.js +1 -1
  124. package/dist/components/sidebar.js +71 -68
  125. package/dist/components/sidebar.js.map +1 -1
  126. package/dist/components/slider.js.map +1 -1
  127. package/dist/components/stepper.js.map +1 -1
  128. package/dist/components/switch.js +1 -1
  129. package/dist/components/switch.js.map +1 -1
  130. package/dist/components/system-state.js.map +1 -1
  131. package/dist/components/table.js.map +1 -1
  132. package/dist/components/tabs.js.map +1 -1
  133. package/dist/components/tag-input.js +2 -2
  134. package/dist/components/tag-input.js.map +1 -1
  135. package/dist/components/tag.js +1 -1
  136. package/dist/components/textarea.js.map +1 -1
  137. package/dist/components/toast.js.map +1 -1
  138. package/dist/components/toggle/Toggle.d.ts +8 -2
  139. package/dist/components/toggle-group.js +1 -1
  140. package/dist/components/toggle-group.js.map +1 -1
  141. package/dist/components/toggle.js +1 -1
  142. package/dist/components/toolbar.js.map +1 -1
  143. package/dist/components/tooltip.js +1 -1
  144. package/dist/downloadFile-yZV-aaO2.js.map +1 -1
  145. package/dist/font-inter.css +15 -15
  146. package/dist/font-menlo.css +15 -15
  147. package/dist/index-0ioNhtNM.js.map +1 -1
  148. package/dist/index-5Bhkapwi.js.map +1 -1
  149. package/dist/index-BGQepRFJ.js.map +1 -1
  150. package/dist/index-BGfrl8IX.js.map +1 -1
  151. package/dist/index-BNirMMl4.js.map +1 -1
  152. package/dist/index-BVqs-uqP.js.map +1 -1
  153. package/dist/index-BZPx6jYI.js.map +1 -1
  154. package/dist/index-BdXokVmb.js.map +1 -1
  155. package/dist/index-Bwf2hSw6.js.map +1 -1
  156. package/dist/index-C0UREtMP.js.map +1 -1
  157. package/dist/index-C3surxzg.js.map +1 -1
  158. package/dist/index-CCKe-Mpx.js.map +1 -1
  159. package/dist/index-CpDnqHCm.js.map +1 -1
  160. package/dist/index-DFZozV_h.js.map +1 -1
  161. package/dist/index-DG36Jang.js.map +1 -1
  162. package/dist/index-DfNPZZ8M.js.map +1 -1
  163. package/dist/index-DpXwz_9G.js.map +1 -1
  164. package/dist/index-Nzc5v6h6.js.map +1 -1
  165. package/dist/index-l1F44JQJ.js.map +1 -1
  166. package/dist/index.js.map +1 -1
  167. package/dist/inputBaseStyles-BZJgQP7O.js.map +1 -1
  168. package/dist/lib/utils.js.map +1 -1
  169. package/dist/styles-scoped.css +5846 -5832
  170. package/dist/styles.css +1949 -1935
  171. package/dist/types/css.d.ts +4 -4
  172. package/dist/useBreakpoints-wEcfJPHd.js.map +1 -1
  173. package/dist/useDebounce-BRah78CF.js.map +1 -1
  174. package/dist/useFileUpload-iDag0iqM.js.map +1 -1
  175. package/dist/useMergeRefs-qoKniYqT.js.map +1 -1
  176. package/dist/usePortalContainer-ae6EzS08.js.map +1 -1
  177. package/dist/vendors/tanstack/react-table.js.map +1 -1
  178. package/dist/zod-BMNoK3aM.js.map +1 -1
  179. package/package.json +172 -172
  180. package/dist/CheckboxField-DvsGq3kV.js.map +0 -1
  181. package/dist/Command-BU9Ouar3.js.map +0 -1
  182. package/dist/Field-CdocNMjg.js.map +0 -1
  183. package/dist/FieldLabel-DRwAhGMz.js.map +0 -1
  184. package/dist/FormFooterTemplate-1MNxzQ7J.js.map +0 -1
  185. package/dist/FormStack-DbtLshF8.js.map +0 -1
  186. package/dist/IconTooltip-CibXkFmt.js.map +0 -1
  187. package/dist/MenuItemShortcut-CGbVYqRi.js.map +0 -1
  188. package/dist/Popover-CkezMtEz.js.map +0 -1
  189. package/dist/SearchSelectTag-D1bFK1ux.js.map +0 -1
  190. package/dist/Select-Bfrb-J8s.js.map +0 -1
  191. package/dist/Shortcut-Cm4nUx2C.js +0 -22
  192. package/dist/Shortcut-Cm4nUx2C.js.map +0 -1
  193. package/dist/Tag-DJuVSJh5.js.map +0 -1
  194. package/dist/Toggle-CS29Nksd.js.map +0 -1
  195. package/dist/Tooltip-Cm1-WEdA.js.map +0 -1
  196. package/dist/TriggerButton-BzXO5wcQ.js +0 -33
  197. package/dist/TriggerButton-BzXO5wcQ.js.map +0 -1
  198. package/dist/design-tokens.source.json +0 -1
@@ -13,10 +13,10 @@ import { P as H } from "../index-BGfrl8IX.js";
13
13
  import { c as Ze, I as eo, R as no } from "../index-Nzc5v6h6.js";
14
14
  import { u as ae } from "../index-0ioNhtNM.js";
15
15
  import { T as y } from "../index-BVqs-uqP.js";
16
- import { T as oo } from "../TriggerButton-BzXO5wcQ.js";
16
+ import { T as oo } from "../TriggerButton-a2ClSj7f.js";
17
17
  import { u as to } from "../usePortalContainer-ae6EzS08.js";
18
18
  import { m as W } from "../MenuItem-pvsONHlh.js";
19
- import { m as ro } from "../MenuItemShortcut-CGbVYqRi.js";
19
+ import { m as ro } from "../MenuItemShortcut-DK7VneTR.js";
20
20
  import { u as R } from "../ComponentVariantProvider-B0SFUaXB.js";
21
21
  import { c as ao } from "../cn-dsXlqdJg.js";
22
22
  import { M as so } from "../minus-BltQa7Q2.js";
@@ -1 +1 @@
1
- {"version":3,"file":"dropdown.js","sources":["../../node_modules/.pnpm/@radix-ui+react-menu@2.1.16_35fddcd3455c39e31efd7862f92ddf73/node_modules/@radix-ui/react-menu/dist/index.mjs","../../node_modules/.pnpm/@radix-ui+react-dropdown-me_fd493ded79af14f2afcca9496af471b5/node_modules/@radix-ui/react-dropdown-menu/dist/index.mjs","../../src/components/dropdown/Dropdown.tsx","../../src/components/dropdown/useHoverDropdown.ts"],"sourcesContent":["\"use client\";\n\n// src/menu.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { createCollection } from \"@radix-ui/react-collection\";\nimport { useComposedRefs, composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { DismissableLayer } from \"@radix-ui/react-dismissable-layer\";\nimport { useFocusGuards } from \"@radix-ui/react-focus-guards\";\nimport { FocusScope } from \"@radix-ui/react-focus-scope\";\nimport { useId } from \"@radix-ui/react-id\";\nimport * as PopperPrimitive from \"@radix-ui/react-popper\";\nimport { createPopperScope } from \"@radix-ui/react-popper\";\nimport { Portal as PortalPrimitive } from \"@radix-ui/react-portal\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { Primitive, dispatchDiscreteCustomEvent } from \"@radix-ui/react-primitive\";\nimport * as RovingFocusGroup from \"@radix-ui/react-roving-focus\";\nimport { createRovingFocusGroupScope } from \"@radix-ui/react-roving-focus\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { hideOthers } from \"aria-hidden\";\nimport { RemoveScroll } from \"react-remove-scroll\";\nimport { jsx } from \"react/jsx-runtime\";\nvar SELECTION_KEYS = [\"Enter\", \" \"];\nvar FIRST_KEYS = [\"ArrowDown\", \"PageUp\", \"Home\"];\nvar LAST_KEYS = [\"ArrowUp\", \"PageDown\", \"End\"];\nvar FIRST_LAST_KEYS = [...FIRST_KEYS, ...LAST_KEYS];\nvar SUB_OPEN_KEYS = {\n ltr: [...SELECTION_KEYS, \"ArrowRight\"],\n rtl: [...SELECTION_KEYS, \"ArrowLeft\"]\n};\nvar SUB_CLOSE_KEYS = {\n ltr: [\"ArrowLeft\"],\n rtl: [\"ArrowRight\"]\n};\nvar MENU_NAME = \"Menu\";\nvar [Collection, useCollection, createCollectionScope] = createCollection(MENU_NAME);\nvar [createMenuContext, createMenuScope] = createContextScope(MENU_NAME, [\n createCollectionScope,\n createPopperScope,\n createRovingFocusGroupScope\n]);\nvar usePopperScope = createPopperScope();\nvar useRovingFocusGroupScope = createRovingFocusGroupScope();\nvar [MenuProvider, useMenuContext] = createMenuContext(MENU_NAME);\nvar [MenuRootProvider, useMenuRootContext] = createMenuContext(MENU_NAME);\nvar Menu = (props) => {\n const { __scopeMenu, open = false, children, dir, onOpenChange, modal = true } = props;\n const popperScope = usePopperScope(__scopeMenu);\n const [content, setContent] = React.useState(null);\n const isUsingKeyboardRef = React.useRef(false);\n const handleOpenChange = useCallbackRef(onOpenChange);\n const direction = useDirection(dir);\n React.useEffect(() => {\n const handleKeyDown = () => {\n isUsingKeyboardRef.current = true;\n document.addEventListener(\"pointerdown\", handlePointer, { capture: true, once: true });\n document.addEventListener(\"pointermove\", handlePointer, { capture: true, once: true });\n };\n const handlePointer = () => isUsingKeyboardRef.current = false;\n document.addEventListener(\"keydown\", handleKeyDown, { capture: true });\n return () => {\n document.removeEventListener(\"keydown\", handleKeyDown, { capture: true });\n document.removeEventListener(\"pointerdown\", handlePointer, { capture: true });\n document.removeEventListener(\"pointermove\", handlePointer, { capture: true });\n };\n }, []);\n return /* @__PURE__ */ jsx(PopperPrimitive.Root, { ...popperScope, children: /* @__PURE__ */ jsx(\n MenuProvider,\n {\n scope: __scopeMenu,\n open,\n onOpenChange: handleOpenChange,\n content,\n onContentChange: setContent,\n children: /* @__PURE__ */ jsx(\n MenuRootProvider,\n {\n scope: __scopeMenu,\n onClose: React.useCallback(() => handleOpenChange(false), [handleOpenChange]),\n isUsingKeyboardRef,\n dir: direction,\n modal,\n children\n }\n )\n }\n ) });\n};\nMenu.displayName = MENU_NAME;\nvar ANCHOR_NAME = \"MenuAnchor\";\nvar MenuAnchor = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, ...anchorProps } = props;\n const popperScope = usePopperScope(__scopeMenu);\n return /* @__PURE__ */ jsx(PopperPrimitive.Anchor, { ...popperScope, ...anchorProps, ref: forwardedRef });\n }\n);\nMenuAnchor.displayName = ANCHOR_NAME;\nvar PORTAL_NAME = \"MenuPortal\";\nvar [PortalProvider, usePortalContext] = createMenuContext(PORTAL_NAME, {\n forceMount: void 0\n});\nvar MenuPortal = (props) => {\n const { __scopeMenu, forceMount, children, container } = props;\n const context = useMenuContext(PORTAL_NAME, __scopeMenu);\n return /* @__PURE__ */ jsx(PortalProvider, { scope: __scopeMenu, forceMount, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(PortalPrimitive, { asChild: true, container, children }) }) });\n};\nMenuPortal.displayName = PORTAL_NAME;\nvar CONTENT_NAME = \"MenuContent\";\nvar [MenuContentProvider, useMenuContentContext] = createMenuContext(CONTENT_NAME);\nvar MenuContent = React.forwardRef(\n (props, forwardedRef) => {\n const portalContext = usePortalContext(CONTENT_NAME, props.__scopeMenu);\n const { forceMount = portalContext.forceMount, ...contentProps } = props;\n const context = useMenuContext(CONTENT_NAME, props.__scopeMenu);\n const rootContext = useMenuRootContext(CONTENT_NAME, props.__scopeMenu);\n return /* @__PURE__ */ jsx(Collection.Provider, { scope: props.__scopeMenu, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(Collection.Slot, { scope: props.__scopeMenu, children: rootContext.modal ? /* @__PURE__ */ jsx(MenuRootContentModal, { ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ jsx(MenuRootContentNonModal, { ...contentProps, ref: forwardedRef }) }) }) });\n }\n);\nvar MenuRootContentModal = React.forwardRef(\n (props, forwardedRef) => {\n const context = useMenuContext(CONTENT_NAME, props.__scopeMenu);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n React.useEffect(() => {\n const content = ref.current;\n if (content) return hideOthers(content);\n }, []);\n return /* @__PURE__ */ jsx(\n MenuContentImpl,\n {\n ...props,\n ref: composedRefs,\n trapFocus: context.open,\n disableOutsidePointerEvents: context.open,\n disableOutsideScroll: true,\n onFocusOutside: composeEventHandlers(\n props.onFocusOutside,\n (event) => event.preventDefault(),\n { checkForDefaultPrevented: false }\n ),\n onDismiss: () => context.onOpenChange(false)\n }\n );\n }\n);\nvar MenuRootContentNonModal = React.forwardRef((props, forwardedRef) => {\n const context = useMenuContext(CONTENT_NAME, props.__scopeMenu);\n return /* @__PURE__ */ jsx(\n MenuContentImpl,\n {\n ...props,\n ref: forwardedRef,\n trapFocus: false,\n disableOutsidePointerEvents: false,\n disableOutsideScroll: false,\n onDismiss: () => context.onOpenChange(false)\n }\n );\n});\nvar Slot = createSlot(\"MenuContent.ScrollLock\");\nvar MenuContentImpl = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeMenu,\n loop = false,\n trapFocus,\n onOpenAutoFocus,\n onCloseAutoFocus,\n disableOutsidePointerEvents,\n onEntryFocus,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside,\n onInteractOutside,\n onDismiss,\n disableOutsideScroll,\n ...contentProps\n } = props;\n const context = useMenuContext(CONTENT_NAME, __scopeMenu);\n const rootContext = useMenuRootContext(CONTENT_NAME, __scopeMenu);\n const popperScope = usePopperScope(__scopeMenu);\n const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeMenu);\n const getItems = useCollection(__scopeMenu);\n const [currentItemId, setCurrentItemId] = React.useState(null);\n const contentRef = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, contentRef, context.onContentChange);\n const timerRef = React.useRef(0);\n const searchRef = React.useRef(\"\");\n const pointerGraceTimerRef = React.useRef(0);\n const pointerGraceIntentRef = React.useRef(null);\n const pointerDirRef = React.useRef(\"right\");\n const lastPointerXRef = React.useRef(0);\n const ScrollLockWrapper = disableOutsideScroll ? RemoveScroll : React.Fragment;\n const scrollLockWrapperProps = disableOutsideScroll ? { as: Slot, allowPinchZoom: true } : void 0;\n const handleTypeaheadSearch = (key) => {\n const search = searchRef.current + key;\n const items = getItems().filter((item) => !item.disabled);\n const currentItem = document.activeElement;\n const currentMatch = items.find((item) => item.ref.current === currentItem)?.textValue;\n const values = items.map((item) => item.textValue);\n const nextMatch = getNextMatch(values, search, currentMatch);\n const newItem = items.find((item) => item.textValue === nextMatch)?.ref.current;\n (function updateSearch(value) {\n searchRef.current = value;\n window.clearTimeout(timerRef.current);\n if (value !== \"\") timerRef.current = window.setTimeout(() => updateSearch(\"\"), 1e3);\n })(search);\n if (newItem) {\n setTimeout(() => newItem.focus());\n }\n };\n React.useEffect(() => {\n return () => window.clearTimeout(timerRef.current);\n }, []);\n useFocusGuards();\n const isPointerMovingToSubmenu = React.useCallback((event) => {\n const isMovingTowards = pointerDirRef.current === pointerGraceIntentRef.current?.side;\n return isMovingTowards && isPointerInGraceArea(event, pointerGraceIntentRef.current?.area);\n }, []);\n return /* @__PURE__ */ jsx(\n MenuContentProvider,\n {\n scope: __scopeMenu,\n searchRef,\n onItemEnter: React.useCallback(\n (event) => {\n if (isPointerMovingToSubmenu(event)) event.preventDefault();\n },\n [isPointerMovingToSubmenu]\n ),\n onItemLeave: React.useCallback(\n (event) => {\n if (isPointerMovingToSubmenu(event)) return;\n contentRef.current?.focus();\n setCurrentItemId(null);\n },\n [isPointerMovingToSubmenu]\n ),\n onTriggerLeave: React.useCallback(\n (event) => {\n if (isPointerMovingToSubmenu(event)) event.preventDefault();\n },\n [isPointerMovingToSubmenu]\n ),\n pointerGraceTimerRef,\n onPointerGraceIntentChange: React.useCallback((intent) => {\n pointerGraceIntentRef.current = intent;\n }, []),\n children: /* @__PURE__ */ jsx(ScrollLockWrapper, { ...scrollLockWrapperProps, children: /* @__PURE__ */ jsx(\n FocusScope,\n {\n asChild: true,\n trapped: trapFocus,\n onMountAutoFocus: composeEventHandlers(onOpenAutoFocus, (event) => {\n event.preventDefault();\n contentRef.current?.focus({ preventScroll: true });\n }),\n onUnmountAutoFocus: onCloseAutoFocus,\n children: /* @__PURE__ */ jsx(\n DismissableLayer,\n {\n asChild: true,\n disableOutsidePointerEvents,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside,\n onInteractOutside,\n onDismiss,\n children: /* @__PURE__ */ jsx(\n RovingFocusGroup.Root,\n {\n asChild: true,\n ...rovingFocusGroupScope,\n dir: rootContext.dir,\n orientation: \"vertical\",\n loop,\n currentTabStopId: currentItemId,\n onCurrentTabStopIdChange: setCurrentItemId,\n onEntryFocus: composeEventHandlers(onEntryFocus, (event) => {\n if (!rootContext.isUsingKeyboardRef.current) event.preventDefault();\n }),\n preventScrollOnEntryFocus: true,\n children: /* @__PURE__ */ jsx(\n PopperPrimitive.Content,\n {\n role: \"menu\",\n \"aria-orientation\": \"vertical\",\n \"data-state\": getOpenState(context.open),\n \"data-radix-menu-content\": \"\",\n dir: rootContext.dir,\n ...popperScope,\n ...contentProps,\n ref: composedRefs,\n style: { outline: \"none\", ...contentProps.style },\n onKeyDown: composeEventHandlers(contentProps.onKeyDown, (event) => {\n const target = event.target;\n const isKeyDownInside = target.closest(\"[data-radix-menu-content]\") === event.currentTarget;\n const isModifierKey = event.ctrlKey || event.altKey || event.metaKey;\n const isCharacterKey = event.key.length === 1;\n if (isKeyDownInside) {\n if (event.key === \"Tab\") event.preventDefault();\n if (!isModifierKey && isCharacterKey) handleTypeaheadSearch(event.key);\n }\n const content = contentRef.current;\n if (event.target !== content) return;\n if (!FIRST_LAST_KEYS.includes(event.key)) return;\n event.preventDefault();\n const items = getItems().filter((item) => !item.disabled);\n const candidateNodes = items.map((item) => item.ref.current);\n if (LAST_KEYS.includes(event.key)) candidateNodes.reverse();\n focusFirst(candidateNodes);\n }),\n onBlur: composeEventHandlers(props.onBlur, (event) => {\n if (!event.currentTarget.contains(event.target)) {\n window.clearTimeout(timerRef.current);\n searchRef.current = \"\";\n }\n }),\n onPointerMove: composeEventHandlers(\n props.onPointerMove,\n whenMouse((event) => {\n const target = event.target;\n const pointerXHasChanged = lastPointerXRef.current !== event.clientX;\n if (event.currentTarget.contains(target) && pointerXHasChanged) {\n const newDir = event.clientX > lastPointerXRef.current ? \"right\" : \"left\";\n pointerDirRef.current = newDir;\n lastPointerXRef.current = event.clientX;\n }\n })\n )\n }\n )\n }\n )\n }\n )\n }\n ) })\n }\n );\n }\n);\nMenuContent.displayName = CONTENT_NAME;\nvar GROUP_NAME = \"MenuGroup\";\nvar MenuGroup = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, ...groupProps } = props;\n return /* @__PURE__ */ jsx(Primitive.div, { role: \"group\", ...groupProps, ref: forwardedRef });\n }\n);\nMenuGroup.displayName = GROUP_NAME;\nvar LABEL_NAME = \"MenuLabel\";\nvar MenuLabel = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, ...labelProps } = props;\n return /* @__PURE__ */ jsx(Primitive.div, { ...labelProps, ref: forwardedRef });\n }\n);\nMenuLabel.displayName = LABEL_NAME;\nvar ITEM_NAME = \"MenuItem\";\nvar ITEM_SELECT = \"menu.itemSelect\";\nvar MenuItem = React.forwardRef(\n (props, forwardedRef) => {\n const { disabled = false, onSelect, ...itemProps } = props;\n const ref = React.useRef(null);\n const rootContext = useMenuRootContext(ITEM_NAME, props.__scopeMenu);\n const contentContext = useMenuContentContext(ITEM_NAME, props.__scopeMenu);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const isPointerDownRef = React.useRef(false);\n const handleSelect = () => {\n const menuItem = ref.current;\n if (!disabled && menuItem) {\n const itemSelectEvent = new CustomEvent(ITEM_SELECT, { bubbles: true, cancelable: true });\n menuItem.addEventListener(ITEM_SELECT, (event) => onSelect?.(event), { once: true });\n dispatchDiscreteCustomEvent(menuItem, itemSelectEvent);\n if (itemSelectEvent.defaultPrevented) {\n isPointerDownRef.current = false;\n } else {\n rootContext.onClose();\n }\n }\n };\n return /* @__PURE__ */ jsx(\n MenuItemImpl,\n {\n ...itemProps,\n ref: composedRefs,\n disabled,\n onClick: composeEventHandlers(props.onClick, handleSelect),\n onPointerDown: (event) => {\n props.onPointerDown?.(event);\n isPointerDownRef.current = true;\n },\n onPointerUp: composeEventHandlers(props.onPointerUp, (event) => {\n if (!isPointerDownRef.current) event.currentTarget?.click();\n }),\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n const isTypingAhead = contentContext.searchRef.current !== \"\";\n if (disabled || isTypingAhead && event.key === \" \") return;\n if (SELECTION_KEYS.includes(event.key)) {\n event.currentTarget.click();\n event.preventDefault();\n }\n })\n }\n );\n }\n);\nMenuItem.displayName = ITEM_NAME;\nvar MenuItemImpl = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, disabled = false, textValue, ...itemProps } = props;\n const contentContext = useMenuContentContext(ITEM_NAME, __scopeMenu);\n const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeMenu);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const [isFocused, setIsFocused] = React.useState(false);\n const [textContent, setTextContent] = React.useState(\"\");\n React.useEffect(() => {\n const menuItem = ref.current;\n if (menuItem) {\n setTextContent((menuItem.textContent ?? \"\").trim());\n }\n }, [itemProps.children]);\n return /* @__PURE__ */ jsx(\n Collection.ItemSlot,\n {\n scope: __scopeMenu,\n disabled,\n textValue: textValue ?? textContent,\n children: /* @__PURE__ */ jsx(RovingFocusGroup.Item, { asChild: true, ...rovingFocusGroupScope, focusable: !disabled, children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n role: \"menuitem\",\n \"data-highlighted\": isFocused ? \"\" : void 0,\n \"aria-disabled\": disabled || void 0,\n \"data-disabled\": disabled ? \"\" : void 0,\n ...itemProps,\n ref: composedRefs,\n onPointerMove: composeEventHandlers(\n props.onPointerMove,\n whenMouse((event) => {\n if (disabled) {\n contentContext.onItemLeave(event);\n } else {\n contentContext.onItemEnter(event);\n if (!event.defaultPrevented) {\n const item = event.currentTarget;\n item.focus({ preventScroll: true });\n }\n }\n })\n ),\n onPointerLeave: composeEventHandlers(\n props.onPointerLeave,\n whenMouse((event) => contentContext.onItemLeave(event))\n ),\n onFocus: composeEventHandlers(props.onFocus, () => setIsFocused(true)),\n onBlur: composeEventHandlers(props.onBlur, () => setIsFocused(false))\n }\n ) })\n }\n );\n }\n);\nvar CHECKBOX_ITEM_NAME = \"MenuCheckboxItem\";\nvar MenuCheckboxItem = React.forwardRef(\n (props, forwardedRef) => {\n const { checked = false, onCheckedChange, ...checkboxItemProps } = props;\n return /* @__PURE__ */ jsx(ItemIndicatorProvider, { scope: props.__scopeMenu, checked, children: /* @__PURE__ */ jsx(\n MenuItem,\n {\n role: \"menuitemcheckbox\",\n \"aria-checked\": isIndeterminate(checked) ? \"mixed\" : checked,\n ...checkboxItemProps,\n ref: forwardedRef,\n \"data-state\": getCheckedState(checked),\n onSelect: composeEventHandlers(\n checkboxItemProps.onSelect,\n () => onCheckedChange?.(isIndeterminate(checked) ? true : !checked),\n { checkForDefaultPrevented: false }\n )\n }\n ) });\n }\n);\nMenuCheckboxItem.displayName = CHECKBOX_ITEM_NAME;\nvar RADIO_GROUP_NAME = \"MenuRadioGroup\";\nvar [RadioGroupProvider, useRadioGroupContext] = createMenuContext(\n RADIO_GROUP_NAME,\n { value: void 0, onValueChange: () => {\n } }\n);\nvar MenuRadioGroup = React.forwardRef(\n (props, forwardedRef) => {\n const { value, onValueChange, ...groupProps } = props;\n const handleValueChange = useCallbackRef(onValueChange);\n return /* @__PURE__ */ jsx(RadioGroupProvider, { scope: props.__scopeMenu, value, onValueChange: handleValueChange, children: /* @__PURE__ */ jsx(MenuGroup, { ...groupProps, ref: forwardedRef }) });\n }\n);\nMenuRadioGroup.displayName = RADIO_GROUP_NAME;\nvar RADIO_ITEM_NAME = \"MenuRadioItem\";\nvar MenuRadioItem = React.forwardRef(\n (props, forwardedRef) => {\n const { value, ...radioItemProps } = props;\n const context = useRadioGroupContext(RADIO_ITEM_NAME, props.__scopeMenu);\n const checked = value === context.value;\n return /* @__PURE__ */ jsx(ItemIndicatorProvider, { scope: props.__scopeMenu, checked, children: /* @__PURE__ */ jsx(\n MenuItem,\n {\n role: \"menuitemradio\",\n \"aria-checked\": checked,\n ...radioItemProps,\n ref: forwardedRef,\n \"data-state\": getCheckedState(checked),\n onSelect: composeEventHandlers(\n radioItemProps.onSelect,\n () => context.onValueChange?.(value),\n { checkForDefaultPrevented: false }\n )\n }\n ) });\n }\n);\nMenuRadioItem.displayName = RADIO_ITEM_NAME;\nvar ITEM_INDICATOR_NAME = \"MenuItemIndicator\";\nvar [ItemIndicatorProvider, useItemIndicatorContext] = createMenuContext(\n ITEM_INDICATOR_NAME,\n { checked: false }\n);\nvar MenuItemIndicator = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, forceMount, ...itemIndicatorProps } = props;\n const indicatorContext = useItemIndicatorContext(ITEM_INDICATOR_NAME, __scopeMenu);\n return /* @__PURE__ */ jsx(\n Presence,\n {\n present: forceMount || isIndeterminate(indicatorContext.checked) || indicatorContext.checked === true,\n children: /* @__PURE__ */ jsx(\n Primitive.span,\n {\n ...itemIndicatorProps,\n ref: forwardedRef,\n \"data-state\": getCheckedState(indicatorContext.checked)\n }\n )\n }\n );\n }\n);\nMenuItemIndicator.displayName = ITEM_INDICATOR_NAME;\nvar SEPARATOR_NAME = \"MenuSeparator\";\nvar MenuSeparator = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, ...separatorProps } = props;\n return /* @__PURE__ */ jsx(\n Primitive.div,\n {\n role: \"separator\",\n \"aria-orientation\": \"horizontal\",\n ...separatorProps,\n ref: forwardedRef\n }\n );\n }\n);\nMenuSeparator.displayName = SEPARATOR_NAME;\nvar ARROW_NAME = \"MenuArrow\";\nvar MenuArrow = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, ...arrowProps } = props;\n const popperScope = usePopperScope(__scopeMenu);\n return /* @__PURE__ */ jsx(PopperPrimitive.Arrow, { ...popperScope, ...arrowProps, ref: forwardedRef });\n }\n);\nMenuArrow.displayName = ARROW_NAME;\nvar SUB_NAME = \"MenuSub\";\nvar [MenuSubProvider, useMenuSubContext] = createMenuContext(SUB_NAME);\nvar MenuSub = (props) => {\n const { __scopeMenu, children, open = false, onOpenChange } = props;\n const parentMenuContext = useMenuContext(SUB_NAME, __scopeMenu);\n const popperScope = usePopperScope(__scopeMenu);\n const [trigger, setTrigger] = React.useState(null);\n const [content, setContent] = React.useState(null);\n const handleOpenChange = useCallbackRef(onOpenChange);\n React.useEffect(() => {\n if (parentMenuContext.open === false) handleOpenChange(false);\n return () => handleOpenChange(false);\n }, [parentMenuContext.open, handleOpenChange]);\n return /* @__PURE__ */ jsx(PopperPrimitive.Root, { ...popperScope, children: /* @__PURE__ */ jsx(\n MenuProvider,\n {\n scope: __scopeMenu,\n open,\n onOpenChange: handleOpenChange,\n content,\n onContentChange: setContent,\n children: /* @__PURE__ */ jsx(\n MenuSubProvider,\n {\n scope: __scopeMenu,\n contentId: useId(),\n triggerId: useId(),\n trigger,\n onTriggerChange: setTrigger,\n children\n }\n )\n }\n ) });\n};\nMenuSub.displayName = SUB_NAME;\nvar SUB_TRIGGER_NAME = \"MenuSubTrigger\";\nvar MenuSubTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const context = useMenuContext(SUB_TRIGGER_NAME, props.__scopeMenu);\n const rootContext = useMenuRootContext(SUB_TRIGGER_NAME, props.__scopeMenu);\n const subContext = useMenuSubContext(SUB_TRIGGER_NAME, props.__scopeMenu);\n const contentContext = useMenuContentContext(SUB_TRIGGER_NAME, props.__scopeMenu);\n const openTimerRef = React.useRef(null);\n const { pointerGraceTimerRef, onPointerGraceIntentChange } = contentContext;\n const scope = { __scopeMenu: props.__scopeMenu };\n const clearOpenTimer = React.useCallback(() => {\n if (openTimerRef.current) window.clearTimeout(openTimerRef.current);\n openTimerRef.current = null;\n }, []);\n React.useEffect(() => clearOpenTimer, [clearOpenTimer]);\n React.useEffect(() => {\n const pointerGraceTimer = pointerGraceTimerRef.current;\n return () => {\n window.clearTimeout(pointerGraceTimer);\n onPointerGraceIntentChange(null);\n };\n }, [pointerGraceTimerRef, onPointerGraceIntentChange]);\n return /* @__PURE__ */ jsx(MenuAnchor, { asChild: true, ...scope, children: /* @__PURE__ */ jsx(\n MenuItemImpl,\n {\n id: subContext.triggerId,\n \"aria-haspopup\": \"menu\",\n \"aria-expanded\": context.open,\n \"aria-controls\": subContext.contentId,\n \"data-state\": getOpenState(context.open),\n ...props,\n ref: composeRefs(forwardedRef, subContext.onTriggerChange),\n onClick: (event) => {\n props.onClick?.(event);\n if (props.disabled || event.defaultPrevented) return;\n event.currentTarget.focus();\n if (!context.open) context.onOpenChange(true);\n },\n onPointerMove: composeEventHandlers(\n props.onPointerMove,\n whenMouse((event) => {\n contentContext.onItemEnter(event);\n if (event.defaultPrevented) return;\n if (!props.disabled && !context.open && !openTimerRef.current) {\n contentContext.onPointerGraceIntentChange(null);\n openTimerRef.current = window.setTimeout(() => {\n context.onOpenChange(true);\n clearOpenTimer();\n }, 100);\n }\n })\n ),\n onPointerLeave: composeEventHandlers(\n props.onPointerLeave,\n whenMouse((event) => {\n clearOpenTimer();\n const contentRect = context.content?.getBoundingClientRect();\n if (contentRect) {\n const side = context.content?.dataset.side;\n const rightSide = side === \"right\";\n const bleed = rightSide ? -5 : 5;\n const contentNearEdge = contentRect[rightSide ? \"left\" : \"right\"];\n const contentFarEdge = contentRect[rightSide ? \"right\" : \"left\"];\n contentContext.onPointerGraceIntentChange({\n area: [\n // Apply a bleed on clientX to ensure that our exit point is\n // consistently within polygon bounds\n { x: event.clientX + bleed, y: event.clientY },\n { x: contentNearEdge, y: contentRect.top },\n { x: contentFarEdge, y: contentRect.top },\n { x: contentFarEdge, y: contentRect.bottom },\n { x: contentNearEdge, y: contentRect.bottom }\n ],\n side\n });\n window.clearTimeout(pointerGraceTimerRef.current);\n pointerGraceTimerRef.current = window.setTimeout(\n () => contentContext.onPointerGraceIntentChange(null),\n 300\n );\n } else {\n contentContext.onTriggerLeave(event);\n if (event.defaultPrevented) return;\n contentContext.onPointerGraceIntentChange(null);\n }\n })\n ),\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n const isTypingAhead = contentContext.searchRef.current !== \"\";\n if (props.disabled || isTypingAhead && event.key === \" \") return;\n if (SUB_OPEN_KEYS[rootContext.dir].includes(event.key)) {\n context.onOpenChange(true);\n context.content?.focus();\n event.preventDefault();\n }\n })\n }\n ) });\n }\n);\nMenuSubTrigger.displayName = SUB_TRIGGER_NAME;\nvar SUB_CONTENT_NAME = \"MenuSubContent\";\nvar MenuSubContent = React.forwardRef(\n (props, forwardedRef) => {\n const portalContext = usePortalContext(CONTENT_NAME, props.__scopeMenu);\n const { forceMount = portalContext.forceMount, ...subContentProps } = props;\n const context = useMenuContext(CONTENT_NAME, props.__scopeMenu);\n const rootContext = useMenuRootContext(CONTENT_NAME, props.__scopeMenu);\n const subContext = useMenuSubContext(SUB_CONTENT_NAME, props.__scopeMenu);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n return /* @__PURE__ */ jsx(Collection.Provider, { scope: props.__scopeMenu, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(Collection.Slot, { scope: props.__scopeMenu, children: /* @__PURE__ */ jsx(\n MenuContentImpl,\n {\n id: subContext.contentId,\n \"aria-labelledby\": subContext.triggerId,\n ...subContentProps,\n ref: composedRefs,\n align: \"start\",\n side: rootContext.dir === \"rtl\" ? \"left\" : \"right\",\n disableOutsidePointerEvents: false,\n disableOutsideScroll: false,\n trapFocus: false,\n onOpenAutoFocus: (event) => {\n if (rootContext.isUsingKeyboardRef.current) ref.current?.focus();\n event.preventDefault();\n },\n onCloseAutoFocus: (event) => event.preventDefault(),\n onFocusOutside: composeEventHandlers(props.onFocusOutside, (event) => {\n if (event.target !== subContext.trigger) context.onOpenChange(false);\n }),\n onEscapeKeyDown: composeEventHandlers(props.onEscapeKeyDown, (event) => {\n rootContext.onClose();\n event.preventDefault();\n }),\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n const isKeyDownInside = event.currentTarget.contains(event.target);\n const isCloseKey = SUB_CLOSE_KEYS[rootContext.dir].includes(event.key);\n if (isKeyDownInside && isCloseKey) {\n context.onOpenChange(false);\n subContext.trigger?.focus();\n event.preventDefault();\n }\n })\n }\n ) }) }) });\n }\n);\nMenuSubContent.displayName = SUB_CONTENT_NAME;\nfunction getOpenState(open) {\n return open ? \"open\" : \"closed\";\n}\nfunction isIndeterminate(checked) {\n return checked === \"indeterminate\";\n}\nfunction getCheckedState(checked) {\n return isIndeterminate(checked) ? \"indeterminate\" : checked ? \"checked\" : \"unchecked\";\n}\nfunction focusFirst(candidates) {\n const PREVIOUSLY_FOCUSED_ELEMENT = document.activeElement;\n for (const candidate of candidates) {\n if (candidate === PREVIOUSLY_FOCUSED_ELEMENT) return;\n candidate.focus();\n if (document.activeElement !== PREVIOUSLY_FOCUSED_ELEMENT) return;\n }\n}\nfunction wrapArray(array, startIndex) {\n return array.map((_, index) => array[(startIndex + index) % array.length]);\n}\nfunction getNextMatch(values, search, currentMatch) {\n const isRepeated = search.length > 1 && Array.from(search).every((char) => char === search[0]);\n const normalizedSearch = isRepeated ? search[0] : search;\n const currentMatchIndex = currentMatch ? values.indexOf(currentMatch) : -1;\n let wrappedValues = wrapArray(values, Math.max(currentMatchIndex, 0));\n const excludeCurrentMatch = normalizedSearch.length === 1;\n if (excludeCurrentMatch) wrappedValues = wrappedValues.filter((v) => v !== currentMatch);\n const nextMatch = wrappedValues.find(\n (value) => value.toLowerCase().startsWith(normalizedSearch.toLowerCase())\n );\n return nextMatch !== currentMatch ? nextMatch : void 0;\n}\nfunction isPointInPolygon(point, polygon) {\n const { x, y } = point;\n let inside = false;\n for (let i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {\n const ii = polygon[i];\n const jj = polygon[j];\n const xi = ii.x;\n const yi = ii.y;\n const xj = jj.x;\n const yj = jj.y;\n const intersect = yi > y !== yj > y && x < (xj - xi) * (y - yi) / (yj - yi) + xi;\n if (intersect) inside = !inside;\n }\n return inside;\n}\nfunction isPointerInGraceArea(event, area) {\n if (!area) return false;\n const cursorPos = { x: event.clientX, y: event.clientY };\n return isPointInPolygon(cursorPos, area);\n}\nfunction whenMouse(handler) {\n return (event) => event.pointerType === \"mouse\" ? handler(event) : void 0;\n}\nvar Root3 = Menu;\nvar Anchor2 = MenuAnchor;\nvar Portal = MenuPortal;\nvar Content2 = MenuContent;\nvar Group = MenuGroup;\nvar Label = MenuLabel;\nvar Item2 = MenuItem;\nvar CheckboxItem = MenuCheckboxItem;\nvar RadioGroup = MenuRadioGroup;\nvar RadioItem = MenuRadioItem;\nvar ItemIndicator = MenuItemIndicator;\nvar Separator = MenuSeparator;\nvar Arrow2 = MenuArrow;\nvar Sub = MenuSub;\nvar SubTrigger = MenuSubTrigger;\nvar SubContent = MenuSubContent;\nexport {\n Anchor2 as Anchor,\n Arrow2 as Arrow,\n CheckboxItem,\n Content2 as Content,\n Group,\n Item2 as Item,\n ItemIndicator,\n Label,\n Menu,\n MenuAnchor,\n MenuArrow,\n MenuCheckboxItem,\n MenuContent,\n MenuGroup,\n MenuItem,\n MenuItemIndicator,\n MenuLabel,\n MenuPortal,\n MenuRadioGroup,\n MenuRadioItem,\n MenuSeparator,\n MenuSub,\n MenuSubContent,\n MenuSubTrigger,\n Portal,\n RadioGroup,\n RadioItem,\n Root3 as Root,\n Separator,\n Sub,\n SubContent,\n SubTrigger,\n createMenuScope\n};\n//# sourceMappingURL=index.mjs.map\n","\"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","import * as DropdownMenuPrimitive from \"@radix-ui/react-dropdown-menu\";\r\nimport { Check, CheckIcon, ChevronRight, Minus } from \"lucide-react\";\r\nimport * as React from \"react\";\r\nimport { tv } from \"tailwind-variants\";\r\nimport { TriggerButton } from \"../button\";\r\nimport { TriggerButtonProps } from \"../button/trigger-button/TriggerButton\";\r\nimport { usePortalContainer } from \"../portal-container\";\r\nimport { menuItemStyles } from \"../menu-item\";\r\nimport { useComponentVariant } from \"@/providers/component-variant-context\";\r\nimport { cn } from \"@/lib/utils\";\r\nimport { menuItemShortcutStyles } from \"../menu-item/components/menu-item-shortcut/MenuItemShortcut\";\r\n\r\nconst DropdownMenu = DropdownMenuPrimitive.Root;\r\n\r\nconst DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;\r\n\r\nconst DropdownMenuGroup = DropdownMenuPrimitive.Group;\r\n\r\nconst DropdownMenuPortal = DropdownMenuPrimitive.Portal;\r\n\r\nconst DropdownMenuSub = DropdownMenuPrimitive.Sub;\r\n\r\nconst DropdownMenuPrimitiveRadioGroup = DropdownMenuPrimitive.RadioGroup;\r\n\r\n// Контекст для передачи настроек от RadioGroup к RadioItem\r\ntype RadioGroupContextType = {\r\n\t/**\r\n\t * Иконка-индикатор для отображения в выбранном элементе\r\n\t * @default CheckIcon\r\n\t */\r\n\tindicatorIcon?: React.ComponentType<{ className?: string }>;\r\n\t/**\r\n\t * CSS классы для иконки-индикатора\r\n\t */\r\n\tindicatorIconClassName?: string;\r\n\t/**\r\n\t * Позиция иконки-индикатора относительно текста\r\n\t * @default \"start\"\r\n\t */\r\n\tindicatorIconPosition?: \"start\" | \"end\";\r\n};\r\n\r\nconst RadioGroupContext = React.createContext<RadioGroupContextType | null>(null);\r\n\r\ntype DropdownMenuRadioGroupProps = React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.RadioGroup> &\r\n\tRadioGroupContextType;\r\n\r\nconst DropdownMenuRadioGroup = React.forwardRef<\r\n\tReact.ElementRef<typeof DropdownMenuPrimitive.RadioGroup>,\r\n\tDropdownMenuRadioGroupProps\r\n>(({ indicatorIcon, indicatorIconClassName, indicatorIconPosition, children, ...props }, ref) => {\r\n\treturn (\r\n\t\t<RadioGroupContext.Provider value={{ indicatorIcon, indicatorIconClassName, indicatorIconPosition }}>\r\n\t\t\t<DropdownMenuPrimitive.RadioGroup ref={ref} {...props}>\r\n\t\t\t\t{children}\r\n\t\t\t</DropdownMenuPrimitive.RadioGroup>\r\n\t\t</RadioGroupContext.Provider>\r\n\t);\r\n});\r\nDropdownMenuRadioGroup.displayName = DropdownMenuPrimitive.RadioGroup.displayName;\r\n\r\nconst documentMenuSubTriggerStyles = tv({\r\n\textend: menuItemStyles,\r\n\tbase: \"data-[state=open]:bg-secondary-bg-hover\",\r\n\tslots: {\r\n\t\tchevron: \"ml-auto h-4 w-4\"\r\n\t},\r\n\tvariants: {\r\n\t\tinset: {\r\n\t\t\ttrue: \"pl-8\"\r\n\t\t},\r\n\t\ttheme: {\r\n\t\t\tinverse:\r\n\t\t\t\t\"bg-inverse-primary-bg text-inverse-primary-fg hover:!bg-inverse-hover focus:bg-inverse-hover data-[state=open]:bg-inverse-hover\"\r\n\t\t}\r\n\t},\r\n\tdefaultVariants: {\r\n\t\tinset: false\r\n\t}\r\n});\r\n\r\nconst DropdownMenuSubTrigger = React.forwardRef<\r\n\tReact.ElementRef<typeof DropdownMenuPrimitive.SubTrigger>,\r\n\tReact.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.SubTrigger> & {\r\n\t\tinset?: boolean;\r\n\t}\r\n>(({ className, inset, children, ...props }, ref) => {\r\n\tconst { variant: theme } = useComponentVariant();\r\n\tconst styles = documentMenuSubTriggerStyles({ inset, theme });\r\n\r\n\treturn (\r\n\t\t<DropdownMenuPrimitive.SubTrigger ref={ref} className={styles.base({ className })} {...props}>\r\n\t\t\t{children}\r\n\t\t\t<ChevronRight className={styles.chevron()} />\r\n\t\t</DropdownMenuPrimitive.SubTrigger>\r\n\t);\r\n});\r\nDropdownMenuSubTrigger.displayName = DropdownMenuPrimitive.SubTrigger.displayName;\r\n\r\nconst documentMenuSubContentStyles = tv({\r\n\tbase: [\r\n\t\t\"relative z-50 min-w-[8rem] overflow-hidden rounded-lg border border-secondary-border bg-secondary-bg p-1 shadow-soft-md\",\r\n\t\t\"origin-[--radix-dropdown-menu-content-transform-origin]\",\r\n\t\t\"data-[state=open]:animate-in data-[state=closed]:animate-out\",\r\n\t\t\"data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0\",\r\n\t\t\"data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95\",\r\n\t\t\"data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2\",\r\n\t\t\"data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\r\n\t\t\"data-[side=left]:-top-1 data-[side=right]:-top-1\"\r\n\t],\r\n\tvariants: {\r\n\t\ttheme: {\r\n\t\t\tinverse: \"border-none bg-inverse-primary-bg\"\r\n\t\t}\r\n\t}\r\n});\r\n\r\nconst DropdownMenuSubContent = React.forwardRef<\r\n\tReact.ElementRef<typeof DropdownMenuPrimitive.SubContent>,\r\n\tReact.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.SubContent>\r\n>(({ className, ...props }, ref) => {\r\n\tconst { variant: theme } = useComponentVariant();\r\n\r\n\treturn (\r\n\t\t<DropdownMenuPrimitive.SubContent\r\n\t\t\tref={ref}\r\n\t\t\tclassName={documentMenuSubContentStyles({ className, theme })}\r\n\t\t\t{...props}\r\n\t\t/>\r\n\t);\r\n});\r\nDropdownMenuSubContent.displayName = DropdownMenuPrimitive.SubContent.displayName;\r\n\r\nexport const dropdownMenuContentStyles = tv({\r\n\tbase: [\r\n\t\t\"group/dropdown-menu-content z-50 min-w-32 rounded-lg border border-secondary-border bg-secondary-bg p-1 shadow-soft-md\",\r\n\t\t\"max-h-[var(--radix-dropdown-menu-content-available-height)] overflow-y-auto overflow-x-hidden\",\r\n\t\t\"origin-[--radix-dropdown-menu-content-transform-origin]\",\r\n\t\t\"data-[state=open]:animate-in data-[state=closed]:animate-out\",\r\n\t\t\"data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0\",\r\n\t\t\"data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95\",\r\n\t\t\"data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2\",\r\n\t\t\"data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\"\r\n\t],\r\n\tvariants: {\r\n\t\ttheme: {\r\n\t\t\tinverse: \"border-none bg-inverse-primary-bg\"\r\n\t\t}\r\n\t}\r\n});\r\n\r\nconst DropdownMenuContent = React.forwardRef<\r\n\tReact.ElementRef<typeof DropdownMenuPrimitive.Content>,\r\n\tReact.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Content> & {\r\n\t\t/**\r\n\t\t * Контейнер для портала. Если не указан, используется хук usePortalContainer\r\n\t\t * для поиска PortalContainer\r\n\t\t */\r\n\t\tportalContainer?: HTMLElement;\r\n\t}\r\n>(({ className, sideOffset = 4, portalContainer, ...props }, ref) => {\r\n\tconst { variant: theme } = useComponentVariant();\r\n\r\n\tconst container = usePortalContainer(portalContainer);\r\n\r\n\treturn (\r\n\t\t<DropdownMenuPrimitive.Portal container={container}>\r\n\t\t\t<DropdownMenuPrimitive.Content\r\n\t\t\t\tref={ref}\r\n\t\t\t\tsideOffset={sideOffset}\r\n\t\t\t\tclassName={dropdownMenuContentStyles({ theme, className })}\r\n\t\t\t\t{...props}\r\n\t\t\t/>\r\n\t\t</DropdownMenuPrimitive.Portal>\r\n\t);\r\n});\r\nDropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;\r\n\r\nconst dropdownMenuItemStyles = tv({\r\n\textend: menuItemStyles,\r\n\tbase: \"\",\r\n\tvariants: {\r\n\t\tinset: {\r\n\t\t\ttrue: \"!pl-8\"\r\n\t\t}\r\n\t}\r\n});\r\n\r\nconst DropdownMenuItem = React.forwardRef<\r\n\tReact.ElementRef<typeof DropdownMenuPrimitive.Item>,\r\n\tReact.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Item> & {\r\n\t\tinset?: boolean;\r\n\t}\r\n>(({ className, disabled, inset, children, ...props }, ref) => {\r\n\tconst { variant: theme } = useComponentVariant();\r\n\r\n\treturn (\r\n\t\t<DropdownMenuPrimitive.Item\r\n\t\t\tref={ref}\r\n\t\t\tdisabled={disabled}\r\n\t\t\tclassName={dropdownMenuItemStyles({ className, disabled, inset, theme })}\r\n\t\t\t{...props}\r\n\t\t>\r\n\t\t\t{children}\r\n\t\t</DropdownMenuPrimitive.Item>\r\n\t);\r\n});\r\nDropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;\r\n\r\nconst dropdownMenuCheckboxItemStyles = tv({\r\n\textend: menuItemStyles,\r\n\tbase: \"\",\r\n\tslots: {\r\n\t\tcheckbox: \"flex h-4 w-4 items-center justify-center rounded-sm border transition-colors\",\r\n\t\ticon: \"h-3.5 w-3.5 text-primary-bg\"\r\n\t},\r\n\tvariants: {\r\n\t\tchecked: {\r\n\t\t\tindeterminate: {\r\n\t\t\t\tcheckbox: \"border-primary-accent bg-primary-accent data-[disabled]:opacity-50\"\r\n\t\t\t},\r\n\t\t\ttrue: {\r\n\t\t\t\tcheckbox: \"border-primary-accent bg-primary-accent data-[disabled]:opacity-50\"\r\n\t\t\t},\r\n\t\t\tfalse: {\r\n\t\t\t\tcheckbox: \"border-primary-border bg-secondary-bg\"\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\tcompoundVariants: [\r\n\t\t{\r\n\t\t\tchecked: [true, \"indeterminate\"],\r\n\t\t\ttheme: \"inverse\",\r\n\t\t\tclass: { checkbox: \"border-inverse-primary-fg bg-inverse-primary-fg\", icon: \"text-inverse-primary-bg\" }\r\n\t\t},\r\n\t\t{\r\n\t\t\tchecked: false,\r\n\t\t\ttheme: \"inverse\",\r\n\t\t\tclass: { checkbox: \"border-inverse-border bg-inverse-primary-bg\" }\r\n\t\t}\r\n\t],\r\n\tdefaultVariants: {\r\n\t\tchecked: false\r\n\t}\r\n});\r\n\r\nconst DropdownMenuCheckboxItem = React.forwardRef<\r\n\tReact.ElementRef<typeof DropdownMenuPrimitive.CheckboxItem>,\r\n\tReact.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.CheckboxItem>\r\n>(({ className, children, checked, disabled, ...props }, ref) => {\r\n\tconst { variant: theme } = useComponentVariant();\r\n\tconst styles = dropdownMenuCheckboxItemStyles({ checked, theme, disabled });\r\n\r\n\treturn (\r\n\t\t<DropdownMenuPrimitive.CheckboxItem\r\n\t\t\tref={ref}\r\n\t\t\tclassName={styles.base({ className })}\r\n\t\t\tchecked={checked}\r\n\t\t\tdisabled={disabled}\r\n\t\t\t{...props}\r\n\t\t>\r\n\t\t\t<span className={styles.checkbox()}>\r\n\t\t\t\t<DropdownMenuPrimitive.ItemIndicator>\r\n\t\t\t\t\t{checked === \"indeterminate\" ? (\r\n\t\t\t\t\t\t<Minus className={styles.icon()} />\r\n\t\t\t\t\t) : (\r\n\t\t\t\t\t\t<Check className={styles.icon()} />\r\n\t\t\t\t\t)}\r\n\t\t\t\t</DropdownMenuPrimitive.ItemIndicator>\r\n\t\t\t</span>\r\n\t\t\t{children}\r\n\t\t</DropdownMenuPrimitive.CheckboxItem>\r\n\t);\r\n});\r\n\r\nDropdownMenuCheckboxItem.displayName = DropdownMenuPrimitive.CheckboxItem.displayName;\r\n\r\nconst dropdownMenuRadioItemStyles = tv({\r\n\textend: menuItemStyles\r\n});\r\n\r\nconst indicatorStyles = tv({\r\n\tbase: \"flex h-4 w-4 items-center justify-center\",\r\n\tvariants: {\r\n\t\tposition: {\r\n\t\t\tstart: \"\",\r\n\t\t\tend: \"order-last ml-auto\"\r\n\t\t}\r\n\t}\r\n});\r\n\r\nconst DropdownMenuRadioItem = React.forwardRef<\r\n\tReact.ElementRef<typeof DropdownMenuPrimitive.RadioItem>,\r\n\tReact.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.RadioItem>\r\n>(({ className, children, disabled, ...props }, ref) => {\r\n\tconst { variant: theme } = useComponentVariant();\r\n\tconst context = React.useContext(RadioGroupContext);\r\n\tconst IndicatorIcon = context?.indicatorIcon || CheckIcon;\r\n\tconst indicatorIconPosition = context?.indicatorIconPosition || \"start\";\r\n\tconst indicatorIconClassName = context?.indicatorIconClassName;\r\n\tconst styles = dropdownMenuRadioItemStyles({ theme, disabled, className });\r\n\r\n\tconst indicator = (\r\n\t\t<span className={indicatorStyles({ position: indicatorIconPosition })}>\r\n\t\t\t<DropdownMenuPrimitive.ItemIndicator>\r\n\t\t\t\t<IndicatorIcon className={cn(\"h-4 w-4\", indicatorIconClassName)} />\r\n\t\t\t</DropdownMenuPrimitive.ItemIndicator>\r\n\t\t</span>\r\n\t);\r\n\r\n\treturn (\r\n\t\t<DropdownMenuPrimitive.RadioItem ref={ref} className={styles} disabled={disabled} {...props}>\r\n\t\t\t{indicator}\r\n\t\t\t{children}\r\n\t\t</DropdownMenuPrimitive.RadioItem>\r\n\t);\r\n});\r\nDropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName;\r\n\r\nconst dropdownMenuLabelStyles = tv({\r\n\tbase: \"flex items-center gap-2 px-2 py-1.5 text-sm font-semibold text-primary-fg\",\r\n\tvariants: {\r\n\t\tinset: {\r\n\t\t\ttrue: \"pl-8\"\r\n\t\t},\r\n\t\ttheme: {\r\n\t\t\tinverse: \"text-inverse-primary-fg\"\r\n\t\t}\r\n\t},\r\n\tdefaultVariants: {\r\n\t\tinset: false\r\n\t}\r\n});\r\n\r\nconst DropdownMenuLabel = React.forwardRef<\r\n\tReact.ElementRef<typeof DropdownMenuPrimitive.Label>,\r\n\tReact.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Label> & {\r\n\t\tinset?: boolean;\r\n\t}\r\n>(({ className, inset, ...props }, ref) => {\r\n\tconst { variant: theme } = useComponentVariant();\r\n\r\n\treturn (\r\n\t\t<DropdownMenuPrimitive.Label\r\n\t\t\tref={ref}\r\n\t\t\tclassName={dropdownMenuLabelStyles({ inset, className, theme })}\r\n\t\t\t{...props}\r\n\t\t/>\r\n\t);\r\n});\r\nDropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;\r\n\r\nconst dropdownMenuSeparatorStyles = tv({\r\n\tbase: \"-mx-1 my-1 h-px bg-secondary-border\",\r\n\tvariants: {\r\n\t\ttheme: {\r\n\t\t\tinverse: \"bg-inverse-border\"\r\n\t\t}\r\n\t}\r\n});\r\n\r\nconst DropdownMenuSeparator = React.forwardRef<\r\n\tReact.ElementRef<typeof DropdownMenuPrimitive.Separator>,\r\n\tReact.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Separator>\r\n>(({ className, ...props }, ref) => {\r\n\tconst { variant: theme } = useComponentVariant();\r\n\r\n\treturn (\r\n\t\t<DropdownMenuPrimitive.Separator\r\n\t\t\tref={ref}\r\n\t\t\tclassName={dropdownMenuSeparatorStyles({ className, theme })}\r\n\t\t\t{...props}\r\n\t\t/>\r\n\t);\r\n});\r\nDropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName;\r\n\r\nconst dropdownMenuShortcutStyles = tv({\r\n\textend: menuItemShortcutStyles,\r\n\tbase: \"ml-auto text-xs tracking-widest opacity-60\"\r\n});\r\n\r\nconst DropdownMenuShortcut = ({ className, ...props }: React.HTMLAttributes<HTMLSpanElement>) => {\r\n\tconst { variant: theme } = useComponentVariant();\r\n\r\n\treturn <span className={dropdownMenuShortcutStyles({ className, theme })} {...props} />;\r\n};\r\nDropdownMenuShortcut.displayName = \"DropdownMenuShortcut\";\r\n\r\n/**\r\n * Компонент-обертка для использования TriggerButton в качестве триггера дропдауна\r\n */\r\n\r\nconst DropdownMenuTriggerButton = React.forwardRef<\r\n\tReact.ElementRef<typeof DropdownMenuTrigger>,\r\n\tReact.ComponentPropsWithoutRef<typeof DropdownMenuTrigger> & Omit<TriggerButtonProps, \"dataState\">\r\n>(({ children, ...props }, ref) => {\r\n\treturn (\r\n\t\t<DropdownMenuTrigger asChild ref={ref}>\r\n\t\t\t<TriggerButton {...props}>{children}</TriggerButton>\r\n\t\t</DropdownMenuTrigger>\r\n\t);\r\n});\r\nDropdownMenuTriggerButton.displayName = \"DropdownMenuTriggerButton\";\r\n\r\nexport {\r\n\tDropdownMenu,\r\n\tDropdownMenuCheckboxItem,\r\n\tDropdownMenuContent,\r\n\tDropdownMenuGroup,\r\n\tDropdownMenuItem,\r\n\tDropdownMenuLabel,\r\n\tDropdownMenuPortal,\r\n\tDropdownMenuPrimitiveRadioGroup,\r\n\tDropdownMenuRadioGroup,\r\n\tDropdownMenuRadioItem,\r\n\tDropdownMenuSeparator,\r\n\tDropdownMenuShortcut,\r\n\tDropdownMenuSub,\r\n\tDropdownMenuSubContent,\r\n\tDropdownMenuSubTrigger,\r\n\tDropdownMenuTrigger,\r\n\tDropdownMenuTriggerButton\r\n};\r\n","import * as React from \"react\";\r\n\r\n/**\r\n * Опции для хука useHoverDropdown\r\n */\r\nexport interface UseHoverDropdownOptions {\r\n\t/**\r\n\t * Задержка перед открытием меню (мс)\r\n\t * @default 200\r\n\t */\r\n\topenDelay?: number;\r\n\t/**\r\n\t * Задержка перед закрытием меню (мс)\r\n\t * @default 300\r\n\t */\r\n\tcloseDelay?: number;\r\n}\r\n\r\n/**\r\n * Возвращаемое значение хука useHoverDropdown\r\n */\r\nexport interface UseHoverDropdownReturn {\r\n\t/**\r\n\t * Props для корневого компонента DropdownMenu\r\n\t */\r\n\trootProps: {\r\n\t\topen: boolean;\r\n\t\tonOpenChange: (open: boolean) => void;\r\n\t\tmodal: false;\r\n\t};\r\n\t/**\r\n\t * Props для триггера (DropdownMenuTrigger или DropdownMenuTriggerButton)\r\n\t */\r\n\ttriggerProps: {\r\n\t\tonMouseEnter: () => void;\r\n\t\tonMouseLeave: () => void;\r\n\t\tonPointerDown: (e: React.PointerEvent) => void;\r\n\t};\r\n\t/**\r\n\t * Props для контента (DropdownMenuContent)\r\n\t */\r\n\tcontentProps: {\r\n\t\tonMouseEnter: () => void;\r\n\t\tonMouseLeave: () => void;\r\n\t\tonCloseAutoFocus: (e: Event) => void;\r\n\t};\r\n}\r\n\r\n/**\r\n * Хук для управления открытием DropdownMenu по hover.\r\n *\r\n * @example\r\n * ```tsx\r\n * const { rootProps, triggerProps, contentProps } = useHoverDropdown({\r\n * openDelay: 200,\r\n * closeDelay: 300\r\n * });\r\n *\r\n * return (\r\n * <DropdownMenu {...rootProps}>\r\n * <DropdownMenuTriggerButton {...triggerProps}>\r\n * Trigger\r\n * </DropdownMenuTriggerButton>\r\n * <DropdownMenuContent {...contentProps}>\r\n * ...\r\n * </DropdownMenuContent>\r\n * </DropdownMenu>\r\n * );\r\n * ```\r\n */\r\nexport function useHoverDropdown(options: UseHoverDropdownOptions = {}): UseHoverDropdownReturn {\r\n\tconst { openDelay = 200, closeDelay = 300 } = options;\r\n\r\n\tconst [open, setOpen] = React.useState(false);\r\n\tconst openTimeoutRef = React.useRef<ReturnType<typeof setTimeout> | null>(null);\r\n\tconst closeTimeoutRef = React.useRef<ReturnType<typeof setTimeout> | null>(null);\r\n\r\n\tconst clearTimeouts = React.useCallback(() => {\r\n\t\tif (openTimeoutRef.current) {\r\n\t\t\tclearTimeout(openTimeoutRef.current);\r\n\t\t\topenTimeoutRef.current = null;\r\n\t\t}\r\n\t\tif (closeTimeoutRef.current) {\r\n\t\t\tclearTimeout(closeTimeoutRef.current);\r\n\t\t\tcloseTimeoutRef.current = null;\r\n\t\t}\r\n\t}, []);\r\n\r\n\t// Очистка таймеров при размонтировании\r\n\tReact.useEffect(() => {\r\n\t\treturn () => {\r\n\t\t\tclearTimeouts();\r\n\t\t};\r\n\t}, [clearTimeouts]);\r\n\r\n\tconst handleMouseEnter = React.useCallback(() => {\r\n\t\tclearTimeouts();\r\n\t\topenTimeoutRef.current = setTimeout(() => {\r\n\t\t\tsetOpen(true);\r\n\t\t}, openDelay);\r\n\t}, [openDelay, clearTimeouts]);\r\n\r\n\tconst handleMouseLeave = React.useCallback(() => {\r\n\t\tclearTimeouts();\r\n\t\tcloseTimeoutRef.current = setTimeout(() => {\r\n\t\t\tsetOpen(false);\r\n\t\t}, closeDelay);\r\n\t}, [closeDelay, clearTimeouts]);\r\n\r\n\tconst handlePointerDown = React.useCallback((e: React.PointerEvent) => {\r\n\t\t// Блокируем клик, чтобы меню управлялось только через hover\r\n\t\te.preventDefault();\r\n\t\te.stopPropagation();\r\n\t}, []);\r\n\r\n\tconst handleCloseAutoFocus = React.useCallback((e: Event) => {\r\n\t\t// Предотвращаем возврат фокуса на триггер при закрытии\r\n\t\te.preventDefault();\r\n\t}, []);\r\n\r\n\tconst handleOpenChange = React.useCallback((newOpen: boolean) => {\r\n\t\t// Позволяем программное управление состоянием\r\n\t\tsetOpen(newOpen);\r\n\t}, []);\r\n\r\n\treturn {\r\n\t\trootProps: {\r\n\t\t\topen,\r\n\t\t\tonOpenChange: handleOpenChange,\r\n\t\t\tmodal: false\r\n\t\t},\r\n\t\ttriggerProps: {\r\n\t\t\tonMouseEnter: handleMouseEnter,\r\n\t\t\tonMouseLeave: handleMouseLeave,\r\n\t\t\tonPointerDown: handlePointerDown\r\n\t\t},\r\n\t\tcontentProps: {\r\n\t\t\tonMouseEnter: handleMouseEnter,\r\n\t\t\tonMouseLeave: handleMouseLeave,\r\n\t\t\tonCloseAutoFocus: handleCloseAutoFocus\r\n\t\t}\r\n\t};\r\n}\r\n"],"names":["SELECTION_KEYS","FIRST_KEYS","LAST_KEYS","FIRST_LAST_KEYS","SUB_OPEN_KEYS","SUB_CLOSE_KEYS","MENU_NAME","Collection","useCollection","createCollectionScope","createCollection","createMenuContext","createMenuScope","createContextScope","createPopperScope","createRovingFocusGroupScope","usePopperScope","useRovingFocusGroupScope","MenuProvider","useMenuContext","MenuRootProvider","useMenuRootContext","Menu","props","__scopeMenu","open","children","dir","onOpenChange","modal","popperScope","content","setContent","React","isUsingKeyboardRef","handleOpenChange","useCallbackRef","direction","useDirection","handleKeyDown","handlePointer","jsx","PopperPrimitive.Root","ANCHOR_NAME","MenuAnchor","forwardedRef","anchorProps","PopperPrimitive.Anchor","PORTAL_NAME","PortalProvider","usePortalContext","MenuPortal","forceMount","container","context","Presence","PortalPrimitive","CONTENT_NAME","MenuContentProvider","useMenuContentContext","MenuContent","portalContext","contentProps","rootContext","MenuRootContentModal","MenuRootContentNonModal","ref","composedRefs","useComposedRefs","hideOthers","MenuContentImpl","composeEventHandlers","event","Slot","createSlot","loop","trapFocus","onOpenAutoFocus","onCloseAutoFocus","disableOutsidePointerEvents","onEntryFocus","onEscapeKeyDown","onPointerDownOutside","onFocusOutside","onInteractOutside","onDismiss","disableOutsideScroll","rovingFocusGroupScope","getItems","currentItemId","setCurrentItemId","contentRef","timerRef","searchRef","pointerGraceTimerRef","pointerGraceIntentRef","pointerDirRef","lastPointerXRef","ScrollLockWrapper","RemoveScroll","scrollLockWrapperProps","handleTypeaheadSearch","key","search","items","item","currentItem","currentMatch","values","nextMatch","getNextMatch","newItem","updateSearch","value","useFocusGuards","isPointerMovingToSubmenu","isPointerInGraceArea","intent","FocusScope","DismissableLayer","RovingFocusGroup.Root","PopperPrimitive.Content","getOpenState","isKeyDownInside","isModifierKey","isCharacterKey","candidateNodes","focusFirst","whenMouse","target","pointerXHasChanged","newDir","GROUP_NAME","MenuGroup","groupProps","Primitive","LABEL_NAME","MenuLabel","labelProps","ITEM_NAME","ITEM_SELECT","MenuItem","disabled","onSelect","itemProps","contentContext","isPointerDownRef","handleSelect","menuItem","itemSelectEvent","dispatchDiscreteCustomEvent","MenuItemImpl","isTypingAhead","textValue","isFocused","setIsFocused","textContent","setTextContent","RovingFocusGroup.Item","CHECKBOX_ITEM_NAME","MenuCheckboxItem","checked","onCheckedChange","checkboxItemProps","ItemIndicatorProvider","isIndeterminate","getCheckedState","RADIO_GROUP_NAME","RadioGroupProvider","useRadioGroupContext","MenuRadioGroup","onValueChange","handleValueChange","RADIO_ITEM_NAME","MenuRadioItem","radioItemProps","ITEM_INDICATOR_NAME","useItemIndicatorContext","MenuItemIndicator","itemIndicatorProps","indicatorContext","SEPARATOR_NAME","MenuSeparator","separatorProps","ARROW_NAME","MenuArrow","arrowProps","PopperPrimitive.Arrow","SUB_NAME","MenuSubProvider","useMenuSubContext","MenuSub","parentMenuContext","trigger","setTrigger","useId","SUB_TRIGGER_NAME","MenuSubTrigger","subContext","openTimerRef","onPointerGraceIntentChange","scope","clearOpenTimer","pointerGraceTimer","composeRefs","contentRect","side","rightSide","bleed","contentNearEdge","contentFarEdge","SUB_CONTENT_NAME","MenuSubContent","subContentProps","isCloseKey","candidates","PREVIOUSLY_FOCUSED_ELEMENT","candidate","wrapArray","array","startIndex","_","index","normalizedSearch","char","currentMatchIndex","wrappedValues","v","isPointInPolygon","point","polygon","x","y","inside","i","j","ii","jj","xi","yi","xj","yj","area","cursorPos","handler","Root3","Anchor2","Portal","Content2","Group","Label","Item2","CheckboxItem","RadioGroup","RadioItem","ItemIndicator","Separator","Arrow2","Sub","SubTrigger","SubContent","DROPDOWN_MENU_NAME","createDropdownMenuContext","createDropdownMenuScope","useMenuScope","DropdownMenuProvider","useDropdownMenuContext","DropdownMenu","__scopeDropdownMenu","openProp","defaultOpen","menuScope","triggerRef","setOpen","useControllableState","prevOpen","MenuPrimitive.Root","TRIGGER_NAME","DropdownMenuTrigger","triggerProps","MenuPrimitive.Anchor","DropdownMenuPortal","portalProps","MenuPrimitive.Portal","DropdownMenuContent","hasInteractedOutsideRef","MenuPrimitive.Content","originalEvent","ctrlLeftClick","isRightClick","DropdownMenuGroup","MenuPrimitive.Group","DropdownMenuLabel","MenuPrimitive.Label","DropdownMenuItem","MenuPrimitive.Item","DropdownMenuCheckboxItem","MenuPrimitive.CheckboxItem","DropdownMenuRadioGroup","radioGroupProps","MenuPrimitive.RadioGroup","DropdownMenuRadioItem","MenuPrimitive.RadioItem","INDICATOR_NAME","DropdownMenuItemIndicator","MenuPrimitive.ItemIndicator","DropdownMenuSeparator","MenuPrimitive.Separator","DropdownMenuArrow","MenuPrimitive.Arrow","DropdownMenuSub","MenuPrimitive.Sub","DropdownMenuSubTrigger","subTriggerProps","MenuPrimitive.SubTrigger","DropdownMenuSubContent","MenuPrimitive.SubContent","Root2","Trigger","Portal2","Group2","Label2","CheckboxItem2","RadioGroup2","RadioItem2","ItemIndicator2","Separator2","Sub2","SubTrigger2","SubContent2","DropdownMenuPrimitive.Root","DropdownMenuPrimitive.Trigger","DropdownMenuPrimitive.Group","DropdownMenuPrimitive.Portal","DropdownMenuPrimitive.Sub","DropdownMenuPrimitiveRadioGroup","DropdownMenuPrimitive.RadioGroup","RadioGroupContext","indicatorIcon","indicatorIconClassName","indicatorIconPosition","documentMenuSubTriggerStyles","tv","menuItemStyles","className","inset","theme","useComponentVariant","styles","jsxs","DropdownMenuPrimitive.SubTrigger","ChevronRight","documentMenuSubContentStyles","DropdownMenuPrimitive.SubContent","dropdownMenuContentStyles","sideOffset","portalContainer","usePortalContainer","DropdownMenuPrimitive.Content","dropdownMenuItemStyles","DropdownMenuPrimitive.Item","dropdownMenuCheckboxItemStyles","DropdownMenuPrimitive.CheckboxItem","DropdownMenuPrimitive.ItemIndicator","Minus","Check","dropdownMenuRadioItemStyles","indicatorStyles","IndicatorIcon","CheckIcon","indicator","cn","DropdownMenuPrimitive.RadioItem","dropdownMenuLabelStyles","DropdownMenuPrimitive.Label","dropdownMenuSeparatorStyles","DropdownMenuPrimitive.Separator","dropdownMenuShortcutStyles","menuItemShortcutStyles","DropdownMenuShortcut","DropdownMenuTriggerButton","TriggerButton","useHoverDropdown","options","openDelay","closeDelay","openTimeoutRef","closeTimeoutRef","clearTimeouts","handleMouseEnter","handleMouseLeave","handlePointerDown","e","handleCloseAutoFocus","newOpen"],"mappings":"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","x_google_ignoreList":[0,1]}
1
+ {"version":3,"file":"dropdown.js","sources":["../../node_modules/.pnpm/@radix-ui+react-menu@2.1.16_@types+react-dom@18.3.6_@types+react@18.3.20__@types+react@18.3.2_hsnvqvvie4usg5ldqkucnvvjay/node_modules/@radix-ui/react-menu/dist/index.mjs","../../node_modules/.pnpm/@radix-ui+react-dropdown-menu@2.1.16_@types+react-dom@18.3.6_@types+react@18.3.20__@types+rea_t5j7ejlvbfqd6ud32g3lttuxvi/node_modules/@radix-ui/react-dropdown-menu/dist/index.mjs","../../src/components/dropdown/Dropdown.tsx","../../src/components/dropdown/useHoverDropdown.ts"],"sourcesContent":["\"use client\";\n\n// src/menu.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { createCollection } from \"@radix-ui/react-collection\";\nimport { useComposedRefs, composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { DismissableLayer } from \"@radix-ui/react-dismissable-layer\";\nimport { useFocusGuards } from \"@radix-ui/react-focus-guards\";\nimport { FocusScope } from \"@radix-ui/react-focus-scope\";\nimport { useId } from \"@radix-ui/react-id\";\nimport * as PopperPrimitive from \"@radix-ui/react-popper\";\nimport { createPopperScope } from \"@radix-ui/react-popper\";\nimport { Portal as PortalPrimitive } from \"@radix-ui/react-portal\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { Primitive, dispatchDiscreteCustomEvent } from \"@radix-ui/react-primitive\";\nimport * as RovingFocusGroup from \"@radix-ui/react-roving-focus\";\nimport { createRovingFocusGroupScope } from \"@radix-ui/react-roving-focus\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { hideOthers } from \"aria-hidden\";\nimport { RemoveScroll } from \"react-remove-scroll\";\nimport { jsx } from \"react/jsx-runtime\";\nvar SELECTION_KEYS = [\"Enter\", \" \"];\nvar FIRST_KEYS = [\"ArrowDown\", \"PageUp\", \"Home\"];\nvar LAST_KEYS = [\"ArrowUp\", \"PageDown\", \"End\"];\nvar FIRST_LAST_KEYS = [...FIRST_KEYS, ...LAST_KEYS];\nvar SUB_OPEN_KEYS = {\n ltr: [...SELECTION_KEYS, \"ArrowRight\"],\n rtl: [...SELECTION_KEYS, \"ArrowLeft\"]\n};\nvar SUB_CLOSE_KEYS = {\n ltr: [\"ArrowLeft\"],\n rtl: [\"ArrowRight\"]\n};\nvar MENU_NAME = \"Menu\";\nvar [Collection, useCollection, createCollectionScope] = createCollection(MENU_NAME);\nvar [createMenuContext, createMenuScope] = createContextScope(MENU_NAME, [\n createCollectionScope,\n createPopperScope,\n createRovingFocusGroupScope\n]);\nvar usePopperScope = createPopperScope();\nvar useRovingFocusGroupScope = createRovingFocusGroupScope();\nvar [MenuProvider, useMenuContext] = createMenuContext(MENU_NAME);\nvar [MenuRootProvider, useMenuRootContext] = createMenuContext(MENU_NAME);\nvar Menu = (props) => {\n const { __scopeMenu, open = false, children, dir, onOpenChange, modal = true } = props;\n const popperScope = usePopperScope(__scopeMenu);\n const [content, setContent] = React.useState(null);\n const isUsingKeyboardRef = React.useRef(false);\n const handleOpenChange = useCallbackRef(onOpenChange);\n const direction = useDirection(dir);\n React.useEffect(() => {\n const handleKeyDown = () => {\n isUsingKeyboardRef.current = true;\n document.addEventListener(\"pointerdown\", handlePointer, { capture: true, once: true });\n document.addEventListener(\"pointermove\", handlePointer, { capture: true, once: true });\n };\n const handlePointer = () => isUsingKeyboardRef.current = false;\n document.addEventListener(\"keydown\", handleKeyDown, { capture: true });\n return () => {\n document.removeEventListener(\"keydown\", handleKeyDown, { capture: true });\n document.removeEventListener(\"pointerdown\", handlePointer, { capture: true });\n document.removeEventListener(\"pointermove\", handlePointer, { capture: true });\n };\n }, []);\n return /* @__PURE__ */ jsx(PopperPrimitive.Root, { ...popperScope, children: /* @__PURE__ */ jsx(\n MenuProvider,\n {\n scope: __scopeMenu,\n open,\n onOpenChange: handleOpenChange,\n content,\n onContentChange: setContent,\n children: /* @__PURE__ */ jsx(\n MenuRootProvider,\n {\n scope: __scopeMenu,\n onClose: React.useCallback(() => handleOpenChange(false), [handleOpenChange]),\n isUsingKeyboardRef,\n dir: direction,\n modal,\n children\n }\n )\n }\n ) });\n};\nMenu.displayName = MENU_NAME;\nvar ANCHOR_NAME = \"MenuAnchor\";\nvar MenuAnchor = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, ...anchorProps } = props;\n const popperScope = usePopperScope(__scopeMenu);\n return /* @__PURE__ */ jsx(PopperPrimitive.Anchor, { ...popperScope, ...anchorProps, ref: forwardedRef });\n }\n);\nMenuAnchor.displayName = ANCHOR_NAME;\nvar PORTAL_NAME = \"MenuPortal\";\nvar [PortalProvider, usePortalContext] = createMenuContext(PORTAL_NAME, {\n forceMount: void 0\n});\nvar MenuPortal = (props) => {\n const { __scopeMenu, forceMount, children, container } = props;\n const context = useMenuContext(PORTAL_NAME, __scopeMenu);\n return /* @__PURE__ */ jsx(PortalProvider, { scope: __scopeMenu, forceMount, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(PortalPrimitive, { asChild: true, container, children }) }) });\n};\nMenuPortal.displayName = PORTAL_NAME;\nvar CONTENT_NAME = \"MenuContent\";\nvar [MenuContentProvider, useMenuContentContext] = createMenuContext(CONTENT_NAME);\nvar MenuContent = React.forwardRef(\n (props, forwardedRef) => {\n const portalContext = usePortalContext(CONTENT_NAME, props.__scopeMenu);\n const { forceMount = portalContext.forceMount, ...contentProps } = props;\n const context = useMenuContext(CONTENT_NAME, props.__scopeMenu);\n const rootContext = useMenuRootContext(CONTENT_NAME, props.__scopeMenu);\n return /* @__PURE__ */ jsx(Collection.Provider, { scope: props.__scopeMenu, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(Collection.Slot, { scope: props.__scopeMenu, children: rootContext.modal ? /* @__PURE__ */ jsx(MenuRootContentModal, { ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ jsx(MenuRootContentNonModal, { ...contentProps, ref: forwardedRef }) }) }) });\n }\n);\nvar MenuRootContentModal = React.forwardRef(\n (props, forwardedRef) => {\n const context = useMenuContext(CONTENT_NAME, props.__scopeMenu);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n React.useEffect(() => {\n const content = ref.current;\n if (content) return hideOthers(content);\n }, []);\n return /* @__PURE__ */ jsx(\n MenuContentImpl,\n {\n ...props,\n ref: composedRefs,\n trapFocus: context.open,\n disableOutsidePointerEvents: context.open,\n disableOutsideScroll: true,\n onFocusOutside: composeEventHandlers(\n props.onFocusOutside,\n (event) => event.preventDefault(),\n { checkForDefaultPrevented: false }\n ),\n onDismiss: () => context.onOpenChange(false)\n }\n );\n }\n);\nvar MenuRootContentNonModal = React.forwardRef((props, forwardedRef) => {\n const context = useMenuContext(CONTENT_NAME, props.__scopeMenu);\n return /* @__PURE__ */ jsx(\n MenuContentImpl,\n {\n ...props,\n ref: forwardedRef,\n trapFocus: false,\n disableOutsidePointerEvents: false,\n disableOutsideScroll: false,\n onDismiss: () => context.onOpenChange(false)\n }\n );\n});\nvar Slot = createSlot(\"MenuContent.ScrollLock\");\nvar MenuContentImpl = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeMenu,\n loop = false,\n trapFocus,\n onOpenAutoFocus,\n onCloseAutoFocus,\n disableOutsidePointerEvents,\n onEntryFocus,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside,\n onInteractOutside,\n onDismiss,\n disableOutsideScroll,\n ...contentProps\n } = props;\n const context = useMenuContext(CONTENT_NAME, __scopeMenu);\n const rootContext = useMenuRootContext(CONTENT_NAME, __scopeMenu);\n const popperScope = usePopperScope(__scopeMenu);\n const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeMenu);\n const getItems = useCollection(__scopeMenu);\n const [currentItemId, setCurrentItemId] = React.useState(null);\n const contentRef = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, contentRef, context.onContentChange);\n const timerRef = React.useRef(0);\n const searchRef = React.useRef(\"\");\n const pointerGraceTimerRef = React.useRef(0);\n const pointerGraceIntentRef = React.useRef(null);\n const pointerDirRef = React.useRef(\"right\");\n const lastPointerXRef = React.useRef(0);\n const ScrollLockWrapper = disableOutsideScroll ? RemoveScroll : React.Fragment;\n const scrollLockWrapperProps = disableOutsideScroll ? { as: Slot, allowPinchZoom: true } : void 0;\n const handleTypeaheadSearch = (key) => {\n const search = searchRef.current + key;\n const items = getItems().filter((item) => !item.disabled);\n const currentItem = document.activeElement;\n const currentMatch = items.find((item) => item.ref.current === currentItem)?.textValue;\n const values = items.map((item) => item.textValue);\n const nextMatch = getNextMatch(values, search, currentMatch);\n const newItem = items.find((item) => item.textValue === nextMatch)?.ref.current;\n (function updateSearch(value) {\n searchRef.current = value;\n window.clearTimeout(timerRef.current);\n if (value !== \"\") timerRef.current = window.setTimeout(() => updateSearch(\"\"), 1e3);\n })(search);\n if (newItem) {\n setTimeout(() => newItem.focus());\n }\n };\n React.useEffect(() => {\n return () => window.clearTimeout(timerRef.current);\n }, []);\n useFocusGuards();\n const isPointerMovingToSubmenu = React.useCallback((event) => {\n const isMovingTowards = pointerDirRef.current === pointerGraceIntentRef.current?.side;\n return isMovingTowards && isPointerInGraceArea(event, pointerGraceIntentRef.current?.area);\n }, []);\n return /* @__PURE__ */ jsx(\n MenuContentProvider,\n {\n scope: __scopeMenu,\n searchRef,\n onItemEnter: React.useCallback(\n (event) => {\n if (isPointerMovingToSubmenu(event)) event.preventDefault();\n },\n [isPointerMovingToSubmenu]\n ),\n onItemLeave: React.useCallback(\n (event) => {\n if (isPointerMovingToSubmenu(event)) return;\n contentRef.current?.focus();\n setCurrentItemId(null);\n },\n [isPointerMovingToSubmenu]\n ),\n onTriggerLeave: React.useCallback(\n (event) => {\n if (isPointerMovingToSubmenu(event)) event.preventDefault();\n },\n [isPointerMovingToSubmenu]\n ),\n pointerGraceTimerRef,\n onPointerGraceIntentChange: React.useCallback((intent) => {\n pointerGraceIntentRef.current = intent;\n }, []),\n children: /* @__PURE__ */ jsx(ScrollLockWrapper, { ...scrollLockWrapperProps, children: /* @__PURE__ */ jsx(\n FocusScope,\n {\n asChild: true,\n trapped: trapFocus,\n onMountAutoFocus: composeEventHandlers(onOpenAutoFocus, (event) => {\n event.preventDefault();\n contentRef.current?.focus({ preventScroll: true });\n }),\n onUnmountAutoFocus: onCloseAutoFocus,\n children: /* @__PURE__ */ jsx(\n DismissableLayer,\n {\n asChild: true,\n disableOutsidePointerEvents,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside,\n onInteractOutside,\n onDismiss,\n children: /* @__PURE__ */ jsx(\n RovingFocusGroup.Root,\n {\n asChild: true,\n ...rovingFocusGroupScope,\n dir: rootContext.dir,\n orientation: \"vertical\",\n loop,\n currentTabStopId: currentItemId,\n onCurrentTabStopIdChange: setCurrentItemId,\n onEntryFocus: composeEventHandlers(onEntryFocus, (event) => {\n if (!rootContext.isUsingKeyboardRef.current) event.preventDefault();\n }),\n preventScrollOnEntryFocus: true,\n children: /* @__PURE__ */ jsx(\n PopperPrimitive.Content,\n {\n role: \"menu\",\n \"aria-orientation\": \"vertical\",\n \"data-state\": getOpenState(context.open),\n \"data-radix-menu-content\": \"\",\n dir: rootContext.dir,\n ...popperScope,\n ...contentProps,\n ref: composedRefs,\n style: { outline: \"none\", ...contentProps.style },\n onKeyDown: composeEventHandlers(contentProps.onKeyDown, (event) => {\n const target = event.target;\n const isKeyDownInside = target.closest(\"[data-radix-menu-content]\") === event.currentTarget;\n const isModifierKey = event.ctrlKey || event.altKey || event.metaKey;\n const isCharacterKey = event.key.length === 1;\n if (isKeyDownInside) {\n if (event.key === \"Tab\") event.preventDefault();\n if (!isModifierKey && isCharacterKey) handleTypeaheadSearch(event.key);\n }\n const content = contentRef.current;\n if (event.target !== content) return;\n if (!FIRST_LAST_KEYS.includes(event.key)) return;\n event.preventDefault();\n const items = getItems().filter((item) => !item.disabled);\n const candidateNodes = items.map((item) => item.ref.current);\n if (LAST_KEYS.includes(event.key)) candidateNodes.reverse();\n focusFirst(candidateNodes);\n }),\n onBlur: composeEventHandlers(props.onBlur, (event) => {\n if (!event.currentTarget.contains(event.target)) {\n window.clearTimeout(timerRef.current);\n searchRef.current = \"\";\n }\n }),\n onPointerMove: composeEventHandlers(\n props.onPointerMove,\n whenMouse((event) => {\n const target = event.target;\n const pointerXHasChanged = lastPointerXRef.current !== event.clientX;\n if (event.currentTarget.contains(target) && pointerXHasChanged) {\n const newDir = event.clientX > lastPointerXRef.current ? \"right\" : \"left\";\n pointerDirRef.current = newDir;\n lastPointerXRef.current = event.clientX;\n }\n })\n )\n }\n )\n }\n )\n }\n )\n }\n ) })\n }\n );\n }\n);\nMenuContent.displayName = CONTENT_NAME;\nvar GROUP_NAME = \"MenuGroup\";\nvar MenuGroup = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, ...groupProps } = props;\n return /* @__PURE__ */ jsx(Primitive.div, { role: \"group\", ...groupProps, ref: forwardedRef });\n }\n);\nMenuGroup.displayName = GROUP_NAME;\nvar LABEL_NAME = \"MenuLabel\";\nvar MenuLabel = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, ...labelProps } = props;\n return /* @__PURE__ */ jsx(Primitive.div, { ...labelProps, ref: forwardedRef });\n }\n);\nMenuLabel.displayName = LABEL_NAME;\nvar ITEM_NAME = \"MenuItem\";\nvar ITEM_SELECT = \"menu.itemSelect\";\nvar MenuItem = React.forwardRef(\n (props, forwardedRef) => {\n const { disabled = false, onSelect, ...itemProps } = props;\n const ref = React.useRef(null);\n const rootContext = useMenuRootContext(ITEM_NAME, props.__scopeMenu);\n const contentContext = useMenuContentContext(ITEM_NAME, props.__scopeMenu);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const isPointerDownRef = React.useRef(false);\n const handleSelect = () => {\n const menuItem = ref.current;\n if (!disabled && menuItem) {\n const itemSelectEvent = new CustomEvent(ITEM_SELECT, { bubbles: true, cancelable: true });\n menuItem.addEventListener(ITEM_SELECT, (event) => onSelect?.(event), { once: true });\n dispatchDiscreteCustomEvent(menuItem, itemSelectEvent);\n if (itemSelectEvent.defaultPrevented) {\n isPointerDownRef.current = false;\n } else {\n rootContext.onClose();\n }\n }\n };\n return /* @__PURE__ */ jsx(\n MenuItemImpl,\n {\n ...itemProps,\n ref: composedRefs,\n disabled,\n onClick: composeEventHandlers(props.onClick, handleSelect),\n onPointerDown: (event) => {\n props.onPointerDown?.(event);\n isPointerDownRef.current = true;\n },\n onPointerUp: composeEventHandlers(props.onPointerUp, (event) => {\n if (!isPointerDownRef.current) event.currentTarget?.click();\n }),\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n const isTypingAhead = contentContext.searchRef.current !== \"\";\n if (disabled || isTypingAhead && event.key === \" \") return;\n if (SELECTION_KEYS.includes(event.key)) {\n event.currentTarget.click();\n event.preventDefault();\n }\n })\n }\n );\n }\n);\nMenuItem.displayName = ITEM_NAME;\nvar MenuItemImpl = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, disabled = false, textValue, ...itemProps } = props;\n const contentContext = useMenuContentContext(ITEM_NAME, __scopeMenu);\n const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeMenu);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const [isFocused, setIsFocused] = React.useState(false);\n const [textContent, setTextContent] = React.useState(\"\");\n React.useEffect(() => {\n const menuItem = ref.current;\n if (menuItem) {\n setTextContent((menuItem.textContent ?? \"\").trim());\n }\n }, [itemProps.children]);\n return /* @__PURE__ */ jsx(\n Collection.ItemSlot,\n {\n scope: __scopeMenu,\n disabled,\n textValue: textValue ?? textContent,\n children: /* @__PURE__ */ jsx(RovingFocusGroup.Item, { asChild: true, ...rovingFocusGroupScope, focusable: !disabled, children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n role: \"menuitem\",\n \"data-highlighted\": isFocused ? \"\" : void 0,\n \"aria-disabled\": disabled || void 0,\n \"data-disabled\": disabled ? \"\" : void 0,\n ...itemProps,\n ref: composedRefs,\n onPointerMove: composeEventHandlers(\n props.onPointerMove,\n whenMouse((event) => {\n if (disabled) {\n contentContext.onItemLeave(event);\n } else {\n contentContext.onItemEnter(event);\n if (!event.defaultPrevented) {\n const item = event.currentTarget;\n item.focus({ preventScroll: true });\n }\n }\n })\n ),\n onPointerLeave: composeEventHandlers(\n props.onPointerLeave,\n whenMouse((event) => contentContext.onItemLeave(event))\n ),\n onFocus: composeEventHandlers(props.onFocus, () => setIsFocused(true)),\n onBlur: composeEventHandlers(props.onBlur, () => setIsFocused(false))\n }\n ) })\n }\n );\n }\n);\nvar CHECKBOX_ITEM_NAME = \"MenuCheckboxItem\";\nvar MenuCheckboxItem = React.forwardRef(\n (props, forwardedRef) => {\n const { checked = false, onCheckedChange, ...checkboxItemProps } = props;\n return /* @__PURE__ */ jsx(ItemIndicatorProvider, { scope: props.__scopeMenu, checked, children: /* @__PURE__ */ jsx(\n MenuItem,\n {\n role: \"menuitemcheckbox\",\n \"aria-checked\": isIndeterminate(checked) ? \"mixed\" : checked,\n ...checkboxItemProps,\n ref: forwardedRef,\n \"data-state\": getCheckedState(checked),\n onSelect: composeEventHandlers(\n checkboxItemProps.onSelect,\n () => onCheckedChange?.(isIndeterminate(checked) ? true : !checked),\n { checkForDefaultPrevented: false }\n )\n }\n ) });\n }\n);\nMenuCheckboxItem.displayName = CHECKBOX_ITEM_NAME;\nvar RADIO_GROUP_NAME = \"MenuRadioGroup\";\nvar [RadioGroupProvider, useRadioGroupContext] = createMenuContext(\n RADIO_GROUP_NAME,\n { value: void 0, onValueChange: () => {\n } }\n);\nvar MenuRadioGroup = React.forwardRef(\n (props, forwardedRef) => {\n const { value, onValueChange, ...groupProps } = props;\n const handleValueChange = useCallbackRef(onValueChange);\n return /* @__PURE__ */ jsx(RadioGroupProvider, { scope: props.__scopeMenu, value, onValueChange: handleValueChange, children: /* @__PURE__ */ jsx(MenuGroup, { ...groupProps, ref: forwardedRef }) });\n }\n);\nMenuRadioGroup.displayName = RADIO_GROUP_NAME;\nvar RADIO_ITEM_NAME = \"MenuRadioItem\";\nvar MenuRadioItem = React.forwardRef(\n (props, forwardedRef) => {\n const { value, ...radioItemProps } = props;\n const context = useRadioGroupContext(RADIO_ITEM_NAME, props.__scopeMenu);\n const checked = value === context.value;\n return /* @__PURE__ */ jsx(ItemIndicatorProvider, { scope: props.__scopeMenu, checked, children: /* @__PURE__ */ jsx(\n MenuItem,\n {\n role: \"menuitemradio\",\n \"aria-checked\": checked,\n ...radioItemProps,\n ref: forwardedRef,\n \"data-state\": getCheckedState(checked),\n onSelect: composeEventHandlers(\n radioItemProps.onSelect,\n () => context.onValueChange?.(value),\n { checkForDefaultPrevented: false }\n )\n }\n ) });\n }\n);\nMenuRadioItem.displayName = RADIO_ITEM_NAME;\nvar ITEM_INDICATOR_NAME = \"MenuItemIndicator\";\nvar [ItemIndicatorProvider, useItemIndicatorContext] = createMenuContext(\n ITEM_INDICATOR_NAME,\n { checked: false }\n);\nvar MenuItemIndicator = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, forceMount, ...itemIndicatorProps } = props;\n const indicatorContext = useItemIndicatorContext(ITEM_INDICATOR_NAME, __scopeMenu);\n return /* @__PURE__ */ jsx(\n Presence,\n {\n present: forceMount || isIndeterminate(indicatorContext.checked) || indicatorContext.checked === true,\n children: /* @__PURE__ */ jsx(\n Primitive.span,\n {\n ...itemIndicatorProps,\n ref: forwardedRef,\n \"data-state\": getCheckedState(indicatorContext.checked)\n }\n )\n }\n );\n }\n);\nMenuItemIndicator.displayName = ITEM_INDICATOR_NAME;\nvar SEPARATOR_NAME = \"MenuSeparator\";\nvar MenuSeparator = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, ...separatorProps } = props;\n return /* @__PURE__ */ jsx(\n Primitive.div,\n {\n role: \"separator\",\n \"aria-orientation\": \"horizontal\",\n ...separatorProps,\n ref: forwardedRef\n }\n );\n }\n);\nMenuSeparator.displayName = SEPARATOR_NAME;\nvar ARROW_NAME = \"MenuArrow\";\nvar MenuArrow = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, ...arrowProps } = props;\n const popperScope = usePopperScope(__scopeMenu);\n return /* @__PURE__ */ jsx(PopperPrimitive.Arrow, { ...popperScope, ...arrowProps, ref: forwardedRef });\n }\n);\nMenuArrow.displayName = ARROW_NAME;\nvar SUB_NAME = \"MenuSub\";\nvar [MenuSubProvider, useMenuSubContext] = createMenuContext(SUB_NAME);\nvar MenuSub = (props) => {\n const { __scopeMenu, children, open = false, onOpenChange } = props;\n const parentMenuContext = useMenuContext(SUB_NAME, __scopeMenu);\n const popperScope = usePopperScope(__scopeMenu);\n const [trigger, setTrigger] = React.useState(null);\n const [content, setContent] = React.useState(null);\n const handleOpenChange = useCallbackRef(onOpenChange);\n React.useEffect(() => {\n if (parentMenuContext.open === false) handleOpenChange(false);\n return () => handleOpenChange(false);\n }, [parentMenuContext.open, handleOpenChange]);\n return /* @__PURE__ */ jsx(PopperPrimitive.Root, { ...popperScope, children: /* @__PURE__ */ jsx(\n MenuProvider,\n {\n scope: __scopeMenu,\n open,\n onOpenChange: handleOpenChange,\n content,\n onContentChange: setContent,\n children: /* @__PURE__ */ jsx(\n MenuSubProvider,\n {\n scope: __scopeMenu,\n contentId: useId(),\n triggerId: useId(),\n trigger,\n onTriggerChange: setTrigger,\n children\n }\n )\n }\n ) });\n};\nMenuSub.displayName = SUB_NAME;\nvar SUB_TRIGGER_NAME = \"MenuSubTrigger\";\nvar MenuSubTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const context = useMenuContext(SUB_TRIGGER_NAME, props.__scopeMenu);\n const rootContext = useMenuRootContext(SUB_TRIGGER_NAME, props.__scopeMenu);\n const subContext = useMenuSubContext(SUB_TRIGGER_NAME, props.__scopeMenu);\n const contentContext = useMenuContentContext(SUB_TRIGGER_NAME, props.__scopeMenu);\n const openTimerRef = React.useRef(null);\n const { pointerGraceTimerRef, onPointerGraceIntentChange } = contentContext;\n const scope = { __scopeMenu: props.__scopeMenu };\n const clearOpenTimer = React.useCallback(() => {\n if (openTimerRef.current) window.clearTimeout(openTimerRef.current);\n openTimerRef.current = null;\n }, []);\n React.useEffect(() => clearOpenTimer, [clearOpenTimer]);\n React.useEffect(() => {\n const pointerGraceTimer = pointerGraceTimerRef.current;\n return () => {\n window.clearTimeout(pointerGraceTimer);\n onPointerGraceIntentChange(null);\n };\n }, [pointerGraceTimerRef, onPointerGraceIntentChange]);\n return /* @__PURE__ */ jsx(MenuAnchor, { asChild: true, ...scope, children: /* @__PURE__ */ jsx(\n MenuItemImpl,\n {\n id: subContext.triggerId,\n \"aria-haspopup\": \"menu\",\n \"aria-expanded\": context.open,\n \"aria-controls\": subContext.contentId,\n \"data-state\": getOpenState(context.open),\n ...props,\n ref: composeRefs(forwardedRef, subContext.onTriggerChange),\n onClick: (event) => {\n props.onClick?.(event);\n if (props.disabled || event.defaultPrevented) return;\n event.currentTarget.focus();\n if (!context.open) context.onOpenChange(true);\n },\n onPointerMove: composeEventHandlers(\n props.onPointerMove,\n whenMouse((event) => {\n contentContext.onItemEnter(event);\n if (event.defaultPrevented) return;\n if (!props.disabled && !context.open && !openTimerRef.current) {\n contentContext.onPointerGraceIntentChange(null);\n openTimerRef.current = window.setTimeout(() => {\n context.onOpenChange(true);\n clearOpenTimer();\n }, 100);\n }\n })\n ),\n onPointerLeave: composeEventHandlers(\n props.onPointerLeave,\n whenMouse((event) => {\n clearOpenTimer();\n const contentRect = context.content?.getBoundingClientRect();\n if (contentRect) {\n const side = context.content?.dataset.side;\n const rightSide = side === \"right\";\n const bleed = rightSide ? -5 : 5;\n const contentNearEdge = contentRect[rightSide ? \"left\" : \"right\"];\n const contentFarEdge = contentRect[rightSide ? \"right\" : \"left\"];\n contentContext.onPointerGraceIntentChange({\n area: [\n // Apply a bleed on clientX to ensure that our exit point is\n // consistently within polygon bounds\n { x: event.clientX + bleed, y: event.clientY },\n { x: contentNearEdge, y: contentRect.top },\n { x: contentFarEdge, y: contentRect.top },\n { x: contentFarEdge, y: contentRect.bottom },\n { x: contentNearEdge, y: contentRect.bottom }\n ],\n side\n });\n window.clearTimeout(pointerGraceTimerRef.current);\n pointerGraceTimerRef.current = window.setTimeout(\n () => contentContext.onPointerGraceIntentChange(null),\n 300\n );\n } else {\n contentContext.onTriggerLeave(event);\n if (event.defaultPrevented) return;\n contentContext.onPointerGraceIntentChange(null);\n }\n })\n ),\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n const isTypingAhead = contentContext.searchRef.current !== \"\";\n if (props.disabled || isTypingAhead && event.key === \" \") return;\n if (SUB_OPEN_KEYS[rootContext.dir].includes(event.key)) {\n context.onOpenChange(true);\n context.content?.focus();\n event.preventDefault();\n }\n })\n }\n ) });\n }\n);\nMenuSubTrigger.displayName = SUB_TRIGGER_NAME;\nvar SUB_CONTENT_NAME = \"MenuSubContent\";\nvar MenuSubContent = React.forwardRef(\n (props, forwardedRef) => {\n const portalContext = usePortalContext(CONTENT_NAME, props.__scopeMenu);\n const { forceMount = portalContext.forceMount, ...subContentProps } = props;\n const context = useMenuContext(CONTENT_NAME, props.__scopeMenu);\n const rootContext = useMenuRootContext(CONTENT_NAME, props.__scopeMenu);\n const subContext = useMenuSubContext(SUB_CONTENT_NAME, props.__scopeMenu);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n return /* @__PURE__ */ jsx(Collection.Provider, { scope: props.__scopeMenu, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(Collection.Slot, { scope: props.__scopeMenu, children: /* @__PURE__ */ jsx(\n MenuContentImpl,\n {\n id: subContext.contentId,\n \"aria-labelledby\": subContext.triggerId,\n ...subContentProps,\n ref: composedRefs,\n align: \"start\",\n side: rootContext.dir === \"rtl\" ? \"left\" : \"right\",\n disableOutsidePointerEvents: false,\n disableOutsideScroll: false,\n trapFocus: false,\n onOpenAutoFocus: (event) => {\n if (rootContext.isUsingKeyboardRef.current) ref.current?.focus();\n event.preventDefault();\n },\n onCloseAutoFocus: (event) => event.preventDefault(),\n onFocusOutside: composeEventHandlers(props.onFocusOutside, (event) => {\n if (event.target !== subContext.trigger) context.onOpenChange(false);\n }),\n onEscapeKeyDown: composeEventHandlers(props.onEscapeKeyDown, (event) => {\n rootContext.onClose();\n event.preventDefault();\n }),\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n const isKeyDownInside = event.currentTarget.contains(event.target);\n const isCloseKey = SUB_CLOSE_KEYS[rootContext.dir].includes(event.key);\n if (isKeyDownInside && isCloseKey) {\n context.onOpenChange(false);\n subContext.trigger?.focus();\n event.preventDefault();\n }\n })\n }\n ) }) }) });\n }\n);\nMenuSubContent.displayName = SUB_CONTENT_NAME;\nfunction getOpenState(open) {\n return open ? \"open\" : \"closed\";\n}\nfunction isIndeterminate(checked) {\n return checked === \"indeterminate\";\n}\nfunction getCheckedState(checked) {\n return isIndeterminate(checked) ? \"indeterminate\" : checked ? \"checked\" : \"unchecked\";\n}\nfunction focusFirst(candidates) {\n const PREVIOUSLY_FOCUSED_ELEMENT = document.activeElement;\n for (const candidate of candidates) {\n if (candidate === PREVIOUSLY_FOCUSED_ELEMENT) return;\n candidate.focus();\n if (document.activeElement !== PREVIOUSLY_FOCUSED_ELEMENT) return;\n }\n}\nfunction wrapArray(array, startIndex) {\n return array.map((_, index) => array[(startIndex + index) % array.length]);\n}\nfunction getNextMatch(values, search, currentMatch) {\n const isRepeated = search.length > 1 && Array.from(search).every((char) => char === search[0]);\n const normalizedSearch = isRepeated ? search[0] : search;\n const currentMatchIndex = currentMatch ? values.indexOf(currentMatch) : -1;\n let wrappedValues = wrapArray(values, Math.max(currentMatchIndex, 0));\n const excludeCurrentMatch = normalizedSearch.length === 1;\n if (excludeCurrentMatch) wrappedValues = wrappedValues.filter((v) => v !== currentMatch);\n const nextMatch = wrappedValues.find(\n (value) => value.toLowerCase().startsWith(normalizedSearch.toLowerCase())\n );\n return nextMatch !== currentMatch ? nextMatch : void 0;\n}\nfunction isPointInPolygon(point, polygon) {\n const { x, y } = point;\n let inside = false;\n for (let i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {\n const ii = polygon[i];\n const jj = polygon[j];\n const xi = ii.x;\n const yi = ii.y;\n const xj = jj.x;\n const yj = jj.y;\n const intersect = yi > y !== yj > y && x < (xj - xi) * (y - yi) / (yj - yi) + xi;\n if (intersect) inside = !inside;\n }\n return inside;\n}\nfunction isPointerInGraceArea(event, area) {\n if (!area) return false;\n const cursorPos = { x: event.clientX, y: event.clientY };\n return isPointInPolygon(cursorPos, area);\n}\nfunction whenMouse(handler) {\n return (event) => event.pointerType === \"mouse\" ? handler(event) : void 0;\n}\nvar Root3 = Menu;\nvar Anchor2 = MenuAnchor;\nvar Portal = MenuPortal;\nvar Content2 = MenuContent;\nvar Group = MenuGroup;\nvar Label = MenuLabel;\nvar Item2 = MenuItem;\nvar CheckboxItem = MenuCheckboxItem;\nvar RadioGroup = MenuRadioGroup;\nvar RadioItem = MenuRadioItem;\nvar ItemIndicator = MenuItemIndicator;\nvar Separator = MenuSeparator;\nvar Arrow2 = MenuArrow;\nvar Sub = MenuSub;\nvar SubTrigger = MenuSubTrigger;\nvar SubContent = MenuSubContent;\nexport {\n Anchor2 as Anchor,\n Arrow2 as Arrow,\n CheckboxItem,\n Content2 as Content,\n Group,\n Item2 as Item,\n ItemIndicator,\n Label,\n Menu,\n MenuAnchor,\n MenuArrow,\n MenuCheckboxItem,\n MenuContent,\n MenuGroup,\n MenuItem,\n MenuItemIndicator,\n MenuLabel,\n MenuPortal,\n MenuRadioGroup,\n MenuRadioItem,\n MenuSeparator,\n MenuSub,\n MenuSubContent,\n MenuSubTrigger,\n Portal,\n RadioGroup,\n RadioItem,\n Root3 as Root,\n Separator,\n Sub,\n SubContent,\n SubTrigger,\n createMenuScope\n};\n//# sourceMappingURL=index.mjs.map\n","\"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","import * as DropdownMenuPrimitive from \"@radix-ui/react-dropdown-menu\";\nimport { Check, CheckIcon, ChevronRight, Minus } from \"lucide-react\";\nimport * as React from \"react\";\nimport { tv } from \"tailwind-variants\";\nimport { TriggerButton } from \"../button\";\nimport { TriggerButtonProps } from \"../button/trigger-button/TriggerButton\";\nimport { usePortalContainer } from \"../portal-container\";\nimport { menuItemStyles } from \"../menu-item\";\nimport { useComponentVariant } from \"@/providers/component-variant-context\";\nimport { cn } from \"@/lib/utils\";\nimport { menuItemShortcutStyles } from \"../menu-item/components/menu-item-shortcut/MenuItemShortcut\";\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 DropdownMenuPrimitiveRadioGroup = DropdownMenuPrimitive.RadioGroup;\n\n// Контекст для передачи настроек от RadioGroup к RadioItem\ntype RadioGroupContextType = {\n\t/**\n\t * Иконка-индикатор для отображения в выбранном элементе\n\t * @default CheckIcon\n\t */\n\tindicatorIcon?: React.ComponentType<{ className?: string }>;\n\t/**\n\t * CSS классы для иконки-индикатора\n\t */\n\tindicatorIconClassName?: string;\n\t/**\n\t * Позиция иконки-индикатора относительно текста\n\t * @default \"start\"\n\t */\n\tindicatorIconPosition?: \"start\" | \"end\";\n};\n\nconst RadioGroupContext = React.createContext<RadioGroupContextType | null>(null);\n\ntype DropdownMenuRadioGroupProps = React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.RadioGroup> &\n\tRadioGroupContextType;\n\nconst DropdownMenuRadioGroup = React.forwardRef<\n\tReact.ElementRef<typeof DropdownMenuPrimitive.RadioGroup>,\n\tDropdownMenuRadioGroupProps\n>(({ indicatorIcon, indicatorIconClassName, indicatorIconPosition, children, ...props }, ref) => {\n\treturn (\n\t\t<RadioGroupContext.Provider value={{ indicatorIcon, indicatorIconClassName, indicatorIconPosition }}>\n\t\t\t<DropdownMenuPrimitive.RadioGroup ref={ref} {...props}>\n\t\t\t\t{children}\n\t\t\t</DropdownMenuPrimitive.RadioGroup>\n\t\t</RadioGroupContext.Provider>\n\t);\n});\nDropdownMenuRadioGroup.displayName = DropdownMenuPrimitive.RadioGroup.displayName;\n\nconst documentMenuSubTriggerStyles = tv({\n\textend: menuItemStyles,\n\tbase: \"data-[state=open]:bg-secondary-bg-hover\",\n\tslots: {\n\t\tchevron: \"ml-auto h-4 w-4\"\n\t},\n\tvariants: {\n\t\tinset: {\n\t\t\ttrue: \"pl-8\"\n\t\t},\n\t\ttheme: {\n\t\t\tinverse:\n\t\t\t\t\"bg-inverse-primary-bg text-inverse-primary-fg hover:!bg-inverse-hover focus:bg-inverse-hover data-[state=open]:bg-inverse-hover\"\n\t\t}\n\t},\n\tdefaultVariants: {\n\t\tinset: false\n\t}\n});\n\nconst DropdownMenuSubTrigger = React.forwardRef<\n\tReact.ElementRef<typeof DropdownMenuPrimitive.SubTrigger>,\n\tReact.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.SubTrigger> & {\n\t\tinset?: boolean;\n\t}\n>(({ className, inset, children, ...props }, ref) => {\n\tconst { variant: theme } = useComponentVariant();\n\tconst styles = documentMenuSubTriggerStyles({ inset, theme });\n\n\treturn (\n\t\t<DropdownMenuPrimitive.SubTrigger ref={ref} className={styles.base({ className })} {...props}>\n\t\t\t{children}\n\t\t\t<ChevronRight className={styles.chevron()} />\n\t\t</DropdownMenuPrimitive.SubTrigger>\n\t);\n});\nDropdownMenuSubTrigger.displayName = DropdownMenuPrimitive.SubTrigger.displayName;\n\nconst documentMenuSubContentStyles = tv({\n\tbase: [\n\t\t\"relative z-50 min-w-[8rem] overflow-hidden rounded-lg border border-secondary-border bg-secondary-bg p-1 shadow-soft-md\",\n\t\t\"origin-[--radix-dropdown-menu-content-transform-origin]\",\n\t\t\"data-[state=open]:animate-in data-[state=closed]:animate-out\",\n\t\t\"data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0\",\n\t\t\"data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95\",\n\t\t\"data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2\",\n\t\t\"data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\n\t\t\"data-[side=left]:-top-1 data-[side=right]:-top-1\"\n\t],\n\tvariants: {\n\t\ttheme: {\n\t\t\tinverse: \"border-none bg-inverse-primary-bg\"\n\t\t}\n\t}\n});\n\nconst DropdownMenuSubContent = React.forwardRef<\n\tReact.ElementRef<typeof DropdownMenuPrimitive.SubContent>,\n\tReact.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.SubContent>\n>(({ className, ...props }, ref) => {\n\tconst { variant: theme } = useComponentVariant();\n\n\treturn (\n\t\t<DropdownMenuPrimitive.SubContent\n\t\t\tref={ref}\n\t\t\tclassName={documentMenuSubContentStyles({ className, theme })}\n\t\t\t{...props}\n\t\t/>\n\t);\n});\nDropdownMenuSubContent.displayName = DropdownMenuPrimitive.SubContent.displayName;\n\nexport const dropdownMenuContentStyles = tv({\n\tbase: [\n\t\t\"group/dropdown-menu-content z-50 min-w-32 rounded-lg border border-secondary-border bg-secondary-bg p-1 shadow-soft-md\",\n\t\t\"max-h-[var(--radix-dropdown-menu-content-available-height)] overflow-y-auto overflow-x-hidden\",\n\t\t\"origin-[--radix-dropdown-menu-content-transform-origin]\",\n\t\t\"data-[state=open]:animate-in data-[state=closed]:animate-out\",\n\t\t\"data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0\",\n\t\t\"data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95\",\n\t\t\"data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2\",\n\t\t\"data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\"\n\t],\n\tvariants: {\n\t\ttheme: {\n\t\t\tinverse: \"border-none bg-inverse-primary-bg\"\n\t\t}\n\t}\n});\n\nconst DropdownMenuContent = React.forwardRef<\n\tReact.ElementRef<typeof DropdownMenuPrimitive.Content>,\n\tReact.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Content> & {\n\t\t/**\n\t\t * Контейнер для портала. Если не указан, используется хук usePortalContainer\n\t\t * для поиска PortalContainer\n\t\t */\n\t\tportalContainer?: HTMLElement;\n\t}\n>(({ className, sideOffset = 4, portalContainer, ...props }, ref) => {\n\tconst { variant: theme } = useComponentVariant();\n\n\tconst container = usePortalContainer(portalContainer);\n\n\treturn (\n\t\t<DropdownMenuPrimitive.Portal container={container}>\n\t\t\t<DropdownMenuPrimitive.Content\n\t\t\t\tref={ref}\n\t\t\t\tsideOffset={sideOffset}\n\t\t\t\tclassName={dropdownMenuContentStyles({ theme, className })}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\t</DropdownMenuPrimitive.Portal>\n\t);\n});\nDropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;\n\nconst dropdownMenuItemStyles = tv({\n\textend: menuItemStyles,\n\tbase: \"\",\n\tvariants: {\n\t\tinset: {\n\t\t\ttrue: \"!pl-8\"\n\t\t}\n\t}\n});\n\nconst DropdownMenuItem = React.forwardRef<\n\tReact.ElementRef<typeof DropdownMenuPrimitive.Item>,\n\tReact.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Item> & {\n\t\tinset?: boolean;\n\t}\n>(({ className, disabled, inset, children, ...props }, ref) => {\n\tconst { variant: theme } = useComponentVariant();\n\n\treturn (\n\t\t<DropdownMenuPrimitive.Item\n\t\t\tref={ref}\n\t\t\tdisabled={disabled}\n\t\t\tclassName={dropdownMenuItemStyles({ className, disabled, inset, theme })}\n\t\t\t{...props}\n\t\t>\n\t\t\t{children}\n\t\t</DropdownMenuPrimitive.Item>\n\t);\n});\nDropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;\n\nconst dropdownMenuCheckboxItemStyles = tv({\n\textend: menuItemStyles,\n\tbase: \"\",\n\tslots: {\n\t\tcheckbox: \"flex h-4 w-4 items-center justify-center rounded-sm border transition-colors\",\n\t\ticon: \"h-3.5 w-3.5 text-primary-bg\"\n\t},\n\tvariants: {\n\t\tchecked: {\n\t\t\tindeterminate: {\n\t\t\t\tcheckbox: \"border-primary-accent bg-primary-accent data-[disabled]:opacity-50\"\n\t\t\t},\n\t\t\ttrue: {\n\t\t\t\tcheckbox: \"border-primary-accent bg-primary-accent data-[disabled]:opacity-50\"\n\t\t\t},\n\t\t\tfalse: {\n\t\t\t\tcheckbox: \"border-primary-border bg-secondary-bg\"\n\t\t\t}\n\t\t}\n\t},\n\tcompoundVariants: [\n\t\t{\n\t\t\tchecked: [true, \"indeterminate\"],\n\t\t\ttheme: \"inverse\",\n\t\t\tclass: { checkbox: \"border-inverse-primary-fg bg-inverse-primary-fg\", icon: \"text-inverse-primary-bg\" }\n\t\t},\n\t\t{\n\t\t\tchecked: false,\n\t\t\ttheme: \"inverse\",\n\t\t\tclass: { checkbox: \"border-inverse-border bg-inverse-primary-bg\" }\n\t\t}\n\t],\n\tdefaultVariants: {\n\t\tchecked: false\n\t}\n});\n\nconst DropdownMenuCheckboxItem = React.forwardRef<\n\tReact.ElementRef<typeof DropdownMenuPrimitive.CheckboxItem>,\n\tReact.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.CheckboxItem>\n>(({ className, children, checked, disabled, ...props }, ref) => {\n\tconst { variant: theme } = useComponentVariant();\n\tconst styles = dropdownMenuCheckboxItemStyles({ checked, theme, disabled });\n\n\treturn (\n\t\t<DropdownMenuPrimitive.CheckboxItem\n\t\t\tref={ref}\n\t\t\tclassName={styles.base({ className })}\n\t\t\tchecked={checked}\n\t\t\tdisabled={disabled}\n\t\t\t{...props}\n\t\t>\n\t\t\t<span className={styles.checkbox()}>\n\t\t\t\t<DropdownMenuPrimitive.ItemIndicator>\n\t\t\t\t\t{checked === \"indeterminate\" ? (\n\t\t\t\t\t\t<Minus className={styles.icon()} />\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<Check className={styles.icon()} />\n\t\t\t\t\t)}\n\t\t\t\t</DropdownMenuPrimitive.ItemIndicator>\n\t\t\t</span>\n\t\t\t{children}\n\t\t</DropdownMenuPrimitive.CheckboxItem>\n\t);\n});\n\nDropdownMenuCheckboxItem.displayName = DropdownMenuPrimitive.CheckboxItem.displayName;\n\nconst dropdownMenuRadioItemStyles = tv({\n\textend: menuItemStyles\n});\n\nconst indicatorStyles = tv({\n\tbase: \"flex h-4 w-4 items-center justify-center\",\n\tvariants: {\n\t\tposition: {\n\t\t\tstart: \"\",\n\t\t\tend: \"order-last ml-auto\"\n\t\t}\n\t}\n});\n\nconst DropdownMenuRadioItem = React.forwardRef<\n\tReact.ElementRef<typeof DropdownMenuPrimitive.RadioItem>,\n\tReact.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.RadioItem>\n>(({ className, children, disabled, ...props }, ref) => {\n\tconst { variant: theme } = useComponentVariant();\n\tconst context = React.useContext(RadioGroupContext);\n\tconst IndicatorIcon = context?.indicatorIcon || CheckIcon;\n\tconst indicatorIconPosition = context?.indicatorIconPosition || \"start\";\n\tconst indicatorIconClassName = context?.indicatorIconClassName;\n\tconst styles = dropdownMenuRadioItemStyles({ theme, disabled, className });\n\n\tconst indicator = (\n\t\t<span className={indicatorStyles({ position: indicatorIconPosition })}>\n\t\t\t<DropdownMenuPrimitive.ItemIndicator>\n\t\t\t\t<IndicatorIcon className={cn(\"h-4 w-4\", indicatorIconClassName)} />\n\t\t\t</DropdownMenuPrimitive.ItemIndicator>\n\t\t</span>\n\t);\n\n\treturn (\n\t\t<DropdownMenuPrimitive.RadioItem ref={ref} className={styles} disabled={disabled} {...props}>\n\t\t\t{indicator}\n\t\t\t{children}\n\t\t</DropdownMenuPrimitive.RadioItem>\n\t);\n});\nDropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName;\n\nconst dropdownMenuLabelStyles = tv({\n\tbase: \"flex items-center gap-2 px-2 py-1.5 text-sm font-semibold text-primary-fg\",\n\tvariants: {\n\t\tinset: {\n\t\t\ttrue: \"pl-8\"\n\t\t},\n\t\ttheme: {\n\t\t\tinverse: \"text-inverse-primary-fg\"\n\t\t}\n\t},\n\tdefaultVariants: {\n\t\tinset: false\n\t}\n});\n\nconst DropdownMenuLabel = React.forwardRef<\n\tReact.ElementRef<typeof DropdownMenuPrimitive.Label>,\n\tReact.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Label> & {\n\t\tinset?: boolean;\n\t}\n>(({ className, inset, ...props }, ref) => {\n\tconst { variant: theme } = useComponentVariant();\n\n\treturn (\n\t\t<DropdownMenuPrimitive.Label\n\t\t\tref={ref}\n\t\t\tclassName={dropdownMenuLabelStyles({ inset, className, theme })}\n\t\t\t{...props}\n\t\t/>\n\t);\n});\nDropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;\n\nconst dropdownMenuSeparatorStyles = tv({\n\tbase: \"-mx-1 my-1 h-px bg-secondary-border\",\n\tvariants: {\n\t\ttheme: {\n\t\t\tinverse: \"bg-inverse-border\"\n\t\t}\n\t}\n});\n\nconst DropdownMenuSeparator = React.forwardRef<\n\tReact.ElementRef<typeof DropdownMenuPrimitive.Separator>,\n\tReact.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Separator>\n>(({ className, ...props }, ref) => {\n\tconst { variant: theme } = useComponentVariant();\n\n\treturn (\n\t\t<DropdownMenuPrimitive.Separator\n\t\t\tref={ref}\n\t\t\tclassName={dropdownMenuSeparatorStyles({ className, theme })}\n\t\t\t{...props}\n\t\t/>\n\t);\n});\nDropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName;\n\nconst dropdownMenuShortcutStyles = tv({\n\textend: menuItemShortcutStyles,\n\tbase: \"ml-auto text-xs tracking-widest opacity-60\"\n});\n\nconst DropdownMenuShortcut = ({ className, ...props }: React.HTMLAttributes<HTMLSpanElement>) => {\n\tconst { variant: theme } = useComponentVariant();\n\n\treturn <span className={dropdownMenuShortcutStyles({ className, theme })} {...props} />;\n};\nDropdownMenuShortcut.displayName = \"DropdownMenuShortcut\";\n\n/**\n * Компонент-обертка для использования TriggerButton в качестве триггера дропдауна\n */\n\nconst DropdownMenuTriggerButton = React.forwardRef<\n\tReact.ElementRef<typeof DropdownMenuTrigger>,\n\tReact.ComponentPropsWithoutRef<typeof DropdownMenuTrigger> & Omit<TriggerButtonProps, \"dataState\">\n>(({ children, ...props }, ref) => {\n\treturn (\n\t\t<DropdownMenuTrigger asChild ref={ref}>\n\t\t\t<TriggerButton {...props}>{children}</TriggerButton>\n\t\t</DropdownMenuTrigger>\n\t);\n});\nDropdownMenuTriggerButton.displayName = \"DropdownMenuTriggerButton\";\n\nexport {\n\tDropdownMenu,\n\tDropdownMenuCheckboxItem,\n\tDropdownMenuContent,\n\tDropdownMenuGroup,\n\tDropdownMenuItem,\n\tDropdownMenuLabel,\n\tDropdownMenuPortal,\n\tDropdownMenuPrimitiveRadioGroup,\n\tDropdownMenuRadioGroup,\n\tDropdownMenuRadioItem,\n\tDropdownMenuSeparator,\n\tDropdownMenuShortcut,\n\tDropdownMenuSub,\n\tDropdownMenuSubContent,\n\tDropdownMenuSubTrigger,\n\tDropdownMenuTrigger,\n\tDropdownMenuTriggerButton\n};\n","import * as React from \"react\";\n\n/**\n * Опции для хука useHoverDropdown\n */\nexport interface UseHoverDropdownOptions {\n\t/**\n\t * Задержка перед открытием меню (мс)\n\t * @default 200\n\t */\n\topenDelay?: number;\n\t/**\n\t * Задержка перед закрытием меню (мс)\n\t * @default 300\n\t */\n\tcloseDelay?: number;\n}\n\n/**\n * Возвращаемое значение хука useHoverDropdown\n */\nexport interface UseHoverDropdownReturn {\n\t/**\n\t * Props для корневого компонента DropdownMenu\n\t */\n\trootProps: {\n\t\topen: boolean;\n\t\tonOpenChange: (open: boolean) => void;\n\t\tmodal: false;\n\t};\n\t/**\n\t * Props для триггера (DropdownMenuTrigger или DropdownMenuTriggerButton)\n\t */\n\ttriggerProps: {\n\t\tonMouseEnter: () => void;\n\t\tonMouseLeave: () => void;\n\t\tonPointerDown: (e: React.PointerEvent) => void;\n\t};\n\t/**\n\t * Props для контента (DropdownMenuContent)\n\t */\n\tcontentProps: {\n\t\tonMouseEnter: () => void;\n\t\tonMouseLeave: () => void;\n\t\tonCloseAutoFocus: (e: Event) => void;\n\t};\n}\n\n/**\n * Хук для управления открытием DropdownMenu по hover.\n *\n * @example\n * ```tsx\n * const { rootProps, triggerProps, contentProps } = useHoverDropdown({\n * openDelay: 200,\n * closeDelay: 300\n * });\n *\n * return (\n * <DropdownMenu {...rootProps}>\n * <DropdownMenuTriggerButton {...triggerProps}>\n * Trigger\n * </DropdownMenuTriggerButton>\n * <DropdownMenuContent {...contentProps}>\n * ...\n * </DropdownMenuContent>\n * </DropdownMenu>\n * );\n * ```\n */\nexport function useHoverDropdown(options: UseHoverDropdownOptions = {}): UseHoverDropdownReturn {\n\tconst { openDelay = 200, closeDelay = 300 } = options;\n\n\tconst [open, setOpen] = React.useState(false);\n\tconst openTimeoutRef = React.useRef<ReturnType<typeof setTimeout> | null>(null);\n\tconst closeTimeoutRef = React.useRef<ReturnType<typeof setTimeout> | null>(null);\n\n\tconst clearTimeouts = React.useCallback(() => {\n\t\tif (openTimeoutRef.current) {\n\t\t\tclearTimeout(openTimeoutRef.current);\n\t\t\topenTimeoutRef.current = null;\n\t\t}\n\t\tif (closeTimeoutRef.current) {\n\t\t\tclearTimeout(closeTimeoutRef.current);\n\t\t\tcloseTimeoutRef.current = null;\n\t\t}\n\t}, []);\n\n\t// Очистка таймеров при размонтировании\n\tReact.useEffect(() => {\n\t\treturn () => {\n\t\t\tclearTimeouts();\n\t\t};\n\t}, [clearTimeouts]);\n\n\tconst handleMouseEnter = React.useCallback(() => {\n\t\tclearTimeouts();\n\t\topenTimeoutRef.current = setTimeout(() => {\n\t\t\tsetOpen(true);\n\t\t}, openDelay);\n\t}, [openDelay, clearTimeouts]);\n\n\tconst handleMouseLeave = React.useCallback(() => {\n\t\tclearTimeouts();\n\t\tcloseTimeoutRef.current = setTimeout(() => {\n\t\t\tsetOpen(false);\n\t\t}, closeDelay);\n\t}, [closeDelay, clearTimeouts]);\n\n\tconst handlePointerDown = React.useCallback((e: React.PointerEvent) => {\n\t\t// Блокируем клик, чтобы меню управлялось только через hover\n\t\te.preventDefault();\n\t\te.stopPropagation();\n\t}, []);\n\n\tconst handleCloseAutoFocus = React.useCallback((e: Event) => {\n\t\t// Предотвращаем возврат фокуса на триггер при закрытии\n\t\te.preventDefault();\n\t}, []);\n\n\tconst handleOpenChange = React.useCallback((newOpen: boolean) => {\n\t\t// Позволяем программное управление состоянием\n\t\tsetOpen(newOpen);\n\t}, []);\n\n\treturn {\n\t\trootProps: {\n\t\t\topen,\n\t\t\tonOpenChange: handleOpenChange,\n\t\t\tmodal: false\n\t\t},\n\t\ttriggerProps: {\n\t\t\tonMouseEnter: handleMouseEnter,\n\t\t\tonMouseLeave: handleMouseLeave,\n\t\t\tonPointerDown: handlePointerDown\n\t\t},\n\t\tcontentProps: {\n\t\t\tonMouseEnter: handleMouseEnter,\n\t\t\tonMouseLeave: handleMouseLeave,\n\t\t\tonCloseAutoFocus: handleCloseAutoFocus\n\t\t}\n\t};\n}\n"],"names":["SELECTION_KEYS","FIRST_KEYS","LAST_KEYS","FIRST_LAST_KEYS","SUB_OPEN_KEYS","SUB_CLOSE_KEYS","MENU_NAME","Collection","useCollection","createCollectionScope","createCollection","createMenuContext","createMenuScope","createContextScope","createPopperScope","createRovingFocusGroupScope","usePopperScope","useRovingFocusGroupScope","MenuProvider","useMenuContext","MenuRootProvider","useMenuRootContext","Menu","props","__scopeMenu","open","children","dir","onOpenChange","modal","popperScope","content","setContent","React","isUsingKeyboardRef","handleOpenChange","useCallbackRef","direction","useDirection","handleKeyDown","handlePointer","jsx","PopperPrimitive.Root","ANCHOR_NAME","MenuAnchor","forwardedRef","anchorProps","PopperPrimitive.Anchor","PORTAL_NAME","PortalProvider","usePortalContext","MenuPortal","forceMount","container","context","Presence","PortalPrimitive","CONTENT_NAME","MenuContentProvider","useMenuContentContext","MenuContent","portalContext","contentProps","rootContext","MenuRootContentModal","MenuRootContentNonModal","ref","composedRefs","useComposedRefs","hideOthers","MenuContentImpl","composeEventHandlers","event","Slot","createSlot","loop","trapFocus","onOpenAutoFocus","onCloseAutoFocus","disableOutsidePointerEvents","onEntryFocus","onEscapeKeyDown","onPointerDownOutside","onFocusOutside","onInteractOutside","onDismiss","disableOutsideScroll","rovingFocusGroupScope","getItems","currentItemId","setCurrentItemId","contentRef","timerRef","searchRef","pointerGraceTimerRef","pointerGraceIntentRef","pointerDirRef","lastPointerXRef","ScrollLockWrapper","RemoveScroll","scrollLockWrapperProps","handleTypeaheadSearch","key","search","items","item","currentItem","currentMatch","values","nextMatch","getNextMatch","newItem","updateSearch","value","useFocusGuards","isPointerMovingToSubmenu","isPointerInGraceArea","intent","FocusScope","DismissableLayer","RovingFocusGroup.Root","PopperPrimitive.Content","getOpenState","isKeyDownInside","isModifierKey","isCharacterKey","candidateNodes","focusFirst","whenMouse","target","pointerXHasChanged","newDir","GROUP_NAME","MenuGroup","groupProps","Primitive","LABEL_NAME","MenuLabel","labelProps","ITEM_NAME","ITEM_SELECT","MenuItem","disabled","onSelect","itemProps","contentContext","isPointerDownRef","handleSelect","menuItem","itemSelectEvent","dispatchDiscreteCustomEvent","MenuItemImpl","isTypingAhead","textValue","isFocused","setIsFocused","textContent","setTextContent","RovingFocusGroup.Item","CHECKBOX_ITEM_NAME","MenuCheckboxItem","checked","onCheckedChange","checkboxItemProps","ItemIndicatorProvider","isIndeterminate","getCheckedState","RADIO_GROUP_NAME","RadioGroupProvider","useRadioGroupContext","MenuRadioGroup","onValueChange","handleValueChange","RADIO_ITEM_NAME","MenuRadioItem","radioItemProps","ITEM_INDICATOR_NAME","useItemIndicatorContext","MenuItemIndicator","itemIndicatorProps","indicatorContext","SEPARATOR_NAME","MenuSeparator","separatorProps","ARROW_NAME","MenuArrow","arrowProps","PopperPrimitive.Arrow","SUB_NAME","MenuSubProvider","useMenuSubContext","MenuSub","parentMenuContext","trigger","setTrigger","useId","SUB_TRIGGER_NAME","MenuSubTrigger","subContext","openTimerRef","onPointerGraceIntentChange","scope","clearOpenTimer","pointerGraceTimer","composeRefs","contentRect","side","rightSide","bleed","contentNearEdge","contentFarEdge","SUB_CONTENT_NAME","MenuSubContent","subContentProps","isCloseKey","candidates","PREVIOUSLY_FOCUSED_ELEMENT","candidate","wrapArray","array","startIndex","_","index","normalizedSearch","char","currentMatchIndex","wrappedValues","v","isPointInPolygon","point","polygon","x","y","inside","i","j","ii","jj","xi","yi","xj","yj","area","cursorPos","handler","Root3","Anchor2","Portal","Content2","Group","Label","Item2","CheckboxItem","RadioGroup","RadioItem","ItemIndicator","Separator","Arrow2","Sub","SubTrigger","SubContent","DROPDOWN_MENU_NAME","createDropdownMenuContext","createDropdownMenuScope","useMenuScope","DropdownMenuProvider","useDropdownMenuContext","DropdownMenu","__scopeDropdownMenu","openProp","defaultOpen","menuScope","triggerRef","setOpen","useControllableState","prevOpen","MenuPrimitive.Root","TRIGGER_NAME","DropdownMenuTrigger","triggerProps","MenuPrimitive.Anchor","DropdownMenuPortal","portalProps","MenuPrimitive.Portal","DropdownMenuContent","hasInteractedOutsideRef","MenuPrimitive.Content","originalEvent","ctrlLeftClick","isRightClick","DropdownMenuGroup","MenuPrimitive.Group","DropdownMenuLabel","MenuPrimitive.Label","DropdownMenuItem","MenuPrimitive.Item","DropdownMenuCheckboxItem","MenuPrimitive.CheckboxItem","DropdownMenuRadioGroup","radioGroupProps","MenuPrimitive.RadioGroup","DropdownMenuRadioItem","MenuPrimitive.RadioItem","INDICATOR_NAME","DropdownMenuItemIndicator","MenuPrimitive.ItemIndicator","DropdownMenuSeparator","MenuPrimitive.Separator","DropdownMenuArrow","MenuPrimitive.Arrow","DropdownMenuSub","MenuPrimitive.Sub","DropdownMenuSubTrigger","subTriggerProps","MenuPrimitive.SubTrigger","DropdownMenuSubContent","MenuPrimitive.SubContent","Root2","Trigger","Portal2","Group2","Label2","CheckboxItem2","RadioGroup2","RadioItem2","ItemIndicator2","Separator2","Sub2","SubTrigger2","SubContent2","DropdownMenuPrimitive.Root","DropdownMenuPrimitive.Trigger","DropdownMenuPrimitive.Group","DropdownMenuPrimitive.Portal","DropdownMenuPrimitive.Sub","DropdownMenuPrimitiveRadioGroup","DropdownMenuPrimitive.RadioGroup","RadioGroupContext","indicatorIcon","indicatorIconClassName","indicatorIconPosition","documentMenuSubTriggerStyles","tv","menuItemStyles","className","inset","theme","useComponentVariant","styles","jsxs","DropdownMenuPrimitive.SubTrigger","ChevronRight","documentMenuSubContentStyles","DropdownMenuPrimitive.SubContent","dropdownMenuContentStyles","sideOffset","portalContainer","usePortalContainer","DropdownMenuPrimitive.Content","dropdownMenuItemStyles","DropdownMenuPrimitive.Item","dropdownMenuCheckboxItemStyles","DropdownMenuPrimitive.CheckboxItem","DropdownMenuPrimitive.ItemIndicator","Minus","Check","dropdownMenuRadioItemStyles","indicatorStyles","IndicatorIcon","CheckIcon","indicator","cn","DropdownMenuPrimitive.RadioItem","dropdownMenuLabelStyles","DropdownMenuPrimitive.Label","dropdownMenuSeparatorStyles","DropdownMenuPrimitive.Separator","dropdownMenuShortcutStyles","menuItemShortcutStyles","DropdownMenuShortcut","DropdownMenuTriggerButton","TriggerButton","useHoverDropdown","options","openDelay","closeDelay","openTimeoutRef","closeTimeoutRef","clearTimeouts","handleMouseEnter","handleMouseLeave","handlePointerDown","e","handleCloseAutoFocus","newOpen"],"mappings":"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","x_google_ignoreList":[0,1]}
@@ -1 +1 @@
1
- {"version":3,"file":"error-state.js","sources":["../../src/components/error-state/Retry.tsx"],"sourcesContent":["import React from \"react\";\r\nimport { tv } from \"tailwind-variants\";\r\nimport { Button, ButtonProps } from \"../button/button/Button\";\r\n\r\nconst retryStyles = tv({\r\n\tbase: \"h-5 px-3 py-0\"\r\n});\r\n\r\nexport type RetryProps = Omit<ButtonProps, \"size\">;\r\n\r\n/**\r\n * Компонент Retry - кнопка для повторного выполнения действия\r\n *\r\n * @example\r\n * <Retry onClick={handleRetry}>Повторить</Retry>\r\n */\r\nexport const Retry = React.forwardRef<HTMLButtonElement, RetryProps>(\r\n\t({ className, children = \"Повторить\", ...props }, ref) => {\r\n\t\treturn (\r\n\t\t\t<Button ref={ref} variant=\"link\" className={retryStyles({ className })} {...props}>\r\n\t\t\t\t{children}\r\n\t\t\t</Button>\r\n\t\t);\r\n\t}\r\n);\r\n\r\nRetry.displayName = \"Retry\";\r\n"],"names":["retryStyles","tv","Retry","React","className","children","props","ref","jsx","Button"],"mappings":";;;;;AAIA,MAAMA,IAAcC,EAAG;AAAA,EACtB,MAAM;AACP,CAAC,GAUYC,IAAQC,EAAM;AAAA,EAC1B,CAAC,EAAE,WAAAC,GAAW,UAAAC,IAAW,aAAa,GAAGC,KAASC,MAE/C,gBAAAC,EAAAC,GAAA,EAAO,KAAAF,GAAU,SAAQ,QAAO,WAAWP,EAAY,EAAE,WAAAI,EAAW,CAAA,GAAI,GAAGE,GAC1E,UAAAD,EACF,CAAA;AAGH;AAEAH,EAAM,cAAc;"}
1
+ {"version":3,"file":"error-state.js","sources":["../../src/components/error-state/Retry.tsx"],"sourcesContent":["import React from \"react\";\nimport { tv } from \"tailwind-variants\";\nimport { Button, ButtonProps } from \"../button/button/Button\";\n\nconst retryStyles = tv({\n\tbase: \"h-5 px-3 py-0\"\n});\n\nexport type RetryProps = Omit<ButtonProps, \"size\">;\n\n/**\n * Компонент Retry - кнопка для повторного выполнения действия\n *\n * @example\n * <Retry onClick={handleRetry}>Повторить</Retry>\n */\nexport const Retry = React.forwardRef<HTMLButtonElement, RetryProps>(\n\t({ className, children = \"Повторить\", ...props }, ref) => {\n\t\treturn (\n\t\t\t<Button ref={ref} variant=\"link\" className={retryStyles({ className })} {...props}>\n\t\t\t\t{children}\n\t\t\t</Button>\n\t\t);\n\t}\n);\n\nRetry.displayName = \"Retry\";\n"],"names":["retryStyles","tv","Retry","React","className","children","props","ref","jsx","Button"],"mappings":";;;;;AAIA,MAAMA,IAAcC,EAAG;AAAA,EACtB,MAAM;AACP,CAAC,GAUYC,IAAQC,EAAM;AAAA,EAC1B,CAAC,EAAE,WAAAC,GAAW,UAAAC,IAAW,aAAa,GAAGC,KAASC,MAE/C,gBAAAC,EAAAC,GAAA,EAAO,KAAAF,GAAU,SAAQ,QAAO,WAAWP,EAAY,EAAE,WAAAI,EAAW,CAAA,GAAI,GAAGE,GAC1E,UAAAD,EACF,CAAA;AAGH;AAEAH,EAAM,cAAc;"}
@@ -1,4 +1,4 @@
1
- import { F as r } from "../Field-CdocNMjg.js";
1
+ import { F as r } from "../Field-DpbrZvvg.js";
2
2
  export {
3
3
  r as Field
4
4
  };