@tamagui/create-menu 3.0.0-beta.669.1 → 3.0.0-beta.719.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 +0 -1
- package/dist/cjs/createBaseMenu.native.cjs +3 -2
- package/dist/cjs/createBaseMenu.native.js +3 -2
- package/dist/cjs/createBaseMenu.native.js.map +1 -1
- package/dist/cjs/createNativeMenu/createNativeMenu.cjs +0 -1
- package/dist/cjs/createNativeMenu/createNativeMenu.native.cjs +0 -1
- package/dist/cjs/createNativeMenu/createNativeMenu.native.js +0 -1
- package/dist/cjs/createNativeMenu/createNativeMenu.native.js.map +1 -1
- package/dist/cjs/createNativeMenu/createNativeMenuTypes.cjs +0 -1
- package/dist/cjs/createNativeMenu/createNativeMenuTypes.native.cjs +0 -1
- package/dist/cjs/createNativeMenu/createNativeMenuTypes.native.js +0 -1
- package/dist/cjs/createNativeMenu/createNativeMenuTypes.native.js.map +1 -1
- package/dist/cjs/createNativeMenu/utils.cjs +0 -1
- package/dist/cjs/createNativeMenu/utils.native.cjs +0 -1
- package/dist/cjs/createNativeMenu/utils.native.js +0 -1
- package/dist/cjs/createNativeMenu/utils.native.js.map +1 -1
- package/dist/cjs/createNativeMenu/withNativeMenu.cjs +0 -1
- package/dist/cjs/createNativeMenu/withNativeMenu.native.cjs +0 -1
- package/dist/cjs/createNativeMenu/withNativeMenu.native.js +0 -1
- package/dist/cjs/createNativeMenu/withNativeMenu.native.js.map +1 -1
- package/dist/cjs/index.cjs +0 -1
- package/dist/cjs/index.native.cjs +0 -1
- package/dist/cjs/index.native.js +0 -1
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/esm/createBaseMenu.mjs.map +1 -1
- package/dist/esm/createBaseMenu.native.js +3 -1
- package/dist/esm/createBaseMenu.native.js.map +1 -1
- package/dist/esm/createNativeMenu/createNativeMenu.mjs.map +1 -1
- package/dist/esm/createNativeMenu/createNativeMenu.native.js.map +1 -1
- package/dist/esm/createNativeMenu/utils.mjs.map +1 -1
- package/dist/esm/createNativeMenu/utils.native.js.map +1 -1
- package/dist/jsx/createBaseMenu.mjs.map +1 -1
- package/dist/jsx/createBaseMenu.native.cjs +3 -2
- package/dist/jsx/createBaseMenu.native.js +3 -2
- package/dist/jsx/createBaseMenu.native.js.map +1 -1
- package/dist/jsx/createNativeMenu/createNativeMenu.mjs.map +1 -1
- package/dist/jsx/createNativeMenu/createNativeMenu.native.cjs +0 -1
- package/dist/jsx/createNativeMenu/createNativeMenu.native.js +0 -1
- package/dist/jsx/createNativeMenu/createNativeMenu.native.js.map +1 -1
- package/dist/jsx/createNativeMenu/createNativeMenuTypes.native.cjs +0 -1
- package/dist/jsx/createNativeMenu/createNativeMenuTypes.native.js +0 -1
- package/dist/jsx/createNativeMenu/createNativeMenuTypes.native.js.map +1 -1
- package/dist/jsx/createNativeMenu/utils.mjs.map +1 -1
- package/dist/jsx/createNativeMenu/utils.native.cjs +0 -1
- package/dist/jsx/createNativeMenu/utils.native.js +0 -1
- package/dist/jsx/createNativeMenu/utils.native.js.map +1 -1
- package/dist/jsx/createNativeMenu/withNativeMenu.native.cjs +0 -1
- package/dist/jsx/createNativeMenu/withNativeMenu.native.js +0 -1
- package/dist/jsx/createNativeMenu/withNativeMenu.native.js.map +1 -1
- package/dist/jsx/index.native.cjs +0 -1
- package/dist/jsx/index.native.js +0 -1
- package/dist/jsx/index.native.js.map +1 -1
- package/package.json +22 -22
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
|
|
4
3
|
var __create = Object.create;
|
|
5
4
|
var __defProp = Object.defineProperty;
|
|
6
5
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
@@ -146,7 +145,9 @@ function createBaseMenu() {
|
|
|
146
145
|
isUsingKeyboardRef,
|
|
147
146
|
dir: direction,
|
|
148
147
|
modal,
|
|
149
|
-
children:
|
|
148
|
+
children:
|
|
149
|
+
/** this provider is just to avoid crashing when using useSubMenuContext() inside MenuPortal */
|
|
150
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(MenuSubProvider, {
|
|
150
151
|
scope,
|
|
151
152
|
children
|
|
152
153
|
})
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
|
|
4
3
|
var __create = Object.create;
|
|
5
4
|
var __defProp = Object.defineProperty;
|
|
6
5
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
@@ -146,7 +145,9 @@ function createBaseMenu() {
|
|
|
146
145
|
isUsingKeyboardRef,
|
|
147
146
|
dir: direction,
|
|
148
147
|
modal,
|
|
149
|
-
children:
|
|
148
|
+
children:
|
|
149
|
+
/** this provider is just to avoid crashing when using useSubMenuContext() inside MenuPortal */
|
|
150
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(MenuSubProvider, {
|
|
150
151
|
scope,
|
|
151
152
|
children
|
|
152
153
|
})
|
|
@@ -1 +1 @@
|
|
|
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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"}
|
|
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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"}
|