@tamagui/create-menu 2.7.6 → 3.0.0-beta.637.1
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/cjs/createBaseMenu.cjs +1033 -1247
- package/dist/cjs/createBaseMenu.native.cjs +1217 -0
- package/dist/cjs/createBaseMenu.native.js +1155 -1387
- package/dist/cjs/createBaseMenu.native.js.map +1 -1
- package/dist/cjs/createNativeMenu/createNativeMenu.cjs +346 -377
- package/dist/cjs/createNativeMenu/createNativeMenu.native.cjs +439 -0
- package/dist/cjs/createNativeMenu/createNativeMenu.native.js +405 -439
- package/dist/cjs/createNativeMenu/createNativeMenu.native.js.map +1 -1
- package/dist/cjs/createNativeMenu/createNativeMenuTypes.cjs +10 -11
- package/dist/cjs/createNativeMenu/createNativeMenuTypes.native.cjs +19 -0
- package/dist/cjs/createNativeMenu/createNativeMenuTypes.native.js +10 -10
- package/dist/cjs/createNativeMenu/createNativeMenuTypes.native.js.map +1 -1
- package/dist/cjs/createNativeMenu/utils.cjs +76 -86
- package/dist/cjs/createNativeMenu/utils.native.cjs +107 -0
- package/dist/cjs/createNativeMenu/utils.native.js +82 -92
- package/dist/cjs/createNativeMenu/utils.native.js.map +1 -1
- package/dist/cjs/createNativeMenu/withNativeMenu.cjs +27 -35
- package/dist/cjs/createNativeMenu/withNativeMenu.native.cjs +42 -0
- package/dist/cjs/createNativeMenu/withNativeMenu.native.js +27 -34
- package/dist/cjs/createNativeMenu/withNativeMenu.native.js.map +1 -1
- package/dist/cjs/index.cjs +9 -20
- package/dist/cjs/index.native.cjs +23 -0
- package/dist/cjs/index.native.js +10 -20
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/esm/createBaseMenu.mjs +1021 -1225
- package/dist/esm/createBaseMenu.mjs.map +1 -1
- package/dist/esm/createBaseMenu.native.js +1144 -1367
- package/dist/esm/createBaseMenu.native.js.map +1 -1
- package/dist/esm/createNativeMenu/createNativeMenu.mjs +332 -353
- package/dist/esm/createNativeMenu/createNativeMenu.mjs.map +1 -1
- package/dist/esm/createNativeMenu/createNativeMenu.native.js +392 -417
- package/dist/esm/createNativeMenu/createNativeMenu.native.js.map +1 -1
- package/dist/esm/createNativeMenu/createNativeMenuTypes.mjs +0 -2
- package/dist/esm/createNativeMenu/createNativeMenuTypes.native.js +0 -2
- package/dist/esm/createNativeMenu/utils.mjs +55 -57
- package/dist/esm/createNativeMenu/utils.mjs.map +1 -1
- package/dist/esm/createNativeMenu/utils.native.js +62 -65
- package/dist/esm/createNativeMenu/utils.native.js.map +1 -1
- package/dist/esm/createNativeMenu/withNativeMenu.mjs +14 -17
- package/dist/esm/createNativeMenu/withNativeMenu.mjs.map +1 -1
- package/dist/esm/createNativeMenu/withNativeMenu.native.js +15 -18
- package/dist/esm/createNativeMenu/withNativeMenu.native.js.map +1 -1
- package/dist/esm/index.js +5 -6
- package/dist/esm/index.mjs +5 -6
- package/dist/esm/index.native.js +5 -6
- package/dist/jsx/createBaseMenu.mjs +1021 -1225
- package/dist/jsx/createBaseMenu.mjs.map +1 -1
- package/dist/jsx/createBaseMenu.native.cjs +1217 -0
- package/dist/jsx/createBaseMenu.native.js +1155 -1387
- package/dist/jsx/createBaseMenu.native.js.map +1 -1
- package/dist/jsx/createNativeMenu/createNativeMenu.mjs +332 -353
- package/dist/jsx/createNativeMenu/createNativeMenu.mjs.map +1 -1
- package/dist/jsx/createNativeMenu/createNativeMenu.native.cjs +439 -0
- package/dist/jsx/createNativeMenu/createNativeMenu.native.js +405 -439
- package/dist/jsx/createNativeMenu/createNativeMenu.native.js.map +1 -1
- package/dist/jsx/createNativeMenu/createNativeMenuTypes.mjs +0 -2
- package/dist/jsx/createNativeMenu/createNativeMenuTypes.native.cjs +19 -0
- package/dist/jsx/createNativeMenu/createNativeMenuTypes.native.js +10 -10
- package/dist/jsx/createNativeMenu/createNativeMenuTypes.native.js.map +1 -1
- package/dist/jsx/createNativeMenu/utils.mjs +55 -57
- package/dist/jsx/createNativeMenu/utils.mjs.map +1 -1
- package/dist/jsx/createNativeMenu/utils.native.cjs +107 -0
- package/dist/jsx/createNativeMenu/utils.native.js +82 -92
- package/dist/jsx/createNativeMenu/utils.native.js.map +1 -1
- package/dist/jsx/createNativeMenu/withNativeMenu.mjs +14 -17
- package/dist/jsx/createNativeMenu/withNativeMenu.mjs.map +1 -1
- package/dist/jsx/createNativeMenu/withNativeMenu.native.cjs +42 -0
- package/dist/jsx/createNativeMenu/withNativeMenu.native.js +27 -34
- package/dist/jsx/createNativeMenu/withNativeMenu.native.js.map +1 -1
- package/dist/jsx/index.js +5 -6
- package/dist/jsx/index.mjs +5 -6
- package/dist/jsx/index.native.cjs +23 -0
- package/dist/jsx/index.native.js +10 -20
- package/dist/jsx/index.native.js.map +1 -1
- package/package.json +23 -22
- package/src/createBaseMenu.tsx +211 -231
- package/src/createNativeMenu/createNativeMenuTypes.ts +0 -6
- package/src/createNativeMenu/utils.tsx +6 -6
- package/src/createNativeMenu/withNativeMenu.tsx +1 -2
- package/src/index.tsx +0 -1
- package/types/createBaseMenu.d.ts +38 -126
- package/types/createBaseMenu.d.ts.map +1 -1
- package/types/createNativeMenu/createNativeMenu.d.ts +1 -1
- package/types/createNativeMenu/createNativeMenu.d.ts.map +1 -1
- package/types/createNativeMenu/createNativeMenuTypes.d.ts +0 -6
- package/types/createNativeMenu/createNativeMenuTypes.d.ts.map +1 -1
- package/types/createNativeMenu/utils.d.ts +5 -5
- package/types/createNativeMenu/utils.d.ts.map +1 -1
- package/types/createNativeMenu/withNativeMenu.d.ts.map +1 -1
- package/types/index.d.ts +0 -1
- package/types/index.d.ts.map +1 -1
- package/dist/cjs/MenuPredefined.cjs +0 -191
- package/dist/cjs/MenuPredefined.native.js +0 -194
- package/dist/cjs/MenuPredefined.native.js.map +0 -1
- package/dist/esm/MenuPredefined.mjs +0 -166
- package/dist/esm/MenuPredefined.mjs.map +0 -1
- package/dist/esm/MenuPredefined.native.js +0 -166
- package/dist/esm/MenuPredefined.native.js.map +0 -1
- package/dist/esm/createNativeMenu/createNativeMenuTypes.mjs.map +0 -1
- package/dist/esm/createNativeMenu/createNativeMenuTypes.native.js.map +0 -1
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/index.mjs.map +0 -1
- package/dist/esm/index.native.js.map +0 -1
- package/dist/jsx/MenuPredefined.mjs +0 -166
- package/dist/jsx/MenuPredefined.mjs.map +0 -1
- package/dist/jsx/MenuPredefined.native.js +0 -194
- package/dist/jsx/MenuPredefined.native.js.map +0 -1
- package/dist/jsx/createNativeMenu/createNativeMenuTypes.mjs.map +0 -1
- package/dist/jsx/index.js.map +0 -1
- package/dist/jsx/index.mjs.map +0 -1
- package/src/MenuPredefined.tsx +0 -204
- package/types/MenuPredefined.d.ts +0 -31
- package/types/MenuPredefined.d.ts.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__create","Object","create","__defProp","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__getProtoOf","getPrototypeOf","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toESM","mod","isNodeMode","__esModule","value","__toCommonJS","createBaseMenu_exports","createBaseMenu","module","exports","import_jsx_runtime","require","import_animate","import_animate_presence","import_collection","import_dismissable","import_focus_guard","import_focus_scope","PopperPrimitive","import_portal","import_remove_scroll","import_roving_focus","import_use_callback_ref","import_use_direction","import_web","React","import_react","import_MenuPredefined","_instanceof","left","right","Symbol","hasInstance","_type_of","obj","constructor","whenMouse","handler","event","pointerType","SELECTION_KEYS","FIRST_KEYS","LAST_KEYS","FIRST_LAST_KEYS","SUB_OPEN_KEYS","ltr","rtl","SUB_CLOSE_KEYS","MENU_NAME","Collection","useCollection","createCollection","Provider","MenuProvider","useStyledContext","useMenuContext","createStyledContext","MenuRootProvider","useMenuRootContext","MENU_CONTEXT","param","Item","_Item","MenuPredefined","MenuItem","Title","_Title","SubTitle","_SubTitle","Image","_Image","MenuImage","Icon","_Icon","MenuIcon","Indicator","_Indicator","MenuIndicator","Separator","_Separator","MenuSeparator","MenuGroup","_MenuGroup","Label","_Label","MenuLabel","MenuComp","props","direction","useDirection","dir","defaultPlacement","scope","open","children","onOpenChange","modal","allowFlip","padding","stayInFrame","placement","resize","offset","rest","content","setContent","useState","isUsingKeyboardRef","useRef","handleOpenChange","useCallbackRef","isWeb","useEffect","handleKeyDown","current","document","addEventListener","handlePointer","capture","once","removeEventListener","jsx","Popper","onContentChange","onClose","useCallback","MenuSubProvider","RepropagateMenuAndMenuRootProvider","menuContext","rootContext","popperContext","menuSubContext","PopperProvider","displayName","ANCHOR_NAME","MenuAnchor","PopperAnchor","PORTAL_NAME","PortalProvider","usePortalContext","MenuPortal","forceMount","zIndex","usePopperContext","useMenuSubContext","themeName","useThemeName","themedChildren","Theme","forceClassName","needsPortalRepropagation","isPresent","Animate","type","present","Portal","stackZIndex","Fragment","jsxs","View","inset","position","onPress","CONTENT_NAME","MenuContentProvider","useMenuContentContext","MenuContentFrame","styled","PopperContentFrame","MenuContent","styleable","forwardedRef","portalContext","contentProps","Slot","MenuRootContentModal","ref","MenuRootContentNonModal","forwardRef","context","composedRefs","useComposedRefs","MenuContentImpl","trapFocus","disableOutsidePointerEvents","disableOutsideScroll","onFocusOutside","composeEventHandlers","preventDefault","checkDefaultPrevented","onDismiss","loop","onOpenAutoFocus","onCloseAutoFocus","onEntryFocus","onEscapeKeyDown","onPointerDownOutside","onInteractOutside","disableDismissOnScroll","unstyled","process","env","TAMAGUI_HEADLESS","getItems","currentItemId","setCurrentItemId","contentRef","focusableContentRef","timerRef","searchRef","pointerGraceTimerRef","pointerGraceIntentRef","pointerDirRef","lastPointerXRef","handleTypeaheadSearch","_items_find","_items_find1","search","items","filter","item","disabled","currentItem","activeElement","currentMatch","find","textValue","values","map","nextMatch","getNextMatch","newItem","updateSearch","clearTimeout","setTimeout","focus","frame","requestAnimationFrame","container","el","querySelector","cancelAnimationFrame","handleScroll","_popperContext_refs_reference","_popperContext_refs","scrolled","content2","contains","reference","refs","_reference_contextElement","anchor","Element","contextElement","window","passive","useFocusGuards","isPointerMovingToSubmenu","_pointerGraceIntentRef_current","_pointerGraceIntentRef_current1","isMovingTowards","side","inArea","isPointerInGraceArea","area","PopperContent","role","tabIndex","backgroundColor","borderWidth","borderColor","outlineWidth","minWidth","getOpenState","className","transition","onKeyDown","isKeyDownInside","closest","currentTarget","isModifierKey","ctrlKey","altKey","metaKey","isCharacterKey","length","isOnContentFrame","hasAttribute","includes","candidateNodes","reverse","focusFirst","focusVisible","onBlur","_event_currentTarget","onPointerMove","pointerXHasChanged","clientX","newDir","onItemEnter","onItemLeave","_focusableContentRef_current","onTriggerLeave","onPointerGraceIntentChange","intent","RemoveScroll","enabled","FocusScope","asChild","trapped","onMountAutoFocus","preventScroll","onUnmountAutoFocus","Dismissable","RovingFocusGroup","__scopeRovingFocusGroup","orientation","currentTabStopId","onCurrentTabStopIdChange","ITEM_NAME","ITEM_SELECT","onSelect","preventCloseOnSelect","destructive","hidden","androidIconName","iosIconName","itemProps","contentContext","isPointerDownRef","handleSelect","menuItem","menuItemEl","itemSelectEvent","CustomEvent","bubbles","cancelable","dispatchDiscreteCustomEvent","defaultPrevented","Text","MenuItemImpl","outlineStyle","onPointerDown","_props_onPointerDown","onPointerUp","click","isTypingAhead","isFocused","setIsFocused","textContent","setTextContent","_menuItem_textContent","trim","ItemSlot","focusable","componentName","onPointerLeave","onFocus","ITEM_TITLE_NAME","MenuItemTitle","ITEM_SUB_TITLE_NAME","MenuItemSubTitle","ITEM_IMAGE","MenuItemImage","ios","ITEM_ICON","MenuItemIcon","android","CHECKBOX_ITEM_NAME","MenuCheckboxItem","checked","onCheckedChange","onValueChange","checkboxItemProps","ItemIndicatorProvider","isIndeterminate","getCheckedState","RADIO_GROUP_NAME","RadioGroupProvider","useRadioGroupContext","MenuRadioGroup","groupProps","handleValueChange","RADIO_ITEM_NAME","MenuRadioItem","radioItemProps","_context_onValueChange","ITEM_INDICATOR_NAME","useItemIndicatorContext","MenuItemIndicator","itemIndicatorProps","indicatorContext","AnimatePresence","render","MenuArrow","MenuArrow2","PopperArrow","SUB_NAME","MenuSub","_parentPopperContext_placement","isTouchDevice","useIsTouchDevice","parentPopperContext","parentSide","split","isNestedSubmenu","allowFlipProp","useMemo","fallbackPlacements","align","otherAlign","oppositeSide","parentMenuContext","trigger","setTrigger","contentId","useId","triggerId","onTriggerChange","SUB_TRIGGER_NAME","MenuSubTrigger","subContext","openTimerRef","effectiveDir","clearOpenTimer","pointerGraceTimer","id","composeRefs","_props_onPress","eventIn","_context_content","contentRect","getBoundingClientRect","_contentEl_dataset","_sideEl_dataset","contentEl","sideEl","dataset","rightSide","bleed","contentNearEdge","contentFarEdge","polygon","x","y","clientY","top","bottom","triggerEl","triggerRect","_popperContext_placement","placementSide","side1","rightSide1","bleed1","nearEdge","farEdge","polygon1","willOpen","_contentEl_querySelector","firstItem","setReference","_popperContext_update","update","SUB_CONTENT_NAME","MenuSubContentFrame","MenuSubContent","subContentProps","dataSide","_root_querySelector","_this","root","_subContext_trigger","isCloseKey","Anchor","Content","Group","CheckboxItem","RadioGroup","RadioItem","ItemIndicator","Arrow","Sub","SubTrigger","SubContent","ItemTitle","ItemSubtitle","ItemImage","ItemIcon","Menu","withStaticProperties","candidates","options","PREVIOUSLY_FOCUSED_ELEMENT","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","iterator","_step","next","done","candidate","err","return","wrapArray","array","startIndex","_","index","isRepeated","Array","every","char","normalizedSearch","currentMatchIndex","indexOf","wrappedValues","Math","max","excludeCurrentMatch","v","toLowerCase","startsWith","isPointInPolygon","point","inside","i","j","xi","yi","xj","yj","intersect","cursorPos"],"sources":["createBaseMenu.native.js"],"sourcesContent":["\"use strict\";\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. \"__esModule\" has not been set), then set\n // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", { value: mod, enumerable: true }) : target,\n mod\n));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar createBaseMenu_exports = {};\n__export(createBaseMenu_exports, {\n createBaseMenu: () => createBaseMenu\n});\nmodule.exports = __toCommonJS(createBaseMenu_exports);\nvar import_jsx_runtime = require(\"react/jsx-runtime\");\nvar import_animate = require(\"@tamagui/animate\");\nvar import_animate_presence = require(\"@tamagui/animate-presence\");\nvar import_collection = require(\"@tamagui/collection\");\nvar import_dismissable = require(\"@tamagui/dismissable\");\nvar import_focus_guard = require(\"@tamagui/focus-guard\");\nvar import_focus_scope = require(\"@tamagui/focus-scope\");\nvar PopperPrimitive = __toESM(require(\"@tamagui/popper\"), 1);\nvar import_portal = require(\"@tamagui/portal\");\nvar import_remove_scroll = require(\"@tamagui/remove-scroll\");\nvar import_roving_focus = require(\"@tamagui/roving-focus\");\nvar import_use_callback_ref = require(\"@tamagui/use-callback-ref\");\nvar import_use_direction = require(\"@tamagui/use-direction\");\nvar import_web = require(\"@tamagui/web\");\nvar React = __toESM(require(\"react\"), 1);\nvar import_react = require(\"react\");\nvar import_MenuPredefined = require(\"./MenuPredefined\");\nfunction _instanceof(left, right) {\n if (right != null && typeof Symbol !== \"undefined\" && right[Symbol.hasInstance]) {\n return !!right[Symbol.hasInstance](left);\n } else {\n return left instanceof right;\n }\n}\nfunction _type_of(obj) {\n \"@swc/helpers - typeof\";\n return obj && typeof Symbol !== \"undefined\" && obj.constructor === Symbol ? \"symbol\" : typeof obj;\n}\nfunction whenMouse(handler) {\n return function(event) {\n return event.pointerType === \"mouse\" ? handler(event) : void 0;\n };\n}\nvar SELECTION_KEYS = [\n \"Enter\",\n \" \"\n];\nvar FIRST_KEYS = [\n \"ArrowDown\",\n \"PageUp\",\n \"Home\"\n];\nvar LAST_KEYS = [\n \"ArrowUp\",\n \"PageDown\",\n \"End\"\n];\nvar FIRST_LAST_KEYS = [\n ...FIRST_KEYS,\n ...LAST_KEYS\n];\nvar SUB_OPEN_KEYS = {\n ltr: [\n ...SELECTION_KEYS,\n \"ArrowRight\"\n ],\n rtl: [\n ...SELECTION_KEYS,\n \"ArrowLeft\"\n ]\n};\nvar SUB_CLOSE_KEYS = {\n ltr: [\n \"ArrowLeft\"\n ],\n rtl: [\n \"ArrowRight\"\n ]\n};\nvar MENU_NAME = \"Menu\";\nvar [Collection, useCollection] = (0, import_collection.createCollection)(MENU_NAME);\nvar { Provider: MenuProvider, useStyledContext: useMenuContext } = (0, import_web.createStyledContext)();\nvar { Provider: MenuRootProvider, useStyledContext: useMenuRootContext } = (0, import_web.createStyledContext)();\nvar MENU_CONTEXT = \"MenuContext\";\nfunction createBaseMenu(param) {\n var { Item: _Item = import_MenuPredefined.MenuPredefined.MenuItem, Title: _Title = import_MenuPredefined.MenuPredefined.Title, SubTitle: _SubTitle = import_MenuPredefined.MenuPredefined.SubTitle, Image: _Image = import_MenuPredefined.MenuPredefined.MenuImage, Icon: _Icon = import_MenuPredefined.MenuPredefined.MenuIcon, Indicator: _Indicator = import_MenuPredefined.MenuPredefined.MenuIndicator, Separator: _Separator = import_MenuPredefined.MenuPredefined.MenuSeparator, MenuGroup: _MenuGroup = import_MenuPredefined.MenuPredefined.MenuGroup, Label: _Label = import_MenuPredefined.MenuPredefined.MenuLabel } = param;\n var MenuComp = function(props) {\n var direction = (0, import_use_direction.useDirection)(props.dir);\n var defaultPlacement = direction === \"rtl\" ? \"bottom-end\" : \"bottom-start\";\n var { scope = MENU_CONTEXT, open = false, children, dir, onOpenChange, modal = true, allowFlip = {\n padding: 10\n }, stayInFrame = {\n padding: 10\n }, placement = defaultPlacement, resize = true, offset = 10, ...rest } = props;\n var [content, setContent] = React.useState(null);\n var isUsingKeyboardRef = React.useRef(false);\n var handleOpenChange = (0, import_use_callback_ref.useCallbackRef)(onOpenChange);\n if (import_web.isWeb) {\n React.useEffect(function() {\n var handleKeyDown = function() {\n isUsingKeyboardRef.current = true;\n document.addEventListener(\"pointerdown\", handlePointer, {\n capture: true,\n once: true\n });\n document.addEventListener(\"pointermove\", handlePointer, {\n capture: true,\n once: true\n });\n };\n var handlePointer = function() {\n return isUsingKeyboardRef.current = false;\n };\n document.addEventListener(\"keydown\", handleKeyDown, {\n capture: true\n });\n return function() {\n document.removeEventListener(\"keydown\", handleKeyDown, {\n capture: true\n });\n document.removeEventListener(\"pointerdown\", handlePointer, {\n capture: true\n });\n document.removeEventListener(\"pointermove\", handlePointer, {\n capture: true\n });\n };\n }, []);\n }\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(PopperPrimitive.Popper, {\n scope,\n open,\n placement,\n allowFlip,\n stayInFrame,\n resize,\n offset,\n ...rest,\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MenuProvider, {\n scope,\n open,\n onOpenChange: handleOpenChange,\n content,\n onContentChange: setContent,\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MenuRootProvider, {\n scope,\n open,\n onClose: React.useCallback(function() {\n return handleOpenChange(false);\n }, [\n handleOpenChange\n ]),\n isUsingKeyboardRef,\n dir: direction,\n modal,\n children: (\n /** this provider is just to avoid crashing when using useSubMenuContext() inside MenuPortal */\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MenuSubProvider, {\n scope,\n children\n })\n )\n })\n })\n });\n };\n var RepropagateMenuAndMenuRootProvider = function(props) {\n var { scope = MENU_CONTEXT, menuContext, rootContext, popperContext, menuSubContext, children } = props;\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(PopperPrimitive.PopperProvider, {\n ...popperContext,\n scope,\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MenuProvider, {\n scope,\n ...menuContext,\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MenuRootProvider, {\n scope,\n ...rootContext,\n children: menuSubContext ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MenuSubProvider, {\n scope,\n ...menuSubContext,\n children\n }) : children\n })\n })\n });\n };\n MenuComp.displayName = MENU_NAME;\n var ANCHOR_NAME = \"MenuAnchor\";\n var MenuAnchor = function(props) {\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(PopperPrimitive.PopperAnchor, {\n scope: MENU_CONTEXT,\n ...props\n });\n };\n MenuAnchor.displayName = ANCHOR_NAME;\n var PORTAL_NAME = \"MenuPortal\";\n var { Provider: PortalProvider, useStyledContext: usePortalContext } = (0, import_web.createStyledContext)(void 0, \"Portal\");\n var MenuPortal = function(props) {\n var { scope = MENU_CONTEXT, forceMount, zIndex, children } = props;\n var menuContext = useMenuContext(scope);\n var rootContext = useMenuRootContext(scope);\n var popperContext = PopperPrimitive.usePopperContext(scope);\n var menuSubContext = useMenuSubContext(scope);\n var themeName = (0, import_web.useThemeName)();\n var themedChildren = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_web.Theme, {\n forceClassName: true,\n name: themeName,\n children\n });\n var content = (0, import_portal.needsPortalRepropagation)() ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(RepropagateMenuAndMenuRootProvider, {\n menuContext,\n rootContext,\n popperContext,\n menuSubContext,\n scope,\n children: themedChildren\n }) : themedChildren;\n var isPresent = forceMount || rootContext.open && menuContext.open;\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_animate.Animate, {\n type: \"presence\",\n present: isPresent,\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_portal.Portal, {\n stackZIndex: true,\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, {\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(PortalProvider, {\n scope,\n forceMount,\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_web.View, {\n zIndex: zIndex || 100,\n inset: 0,\n position: \"absolute\",\n children: [\n !!menuContext.open && !import_web.isWeb && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_web.View, {\n inset: 0,\n position: \"absolute\",\n onPress: function() {\n return menuContext.onOpenChange(!menuContext.open);\n }\n }),\n content\n ]\n })\n })\n })\n })\n });\n };\n MenuPortal.displayName = PORTAL_NAME;\n var CONTENT_NAME = \"MenuContent\";\n var { Provider: MenuContentProvider, useStyledContext: useMenuContentContext } = (0, import_web.createStyledContext)();\n var MenuContentFrame = (0, import_web.styled)(PopperPrimitive.PopperContentFrame, {\n name: CONTENT_NAME\n });\n var MenuContent = MenuContentFrame.styleable(function(props, forwardedRef) {\n var scope = props.scope || MENU_CONTEXT;\n var portalContext = usePortalContext(scope);\n var { forceMount = portalContext.forceMount, ...contentProps } = props;\n var rootContext = useMenuRootContext(scope);\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Collection.Provider, {\n scope,\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Collection.Slot, {\n scope,\n children: rootContext.modal ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MenuRootContentModal, {\n ...contentProps,\n ref: forwardedRef\n }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MenuRootContentNonModal, {\n ...contentProps,\n ref: forwardedRef\n })\n })\n });\n });\n var MenuRootContentModal = /* @__PURE__ */ React.forwardRef(function(props, forwardedRef) {\n var scope = props.scope || MENU_CONTEXT;\n var context = useMenuContext(scope);\n var ref = React.useRef(null);\n var composedRefs = (0, import_web.useComposedRefs)(forwardedRef, ref);\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MenuContentImpl, {\n ...props,\n scope,\n ref: composedRefs,\n // we make sure we're not trapping once it's been closed\n // (closed !== unmounted when animating out)\n trapFocus: context.open,\n // make sure to only disable pointer events when open\n // this avoids blocking interactions while animating out\n disableOutsidePointerEvents: context.open,\n disableOutsideScroll: false,\n // When focus is trapped, a `focusout` event may still happen.\n // We make sure we don't trigger our `onDismiss` in such case.\n onFocusOutside: (0, import_web.composeEventHandlers)(props.onFocusOutside, function(event) {\n return event.preventDefault();\n }, {\n checkDefaultPrevented: false\n }),\n onDismiss: function() {\n return context.onOpenChange(false);\n }\n });\n });\n var MenuRootContentNonModal = /* @__PURE__ */ React.forwardRef(function(props, forwardedRef) {\n var scope = props.scope || MENU_CONTEXT;\n var context = useMenuContext(scope);\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MenuContentImpl, {\n ...props,\n scope,\n ref: forwardedRef,\n trapFocus: false,\n disableOutsidePointerEvents: false,\n disableOutsideScroll: false,\n onDismiss: function() {\n return context.onOpenChange(false);\n }\n });\n });\n var MenuContentImpl = /* @__PURE__ */ React.forwardRef(function(props, forwardedRef) {\n var { scope = MENU_CONTEXT, loop = false, trapFocus, onOpenAutoFocus, onCloseAutoFocus, disableOutsidePointerEvents, onEntryFocus, onEscapeKeyDown, onPointerDownOutside, onFocusOutside, onInteractOutside, onDismiss, disableOutsideScroll, disableDismissOnScroll = false, unstyled = process.env.TAMAGUI_HEADLESS === \"1\", ...contentProps } = props;\n var context = useMenuContext(scope);\n var rootContext = useMenuRootContext(scope);\n var popperContext = PopperPrimitive.usePopperContext(scope);\n var getItems = useCollection(scope);\n var [currentItemId, setCurrentItemId] = React.useState(null);\n var contentRef = React.useRef(null);\n var focusableContentRef = React.useRef(null);\n var composedRefs = (0, import_web.useComposedRefs)(forwardedRef, contentRef, context.onContentChange);\n var timerRef = React.useRef(0);\n var searchRef = React.useRef(\"\");\n var pointerGraceTimerRef = React.useRef(0);\n var pointerGraceIntentRef = React.useRef(null);\n var pointerDirRef = React.useRef(\"right\");\n var lastPointerXRef = React.useRef(0);\n var handleTypeaheadSearch = function(key) {\n var _items_find, _items_find1;\n var search = searchRef.current + key;\n var items = getItems().filter(function(item) {\n return !item.disabled;\n });\n var currentItem = document.activeElement;\n var currentMatch = (_items_find = items.find(function(item) {\n return item.ref.current === currentItem;\n })) === null || _items_find === void 0 ? void 0 : _items_find.textValue;\n var values = items.map(function(item) {\n return item.textValue;\n });\n var nextMatch = getNextMatch(values, search, currentMatch);\n var newItem = (_items_find1 = items.find(function(item) {\n return item.textValue === nextMatch;\n })) === null || _items_find1 === void 0 ? void 0 : _items_find1.ref.current;\n (function updateSearch(value) {\n searchRef.current = value;\n clearTimeout(timerRef.current);\n if (value !== \"\") timerRef.current = setTimeout(function() {\n return updateSearch(\"\");\n }, 1e3);\n })(search);\n if (newItem) {\n setTimeout(function() {\n return newItem.focus();\n });\n }\n };\n React.useEffect(function() {\n return function() {\n return clearTimeout(timerRef.current);\n };\n }, []);\n React.useEffect(function() {\n if (!import_web.isWeb || !context.open) return;\n var frame = requestAnimationFrame(function() {\n var container = contentRef.current;\n var el = container === null || container === void 0 ? void 0 : container.querySelector(\"[data-tamagui-menu-content]\");\n if (el) focusableContentRef.current = el;\n });\n return function() {\n return cancelAnimationFrame(frame);\n };\n }, [\n context.open\n ]);\n React.useEffect(function() {\n if (!import_web.isWeb || disableDismissOnScroll || !context.open) return;\n var handleScroll = function(event) {\n var _popperContext_refs_reference, _popperContext_refs;\n var scrolled = event.target;\n if (!scrolled) return;\n var content2 = contentRef.current;\n if (content2 === null || content2 === void 0 ? void 0 : content2.contains(scrolled)) return;\n var reference = (_popperContext_refs = popperContext.refs) === null || _popperContext_refs === void 0 ? void 0 : (_popperContext_refs_reference = _popperContext_refs.reference) === null || _popperContext_refs_reference === void 0 ? void 0 : _popperContext_refs_reference.current;\n var _reference_contextElement;\n var anchor = _instanceof(reference, Element) ? reference : (_reference_contextElement = reference === null || reference === void 0 ? void 0 : reference.contextElement) !== null && _reference_contextElement !== void 0 ? _reference_contextElement : null;\n if (anchor && !scrolled.contains(anchor)) return;\n onDismiss === null || onDismiss === void 0 ? void 0 : onDismiss();\n };\n window.addEventListener(\"scroll\", handleScroll, {\n capture: true,\n passive: true\n });\n return function() {\n window.removeEventListener(\"scroll\", handleScroll, {\n capture: true\n });\n };\n }, [\n disableDismissOnScroll,\n context.open,\n onDismiss,\n popperContext.refs\n ]);\n if (import_web.isWeb) {\n (0, import_focus_guard.useFocusGuards)();\n }\n var isPointerMovingToSubmenu = React.useCallback(function(event) {\n var _pointerGraceIntentRef_current, _pointerGraceIntentRef_current1;\n var isMovingTowards = pointerDirRef.current === ((_pointerGraceIntentRef_current = pointerGraceIntentRef.current) === null || _pointerGraceIntentRef_current === void 0 ? void 0 : _pointerGraceIntentRef_current.side);\n var inArea = isPointerInGraceArea(event, (_pointerGraceIntentRef_current1 = pointerGraceIntentRef.current) === null || _pointerGraceIntentRef_current1 === void 0 ? void 0 : _pointerGraceIntentRef_current1.area);\n return isMovingTowards && inArea;\n }, []);\n var content = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(PopperPrimitive.PopperContent, {\n role: \"menu\",\n // tabIndex allows the content to be focusable so that onItemLeave can\n // focus the content frame and properly blur the previously focused item\n tabIndex: -1,\n unstyled,\n ...!unstyled && {\n backgroundColor: \"$background\",\n borderWidth: 1,\n borderColor: \"$borderColor\",\n outlineWidth: 0,\n minWidth: 180\n },\n \"aria-orientation\": \"vertical\",\n \"data-state\": getOpenState(context.open),\n \"data-tamagui-menu-content\": \"\",\n // TODO\n // @ts-ignore\n dir: rootContext.dir,\n scope: scope || MENU_CONTEXT,\n ...contentProps,\n ref: composedRefs,\n className: contentProps.transition ? void 0 : contentProps.className,\n ...import_web.isWeb ? {\n onKeyDown: (0, import_web.composeEventHandlers)(contentProps.onKeyDown, function(event) {\n var target = event.target;\n var isKeyDownInside = target.closest(\"[data-tamagui-menu-content]\") === event.currentTarget;\n var isModifierKey = event.ctrlKey || event.altKey || event.metaKey;\n var isCharacterKey = event.key.length === 1;\n if (isKeyDownInside) {\n if (event.key === \"Tab\") event.preventDefault();\n if (!isModifierKey && isCharacterKey) handleTypeaheadSearch(event.key);\n }\n var isOnContentFrame = event.target.hasAttribute(\"data-tamagui-menu-content\");\n if (!isKeyDownInside || !isOnContentFrame) return;\n if (!FIRST_LAST_KEYS.includes(event.key)) return;\n event.preventDefault();\n var items = getItems().filter(function(item) {\n return !item.disabled;\n });\n var candidateNodes = items.map(function(item) {\n return item.ref.current;\n });\n if (LAST_KEYS.includes(event.key)) candidateNodes.reverse();\n focusFirst(candidateNodes, {\n focusVisible: true\n });\n }),\n // TODO\n // @ts-ignore\n onBlur: (0, import_web.composeEventHandlers)(props.onBlur, function(event) {\n var _event_currentTarget;\n if (!((_event_currentTarget = event.currentTarget) === null || _event_currentTarget === void 0 ? void 0 : _event_currentTarget.contains(event.target))) {\n clearTimeout(timerRef.current);\n searchRef.current = \"\";\n }\n }),\n // TODO\n onPointerMove: (0, import_web.composeEventHandlers)(props.onPointerMove, function(event) {\n var _event_currentTarget;\n if (event.pointerType !== \"mouse\") return;\n var target = event.target;\n var pointerXHasChanged = lastPointerXRef.current !== event.clientX;\n if (((_event_currentTarget = event.currentTarget) === null || _event_currentTarget === void 0 ? void 0 : _event_currentTarget.contains(target)) && pointerXHasChanged) {\n var newDir = event.clientX > lastPointerXRef.current ? \"right\" : \"left\";\n pointerDirRef.current = newDir;\n lastPointerXRef.current = event.clientX;\n }\n })\n } : {}\n });\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MenuContentProvider, {\n scope,\n searchRef,\n onItemEnter: React.useCallback(function(event) {\n if (isPointerMovingToSubmenu(event)) event.preventDefault();\n }, [\n isPointerMovingToSubmenu\n ]),\n onItemLeave: React.useCallback(function(event) {\n var _focusableContentRef_current;\n if (isPointerMovingToSubmenu(event)) return;\n (_focusableContentRef_current = focusableContentRef.current) === null || _focusableContentRef_current === void 0 ? void 0 : _focusableContentRef_current.focus();\n setCurrentItemId(null);\n }, [\n isPointerMovingToSubmenu\n ]),\n onTriggerLeave: React.useCallback(function(event) {\n if (isPointerMovingToSubmenu(event)) event.preventDefault();\n }, [\n isPointerMovingToSubmenu\n ]),\n pointerGraceTimerRef,\n onPointerGraceIntentChange: React.useCallback(function(intent) {\n pointerGraceIntentRef.current = intent;\n }, []),\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_remove_scroll.RemoveScroll, {\n enabled: disableOutsideScroll,\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_focus_scope.FocusScope, {\n asChild: false,\n trapped: trapFocus,\n onMountAutoFocus: (0, import_web.composeEventHandlers)(onOpenAutoFocus, function(event) {\n event.preventDefault();\n var content2 = document.querySelector(\"[data-tamagui-menu-content]\");\n content2 === null || content2 === void 0 ? void 0 : content2.focus({\n preventScroll: true\n });\n }),\n onUnmountAutoFocus: onCloseAutoFocus,\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_dismissable.Dismissable, {\n disableOutsidePointerEvents,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside,\n onInteractOutside,\n onDismiss,\n asChild: true,\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_roving_focus.RovingFocusGroup, {\n asChild: true,\n __scopeRovingFocusGroup: scope || MENU_CONTEXT,\n dir: rootContext.dir,\n orientation: \"vertical\",\n loop,\n currentTabStopId: currentItemId,\n onCurrentTabStopIdChange: setCurrentItemId,\n onEntryFocus: (0, import_web.composeEventHandlers)(onEntryFocus, function(event) {\n if (!rootContext.isUsingKeyboardRef.current) {\n event.preventDefault();\n }\n }),\n children: content\n })\n })\n })\n })\n });\n });\n MenuContent.displayName = CONTENT_NAME;\n var ITEM_NAME = \"MenuItem\";\n var ITEM_SELECT = \"menu.itemSelect\";\n var MenuItem = _Item.styleable(function(props, forwardedRef) {\n var {\n disabled = false,\n onSelect,\n preventCloseOnSelect,\n children,\n scope = MENU_CONTEXT,\n // filter out native-only props that shouldn't reach the DOM\n // @ts-ignore\n destructive,\n // @ts-ignore\n hidden,\n // @ts-ignore\n androidIconName,\n // @ts-ignore\n iosIconName,\n ...itemProps\n } = props;\n var ref = React.useRef(null);\n var rootContext = useMenuRootContext(scope);\n var contentContext = useMenuContentContext(scope);\n var composedRefs = (0, import_web.useComposedRefs)(forwardedRef, ref);\n var isPointerDownRef = React.useRef(false);\n var handleSelect = function() {\n var menuItem = ref.current;\n if (!disabled && menuItem) {\n if (import_web.isWeb) {\n var menuItemEl = menuItem;\n var itemSelectEvent = new CustomEvent(ITEM_SELECT, {\n bubbles: true,\n cancelable: true\n });\n menuItemEl.addEventListener(ITEM_SELECT, function(event) {\n return onSelect === null || onSelect === void 0 ? void 0 : onSelect(event);\n }, {\n once: true\n });\n (0, import_dismissable.dispatchDiscreteCustomEvent)(menuItemEl, itemSelectEvent);\n if (itemSelectEvent.defaultPrevented || preventCloseOnSelect) {\n isPointerDownRef.current = false;\n } else {\n rootContext.onClose();\n }\n } else {\n onSelect === null || onSelect === void 0 ? void 0 : onSelect({\n target: menuItem\n });\n isPointerDownRef.current = false;\n if (!preventCloseOnSelect) {\n rootContext.onClose();\n }\n }\n }\n };\n var content = typeof children === \"string\" ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_web.Text, {\n children\n }) : children;\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MenuItemImpl, {\n outlineStyle: \"none\",\n ...itemProps,\n scope,\n // @ts-ignore\n ref: composedRefs,\n disabled,\n onPress: (0, import_web.composeEventHandlers)(props.onPress, handleSelect),\n onPointerDown: function(event) {\n var _props_onPointerDown;\n (_props_onPointerDown = props.onPointerDown) === null || _props_onPointerDown === void 0 ? void 0 : _props_onPointerDown.call(props, event);\n isPointerDownRef.current = true;\n },\n onPointerUp: (0, import_web.composeEventHandlers)(props.onPointerUp, function(event) {\n if (import_web.isWeb) {\n var _event_currentTarget;\n if (!isPointerDownRef.current) (_event_currentTarget = event.currentTarget) === null || _event_currentTarget === void 0 ? void 0 : _event_currentTarget.click();\n }\n }),\n ...import_web.isWeb ? {\n onKeyDown: (0, import_web.composeEventHandlers)(props.onKeyDown, function(event) {\n var isTypingAhead = contentContext.searchRef.current !== \"\";\n if (disabled || isTypingAhead && event.key === \" \") return;\n if (SELECTION_KEYS.includes(event.key)) {\n var _event_currentTarget;\n (_event_currentTarget = event.currentTarget) === null || _event_currentTarget === void 0 ? void 0 : _event_currentTarget.click();\n event.preventDefault();\n }\n })\n } : {},\n children: content\n });\n });\n var MenuItemImpl = /* @__PURE__ */ React.forwardRef(function(props, forwardedRef) {\n var { scope = MENU_CONTEXT, disabled = false, textValue, unstyled = process.env.TAMAGUI_HEADLESS === \"1\", ...itemProps } = props;\n var contentContext = useMenuContentContext(scope);\n var ref = React.useRef(null);\n var composedRefs = (0, import_web.useComposedRefs)(forwardedRef, ref);\n var [isFocused, setIsFocused] = React.useState(false);\n var [textContent, setTextContent] = React.useState(\"\");\n if (import_web.isWeb) {\n React.useEffect(function() {\n var menuItem = ref.current;\n if (menuItem) {\n var _menuItem_textContent;\n setTextContent(((_menuItem_textContent = menuItem.textContent) !== null && _menuItem_textContent !== void 0 ? _menuItem_textContent : \"\").trim());\n }\n }, [\n itemProps.children\n ]);\n }\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Collection.ItemSlot, {\n scope,\n disabled,\n textValue: textValue !== null && textValue !== void 0 ? textValue : textContent,\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_roving_focus.RovingFocusGroup.Item, {\n asChild: true,\n __scopeRovingFocusGroup: scope,\n focusable: !disabled,\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(_Item, {\n unstyled,\n componentName: ITEM_NAME,\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 /**\n * We focus items on `pointerMove` to achieve the following:\n *\n * - Mouse over an item (it focuses)\n * - Leave mouse where it is and use keyboard to focus a different item\n * - Wiggle mouse without it leaving previously focused item\n * - Previously focused item should re-focus\n *\n * If we used `mouseOver`/`mouseEnter` it would not re-focus when the mouse\n * wiggles. This is to match native menu implementation.\n */\n onPointerMove: (0, import_web.composeEventHandlers)(props.onPointerMove, function(event) {\n if (event.pointerType !== \"mouse\") return;\n if (disabled) {\n contentContext.onItemLeave(event);\n } else {\n contentContext.onItemEnter(event);\n if (!event.defaultPrevented) {\n var item = event.currentTarget;\n item.focus({\n preventScroll: true,\n focusVisible: false\n });\n }\n }\n }),\n onPointerLeave: (0, import_web.composeEventHandlers)(props.onPointerLeave, function(event) {\n contentContext.onItemLeave(event);\n }),\n onFocus: (0, import_web.composeEventHandlers)(props.onFocus, function() {\n return setIsFocused(true);\n }),\n onBlur: (0, import_web.composeEventHandlers)(props.onBlur, function() {\n return setIsFocused(false);\n })\n })\n })\n });\n });\n MenuItem.displayName = ITEM_NAME;\n var ITEM_TITLE_NAME = \"MenuItemTitle\";\n var MenuItemTitle = _Title.styleable(function(props, forwardedRef) {\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(_Title, {\n ...props,\n ref: forwardedRef\n });\n });\n MenuItemTitle.displayName = ITEM_TITLE_NAME;\n var ITEM_SUB_TITLE_NAME = \"MenuItemSubTitle\";\n var MenuItemSubTitle = _SubTitle.styleable(function(props, forwardedRef) {\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(_SubTitle, {\n ...props,\n ref: forwardedRef\n });\n });\n MenuItemSubTitle.displayName = ITEM_SUB_TITLE_NAME;\n var ITEM_IMAGE = \"MenuItemImage\";\n var MenuItemImage = /* @__PURE__ */ React.forwardRef(function(props, forwardedRef) {\n var {\n // @ts-ignore - native menu ios config\n ios,\n // @ts-ignore\n androidIconName,\n // @ts-ignore\n iosIconName,\n ...rest\n } = props;\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(_Image, {\n ...rest,\n ref: forwardedRef\n });\n });\n MenuItemImage.displayName = ITEM_IMAGE;\n var ITEM_ICON = \"MenuItemIcon\";\n var MenuItemIcon = _Icon.styleable(function(props, forwardedRef) {\n var {\n // @ts-ignore\n ios,\n // @ts-ignore\n android,\n // @ts-ignore\n androidIconName,\n // @ts-ignore\n iosIconName,\n ...rest\n } = props;\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(_Icon, {\n ...rest,\n ref: forwardedRef\n });\n });\n MenuItemIcon.displayName = ITEM_ICON;\n var CHECKBOX_ITEM_NAME = \"MenuCheckboxItem\";\n var MenuCheckboxItem = _Item.styleable(function(props, forwardedRef) {\n var {\n checked = false,\n onCheckedChange,\n scope = MENU_CONTEXT,\n // filter out native-only props\n // @ts-ignore - native menu value state\n value,\n // @ts-ignore - native menu value change handler\n onValueChange,\n ...checkboxItemProps\n } = props;\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ItemIndicatorProvider, {\n scope,\n checked,\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MenuItem, {\n componentName: CHECKBOX_ITEM_NAME,\n role: import_web.isWeb ? \"menuitemcheckbox\" : \"menuitem\",\n \"aria-checked\": isIndeterminate(checked) ? \"mixed\" : checked,\n ...checkboxItemProps,\n scope,\n ref: forwardedRef,\n \"data-state\": getCheckedState(checked),\n onSelect: (0, import_web.composeEventHandlers)(checkboxItemProps.onSelect, function() {\n return onCheckedChange === null || onCheckedChange === void 0 ? void 0 : onCheckedChange(isIndeterminate(checked) ? true : !checked);\n }, {\n checkDefaultPrevented: false\n })\n })\n });\n });\n MenuCheckboxItem.displayName = CHECKBOX_ITEM_NAME;\n var RADIO_GROUP_NAME = \"MenuRadioGroup\";\n var { Provider: RadioGroupProvider, useStyledContext: useRadioGroupContext } = (0, import_web.createStyledContext)();\n var MenuRadioGroup = _MenuGroup.styleable(function(props, forwardedRef) {\n var { value, onValueChange, scope = MENU_CONTEXT, ...groupProps } = props;\n var handleValueChange = (0, import_use_callback_ref.useCallbackRef)(onValueChange);\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(RadioGroupProvider, {\n scope,\n value,\n onValueChange: handleValueChange,\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(_MenuGroup, {\n componentName: RADIO_GROUP_NAME,\n ...groupProps,\n ref: forwardedRef\n })\n });\n });\n MenuRadioGroup.displayName = RADIO_GROUP_NAME;\n var RADIO_ITEM_NAME = \"MenuRadioItem\";\n var MenuRadioItem = _Item.styleable(function(props, forwardedRef) {\n var { value, scope = MENU_CONTEXT, ...radioItemProps } = props;\n var context = useRadioGroupContext(scope);\n var checked = value === context.value;\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ItemIndicatorProvider, {\n scope,\n checked,\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MenuItem, {\n componentName: RADIO_ITEM_NAME,\n ...radioItemProps,\n scope,\n \"aria-checked\": checked,\n ref: forwardedRef,\n role: import_web.isWeb ? \"menuitemradio\" : \"menuitem\",\n \"data-state\": getCheckedState(checked),\n onSelect: (0, import_web.composeEventHandlers)(radioItemProps.onSelect, function() {\n var _context_onValueChange;\n return (_context_onValueChange = context.onValueChange) === null || _context_onValueChange === void 0 ? void 0 : _context_onValueChange.call(context, value);\n }, {\n checkDefaultPrevented: false\n })\n })\n });\n });\n MenuRadioItem.displayName = RADIO_ITEM_NAME;\n var ITEM_INDICATOR_NAME = \"MenuItemIndicator\";\n var { Provider: ItemIndicatorProvider, useStyledContext: useItemIndicatorContext } = (0, import_web.createStyledContext)();\n var MenuItemIndicator = _Indicator.styleable(function(props, forwardedRef) {\n var { scope = MENU_CONTEXT, forceMount, ...itemIndicatorProps } = props;\n var indicatorContext = useItemIndicatorContext(scope);\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_animate_presence.AnimatePresence, {\n children: forceMount || isIndeterminate(indicatorContext.checked) || indicatorContext.checked === true ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(_Indicator, {\n componentName: ITEM_INDICATOR_NAME,\n render: \"span\",\n ...itemIndicatorProps,\n ref: forwardedRef,\n \"data-state\": getCheckedState(indicatorContext.checked)\n }) : null\n });\n });\n MenuItemIndicator.displayName = ITEM_INDICATOR_NAME;\n var MenuArrow = /* @__PURE__ */ React.forwardRef(function MenuArrow2(props, forwardedRef) {\n var { scope = MENU_CONTEXT, unstyled = process.env.TAMAGUI_HEADLESS === \"1\", ...rest } = props;\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(PopperPrimitive.PopperArrow, {\n scope,\n componentName: \"PopperArrow\",\n unstyled,\n ...!unstyled && {\n backgroundColor: \"$background\"\n },\n ...rest,\n ref: forwardedRef\n });\n });\n var SUB_NAME = \"MenuSub\";\n var { Provider: MenuSubProvider, useStyledContext: useMenuSubContext } = (0, import_web.createStyledContext)();\n var MenuSub = function(props) {\n var _parentPopperContext_placement;\n var isTouchDevice = (0, import_web.useIsTouchDevice)();\n var { scope = MENU_CONTEXT } = props;\n var rootContext = useMenuRootContext(scope);\n var parentPopperContext = PopperPrimitive.usePopperContext(scope);\n var parentSide = (_parentPopperContext_placement = parentPopperContext.placement) === null || _parentPopperContext_placement === void 0 ? void 0 : _parentPopperContext_placement.split(\"-\")[0];\n var isNestedSubmenu = parentSide === \"left\" || parentSide === \"right\";\n var defaultPlacement = isTouchDevice ? \"bottom\" : isNestedSubmenu ? `${parentSide}-start` : rootContext.dir === \"rtl\" ? \"left-start\" : \"right-start\";\n var { children, open = false, onOpenChange, allowFlip: allowFlipProp = {\n padding: 10\n }, stayInFrame = {\n padding: 10\n }, placement = defaultPlacement, ...rest } = props;\n var allowFlip = React.useMemo(function() {\n if (!isNestedSubmenu || typeof allowFlipProp === \"boolean\") return allowFlipProp;\n if (allowFlipProp.fallbackPlacements) return allowFlipProp;\n var side = placement.split(\"-\")[0];\n var align = placement.split(\"-\")[1] || \"start\";\n var otherAlign = align === \"start\" ? \"end\" : \"start\";\n if (side === \"left\" || side === \"right\") {\n var oppositeSide = side === \"right\" ? \"left\" : \"right\";\n return {\n ...(typeof allowFlipProp === \"undefined\" ? \"undefined\" : _type_of(allowFlipProp)) === \"object\" ? allowFlipProp : {},\n fallbackPlacements: [\n `${side}-${otherAlign}`,\n `${oppositeSide}-${align}`,\n `${oppositeSide}-${otherAlign}`\n ]\n };\n }\n return allowFlipProp;\n }, [\n isNestedSubmenu,\n allowFlipProp,\n placement\n ]);\n var parentMenuContext = useMenuContext(scope);\n var [trigger, setTrigger] = React.useState(null);\n var [content, setContent] = React.useState(null);\n var handleOpenChange = (0, import_use_callback_ref.useCallbackRef)(onOpenChange);\n React.useEffect(function() {\n if (parentMenuContext.open === false) handleOpenChange(false);\n return function() {\n return handleOpenChange(false);\n };\n }, [\n parentMenuContext.open,\n handleOpenChange\n ]);\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(PopperPrimitive.Popper, {\n open,\n placement,\n allowFlip,\n stayInFrame,\n ...rest,\n scope,\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MenuProvider, {\n scope,\n open,\n onOpenChange: handleOpenChange,\n content,\n onContentChange: setContent,\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MenuSubProvider, {\n scope,\n contentId: (0, import_react.useId)(),\n triggerId: (0, import_react.useId)(),\n trigger,\n onTriggerChange: setTrigger,\n children\n })\n })\n });\n };\n MenuSub.displayName = SUB_NAME;\n var SUB_TRIGGER_NAME = \"MenuSubTrigger\";\n var MenuSubTrigger = /* @__PURE__ */ React.forwardRef(function(props, forwardedRef) {\n var scope = props.scope || MENU_CONTEXT;\n var context = useMenuContext(scope);\n var rootContext = useMenuRootContext(scope);\n var subContext = useMenuSubContext(scope);\n var contentContext = useMenuContentContext(scope);\n var popperContext = PopperPrimitive.usePopperContext(scope);\n var openTimerRef = React.useRef(null);\n var { pointerGraceTimerRef, onPointerGraceIntentChange } = contentContext;\n var effectiveDir = rootContext.dir;\n var clearOpenTimer = React.useCallback(function() {\n if (openTimerRef.current) window.clearTimeout(openTimerRef.current);\n openTimerRef.current = null;\n }, []);\n React.useEffect(function() {\n return clearOpenTimer;\n }, [\n clearOpenTimer\n ]);\n React.useEffect(function() {\n var pointerGraceTimer = pointerGraceTimerRef.current;\n return function() {\n window.clearTimeout(pointerGraceTimer);\n onPointerGraceIntentChange(null);\n };\n }, [\n pointerGraceTimerRef,\n onPointerGraceIntentChange\n ]);\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MenuAnchor, {\n componentName: SUB_TRIGGER_NAME,\n asChild: \"except-style\",\n scope,\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MenuItemImpl, {\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 outlineStyle: \"none\",\n ...props,\n ref: (0, import_web.composeRefs)(forwardedRef, subContext.onTriggerChange),\n // This is redundant for mouse users but we cannot determine pointer type from\n // click event and we cannot use pointerup event (see git history for reasons why)\n onPress: function(event) {\n var _props_onPress;\n (_props_onPress = props.onPress) === null || _props_onPress === void 0 ? void 0 : _props_onPress.call(props, event);\n if (props.disabled || event.defaultPrevented) return;\n if (import_web.isWeb) {\n event.currentTarget.focus();\n }\n if (!context.open) context.onOpenChange(true);\n },\n onPointerMove: (0, import_web.composeEventHandlers)(\n props.onPointerMove,\n // @ts-ignore\n whenMouse(function(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(function() {\n context.onOpenChange(true);\n clearOpenTimer();\n }, 100);\n }\n })\n ),\n onPointerLeave: (0, import_web.composeEventHandlers)(props.onPointerLeave, function(eventIn) {\n var _context_content;\n var event = eventIn;\n clearOpenTimer();\n var contentRect = (_context_content = context.content) === null || _context_content === void 0 ? void 0 : _context_content.getBoundingClientRect();\n if (contentRect) {\n var _contentEl_dataset, _sideEl_dataset;\n var contentEl = context.content;\n var sideEl = (contentEl === null || contentEl === void 0 ? void 0 : (_contentEl_dataset = contentEl.dataset) === null || _contentEl_dataset === void 0 ? void 0 : _contentEl_dataset.side) ? contentEl : contentEl === null || contentEl === void 0 ? void 0 : contentEl.querySelector(\"[data-side]\");\n var side = (sideEl === null || sideEl === void 0 ? void 0 : (_sideEl_dataset = sideEl.dataset) === null || _sideEl_dataset === void 0 ? void 0 : _sideEl_dataset.side) || \"right\";\n var rightSide = side === \"right\";\n var bleed = rightSide ? -5 : 5;\n var contentNearEdge = contentRect[rightSide ? \"left\" : \"right\"];\n var contentFarEdge = contentRect[rightSide ? \"right\" : \"left\"];\n var polygon = {\n area: [\n // Apply a bleed on clientX to ensure that our exit point is\n // consistently within polygon bounds\n {\n x: event.clientX + bleed,\n y: event.clientY\n },\n {\n x: contentNearEdge,\n y: contentRect.top\n },\n {\n x: contentFarEdge,\n y: contentRect.top\n },\n {\n x: contentFarEdge,\n y: contentRect.bottom\n },\n {\n x: contentNearEdge,\n y: contentRect.bottom\n }\n ],\n side\n };\n contentContext.onPointerGraceIntentChange(polygon);\n window.clearTimeout(pointerGraceTimerRef.current);\n pointerGraceTimerRef.current = window.setTimeout(function() {\n return contentContext.onPointerGraceIntentChange(null);\n }, 300);\n } else if (import_web.isWeb && subContext.trigger) {\n var triggerEl = subContext.trigger;\n var triggerRect = triggerEl === null || triggerEl === void 0 ? void 0 : triggerEl.getBoundingClientRect();\n if (triggerRect) {\n var _popperContext_placement;\n var placementSide = (_popperContext_placement = popperContext.placement) === null || _popperContext_placement === void 0 ? void 0 : _popperContext_placement.split(\"-\")[0];\n var side1 = placementSide === \"left\" || placementSide === \"right\" ? placementSide : rootContext.dir === \"rtl\" ? \"left\" : \"right\";\n var rightSide1 = side1 === \"right\";\n var bleed1 = rightSide1 ? -5 : 5;\n var nearEdge = rightSide1 ? triggerRect.right + 4 : triggerRect.left - 4;\n var farEdge = rightSide1 ? nearEdge + 200 : nearEdge - 200;\n var polygon1 = {\n area: [\n {\n x: event.clientX + bleed1,\n y: event.clientY\n },\n {\n x: nearEdge,\n y: triggerRect.top - 50\n },\n {\n x: farEdge,\n y: triggerRect.top - 50\n },\n {\n x: farEdge,\n y: triggerRect.bottom + 50\n },\n {\n x: nearEdge,\n y: triggerRect.bottom + 50\n }\n ],\n side: side1\n };\n contentContext.onPointerGraceIntentChange(polygon1);\n window.clearTimeout(pointerGraceTimerRef.current);\n pointerGraceTimerRef.current = window.setTimeout(function() {\n return contentContext.onPointerGraceIntentChange(null);\n }, 300);\n }\n } else {\n contentContext.onTriggerLeave(event);\n if (event.defaultPrevented) return;\n contentContext.onPointerGraceIntentChange(null);\n }\n }),\n ...import_web.isWeb ? {\n onKeyDown: (0, import_web.composeEventHandlers)(props.onKeyDown, function(event) {\n var isTypingAhead = contentContext.searchRef.current !== \"\";\n if (props.disabled || isTypingAhead && event.key === \" \") return;\n var willOpen = SUB_OPEN_KEYS[effectiveDir].includes(event.key);\n if (willOpen) {\n var _popperContext_refs, _context_content;\n if (context.open && context.content) {\n var _contentEl_querySelector;\n var contentEl = context.content;\n var firstItem = (_contentEl_querySelector = contentEl.querySelector) === null || _contentEl_querySelector === void 0 ? void 0 : _contentEl_querySelector.call(contentEl, '[role=\"menuitem\"]:not([data-disabled])');\n if (firstItem) {\n firstItem.focus({\n focusVisible: true\n });\n event.preventDefault();\n return;\n }\n }\n var triggerEl = event.currentTarget;\n (_popperContext_refs = popperContext.refs) === null || _popperContext_refs === void 0 ? void 0 : _popperContext_refs.setReference(triggerEl);\n context.onOpenChange(true);\n requestAnimationFrame(function() {\n var _popperContext_update;\n (_popperContext_update = popperContext.update) === null || _popperContext_update === void 0 ? void 0 : _popperContext_update.call(popperContext);\n });\n (_context_content = context.content) === null || _context_content === void 0 ? void 0 : _context_content.focus({\n focusVisible: true\n });\n event.preventDefault();\n }\n })\n } : null\n })\n });\n });\n MenuSubTrigger.displayName = SUB_TRIGGER_NAME;\n var SUB_CONTENT_NAME = \"MenuSubContent\";\n var MenuSubContentFrame = (0, import_web.styled)(PopperPrimitive.PopperContentFrame, {\n name: SUB_CONTENT_NAME\n });\n var MenuSubContent = MenuSubContentFrame.styleable(function(props, forwardedRef) {\n var _popperContext_placement;\n var scope = props.scope || MENU_CONTEXT;\n var portalContext = usePortalContext(scope);\n var { forceMount = portalContext.forceMount, ...subContentProps } = props;\n var context = useMenuContext(scope);\n var rootContext = useMenuRootContext(scope);\n var subContext = useMenuSubContext(scope);\n var popperContext = PopperPrimitive.usePopperContext(scope);\n var ref = React.useRef(null);\n var composedRefs = (0, import_web.useComposedRefs)(forwardedRef, ref);\n var placementSide = (_popperContext_placement = popperContext.placement) === null || _popperContext_placement === void 0 ? void 0 : _popperContext_placement.split(\"-\")[0];\n var dataSide = placementSide === \"left\" || placementSide === \"right\" ? placementSide : rootContext.dir === \"rtl\" ? \"left\" : \"right\";\n var effectiveDir = rootContext.dir;\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Collection.Provider, {\n scope,\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Collection.Slot, {\n scope,\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MenuContentImpl, {\n id: subContext.contentId,\n \"aria-labelledby\": subContext.triggerId,\n ...subContentProps,\n ref: composedRefs,\n \"data-side\": dataSide,\n disableOutsidePointerEvents: false,\n disableOutsideScroll: false,\n trapFocus: false,\n onOpenAutoFocus: function(event) {\n if (rootContext.isUsingKeyboardRef.current) {\n var _root_querySelector, _this;\n var root = ref.current;\n var content = root === null || root === void 0 ? void 0 : (_root_querySelector = root.querySelector) === null || _root_querySelector === void 0 ? void 0 : _root_querySelector.call(root, \"[data-tamagui-menu-content]\");\n (_this = content || root) === null || _this === void 0 ? void 0 : _this.focus({\n preventScroll: true\n });\n }\n event.preventDefault();\n },\n // The menu might close because of focusing another menu item in the parent menu. We\n // don't want it to refocus the trigger in that case so we handle trigger focus ourselves.\n onCloseAutoFocus: function(event) {\n return event.preventDefault();\n },\n onFocusOutside: (0, import_web.composeEventHandlers)(props.onFocusOutside, function(event) {\n if (event.target !== subContext.trigger) context.onOpenChange(false);\n }),\n onEscapeKeyDown: (0, import_web.composeEventHandlers)(props.onEscapeKeyDown, function(event) {\n var _subContext_trigger;\n context.onOpenChange(false);\n (_subContext_trigger = subContext.trigger) === null || _subContext_trigger === void 0 ? void 0 : _subContext_trigger.focus({\n focusVisible: true\n });\n event.preventDefault();\n }),\n ...import_web.isWeb ? {\n onKeyDown: (0, import_web.composeEventHandlers)(props.onKeyDown, function(event) {\n var isKeyDownInside = event.currentTarget.contains(event.target);\n var isCloseKey = SUB_CLOSE_KEYS[effectiveDir].includes(event.key);\n if (isKeyDownInside && isCloseKey) {\n var _subContext_trigger;\n context.onOpenChange(false);\n (_subContext_trigger = subContext.trigger) === null || _subContext_trigger === void 0 ? void 0 : _subContext_trigger.focus({\n focusVisible: true\n });\n event.preventDefault();\n }\n })\n } : null\n })\n })\n });\n });\n MenuSubContent.displayName = SUB_CONTENT_NAME;\n var Anchor = MenuAnchor;\n var Portal = MenuPortal;\n var Content = MenuContent;\n var Group = _MenuGroup.styleable(function(props, ref) {\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(_MenuGroup, {\n ...props,\n ref\n });\n });\n Group.displayName = \"MenuGroup\";\n var Label = _Label.styleable(function(props, ref) {\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(_Label, {\n ...props,\n ref\n });\n });\n Label.displayName = \"MenuLabel\";\n var Item = MenuItem;\n var CheckboxItem = MenuCheckboxItem;\n var RadioGroup = MenuRadioGroup;\n var RadioItem = MenuRadioItem;\n var ItemIndicator = MenuItemIndicator;\n var Separator = _Separator.styleable(function(props, ref) {\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(_Separator, {\n ...props,\n ref\n });\n });\n Separator.displayName = \"MenuSeparator\";\n var Arrow = MenuArrow;\n var Sub = MenuSub;\n var SubTrigger = MenuSubTrigger;\n var SubContent = MenuSubContent;\n var ItemTitle = MenuItemTitle;\n var ItemSubtitle = MenuItemSubTitle;\n var ItemImage = MenuItemImage;\n var ItemIcon = MenuItemIcon;\n var Menu = (0, import_web.withStaticProperties)(MenuComp, {\n Anchor,\n Portal,\n Content,\n Group,\n Label,\n Item,\n CheckboxItem,\n RadioGroup,\n RadioItem,\n ItemIndicator,\n Separator,\n Arrow,\n Sub,\n SubTrigger,\n SubContent,\n ItemTitle,\n ItemSubtitle,\n ItemImage,\n ItemIcon\n });\n return {\n Menu\n };\n}\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, options) {\n var PREVIOUSLY_FOCUSED_ELEMENT = document.activeElement;\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = candidates[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var candidate = _step.value;\n if (candidate === PREVIOUSLY_FOCUSED_ELEMENT) return;\n candidate.focus({\n preventScroll: true,\n focusVisible: options === null || options === void 0 ? void 0 : options.focusVisible\n });\n if (document.activeElement !== PREVIOUSLY_FOCUSED_ELEMENT) return;\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n}\nfunction wrapArray(array, startIndex) {\n return array.map(function(_, index) {\n return array[(startIndex + index) % array.length];\n });\n}\nfunction getNextMatch(values, search, currentMatch) {\n var isRepeated = search.length > 1 && Array.from(search).every(function(char) {\n return char === search[0];\n });\n var normalizedSearch = isRepeated ? search[0] : search;\n var currentMatchIndex = currentMatch ? values.indexOf(currentMatch) : -1;\n var wrappedValues = wrapArray(values, Math.max(currentMatchIndex, 0));\n var excludeCurrentMatch = normalizedSearch.length === 1;\n if (excludeCurrentMatch) wrappedValues = wrappedValues.filter(function(v) {\n return v !== currentMatch;\n });\n var nextMatch = wrappedValues.find(function(value) {\n return value.toLowerCase().startsWith(normalizedSearch.toLowerCase());\n });\n return nextMatch !== currentMatch ? nextMatch : void 0;\n}\nfunction isPointInPolygon(point, polygon) {\n var { x, y } = point;\n var inside = false;\n for (var i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {\n var xi = polygon[i].x;\n var yi = polygon[i].y;\n var xj = polygon[j].x;\n var yj = polygon[j].y;\n var 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 var cursorPos = {\n x: event.clientX,\n y: event.clientY\n };\n return isPointInPolygon(cursorPos, area);\n}\n//# sourceMappingURL=createBaseMenu.js.map\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"createBaseMenu.native.js","names":[],"sources":["cjs/createBaseMenu.native.js"],"sourcesContent":["\"use strict\";\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. \"__esModule\" has not been set), then set\n // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", { value: mod, enumerable: true }) : target,\n mod\n));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar createBaseMenu_exports = {};\n__export(createBaseMenu_exports, {\n createBaseMenu: () => createBaseMenu\n});\nmodule.exports = __toCommonJS(createBaseMenu_exports);\nvar import_jsx_runtime = require(\"react/jsx-runtime\");\nvar import_core = require(\"@tamagui/core\");\nvar import_animate = require(\"@tamagui/animate\");\nvar import_animate_presence = require(\"@tamagui/animate-presence\");\nvar import_collection = require(\"@tamagui/collection\");\nvar import_dismissable = require(\"@tamagui/dismissable\");\nvar import_focus_guard = require(\"@tamagui/focus-guard\");\nvar import_focus_scope = require(\"@tamagui/focus-scope\");\nvar import_image = require(\"@tamagui/image\");\nvar PopperPrimitive = __toESM(require(\"@tamagui/popper\"), 1);\nvar import_portal = require(\"@tamagui/portal\");\nvar import_remove_scroll = require(\"@tamagui/remove-scroll\");\nvar import_roving_focus = require(\"@tamagui/roving-focus\");\nvar import_use_callback_ref = require(\"@tamagui/use-callback-ref\");\nvar import_use_direction = require(\"@tamagui/use-direction\");\nvar import_web = require(\"@tamagui/web\");\nvar React = __toESM(require(\"react\"), 1);\nvar import_react = require(\"react\");\nfunction _instanceof(left, right) {\n if (right != null && typeof Symbol !== \"undefined\" && right[Symbol.hasInstance]) {\n return !!right[Symbol.hasInstance](left);\n } else {\n return left instanceof right;\n }\n}\nfunction _type_of(obj) {\n \"@swc/helpers - typeof\";\n return obj && typeof Symbol !== \"undefined\" && obj.constructor === Symbol ? \"symbol\" : typeof obj;\n}\nfunction whenMouse(handler) {\n return function(event) {\n return event.pointerType === \"mouse\" ? handler(event) : void 0;\n };\n}\nvar SELECTION_KEYS = [\n \"Enter\",\n \" \"\n];\nvar FIRST_KEYS = [\n \"ArrowDown\",\n \"PageUp\",\n \"Home\"\n];\nvar LAST_KEYS = [\n \"ArrowUp\",\n \"PageDown\",\n \"End\"\n];\nvar FIRST_LAST_KEYS = [\n ...FIRST_KEYS,\n ...LAST_KEYS\n];\nvar SUB_OPEN_KEYS = {\n ltr: [\n ...SELECTION_KEYS,\n \"ArrowRight\"\n ],\n rtl: [\n ...SELECTION_KEYS,\n \"ArrowLeft\"\n ]\n};\nvar SUB_CLOSE_KEYS = {\n ltr: [\n \"ArrowLeft\"\n ],\n rtl: [\n \"ArrowRight\"\n ]\n};\nvar MENU_NAME = \"Menu\";\nvar [Collection, useCollection] = (0, import_collection.createCollection)(MENU_NAME);\nvar { Provider: MenuProvider, useStyledContext: useMenuContext } = (0, import_web.createStyledContext)();\nvar { Provider: MenuRootProvider, useStyledContext: useMenuRootContext } = (0, import_web.createStyledContext)();\nvar MENU_CONTEXT = \"MenuContext\";\nvar MenuImageFrame = (0, import_web.styled)(import_image.Image, {\n displayName: \"MenuItemImage\"\n});\nfunction createBaseMenu() {\n var MenuComp = function(props) {\n var direction = (0, import_use_direction.useDirection)(props.dir);\n var defaultPlacement = direction === \"rtl\" ? \"bottom-end\" : \"bottom-start\";\n var { scope = MENU_CONTEXT, open = false, children, dir, onOpenChange, modal = true, allowFlip = {\n padding: 10\n }, stayInFrame = {\n padding: 10\n }, placement = defaultPlacement, resize = true, offset = 10, ...rest } = props;\n var [content, setContent] = React.useState(null);\n var isUsingKeyboardRef = React.useRef(false);\n var handleOpenChange = (0, import_use_callback_ref.useCallbackRef)(onOpenChange);\n if (import_web.isWeb) {\n React.useEffect(function() {\n var handleKeyDown = function() {\n isUsingKeyboardRef.current = true;\n document.addEventListener(\"pointerdown\", handlePointer, {\n capture: true,\n once: true\n });\n document.addEventListener(\"pointermove\", handlePointer, {\n capture: true,\n once: true\n });\n };\n var handlePointer = function() {\n return isUsingKeyboardRef.current = false;\n };\n document.addEventListener(\"keydown\", handleKeyDown, {\n capture: true\n });\n return function() {\n document.removeEventListener(\"keydown\", handleKeyDown, {\n capture: true\n });\n document.removeEventListener(\"pointerdown\", handlePointer, {\n capture: true\n });\n document.removeEventListener(\"pointermove\", handlePointer, {\n capture: true\n });\n };\n }, []);\n }\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(PopperPrimitive.Popper, {\n scope,\n open,\n placement,\n allowFlip,\n stayInFrame,\n resize,\n offset,\n ...rest,\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MenuProvider, {\n scope,\n open,\n onOpenChange: handleOpenChange,\n content,\n onContentChange: setContent,\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MenuRootProvider, {\n scope,\n open,\n onClose: React.useCallback(function() {\n return handleOpenChange(false);\n }, [\n handleOpenChange\n ]),\n isUsingKeyboardRef,\n dir: direction,\n modal,\n children: (\n /** this provider is just to avoid crashing when using useSubMenuContext() inside MenuPortal */\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MenuSubProvider, {\n scope,\n children\n })\n )\n })\n })\n });\n };\n var RepropagateMenuAndMenuRootProvider = function(props) {\n var { scope = MENU_CONTEXT, menuContext, rootContext, popperContext, menuSubContext, children } = props;\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(PopperPrimitive.PopperProvider, {\n ...popperContext,\n scope,\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MenuProvider, {\n scope,\n ...menuContext,\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MenuRootProvider, {\n scope,\n ...rootContext,\n children: menuSubContext ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MenuSubProvider, {\n scope,\n ...menuSubContext,\n children\n }) : children\n })\n })\n });\n };\n MenuComp.displayName = MENU_NAME;\n var ANCHOR_NAME = \"MenuAnchor\";\n var MenuAnchor = function(props) {\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(PopperPrimitive.PopperAnchor, {\n scope: MENU_CONTEXT,\n ...props\n });\n };\n MenuAnchor.displayName = ANCHOR_NAME;\n var PORTAL_NAME = \"MenuPortal\";\n var { Provider: PortalProvider, useStyledContext: usePortalContext } = (0, import_web.createStyledContext)(void 0, \"Portal\");\n var MenuPortal = function(props) {\n var { scope = MENU_CONTEXT, forceMount, zIndex, children } = props;\n var menuContext = useMenuContext(scope);\n var rootContext = useMenuRootContext(scope);\n var popperContext = PopperPrimitive.usePopperContext(scope);\n var menuSubContext = useMenuSubContext(scope);\n var themeName = (0, import_web.useThemeName)();\n var themedChildren = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_web.Theme, {\n forceClassName: true,\n name: themeName,\n children\n });\n var content = (0, import_portal.needsPortalRepropagation)() ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(RepropagateMenuAndMenuRootProvider, {\n menuContext,\n rootContext,\n popperContext,\n menuSubContext,\n scope,\n children: themedChildren\n }) : themedChildren;\n var isPresent = forceMount || rootContext.open && menuContext.open;\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_animate.Animate, {\n type: \"presence\",\n present: isPresent,\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_portal.Portal, {\n stackZIndex: true,\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, {\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(PortalProvider, {\n scope,\n forceMount,\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_web.View, {\n zIndex: zIndex || 100,\n inset: 0,\n position: \"absolute\",\n children: [\n !!menuContext.open && !import_web.isWeb && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_web.View, {\n inset: 0,\n position: \"absolute\",\n onPress: function() {\n return menuContext.onOpenChange(!menuContext.open);\n }\n }),\n content\n ]\n })\n })\n })\n })\n });\n };\n MenuPortal.displayName = PORTAL_NAME;\n var CONTENT_NAME = \"MenuContent\";\n var { Provider: MenuContentProvider, useStyledContext: useMenuContentContext } = (0, import_web.createStyledContext)();\n var MenuContentFrame = (0, import_web.styled)(PopperPrimitive.PopperContentFrame, {\n displayName: CONTENT_NAME\n });\n var MenuContent = (0, import_core.createStyledHOC)(MenuContentFrame, function(props, forwardedRef) {\n var scope = props.scope || MENU_CONTEXT;\n var portalContext = usePortalContext(scope);\n var { forceMount = portalContext.forceMount, ...contentProps } = props;\n var rootContext = useMenuRootContext(scope);\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Collection.Provider, {\n scope,\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Collection.Slot, {\n scope,\n children: rootContext.modal ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MenuRootContentModal, {\n ...contentProps,\n ref: forwardedRef\n }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MenuRootContentNonModal, {\n ...contentProps,\n ref: forwardedRef\n })\n })\n });\n });\n var MenuRootContentModal = (0, import_core.createRefComponent)(function(props, forwardedRef) {\n var scope = props.scope || MENU_CONTEXT;\n var context = useMenuContext(scope);\n var ref = React.useRef(null);\n var composedRefs = (0, import_web.useComposedRefs)(forwardedRef, ref);\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MenuContentImpl, {\n ...props,\n scope,\n ref: composedRefs,\n // we make sure we're not trapping once it's been closed\n // (closed !== unmounted when animating out)\n trapFocus: context.open,\n // make sure to only disable pointer events when open\n // this avoids blocking interactions while animating out\n disableOutsidePointerEvents: context.open,\n disableOutsideScroll: false,\n // When focus is trapped, a `focusout` event may still happen.\n // We make sure we don't trigger our `onDismiss` in such case.\n onFocusOutside: (0, import_web.composeEventHandlers)(props.onFocusOutside, function(event) {\n return event.cancel();\n }, {\n checkDefaultPrevented: false\n }),\n onDismiss: function() {\n return context.onOpenChange(false);\n }\n });\n });\n var MenuRootContentNonModal = (0, import_core.createRefComponent)(function(props, forwardedRef) {\n var scope = props.scope || MENU_CONTEXT;\n var context = useMenuContext(scope);\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MenuContentImpl, {\n ...props,\n scope,\n ref: forwardedRef,\n trapFocus: false,\n disableOutsidePointerEvents: false,\n disableOutsideScroll: false,\n onDismiss: function() {\n return context.onOpenChange(false);\n }\n });\n });\n var MenuContentImpl = (0, import_core.createRefComponent)(function(props, forwardedRef) {\n var { scope = MENU_CONTEXT, loop = false, trapFocus, onOpenAutoFocus, onCloseAutoFocus, disableOutsidePointerEvents, onEntryFocus, onEscapeKeyDown, onPointerDownOutside, onFocusOutside, onInteractOutside, onDismiss, disableOutsideScroll, disableDismissOnScroll = false, ...contentProps } = props;\n var context = useMenuContext(scope);\n var rootContext = useMenuRootContext(scope);\n var popperContext = PopperPrimitive.usePopperContext(scope);\n var getItems = useCollection(scope);\n var [currentItemId, setCurrentItemId] = React.useState(null);\n var contentRef = React.useRef(null);\n var focusableContentRef = React.useRef(null);\n var composedRefs = (0, import_web.useComposedRefs)(forwardedRef, contentRef, context.onContentChange);\n var timerRef = React.useRef(0);\n var searchRef = React.useRef(\"\");\n var pointerGraceTimerRef = React.useRef(0);\n var pointerGraceIntentRef = React.useRef(null);\n var pointerDirRef = React.useRef(\"right\");\n var lastPointerXRef = React.useRef(0);\n var handleTypeaheadSearch = function(key) {\n var _items_find, _items_find1;\n var search = searchRef.current + key;\n var items = getItems().filter(function(item) {\n return !item.disabled;\n });\n var currentItem = document.activeElement;\n var currentMatch = (_items_find = items.find(function(item) {\n return item.ref.current === currentItem;\n })) === null || _items_find === void 0 ? void 0 : _items_find.textValue;\n var values = items.map(function(item) {\n return item.textValue;\n });\n var nextMatch = getNextMatch(values, search, currentMatch);\n var newItem = (_items_find1 = items.find(function(item) {\n return item.textValue === nextMatch;\n })) === null || _items_find1 === void 0 ? void 0 : _items_find1.ref.current;\n (function updateSearch(value) {\n searchRef.current = value;\n clearTimeout(timerRef.current);\n if (value !== \"\") timerRef.current = setTimeout(function() {\n return updateSearch(\"\");\n }, 1e3);\n })(search);\n if (newItem) {\n setTimeout(function() {\n return newItem.focus();\n });\n }\n };\n React.useEffect(function() {\n return function() {\n return clearTimeout(timerRef.current);\n };\n }, []);\n React.useEffect(function() {\n if (!import_web.isWeb || !context.open) return;\n var frame = requestAnimationFrame(function() {\n var container = contentRef.current;\n var el = container === null || container === void 0 ? void 0 : container.querySelector(\"[data-tamagui-menu-content]\");\n if (el) focusableContentRef.current = el;\n });\n return function() {\n return cancelAnimationFrame(frame);\n };\n }, [\n context.open\n ]);\n React.useEffect(function() {\n if (!import_web.isWeb || disableDismissOnScroll || !context.open) return;\n var handleScroll = function(event) {\n var _popperContext_refs_reference, _popperContext_refs;\n var scrolled = event.target;\n if (!scrolled) return;\n var content2 = contentRef.current;\n if (content2 === null || content2 === void 0 ? void 0 : content2.contains(scrolled)) return;\n var reference = (_popperContext_refs = popperContext.refs) === null || _popperContext_refs === void 0 ? void 0 : (_popperContext_refs_reference = _popperContext_refs.reference) === null || _popperContext_refs_reference === void 0 ? void 0 : _popperContext_refs_reference.current;\n var _reference_contextElement;\n var anchor = _instanceof(reference, Element) ? reference : (_reference_contextElement = reference === null || reference === void 0 ? void 0 : reference.contextElement) !== null && _reference_contextElement !== void 0 ? _reference_contextElement : null;\n if (anchor && !scrolled.contains(anchor)) return;\n context.onOpenChange(false);\n };\n window.addEventListener(\"scroll\", handleScroll, {\n capture: true,\n passive: true\n });\n return function() {\n window.removeEventListener(\"scroll\", handleScroll, {\n capture: true\n });\n };\n }, [\n disableDismissOnScroll,\n context.open,\n context.onOpenChange,\n popperContext.refs\n ]);\n if (import_web.isWeb) {\n (0, import_focus_guard.useFocusGuards)();\n }\n var isPointerMovingToSubmenu = React.useCallback(function(event) {\n var _pointerGraceIntentRef_current, _pointerGraceIntentRef_current1;\n var isMovingTowards = pointerDirRef.current === ((_pointerGraceIntentRef_current = pointerGraceIntentRef.current) === null || _pointerGraceIntentRef_current === void 0 ? void 0 : _pointerGraceIntentRef_current.side);\n var inArea = isPointerInGraceArea(event, (_pointerGraceIntentRef_current1 = pointerGraceIntentRef.current) === null || _pointerGraceIntentRef_current1 === void 0 ? void 0 : _pointerGraceIntentRef_current1.area);\n return isMovingTowards && inArea;\n }, []);\n var content = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(PopperPrimitive.PopperContent, {\n role: \"menu\",\n // tabIndex allows the content to be focusable so that onItemLeave can\n // focus the content frame and properly blur the previously focused item\n tabIndex: -1,\n \"aria-orientation\": \"vertical\",\n \"data-state\": getOpenState(context.open),\n \"data-tamagui-menu-content\": \"\",\n // TODO\n // @ts-ignore\n dir: rootContext.dir,\n scope: scope || MENU_CONTEXT,\n ...contentProps,\n ref: composedRefs,\n className: contentProps.transition ? void 0 : contentProps.className,\n ...import_web.isWeb ? {\n onKeyDown: (0, import_web.composeEventHandlers)(contentProps.onKeyDown, function(event) {\n var target = event.target;\n var isKeyDownInside = target.closest(\"[data-tamagui-menu-content]\") === event.currentTarget;\n var isModifierKey = event.ctrlKey || event.altKey || event.metaKey;\n var isCharacterKey = event.key.length === 1;\n if (isKeyDownInside) {\n if (event.key === \"Tab\") event.preventDefault();\n if (!isModifierKey && isCharacterKey) handleTypeaheadSearch(event.key);\n }\n var isOnContentFrame = event.target.hasAttribute(\"data-tamagui-menu-content\");\n if (!isKeyDownInside || !isOnContentFrame) return;\n if (!FIRST_LAST_KEYS.includes(event.key)) return;\n event.preventDefault();\n var items = getItems().filter(function(item) {\n return !item.disabled;\n });\n var candidateNodes = items.map(function(item) {\n return item.ref.current;\n });\n if (LAST_KEYS.includes(event.key)) candidateNodes.reverse();\n focusFirst(candidateNodes, {\n focusVisible: true\n });\n }),\n // TODO\n // @ts-ignore\n onBlur: (0, import_web.composeEventHandlers)(props.onBlur, function(event) {\n var _event_currentTarget;\n if (!((_event_currentTarget = event.currentTarget) === null || _event_currentTarget === void 0 ? void 0 : _event_currentTarget.contains(event.target))) {\n clearTimeout(timerRef.current);\n searchRef.current = \"\";\n }\n }),\n // TODO\n onPointerMove: (0, import_web.composeEventHandlers)(props.onPointerMove, function(event) {\n var _event_currentTarget;\n if (event.pointerType !== \"mouse\") return;\n var target = event.target;\n var pointerXHasChanged = lastPointerXRef.current !== event.clientX;\n if (((_event_currentTarget = event.currentTarget) === null || _event_currentTarget === void 0 ? void 0 : _event_currentTarget.contains(target)) && pointerXHasChanged) {\n var newDir = event.clientX > lastPointerXRef.current ? \"right\" : \"left\";\n pointerDirRef.current = newDir;\n lastPointerXRef.current = event.clientX;\n }\n })\n } : {}\n });\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MenuContentProvider, {\n scope,\n searchRef,\n onItemEnter: React.useCallback(function(event) {\n if (isPointerMovingToSubmenu(event)) event.preventDefault();\n }, [\n isPointerMovingToSubmenu\n ]),\n onItemLeave: React.useCallback(function(event) {\n var _focusableContentRef_current;\n if (isPointerMovingToSubmenu(event)) return;\n (_focusableContentRef_current = focusableContentRef.current) === null || _focusableContentRef_current === void 0 ? void 0 : _focusableContentRef_current.focus();\n setCurrentItemId(null);\n }, [\n isPointerMovingToSubmenu\n ]),\n onTriggerLeave: React.useCallback(function(event) {\n if (isPointerMovingToSubmenu(event)) event.preventDefault();\n }, [\n isPointerMovingToSubmenu\n ]),\n pointerGraceTimerRef,\n onPointerGraceIntentChange: React.useCallback(function(intent) {\n pointerGraceIntentRef.current = intent;\n }, []),\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_remove_scroll.RemoveScroll, {\n enabled: disableOutsideScroll,\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_focus_scope.FocusScope, {\n asChild: false,\n trapped: trapFocus,\n onMountAutoFocus: (0, import_web.composeEventHandlers)(onOpenAutoFocus, function(event) {\n event.cancel();\n var content2 = document.querySelector(\"[data-tamagui-menu-content]\");\n content2 === null || content2 === void 0 ? void 0 : content2.focus({\n preventScroll: true\n });\n }),\n onUnmountAutoFocus: onCloseAutoFocus,\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_dismissable.Dismissable, {\n disableOutsidePointerEvents,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside,\n onInteractOutside,\n onDismiss,\n asChild: true,\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_roving_focus.RovingFocusGroup, {\n asChild: true,\n __scopeRovingFocusGroup: scope || MENU_CONTEXT,\n dir: rootContext.dir,\n orientation: \"vertical\",\n loop,\n currentTabStopId: currentItemId,\n onCurrentTabStopIdChange: setCurrentItemId,\n onEntryFocus: (0, import_web.composeEventHandlers)(onEntryFocus, function(event) {\n if (!rootContext.isUsingKeyboardRef.current) {\n event.cancel();\n }\n }),\n children: content\n })\n })\n })\n })\n });\n });\n MenuContent.displayName = CONTENT_NAME;\n var ITEM_NAME = \"MenuItem\";\n var ITEM_SELECT = \"menu.itemSelect\";\n var MenuItem = (0, import_core.createStyledHOC)(import_web.View, function(props, forwardedRef) {\n var {\n disabled = false,\n onSelect,\n preventCloseOnSelect,\n children,\n scope = MENU_CONTEXT,\n // filter out native-only props that shouldn't reach the DOM\n // @ts-ignore\n destructive,\n // @ts-ignore\n hidden,\n // @ts-ignore\n androidIconName,\n ...itemProps\n } = props;\n var ref = React.useRef(null);\n var rootContext = useMenuRootContext(scope);\n var contentContext = useMenuContentContext(scope);\n var composedRefs = (0, import_web.useComposedRefs)(forwardedRef, ref);\n var isPointerDownRef = React.useRef(false);\n var handleSelect = function() {\n var menuItem = ref.current;\n if (!disabled && menuItem) {\n if (import_web.isWeb) {\n var menuItemEl = menuItem;\n var itemSelectEvent = new CustomEvent(ITEM_SELECT, {\n bubbles: true,\n cancelable: true\n });\n menuItemEl.addEventListener(ITEM_SELECT, function(event) {\n return onSelect === null || onSelect === void 0 ? void 0 : onSelect(event);\n }, {\n once: true\n });\n (0, import_dismissable.dispatchDiscreteCustomEvent)(menuItemEl, itemSelectEvent);\n if (itemSelectEvent.defaultPrevented || preventCloseOnSelect) {\n isPointerDownRef.current = false;\n } else {\n rootContext.onClose();\n }\n } else {\n onSelect === null || onSelect === void 0 ? void 0 : onSelect({\n target: menuItem\n });\n isPointerDownRef.current = false;\n if (!preventCloseOnSelect) {\n rootContext.onClose();\n }\n }\n }\n };\n var content = typeof children === \"string\" ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_web.Text, {\n children\n }) : children;\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MenuItemImpl, {\n ...itemProps,\n scope,\n // @ts-ignore\n ref: composedRefs,\n disabled,\n onPress: (0, import_web.composeEventHandlers)(props.onPress, handleSelect),\n onPointerDown: function(event) {\n var _props_onPointerDown;\n (_props_onPointerDown = props.onPointerDown) === null || _props_onPointerDown === void 0 ? void 0 : _props_onPointerDown.call(props, event);\n isPointerDownRef.current = true;\n },\n onPointerUp: (0, import_web.composeEventHandlers)(props.onPointerUp, function(event) {\n if (import_web.isWeb) {\n var _event_currentTarget;\n if (!isPointerDownRef.current) (_event_currentTarget = event.currentTarget) === null || _event_currentTarget === void 0 ? void 0 : _event_currentTarget.click();\n }\n }),\n ...import_web.isWeb ? {\n onKeyDown: (0, import_web.composeEventHandlers)(props.onKeyDown, function(event) {\n var isTypingAhead = contentContext.searchRef.current !== \"\";\n if (disabled || isTypingAhead && event.key === \" \") return;\n if (SELECTION_KEYS.includes(event.key)) {\n var _event_currentTarget;\n (_event_currentTarget = event.currentTarget) === null || _event_currentTarget === void 0 ? void 0 : _event_currentTarget.click();\n event.preventDefault();\n }\n })\n } : {},\n children: content\n });\n });\n var MenuItemImpl = (0, import_core.createRefComponent)(function(props, forwardedRef) {\n var { scope = MENU_CONTEXT, className, disabled = false, textValue, ...itemProps } = props;\n var contentContext = useMenuContentContext(scope);\n var ref = React.useRef(null);\n var composedRefs = (0, import_web.useComposedRefs)(forwardedRef, ref);\n var [isFocused, setIsFocused] = React.useState(false);\n var [textContent, setTextContent] = React.useState(\"\");\n if (import_web.isWeb) {\n React.useEffect(function() {\n var menuItem = ref.current;\n if (menuItem) {\n var _menuItem_textContent;\n setTextContent(((_menuItem_textContent = menuItem.textContent) !== null && _menuItem_textContent !== void 0 ? _menuItem_textContent : \"\").trim());\n }\n }, [\n itemProps.children\n ]);\n }\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Collection.ItemSlot, {\n scope,\n disabled,\n textValue: textValue !== null && textValue !== void 0 ? textValue : textContent,\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_roving_focus.RovingFocusGroup.Item, {\n asChild: true,\n __scopeRovingFocusGroup: scope,\n tabIndex: disabled ? -1 : 0,\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_web.View, {\n className: `is_${ITEM_NAME} ${className || \"\"}`.trim(),\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 /**\n * We focus items on `pointerMove` to achieve the following:\n *\n * - Mouse over an item (it focuses)\n * - Leave mouse where it is and use keyboard to focus a different item\n * - Wiggle mouse without it leaving previously focused item\n * - Previously focused item should re-focus\n *\n * If we used `mouseOver`/`mouseEnter` it would not re-focus when the mouse\n * wiggles. This is to match native menu implementation.\n */\n onPointerMove: (0, import_web.composeEventHandlers)(props.onPointerMove, function(event) {\n if (event.pointerType !== \"mouse\") return;\n if (disabled) {\n contentContext.onItemLeave(event);\n } else {\n contentContext.onItemEnter(event);\n if (!event.defaultPrevented) {\n var item = event.currentTarget;\n item.focus({\n preventScroll: true,\n focusVisible: false\n });\n }\n }\n }),\n onPointerLeave: (0, import_web.composeEventHandlers)(props.onPointerLeave, function(event) {\n contentContext.onItemLeave(event);\n }),\n onFocus: (0, import_web.composeEventHandlers)(props.onFocus, function() {\n return setIsFocused(true);\n }),\n onBlur: (0, import_web.composeEventHandlers)(props.onBlur, function() {\n return setIsFocused(false);\n })\n })\n })\n });\n });\n MenuItem.displayName = ITEM_NAME;\n var ITEM_TITLE_NAME = \"MenuItemTitle\";\n var MenuItemTitle = (0, import_core.createStyledHOC)(import_web.Text, function(props, forwardedRef) {\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_web.Text, {\n ...props,\n ref: forwardedRef\n });\n });\n MenuItemTitle.displayName = ITEM_TITLE_NAME;\n var ITEM_SUB_TITLE_NAME = \"MenuItemSubTitle\";\n var MenuItemSubTitle = (0, import_core.createStyledHOC)(import_web.Text, function(props, forwardedRef) {\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_web.Text, {\n ...props,\n ref: forwardedRef\n });\n });\n MenuItemSubTitle.displayName = ITEM_SUB_TITLE_NAME;\n var ITEM_IMAGE = \"MenuItemImage\";\n var MenuItemImage = (0, import_core.createRefComponent)(function(props, forwardedRef) {\n var {\n // @ts-ignore - native menu ios config\n ios,\n // @ts-ignore\n androidIconName,\n ...rest\n } = props;\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MenuImageFrame, {\n ...rest,\n ref: forwardedRef\n });\n });\n MenuItemImage.displayName = ITEM_IMAGE;\n var ITEM_ICON = \"MenuItemIcon\";\n var MenuItemIcon = (0, import_core.createStyledHOC)(import_web.View, function(props, forwardedRef) {\n var {\n // @ts-ignore\n ios,\n // @ts-ignore\n android,\n // @ts-ignore\n androidIconName,\n ...rest\n } = props;\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_web.View, {\n ...rest,\n ref: forwardedRef\n });\n });\n MenuItemIcon.displayName = ITEM_ICON;\n var CHECKBOX_ITEM_NAME = \"MenuCheckboxItem\";\n var MenuCheckboxItem = (0, import_core.createStyledHOC)(import_web.View, function(props, forwardedRef) {\n var {\n checked = false,\n onCheckedChange,\n scope = MENU_CONTEXT,\n // filter out native-only props\n // @ts-ignore - native menu value state\n value,\n // @ts-ignore - native menu value change handler\n onValueChange,\n className,\n ...checkboxItemProps\n } = props;\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ItemIndicatorProvider, {\n scope,\n checked,\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MenuItem, {\n className: `is_${CHECKBOX_ITEM_NAME} ${className || \"\"}`.trim(),\n role: import_web.isWeb ? \"menuitemcheckbox\" : \"menuitem\",\n \"aria-checked\": isIndeterminate(checked) ? \"mixed\" : checked,\n ...checkboxItemProps,\n scope,\n ref: forwardedRef,\n \"data-state\": getCheckedState(checked),\n onSelect: (0, import_web.composeEventHandlers)(checkboxItemProps.onSelect, function() {\n return onCheckedChange === null || onCheckedChange === void 0 ? void 0 : onCheckedChange(isIndeterminate(checked) ? true : !checked);\n }, {\n checkDefaultPrevented: false\n })\n })\n });\n });\n MenuCheckboxItem.displayName = CHECKBOX_ITEM_NAME;\n var RADIO_GROUP_NAME = \"MenuRadioGroup\";\n var { Provider: RadioGroupProvider, useStyledContext: useRadioGroupContext } = (0, import_web.createStyledContext)();\n var MenuRadioGroup = (0, import_core.createStyledHOC)(import_web.View, function(props, forwardedRef) {\n var { value, onValueChange, scope = MENU_CONTEXT, className, ...groupProps } = props;\n var handleValueChange = (0, import_use_callback_ref.useCallbackRef)(onValueChange);\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(RadioGroupProvider, {\n scope,\n value,\n onValueChange: handleValueChange,\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_web.View, {\n className: `is_${RADIO_GROUP_NAME} ${className || \"\"}`.trim(),\n ...groupProps,\n ref: forwardedRef\n })\n });\n });\n MenuRadioGroup.displayName = RADIO_GROUP_NAME;\n var RADIO_ITEM_NAME = \"MenuRadioItem\";\n var MenuRadioItem = (0, import_core.createStyledHOC)(import_web.View, function(props, forwardedRef) {\n var { value, scope = MENU_CONTEXT, className, ...radioItemProps } = props;\n var context = useRadioGroupContext(scope);\n var checked = value === context.value;\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ItemIndicatorProvider, {\n scope,\n checked,\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MenuItem, {\n className: `is_${RADIO_ITEM_NAME} ${className || \"\"}`.trim(),\n ...radioItemProps,\n scope,\n \"aria-checked\": checked,\n ref: forwardedRef,\n role: import_web.isWeb ? \"menuitemradio\" : \"menuitem\",\n \"data-state\": getCheckedState(checked),\n onSelect: (0, import_web.composeEventHandlers)(radioItemProps.onSelect, function() {\n var _context_onValueChange;\n return (_context_onValueChange = context.onValueChange) === null || _context_onValueChange === void 0 ? void 0 : _context_onValueChange.call(context, value);\n }, {\n checkDefaultPrevented: false\n })\n })\n });\n });\n MenuRadioItem.displayName = RADIO_ITEM_NAME;\n var ITEM_INDICATOR_NAME = \"MenuItemIndicator\";\n var { Provider: ItemIndicatorProvider, useStyledContext: useItemIndicatorContext } = (0, import_web.createStyledContext)();\n var MenuItemIndicator = (0, import_core.createStyledHOC)(import_web.View, function(props, forwardedRef) {\n var { scope = MENU_CONTEXT, className, forceMount, ...itemIndicatorProps } = props;\n var indicatorContext = useItemIndicatorContext(scope);\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_animate_presence.AnimatePresence, {\n children: forceMount || isIndeterminate(indicatorContext.checked) || indicatorContext.checked === true ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_web.View, {\n className: `is_${ITEM_INDICATOR_NAME} ${className || \"\"}`.trim(),\n render: \"span\",\n ...itemIndicatorProps,\n ref: forwardedRef,\n \"data-state\": getCheckedState(indicatorContext.checked)\n }) : null\n });\n });\n MenuItemIndicator.displayName = ITEM_INDICATOR_NAME;\n var MenuArrow = (0, import_core.createRefComponent)(function MenuArrow2(props, forwardedRef) {\n var { scope = MENU_CONTEXT, className, ...rest } = props;\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(PopperPrimitive.PopperArrow, {\n scope,\n className: `is_PopperArrow ${className || \"\"}`.trim(),\n ...rest,\n ref: forwardedRef\n });\n });\n var SUB_NAME = \"MenuSub\";\n var { Provider: MenuSubProvider, useStyledContext: useMenuSubContext } = (0, import_web.createStyledContext)();\n var MenuSub = function(props) {\n var _parentPopperContext_placement;\n var isTouchDevice = (0, import_web.useIsTouchDevice)();\n var { scope = MENU_CONTEXT } = props;\n var rootContext = useMenuRootContext(scope);\n var parentPopperContext = PopperPrimitive.usePopperContext(scope);\n var parentSide = (_parentPopperContext_placement = parentPopperContext.placement) === null || _parentPopperContext_placement === void 0 ? void 0 : _parentPopperContext_placement.split(\"-\")[0];\n var isNestedSubmenu = parentSide === \"left\" || parentSide === \"right\";\n var defaultPlacement = isTouchDevice ? \"bottom\" : isNestedSubmenu ? `${parentSide}-start` : rootContext.dir === \"rtl\" ? \"left-start\" : \"right-start\";\n var { children, open = false, onOpenChange, allowFlip: allowFlipProp = {\n padding: 10\n }, stayInFrame = {\n padding: 10\n }, placement = defaultPlacement, ...rest } = props;\n var allowFlip = React.useMemo(function() {\n if (!isNestedSubmenu || typeof allowFlipProp === \"boolean\") return allowFlipProp;\n if (allowFlipProp.fallbackPlacements) return allowFlipProp;\n var side = placement.split(\"-\")[0];\n var align = placement.split(\"-\")[1] || \"start\";\n var otherAlign = align === \"start\" ? \"end\" : \"start\";\n if (side === \"left\" || side === \"right\") {\n var oppositeSide = side === \"right\" ? \"left\" : \"right\";\n return {\n ...(typeof allowFlipProp === \"undefined\" ? \"undefined\" : _type_of(allowFlipProp)) === \"object\" ? allowFlipProp : {},\n fallbackPlacements: [\n `${side}-${otherAlign}`,\n `${oppositeSide}-${align}`,\n `${oppositeSide}-${otherAlign}`\n ]\n };\n }\n return allowFlipProp;\n }, [\n isNestedSubmenu,\n allowFlipProp,\n placement\n ]);\n var parentMenuContext = useMenuContext(scope);\n var [trigger, setTrigger] = React.useState(null);\n var [content, setContent] = React.useState(null);\n var handleOpenChange = (0, import_use_callback_ref.useCallbackRef)(onOpenChange);\n React.useEffect(function() {\n if (parentMenuContext.open === false) handleOpenChange(false);\n return function() {\n return handleOpenChange(false);\n };\n }, [\n parentMenuContext.open,\n handleOpenChange\n ]);\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(PopperPrimitive.Popper, {\n open,\n placement,\n allowFlip,\n stayInFrame,\n ...rest,\n scope,\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MenuProvider, {\n scope,\n open,\n onOpenChange: handleOpenChange,\n content,\n onContentChange: setContent,\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MenuSubProvider, {\n scope,\n contentId: (0, import_react.useId)(),\n triggerId: (0, import_react.useId)(),\n trigger,\n onTriggerChange: setTrigger,\n children\n })\n })\n });\n };\n MenuSub.displayName = SUB_NAME;\n var SUB_TRIGGER_NAME = \"MenuSubTrigger\";\n var MenuSubTrigger = (0, import_core.createRefComponent)(function(props, forwardedRef) {\n var scope = props.scope || MENU_CONTEXT;\n var context = useMenuContext(scope);\n var rootContext = useMenuRootContext(scope);\n var subContext = useMenuSubContext(scope);\n var contentContext = useMenuContentContext(scope);\n var popperContext = PopperPrimitive.usePopperContext(scope);\n var openTimerRef = React.useRef(null);\n var { pointerGraceTimerRef, onPointerGraceIntentChange } = contentContext;\n var effectiveDir = rootContext.dir;\n var clearOpenTimer = React.useCallback(function() {\n if (openTimerRef.current) window.clearTimeout(openTimerRef.current);\n openTimerRef.current = null;\n }, []);\n React.useEffect(function() {\n return clearOpenTimer;\n }, [\n clearOpenTimer\n ]);\n React.useEffect(function() {\n var pointerGraceTimer = pointerGraceTimerRef.current;\n return function() {\n window.clearTimeout(pointerGraceTimer);\n onPointerGraceIntentChange(null);\n };\n }, [\n pointerGraceTimerRef,\n onPointerGraceIntentChange\n ]);\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MenuAnchor, {\n className: `is_${SUB_TRIGGER_NAME}`,\n asChild: \"except-style\",\n scope,\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MenuItemImpl, {\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: (0, import_web.composeRefs)(forwardedRef, subContext.onTriggerChange),\n // This is redundant for mouse users but we cannot determine pointer type from\n // click event and we cannot use pointerup event (see git history for reasons why)\n onPress: function(event) {\n var _props_onPress;\n (_props_onPress = props.onPress) === null || _props_onPress === void 0 ? void 0 : _props_onPress.call(props, event);\n if (props.disabled || event.defaultPrevented) return;\n if (import_web.isWeb) {\n event.currentTarget.focus();\n }\n if (!context.open) context.onOpenChange(true);\n },\n onPointerMove: (0, import_web.composeEventHandlers)(\n props.onPointerMove,\n // @ts-ignore\n whenMouse(function(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(function() {\n context.onOpenChange(true);\n clearOpenTimer();\n }, 100);\n }\n })\n ),\n onPointerLeave: (0, import_web.composeEventHandlers)(props.onPointerLeave, function(eventIn) {\n var _context_content;\n var event = eventIn;\n clearOpenTimer();\n var contentRect = (_context_content = context.content) === null || _context_content === void 0 ? void 0 : _context_content.getBoundingClientRect();\n if (contentRect) {\n var _contentEl_dataset, _sideEl_dataset;\n var contentEl = context.content;\n var sideEl = (contentEl === null || contentEl === void 0 ? void 0 : (_contentEl_dataset = contentEl.dataset) === null || _contentEl_dataset === void 0 ? void 0 : _contentEl_dataset.side) ? contentEl : contentEl === null || contentEl === void 0 ? void 0 : contentEl.querySelector(\"[data-side]\");\n var side = (sideEl === null || sideEl === void 0 ? void 0 : (_sideEl_dataset = sideEl.dataset) === null || _sideEl_dataset === void 0 ? void 0 : _sideEl_dataset.side) || \"right\";\n var rightSide = side === \"right\";\n var bleed = rightSide ? -5 : 5;\n var contentNearEdge = contentRect[rightSide ? \"left\" : \"right\"];\n var contentFarEdge = contentRect[rightSide ? \"right\" : \"left\"];\n var polygon = {\n area: [\n // Apply a bleed on clientX to ensure that our exit point is\n // consistently within polygon bounds\n {\n x: event.clientX + bleed,\n y: event.clientY\n },\n {\n x: contentNearEdge,\n y: contentRect.top\n },\n {\n x: contentFarEdge,\n y: contentRect.top\n },\n {\n x: contentFarEdge,\n y: contentRect.bottom\n },\n {\n x: contentNearEdge,\n y: contentRect.bottom\n }\n ],\n side\n };\n contentContext.onPointerGraceIntentChange(polygon);\n window.clearTimeout(pointerGraceTimerRef.current);\n pointerGraceTimerRef.current = window.setTimeout(function() {\n return contentContext.onPointerGraceIntentChange(null);\n }, 300);\n } else if (import_web.isWeb && subContext.trigger) {\n var triggerEl = subContext.trigger;\n var triggerRect = triggerEl === null || triggerEl === void 0 ? void 0 : triggerEl.getBoundingClientRect();\n if (triggerRect) {\n var _popperContext_placement;\n var placementSide = (_popperContext_placement = popperContext.placement) === null || _popperContext_placement === void 0 ? void 0 : _popperContext_placement.split(\"-\")[0];\n var side1 = placementSide === \"left\" || placementSide === \"right\" ? placementSide : rootContext.dir === \"rtl\" ? \"left\" : \"right\";\n var rightSide1 = side1 === \"right\";\n var bleed1 = rightSide1 ? -5 : 5;\n var nearEdge = rightSide1 ? triggerRect.right + 4 : triggerRect.left - 4;\n var farEdge = rightSide1 ? nearEdge + 200 : nearEdge - 200;\n var polygon1 = {\n area: [\n {\n x: event.clientX + bleed1,\n y: event.clientY\n },\n {\n x: nearEdge,\n y: triggerRect.top - 50\n },\n {\n x: farEdge,\n y: triggerRect.top - 50\n },\n {\n x: farEdge,\n y: triggerRect.bottom + 50\n },\n {\n x: nearEdge,\n y: triggerRect.bottom + 50\n }\n ],\n side: side1\n };\n contentContext.onPointerGraceIntentChange(polygon1);\n window.clearTimeout(pointerGraceTimerRef.current);\n pointerGraceTimerRef.current = window.setTimeout(function() {\n return contentContext.onPointerGraceIntentChange(null);\n }, 300);\n }\n } else {\n contentContext.onTriggerLeave(event);\n if (event.defaultPrevented) return;\n contentContext.onPointerGraceIntentChange(null);\n }\n }),\n ...import_web.isWeb ? {\n onKeyDown: (0, import_web.composeEventHandlers)(props.onKeyDown, function(event) {\n var isTypingAhead = contentContext.searchRef.current !== \"\";\n if (props.disabled || isTypingAhead && event.key === \" \") return;\n var willOpen = SUB_OPEN_KEYS[effectiveDir].includes(event.key);\n if (willOpen) {\n var _popperContext_refs, _context_content;\n if (context.open && context.content) {\n var _contentEl_querySelector;\n var contentEl = context.content;\n var firstItem = (_contentEl_querySelector = contentEl.querySelector) === null || _contentEl_querySelector === void 0 ? void 0 : _contentEl_querySelector.call(contentEl, '[role=\"menuitem\"]:not([data-disabled])');\n if (firstItem) {\n firstItem.focus({\n focusVisible: true\n });\n event.preventDefault();\n return;\n }\n }\n var triggerEl = event.currentTarget;\n (_popperContext_refs = popperContext.refs) === null || _popperContext_refs === void 0 ? void 0 : _popperContext_refs.setReference(triggerEl);\n context.onOpenChange(true);\n requestAnimationFrame(function() {\n var _popperContext_update;\n (_popperContext_update = popperContext.update) === null || _popperContext_update === void 0 ? void 0 : _popperContext_update.call(popperContext);\n });\n (_context_content = context.content) === null || _context_content === void 0 ? void 0 : _context_content.focus({\n focusVisible: true\n });\n event.preventDefault();\n }\n })\n } : null\n })\n });\n });\n MenuSubTrigger.displayName = SUB_TRIGGER_NAME;\n var SUB_CONTENT_NAME = \"MenuSubContent\";\n var MenuSubContentFrame = (0, import_web.styled)(PopperPrimitive.PopperContentFrame, {\n displayName: SUB_CONTENT_NAME\n });\n var MenuSubContent = (0, import_core.createStyledHOC)(MenuSubContentFrame, function(props, forwardedRef) {\n var _popperContext_placement;\n var scope = props.scope || MENU_CONTEXT;\n var portalContext = usePortalContext(scope);\n var { forceMount = portalContext.forceMount, ...subContentProps } = props;\n var context = useMenuContext(scope);\n var rootContext = useMenuRootContext(scope);\n var subContext = useMenuSubContext(scope);\n var popperContext = PopperPrimitive.usePopperContext(scope);\n var ref = React.useRef(null);\n var composedRefs = (0, import_web.useComposedRefs)(forwardedRef, ref);\n var placementSide = (_popperContext_placement = popperContext.placement) === null || _popperContext_placement === void 0 ? void 0 : _popperContext_placement.split(\"-\")[0];\n var dataSide = placementSide === \"left\" || placementSide === \"right\" ? placementSide : rootContext.dir === \"rtl\" ? \"left\" : \"right\";\n var effectiveDir = rootContext.dir;\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Collection.Provider, {\n scope,\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Collection.Slot, {\n scope,\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MenuContentImpl, {\n id: subContext.contentId,\n \"aria-labelledby\": subContext.triggerId,\n ...subContentProps,\n ref: composedRefs,\n \"data-side\": dataSide,\n disableOutsidePointerEvents: false,\n disableOutsideScroll: false,\n trapFocus: false,\n onOpenAutoFocus: function(event) {\n if (rootContext.isUsingKeyboardRef.current) {\n var _root_querySelector, _this;\n var root = ref.current;\n var content = root === null || root === void 0 ? void 0 : (_root_querySelector = root.querySelector) === null || _root_querySelector === void 0 ? void 0 : _root_querySelector.call(root, \"[data-tamagui-menu-content]\");\n (_this = content || root) === null || _this === void 0 ? void 0 : _this.focus({\n preventScroll: true\n });\n }\n event.cancel();\n },\n // The menu might close because of focusing another menu item in the parent menu. We\n // don't want it to refocus the trigger in that case so we handle trigger focus ourselves.\n onCloseAutoFocus: function(event) {\n return event.cancel();\n },\n onFocusOutside: (0, import_web.composeEventHandlers)(props.onFocusOutside, function(event) {\n var _event_event;\n if (((_event_event = event.event) === null || _event_event === void 0 ? void 0 : _event_event.target) !== subContext.trigger) context.onOpenChange(false);\n }),\n onEscapeKeyDown: (0, import_web.composeEventHandlers)(props.onEscapeKeyDown, function(event) {\n var _subContext_trigger, _event_event_preventDefault, _event_event;\n context.onOpenChange(false);\n (_subContext_trigger = subContext.trigger) === null || _subContext_trigger === void 0 ? void 0 : _subContext_trigger.focus({\n focusVisible: true\n });\n event.cancel();\n (_event_event = event.event) === null || _event_event === void 0 ? void 0 : (_event_event_preventDefault = _event_event.preventDefault) === null || _event_event_preventDefault === void 0 ? void 0 : _event_event_preventDefault.call(_event_event);\n }),\n ...import_web.isWeb ? {\n onKeyDown: (0, import_web.composeEventHandlers)(props.onKeyDown, function(event) {\n var isKeyDownInside = event.currentTarget.contains(event.target);\n var isCloseKey = SUB_CLOSE_KEYS[effectiveDir].includes(event.key);\n if (isKeyDownInside && isCloseKey) {\n var _subContext_trigger;\n context.onOpenChange(false);\n (_subContext_trigger = subContext.trigger) === null || _subContext_trigger === void 0 ? void 0 : _subContext_trigger.focus({\n focusVisible: true\n });\n event.preventDefault();\n }\n })\n } : null\n })\n })\n });\n });\n MenuSubContent.displayName = SUB_CONTENT_NAME;\n var Anchor = MenuAnchor;\n var Portal = MenuPortal;\n var Content = MenuContent;\n var Group = (0, import_core.createStyledHOC)(import_web.View, function(props, ref) {\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_web.View, {\n role: \"group\",\n ...props,\n ref\n });\n });\n Group.displayName = \"MenuGroup\";\n var Label = (0, import_core.createStyledHOC)(import_web.Text, function(props, ref) {\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_web.Text, {\n ...props,\n ref\n });\n });\n Label.displayName = \"MenuLabel\";\n var Item = MenuItem;\n var CheckboxItem = MenuCheckboxItem;\n var RadioGroup = MenuRadioGroup;\n var RadioItem = MenuRadioItem;\n var ItemIndicator = MenuItemIndicator;\n var Separator = (0, import_core.createStyledHOC)(import_web.View, function(props, ref) {\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_web.View, {\n role: \"separator\",\n \"aria-orientation\": \"horizontal\",\n ...props,\n ref\n });\n });\n Separator.displayName = \"MenuSeparator\";\n var Arrow = MenuArrow;\n var Sub = MenuSub;\n var SubTrigger = MenuSubTrigger;\n var SubContent = MenuSubContent;\n var ItemTitle = MenuItemTitle;\n var ItemSubtitle = MenuItemSubTitle;\n var ItemImage = MenuItemImage;\n var ItemIcon = MenuItemIcon;\n var Menu = (0, import_web.withStaticProperties)(MenuComp, {\n Anchor,\n Portal,\n Content,\n Group,\n Label,\n Item,\n CheckboxItem,\n RadioGroup,\n RadioItem,\n ItemIndicator,\n Separator,\n Arrow,\n Sub,\n SubTrigger,\n SubContent,\n ItemTitle,\n ItemSubtitle,\n ItemImage,\n ItemIcon\n });\n return {\n Menu\n };\n}\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, options) {\n var PREVIOUSLY_FOCUSED_ELEMENT = document.activeElement;\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = candidates[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var candidate = _step.value;\n if (candidate === PREVIOUSLY_FOCUSED_ELEMENT) return;\n candidate.focus({\n preventScroll: true,\n focusVisible: options === null || options === void 0 ? void 0 : options.focusVisible\n });\n if (document.activeElement !== PREVIOUSLY_FOCUSED_ELEMENT) return;\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n}\nfunction wrapArray(array, startIndex) {\n return array.map(function(_, index) {\n return array[(startIndex + index) % array.length];\n });\n}\nfunction getNextMatch(values, search, currentMatch) {\n var isRepeated = search.length > 1 && Array.from(search).every(function(char) {\n return char === search[0];\n });\n var normalizedSearch = isRepeated ? search[0] : search;\n var currentMatchIndex = currentMatch ? values.indexOf(currentMatch) : -1;\n var wrappedValues = wrapArray(values, Math.max(currentMatchIndex, 0));\n var excludeCurrentMatch = normalizedSearch.length === 1;\n if (excludeCurrentMatch) wrappedValues = wrappedValues.filter(function(v) {\n return v !== currentMatch;\n });\n var nextMatch = wrappedValues.find(function(value) {\n return value.toLowerCase().startsWith(normalizedSearch.toLowerCase());\n });\n return nextMatch !== currentMatch ? nextMatch : void 0;\n}\nfunction isPointInPolygon(point, polygon) {\n var { x, y } = point;\n var inside = false;\n for (var i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {\n var xi = polygon[i].x;\n var yi = polygon[i].y;\n var xj = polygon[j].x;\n var yj = polygon[j].y;\n var 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 var cursorPos = {\n x: event.clientX,\n y: event.clientY\n };\n return isPointInPolygon(cursorPos, area);\n}\n//# sourceMappingURL=createBaseMenu.js.map\n"],"mappings":"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"}
|