ivt 0.3.3 → 0.3.4
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.
- package/dist/accordion/index.mjs +19 -1
- package/dist/accordion/index.mjs.map +1 -1
- package/dist/alert/index.mjs +43 -1
- package/dist/alert/index.mjs.map +1 -1
- package/dist/alert-dialog/index.mjs +260 -1
- package/dist/alert-dialog/index.mjs.map +1 -1
- package/dist/avatar/index.mjs +164 -1
- package/dist/avatar/index.mjs.map +1 -1
- package/dist/badge/index.mjs +6 -1
- package/dist/badge/index.mjs.map +1 -1
- package/dist/base/index.mjs +760 -1
- package/dist/base/index.mjs.map +1 -1
- package/dist/button/index.mjs +6 -1
- package/dist/button/index.mjs.map +1 -1
- package/dist/calendar/index.mjs +11 -1
- package/dist/calendar/index.mjs.map +1 -1
- package/dist/card/index.mjs +55 -1
- package/dist/card/index.mjs.map +1 -1
- package/dist/chart/index.mjs +17042 -1
- package/dist/chart/index.mjs.map +1 -1
- package/dist/checkbox/index.mjs +223 -1
- package/dist/checkbox/index.mjs.map +1 -1
- package/dist/chunks/_commonjsHelpers-DqEvkrE1.mjs +6 -0
- package/dist/chunks/_commonjsHelpers-DqEvkrE1.mjs.map +1 -0
- package/dist/chunks/accordion-BMP2PSSC.mjs +455 -0
- package/dist/chunks/{accordion-CdshDFZC.mjs.map → accordion-BMP2PSSC.mjs.map} +1 -1
- package/dist/chunks/badge-DxuZhgBF.mjs +57 -0
- package/dist/chunks/{badge-BYqshEmA.mjs.map → badge-DxuZhgBF.mjs.map} +1 -1
- package/dist/chunks/bundle-mjs-tFg__FnT.mjs +4491 -0
- package/dist/chunks/{bundle-mjs-9BXytT_r.mjs.map → bundle-mjs-tFg__FnT.mjs.map} +1 -1
- package/dist/chunks/button-CX0htulo.mjs +47 -0
- package/dist/chunks/{button-DrFZXJ7z.mjs.map → button-CX0htulo.mjs.map} +1 -1
- package/dist/chunks/calendar-B4IV5RyM.mjs +7106 -0
- package/dist/chunks/calendar-B4IV5RyM.mjs.map +1 -0
- package/dist/chunks/check-B7209s3e.mjs +15 -0
- package/dist/chunks/{check-CimnOyD7.mjs.map → check-B7209s3e.mjs.map} +1 -1
- package/dist/chunks/chevron-down-D84DRJBv.mjs +15 -0
- package/dist/chunks/{chevron-down-D3fvbjxE.mjs.map → chevron-down-D84DRJBv.mjs.map} +1 -1
- package/dist/chunks/chevron-left-DtL1t1DJ.mjs +15 -0
- package/dist/chunks/{chevron-left-CrN7DlXg.mjs.map → chevron-left-DtL1t1DJ.mjs.map} +1 -1
- package/dist/chunks/chevron-right-Cdxg1JSQ.mjs +15 -0
- package/dist/chunks/{chevron-right-BMSCuDGK.mjs.map → chevron-right-Cdxg1JSQ.mjs.map} +1 -1
- package/dist/chunks/chevrons-up-down-DtBUG1i8.mjs +22 -0
- package/dist/chunks/{chevrons-up-down-DBgvRkZm.mjs.map → chevrons-up-down-DtBUG1i8.mjs.map} +1 -1
- package/dist/chunks/circle-BLWMZ9yp.mjs +17 -0
- package/dist/chunks/{circle-CGqt18Bd.mjs.map → circle-BLWMZ9yp.mjs.map} +1 -1
- package/dist/chunks/command-C8cVzg-x.mjs +611 -0
- package/dist/chunks/command-C8cVzg-x.mjs.map +1 -0
- package/dist/chunks/createLucideIcon-Ba0IWqsz.mjs +60 -0
- package/dist/chunks/{createLucideIcon-L-tld2uc.mjs.map → createLucideIcon-Ba0IWqsz.mjs.map} +1 -1
- package/dist/chunks/dialog-D9vbxUuQ.mjs +80 -0
- package/dist/chunks/{dialog-36eqHzT3.mjs.map → dialog-D9vbxUuQ.mjs.map} +1 -1
- package/dist/chunks/hover-card-idvDPXrI.mjs +274 -0
- package/dist/chunks/{hover-card-Cnd58du6.mjs.map → hover-card-idvDPXrI.mjs.map} +1 -1
- package/dist/chunks/index-6JUj2Tld.mjs +18 -0
- package/dist/chunks/{index-CRxQlsb9.mjs.map → index-6JUj2Tld.mjs.map} +1 -1
- package/dist/chunks/index-B0IElWB4.mjs +51 -0
- package/dist/chunks/{index-vmPXTidH.mjs.map → index-B0IElWB4.mjs.map} +1 -1
- package/dist/chunks/index-B4VRyyD1.mjs +40 -0
- package/dist/chunks/index-B4VRyyD1.mjs.map +1 -0
- package/dist/chunks/index-BE-_q4IW.mjs +266 -0
- package/dist/chunks/index-BE-_q4IW.mjs.map +1 -0
- package/dist/chunks/index-BNxaLFA6.mjs +216 -0
- package/dist/chunks/{index-LvOFIVGz.mjs.map → index-BNxaLFA6.mjs.map} +1 -1
- package/dist/chunks/index-BZUrHhU8.mjs +7 -0
- package/dist/chunks/{index-CLtWFQL5.mjs.map → index-BZUrHhU8.mjs.map} +1 -1
- package/dist/chunks/index-B_FsTtnF.mjs +110 -0
- package/dist/chunks/{index-CCcl327A.mjs.map → index-B_FsTtnF.mjs.map} +1 -1
- package/dist/chunks/index-CAg47KJ6.mjs +13 -0
- package/dist/chunks/{index-CXszXOf_.mjs.map → index-CAg47KJ6.mjs.map} +1 -1
- package/dist/chunks/index-CXuEm8w1.mjs +12 -0
- package/dist/chunks/{index-CU_y1XAz.mjs.map → index-CXuEm8w1.mjs.map} +1 -1
- package/dist/chunks/index-C_jFwfR_.mjs +77 -0
- package/dist/chunks/{index-CybgQKpz.mjs.map → index-C_jFwfR_.mjs.map} +1 -1
- package/dist/chunks/index-CglX-DNW.mjs +21 -0
- package/dist/chunks/index-CglX-DNW.mjs.map +1 -0
- package/dist/chunks/index-CyMuypYR.mjs +324 -0
- package/dist/chunks/{index-DUNcuWJE.mjs.map → index-CyMuypYR.mjs.map} +1 -1
- package/dist/chunks/index-D0S6rRRE.mjs +50 -0
- package/dist/chunks/{index-w9bxia3O.mjs.map → index-D0S6rRRE.mjs.map} +1 -1
- package/dist/chunks/index-D23BhVQG.mjs +859 -0
- package/dist/chunks/{index-DZHMFdr0.mjs.map → index-D23BhVQG.mjs.map} +1 -1
- package/dist/chunks/index-D2wfJaZh.mjs +145 -0
- package/dist/chunks/index-D2wfJaZh.mjs.map +1 -0
- package/dist/chunks/index-DNvm9MP3.mjs +34 -0
- package/dist/chunks/{index-D2sZp5OP.mjs.map → index-DNvm9MP3.mjs.map} +1 -1
- package/dist/chunks/index-Dm4_czlz.mjs +12 -0
- package/dist/chunks/index-Dm4_czlz.mjs.map +1 -0
- package/dist/chunks/index-PaJVyocC.mjs +151 -0
- package/dist/chunks/index-PaJVyocC.mjs.map +1 -0
- package/dist/chunks/index-kr6_v_F8.mjs +2370 -0
- package/dist/chunks/index-kr6_v_F8.mjs.map +1 -0
- package/dist/chunks/index-sz_BcBbA.mjs +1210 -0
- package/dist/chunks/index-sz_BcBbA.mjs.map +1 -0
- package/dist/chunks/input-DK1slFF1.mjs +14 -0
- package/dist/chunks/{input-85UFztMJ.mjs.map → input-DK1slFF1.mjs.map} +1 -1
- package/dist/chunks/label-D7ONQdHc.mjs +32 -0
- package/dist/chunks/{label-CICFzZIt.mjs.map → label-D7ONQdHc.mjs.map} +1 -1
- package/dist/chunks/pagination-BM_IQ6Qk.mjs +106 -0
- package/dist/chunks/{pagination-CReDQes6.mjs.map → pagination-BM_IQ6Qk.mjs.map} +1 -1
- package/dist/chunks/popover-D3F326FR.mjs +308 -0
- package/dist/chunks/{popover-Cn2ZTvKd.mjs.map → popover-D3F326FR.mjs.map} +1 -1
- package/dist/chunks/progress-BCl5yD5Q.mjs +99 -0
- package/dist/chunks/{progress-CSxQH6-f.mjs.map → progress-BCl5yD5Q.mjs.map} +1 -1
- package/dist/chunks/scroll-area-DB3eUx8V.mjs +791 -0
- package/dist/chunks/scroll-area-DB3eUx8V.mjs.map +1 -0
- package/dist/chunks/select-Cw81y8pT.mjs +104 -0
- package/dist/chunks/{select-BR6_N_Yo.mjs.map → select-Cw81y8pT.mjs.map} +1 -1
- package/dist/chunks/separator-2k1C7RSn.mjs +48 -0
- package/dist/chunks/{separator-BB6-E9Z1.mjs.map → separator-2k1C7RSn.mjs.map} +1 -1
- package/dist/chunks/skeleton-qx8-vr62.mjs +13 -0
- package/dist/chunks/{skeleton-XPWWiaac.mjs.map → skeleton-qx8-vr62.mjs.map} +1 -1
- package/dist/chunks/sortable-D8ayoe_b.mjs +4221 -0
- package/dist/chunks/sortable-D8ayoe_b.mjs.map +1 -0
- package/dist/chunks/table-BDNUhtz-.mjs +62 -0
- package/dist/chunks/{table-LQIHzPHi.mjs.map → table-BDNUhtz-.mjs.map} +1 -1
- package/dist/chunks/toggle-CE2ycSdL.mjs +65 -0
- package/dist/chunks/{toggle-Co72WXGd.mjs.map → toggle-CE2ycSdL.mjs.map} +1 -1
- package/dist/chunks/tooltip-DLD0ycR4.mjs +596 -0
- package/dist/chunks/{tooltip-qX2HjdJP.mjs.map → tooltip-DLD0ycR4.mjs.map} +1 -1
- package/dist/chunks/tslib.es6-BgHLrbno.mjs +61 -0
- package/dist/chunks/{tslib.es6-cMGqxriw.mjs.map → tslib.es6-BgHLrbno.mjs.map} +1 -1
- package/dist/chunks/utils-BUelq9Ro.mjs +42 -0
- package/dist/chunks/utils-BUelq9Ro.mjs.map +1 -0
- package/dist/chunks/x-Bjz0Vo6R.mjs +22 -0
- package/dist/chunks/{x-BNLl0E-E.mjs.map → x-Bjz0Vo6R.mjs.map} +1 -1
- package/dist/combobox/index.mjs +65 -1
- package/dist/combobox/index.mjs.map +1 -1
- package/dist/command/index.mjs +23 -1
- package/dist/command/index.mjs.map +1 -1
- package/dist/data-table/index.mjs +673 -1
- package/dist/data-table/index.mjs.map +1 -1
- package/dist/dialog/index.mjs +22 -1
- package/dist/dialog/index.mjs.map +1 -1
- package/dist/dropdown-menu/index.mjs +438 -1
- package/dist/dropdown-menu/index.mjs.map +1 -1
- package/dist/dropzone/index.mjs +7839 -1
- package/dist/dropzone/index.mjs.map +1 -1
- package/dist/form/index.mjs +649 -1
- package/dist/form/index.mjs.map +1 -1
- package/dist/hover-card/index.mjs +18 -1
- package/dist/hover-card/index.mjs.map +1 -1
- package/dist/icon/index.mjs +317 -1
- package/dist/icon/index.mjs.map +1 -1
- package/dist/index.css +1 -1
- package/dist/input/index.mjs +4 -1
- package/dist/input/index.mjs.map +1 -1
- package/dist/ivt.css +1 -1
- package/dist/label/index.mjs +8 -1
- package/dist/label/index.mjs.map +1 -1
- package/dist/menubar/index.mjs +583 -1
- package/dist/menubar/index.mjs.map +1 -1
- package/dist/multi-select/index.mjs +297 -1
- package/dist/multi-select/index.mjs.map +1 -1
- package/dist/pagination/index.mjs +10 -1
- package/dist/pagination/index.mjs.map +1 -1
- package/dist/popover/index.mjs +21 -1
- package/dist/popover/index.mjs.map +1 -1
- package/dist/progress/index.mjs +9 -1
- package/dist/progress/index.mjs.map +1 -1
- package/dist/radio-group/index.mjs +267 -1
- package/dist/radio-group/index.mjs.map +1 -1
- package/dist/scroll-area/index.mjs +15 -1
- package/dist/scroll-area/index.mjs.map +1 -1
- package/dist/select/index.mjs +8 -1
- package/dist/select/index.mjs.map +1 -1
- package/dist/separator/index.mjs +8 -1
- package/dist/separator/index.mjs.map +1 -1
- package/dist/sheet/index.mjs +96 -1
- package/dist/sheet/index.mjs.map +1 -1
- package/dist/skeleton/index.mjs +4 -1
- package/dist/skeleton/index.mjs.map +1 -1
- package/dist/sonner/index.mjs +1140 -1
- package/dist/sonner/index.mjs.map +1 -1
- package/dist/sortable/index.mjs +8 -1
- package/dist/sortable/index.mjs.map +1 -1
- package/dist/table/index.mjs +4 -1
- package/dist/table/index.mjs.map +1 -1
- package/dist/tabs/index.mjs +193 -1
- package/dist/tabs/index.mjs.map +1 -1
- package/dist/textarea/index.mjs +13 -1
- package/dist/textarea/index.mjs.map +1 -1
- package/dist/toast/index.mjs +705 -1
- package/dist/toast/index.mjs.map +1 -1
- package/dist/toggle/index.mjs +12 -1
- package/dist/toggle/index.mjs.map +1 -1
- package/dist/toggle-group/index.mjs +219 -1
- package/dist/toggle-group/index.mjs.map +1 -1
- package/dist/tooltip/index.mjs +20 -1
- package/dist/tooltip/index.mjs.map +1 -1
- package/package.json +2 -2
- package/dist/chunks/_commonjsHelpers-6qLFzZa5.mjs +0 -2
- package/dist/chunks/_commonjsHelpers-6qLFzZa5.mjs.map +0 -1
- package/dist/chunks/accordion-CdshDFZC.mjs +0 -2
- package/dist/chunks/badge-BYqshEmA.mjs +0 -2
- package/dist/chunks/bundle-mjs-9BXytT_r.mjs +0 -2
- package/dist/chunks/button-DrFZXJ7z.mjs +0 -2
- package/dist/chunks/calendar-BY6t8wdJ.mjs +0 -2
- package/dist/chunks/calendar-BY6t8wdJ.mjs.map +0 -1
- package/dist/chunks/check-CimnOyD7.mjs +0 -2
- package/dist/chunks/chevron-down-D3fvbjxE.mjs +0 -2
- package/dist/chunks/chevron-left-CrN7DlXg.mjs +0 -2
- package/dist/chunks/chevron-right-BMSCuDGK.mjs +0 -2
- package/dist/chunks/chevrons-up-down-DBgvRkZm.mjs +0 -2
- package/dist/chunks/circle-CGqt18Bd.mjs +0 -2
- package/dist/chunks/command-C6ON-ciq.mjs +0 -2
- package/dist/chunks/command-C6ON-ciq.mjs.map +0 -1
- package/dist/chunks/createLucideIcon-L-tld2uc.mjs +0 -2
- package/dist/chunks/dialog-36eqHzT3.mjs +0 -2
- package/dist/chunks/hover-card-Cnd58du6.mjs +0 -2
- package/dist/chunks/index-B4QsDzeM.mjs +0 -2
- package/dist/chunks/index-B4QsDzeM.mjs.map +0 -1
- package/dist/chunks/index-BdpYc58_.mjs +0 -2
- package/dist/chunks/index-BdpYc58_.mjs.map +0 -1
- package/dist/chunks/index-CCcl327A.mjs +0 -2
- package/dist/chunks/index-CLtWFQL5.mjs +0 -2
- package/dist/chunks/index-COvW87ew.mjs +0 -2
- package/dist/chunks/index-COvW87ew.mjs.map +0 -1
- package/dist/chunks/index-CRxQlsb9.mjs +0 -2
- package/dist/chunks/index-CU_y1XAz.mjs +0 -2
- package/dist/chunks/index-CXszXOf_.mjs +0 -2
- package/dist/chunks/index-CdJCOoFA.mjs +0 -2
- package/dist/chunks/index-CdJCOoFA.mjs.map +0 -1
- package/dist/chunks/index-Cpq7N5Ej.mjs +0 -2
- package/dist/chunks/index-Cpq7N5Ej.mjs.map +0 -1
- package/dist/chunks/index-CybgQKpz.mjs +0 -2
- package/dist/chunks/index-D2sZp5OP.mjs +0 -2
- package/dist/chunks/index-DOyt-JEx.mjs +0 -2
- package/dist/chunks/index-DOyt-JEx.mjs.map +0 -1
- package/dist/chunks/index-DUNcuWJE.mjs +0 -2
- package/dist/chunks/index-DZHMFdr0.mjs +0 -2
- package/dist/chunks/index-LvOFIVGz.mjs +0 -2
- package/dist/chunks/index-lvPXnk5F.mjs +0 -2
- package/dist/chunks/index-lvPXnk5F.mjs.map +0 -1
- package/dist/chunks/index-vmPXTidH.mjs +0 -2
- package/dist/chunks/index-w9bxia3O.mjs +0 -2
- package/dist/chunks/index-xew3kygQ.mjs +0 -2
- package/dist/chunks/index-xew3kygQ.mjs.map +0 -1
- package/dist/chunks/input-85UFztMJ.mjs +0 -2
- package/dist/chunks/label-CICFzZIt.mjs +0 -2
- package/dist/chunks/pagination-CReDQes6.mjs +0 -2
- package/dist/chunks/popover-Cn2ZTvKd.mjs +0 -2
- package/dist/chunks/progress-CSxQH6-f.mjs +0 -2
- package/dist/chunks/scroll-area-CvCz7cL_.mjs +0 -2
- package/dist/chunks/scroll-area-CvCz7cL_.mjs.map +0 -1
- package/dist/chunks/select-BR6_N_Yo.mjs +0 -2
- package/dist/chunks/separator-BB6-E9Z1.mjs +0 -2
- package/dist/chunks/skeleton-XPWWiaac.mjs +0 -2
- package/dist/chunks/sortable-CqPFGn8Q.mjs +0 -2
- package/dist/chunks/sortable-CqPFGn8Q.mjs.map +0 -1
- package/dist/chunks/table-LQIHzPHi.mjs +0 -2
- package/dist/chunks/toggle-Co72WXGd.mjs +0 -2
- package/dist/chunks/tooltip-qX2HjdJP.mjs +0 -2
- package/dist/chunks/tslib.es6-cMGqxriw.mjs +0 -2
- package/dist/chunks/utils-BctauAA9.mjs +0 -2
- package/dist/chunks/utils-BctauAA9.mjs.map +0 -1
- package/dist/chunks/x-BNLl0E-E.mjs +0 -2
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index-DZHMFdr0.mjs","sources":["../../node_modules/@radix-ui/react-menu/dist/index.mjs"],"sourcesContent":["\"use client\";\n\n// src/menu.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { createCollection } from \"@radix-ui/react-collection\";\nimport { useComposedRefs, composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { DismissableLayer } from \"@radix-ui/react-dismissable-layer\";\nimport { useFocusGuards } from \"@radix-ui/react-focus-guards\";\nimport { FocusScope } from \"@radix-ui/react-focus-scope\";\nimport { useId } from \"@radix-ui/react-id\";\nimport * as PopperPrimitive from \"@radix-ui/react-popper\";\nimport { createPopperScope } from \"@radix-ui/react-popper\";\nimport { Portal as PortalPrimitive } from \"@radix-ui/react-portal\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { Primitive, dispatchDiscreteCustomEvent } from \"@radix-ui/react-primitive\";\nimport * as RovingFocusGroup from \"@radix-ui/react-roving-focus\";\nimport { createRovingFocusGroupScope } from \"@radix-ui/react-roving-focus\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { hideOthers } from \"aria-hidden\";\nimport { RemoveScroll } from \"react-remove-scroll\";\nimport { jsx } from \"react/jsx-runtime\";\nvar SELECTION_KEYS = [\"Enter\", \" \"];\nvar FIRST_KEYS = [\"ArrowDown\", \"PageUp\", \"Home\"];\nvar LAST_KEYS = [\"ArrowUp\", \"PageDown\", \"End\"];\nvar FIRST_LAST_KEYS = [...FIRST_KEYS, ...LAST_KEYS];\nvar SUB_OPEN_KEYS = {\n ltr: [...SELECTION_KEYS, \"ArrowRight\"],\n rtl: [...SELECTION_KEYS, \"ArrowLeft\"]\n};\nvar SUB_CLOSE_KEYS = {\n ltr: [\"ArrowLeft\"],\n rtl: [\"ArrowRight\"]\n};\nvar MENU_NAME = \"Menu\";\nvar [Collection, useCollection, createCollectionScope] = createCollection(MENU_NAME);\nvar [createMenuContext, createMenuScope] = createContextScope(MENU_NAME, [\n createCollectionScope,\n createPopperScope,\n createRovingFocusGroupScope\n]);\nvar usePopperScope = createPopperScope();\nvar useRovingFocusGroupScope = createRovingFocusGroupScope();\nvar [MenuProvider, useMenuContext] = createMenuContext(MENU_NAME);\nvar [MenuRootProvider, useMenuRootContext] = createMenuContext(MENU_NAME);\nvar Menu = (props) => {\n const { __scopeMenu, open = false, children, dir, onOpenChange, modal = true } = props;\n const popperScope = usePopperScope(__scopeMenu);\n const [content, setContent] = React.useState(null);\n const isUsingKeyboardRef = React.useRef(false);\n const handleOpenChange = useCallbackRef(onOpenChange);\n const direction = useDirection(dir);\n React.useEffect(() => {\n const handleKeyDown = () => {\n isUsingKeyboardRef.current = true;\n document.addEventListener(\"pointerdown\", handlePointer, { capture: true, once: true });\n document.addEventListener(\"pointermove\", handlePointer, { capture: true, once: true });\n };\n const handlePointer = () => isUsingKeyboardRef.current = false;\n document.addEventListener(\"keydown\", handleKeyDown, { capture: true });\n return () => {\n document.removeEventListener(\"keydown\", handleKeyDown, { capture: true });\n document.removeEventListener(\"pointerdown\", handlePointer, { capture: true });\n document.removeEventListener(\"pointermove\", handlePointer, { capture: true });\n };\n }, []);\n return /* @__PURE__ */ jsx(PopperPrimitive.Root, { ...popperScope, children: /* @__PURE__ */ jsx(\n MenuProvider,\n {\n scope: __scopeMenu,\n open,\n onOpenChange: handleOpenChange,\n content,\n onContentChange: setContent,\n children: /* @__PURE__ */ jsx(\n MenuRootProvider,\n {\n scope: __scopeMenu,\n onClose: React.useCallback(() => handleOpenChange(false), [handleOpenChange]),\n isUsingKeyboardRef,\n dir: direction,\n modal,\n children\n }\n )\n }\n ) });\n};\nMenu.displayName = MENU_NAME;\nvar ANCHOR_NAME = \"MenuAnchor\";\nvar MenuAnchor = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, ...anchorProps } = props;\n const popperScope = usePopperScope(__scopeMenu);\n return /* @__PURE__ */ jsx(PopperPrimitive.Anchor, { ...popperScope, ...anchorProps, ref: forwardedRef });\n }\n);\nMenuAnchor.displayName = ANCHOR_NAME;\nvar PORTAL_NAME = \"MenuPortal\";\nvar [PortalProvider, usePortalContext] = createMenuContext(PORTAL_NAME, {\n forceMount: void 0\n});\nvar MenuPortal = (props) => {\n const { __scopeMenu, forceMount, children, container } = props;\n const context = useMenuContext(PORTAL_NAME, __scopeMenu);\n return /* @__PURE__ */ jsx(PortalProvider, { scope: __scopeMenu, forceMount, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(PortalPrimitive, { asChild: true, container, children }) }) });\n};\nMenuPortal.displayName = PORTAL_NAME;\nvar CONTENT_NAME = \"MenuContent\";\nvar [MenuContentProvider, useMenuContentContext] = createMenuContext(CONTENT_NAME);\nvar MenuContent = React.forwardRef(\n (props, forwardedRef) => {\n const portalContext = usePortalContext(CONTENT_NAME, props.__scopeMenu);\n const { forceMount = portalContext.forceMount, ...contentProps } = props;\n const context = useMenuContext(CONTENT_NAME, props.__scopeMenu);\n const rootContext = useMenuRootContext(CONTENT_NAME, props.__scopeMenu);\n return /* @__PURE__ */ jsx(Collection.Provider, { scope: props.__scopeMenu, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(Collection.Slot, { scope: props.__scopeMenu, children: rootContext.modal ? /* @__PURE__ */ jsx(MenuRootContentModal, { ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ jsx(MenuRootContentNonModal, { ...contentProps, ref: forwardedRef }) }) }) });\n }\n);\nvar MenuRootContentModal = React.forwardRef(\n (props, forwardedRef) => {\n const context = useMenuContext(CONTENT_NAME, props.__scopeMenu);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n React.useEffect(() => {\n const content = ref.current;\n if (content) return hideOthers(content);\n }, []);\n return /* @__PURE__ */ jsx(\n MenuContentImpl,\n {\n ...props,\n ref: composedRefs,\n trapFocus: context.open,\n disableOutsidePointerEvents: context.open,\n disableOutsideScroll: true,\n onFocusOutside: composeEventHandlers(\n props.onFocusOutside,\n (event) => event.preventDefault(),\n { checkForDefaultPrevented: false }\n ),\n onDismiss: () => context.onOpenChange(false)\n }\n );\n }\n);\nvar MenuRootContentNonModal = React.forwardRef((props, forwardedRef) => {\n const context = useMenuContext(CONTENT_NAME, props.__scopeMenu);\n return /* @__PURE__ */ jsx(\n MenuContentImpl,\n {\n ...props,\n ref: forwardedRef,\n trapFocus: false,\n disableOutsidePointerEvents: false,\n disableOutsideScroll: false,\n onDismiss: () => context.onOpenChange(false)\n }\n );\n});\nvar Slot = createSlot(\"MenuContent.ScrollLock\");\nvar MenuContentImpl = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeMenu,\n loop = false,\n trapFocus,\n onOpenAutoFocus,\n onCloseAutoFocus,\n disableOutsidePointerEvents,\n onEntryFocus,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside,\n onInteractOutside,\n onDismiss,\n disableOutsideScroll,\n ...contentProps\n } = props;\n const context = useMenuContext(CONTENT_NAME, __scopeMenu);\n const rootContext = useMenuRootContext(CONTENT_NAME, __scopeMenu);\n const popperScope = usePopperScope(__scopeMenu);\n const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeMenu);\n const getItems = useCollection(__scopeMenu);\n const [currentItemId, setCurrentItemId] = React.useState(null);\n const contentRef = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, contentRef, context.onContentChange);\n const timerRef = React.useRef(0);\n const searchRef = React.useRef(\"\");\n const pointerGraceTimerRef = React.useRef(0);\n const pointerGraceIntentRef = React.useRef(null);\n const pointerDirRef = React.useRef(\"right\");\n const lastPointerXRef = React.useRef(0);\n const ScrollLockWrapper = disableOutsideScroll ? RemoveScroll : React.Fragment;\n const scrollLockWrapperProps = disableOutsideScroll ? { as: Slot, allowPinchZoom: true } : void 0;\n const handleTypeaheadSearch = (key) => {\n const search = searchRef.current + key;\n const items = getItems().filter((item) => !item.disabled);\n const currentItem = document.activeElement;\n const currentMatch = items.find((item) => item.ref.current === currentItem)?.textValue;\n const values = items.map((item) => item.textValue);\n const nextMatch = getNextMatch(values, search, currentMatch);\n const newItem = items.find((item) => item.textValue === nextMatch)?.ref.current;\n (function updateSearch(value) {\n searchRef.current = value;\n window.clearTimeout(timerRef.current);\n if (value !== \"\") timerRef.current = window.setTimeout(() => updateSearch(\"\"), 1e3);\n })(search);\n if (newItem) {\n setTimeout(() => newItem.focus());\n }\n };\n React.useEffect(() => {\n return () => window.clearTimeout(timerRef.current);\n }, []);\n useFocusGuards();\n const isPointerMovingToSubmenu = React.useCallback((event) => {\n const isMovingTowards = pointerDirRef.current === pointerGraceIntentRef.current?.side;\n return isMovingTowards && isPointerInGraceArea(event, pointerGraceIntentRef.current?.area);\n }, []);\n return /* @__PURE__ */ jsx(\n MenuContentProvider,\n {\n scope: __scopeMenu,\n searchRef,\n onItemEnter: React.useCallback(\n (event) => {\n if (isPointerMovingToSubmenu(event)) event.preventDefault();\n },\n [isPointerMovingToSubmenu]\n ),\n onItemLeave: React.useCallback(\n (event) => {\n if (isPointerMovingToSubmenu(event)) return;\n contentRef.current?.focus();\n setCurrentItemId(null);\n },\n [isPointerMovingToSubmenu]\n ),\n onTriggerLeave: React.useCallback(\n (event) => {\n if (isPointerMovingToSubmenu(event)) event.preventDefault();\n },\n [isPointerMovingToSubmenu]\n ),\n pointerGraceTimerRef,\n onPointerGraceIntentChange: React.useCallback((intent) => {\n pointerGraceIntentRef.current = intent;\n }, []),\n children: /* @__PURE__ */ jsx(ScrollLockWrapper, { ...scrollLockWrapperProps, children: /* @__PURE__ */ jsx(\n FocusScope,\n {\n asChild: true,\n trapped: trapFocus,\n onMountAutoFocus: composeEventHandlers(onOpenAutoFocus, (event) => {\n event.preventDefault();\n contentRef.current?.focus({ preventScroll: true });\n }),\n onUnmountAutoFocus: onCloseAutoFocus,\n children: /* @__PURE__ */ jsx(\n DismissableLayer,\n {\n asChild: true,\n disableOutsidePointerEvents,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside,\n onInteractOutside,\n onDismiss,\n children: /* @__PURE__ */ jsx(\n RovingFocusGroup.Root,\n {\n asChild: true,\n ...rovingFocusGroupScope,\n dir: rootContext.dir,\n orientation: \"vertical\",\n loop,\n currentTabStopId: currentItemId,\n onCurrentTabStopIdChange: setCurrentItemId,\n onEntryFocus: composeEventHandlers(onEntryFocus, (event) => {\n if (!rootContext.isUsingKeyboardRef.current) event.preventDefault();\n }),\n preventScrollOnEntryFocus: true,\n children: /* @__PURE__ */ jsx(\n PopperPrimitive.Content,\n {\n role: \"menu\",\n \"aria-orientation\": \"vertical\",\n \"data-state\": getOpenState(context.open),\n \"data-radix-menu-content\": \"\",\n dir: rootContext.dir,\n ...popperScope,\n ...contentProps,\n ref: composedRefs,\n style: { outline: \"none\", ...contentProps.style },\n onKeyDown: composeEventHandlers(contentProps.onKeyDown, (event) => {\n const target = event.target;\n const isKeyDownInside = target.closest(\"[data-radix-menu-content]\") === event.currentTarget;\n const isModifierKey = event.ctrlKey || event.altKey || event.metaKey;\n const isCharacterKey = event.key.length === 1;\n if (isKeyDownInside) {\n if (event.key === \"Tab\") event.preventDefault();\n if (!isModifierKey && isCharacterKey) handleTypeaheadSearch(event.key);\n }\n const content = contentRef.current;\n if (event.target !== content) return;\n if (!FIRST_LAST_KEYS.includes(event.key)) return;\n event.preventDefault();\n const items = getItems().filter((item) => !item.disabled);\n const candidateNodes = items.map((item) => item.ref.current);\n if (LAST_KEYS.includes(event.key)) candidateNodes.reverse();\n focusFirst(candidateNodes);\n }),\n onBlur: composeEventHandlers(props.onBlur, (event) => {\n if (!event.currentTarget.contains(event.target)) {\n window.clearTimeout(timerRef.current);\n searchRef.current = \"\";\n }\n }),\n onPointerMove: composeEventHandlers(\n props.onPointerMove,\n whenMouse((event) => {\n const target = event.target;\n const pointerXHasChanged = lastPointerXRef.current !== event.clientX;\n if (event.currentTarget.contains(target) && pointerXHasChanged) {\n const newDir = event.clientX > lastPointerXRef.current ? \"right\" : \"left\";\n pointerDirRef.current = newDir;\n lastPointerXRef.current = event.clientX;\n }\n })\n )\n }\n )\n }\n )\n }\n )\n }\n ) })\n }\n );\n }\n);\nMenuContent.displayName = CONTENT_NAME;\nvar GROUP_NAME = \"MenuGroup\";\nvar MenuGroup = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, ...groupProps } = props;\n return /* @__PURE__ */ jsx(Primitive.div, { role: \"group\", ...groupProps, ref: forwardedRef });\n }\n);\nMenuGroup.displayName = GROUP_NAME;\nvar LABEL_NAME = \"MenuLabel\";\nvar MenuLabel = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, ...labelProps } = props;\n return /* @__PURE__ */ jsx(Primitive.div, { ...labelProps, ref: forwardedRef });\n }\n);\nMenuLabel.displayName = LABEL_NAME;\nvar ITEM_NAME = \"MenuItem\";\nvar ITEM_SELECT = \"menu.itemSelect\";\nvar MenuItem = React.forwardRef(\n (props, forwardedRef) => {\n const { disabled = false, onSelect, ...itemProps } = props;\n const ref = React.useRef(null);\n const rootContext = useMenuRootContext(ITEM_NAME, props.__scopeMenu);\n const contentContext = useMenuContentContext(ITEM_NAME, props.__scopeMenu);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const isPointerDownRef = React.useRef(false);\n const handleSelect = () => {\n const menuItem = ref.current;\n if (!disabled && menuItem) {\n const itemSelectEvent = new CustomEvent(ITEM_SELECT, { bubbles: true, cancelable: true });\n menuItem.addEventListener(ITEM_SELECT, (event) => onSelect?.(event), { once: true });\n dispatchDiscreteCustomEvent(menuItem, itemSelectEvent);\n if (itemSelectEvent.defaultPrevented) {\n isPointerDownRef.current = false;\n } else {\n rootContext.onClose();\n }\n }\n };\n return /* @__PURE__ */ jsx(\n MenuItemImpl,\n {\n ...itemProps,\n ref: composedRefs,\n disabled,\n onClick: composeEventHandlers(props.onClick, handleSelect),\n onPointerDown: (event) => {\n props.onPointerDown?.(event);\n isPointerDownRef.current = true;\n },\n onPointerUp: composeEventHandlers(props.onPointerUp, (event) => {\n if (!isPointerDownRef.current) event.currentTarget?.click();\n }),\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n const isTypingAhead = contentContext.searchRef.current !== \"\";\n if (disabled || isTypingAhead && event.key === \" \") return;\n if (SELECTION_KEYS.includes(event.key)) {\n event.currentTarget.click();\n event.preventDefault();\n }\n })\n }\n );\n }\n);\nMenuItem.displayName = ITEM_NAME;\nvar MenuItemImpl = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, disabled = false, textValue, ...itemProps } = props;\n const contentContext = useMenuContentContext(ITEM_NAME, __scopeMenu);\n const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeMenu);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const [isFocused, setIsFocused] = React.useState(false);\n const [textContent, setTextContent] = React.useState(\"\");\n React.useEffect(() => {\n const menuItem = ref.current;\n if (menuItem) {\n setTextContent((menuItem.textContent ?? \"\").trim());\n }\n }, [itemProps.children]);\n return /* @__PURE__ */ jsx(\n Collection.ItemSlot,\n {\n scope: __scopeMenu,\n disabled,\n textValue: textValue ?? textContent,\n children: /* @__PURE__ */ jsx(RovingFocusGroup.Item, { asChild: true, ...rovingFocusGroupScope, focusable: !disabled, children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n role: \"menuitem\",\n \"data-highlighted\": isFocused ? \"\" : void 0,\n \"aria-disabled\": disabled || void 0,\n \"data-disabled\": disabled ? \"\" : void 0,\n ...itemProps,\n ref: composedRefs,\n onPointerMove: composeEventHandlers(\n props.onPointerMove,\n whenMouse((event) => {\n if (disabled) {\n contentContext.onItemLeave(event);\n } else {\n contentContext.onItemEnter(event);\n if (!event.defaultPrevented) {\n const item = event.currentTarget;\n item.focus({ preventScroll: true });\n }\n }\n })\n ),\n onPointerLeave: composeEventHandlers(\n props.onPointerLeave,\n whenMouse((event) => contentContext.onItemLeave(event))\n ),\n onFocus: composeEventHandlers(props.onFocus, () => setIsFocused(true)),\n onBlur: composeEventHandlers(props.onBlur, () => setIsFocused(false))\n }\n ) })\n }\n );\n }\n);\nvar CHECKBOX_ITEM_NAME = \"MenuCheckboxItem\";\nvar MenuCheckboxItem = React.forwardRef(\n (props, forwardedRef) => {\n const { checked = false, onCheckedChange, ...checkboxItemProps } = props;\n return /* @__PURE__ */ jsx(ItemIndicatorProvider, { scope: props.__scopeMenu, checked, children: /* @__PURE__ */ jsx(\n MenuItem,\n {\n role: \"menuitemcheckbox\",\n \"aria-checked\": isIndeterminate(checked) ? \"mixed\" : checked,\n ...checkboxItemProps,\n ref: forwardedRef,\n \"data-state\": getCheckedState(checked),\n onSelect: composeEventHandlers(\n checkboxItemProps.onSelect,\n () => onCheckedChange?.(isIndeterminate(checked) ? true : !checked),\n { checkForDefaultPrevented: false }\n )\n }\n ) });\n }\n);\nMenuCheckboxItem.displayName = CHECKBOX_ITEM_NAME;\nvar RADIO_GROUP_NAME = \"MenuRadioGroup\";\nvar [RadioGroupProvider, useRadioGroupContext] = createMenuContext(\n RADIO_GROUP_NAME,\n { value: void 0, onValueChange: () => {\n } }\n);\nvar MenuRadioGroup = React.forwardRef(\n (props, forwardedRef) => {\n const { value, onValueChange, ...groupProps } = props;\n const handleValueChange = useCallbackRef(onValueChange);\n return /* @__PURE__ */ jsx(RadioGroupProvider, { scope: props.__scopeMenu, value, onValueChange: handleValueChange, children: /* @__PURE__ */ jsx(MenuGroup, { ...groupProps, ref: forwardedRef }) });\n }\n);\nMenuRadioGroup.displayName = RADIO_GROUP_NAME;\nvar RADIO_ITEM_NAME = \"MenuRadioItem\";\nvar MenuRadioItem = React.forwardRef(\n (props, forwardedRef) => {\n const { value, ...radioItemProps } = props;\n const context = useRadioGroupContext(RADIO_ITEM_NAME, props.__scopeMenu);\n const checked = value === context.value;\n return /* @__PURE__ */ jsx(ItemIndicatorProvider, { scope: props.__scopeMenu, checked, children: /* @__PURE__ */ jsx(\n MenuItem,\n {\n role: \"menuitemradio\",\n \"aria-checked\": checked,\n ...radioItemProps,\n ref: forwardedRef,\n \"data-state\": getCheckedState(checked),\n onSelect: composeEventHandlers(\n radioItemProps.onSelect,\n () => context.onValueChange?.(value),\n { checkForDefaultPrevented: false }\n )\n }\n ) });\n }\n);\nMenuRadioItem.displayName = RADIO_ITEM_NAME;\nvar ITEM_INDICATOR_NAME = \"MenuItemIndicator\";\nvar [ItemIndicatorProvider, useItemIndicatorContext] = createMenuContext(\n ITEM_INDICATOR_NAME,\n { checked: false }\n);\nvar MenuItemIndicator = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, forceMount, ...itemIndicatorProps } = props;\n const indicatorContext = useItemIndicatorContext(ITEM_INDICATOR_NAME, __scopeMenu);\n return /* @__PURE__ */ jsx(\n Presence,\n {\n present: forceMount || isIndeterminate(indicatorContext.checked) || indicatorContext.checked === true,\n children: /* @__PURE__ */ jsx(\n Primitive.span,\n {\n ...itemIndicatorProps,\n ref: forwardedRef,\n \"data-state\": getCheckedState(indicatorContext.checked)\n }\n )\n }\n );\n }\n);\nMenuItemIndicator.displayName = ITEM_INDICATOR_NAME;\nvar SEPARATOR_NAME = \"MenuSeparator\";\nvar MenuSeparator = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, ...separatorProps } = props;\n return /* @__PURE__ */ jsx(\n Primitive.div,\n {\n role: \"separator\",\n \"aria-orientation\": \"horizontal\",\n ...separatorProps,\n ref: forwardedRef\n }\n );\n }\n);\nMenuSeparator.displayName = SEPARATOR_NAME;\nvar ARROW_NAME = \"MenuArrow\";\nvar MenuArrow = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, ...arrowProps } = props;\n const popperScope = usePopperScope(__scopeMenu);\n return /* @__PURE__ */ jsx(PopperPrimitive.Arrow, { ...popperScope, ...arrowProps, ref: forwardedRef });\n }\n);\nMenuArrow.displayName = ARROW_NAME;\nvar SUB_NAME = \"MenuSub\";\nvar [MenuSubProvider, useMenuSubContext] = createMenuContext(SUB_NAME);\nvar MenuSub = (props) => {\n const { __scopeMenu, children, open = false, onOpenChange } = props;\n const parentMenuContext = useMenuContext(SUB_NAME, __scopeMenu);\n const popperScope = usePopperScope(__scopeMenu);\n const [trigger, setTrigger] = React.useState(null);\n const [content, setContent] = React.useState(null);\n const handleOpenChange = useCallbackRef(onOpenChange);\n React.useEffect(() => {\n if (parentMenuContext.open === false) handleOpenChange(false);\n return () => handleOpenChange(false);\n }, [parentMenuContext.open, handleOpenChange]);\n return /* @__PURE__ */ jsx(PopperPrimitive.Root, { ...popperScope, children: /* @__PURE__ */ jsx(\n MenuProvider,\n {\n scope: __scopeMenu,\n open,\n onOpenChange: handleOpenChange,\n content,\n onContentChange: setContent,\n children: /* @__PURE__ */ jsx(\n MenuSubProvider,\n {\n scope: __scopeMenu,\n contentId: useId(),\n triggerId: useId(),\n trigger,\n onTriggerChange: setTrigger,\n children\n }\n )\n }\n ) });\n};\nMenuSub.displayName = SUB_NAME;\nvar SUB_TRIGGER_NAME = \"MenuSubTrigger\";\nvar MenuSubTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const context = useMenuContext(SUB_TRIGGER_NAME, props.__scopeMenu);\n const rootContext = useMenuRootContext(SUB_TRIGGER_NAME, props.__scopeMenu);\n const subContext = useMenuSubContext(SUB_TRIGGER_NAME, props.__scopeMenu);\n const contentContext = useMenuContentContext(SUB_TRIGGER_NAME, props.__scopeMenu);\n const openTimerRef = React.useRef(null);\n const { pointerGraceTimerRef, onPointerGraceIntentChange } = contentContext;\n const scope = { __scopeMenu: props.__scopeMenu };\n const clearOpenTimer = React.useCallback(() => {\n if (openTimerRef.current) window.clearTimeout(openTimerRef.current);\n openTimerRef.current = null;\n }, []);\n React.useEffect(() => clearOpenTimer, [clearOpenTimer]);\n React.useEffect(() => {\n const pointerGraceTimer = pointerGraceTimerRef.current;\n return () => {\n window.clearTimeout(pointerGraceTimer);\n onPointerGraceIntentChange(null);\n };\n }, [pointerGraceTimerRef, onPointerGraceIntentChange]);\n return /* @__PURE__ */ jsx(MenuAnchor, { asChild: true, ...scope, children: /* @__PURE__ */ jsx(\n MenuItemImpl,\n {\n id: subContext.triggerId,\n \"aria-haspopup\": \"menu\",\n \"aria-expanded\": context.open,\n \"aria-controls\": subContext.contentId,\n \"data-state\": getOpenState(context.open),\n ...props,\n ref: composeRefs(forwardedRef, subContext.onTriggerChange),\n onClick: (event) => {\n props.onClick?.(event);\n if (props.disabled || event.defaultPrevented) return;\n event.currentTarget.focus();\n if (!context.open) context.onOpenChange(true);\n },\n onPointerMove: composeEventHandlers(\n props.onPointerMove,\n whenMouse((event) => {\n contentContext.onItemEnter(event);\n if (event.defaultPrevented) return;\n if (!props.disabled && !context.open && !openTimerRef.current) {\n contentContext.onPointerGraceIntentChange(null);\n openTimerRef.current = window.setTimeout(() => {\n context.onOpenChange(true);\n clearOpenTimer();\n }, 100);\n }\n })\n ),\n onPointerLeave: composeEventHandlers(\n props.onPointerLeave,\n whenMouse((event) => {\n clearOpenTimer();\n const contentRect = context.content?.getBoundingClientRect();\n if (contentRect) {\n const side = context.content?.dataset.side;\n const rightSide = side === \"right\";\n const bleed = rightSide ? -5 : 5;\n const contentNearEdge = contentRect[rightSide ? \"left\" : \"right\"];\n const contentFarEdge = contentRect[rightSide ? \"right\" : \"left\"];\n contentContext.onPointerGraceIntentChange({\n area: [\n // Apply a bleed on clientX to ensure that our exit point is\n // consistently within polygon bounds\n { x: event.clientX + bleed, y: event.clientY },\n { x: contentNearEdge, y: contentRect.top },\n { x: contentFarEdge, y: contentRect.top },\n { x: contentFarEdge, y: contentRect.bottom },\n { x: contentNearEdge, y: contentRect.bottom }\n ],\n side\n });\n window.clearTimeout(pointerGraceTimerRef.current);\n pointerGraceTimerRef.current = window.setTimeout(\n () => contentContext.onPointerGraceIntentChange(null),\n 300\n );\n } else {\n contentContext.onTriggerLeave(event);\n if (event.defaultPrevented) return;\n contentContext.onPointerGraceIntentChange(null);\n }\n })\n ),\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n const isTypingAhead = contentContext.searchRef.current !== \"\";\n if (props.disabled || isTypingAhead && event.key === \" \") return;\n if (SUB_OPEN_KEYS[rootContext.dir].includes(event.key)) {\n context.onOpenChange(true);\n context.content?.focus();\n event.preventDefault();\n }\n })\n }\n ) });\n }\n);\nMenuSubTrigger.displayName = SUB_TRIGGER_NAME;\nvar SUB_CONTENT_NAME = \"MenuSubContent\";\nvar MenuSubContent = React.forwardRef(\n (props, forwardedRef) => {\n const portalContext = usePortalContext(CONTENT_NAME, props.__scopeMenu);\n const { forceMount = portalContext.forceMount, ...subContentProps } = props;\n const context = useMenuContext(CONTENT_NAME, props.__scopeMenu);\n const rootContext = useMenuRootContext(CONTENT_NAME, props.__scopeMenu);\n const subContext = useMenuSubContext(SUB_CONTENT_NAME, props.__scopeMenu);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n return /* @__PURE__ */ jsx(Collection.Provider, { scope: props.__scopeMenu, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(Collection.Slot, { scope: props.__scopeMenu, children: /* @__PURE__ */ jsx(\n MenuContentImpl,\n {\n id: subContext.contentId,\n \"aria-labelledby\": subContext.triggerId,\n ...subContentProps,\n ref: composedRefs,\n align: \"start\",\n side: rootContext.dir === \"rtl\" ? \"left\" : \"right\",\n disableOutsidePointerEvents: false,\n disableOutsideScroll: false,\n trapFocus: false,\n onOpenAutoFocus: (event) => {\n if (rootContext.isUsingKeyboardRef.current) ref.current?.focus();\n event.preventDefault();\n },\n onCloseAutoFocus: (event) => event.preventDefault(),\n onFocusOutside: composeEventHandlers(props.onFocusOutside, (event) => {\n if (event.target !== subContext.trigger) context.onOpenChange(false);\n }),\n onEscapeKeyDown: composeEventHandlers(props.onEscapeKeyDown, (event) => {\n rootContext.onClose();\n event.preventDefault();\n }),\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n const isKeyDownInside = event.currentTarget.contains(event.target);\n const isCloseKey = SUB_CLOSE_KEYS[rootContext.dir].includes(event.key);\n if (isKeyDownInside && isCloseKey) {\n context.onOpenChange(false);\n subContext.trigger?.focus();\n event.preventDefault();\n }\n })\n }\n ) }) }) });\n }\n);\nMenuSubContent.displayName = SUB_CONTENT_NAME;\nfunction getOpenState(open) {\n return open ? \"open\" : \"closed\";\n}\nfunction isIndeterminate(checked) {\n return checked === \"indeterminate\";\n}\nfunction getCheckedState(checked) {\n return isIndeterminate(checked) ? \"indeterminate\" : checked ? \"checked\" : \"unchecked\";\n}\nfunction focusFirst(candidates) {\n const PREVIOUSLY_FOCUSED_ELEMENT = document.activeElement;\n for (const candidate of candidates) {\n if (candidate === PREVIOUSLY_FOCUSED_ELEMENT) return;\n candidate.focus();\n if (document.activeElement !== PREVIOUSLY_FOCUSED_ELEMENT) return;\n }\n}\nfunction wrapArray(array, startIndex) {\n return array.map((_, index) => array[(startIndex + index) % array.length]);\n}\nfunction getNextMatch(values, search, currentMatch) {\n const isRepeated = search.length > 1 && Array.from(search).every((char) => char === search[0]);\n const normalizedSearch = isRepeated ? search[0] : search;\n const currentMatchIndex = currentMatch ? values.indexOf(currentMatch) : -1;\n let wrappedValues = wrapArray(values, Math.max(currentMatchIndex, 0));\n const excludeCurrentMatch = normalizedSearch.length === 1;\n if (excludeCurrentMatch) wrappedValues = wrappedValues.filter((v) => v !== currentMatch);\n const nextMatch = wrappedValues.find(\n (value) => value.toLowerCase().startsWith(normalizedSearch.toLowerCase())\n );\n return nextMatch !== currentMatch ? nextMatch : void 0;\n}\nfunction isPointInPolygon(point, polygon) {\n const { x, y } = point;\n let inside = false;\n for (let i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {\n const ii = polygon[i];\n const jj = polygon[j];\n const xi = ii.x;\n const yi = ii.y;\n const xj = jj.x;\n const yj = jj.y;\n const intersect = yi > y !== yj > y && x < (xj - xi) * (y - yi) / (yj - yi) + xi;\n if (intersect) inside = !inside;\n }\n return inside;\n}\nfunction isPointerInGraceArea(event, area) {\n if (!area) return false;\n const cursorPos = { x: event.clientX, y: event.clientY };\n return isPointInPolygon(cursorPos, area);\n}\nfunction whenMouse(handler) {\n return (event) => event.pointerType === \"mouse\" ? handler(event) : void 0;\n}\nvar Root3 = Menu;\nvar Anchor2 = MenuAnchor;\nvar Portal = MenuPortal;\nvar Content2 = MenuContent;\nvar Group = MenuGroup;\nvar Label = MenuLabel;\nvar Item2 = MenuItem;\nvar CheckboxItem = MenuCheckboxItem;\nvar RadioGroup = MenuRadioGroup;\nvar RadioItem = MenuRadioItem;\nvar ItemIndicator = MenuItemIndicator;\nvar Separator = MenuSeparator;\nvar Arrow2 = MenuArrow;\nvar Sub = MenuSub;\nvar SubTrigger = MenuSubTrigger;\nvar SubContent = MenuSubContent;\nexport {\n Anchor2 as Anchor,\n Arrow2 as Arrow,\n CheckboxItem,\n Content2 as Content,\n Group,\n Item2 as Item,\n ItemIndicator,\n Label,\n Menu,\n MenuAnchor,\n MenuArrow,\n MenuCheckboxItem,\n MenuContent,\n MenuGroup,\n MenuItem,\n MenuItemIndicator,\n MenuLabel,\n MenuPortal,\n MenuRadioGroup,\n MenuRadioItem,\n MenuSeparator,\n MenuSub,\n MenuSubContent,\n MenuSubTrigger,\n Portal,\n RadioGroup,\n RadioItem,\n Root3 as Root,\n Separator,\n Sub,\n SubContent,\n SubTrigger,\n createMenuScope\n};\n//# sourceMappingURL=index.mjs.map\n"],"names":["SELECTION_KEYS","LAST_KEYS","FIRST_LAST_KEYS","SUB_OPEN_KEYS","ltr","rtl","SUB_CLOSE_KEYS","MENU_NAME","Collection","useCollection","createCollectionScope","createCollection","createMenuContext","createMenuScope","createContextScope","createPopperScope","createRovingFocusGroupScope","usePopperScope","useRovingFocusGroupScope","MenuProvider","useMenuContext","MenuRootProvider","useMenuRootContext","Menu","props","__scopeMenu","open","children","dir","onOpenChange","modal","popperScope","content","setContent","React","useState","isUsingKeyboardRef","useRef","handleOpenChange","useCallbackRef","direction","useDirection","useEffect","handleKeyDown","current","document","addEventListener","handlePointer","capture","once","removeEventListener","jsx","PopperPrimitive.Root","scope","onContentChange","onClose","useCallback","displayName","MenuAnchor","forwardRef","forwardedRef","anchorProps","PopperPrimitive.Anchor","ref","PORTAL_NAME","PortalProvider","usePortalContext","forceMount","MenuPortal","container","context","Presence","present","PortalPrimitive","asChild","CONTENT_NAME","MenuContentProvider","useMenuContentContext","MenuContent","portalContext","contentProps","rootContext","Provider","Slot","MenuRootContentModal","MenuRootContentNonModal","composedRefs","useComposedRefs","hideOthers","MenuContentImpl","trapFocus","disableOutsidePointerEvents","disableOutsideScroll","onFocusOutside","composeEventHandlers","event","preventDefault","checkForDefaultPrevented","onDismiss","createSlot","loop","onOpenAutoFocus","onCloseAutoFocus","onEntryFocus","onEscapeKeyDown","onPointerDownOutside","onInteractOutside","rovingFocusGroupScope","getItems","currentItemId","setCurrentItemId","contentRef","timerRef","searchRef","pointerGraceTimerRef","pointerGraceIntentRef","pointerDirRef","lastPointerXRef","ScrollLockWrapper","RemoveScroll","Fragment","scrollLockWrapperProps","as","allowPinchZoom","handleTypeaheadSearch","key","search","items","filter","item","disabled","currentItem","activeElement","currentMatch","find","textValue","nextMatch","values","isRepeated","length","Array","from","every","char","normalizedSearch","currentMatchIndex","indexOf","wrappedValues","array","startIndex","Math","max","map","_","index","v","value","toLowerCase","startsWith","getNextMatch","newItem","updateSearch","window","clearTimeout","setTimeout","focus","useFocusGuards","isPointerMovingToSubmenu","side","area","cursorPos","x","clientX","y","clientY","point","polygon","inside","i","j","ii","jj","xi","yi","xj","yj","isPointInPolygon","isPointerInGraceArea","onItemEnter","onItemLeave","onTriggerLeave","onPointerGraceIntentChange","intent","FocusScope","trapped","onMountAutoFocus","preventScroll","onUnmountAutoFocus","DismissableLayer","RovingFocusGroup.Root","orientation","currentTabStopId","onCurrentTabStopIdChange","preventScrollOnEntryFocus","PopperPrimitive.Content","role","getOpenState","style","outline","onKeyDown","isKeyDownInside","target","closest","currentTarget","isModifierKey","ctrlKey","altKey","metaKey","isCharacterKey","includes","candidateNodes","reverse","candidates","PREVIOUSLY_FOCUSED_ELEMENT","candidate","focusFirst","onBlur","contains","onPointerMove","whenMouse","pointerXHasChanged","newDir","MenuGroup","groupProps","Primitive","div","MenuLabel","labelProps","ITEM_NAME","ITEM_SELECT","MenuItem","onSelect","itemProps","contentContext","isPointerDownRef","MenuItemImpl","onClick","menuItem","itemSelectEvent","CustomEvent","bubbles","cancelable","dispatchDiscreteCustomEvent","defaultPrevented","onPointerDown","onPointerUp","click","isTypingAhead","isFocused","setIsFocused","textContent","setTextContent","trim","ItemSlot","RovingFocusGroup.Item","focusable","onPointerLeave","onFocus","MenuCheckboxItem","checked","onCheckedChange","checkboxItemProps","ItemIndicatorProvider","isIndeterminate","getCheckedState","RADIO_GROUP_NAME","RadioGroupProvider","useRadioGroupContext","onValueChange","MenuRadioGroup","handleValueChange","RADIO_ITEM_NAME","MenuRadioItem","radioItemProps","ITEM_INDICATOR_NAME","useItemIndicatorContext","MenuItemIndicator","itemIndicatorProps","indicatorContext","span","MenuSeparator","separatorProps","MenuArrow","arrowProps","PopperPrimitive.Arrow","SUB_NAME","MenuSubProvider","useMenuSubContext","MenuSub","parentMenuContext","trigger","setTrigger","contentId","useId","triggerId","onTriggerChange","SUB_TRIGGER_NAME","MenuSubTrigger","subContext","openTimerRef","clearOpenTimer","pointerGraceTimer","id","composeRefs","contentRect","getBoundingClientRect","dataset","rightSide","bleed","contentNearEdge","contentFarEdge","top","bottom","SUB_CONTENT_NAME","MenuSubContent","subContentProps","align","isCloseKey","handler","pointerType","Root","Anchor","Portal","Content","Group","Label","Item","CheckboxItem","RadioGroup","RadioItem","ItemIndicator","Separator","Arrow","Sub","SubTrigger","SubContent"],"mappings":"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","x_google_ignoreList":[0]}
|
1
|
+
{"version":3,"file":"index-D23BhVQG.mjs","sources":["../../node_modules/@radix-ui/react-menu/dist/index.mjs"],"sourcesContent":["\"use client\";\n\n// src/menu.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { createCollection } from \"@radix-ui/react-collection\";\nimport { useComposedRefs, composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { DismissableLayer } from \"@radix-ui/react-dismissable-layer\";\nimport { useFocusGuards } from \"@radix-ui/react-focus-guards\";\nimport { FocusScope } from \"@radix-ui/react-focus-scope\";\nimport { useId } from \"@radix-ui/react-id\";\nimport * as PopperPrimitive from \"@radix-ui/react-popper\";\nimport { createPopperScope } from \"@radix-ui/react-popper\";\nimport { Portal as PortalPrimitive } from \"@radix-ui/react-portal\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { Primitive, dispatchDiscreteCustomEvent } from \"@radix-ui/react-primitive\";\nimport * as RovingFocusGroup from \"@radix-ui/react-roving-focus\";\nimport { createRovingFocusGroupScope } from \"@radix-ui/react-roving-focus\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { hideOthers } from \"aria-hidden\";\nimport { RemoveScroll } from \"react-remove-scroll\";\nimport { jsx } from \"react/jsx-runtime\";\nvar SELECTION_KEYS = [\"Enter\", \" \"];\nvar FIRST_KEYS = [\"ArrowDown\", \"PageUp\", \"Home\"];\nvar LAST_KEYS = [\"ArrowUp\", \"PageDown\", \"End\"];\nvar FIRST_LAST_KEYS = [...FIRST_KEYS, ...LAST_KEYS];\nvar SUB_OPEN_KEYS = {\n ltr: [...SELECTION_KEYS, \"ArrowRight\"],\n rtl: [...SELECTION_KEYS, \"ArrowLeft\"]\n};\nvar SUB_CLOSE_KEYS = {\n ltr: [\"ArrowLeft\"],\n rtl: [\"ArrowRight\"]\n};\nvar MENU_NAME = \"Menu\";\nvar [Collection, useCollection, createCollectionScope] = createCollection(MENU_NAME);\nvar [createMenuContext, createMenuScope] = createContextScope(MENU_NAME, [\n createCollectionScope,\n createPopperScope,\n createRovingFocusGroupScope\n]);\nvar usePopperScope = createPopperScope();\nvar useRovingFocusGroupScope = createRovingFocusGroupScope();\nvar [MenuProvider, useMenuContext] = createMenuContext(MENU_NAME);\nvar [MenuRootProvider, useMenuRootContext] = createMenuContext(MENU_NAME);\nvar Menu = (props) => {\n const { __scopeMenu, open = false, children, dir, onOpenChange, modal = true } = props;\n const popperScope = usePopperScope(__scopeMenu);\n const [content, setContent] = React.useState(null);\n const isUsingKeyboardRef = React.useRef(false);\n const handleOpenChange = useCallbackRef(onOpenChange);\n const direction = useDirection(dir);\n React.useEffect(() => {\n const handleKeyDown = () => {\n isUsingKeyboardRef.current = true;\n document.addEventListener(\"pointerdown\", handlePointer, { capture: true, once: true });\n document.addEventListener(\"pointermove\", handlePointer, { capture: true, once: true });\n };\n const handlePointer = () => isUsingKeyboardRef.current = false;\n document.addEventListener(\"keydown\", handleKeyDown, { capture: true });\n return () => {\n document.removeEventListener(\"keydown\", handleKeyDown, { capture: true });\n document.removeEventListener(\"pointerdown\", handlePointer, { capture: true });\n document.removeEventListener(\"pointermove\", handlePointer, { capture: true });\n };\n }, []);\n return /* @__PURE__ */ jsx(PopperPrimitive.Root, { ...popperScope, children: /* @__PURE__ */ jsx(\n MenuProvider,\n {\n scope: __scopeMenu,\n open,\n onOpenChange: handleOpenChange,\n content,\n onContentChange: setContent,\n children: /* @__PURE__ */ jsx(\n MenuRootProvider,\n {\n scope: __scopeMenu,\n onClose: React.useCallback(() => handleOpenChange(false), [handleOpenChange]),\n isUsingKeyboardRef,\n dir: direction,\n modal,\n children\n }\n )\n }\n ) });\n};\nMenu.displayName = MENU_NAME;\nvar ANCHOR_NAME = \"MenuAnchor\";\nvar MenuAnchor = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, ...anchorProps } = props;\n const popperScope = usePopperScope(__scopeMenu);\n return /* @__PURE__ */ jsx(PopperPrimitive.Anchor, { ...popperScope, ...anchorProps, ref: forwardedRef });\n }\n);\nMenuAnchor.displayName = ANCHOR_NAME;\nvar PORTAL_NAME = \"MenuPortal\";\nvar [PortalProvider, usePortalContext] = createMenuContext(PORTAL_NAME, {\n forceMount: void 0\n});\nvar MenuPortal = (props) => {\n const { __scopeMenu, forceMount, children, container } = props;\n const context = useMenuContext(PORTAL_NAME, __scopeMenu);\n return /* @__PURE__ */ jsx(PortalProvider, { scope: __scopeMenu, forceMount, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(PortalPrimitive, { asChild: true, container, children }) }) });\n};\nMenuPortal.displayName = PORTAL_NAME;\nvar CONTENT_NAME = \"MenuContent\";\nvar [MenuContentProvider, useMenuContentContext] = createMenuContext(CONTENT_NAME);\nvar MenuContent = React.forwardRef(\n (props, forwardedRef) => {\n const portalContext = usePortalContext(CONTENT_NAME, props.__scopeMenu);\n const { forceMount = portalContext.forceMount, ...contentProps } = props;\n const context = useMenuContext(CONTENT_NAME, props.__scopeMenu);\n const rootContext = useMenuRootContext(CONTENT_NAME, props.__scopeMenu);\n return /* @__PURE__ */ jsx(Collection.Provider, { scope: props.__scopeMenu, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(Collection.Slot, { scope: props.__scopeMenu, children: rootContext.modal ? /* @__PURE__ */ jsx(MenuRootContentModal, { ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ jsx(MenuRootContentNonModal, { ...contentProps, ref: forwardedRef }) }) }) });\n }\n);\nvar MenuRootContentModal = React.forwardRef(\n (props, forwardedRef) => {\n const context = useMenuContext(CONTENT_NAME, props.__scopeMenu);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n React.useEffect(() => {\n const content = ref.current;\n if (content) return hideOthers(content);\n }, []);\n return /* @__PURE__ */ jsx(\n MenuContentImpl,\n {\n ...props,\n ref: composedRefs,\n trapFocus: context.open,\n disableOutsidePointerEvents: context.open,\n disableOutsideScroll: true,\n onFocusOutside: composeEventHandlers(\n props.onFocusOutside,\n (event) => event.preventDefault(),\n { checkForDefaultPrevented: false }\n ),\n onDismiss: () => context.onOpenChange(false)\n }\n );\n }\n);\nvar MenuRootContentNonModal = React.forwardRef((props, forwardedRef) => {\n const context = useMenuContext(CONTENT_NAME, props.__scopeMenu);\n return /* @__PURE__ */ jsx(\n MenuContentImpl,\n {\n ...props,\n ref: forwardedRef,\n trapFocus: false,\n disableOutsidePointerEvents: false,\n disableOutsideScroll: false,\n onDismiss: () => context.onOpenChange(false)\n }\n );\n});\nvar Slot = createSlot(\"MenuContent.ScrollLock\");\nvar MenuContentImpl = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeMenu,\n loop = false,\n trapFocus,\n onOpenAutoFocus,\n onCloseAutoFocus,\n disableOutsidePointerEvents,\n onEntryFocus,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside,\n onInteractOutside,\n onDismiss,\n disableOutsideScroll,\n ...contentProps\n } = props;\n const context = useMenuContext(CONTENT_NAME, __scopeMenu);\n const rootContext = useMenuRootContext(CONTENT_NAME, __scopeMenu);\n const popperScope = usePopperScope(__scopeMenu);\n const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeMenu);\n const getItems = useCollection(__scopeMenu);\n const [currentItemId, setCurrentItemId] = React.useState(null);\n const contentRef = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, contentRef, context.onContentChange);\n const timerRef = React.useRef(0);\n const searchRef = React.useRef(\"\");\n const pointerGraceTimerRef = React.useRef(0);\n const pointerGraceIntentRef = React.useRef(null);\n const pointerDirRef = React.useRef(\"right\");\n const lastPointerXRef = React.useRef(0);\n const ScrollLockWrapper = disableOutsideScroll ? RemoveScroll : React.Fragment;\n const scrollLockWrapperProps = disableOutsideScroll ? { as: Slot, allowPinchZoom: true } : void 0;\n const handleTypeaheadSearch = (key) => {\n const search = searchRef.current + key;\n const items = getItems().filter((item) => !item.disabled);\n const currentItem = document.activeElement;\n const currentMatch = items.find((item) => item.ref.current === currentItem)?.textValue;\n const values = items.map((item) => item.textValue);\n const nextMatch = getNextMatch(values, search, currentMatch);\n const newItem = items.find((item) => item.textValue === nextMatch)?.ref.current;\n (function updateSearch(value) {\n searchRef.current = value;\n window.clearTimeout(timerRef.current);\n if (value !== \"\") timerRef.current = window.setTimeout(() => updateSearch(\"\"), 1e3);\n })(search);\n if (newItem) {\n setTimeout(() => newItem.focus());\n }\n };\n React.useEffect(() => {\n return () => window.clearTimeout(timerRef.current);\n }, []);\n useFocusGuards();\n const isPointerMovingToSubmenu = React.useCallback((event) => {\n const isMovingTowards = pointerDirRef.current === pointerGraceIntentRef.current?.side;\n return isMovingTowards && isPointerInGraceArea(event, pointerGraceIntentRef.current?.area);\n }, []);\n return /* @__PURE__ */ jsx(\n MenuContentProvider,\n {\n scope: __scopeMenu,\n searchRef,\n onItemEnter: React.useCallback(\n (event) => {\n if (isPointerMovingToSubmenu(event)) event.preventDefault();\n },\n [isPointerMovingToSubmenu]\n ),\n onItemLeave: React.useCallback(\n (event) => {\n if (isPointerMovingToSubmenu(event)) return;\n contentRef.current?.focus();\n setCurrentItemId(null);\n },\n [isPointerMovingToSubmenu]\n ),\n onTriggerLeave: React.useCallback(\n (event) => {\n if (isPointerMovingToSubmenu(event)) event.preventDefault();\n },\n [isPointerMovingToSubmenu]\n ),\n pointerGraceTimerRef,\n onPointerGraceIntentChange: React.useCallback((intent) => {\n pointerGraceIntentRef.current = intent;\n }, []),\n children: /* @__PURE__ */ jsx(ScrollLockWrapper, { ...scrollLockWrapperProps, children: /* @__PURE__ */ jsx(\n FocusScope,\n {\n asChild: true,\n trapped: trapFocus,\n onMountAutoFocus: composeEventHandlers(onOpenAutoFocus, (event) => {\n event.preventDefault();\n contentRef.current?.focus({ preventScroll: true });\n }),\n onUnmountAutoFocus: onCloseAutoFocus,\n children: /* @__PURE__ */ jsx(\n DismissableLayer,\n {\n asChild: true,\n disableOutsidePointerEvents,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside,\n onInteractOutside,\n onDismiss,\n children: /* @__PURE__ */ jsx(\n RovingFocusGroup.Root,\n {\n asChild: true,\n ...rovingFocusGroupScope,\n dir: rootContext.dir,\n orientation: \"vertical\",\n loop,\n currentTabStopId: currentItemId,\n onCurrentTabStopIdChange: setCurrentItemId,\n onEntryFocus: composeEventHandlers(onEntryFocus, (event) => {\n if (!rootContext.isUsingKeyboardRef.current) event.preventDefault();\n }),\n preventScrollOnEntryFocus: true,\n children: /* @__PURE__ */ jsx(\n PopperPrimitive.Content,\n {\n role: \"menu\",\n \"aria-orientation\": \"vertical\",\n \"data-state\": getOpenState(context.open),\n \"data-radix-menu-content\": \"\",\n dir: rootContext.dir,\n ...popperScope,\n ...contentProps,\n ref: composedRefs,\n style: { outline: \"none\", ...contentProps.style },\n onKeyDown: composeEventHandlers(contentProps.onKeyDown, (event) => {\n const target = event.target;\n const isKeyDownInside = target.closest(\"[data-radix-menu-content]\") === event.currentTarget;\n const isModifierKey = event.ctrlKey || event.altKey || event.metaKey;\n const isCharacterKey = event.key.length === 1;\n if (isKeyDownInside) {\n if (event.key === \"Tab\") event.preventDefault();\n if (!isModifierKey && isCharacterKey) handleTypeaheadSearch(event.key);\n }\n const content = contentRef.current;\n if (event.target !== content) return;\n if (!FIRST_LAST_KEYS.includes(event.key)) return;\n event.preventDefault();\n const items = getItems().filter((item) => !item.disabled);\n const candidateNodes = items.map((item) => item.ref.current);\n if (LAST_KEYS.includes(event.key)) candidateNodes.reverse();\n focusFirst(candidateNodes);\n }),\n onBlur: composeEventHandlers(props.onBlur, (event) => {\n if (!event.currentTarget.contains(event.target)) {\n window.clearTimeout(timerRef.current);\n searchRef.current = \"\";\n }\n }),\n onPointerMove: composeEventHandlers(\n props.onPointerMove,\n whenMouse((event) => {\n const target = event.target;\n const pointerXHasChanged = lastPointerXRef.current !== event.clientX;\n if (event.currentTarget.contains(target) && pointerXHasChanged) {\n const newDir = event.clientX > lastPointerXRef.current ? \"right\" : \"left\";\n pointerDirRef.current = newDir;\n lastPointerXRef.current = event.clientX;\n }\n })\n )\n }\n )\n }\n )\n }\n )\n }\n ) })\n }\n );\n }\n);\nMenuContent.displayName = CONTENT_NAME;\nvar GROUP_NAME = \"MenuGroup\";\nvar MenuGroup = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, ...groupProps } = props;\n return /* @__PURE__ */ jsx(Primitive.div, { role: \"group\", ...groupProps, ref: forwardedRef });\n }\n);\nMenuGroup.displayName = GROUP_NAME;\nvar LABEL_NAME = \"MenuLabel\";\nvar MenuLabel = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, ...labelProps } = props;\n return /* @__PURE__ */ jsx(Primitive.div, { ...labelProps, ref: forwardedRef });\n }\n);\nMenuLabel.displayName = LABEL_NAME;\nvar ITEM_NAME = \"MenuItem\";\nvar ITEM_SELECT = \"menu.itemSelect\";\nvar MenuItem = React.forwardRef(\n (props, forwardedRef) => {\n const { disabled = false, onSelect, ...itemProps } = props;\n const ref = React.useRef(null);\n const rootContext = useMenuRootContext(ITEM_NAME, props.__scopeMenu);\n const contentContext = useMenuContentContext(ITEM_NAME, props.__scopeMenu);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const isPointerDownRef = React.useRef(false);\n const handleSelect = () => {\n const menuItem = ref.current;\n if (!disabled && menuItem) {\n const itemSelectEvent = new CustomEvent(ITEM_SELECT, { bubbles: true, cancelable: true });\n menuItem.addEventListener(ITEM_SELECT, (event) => onSelect?.(event), { once: true });\n dispatchDiscreteCustomEvent(menuItem, itemSelectEvent);\n if (itemSelectEvent.defaultPrevented) {\n isPointerDownRef.current = false;\n } else {\n rootContext.onClose();\n }\n }\n };\n return /* @__PURE__ */ jsx(\n MenuItemImpl,\n {\n ...itemProps,\n ref: composedRefs,\n disabled,\n onClick: composeEventHandlers(props.onClick, handleSelect),\n onPointerDown: (event) => {\n props.onPointerDown?.(event);\n isPointerDownRef.current = true;\n },\n onPointerUp: composeEventHandlers(props.onPointerUp, (event) => {\n if (!isPointerDownRef.current) event.currentTarget?.click();\n }),\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n const isTypingAhead = contentContext.searchRef.current !== \"\";\n if (disabled || isTypingAhead && event.key === \" \") return;\n if (SELECTION_KEYS.includes(event.key)) {\n event.currentTarget.click();\n event.preventDefault();\n }\n })\n }\n );\n }\n);\nMenuItem.displayName = ITEM_NAME;\nvar MenuItemImpl = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, disabled = false, textValue, ...itemProps } = props;\n const contentContext = useMenuContentContext(ITEM_NAME, __scopeMenu);\n const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeMenu);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const [isFocused, setIsFocused] = React.useState(false);\n const [textContent, setTextContent] = React.useState(\"\");\n React.useEffect(() => {\n const menuItem = ref.current;\n if (menuItem) {\n setTextContent((menuItem.textContent ?? \"\").trim());\n }\n }, [itemProps.children]);\n return /* @__PURE__ */ jsx(\n Collection.ItemSlot,\n {\n scope: __scopeMenu,\n disabled,\n textValue: textValue ?? textContent,\n children: /* @__PURE__ */ jsx(RovingFocusGroup.Item, { asChild: true, ...rovingFocusGroupScope, focusable: !disabled, children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n role: \"menuitem\",\n \"data-highlighted\": isFocused ? \"\" : void 0,\n \"aria-disabled\": disabled || void 0,\n \"data-disabled\": disabled ? \"\" : void 0,\n ...itemProps,\n ref: composedRefs,\n onPointerMove: composeEventHandlers(\n props.onPointerMove,\n whenMouse((event) => {\n if (disabled) {\n contentContext.onItemLeave(event);\n } else {\n contentContext.onItemEnter(event);\n if (!event.defaultPrevented) {\n const item = event.currentTarget;\n item.focus({ preventScroll: true });\n }\n }\n })\n ),\n onPointerLeave: composeEventHandlers(\n props.onPointerLeave,\n whenMouse((event) => contentContext.onItemLeave(event))\n ),\n onFocus: composeEventHandlers(props.onFocus, () => setIsFocused(true)),\n onBlur: composeEventHandlers(props.onBlur, () => setIsFocused(false))\n }\n ) })\n }\n );\n }\n);\nvar CHECKBOX_ITEM_NAME = \"MenuCheckboxItem\";\nvar MenuCheckboxItem = React.forwardRef(\n (props, forwardedRef) => {\n const { checked = false, onCheckedChange, ...checkboxItemProps } = props;\n return /* @__PURE__ */ jsx(ItemIndicatorProvider, { scope: props.__scopeMenu, checked, children: /* @__PURE__ */ jsx(\n MenuItem,\n {\n role: \"menuitemcheckbox\",\n \"aria-checked\": isIndeterminate(checked) ? \"mixed\" : checked,\n ...checkboxItemProps,\n ref: forwardedRef,\n \"data-state\": getCheckedState(checked),\n onSelect: composeEventHandlers(\n checkboxItemProps.onSelect,\n () => onCheckedChange?.(isIndeterminate(checked) ? true : !checked),\n { checkForDefaultPrevented: false }\n )\n }\n ) });\n }\n);\nMenuCheckboxItem.displayName = CHECKBOX_ITEM_NAME;\nvar RADIO_GROUP_NAME = \"MenuRadioGroup\";\nvar [RadioGroupProvider, useRadioGroupContext] = createMenuContext(\n RADIO_GROUP_NAME,\n { value: void 0, onValueChange: () => {\n } }\n);\nvar MenuRadioGroup = React.forwardRef(\n (props, forwardedRef) => {\n const { value, onValueChange, ...groupProps } = props;\n const handleValueChange = useCallbackRef(onValueChange);\n return /* @__PURE__ */ jsx(RadioGroupProvider, { scope: props.__scopeMenu, value, onValueChange: handleValueChange, children: /* @__PURE__ */ jsx(MenuGroup, { ...groupProps, ref: forwardedRef }) });\n }\n);\nMenuRadioGroup.displayName = RADIO_GROUP_NAME;\nvar RADIO_ITEM_NAME = \"MenuRadioItem\";\nvar MenuRadioItem = React.forwardRef(\n (props, forwardedRef) => {\n const { value, ...radioItemProps } = props;\n const context = useRadioGroupContext(RADIO_ITEM_NAME, props.__scopeMenu);\n const checked = value === context.value;\n return /* @__PURE__ */ jsx(ItemIndicatorProvider, { scope: props.__scopeMenu, checked, children: /* @__PURE__ */ jsx(\n MenuItem,\n {\n role: \"menuitemradio\",\n \"aria-checked\": checked,\n ...radioItemProps,\n ref: forwardedRef,\n \"data-state\": getCheckedState(checked),\n onSelect: composeEventHandlers(\n radioItemProps.onSelect,\n () => context.onValueChange?.(value),\n { checkForDefaultPrevented: false }\n )\n }\n ) });\n }\n);\nMenuRadioItem.displayName = RADIO_ITEM_NAME;\nvar ITEM_INDICATOR_NAME = \"MenuItemIndicator\";\nvar [ItemIndicatorProvider, useItemIndicatorContext] = createMenuContext(\n ITEM_INDICATOR_NAME,\n { checked: false }\n);\nvar MenuItemIndicator = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, forceMount, ...itemIndicatorProps } = props;\n const indicatorContext = useItemIndicatorContext(ITEM_INDICATOR_NAME, __scopeMenu);\n return /* @__PURE__ */ jsx(\n Presence,\n {\n present: forceMount || isIndeterminate(indicatorContext.checked) || indicatorContext.checked === true,\n children: /* @__PURE__ */ jsx(\n Primitive.span,\n {\n ...itemIndicatorProps,\n ref: forwardedRef,\n \"data-state\": getCheckedState(indicatorContext.checked)\n }\n )\n }\n );\n }\n);\nMenuItemIndicator.displayName = ITEM_INDICATOR_NAME;\nvar SEPARATOR_NAME = \"MenuSeparator\";\nvar MenuSeparator = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, ...separatorProps } = props;\n return /* @__PURE__ */ jsx(\n Primitive.div,\n {\n role: \"separator\",\n \"aria-orientation\": \"horizontal\",\n ...separatorProps,\n ref: forwardedRef\n }\n );\n }\n);\nMenuSeparator.displayName = SEPARATOR_NAME;\nvar ARROW_NAME = \"MenuArrow\";\nvar MenuArrow = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, ...arrowProps } = props;\n const popperScope = usePopperScope(__scopeMenu);\n return /* @__PURE__ */ jsx(PopperPrimitive.Arrow, { ...popperScope, ...arrowProps, ref: forwardedRef });\n }\n);\nMenuArrow.displayName = ARROW_NAME;\nvar SUB_NAME = \"MenuSub\";\nvar [MenuSubProvider, useMenuSubContext] = createMenuContext(SUB_NAME);\nvar MenuSub = (props) => {\n const { __scopeMenu, children, open = false, onOpenChange } = props;\n const parentMenuContext = useMenuContext(SUB_NAME, __scopeMenu);\n const popperScope = usePopperScope(__scopeMenu);\n const [trigger, setTrigger] = React.useState(null);\n const [content, setContent] = React.useState(null);\n const handleOpenChange = useCallbackRef(onOpenChange);\n React.useEffect(() => {\n if (parentMenuContext.open === false) handleOpenChange(false);\n return () => handleOpenChange(false);\n }, [parentMenuContext.open, handleOpenChange]);\n return /* @__PURE__ */ jsx(PopperPrimitive.Root, { ...popperScope, children: /* @__PURE__ */ jsx(\n MenuProvider,\n {\n scope: __scopeMenu,\n open,\n onOpenChange: handleOpenChange,\n content,\n onContentChange: setContent,\n children: /* @__PURE__ */ jsx(\n MenuSubProvider,\n {\n scope: __scopeMenu,\n contentId: useId(),\n triggerId: useId(),\n trigger,\n onTriggerChange: setTrigger,\n children\n }\n )\n }\n ) });\n};\nMenuSub.displayName = SUB_NAME;\nvar SUB_TRIGGER_NAME = \"MenuSubTrigger\";\nvar MenuSubTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const context = useMenuContext(SUB_TRIGGER_NAME, props.__scopeMenu);\n const rootContext = useMenuRootContext(SUB_TRIGGER_NAME, props.__scopeMenu);\n const subContext = useMenuSubContext(SUB_TRIGGER_NAME, props.__scopeMenu);\n const contentContext = useMenuContentContext(SUB_TRIGGER_NAME, props.__scopeMenu);\n const openTimerRef = React.useRef(null);\n const { pointerGraceTimerRef, onPointerGraceIntentChange } = contentContext;\n const scope = { __scopeMenu: props.__scopeMenu };\n const clearOpenTimer = React.useCallback(() => {\n if (openTimerRef.current) window.clearTimeout(openTimerRef.current);\n openTimerRef.current = null;\n }, []);\n React.useEffect(() => clearOpenTimer, [clearOpenTimer]);\n React.useEffect(() => {\n const pointerGraceTimer = pointerGraceTimerRef.current;\n return () => {\n window.clearTimeout(pointerGraceTimer);\n onPointerGraceIntentChange(null);\n };\n }, [pointerGraceTimerRef, onPointerGraceIntentChange]);\n return /* @__PURE__ */ jsx(MenuAnchor, { asChild: true, ...scope, children: /* @__PURE__ */ jsx(\n MenuItemImpl,\n {\n id: subContext.triggerId,\n \"aria-haspopup\": \"menu\",\n \"aria-expanded\": context.open,\n \"aria-controls\": subContext.contentId,\n \"data-state\": getOpenState(context.open),\n ...props,\n ref: composeRefs(forwardedRef, subContext.onTriggerChange),\n onClick: (event) => {\n props.onClick?.(event);\n if (props.disabled || event.defaultPrevented) return;\n event.currentTarget.focus();\n if (!context.open) context.onOpenChange(true);\n },\n onPointerMove: composeEventHandlers(\n props.onPointerMove,\n whenMouse((event) => {\n contentContext.onItemEnter(event);\n if (event.defaultPrevented) return;\n if (!props.disabled && !context.open && !openTimerRef.current) {\n contentContext.onPointerGraceIntentChange(null);\n openTimerRef.current = window.setTimeout(() => {\n context.onOpenChange(true);\n clearOpenTimer();\n }, 100);\n }\n })\n ),\n onPointerLeave: composeEventHandlers(\n props.onPointerLeave,\n whenMouse((event) => {\n clearOpenTimer();\n const contentRect = context.content?.getBoundingClientRect();\n if (contentRect) {\n const side = context.content?.dataset.side;\n const rightSide = side === \"right\";\n const bleed = rightSide ? -5 : 5;\n const contentNearEdge = contentRect[rightSide ? \"left\" : \"right\"];\n const contentFarEdge = contentRect[rightSide ? \"right\" : \"left\"];\n contentContext.onPointerGraceIntentChange({\n area: [\n // Apply a bleed on clientX to ensure that our exit point is\n // consistently within polygon bounds\n { x: event.clientX + bleed, y: event.clientY },\n { x: contentNearEdge, y: contentRect.top },\n { x: contentFarEdge, y: contentRect.top },\n { x: contentFarEdge, y: contentRect.bottom },\n { x: contentNearEdge, y: contentRect.bottom }\n ],\n side\n });\n window.clearTimeout(pointerGraceTimerRef.current);\n pointerGraceTimerRef.current = window.setTimeout(\n () => contentContext.onPointerGraceIntentChange(null),\n 300\n );\n } else {\n contentContext.onTriggerLeave(event);\n if (event.defaultPrevented) return;\n contentContext.onPointerGraceIntentChange(null);\n }\n })\n ),\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n const isTypingAhead = contentContext.searchRef.current !== \"\";\n if (props.disabled || isTypingAhead && event.key === \" \") return;\n if (SUB_OPEN_KEYS[rootContext.dir].includes(event.key)) {\n context.onOpenChange(true);\n context.content?.focus();\n event.preventDefault();\n }\n })\n }\n ) });\n }\n);\nMenuSubTrigger.displayName = SUB_TRIGGER_NAME;\nvar SUB_CONTENT_NAME = \"MenuSubContent\";\nvar MenuSubContent = React.forwardRef(\n (props, forwardedRef) => {\n const portalContext = usePortalContext(CONTENT_NAME, props.__scopeMenu);\n const { forceMount = portalContext.forceMount, ...subContentProps } = props;\n const context = useMenuContext(CONTENT_NAME, props.__scopeMenu);\n const rootContext = useMenuRootContext(CONTENT_NAME, props.__scopeMenu);\n const subContext = useMenuSubContext(SUB_CONTENT_NAME, props.__scopeMenu);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n return /* @__PURE__ */ jsx(Collection.Provider, { scope: props.__scopeMenu, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(Collection.Slot, { scope: props.__scopeMenu, children: /* @__PURE__ */ jsx(\n MenuContentImpl,\n {\n id: subContext.contentId,\n \"aria-labelledby\": subContext.triggerId,\n ...subContentProps,\n ref: composedRefs,\n align: \"start\",\n side: rootContext.dir === \"rtl\" ? \"left\" : \"right\",\n disableOutsidePointerEvents: false,\n disableOutsideScroll: false,\n trapFocus: false,\n onOpenAutoFocus: (event) => {\n if (rootContext.isUsingKeyboardRef.current) ref.current?.focus();\n event.preventDefault();\n },\n onCloseAutoFocus: (event) => event.preventDefault(),\n onFocusOutside: composeEventHandlers(props.onFocusOutside, (event) => {\n if (event.target !== subContext.trigger) context.onOpenChange(false);\n }),\n onEscapeKeyDown: composeEventHandlers(props.onEscapeKeyDown, (event) => {\n rootContext.onClose();\n event.preventDefault();\n }),\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n const isKeyDownInside = event.currentTarget.contains(event.target);\n const isCloseKey = SUB_CLOSE_KEYS[rootContext.dir].includes(event.key);\n if (isKeyDownInside && isCloseKey) {\n context.onOpenChange(false);\n subContext.trigger?.focus();\n event.preventDefault();\n }\n })\n }\n ) }) }) });\n }\n);\nMenuSubContent.displayName = SUB_CONTENT_NAME;\nfunction getOpenState(open) {\n return open ? \"open\" : \"closed\";\n}\nfunction isIndeterminate(checked) {\n return checked === \"indeterminate\";\n}\nfunction getCheckedState(checked) {\n return isIndeterminate(checked) ? \"indeterminate\" : checked ? \"checked\" : \"unchecked\";\n}\nfunction focusFirst(candidates) {\n const PREVIOUSLY_FOCUSED_ELEMENT = document.activeElement;\n for (const candidate of candidates) {\n if (candidate === PREVIOUSLY_FOCUSED_ELEMENT) return;\n candidate.focus();\n if (document.activeElement !== PREVIOUSLY_FOCUSED_ELEMENT) return;\n }\n}\nfunction wrapArray(array, startIndex) {\n return array.map((_, index) => array[(startIndex + index) % array.length]);\n}\nfunction getNextMatch(values, search, currentMatch) {\n const isRepeated = search.length > 1 && Array.from(search).every((char) => char === search[0]);\n const normalizedSearch = isRepeated ? search[0] : search;\n const currentMatchIndex = currentMatch ? values.indexOf(currentMatch) : -1;\n let wrappedValues = wrapArray(values, Math.max(currentMatchIndex, 0));\n const excludeCurrentMatch = normalizedSearch.length === 1;\n if (excludeCurrentMatch) wrappedValues = wrappedValues.filter((v) => v !== currentMatch);\n const nextMatch = wrappedValues.find(\n (value) => value.toLowerCase().startsWith(normalizedSearch.toLowerCase())\n );\n return nextMatch !== currentMatch ? nextMatch : void 0;\n}\nfunction isPointInPolygon(point, polygon) {\n const { x, y } = point;\n let inside = false;\n for (let i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {\n const ii = polygon[i];\n const jj = polygon[j];\n const xi = ii.x;\n const yi = ii.y;\n const xj = jj.x;\n const yj = jj.y;\n const intersect = yi > y !== yj > y && x < (xj - xi) * (y - yi) / (yj - yi) + xi;\n if (intersect) inside = !inside;\n }\n return inside;\n}\nfunction isPointerInGraceArea(event, area) {\n if (!area) return false;\n const cursorPos = { x: event.clientX, y: event.clientY };\n return isPointInPolygon(cursorPos, area);\n}\nfunction whenMouse(handler) {\n return (event) => event.pointerType === \"mouse\" ? handler(event) : void 0;\n}\nvar Root3 = Menu;\nvar Anchor2 = MenuAnchor;\nvar Portal = MenuPortal;\nvar Content2 = MenuContent;\nvar Group = MenuGroup;\nvar Label = MenuLabel;\nvar Item2 = MenuItem;\nvar CheckboxItem = MenuCheckboxItem;\nvar RadioGroup = MenuRadioGroup;\nvar RadioItem = MenuRadioItem;\nvar ItemIndicator = MenuItemIndicator;\nvar Separator = MenuSeparator;\nvar Arrow2 = MenuArrow;\nvar Sub = MenuSub;\nvar SubTrigger = MenuSubTrigger;\nvar SubContent = MenuSubContent;\nexport {\n Anchor2 as Anchor,\n Arrow2 as Arrow,\n CheckboxItem,\n Content2 as Content,\n Group,\n Item2 as Item,\n ItemIndicator,\n Label,\n Menu,\n MenuAnchor,\n MenuArrow,\n MenuCheckboxItem,\n MenuContent,\n MenuGroup,\n MenuItem,\n MenuItemIndicator,\n MenuLabel,\n MenuPortal,\n MenuRadioGroup,\n MenuRadioItem,\n MenuSeparator,\n MenuSub,\n MenuSubContent,\n MenuSubTrigger,\n Portal,\n RadioGroup,\n RadioItem,\n Root3 as Root,\n Separator,\n Sub,\n SubContent,\n SubTrigger,\n createMenuScope\n};\n//# sourceMappingURL=index.mjs.map\n"],"names":["PopperPrimitive.Root","PopperPrimitive.Anchor","PortalPrimitive","RemoveScroll","RovingFocusGroup.Root","PopperPrimitive.Content","RovingFocusGroup.Item","PopperPrimitive.Arrow","Root","Anchor","Content","Item","Arrow"],"mappings":"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","x_google_ignoreList":[0]}
|
@@ -0,0 +1,145 @@
|
|
1
|
+
import * as React from 'react';
|
2
|
+
import { u as useComposedRefs } from './index-B4VRyyD1.mjs';
|
3
|
+
import { u as useLayoutEffect2 } from './index-BZUrHhU8.mjs';
|
4
|
+
|
5
|
+
function useStateMachine(initialState, machine) {
|
6
|
+
return React.useReducer((state, event)=>{
|
7
|
+
const nextState = machine[state][event];
|
8
|
+
return nextState ?? state;
|
9
|
+
}, initialState);
|
10
|
+
}
|
11
|
+
// src/presence.tsx
|
12
|
+
var Presence = (props)=>{
|
13
|
+
const { present, children } = props;
|
14
|
+
const presence = usePresence(present);
|
15
|
+
const child = typeof children === "function" ? children({
|
16
|
+
present: presence.isPresent
|
17
|
+
}) : React.Children.only(children);
|
18
|
+
const ref = useComposedRefs(presence.ref, getElementRef(child));
|
19
|
+
const forceMount = typeof children === "function";
|
20
|
+
return forceMount || presence.isPresent ? React.cloneElement(child, {
|
21
|
+
ref
|
22
|
+
}) : null;
|
23
|
+
};
|
24
|
+
Presence.displayName = "Presence";
|
25
|
+
function usePresence(present) {
|
26
|
+
const [node, setNode] = React.useState();
|
27
|
+
const stylesRef = React.useRef(null);
|
28
|
+
const prevPresentRef = React.useRef(present);
|
29
|
+
const prevAnimationNameRef = React.useRef("none");
|
30
|
+
const initialState = present ? "mounted" : "unmounted";
|
31
|
+
const [state, send] = useStateMachine(initialState, {
|
32
|
+
mounted: {
|
33
|
+
UNMOUNT: "unmounted",
|
34
|
+
ANIMATION_OUT: "unmountSuspended"
|
35
|
+
},
|
36
|
+
unmountSuspended: {
|
37
|
+
MOUNT: "mounted",
|
38
|
+
ANIMATION_END: "unmounted"
|
39
|
+
},
|
40
|
+
unmounted: {
|
41
|
+
MOUNT: "mounted"
|
42
|
+
}
|
43
|
+
});
|
44
|
+
React.useEffect(()=>{
|
45
|
+
const currentAnimationName = getAnimationName(stylesRef.current);
|
46
|
+
prevAnimationNameRef.current = state === "mounted" ? currentAnimationName : "none";
|
47
|
+
}, [
|
48
|
+
state
|
49
|
+
]);
|
50
|
+
useLayoutEffect2(()=>{
|
51
|
+
const styles = stylesRef.current;
|
52
|
+
const wasPresent = prevPresentRef.current;
|
53
|
+
const hasPresentChanged = wasPresent !== present;
|
54
|
+
if (hasPresentChanged) {
|
55
|
+
const prevAnimationName = prevAnimationNameRef.current;
|
56
|
+
const currentAnimationName = getAnimationName(styles);
|
57
|
+
if (present) {
|
58
|
+
send("MOUNT");
|
59
|
+
} else if (currentAnimationName === "none" || styles?.display === "none") {
|
60
|
+
send("UNMOUNT");
|
61
|
+
} else {
|
62
|
+
const isAnimating = prevAnimationName !== currentAnimationName;
|
63
|
+
if (wasPresent && isAnimating) {
|
64
|
+
send("ANIMATION_OUT");
|
65
|
+
} else {
|
66
|
+
send("UNMOUNT");
|
67
|
+
}
|
68
|
+
}
|
69
|
+
prevPresentRef.current = present;
|
70
|
+
}
|
71
|
+
}, [
|
72
|
+
present,
|
73
|
+
send
|
74
|
+
]);
|
75
|
+
useLayoutEffect2(()=>{
|
76
|
+
if (node) {
|
77
|
+
let timeoutId;
|
78
|
+
const ownerWindow = node.ownerDocument.defaultView ?? window;
|
79
|
+
const handleAnimationEnd = (event)=>{
|
80
|
+
const currentAnimationName = getAnimationName(stylesRef.current);
|
81
|
+
const isCurrentAnimation = currentAnimationName.includes(CSS.escape(event.animationName));
|
82
|
+
if (event.target === node && isCurrentAnimation) {
|
83
|
+
send("ANIMATION_END");
|
84
|
+
if (!prevPresentRef.current) {
|
85
|
+
const currentFillMode = node.style.animationFillMode;
|
86
|
+
node.style.animationFillMode = "forwards";
|
87
|
+
timeoutId = ownerWindow.setTimeout(()=>{
|
88
|
+
if (node.style.animationFillMode === "forwards") {
|
89
|
+
node.style.animationFillMode = currentFillMode;
|
90
|
+
}
|
91
|
+
});
|
92
|
+
}
|
93
|
+
}
|
94
|
+
};
|
95
|
+
const handleAnimationStart = (event)=>{
|
96
|
+
if (event.target === node) {
|
97
|
+
prevAnimationNameRef.current = getAnimationName(stylesRef.current);
|
98
|
+
}
|
99
|
+
};
|
100
|
+
node.addEventListener("animationstart", handleAnimationStart);
|
101
|
+
node.addEventListener("animationcancel", handleAnimationEnd);
|
102
|
+
node.addEventListener("animationend", handleAnimationEnd);
|
103
|
+
return ()=>{
|
104
|
+
ownerWindow.clearTimeout(timeoutId);
|
105
|
+
node.removeEventListener("animationstart", handleAnimationStart);
|
106
|
+
node.removeEventListener("animationcancel", handleAnimationEnd);
|
107
|
+
node.removeEventListener("animationend", handleAnimationEnd);
|
108
|
+
};
|
109
|
+
} else {
|
110
|
+
send("ANIMATION_END");
|
111
|
+
}
|
112
|
+
}, [
|
113
|
+
node,
|
114
|
+
send
|
115
|
+
]);
|
116
|
+
return {
|
117
|
+
isPresent: [
|
118
|
+
"mounted",
|
119
|
+
"unmountSuspended"
|
120
|
+
].includes(state),
|
121
|
+
ref: React.useCallback((node2)=>{
|
122
|
+
stylesRef.current = node2 ? getComputedStyle(node2) : null;
|
123
|
+
setNode(node2);
|
124
|
+
}, [])
|
125
|
+
};
|
126
|
+
}
|
127
|
+
function getAnimationName(styles) {
|
128
|
+
return styles?.animationName || "none";
|
129
|
+
}
|
130
|
+
function getElementRef(element) {
|
131
|
+
let getter = Object.getOwnPropertyDescriptor(element.props, "ref")?.get;
|
132
|
+
let mayWarn = getter && "isReactWarning" in getter && getter.isReactWarning;
|
133
|
+
if (mayWarn) {
|
134
|
+
return element.ref;
|
135
|
+
}
|
136
|
+
getter = Object.getOwnPropertyDescriptor(element, "ref")?.get;
|
137
|
+
mayWarn = getter && "isReactWarning" in getter && getter.isReactWarning;
|
138
|
+
if (mayWarn) {
|
139
|
+
return element.props.ref;
|
140
|
+
}
|
141
|
+
return element.props.ref || element.ref;
|
142
|
+
}
|
143
|
+
|
144
|
+
export { Presence as P };
|
145
|
+
//# sourceMappingURL=index-D2wfJaZh.mjs.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index-D2wfJaZh.mjs","sources":["../../node_modules/@radix-ui/react-presence/dist/index.mjs"],"sourcesContent":["\"use client\";\n\n// src/presence.tsx\nimport * as React2 from \"react\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\n\n// src/use-state-machine.tsx\nimport * as React from \"react\";\nfunction useStateMachine(initialState, machine) {\n return React.useReducer((state, event) => {\n const nextState = machine[state][event];\n return nextState ?? state;\n }, initialState);\n}\n\n// src/presence.tsx\nvar Presence = (props) => {\n const { present, children } = props;\n const presence = usePresence(present);\n const child = typeof children === \"function\" ? children({ present: presence.isPresent }) : React2.Children.only(children);\n const ref = useComposedRefs(presence.ref, getElementRef(child));\n const forceMount = typeof children === \"function\";\n return forceMount || presence.isPresent ? React2.cloneElement(child, { ref }) : null;\n};\nPresence.displayName = \"Presence\";\nfunction usePresence(present) {\n const [node, setNode] = React2.useState();\n const stylesRef = React2.useRef(null);\n const prevPresentRef = React2.useRef(present);\n const prevAnimationNameRef = React2.useRef(\"none\");\n const initialState = present ? \"mounted\" : \"unmounted\";\n const [state, send] = useStateMachine(initialState, {\n mounted: {\n UNMOUNT: \"unmounted\",\n ANIMATION_OUT: \"unmountSuspended\"\n },\n unmountSuspended: {\n MOUNT: \"mounted\",\n ANIMATION_END: \"unmounted\"\n },\n unmounted: {\n MOUNT: \"mounted\"\n }\n });\n React2.useEffect(() => {\n const currentAnimationName = getAnimationName(stylesRef.current);\n prevAnimationNameRef.current = state === \"mounted\" ? currentAnimationName : \"none\";\n }, [state]);\n useLayoutEffect(() => {\n const styles = stylesRef.current;\n const wasPresent = prevPresentRef.current;\n const hasPresentChanged = wasPresent !== present;\n if (hasPresentChanged) {\n const prevAnimationName = prevAnimationNameRef.current;\n const currentAnimationName = getAnimationName(styles);\n if (present) {\n send(\"MOUNT\");\n } else if (currentAnimationName === \"none\" || styles?.display === \"none\") {\n send(\"UNMOUNT\");\n } else {\n const isAnimating = prevAnimationName !== currentAnimationName;\n if (wasPresent && isAnimating) {\n send(\"ANIMATION_OUT\");\n } else {\n send(\"UNMOUNT\");\n }\n }\n prevPresentRef.current = present;\n }\n }, [present, send]);\n useLayoutEffect(() => {\n if (node) {\n let timeoutId;\n const ownerWindow = node.ownerDocument.defaultView ?? window;\n const handleAnimationEnd = (event) => {\n const currentAnimationName = getAnimationName(stylesRef.current);\n const isCurrentAnimation = currentAnimationName.includes(CSS.escape(event.animationName));\n if (event.target === node && isCurrentAnimation) {\n send(\"ANIMATION_END\");\n if (!prevPresentRef.current) {\n const currentFillMode = node.style.animationFillMode;\n node.style.animationFillMode = \"forwards\";\n timeoutId = ownerWindow.setTimeout(() => {\n if (node.style.animationFillMode === \"forwards\") {\n node.style.animationFillMode = currentFillMode;\n }\n });\n }\n }\n };\n const handleAnimationStart = (event) => {\n if (event.target === node) {\n prevAnimationNameRef.current = getAnimationName(stylesRef.current);\n }\n };\n node.addEventListener(\"animationstart\", handleAnimationStart);\n node.addEventListener(\"animationcancel\", handleAnimationEnd);\n node.addEventListener(\"animationend\", handleAnimationEnd);\n return () => {\n ownerWindow.clearTimeout(timeoutId);\n node.removeEventListener(\"animationstart\", handleAnimationStart);\n node.removeEventListener(\"animationcancel\", handleAnimationEnd);\n node.removeEventListener(\"animationend\", handleAnimationEnd);\n };\n } else {\n send(\"ANIMATION_END\");\n }\n }, [node, send]);\n return {\n isPresent: [\"mounted\", \"unmountSuspended\"].includes(state),\n ref: React2.useCallback((node2) => {\n stylesRef.current = node2 ? getComputedStyle(node2) : null;\n setNode(node2);\n }, [])\n };\n}\nfunction getAnimationName(styles) {\n return styles?.animationName || \"none\";\n}\nfunction getElementRef(element) {\n let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.ref;\n }\n getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.props.ref;\n }\n return element.props.ref || element.ref;\n}\nvar Root = Presence;\nexport {\n Presence,\n Root\n};\n//# sourceMappingURL=index.mjs.map\n"],"names":["React2","useLayoutEffect","node"],"mappings":";;;;;;;;;;;AAUA,IAAM,QAAA,GAAoC,CAAC,KAAA,GAAA;AACzC,IAAA,MAAM,EAAE,OAAA,EAAS,QAAA,EAAS,GAAI,KAAA;IAC9B,MAAM,QAAA,GAAW,YAAY,OAAO,CAAA;AAEpC,IAAA,MAAM,KAAA,GACJ,OAAO,QAAA,KAAa,UAAA,GAChB,QAAA,CAAS;AAAE,QAAA,OAAA,EAAS,SAAS;AAAU,KAAC,IAClCA,KAAA,CAAA,QAAA,CAAS,IAAA,CAAK,QAAQ,CAAA;AAGlC,IAAA,MAAM,MAAM,eAAA,CAAgB,QAAA,CAAS,GAAA,EAAK,aAAA,CAAc,KAAK,CAAC,CAAA;IAC9D,MAAM,UAAA,GAAa,OAAO,QAAA,KAAa,UAAA;AACvC,IAAA,OAAO,cAAc,QAAA,CAAS,SAAA,GAAkBA,KAAA,CAAA,YAAA,CAAa,KAAA,EAAO;AAAE,QAAA;AAAI,KAAC,CAAA,GAAI,IAAA;AACjF;AAEA,QAAA,CAAS,WAAA,GAAc,UAAA;AAMvB,SAAS,WAAA,CAAY,OAAA,EAAkB;AACrC,IAAA,MAAM,CAAC,IAAA,EAAM,OAAO,CAAA,GAAUA,KAAA,CAAA,QAAA,EAAsB;AACpD,IAAA,MAAM,SAAA,GAAkBA,KAAA,CAAA,MAAA,CAAmC,IAAI,CAAA;AAC/D,IAAA,MAAM,cAAA,GAAuBA,KAAA,CAAA,MAAA,CAAO,OAAO,CAAA;AAC3C,IAAA,MAAM,oBAAA,GAA6BA,KAAA,CAAA,MAAA,CAAe,MAAM,CAAA;IACxD,MAAM,YAAA,GAAe,UAAU,SAAA,GAAY,WAAA;AAC3C,IAAA,MAAM,CAAC,KAAA,EAAO,IAAI,CAAA,GAAI,gBAAgB,YAAA,EAAc;QAClD,OAAA,EAAS;YACP,OAAA,EAAS,WAAA;YACT,aAAA,EAAe;AACjB,SAAA;QACA,gBAAA,EAAkB;YAChB,KAAA,EAAO,SAAA;YACP,aAAA,EAAe;AACjB,SAAA;QACA,SAAA,EAAW;YACT,KAAA,EAAO;AACT;KACD,CAAA;IAEKA,KAAA,CAAA,SAAA,CAAU,IAAA;QACd,MAAM,oBAAA,GAAuB,gBAAA,CAAiB,SAAA,CAAU,OAAO,CAAA;AAC/D,QAAA,oBAAA,CAAqB,OAAA,GAAU,KAAA,KAAU,SAAA,GAAY,oBAAA,GAAuB,MAAA;IAC9E,CAAA,EAAG;QAAC;AAAM,KAAA,CAAA;AAEV,IAAAC,gBAAA,CAAgB,IAAA;QACd,MAAM,MAAA,GAAS,UAAU,OAAA;QACzB,MAAM,UAAA,GAAa,eAAe,OAAA;AAClC,QAAA,MAAM,oBAAoB,UAAA,KAAe,OAAA;AAEzC,QAAA,IAAI,iBAAA,EAAmB;YACrB,MAAM,iBAAA,GAAoB,qBAAqB,OAAA;YAC/C,MAAM,oBAAA,GAAuB,iBAAiB,MAAM,CAAA;AAEpD,YAAA,IAAI,OAAA,EAAS;AACX,gBAAA,IAAA,CAAK,OAAO,CAAA;AACd,YAAA,CAAA,MAAA,IAAW,oBAAA,KAAyB,MAAA,IAAU,MAAA,EAAQ,YAAY,MAAA,EAAQ;AAGxE,gBAAA,IAAA,CAAK,SAAS,CAAA;YAChB,CAAA,MAAO;AAOL,gBAAA,MAAM,cAAc,iBAAA,KAAsB,oBAAA;AAE1C,gBAAA,IAAI,cAAc,WAAA,EAAa;AAC7B,oBAAA,IAAA,CAAK,eAAe,CAAA;gBACtB,CAAA,MAAO;AACL,oBAAA,IAAA,CAAK,SAAS,CAAA;AAChB,gBAAA;AACF,YAAA;AAEA,YAAA,cAAA,CAAe,OAAA,GAAU,OAAA;AAC3B,QAAA;IACF,CAAA,EAAG;AAAC,QAAA,OAAA;QAAS;AAAK,KAAA,CAAA;AAElB,IAAAA,gBAAA,CAAgB,IAAA;AACd,QAAA,IAAI,IAAA,EAAM;YACR,IAAI,SAAA;AACJ,YAAA,MAAM,WAAA,GAAc,IAAA,CAAK,aAAA,CAAc,WAAA,IAAe,MAAA;YAMtD,MAAM,kBAAA,GAAqB,CAAC,KAAA,GAAA;gBAC1B,MAAM,oBAAA,GAAuB,gBAAA,CAAiB,SAAA,CAAU,OAAO,CAAA;gBAG/D,MAAM,kBAAA,GAAqB,qBAAqB,QAAA,CAAS,IAAI,MAAA,CAAO,KAAA,CAAM,aAAa,CAAC,CAAA;AACxF,gBAAA,IAAI,KAAA,CAAM,MAAA,KAAW,IAAA,IAAQ,kBAAA,EAAoB;AAW/C,oBAAA,IAAA,CAAK,eAAe,CAAA;oBACpB,IAAI,CAAC,cAAA,CAAe,OAAA,EAAS;AAC3B,wBAAA,MAAM,eAAA,GAAkB,IAAA,CAAK,KAAA,CAAM,iBAAA;wBACnC,IAAA,CAAK,KAAA,CAAM,iBAAA,GAAoB,UAAA;wBAK/B,SAAA,GAAY,WAAA,CAAY,UAAA,CAAW,IAAA;AACjC,4BAAA,IAAI,IAAA,CAAK,KAAA,CAAM,iBAAA,KAAsB,UAAA,EAAY;gCAC/C,IAAA,CAAK,KAAA,CAAM,iBAAA,GAAoB,eAAA;AACjC,4BAAA;wBACF,CAAC,CAAA;AACH,oBAAA;AACF,gBAAA;AACF,YAAA,CAAA;YACA,MAAM,oBAAA,GAAuB,CAAC,KAAA,GAAA;gBAC5B,IAAI,KAAA,CAAM,MAAA,KAAW,IAAA,EAAM;AAEzB,oBAAA,oBAAA,CAAqB,OAAA,GAAU,gBAAA,CAAiB,SAAA,CAAU,OAAO,CAAA;AACnE,gBAAA;AACF,YAAA,CAAA;YACA,IAAA,CAAK,gBAAA,CAAiB,gBAAA,EAAkB,oBAAoB,CAAA;YAC5D,IAAA,CAAK,gBAAA,CAAiB,iBAAA,EAAmB,kBAAkB,CAAA;YAC3D,IAAA,CAAK,gBAAA,CAAiB,cAAA,EAAgB,kBAAkB,CAAA;AACxD,YAAA,OAAO,IAAA;gBACL,WAAA,CAAY,YAAA,CAAa,SAAS,CAAA;gBAClC,IAAA,CAAK,mBAAA,CAAoB,gBAAA,EAAkB,oBAAoB,CAAA;gBAC/D,IAAA,CAAK,mBAAA,CAAoB,iBAAA,EAAmB,kBAAkB,CAAA;gBAC9D,IAAA,CAAK,mBAAA,CAAoB,cAAA,EAAgB,kBAAkB,CAAA;AAC7D,YAAA,CAAA;QACF,CAAA,MAAO;AAGL,YAAA,IAAA,CAAK,eAAe,CAAA;AACtB,QAAA;IACF,CAAA,EAAG;AAAC,QAAA,IAAA;QAAM;AAAK,KAAA,CAAA;IAEf,OAAO;QACL,SAAA,EAAW;AAAC,YAAA,SAAA;YAAW;SAAkB,CAAE,QAAA,CAAS,KAAK,CAAA;AACzD,QAAA,GAAA,EAAWD,KAAA,CAAA,WAAA,CAAY,CAACE,KAAAA,GAAAA;AACtB,YAAA,SAAA,CAAU,OAAA,GAAUA,KAAAA,GAAO,gBAAA,CAAiBA,KAAI,CAAA,GAAI,IAAA;AACpD,YAAA,OAAA,CAAQA,KAAI,CAAA;AACd,QAAA,CAAA,EAAG,EAAE;AACP,KAAA;AACF;AAIA,SAAS,gBAAA,CAAiB,MAAA,EAAoC;AAC5D,IAAA,OAAO,QAAQ,aAAA,IAAiB,MAAA;AAClC;AAOA,SAAS,aAAA,CAAc,OAAA,EAA2D;IAEhF,IAAI,MAAA,GAAS,OAAO,wBAAA,CAAyB,QAAQ,KAAA,EAAO,KAAK,CAAA,EAAG,GAAA;AACpE,IAAA,IAAI,OAAA,GAAU,MAAA,IAAU,gBAAA,IAAoB,MAAA,IAAU,OAAO,cAAA;AAC7D,IAAA,IAAI,OAAA,EAAS;AACX,QAAA,OAAQ,QAAgB,GAAA;AAC1B,IAAA;AAGA,IAAA,MAAA,GAAS,MAAA,CAAO,wBAAA,CAAyB,OAAA,EAAS,KAAK,CAAA,EAAG,GAAA;AAC1D,IAAA,OAAA,GAAU,MAAA,IAAU,gBAAA,IAAoB,MAAA,IAAU,MAAA,CAAO,cAAA;AACzD,IAAA,IAAI,OAAA,EAAS;QACX,OAAO,OAAA,CAAQ,KAAA,CAAM,GAAA;AACvB,IAAA;AAGA,IAAA,OAAO,QAAQ,KAAA,CAAM,GAAA,IAAQ,QAAgB,GAAA;AAC/C;;;;","x_google_ignoreList":[0]}
|
@@ -0,0 +1,34 @@
|
|
1
|
+
import * as React from 'react';
|
2
|
+
import { P as Primitive } from './index-D0S6rRRE.mjs';
|
3
|
+
import { jsx } from 'react/jsx-runtime';
|
4
|
+
|
5
|
+
// src/visually-hidden.tsx
|
6
|
+
var VISUALLY_HIDDEN_STYLES = Object.freeze({
|
7
|
+
// See: https://github.com/twbs/bootstrap/blob/main/scss/mixins/_visually-hidden.scss
|
8
|
+
position: "absolute",
|
9
|
+
border: 0,
|
10
|
+
width: 1,
|
11
|
+
height: 1,
|
12
|
+
padding: 0,
|
13
|
+
margin: -1,
|
14
|
+
overflow: "hidden",
|
15
|
+
clip: "rect(0, 0, 0, 0)",
|
16
|
+
whiteSpace: "nowrap",
|
17
|
+
wordWrap: "normal"
|
18
|
+
});
|
19
|
+
var NAME = "VisuallyHidden";
|
20
|
+
var VisuallyHidden = React.forwardRef((props, forwardedRef)=>{
|
21
|
+
return /* @__PURE__ */ jsx(Primitive.span, {
|
22
|
+
...props,
|
23
|
+
ref: forwardedRef,
|
24
|
+
style: {
|
25
|
+
...VISUALLY_HIDDEN_STYLES,
|
26
|
+
...props.style
|
27
|
+
}
|
28
|
+
});
|
29
|
+
});
|
30
|
+
VisuallyHidden.displayName = NAME;
|
31
|
+
var Root = VisuallyHidden;
|
32
|
+
|
33
|
+
export { Root as R, VisuallyHidden as V };
|
34
|
+
//# sourceMappingURL=index-DNvm9MP3.mjs.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index-
|
1
|
+
{"version":3,"file":"index-DNvm9MP3.mjs","sources":["../../node_modules/@radix-ui/react-visually-hidden/dist/index.mjs"],"sourcesContent":["// src/visually-hidden.tsx\nimport * as React from \"react\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { jsx } from \"react/jsx-runtime\";\nvar VISUALLY_HIDDEN_STYLES = Object.freeze({\n // See: https://github.com/twbs/bootstrap/blob/main/scss/mixins/_visually-hidden.scss\n position: \"absolute\",\n border: 0,\n width: 1,\n height: 1,\n padding: 0,\n margin: -1,\n overflow: \"hidden\",\n clip: \"rect(0, 0, 0, 0)\",\n whiteSpace: \"nowrap\",\n wordWrap: \"normal\"\n});\nvar NAME = \"VisuallyHidden\";\nvar VisuallyHidden = React.forwardRef(\n (props, forwardedRef) => {\n return /* @__PURE__ */ jsx(\n Primitive.span,\n {\n ...props,\n ref: forwardedRef,\n style: { ...VISUALLY_HIDDEN_STYLES, ...props.style }\n }\n );\n }\n);\nVisuallyHidden.displayName = NAME;\nvar Root = VisuallyHidden;\nexport {\n Root,\n VISUALLY_HIDDEN_STYLES,\n VisuallyHidden\n};\n//# sourceMappingURL=index.mjs.map\n"],"names":[],"mappings":";;;;;AAOA,IAAM,sBAAA,GAAyB,MAAA,CAAO,MAAA,CAAO;;IAE3C,QAAA,EAAU,UAAA;IACV,MAAA,EAAQ,CAAA;IACR,KAAA,EAAO,CAAA;IACP,MAAA,EAAQ,CAAA;IACR,OAAA,EAAS,CAAA;AACT,IAAA,MAAA,EAAQ,EAAA;IACR,QAAA,EAAU,QAAA;IACV,IAAA,EAAM,kBAAA;IACN,UAAA,EAAY,QAAA;IACZ,QAAA,EAAU;AACZ,CAAC,CAAA;AAED,IAAM,IAAA,GAAO,gBAAA;AAMb,IAAM,iBAAuB,KAAA,CAAA,UAAA,CAC3B,CAAC,OAAO,YAAA,GAAA;AACN,IAAA,uBACE,GAAA,CAAC,SAAA,CAAU,IAAA,EAAV;AACE,QAAA,GAAG,KAAA;QACJ,GAAA,EAAK,YAAA;QACL,KAAA,EAAO;AAAE,YAAA,GAAG,sBAAA;AAAwB,YAAA,GAAG,MAAM;AAAM;AAAA,KAAA,CAAA;AAGzD,CAAA;AAGF,cAAA,CAAe,WAAA,GAAc,IAAA;AAI7B,IAAM,IAAA,GAAO;;;;","x_google_ignoreList":[0]}
|
@@ -0,0 +1,12 @@
|
|
1
|
+
// src/primitive.tsx
|
2
|
+
function composeEventHandlers(originalEventHandler, ourEventHandler, { checkForDefaultPrevented = true } = {}) {
|
3
|
+
return function handleEvent(event) {
|
4
|
+
originalEventHandler?.(event);
|
5
|
+
if (checkForDefaultPrevented === false || !event.defaultPrevented) {
|
6
|
+
return ourEventHandler?.(event);
|
7
|
+
}
|
8
|
+
};
|
9
|
+
}
|
10
|
+
|
11
|
+
export { composeEventHandlers as c };
|
12
|
+
//# sourceMappingURL=index-Dm4_czlz.mjs.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index-Dm4_czlz.mjs","sources":["../../node_modules/@radix-ui/primitive/dist/index.mjs"],"sourcesContent":["// src/primitive.tsx\nvar canUseDOM = !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\nfunction composeEventHandlers(originalEventHandler, ourEventHandler, { checkForDefaultPrevented = true } = {}) {\n return function handleEvent(event) {\n originalEventHandler?.(event);\n if (checkForDefaultPrevented === false || !event.defaultPrevented) {\n return ourEventHandler?.(event);\n }\n };\n}\nfunction getOwnerWindow(element) {\n if (!canUseDOM) {\n throw new Error(\"Cannot access window outside of the DOM\");\n }\n return element?.ownerDocument?.defaultView ?? window;\n}\nfunction getOwnerDocument(element) {\n if (!canUseDOM) {\n throw new Error(\"Cannot access document outside of the DOM\");\n }\n return element?.ownerDocument ?? document;\n}\nfunction getActiveElement(node, activeDescendant = false) {\n const { activeElement } = getOwnerDocument(node);\n if (!activeElement?.nodeName) {\n return null;\n }\n if (isFrame(activeElement) && activeElement.contentDocument) {\n return getActiveElement(activeElement.contentDocument.body, activeDescendant);\n }\n if (activeDescendant) {\n const id = activeElement.getAttribute(\"aria-activedescendant\");\n if (id) {\n const element = getOwnerDocument(activeElement).getElementById(id);\n if (element) {\n return element;\n }\n }\n }\n return activeElement;\n}\nfunction isFrame(element) {\n return element.tagName === \"IFRAME\";\n}\nexport {\n canUseDOM,\n composeEventHandlers,\n getActiveElement,\n getOwnerDocument,\n getOwnerWindow,\n isFrame\n};\n//# sourceMappingURL=index.mjs.map\n"],"names":[],"mappings":";AAUO,SAAS,oBAAA,CACd,oBAAA,EACA,eAAA,EACA,EAAE,wBAAA,GAA2B,IAAA,EAAK,GAAI,EAAC,EACvC;IACA,OAAO,SAAS,WAAA,CAAY,KAAA,EAAU;AACpC,QAAA,oBAAA,GAAuB,KAAK,CAAA;AAE5B,QAAA,IAAI,wBAAA,KAA6B,KAAA,IAAS,CAAC,KAAA,CAAM,gBAAA,EAAkB;AACjE,YAAA,OAAO,kBAAkB,KAAK,CAAA;AAChC,QAAA;AACF,IAAA,CAAA;AACF;;;;","x_google_ignoreList":[0]}
|