@tamagui/context-menu 3.0.0-beta.924.1 → 3.0.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.
@@ -152,7 +152,7 @@ function createNonNativeContextMenu() {
152
152
  style: import_web.isWeb ? {
153
153
  WebkitTouchCallout: "none",
154
154
  ...style
155
- } : null,
155
+ } : style,
156
156
  ...import_web.isWeb && {
157
157
  onContextMenu: disabled ? props.onContextMenu : (0, import_web.composeEventHandlers)(props.onContextMenu, (event) => {
158
158
  clearLongPress();
@@ -38,13 +38,6 @@ var import_create_menu = require("@tamagui/create-menu");
38
38
  var import_use_controllable_state = require("@tamagui/use-controllable-state");
39
39
  var import_web = require("@tamagui/web");
40
40
  var import_react = __toESM(require("react"), 1);
41
- function _instanceof(left, right) {
42
- if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
43
- return !!right[Symbol.hasInstance](left);
44
- } else {
45
- return left instanceof right;
46
- }
47
- }
48
41
  var CONTEXTMENU_CONTEXT = "ContextMenuContext";
49
42
  function createNonNativeContextMenu() {
50
43
  var { Menu } = (0, import_create_menu.createBaseMenu)();
@@ -137,7 +130,7 @@ function createNonNativeContextMenu() {
137
130
  };
138
131
  };
139
132
  var handleOpen = function(event) {
140
- if (import_web.isWeb && (_instanceof(event, MouseEvent) || _instanceof(event, PointerEvent))) {
133
+ if (import_web.isWeb && (event instanceof MouseEvent || event instanceof PointerEvent)) {
141
134
  pointRef.current = {
142
135
  x: event.clientX,
143
136
  y: event.clientY
@@ -173,7 +166,7 @@ function createNonNativeContextMenu() {
173
166
  style: import_web.isWeb ? {
174
167
  WebkitTouchCallout: "none",
175
168
  ...style
176
- } : null,
169
+ } : style,
177
170
  ...import_web.isWeb && {
178
171
  onContextMenu: disabled ? props.onContextMenu : (0, import_web.composeEventHandlers)(props.onContextMenu, function(event) {
179
172
  clearLongPress();
@@ -38,13 +38,6 @@ var import_create_menu = require("@tamagui/create-menu");
38
38
  var import_use_controllable_state = require("@tamagui/use-controllable-state");
39
39
  var import_web = require("@tamagui/web");
40
40
  var import_react = __toESM(require("react"), 1);
41
- function _instanceof(left, right) {
42
- if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
43
- return !!right[Symbol.hasInstance](left);
44
- } else {
45
- return left instanceof right;
46
- }
47
- }
48
41
  var CONTEXTMENU_CONTEXT = "ContextMenuContext";
49
42
  function createNonNativeContextMenu() {
50
43
  var { Menu } = (0, import_create_menu.createBaseMenu)();
@@ -137,7 +130,7 @@ function createNonNativeContextMenu() {
137
130
  };
138
131
  };
139
132
  var handleOpen = function(event) {
140
- if (import_web.isWeb && (_instanceof(event, MouseEvent) || _instanceof(event, PointerEvent))) {
133
+ if (import_web.isWeb && (event instanceof MouseEvent || event instanceof PointerEvent)) {
141
134
  pointRef.current = {
142
135
  x: event.clientX,
143
136
  y: event.clientY
@@ -173,7 +166,7 @@ function createNonNativeContextMenu() {
173
166
  style: import_web.isWeb ? {
174
167
  WebkitTouchCallout: "none",
175
168
  ...style
176
- } : null,
169
+ } : style,
177
170
  ...import_web.isWeb && {
178
171
  onContextMenu: disabled ? props.onContextMenu : (0, import_web.composeEventHandlers)(props.onContextMenu, function(event) {
179
172
  clearLongPress();
@@ -1 +1 @@
1
- {"version":3,"file":"createNonNativeContextMenu.native.js","names":[],"sources":["cjs/createNonNativeContextMenu.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 createNonNativeContextMenu_exports = {};\n__export(createNonNativeContextMenu_exports, {\n CONTEXTMENU_CONTEXT: () => CONTEXTMENU_CONTEXT,\n createNonNativeContextMenu: () => createNonNativeContextMenu\n});\nmodule.exports = __toCommonJS(createNonNativeContextMenu_exports);\nvar import_jsx_runtime = require(\"react/jsx-runtime\");\nvar import_compose_refs = require(\"@tamagui/compose-refs\");\nvar import_create_menu = require(\"@tamagui/create-menu\");\nvar import_use_controllable_state = require(\"@tamagui/use-controllable-state\");\nvar import_web = require(\"@tamagui/web\");\nvar import_react = __toESM(require(\"react\"), 1);\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}\nvar CONTEXTMENU_CONTEXT = \"ContextMenuContext\";\nfunction createNonNativeContextMenu() {\n var { Menu } = (0, import_create_menu.createBaseMenu)();\n var CONTEXT_MENU_NAME = \"ContextMenu\";\n var { Provider: ContextMenuProvider, useStyledContext: useContextMenuContext } = (0, import_web.createStyledContext)();\n var ContextMenuComp = function(props) {\n var { scope, children, onOpenChange, open: openProp, defaultOpen, dir, modal = true, ...rest } = props;\n var [open, setOpen] = (0, import_use_controllable_state.useControllableState)({\n prop: openProp,\n defaultProp: defaultOpen !== null && defaultOpen !== void 0 ? defaultOpen : false\n });\n var triggerRef = import_react.default.useRef(null);\n var handleOpenChange = import_react.default.useCallback(function(open2, event) {\n onOpenChange === null || onOpenChange === void 0 ? void 0 : onOpenChange(open2, event);\n if (event === null || event === void 0 ? void 0 : event.defaultPrevented) return;\n setOpen(open2);\n }, [\n onOpenChange,\n setOpen\n ]);\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ContextMenuProvider, {\n scope,\n triggerId: (0, import_react.useId)(),\n triggerRef,\n contentId: (0, import_react.useId)(),\n open,\n onOpenChange: handleOpenChange,\n modal,\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Menu, {\n scope: scope || CONTEXTMENU_CONTEXT,\n dir,\n open,\n onOpenChange: handleOpenChange,\n modal,\n ...rest,\n children\n })\n });\n };\n ContextMenuComp.displayName = CONTEXT_MENU_NAME;\n var TRIGGER_NAME = \"ContextMenuTrigger\";\n var ContextMenuTrigger = (0, import_web.createStyledHOC)(import_web.View, function(props, forwardedRef) {\n var { scope, style, className, disabled = false, asChild, children, ...triggerProps } = props;\n var context = useContextMenuContext(scope);\n var pointRef = import_react.default.useRef({\n x: 0,\n y: 0\n });\n var virtualRef = import_react.default.useMemo(function() {\n return {\n current: {\n getBoundingClientRect: function() {\n if (import_web.isWeb) {\n var scrollX = window.scrollX || document.documentElement.scrollLeft;\n var scrollY = window.scrollY || document.documentElement.scrollTop;\n return DOMRect.fromRect({\n width: 0,\n height: 0,\n x: pointRef.current.x - scrollX,\n y: pointRef.current.y - scrollY\n });\n }\n return {\n width: 0,\n height: 0,\n top: 0,\n left: 0,\n ...pointRef.current\n };\n },\n ...!import_web.isWeb && {\n measure: function(c) {\n return c(pointRef.current.x, pointRef.current.y, 0, 0);\n },\n measureInWindow: function(c) {\n return c(pointRef.current.x, pointRef.current.y, 0, 0);\n }\n }\n }\n };\n }, [\n pointRef.current.x,\n pointRef.current.y\n ]);\n var longPressTimerRef = import_react.default.useRef(0);\n var clearLongPress = import_react.default.useCallback(function() {\n return window.clearTimeout(longPressTimerRef.current);\n }, []);\n var createOpenChangeEvent = function() {\n var defaultPrevented = false;\n return {\n get defaultPrevented() {\n return defaultPrevented;\n },\n preventDefault() {\n defaultPrevented = true;\n }\n };\n };\n var handleOpen = function(event) {\n if (import_web.isWeb && (_instanceof(event, MouseEvent) || _instanceof(event, PointerEvent))) {\n pointRef.current = {\n x: event.clientX,\n y: event.clientY\n };\n } else {\n pointRef.current = {\n x: event.nativeEvent.pageX,\n y: event.nativeEvent.pageY\n };\n }\n var openChangeEvent = createOpenChangeEvent();\n context.onOpenChange(true, openChangeEvent);\n return openChangeEvent;\n };\n import_react.default.useEffect(function() {\n return clearLongPress;\n }, [\n clearLongPress\n ]);\n import_react.default.useEffect(function() {\n return void (disabled && clearLongPress());\n }, [\n disabled,\n clearLongPress\n ]);\n var Comp = asChild ? import_web.Slot : import_web.View;\n return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, {\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Menu.Anchor, {\n scope: scope || CONTEXTMENU_CONTEXT,\n virtualRef\n }),\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Comp, {\n render: \"span\",\n className: `is_${TRIGGER_NAME} ${className || \"\"}`.trim(),\n id: context.triggerId,\n \"data-state\": context.open ? \"open\" : \"closed\",\n \"data-disabled\": disabled ? \"\" : void 0,\n ...triggerProps,\n ref: (0, import_web.composeRefs)(forwardedRef, context.triggerRef),\n style: import_web.isWeb ? {\n WebkitTouchCallout: \"none\",\n ...style\n } : null,\n ...import_web.isWeb && {\n onContextMenu: disabled ? props.onContextMenu : (0, import_web.composeEventHandlers)(props.onContextMenu, function(event) {\n clearLongPress();\n var openChangeEvent = handleOpen(event);\n if (!openChangeEvent.defaultPrevented) {\n event.preventDefault();\n }\n }),\n onPointerDown: disabled ? props.onPointerDown : (0, import_web.composeEventHandlers)(props.onPointerDown, function(event) {\n if (event.pointerType === \"mouse\") return;\n clearLongPress();\n longPressTimerRef.current = window.setTimeout(function() {\n return handleOpen(event);\n }, 700);\n }),\n onPointerMove: disabled ? props.onPointerMove : (0, import_web.composeEventHandlers)(props.onPointerMove, function(event) {\n if (event.pointerType === \"mouse\") return;\n clearLongPress();\n }),\n onPointerCancel: disabled ? props.onPointerCancel : (0, import_web.composeEventHandlers)(props.onPointerCancel, function(event) {\n if (event.pointerType === \"mouse\") return;\n clearLongPress();\n }),\n onPointerUp: disabled ? props.onPointerUp : (0, import_web.composeEventHandlers)(props.onPointerUp, function(event) {\n if (event.pointerType === \"mouse\") return;\n clearLongPress();\n })\n },\n ...!import_web.isWeb && {\n onLongPress: disabled ? props.onLongPress : (0, import_web.composeEventHandlers)(props.onLongPress, function(event) {\n clearLongPress();\n var openChangeEvent = handleOpen(event);\n if (!openChangeEvent.defaultPrevented) {\n event.preventDefault();\n }\n })\n },\n children\n })\n ]\n });\n });\n ContextMenuTrigger.displayName = TRIGGER_NAME;\n var PORTAL_NAME = \"ContextMenuPortal\";\n var ContextMenuPortal = function(props) {\n var { scope, children, ...portalProps } = props;\n var context = import_web.isAndroid ? useContextMenuContext(scope) : null;\n var content = import_web.isAndroid ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ContextMenuProvider, {\n ...context,\n children\n }) : children;\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Menu.Portal, {\n scope: scope || CONTEXTMENU_CONTEXT,\n ...portalProps,\n children: content\n });\n };\n ContextMenuPortal.displayName = PORTAL_NAME;\n var CONTENT_NAME = \"ContextMenuContent\";\n var ContextMenuContent = (0, import_web.createStyledHOC)(Menu.Content, function(props, forwardedRef) {\n var { scope, ...contentProps } = props;\n var context = useContextMenuContext(scope);\n var hasInteractedOutsideRef = import_react.default.useRef(false);\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Menu.Content, {\n id: context.contentId,\n \"aria-labelledby\": context.triggerId,\n scope: scope || CONTEXTMENU_CONTEXT,\n ...contentProps,\n ref: forwardedRef,\n onCloseAutoFocus: (0, import_web.composeEventHandlers)(props.onCloseAutoFocus, function(event) {\n var _context_triggerRef_current;\n if (!hasInteractedOutsideRef.current) (_context_triggerRef_current = context.triggerRef.current) === null || _context_triggerRef_current === void 0 ? void 0 : _context_triggerRef_current.focus();\n hasInteractedOutsideRef.current = false;\n event.cancel();\n }),\n onInteractOutside: (0, import_web.composeEventHandlers)(props.onInteractOutside, function(event) {\n if (event.interaction !== \"pointer\" || !event.event) return;\n var originalEvent = event.event;\n var ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;\n var isRightClick = originalEvent.button === 2 || ctrlLeftClick;\n if (!context.modal || isRightClick) hasInteractedOutsideRef.current = true;\n })\n });\n });\n ContextMenuContent.displayName = CONTENT_NAME;\n var ITEM_NAME = \"ContextMenuItem\";\n var ContextMenuItem = (0, import_compose_refs.createRefComponent)(function(props, forwardedRef) {\n var { scope, className, ...itemProps } = props;\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Menu.Item, {\n className: `is_${ITEM_NAME} ${className || \"\"}`.trim(),\n scope: scope || CONTEXTMENU_CONTEXT,\n ...itemProps,\n ref: forwardedRef\n });\n });\n ContextMenuItem.displayName = ITEM_NAME;\n var CHECKBOX_ITEM_NAME = \"ContextMenuCheckboxItem\";\n var ContextMenuCheckboxItem = (0, import_compose_refs.createRefComponent)(function(props, forwardedRef) {\n var { scope, className, ...checkboxItemProps } = props;\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Menu.CheckboxItem, {\n className: `is_${CHECKBOX_ITEM_NAME} ${className || \"\"}`.trim(),\n scope: scope || CONTEXTMENU_CONTEXT,\n ...checkboxItemProps,\n ref: forwardedRef\n });\n });\n ContextMenuCheckboxItem.displayName = CHECKBOX_ITEM_NAME;\n var RADIO_GROUP_NAME = \"ContextMenuRadioGroup\";\n var ContextMenuRadioGroup = (0, import_compose_refs.createRefComponent)(function(props, forwardedRef) {\n var { scope, ...radioGroupProps } = props;\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Menu.RadioGroup, {\n scope: scope || CONTEXTMENU_CONTEXT,\n ...radioGroupProps,\n ref: forwardedRef\n });\n });\n ContextMenuRadioGroup.displayName = RADIO_GROUP_NAME;\n var RADIO_ITEM_NAME = \"ContextMenuRadioItem\";\n var ContextMenuRadioItem = (0, import_compose_refs.createRefComponent)(function(props, forwardedRef) {\n var { scope, className, ...radioItemProps } = props;\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Menu.RadioItem, {\n className: `is_${RADIO_ITEM_NAME} ${className || \"\"}`.trim(),\n scope: scope || CONTEXTMENU_CONTEXT,\n ...radioItemProps,\n ref: forwardedRef\n });\n });\n ContextMenuRadioItem.displayName = RADIO_ITEM_NAME;\n var INDICATOR_NAME = \"ContextMenuItemIndicator\";\n var ContextMenuItemIndicator = (0, import_web.createStyledHOC)(Menu.ItemIndicator, function(props, forwardedRef) {\n var { scope, className, ...itemIndicatorProps } = props;\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Menu.ItemIndicator, {\n className: `is_${INDICATOR_NAME} ${className || \"\"}`.trim(),\n scope: scope || CONTEXTMENU_CONTEXT,\n ...itemIndicatorProps,\n ref: forwardedRef\n });\n });\n ContextMenuItemIndicator.displayName = INDICATOR_NAME;\n var SUB_NAME = \"ContextMenuSub\";\n var ContextMenuSub = function(props) {\n var { scope, children, onOpenChange, open: openProp, defaultOpen, ...rest } = props;\n var [open, setOpen] = (0, import_use_controllable_state.useControllableState)({\n prop: openProp,\n defaultProp: defaultOpen,\n onChange: onOpenChange\n });\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Menu.Sub, {\n scope: scope || CONTEXTMENU_CONTEXT,\n open,\n onOpenChange: setOpen,\n ...rest,\n children\n });\n };\n ContextMenuSub.displayName = SUB_NAME;\n var SUB_TRIGGER_NAME = \"ContextMenuSubTrigger\";\n var ContextMenuSubTrigger = (0, import_web.createStyledHOC)(import_web.View, function(props, forwardedRef) {\n var { scope, className, ...subTriggerProps } = props;\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Menu.SubTrigger, {\n className: `is_${SUB_TRIGGER_NAME} ${className || \"\"}`.trim(),\n scope: scope || CONTEXTMENU_CONTEXT,\n ...subTriggerProps,\n ref: forwardedRef\n });\n });\n ContextMenuSubTrigger.displayName = SUB_TRIGGER_NAME;\n var SUB_CONTENT_NAME = \"ContextMenuSubContent\";\n var ContextMenuSubContent = (0, import_web.createStyledHOC)(Menu.SubContent, function(props, forwardedRef) {\n var { scope, ...subContentProps } = props;\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Menu.SubContent, {\n scope: scope || CONTEXTMENU_CONTEXT,\n ...subContentProps,\n ref: forwardedRef,\n style: import_web.isWeb ? {\n ...props.style,\n ...{\n \"--tamagui-context-menu-content-transform-origin\": \"var(--tamagui-popper-transform-origin)\",\n \"--tamagui-context-menu-content-available-width\": \"var(--tamagui-popper-available-width)\",\n \"--tamagui-context-menu-content-available-height\": \"var(--tamagui-popper-available-height)\",\n \"--tamagui-context-menu-trigger-width\": \"var(--tamagui-popper-anchor-width)\",\n \"--tamagui-context-menu-trigger-height\": \"var(--tamagui-popper-anchor-height)\"\n }\n } : null\n });\n });\n ContextMenuSubContent.displayName = SUB_CONTENT_NAME;\n var ARROW_NAME = \"ContextMenuArrow\";\n var ContextMenuArrow = (0, import_compose_refs.createRefComponent)(function(props, forwardedRef) {\n var { scope, className, ...arrowProps } = props;\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Menu.Arrow, {\n className: `is_${ARROW_NAME} ${className || \"\"}`.trim(),\n scope: scope || CONTEXTMENU_CONTEXT,\n ...arrowProps,\n ref: forwardedRef\n });\n });\n ContextMenuArrow.displayName = ARROW_NAME;\n var ContextMenuGroup = Menu.Group;\n var ContextMenuLabel = Menu.Label;\n var ContextMenuSeparator = Menu.Separator;\n var ContextMenuItemTitle = Menu.ItemTitle;\n var ContextMenuItemSubTitle = Menu.ItemSubtitle;\n var ContextMenuItemImage = Menu.ItemImage;\n var ContextMenuItemIcon = Menu.ItemIcon;\n var ContextMenuPreview = function() {\n return null;\n };\n return (0, import_web.withStaticProperties)(ContextMenuComp, {\n Root: ContextMenuComp,\n Trigger: ContextMenuTrigger,\n Portal: ContextMenuPortal,\n Content: ContextMenuContent,\n Group: ContextMenuGroup,\n Label: ContextMenuLabel,\n Item: ContextMenuItem,\n CheckboxItem: ContextMenuCheckboxItem,\n RadioGroup: ContextMenuRadioGroup,\n RadioItem: ContextMenuRadioItem,\n ItemIndicator: ContextMenuItemIndicator,\n Separator: ContextMenuSeparator,\n Arrow: ContextMenuArrow,\n Sub: ContextMenuSub,\n SubTrigger: ContextMenuSubTrigger,\n SubContent: ContextMenuSubContent,\n ItemTitle: ContextMenuItemTitle,\n ItemSubtitle: ContextMenuItemSubTitle,\n ItemIcon: ContextMenuItemIcon,\n ItemImage: ContextMenuItemImage,\n Preview: ContextMenuPreview\n });\n}\n//# sourceMappingURL=createNonNativeContextMenu.js.map\n"],"mappings":"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"}
1
+ {"version":3,"file":"createNonNativeContextMenu.native.js","names":[],"sources":["cjs/createNonNativeContextMenu.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 createNonNativeContextMenu_exports = {};\n__export(createNonNativeContextMenu_exports, {\n CONTEXTMENU_CONTEXT: () => CONTEXTMENU_CONTEXT,\n createNonNativeContextMenu: () => createNonNativeContextMenu\n});\nmodule.exports = __toCommonJS(createNonNativeContextMenu_exports);\nvar import_jsx_runtime = require(\"react/jsx-runtime\");\nvar import_compose_refs = require(\"@tamagui/compose-refs\");\nvar import_create_menu = require(\"@tamagui/create-menu\");\nvar import_use_controllable_state = require(\"@tamagui/use-controllable-state\");\nvar import_web = require(\"@tamagui/web\");\nvar import_react = __toESM(require(\"react\"), 1);\nvar CONTEXTMENU_CONTEXT = \"ContextMenuContext\";\nfunction createNonNativeContextMenu() {\n var { Menu } = (0, import_create_menu.createBaseMenu)();\n var CONTEXT_MENU_NAME = \"ContextMenu\";\n var { Provider: ContextMenuProvider, useStyledContext: useContextMenuContext } = (0, import_web.createStyledContext)();\n var ContextMenuComp = function(props) {\n var { scope, children, onOpenChange, open: openProp, defaultOpen, dir, modal = true, ...rest } = props;\n var [open, setOpen] = (0, import_use_controllable_state.useControllableState)({\n prop: openProp,\n defaultProp: defaultOpen !== null && defaultOpen !== void 0 ? defaultOpen : false\n });\n var triggerRef = import_react.default.useRef(null);\n var handleOpenChange = import_react.default.useCallback(function(open2, event) {\n onOpenChange === null || onOpenChange === void 0 ? void 0 : onOpenChange(open2, event);\n if (event === null || event === void 0 ? void 0 : event.defaultPrevented) return;\n setOpen(open2);\n }, [\n onOpenChange,\n setOpen\n ]);\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ContextMenuProvider, {\n scope,\n triggerId: (0, import_react.useId)(),\n triggerRef,\n contentId: (0, import_react.useId)(),\n open,\n onOpenChange: handleOpenChange,\n modal,\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Menu, {\n scope: scope || CONTEXTMENU_CONTEXT,\n dir,\n open,\n onOpenChange: handleOpenChange,\n modal,\n ...rest,\n children\n })\n });\n };\n ContextMenuComp.displayName = CONTEXT_MENU_NAME;\n var TRIGGER_NAME = \"ContextMenuTrigger\";\n var ContextMenuTrigger = (0, import_web.createStyledHOC)(import_web.View, function(props, forwardedRef) {\n var { scope, style, className, disabled = false, asChild, children, ...triggerProps } = props;\n var context = useContextMenuContext(scope);\n var pointRef = import_react.default.useRef({\n x: 0,\n y: 0\n });\n var virtualRef = import_react.default.useMemo(function() {\n return {\n current: {\n getBoundingClientRect: function() {\n if (import_web.isWeb) {\n var scrollX = window.scrollX || document.documentElement.scrollLeft;\n var scrollY = window.scrollY || document.documentElement.scrollTop;\n return DOMRect.fromRect({\n width: 0,\n height: 0,\n x: pointRef.current.x - scrollX,\n y: pointRef.current.y - scrollY\n });\n }\n return {\n width: 0,\n height: 0,\n top: 0,\n left: 0,\n ...pointRef.current\n };\n },\n ...!import_web.isWeb && {\n measure: function(c) {\n return c(pointRef.current.x, pointRef.current.y, 0, 0);\n },\n measureInWindow: function(c) {\n return c(pointRef.current.x, pointRef.current.y, 0, 0);\n }\n }\n }\n };\n }, [\n pointRef.current.x,\n pointRef.current.y\n ]);\n var longPressTimerRef = import_react.default.useRef(0);\n var clearLongPress = import_react.default.useCallback(function() {\n return window.clearTimeout(longPressTimerRef.current);\n }, []);\n var createOpenChangeEvent = function() {\n var defaultPrevented = false;\n return {\n get defaultPrevented() {\n return defaultPrevented;\n },\n preventDefault() {\n defaultPrevented = true;\n }\n };\n };\n var handleOpen = function(event) {\n if (import_web.isWeb && (event instanceof MouseEvent || event instanceof PointerEvent)) {\n pointRef.current = {\n x: event.clientX,\n y: event.clientY\n };\n } else {\n pointRef.current = {\n x: event.nativeEvent.pageX,\n y: event.nativeEvent.pageY\n };\n }\n var openChangeEvent = createOpenChangeEvent();\n context.onOpenChange(true, openChangeEvent);\n return openChangeEvent;\n };\n import_react.default.useEffect(function() {\n return clearLongPress;\n }, [\n clearLongPress\n ]);\n import_react.default.useEffect(function() {\n return void (disabled && clearLongPress());\n }, [\n disabled,\n clearLongPress\n ]);\n var Comp = asChild ? import_web.Slot : import_web.View;\n return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, {\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Menu.Anchor, {\n scope: scope || CONTEXTMENU_CONTEXT,\n virtualRef\n }),\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Comp, {\n render: \"span\",\n className: `is_${TRIGGER_NAME} ${className || \"\"}`.trim(),\n id: context.triggerId,\n \"data-state\": context.open ? \"open\" : \"closed\",\n \"data-disabled\": disabled ? \"\" : void 0,\n ...triggerProps,\n ref: (0, import_web.composeRefs)(forwardedRef, context.triggerRef),\n style: import_web.isWeb ? {\n WebkitTouchCallout: \"none\",\n ...style\n } : style,\n ...import_web.isWeb && {\n onContextMenu: disabled ? props.onContextMenu : (0, import_web.composeEventHandlers)(props.onContextMenu, function(event) {\n clearLongPress();\n var openChangeEvent = handleOpen(event);\n if (!openChangeEvent.defaultPrevented) {\n event.preventDefault();\n }\n }),\n onPointerDown: disabled ? props.onPointerDown : (0, import_web.composeEventHandlers)(props.onPointerDown, function(event) {\n if (event.pointerType === \"mouse\") return;\n clearLongPress();\n longPressTimerRef.current = window.setTimeout(function() {\n return handleOpen(event);\n }, 700);\n }),\n onPointerMove: disabled ? props.onPointerMove : (0, import_web.composeEventHandlers)(props.onPointerMove, function(event) {\n if (event.pointerType === \"mouse\") return;\n clearLongPress();\n }),\n onPointerCancel: disabled ? props.onPointerCancel : (0, import_web.composeEventHandlers)(props.onPointerCancel, function(event) {\n if (event.pointerType === \"mouse\") return;\n clearLongPress();\n }),\n onPointerUp: disabled ? props.onPointerUp : (0, import_web.composeEventHandlers)(props.onPointerUp, function(event) {\n if (event.pointerType === \"mouse\") return;\n clearLongPress();\n })\n },\n ...!import_web.isWeb && {\n onLongPress: disabled ? props.onLongPress : (0, import_web.composeEventHandlers)(props.onLongPress, function(event) {\n clearLongPress();\n var openChangeEvent = handleOpen(event);\n if (!openChangeEvent.defaultPrevented) {\n event.preventDefault();\n }\n })\n },\n children\n })\n ]\n });\n });\n ContextMenuTrigger.displayName = TRIGGER_NAME;\n var PORTAL_NAME = \"ContextMenuPortal\";\n var ContextMenuPortal = function(props) {\n var { scope, children, ...portalProps } = props;\n var context = import_web.isAndroid ? useContextMenuContext(scope) : null;\n var content = import_web.isAndroid ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ContextMenuProvider, {\n ...context,\n children\n }) : children;\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Menu.Portal, {\n scope: scope || CONTEXTMENU_CONTEXT,\n ...portalProps,\n children: content\n });\n };\n ContextMenuPortal.displayName = PORTAL_NAME;\n var CONTENT_NAME = \"ContextMenuContent\";\n var ContextMenuContent = (0, import_web.createStyledHOC)(Menu.Content, function(props, forwardedRef) {\n var { scope, ...contentProps } = props;\n var context = useContextMenuContext(scope);\n var hasInteractedOutsideRef = import_react.default.useRef(false);\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Menu.Content, {\n id: context.contentId,\n \"aria-labelledby\": context.triggerId,\n scope: scope || CONTEXTMENU_CONTEXT,\n ...contentProps,\n ref: forwardedRef,\n onCloseAutoFocus: (0, import_web.composeEventHandlers)(props.onCloseAutoFocus, function(event) {\n var _context_triggerRef_current;\n if (!hasInteractedOutsideRef.current) (_context_triggerRef_current = context.triggerRef.current) === null || _context_triggerRef_current === void 0 ? void 0 : _context_triggerRef_current.focus();\n hasInteractedOutsideRef.current = false;\n event.cancel();\n }),\n onInteractOutside: (0, import_web.composeEventHandlers)(props.onInteractOutside, function(event) {\n if (event.interaction !== \"pointer\" || !event.event) return;\n var originalEvent = event.event;\n var ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;\n var isRightClick = originalEvent.button === 2 || ctrlLeftClick;\n if (!context.modal || isRightClick) hasInteractedOutsideRef.current = true;\n })\n });\n });\n ContextMenuContent.displayName = CONTENT_NAME;\n var ITEM_NAME = \"ContextMenuItem\";\n var ContextMenuItem = (0, import_compose_refs.createRefComponent)(function(props, forwardedRef) {\n var { scope, className, ...itemProps } = props;\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Menu.Item, {\n className: `is_${ITEM_NAME} ${className || \"\"}`.trim(),\n scope: scope || CONTEXTMENU_CONTEXT,\n ...itemProps,\n ref: forwardedRef\n });\n });\n ContextMenuItem.displayName = ITEM_NAME;\n var CHECKBOX_ITEM_NAME = \"ContextMenuCheckboxItem\";\n var ContextMenuCheckboxItem = (0, import_compose_refs.createRefComponent)(function(props, forwardedRef) {\n var { scope, className, ...checkboxItemProps } = props;\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Menu.CheckboxItem, {\n className: `is_${CHECKBOX_ITEM_NAME} ${className || \"\"}`.trim(),\n scope: scope || CONTEXTMENU_CONTEXT,\n ...checkboxItemProps,\n ref: forwardedRef\n });\n });\n ContextMenuCheckboxItem.displayName = CHECKBOX_ITEM_NAME;\n var RADIO_GROUP_NAME = \"ContextMenuRadioGroup\";\n var ContextMenuRadioGroup = (0, import_compose_refs.createRefComponent)(function(props, forwardedRef) {\n var { scope, ...radioGroupProps } = props;\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Menu.RadioGroup, {\n scope: scope || CONTEXTMENU_CONTEXT,\n ...radioGroupProps,\n ref: forwardedRef\n });\n });\n ContextMenuRadioGroup.displayName = RADIO_GROUP_NAME;\n var RADIO_ITEM_NAME = \"ContextMenuRadioItem\";\n var ContextMenuRadioItem = (0, import_compose_refs.createRefComponent)(function(props, forwardedRef) {\n var { scope, className, ...radioItemProps } = props;\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Menu.RadioItem, {\n className: `is_${RADIO_ITEM_NAME} ${className || \"\"}`.trim(),\n scope: scope || CONTEXTMENU_CONTEXT,\n ...radioItemProps,\n ref: forwardedRef\n });\n });\n ContextMenuRadioItem.displayName = RADIO_ITEM_NAME;\n var INDICATOR_NAME = \"ContextMenuItemIndicator\";\n var ContextMenuItemIndicator = (0, import_web.createStyledHOC)(Menu.ItemIndicator, function(props, forwardedRef) {\n var { scope, className, ...itemIndicatorProps } = props;\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Menu.ItemIndicator, {\n className: `is_${INDICATOR_NAME} ${className || \"\"}`.trim(),\n scope: scope || CONTEXTMENU_CONTEXT,\n ...itemIndicatorProps,\n ref: forwardedRef\n });\n });\n ContextMenuItemIndicator.displayName = INDICATOR_NAME;\n var SUB_NAME = \"ContextMenuSub\";\n var ContextMenuSub = function(props) {\n var { scope, children, onOpenChange, open: openProp, defaultOpen, ...rest } = props;\n var [open, setOpen] = (0, import_use_controllable_state.useControllableState)({\n prop: openProp,\n defaultProp: defaultOpen,\n onChange: onOpenChange\n });\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Menu.Sub, {\n scope: scope || CONTEXTMENU_CONTEXT,\n open,\n onOpenChange: setOpen,\n ...rest,\n children\n });\n };\n ContextMenuSub.displayName = SUB_NAME;\n var SUB_TRIGGER_NAME = \"ContextMenuSubTrigger\";\n var ContextMenuSubTrigger = (0, import_web.createStyledHOC)(import_web.View, function(props, forwardedRef) {\n var { scope, className, ...subTriggerProps } = props;\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Menu.SubTrigger, {\n className: `is_${SUB_TRIGGER_NAME} ${className || \"\"}`.trim(),\n scope: scope || CONTEXTMENU_CONTEXT,\n ...subTriggerProps,\n ref: forwardedRef\n });\n });\n ContextMenuSubTrigger.displayName = SUB_TRIGGER_NAME;\n var SUB_CONTENT_NAME = \"ContextMenuSubContent\";\n var ContextMenuSubContent = (0, import_web.createStyledHOC)(Menu.SubContent, function(props, forwardedRef) {\n var { scope, ...subContentProps } = props;\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Menu.SubContent, {\n scope: scope || CONTEXTMENU_CONTEXT,\n ...subContentProps,\n ref: forwardedRef,\n style: import_web.isWeb ? {\n ...props.style,\n ...{\n \"--tamagui-context-menu-content-transform-origin\": \"var(--tamagui-popper-transform-origin)\",\n \"--tamagui-context-menu-content-available-width\": \"var(--tamagui-popper-available-width)\",\n \"--tamagui-context-menu-content-available-height\": \"var(--tamagui-popper-available-height)\",\n \"--tamagui-context-menu-trigger-width\": \"var(--tamagui-popper-anchor-width)\",\n \"--tamagui-context-menu-trigger-height\": \"var(--tamagui-popper-anchor-height)\"\n }\n } : null\n });\n });\n ContextMenuSubContent.displayName = SUB_CONTENT_NAME;\n var ARROW_NAME = \"ContextMenuArrow\";\n var ContextMenuArrow = (0, import_compose_refs.createRefComponent)(function(props, forwardedRef) {\n var { scope, className, ...arrowProps } = props;\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Menu.Arrow, {\n className: `is_${ARROW_NAME} ${className || \"\"}`.trim(),\n scope: scope || CONTEXTMENU_CONTEXT,\n ...arrowProps,\n ref: forwardedRef\n });\n });\n ContextMenuArrow.displayName = ARROW_NAME;\n var ContextMenuGroup = Menu.Group;\n var ContextMenuLabel = Menu.Label;\n var ContextMenuSeparator = Menu.Separator;\n var ContextMenuItemTitle = Menu.ItemTitle;\n var ContextMenuItemSubTitle = Menu.ItemSubtitle;\n var ContextMenuItemImage = Menu.ItemImage;\n var ContextMenuItemIcon = Menu.ItemIcon;\n var ContextMenuPreview = function() {\n return null;\n };\n return (0, import_web.withStaticProperties)(ContextMenuComp, {\n Root: ContextMenuComp,\n Trigger: ContextMenuTrigger,\n Portal: ContextMenuPortal,\n Content: ContextMenuContent,\n Group: ContextMenuGroup,\n Label: ContextMenuLabel,\n Item: ContextMenuItem,\n CheckboxItem: ContextMenuCheckboxItem,\n RadioGroup: ContextMenuRadioGroup,\n RadioItem: ContextMenuRadioItem,\n ItemIndicator: ContextMenuItemIndicator,\n Separator: ContextMenuSeparator,\n Arrow: ContextMenuArrow,\n Sub: ContextMenuSub,\n SubTrigger: ContextMenuSubTrigger,\n SubContent: ContextMenuSubContent,\n ItemTitle: ContextMenuItemTitle,\n ItemSubtitle: ContextMenuItemSubTitle,\n ItemIcon: ContextMenuItemIcon,\n ItemImage: ContextMenuItemImage,\n Preview: ContextMenuPreview\n });\n}\n//# sourceMappingURL=createNonNativeContextMenu.js.map\n"],"mappings":"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"}
@@ -121,7 +121,7 @@ function createNonNativeContextMenu() {
121
121
  style: isWeb ? {
122
122
  WebkitTouchCallout: "none",
123
123
  ...style
124
- } : null,
124
+ } : style,
125
125
  ...isWeb && {
126
126
  onContextMenu: disabled ? props.onContextMenu : composeEventHandlers(props.onContextMenu, (event) => {
127
127
  clearLongPress();
@@ -1 +1 @@
1
- {"version":3,"file":"createNonNativeContextMenu.js","names":[],"sources":["esm/createNonNativeContextMenu.js"],"sourcesContent":["import { createRefComponent } from \"@tamagui/compose-refs\";\nimport { createBaseMenu } from \"@tamagui/create-menu\";\nimport { useControllableState } from \"@tamagui/use-controllable-state\";\nimport {\n createStyledHOC,\n composeEventHandlers,\n composeRefs,\n createStyledContext,\n isAndroid,\n isWeb,\n Slot,\n View,\n withStaticProperties\n} from \"@tamagui/web\";\nimport React, { useId } from \"react\";\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nconst CONTEXTMENU_CONTEXT = \"ContextMenuContext\";\nfunction createNonNativeContextMenu() {\n const { Menu } = createBaseMenu();\n const CONTEXT_MENU_NAME = \"ContextMenu\";\n const { Provider: ContextMenuProvider, useStyledContext: useContextMenuContext } = createStyledContext();\n const ContextMenuComp = (props) => {\n const {\n scope,\n children,\n onOpenChange,\n open: openProp,\n defaultOpen,\n dir,\n modal = true,\n ...rest\n } = props;\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen ?? false\n });\n const triggerRef = React.useRef(null);\n const handleOpenChange = React.useCallback(\n (open2, event) => {\n onOpenChange?.(open2, event);\n if (event?.defaultPrevented) return;\n setOpen(open2);\n },\n [onOpenChange, setOpen]\n );\n return /* @__PURE__ */ jsx(\n ContextMenuProvider,\n {\n scope,\n triggerId: useId(),\n triggerRef,\n contentId: useId(),\n open,\n onOpenChange: handleOpenChange,\n modal,\n children: /* @__PURE__ */ jsx(\n Menu,\n {\n scope: scope || CONTEXTMENU_CONTEXT,\n dir,\n open,\n onOpenChange: handleOpenChange,\n modal,\n ...rest,\n children\n }\n )\n }\n );\n };\n ContextMenuComp.displayName = CONTEXT_MENU_NAME;\n const TRIGGER_NAME = \"ContextMenuTrigger\";\n const ContextMenuTrigger = createStyledHOC(\n View,\n (props, forwardedRef) => {\n const {\n scope,\n style,\n className,\n disabled = false,\n asChild,\n children,\n ...triggerProps\n } = props;\n const context = useContextMenuContext(scope);\n const pointRef = React.useRef({ x: 0, y: 0 });\n const virtualRef = React.useMemo(\n () => ({\n current: {\n getBoundingClientRect: () => {\n if (isWeb) {\n const scrollX = window.scrollX || document.documentElement.scrollLeft;\n const scrollY = window.scrollY || document.documentElement.scrollTop;\n return DOMRect.fromRect({\n width: 0,\n height: 0,\n x: pointRef.current.x - scrollX,\n y: pointRef.current.y - scrollY\n });\n }\n return { width: 0, height: 0, top: 0, left: 0, ...pointRef.current };\n },\n ...!isWeb && {\n measure: (c) => c(pointRef.current.x, pointRef.current.y, 0, 0),\n measureInWindow: (c) => c(pointRef.current.x, pointRef.current.y, 0, 0)\n }\n }\n }),\n [pointRef.current.x, pointRef.current.y]\n );\n const longPressTimerRef = React.useRef(0);\n const clearLongPress = React.useCallback(\n () => window.clearTimeout(longPressTimerRef.current),\n []\n );\n const createOpenChangeEvent = () => {\n let defaultPrevented = false;\n return {\n get defaultPrevented() {\n return defaultPrevented;\n },\n preventDefault() {\n defaultPrevented = true;\n }\n };\n };\n const handleOpen = (event) => {\n if (isWeb && (event instanceof MouseEvent || event instanceof PointerEvent)) {\n pointRef.current = { x: event.clientX, y: event.clientY };\n } else {\n pointRef.current = {\n x: event.nativeEvent.pageX,\n y: event.nativeEvent.pageY\n };\n }\n const openChangeEvent = createOpenChangeEvent();\n context.onOpenChange(true, openChangeEvent);\n return openChangeEvent;\n };\n React.useEffect(() => clearLongPress, [clearLongPress]);\n React.useEffect(\n () => void (disabled && clearLongPress()),\n [disabled, clearLongPress]\n );\n const Comp = asChild ? Slot : View;\n return /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(Menu.Anchor, { scope: scope || CONTEXTMENU_CONTEXT, virtualRef }),\n /* @__PURE__ */ jsx(\n Comp,\n {\n render: \"span\",\n className: `is_${TRIGGER_NAME} ${className || \"\"}`.trim(),\n id: context.triggerId,\n \"data-state\": context.open ? \"open\" : \"closed\",\n \"data-disabled\": disabled ? \"\" : void 0,\n ...triggerProps,\n ref: composeRefs(forwardedRef, context.triggerRef),\n style: isWeb ? { WebkitTouchCallout: \"none\", ...style } : null,\n ...isWeb && {\n onContextMenu: disabled ? props.onContextMenu : composeEventHandlers(props.onContextMenu, (event) => {\n clearLongPress();\n const openChangeEvent = handleOpen(event);\n if (!openChangeEvent.defaultPrevented) {\n event.preventDefault();\n }\n }),\n onPointerDown: disabled ? props.onPointerDown : composeEventHandlers(props.onPointerDown, (event) => {\n if (event.pointerType === \"mouse\") return;\n clearLongPress();\n longPressTimerRef.current = window.setTimeout(\n () => handleOpen(event),\n 700\n );\n }),\n onPointerMove: disabled ? props.onPointerMove : composeEventHandlers(props.onPointerMove, (event) => {\n if (event.pointerType === \"mouse\") return;\n clearLongPress();\n }),\n onPointerCancel: disabled ? props.onPointerCancel : composeEventHandlers(props.onPointerCancel, (event) => {\n if (event.pointerType === \"mouse\") return;\n clearLongPress();\n }),\n onPointerUp: disabled ? props.onPointerUp : composeEventHandlers(props.onPointerUp, (event) => {\n if (event.pointerType === \"mouse\") return;\n clearLongPress();\n })\n },\n ...!isWeb && {\n onLongPress: disabled ? props.onLongPress : composeEventHandlers(props.onLongPress, (event) => {\n clearLongPress();\n const openChangeEvent = handleOpen(event);\n if (!openChangeEvent.defaultPrevented) {\n event.preventDefault();\n }\n })\n },\n children\n }\n )\n ] });\n }\n );\n ContextMenuTrigger.displayName = TRIGGER_NAME;\n const PORTAL_NAME = \"ContextMenuPortal\";\n const ContextMenuPortal = (props) => {\n const { scope, children, ...portalProps } = props;\n const context = isAndroid ? useContextMenuContext(scope) : null;\n const content = isAndroid ? /* @__PURE__ */ jsx(ContextMenuProvider, { ...context, children }) : children;\n return /* @__PURE__ */ jsx(Menu.Portal, { scope: scope || CONTEXTMENU_CONTEXT, ...portalProps, children: content });\n };\n ContextMenuPortal.displayName = PORTAL_NAME;\n const CONTENT_NAME = \"ContextMenuContent\";\n const ContextMenuContent = createStyledHOC(\n Menu.Content,\n (props, forwardedRef) => {\n const { scope, ...contentProps } = props;\n const context = useContextMenuContext(scope);\n const hasInteractedOutsideRef = React.useRef(false);\n return /* @__PURE__ */ jsx(\n Menu.Content,\n {\n id: context.contentId,\n \"aria-labelledby\": context.triggerId,\n scope: scope || CONTEXTMENU_CONTEXT,\n ...contentProps,\n ref: forwardedRef,\n onCloseAutoFocus: composeEventHandlers(props.onCloseAutoFocus, (event) => {\n if (!hasInteractedOutsideRef.current) context.triggerRef.current?.focus();\n hasInteractedOutsideRef.current = false;\n event.cancel();\n }),\n onInteractOutside: composeEventHandlers(props.onInteractOutside, (event) => {\n if (event.interaction !== \"pointer\" || !event.event) return;\n const originalEvent = event.event;\n const ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;\n const isRightClick = originalEvent.button === 2 || ctrlLeftClick;\n if (!context.modal || isRightClick) hasInteractedOutsideRef.current = true;\n })\n }\n );\n }\n );\n ContextMenuContent.displayName = CONTENT_NAME;\n const ITEM_NAME = \"ContextMenuItem\";\n const ContextMenuItem = createRefComponent((props, forwardedRef) => {\n const { scope, className, ...itemProps } = props;\n return /* @__PURE__ */ jsx(\n Menu.Item,\n {\n className: `is_${ITEM_NAME} ${className || \"\"}`.trim(),\n scope: scope || CONTEXTMENU_CONTEXT,\n ...itemProps,\n ref: forwardedRef\n }\n );\n });\n ContextMenuItem.displayName = ITEM_NAME;\n const CHECKBOX_ITEM_NAME = \"ContextMenuCheckboxItem\";\n const ContextMenuCheckboxItem = createRefComponent((props, forwardedRef) => {\n const { scope, className, ...checkboxItemProps } = props;\n return /* @__PURE__ */ jsx(\n Menu.CheckboxItem,\n {\n className: `is_${CHECKBOX_ITEM_NAME} ${className || \"\"}`.trim(),\n scope: scope || CONTEXTMENU_CONTEXT,\n ...checkboxItemProps,\n ref: forwardedRef\n }\n );\n });\n ContextMenuCheckboxItem.displayName = CHECKBOX_ITEM_NAME;\n const RADIO_GROUP_NAME = \"ContextMenuRadioGroup\";\n const ContextMenuRadioGroup = createRefComponent((props, forwardedRef) => {\n const { scope, ...radioGroupProps } = props;\n return /* @__PURE__ */ jsx(\n Menu.RadioGroup,\n {\n scope: scope || CONTEXTMENU_CONTEXT,\n ...radioGroupProps,\n ref: forwardedRef\n }\n );\n });\n ContextMenuRadioGroup.displayName = RADIO_GROUP_NAME;\n const RADIO_ITEM_NAME = \"ContextMenuRadioItem\";\n const ContextMenuRadioItem = createRefComponent((props, forwardedRef) => {\n const { scope, className, ...radioItemProps } = props;\n return /* @__PURE__ */ jsx(\n Menu.RadioItem,\n {\n className: `is_${RADIO_ITEM_NAME} ${className || \"\"}`.trim(),\n scope: scope || CONTEXTMENU_CONTEXT,\n ...radioItemProps,\n ref: forwardedRef\n }\n );\n });\n ContextMenuRadioItem.displayName = RADIO_ITEM_NAME;\n const INDICATOR_NAME = \"ContextMenuItemIndicator\";\n const ContextMenuItemIndicator = createStyledHOC(\n Menu.ItemIndicator,\n (props, forwardedRef) => {\n const { scope, className, ...itemIndicatorProps } = props;\n return /* @__PURE__ */ jsx(\n Menu.ItemIndicator,\n {\n className: `is_${INDICATOR_NAME} ${className || \"\"}`.trim(),\n scope: scope || CONTEXTMENU_CONTEXT,\n ...itemIndicatorProps,\n ref: forwardedRef\n }\n );\n }\n );\n ContextMenuItemIndicator.displayName = INDICATOR_NAME;\n const SUB_NAME = \"ContextMenuSub\";\n const ContextMenuSub = (props) => {\n const { scope, children, onOpenChange, open: openProp, defaultOpen, ...rest } = props;\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen,\n onChange: onOpenChange\n });\n return /* @__PURE__ */ jsx(\n Menu.Sub,\n {\n scope: scope || CONTEXTMENU_CONTEXT,\n open,\n onOpenChange: setOpen,\n ...rest,\n children\n }\n );\n };\n ContextMenuSub.displayName = SUB_NAME;\n const SUB_TRIGGER_NAME = \"ContextMenuSubTrigger\";\n const ContextMenuSubTrigger = createStyledHOC(\n View,\n (props, forwardedRef) => {\n const { scope, className, ...subTriggerProps } = props;\n return /* @__PURE__ */ jsx(\n Menu.SubTrigger,\n {\n className: `is_${SUB_TRIGGER_NAME} ${className || \"\"}`.trim(),\n scope: scope || CONTEXTMENU_CONTEXT,\n ...subTriggerProps,\n ref: forwardedRef\n }\n );\n }\n );\n ContextMenuSubTrigger.displayName = SUB_TRIGGER_NAME;\n const SUB_CONTENT_NAME = \"ContextMenuSubContent\";\n const ContextMenuSubContent = createStyledHOC(\n Menu.SubContent,\n (props, forwardedRef) => {\n const { scope, ...subContentProps } = props;\n return /* @__PURE__ */ jsx(\n Menu.SubContent,\n {\n scope: scope || CONTEXTMENU_CONTEXT,\n ...subContentProps,\n ref: forwardedRef,\n style: isWeb ? {\n ...props.style,\n ...{\n \"--tamagui-context-menu-content-transform-origin\": \"var(--tamagui-popper-transform-origin)\",\n \"--tamagui-context-menu-content-available-width\": \"var(--tamagui-popper-available-width)\",\n \"--tamagui-context-menu-content-available-height\": \"var(--tamagui-popper-available-height)\",\n \"--tamagui-context-menu-trigger-width\": \"var(--tamagui-popper-anchor-width)\",\n \"--tamagui-context-menu-trigger-height\": \"var(--tamagui-popper-anchor-height)\"\n }\n } : null\n }\n );\n }\n );\n ContextMenuSubContent.displayName = SUB_CONTENT_NAME;\n const ARROW_NAME = \"ContextMenuArrow\";\n const ContextMenuArrow = createRefComponent((props, forwardedRef) => {\n const { scope, className, ...arrowProps } = props;\n return /* @__PURE__ */ jsx(\n Menu.Arrow,\n {\n className: `is_${ARROW_NAME} ${className || \"\"}`.trim(),\n scope: scope || CONTEXTMENU_CONTEXT,\n ...arrowProps,\n ref: forwardedRef\n }\n );\n });\n ContextMenuArrow.displayName = ARROW_NAME;\n const ContextMenuGroup = Menu.Group;\n const ContextMenuLabel = Menu.Label;\n const ContextMenuSeparator = Menu.Separator;\n const ContextMenuItemTitle = Menu.ItemTitle;\n const ContextMenuItemSubTitle = Menu.ItemSubtitle;\n const ContextMenuItemImage = Menu.ItemImage;\n const ContextMenuItemIcon = Menu.ItemIcon;\n const ContextMenuPreview = () => null;\n return withStaticProperties(ContextMenuComp, {\n Root: ContextMenuComp,\n Trigger: ContextMenuTrigger,\n Portal: ContextMenuPortal,\n Content: ContextMenuContent,\n Group: ContextMenuGroup,\n Label: ContextMenuLabel,\n Item: ContextMenuItem,\n CheckboxItem: ContextMenuCheckboxItem,\n RadioGroup: ContextMenuRadioGroup,\n RadioItem: ContextMenuRadioItem,\n ItemIndicator: ContextMenuItemIndicator,\n Separator: ContextMenuSeparator,\n Arrow: ContextMenuArrow,\n Sub: ContextMenuSub,\n SubTrigger: ContextMenuSubTrigger,\n SubContent: ContextMenuSubContent,\n ItemTitle: ContextMenuItemTitle,\n ItemSubtitle: ContextMenuItemSubTitle,\n ItemIcon: ContextMenuItemIcon,\n ItemImage: ContextMenuItemImage,\n Preview: ContextMenuPreview\n });\n}\nexport {\n CONTEXTMENU_CONTEXT,\n createNonNativeContextMenu\n};\n//# sourceMappingURL=createNonNativeContextMenu.js.map\n"],"mappings":"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"}
1
+ {"version":3,"file":"createNonNativeContextMenu.js","names":[],"sources":["esm/createNonNativeContextMenu.js"],"sourcesContent":["import { createRefComponent } from \"@tamagui/compose-refs\";\nimport { createBaseMenu } from \"@tamagui/create-menu\";\nimport { useControllableState } from \"@tamagui/use-controllable-state\";\nimport {\n createStyledHOC,\n composeEventHandlers,\n composeRefs,\n createStyledContext,\n isAndroid,\n isWeb,\n Slot,\n View,\n withStaticProperties\n} from \"@tamagui/web\";\nimport React, { useId } from \"react\";\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nconst CONTEXTMENU_CONTEXT = \"ContextMenuContext\";\nfunction createNonNativeContextMenu() {\n const { Menu } = createBaseMenu();\n const CONTEXT_MENU_NAME = \"ContextMenu\";\n const { Provider: ContextMenuProvider, useStyledContext: useContextMenuContext } = createStyledContext();\n const ContextMenuComp = (props) => {\n const {\n scope,\n children,\n onOpenChange,\n open: openProp,\n defaultOpen,\n dir,\n modal = true,\n ...rest\n } = props;\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen ?? false\n });\n const triggerRef = React.useRef(null);\n const handleOpenChange = React.useCallback(\n (open2, event) => {\n onOpenChange?.(open2, event);\n if (event?.defaultPrevented) return;\n setOpen(open2);\n },\n [onOpenChange, setOpen]\n );\n return /* @__PURE__ */ jsx(\n ContextMenuProvider,\n {\n scope,\n triggerId: useId(),\n triggerRef,\n contentId: useId(),\n open,\n onOpenChange: handleOpenChange,\n modal,\n children: /* @__PURE__ */ jsx(\n Menu,\n {\n scope: scope || CONTEXTMENU_CONTEXT,\n dir,\n open,\n onOpenChange: handleOpenChange,\n modal,\n ...rest,\n children\n }\n )\n }\n );\n };\n ContextMenuComp.displayName = CONTEXT_MENU_NAME;\n const TRIGGER_NAME = \"ContextMenuTrigger\";\n const ContextMenuTrigger = createStyledHOC(\n View,\n (props, forwardedRef) => {\n const {\n scope,\n style,\n className,\n disabled = false,\n asChild,\n children,\n ...triggerProps\n } = props;\n const context = useContextMenuContext(scope);\n const pointRef = React.useRef({ x: 0, y: 0 });\n const virtualRef = React.useMemo(\n () => ({\n current: {\n getBoundingClientRect: () => {\n if (isWeb) {\n const scrollX = window.scrollX || document.documentElement.scrollLeft;\n const scrollY = window.scrollY || document.documentElement.scrollTop;\n return DOMRect.fromRect({\n width: 0,\n height: 0,\n x: pointRef.current.x - scrollX,\n y: pointRef.current.y - scrollY\n });\n }\n return { width: 0, height: 0, top: 0, left: 0, ...pointRef.current };\n },\n ...!isWeb && {\n measure: (c) => c(pointRef.current.x, pointRef.current.y, 0, 0),\n measureInWindow: (c) => c(pointRef.current.x, pointRef.current.y, 0, 0)\n }\n }\n }),\n [pointRef.current.x, pointRef.current.y]\n );\n const longPressTimerRef = React.useRef(0);\n const clearLongPress = React.useCallback(\n () => window.clearTimeout(longPressTimerRef.current),\n []\n );\n const createOpenChangeEvent = () => {\n let defaultPrevented = false;\n return {\n get defaultPrevented() {\n return defaultPrevented;\n },\n preventDefault() {\n defaultPrevented = true;\n }\n };\n };\n const handleOpen = (event) => {\n if (isWeb && (event instanceof MouseEvent || event instanceof PointerEvent)) {\n pointRef.current = { x: event.clientX, y: event.clientY };\n } else {\n pointRef.current = {\n x: event.nativeEvent.pageX,\n y: event.nativeEvent.pageY\n };\n }\n const openChangeEvent = createOpenChangeEvent();\n context.onOpenChange(true, openChangeEvent);\n return openChangeEvent;\n };\n React.useEffect(() => clearLongPress, [clearLongPress]);\n React.useEffect(\n () => void (disabled && clearLongPress()),\n [disabled, clearLongPress]\n );\n const Comp = asChild ? Slot : View;\n return /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(Menu.Anchor, { scope: scope || CONTEXTMENU_CONTEXT, virtualRef }),\n /* @__PURE__ */ jsx(\n Comp,\n {\n render: \"span\",\n className: `is_${TRIGGER_NAME} ${className || \"\"}`.trim(),\n id: context.triggerId,\n \"data-state\": context.open ? \"open\" : \"closed\",\n \"data-disabled\": disabled ? \"\" : void 0,\n ...triggerProps,\n ref: composeRefs(forwardedRef, context.triggerRef),\n style: isWeb ? { WebkitTouchCallout: \"none\", ...style } : style,\n ...isWeb && {\n onContextMenu: disabled ? props.onContextMenu : composeEventHandlers(props.onContextMenu, (event) => {\n clearLongPress();\n const openChangeEvent = handleOpen(event);\n if (!openChangeEvent.defaultPrevented) {\n event.preventDefault();\n }\n }),\n onPointerDown: disabled ? props.onPointerDown : composeEventHandlers(props.onPointerDown, (event) => {\n if (event.pointerType === \"mouse\") return;\n clearLongPress();\n longPressTimerRef.current = window.setTimeout(\n () => handleOpen(event),\n 700\n );\n }),\n onPointerMove: disabled ? props.onPointerMove : composeEventHandlers(props.onPointerMove, (event) => {\n if (event.pointerType === \"mouse\") return;\n clearLongPress();\n }),\n onPointerCancel: disabled ? props.onPointerCancel : composeEventHandlers(props.onPointerCancel, (event) => {\n if (event.pointerType === \"mouse\") return;\n clearLongPress();\n }),\n onPointerUp: disabled ? props.onPointerUp : composeEventHandlers(props.onPointerUp, (event) => {\n if (event.pointerType === \"mouse\") return;\n clearLongPress();\n })\n },\n ...!isWeb && {\n onLongPress: disabled ? props.onLongPress : composeEventHandlers(props.onLongPress, (event) => {\n clearLongPress();\n const openChangeEvent = handleOpen(event);\n if (!openChangeEvent.defaultPrevented) {\n event.preventDefault();\n }\n })\n },\n children\n }\n )\n ] });\n }\n );\n ContextMenuTrigger.displayName = TRIGGER_NAME;\n const PORTAL_NAME = \"ContextMenuPortal\";\n const ContextMenuPortal = (props) => {\n const { scope, children, ...portalProps } = props;\n const context = isAndroid ? useContextMenuContext(scope) : null;\n const content = isAndroid ? /* @__PURE__ */ jsx(ContextMenuProvider, { ...context, children }) : children;\n return /* @__PURE__ */ jsx(Menu.Portal, { scope: scope || CONTEXTMENU_CONTEXT, ...portalProps, children: content });\n };\n ContextMenuPortal.displayName = PORTAL_NAME;\n const CONTENT_NAME = \"ContextMenuContent\";\n const ContextMenuContent = createStyledHOC(\n Menu.Content,\n (props, forwardedRef) => {\n const { scope, ...contentProps } = props;\n const context = useContextMenuContext(scope);\n const hasInteractedOutsideRef = React.useRef(false);\n return /* @__PURE__ */ jsx(\n Menu.Content,\n {\n id: context.contentId,\n \"aria-labelledby\": context.triggerId,\n scope: scope || CONTEXTMENU_CONTEXT,\n ...contentProps,\n ref: forwardedRef,\n onCloseAutoFocus: composeEventHandlers(props.onCloseAutoFocus, (event) => {\n if (!hasInteractedOutsideRef.current) context.triggerRef.current?.focus();\n hasInteractedOutsideRef.current = false;\n event.cancel();\n }),\n onInteractOutside: composeEventHandlers(props.onInteractOutside, (event) => {\n if (event.interaction !== \"pointer\" || !event.event) return;\n const originalEvent = event.event;\n const ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;\n const isRightClick = originalEvent.button === 2 || ctrlLeftClick;\n if (!context.modal || isRightClick) hasInteractedOutsideRef.current = true;\n })\n }\n );\n }\n );\n ContextMenuContent.displayName = CONTENT_NAME;\n const ITEM_NAME = \"ContextMenuItem\";\n const ContextMenuItem = createRefComponent((props, forwardedRef) => {\n const { scope, className, ...itemProps } = props;\n return /* @__PURE__ */ jsx(\n Menu.Item,\n {\n className: `is_${ITEM_NAME} ${className || \"\"}`.trim(),\n scope: scope || CONTEXTMENU_CONTEXT,\n ...itemProps,\n ref: forwardedRef\n }\n );\n });\n ContextMenuItem.displayName = ITEM_NAME;\n const CHECKBOX_ITEM_NAME = \"ContextMenuCheckboxItem\";\n const ContextMenuCheckboxItem = createRefComponent((props, forwardedRef) => {\n const { scope, className, ...checkboxItemProps } = props;\n return /* @__PURE__ */ jsx(\n Menu.CheckboxItem,\n {\n className: `is_${CHECKBOX_ITEM_NAME} ${className || \"\"}`.trim(),\n scope: scope || CONTEXTMENU_CONTEXT,\n ...checkboxItemProps,\n ref: forwardedRef\n }\n );\n });\n ContextMenuCheckboxItem.displayName = CHECKBOX_ITEM_NAME;\n const RADIO_GROUP_NAME = \"ContextMenuRadioGroup\";\n const ContextMenuRadioGroup = createRefComponent((props, forwardedRef) => {\n const { scope, ...radioGroupProps } = props;\n return /* @__PURE__ */ jsx(\n Menu.RadioGroup,\n {\n scope: scope || CONTEXTMENU_CONTEXT,\n ...radioGroupProps,\n ref: forwardedRef\n }\n );\n });\n ContextMenuRadioGroup.displayName = RADIO_GROUP_NAME;\n const RADIO_ITEM_NAME = \"ContextMenuRadioItem\";\n const ContextMenuRadioItem = createRefComponent((props, forwardedRef) => {\n const { scope, className, ...radioItemProps } = props;\n return /* @__PURE__ */ jsx(\n Menu.RadioItem,\n {\n className: `is_${RADIO_ITEM_NAME} ${className || \"\"}`.trim(),\n scope: scope || CONTEXTMENU_CONTEXT,\n ...radioItemProps,\n ref: forwardedRef\n }\n );\n });\n ContextMenuRadioItem.displayName = RADIO_ITEM_NAME;\n const INDICATOR_NAME = \"ContextMenuItemIndicator\";\n const ContextMenuItemIndicator = createStyledHOC(\n Menu.ItemIndicator,\n (props, forwardedRef) => {\n const { scope, className, ...itemIndicatorProps } = props;\n return /* @__PURE__ */ jsx(\n Menu.ItemIndicator,\n {\n className: `is_${INDICATOR_NAME} ${className || \"\"}`.trim(),\n scope: scope || CONTEXTMENU_CONTEXT,\n ...itemIndicatorProps,\n ref: forwardedRef\n }\n );\n }\n );\n ContextMenuItemIndicator.displayName = INDICATOR_NAME;\n const SUB_NAME = \"ContextMenuSub\";\n const ContextMenuSub = (props) => {\n const { scope, children, onOpenChange, open: openProp, defaultOpen, ...rest } = props;\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen,\n onChange: onOpenChange\n });\n return /* @__PURE__ */ jsx(\n Menu.Sub,\n {\n scope: scope || CONTEXTMENU_CONTEXT,\n open,\n onOpenChange: setOpen,\n ...rest,\n children\n }\n );\n };\n ContextMenuSub.displayName = SUB_NAME;\n const SUB_TRIGGER_NAME = \"ContextMenuSubTrigger\";\n const ContextMenuSubTrigger = createStyledHOC(\n View,\n (props, forwardedRef) => {\n const { scope, className, ...subTriggerProps } = props;\n return /* @__PURE__ */ jsx(\n Menu.SubTrigger,\n {\n className: `is_${SUB_TRIGGER_NAME} ${className || \"\"}`.trim(),\n scope: scope || CONTEXTMENU_CONTEXT,\n ...subTriggerProps,\n ref: forwardedRef\n }\n );\n }\n );\n ContextMenuSubTrigger.displayName = SUB_TRIGGER_NAME;\n const SUB_CONTENT_NAME = \"ContextMenuSubContent\";\n const ContextMenuSubContent = createStyledHOC(\n Menu.SubContent,\n (props, forwardedRef) => {\n const { scope, ...subContentProps } = props;\n return /* @__PURE__ */ jsx(\n Menu.SubContent,\n {\n scope: scope || CONTEXTMENU_CONTEXT,\n ...subContentProps,\n ref: forwardedRef,\n style: isWeb ? {\n ...props.style,\n ...{\n \"--tamagui-context-menu-content-transform-origin\": \"var(--tamagui-popper-transform-origin)\",\n \"--tamagui-context-menu-content-available-width\": \"var(--tamagui-popper-available-width)\",\n \"--tamagui-context-menu-content-available-height\": \"var(--tamagui-popper-available-height)\",\n \"--tamagui-context-menu-trigger-width\": \"var(--tamagui-popper-anchor-width)\",\n \"--tamagui-context-menu-trigger-height\": \"var(--tamagui-popper-anchor-height)\"\n }\n } : null\n }\n );\n }\n );\n ContextMenuSubContent.displayName = SUB_CONTENT_NAME;\n const ARROW_NAME = \"ContextMenuArrow\";\n const ContextMenuArrow = createRefComponent((props, forwardedRef) => {\n const { scope, className, ...arrowProps } = props;\n return /* @__PURE__ */ jsx(\n Menu.Arrow,\n {\n className: `is_${ARROW_NAME} ${className || \"\"}`.trim(),\n scope: scope || CONTEXTMENU_CONTEXT,\n ...arrowProps,\n ref: forwardedRef\n }\n );\n });\n ContextMenuArrow.displayName = ARROW_NAME;\n const ContextMenuGroup = Menu.Group;\n const ContextMenuLabel = Menu.Label;\n const ContextMenuSeparator = Menu.Separator;\n const ContextMenuItemTitle = Menu.ItemTitle;\n const ContextMenuItemSubTitle = Menu.ItemSubtitle;\n const ContextMenuItemImage = Menu.ItemImage;\n const ContextMenuItemIcon = Menu.ItemIcon;\n const ContextMenuPreview = () => null;\n return withStaticProperties(ContextMenuComp, {\n Root: ContextMenuComp,\n Trigger: ContextMenuTrigger,\n Portal: ContextMenuPortal,\n Content: ContextMenuContent,\n Group: ContextMenuGroup,\n Label: ContextMenuLabel,\n Item: ContextMenuItem,\n CheckboxItem: ContextMenuCheckboxItem,\n RadioGroup: ContextMenuRadioGroup,\n RadioItem: ContextMenuRadioItem,\n ItemIndicator: ContextMenuItemIndicator,\n Separator: ContextMenuSeparator,\n Arrow: ContextMenuArrow,\n Sub: ContextMenuSub,\n SubTrigger: ContextMenuSubTrigger,\n SubContent: ContextMenuSubContent,\n ItemTitle: ContextMenuItemTitle,\n ItemSubtitle: ContextMenuItemSubTitle,\n ItemIcon: ContextMenuItemIcon,\n ItemImage: ContextMenuItemImage,\n Preview: ContextMenuPreview\n });\n}\nexport {\n CONTEXTMENU_CONTEXT,\n createNonNativeContextMenu\n};\n//# sourceMappingURL=createNonNativeContextMenu.js.map\n"],"mappings":"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"}
@@ -5,13 +5,6 @@ import { useControllableState } from "@tamagui/use-controllable-state";
5
5
  import { Slot, View, composeEventHandlers, composeRefs, createStyledContext, createStyledHOC, isAndroid, isWeb, withStaticProperties } from "@tamagui/web";
6
6
  import React, { useId } from "react";
7
7
 
8
- function _instanceof(left, right) {
9
- if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
10
- return !!right[Symbol.hasInstance](left);
11
- } else {
12
- return left instanceof right;
13
- }
14
- }
15
8
  var CONTEXTMENU_CONTEXT = "ContextMenuContext";
16
9
  function createNonNativeContextMenu() {
17
10
  var { Menu } = createBaseMenu();
@@ -104,7 +97,7 @@ function createNonNativeContextMenu() {
104
97
  };
105
98
  };
106
99
  var handleOpen = function(event) {
107
- if (isWeb && (_instanceof(event, MouseEvent) || _instanceof(event, PointerEvent))) {
100
+ if (isWeb && (event instanceof MouseEvent || event instanceof PointerEvent)) {
108
101
  pointRef.current = {
109
102
  x: event.clientX,
110
103
  y: event.clientY
@@ -140,7 +133,7 @@ function createNonNativeContextMenu() {
140
133
  style: isWeb ? {
141
134
  WebkitTouchCallout: "none",
142
135
  ...style
143
- } : null,
136
+ } : style,
144
137
  ...isWeb && {
145
138
  onContextMenu: disabled ? props.onContextMenu : composeEventHandlers(props.onContextMenu, function(event) {
146
139
  clearLongPress();
@@ -1 +1 @@
1
- {"version":3,"file":"createNonNativeContextMenu.native.js","names":["_Fragment"],"sources":["esm/createNonNativeContextMenu.native.js"],"sourcesContent":["import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { createRefComponent } from \"@tamagui/compose-refs\";\nimport { createBaseMenu } from \"@tamagui/create-menu\";\nimport { useControllableState } from \"@tamagui/use-controllable-state\";\nimport { createStyledHOC, composeEventHandlers, composeRefs, createStyledContext, isAndroid, isWeb, Slot, View, withStaticProperties } from \"@tamagui/web\";\nimport React, { useId } from \"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}\nvar CONTEXTMENU_CONTEXT = \"ContextMenuContext\";\nfunction createNonNativeContextMenu() {\n var { Menu } = createBaseMenu();\n var CONTEXT_MENU_NAME = \"ContextMenu\";\n var { Provider: ContextMenuProvider, useStyledContext: useContextMenuContext } = createStyledContext();\n var ContextMenuComp = function(props) {\n var { scope, children, onOpenChange, open: openProp, defaultOpen, dir, modal = true, ...rest } = props;\n var [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen !== null && defaultOpen !== void 0 ? defaultOpen : false\n });\n var triggerRef = React.useRef(null);\n var handleOpenChange = React.useCallback(function(open2, event) {\n onOpenChange === null || onOpenChange === void 0 ? void 0 : onOpenChange(open2, event);\n if (event === null || event === void 0 ? void 0 : event.defaultPrevented) return;\n setOpen(open2);\n }, [\n onOpenChange,\n setOpen\n ]);\n return /* @__PURE__ */ _jsx(ContextMenuProvider, {\n scope,\n triggerId: useId(),\n triggerRef,\n contentId: useId(),\n open,\n onOpenChange: handleOpenChange,\n modal,\n children: /* @__PURE__ */ _jsx(Menu, {\n scope: scope || CONTEXTMENU_CONTEXT,\n dir,\n open,\n onOpenChange: handleOpenChange,\n modal,\n ...rest,\n children\n })\n });\n };\n ContextMenuComp.displayName = CONTEXT_MENU_NAME;\n var TRIGGER_NAME = \"ContextMenuTrigger\";\n var ContextMenuTrigger = createStyledHOC(View, function(props, forwardedRef) {\n var { scope, style, className, disabled = false, asChild, children, ...triggerProps } = props;\n var context = useContextMenuContext(scope);\n var pointRef = React.useRef({\n x: 0,\n y: 0\n });\n var virtualRef = React.useMemo(function() {\n return {\n current: {\n getBoundingClientRect: function() {\n if (isWeb) {\n var scrollX = window.scrollX || document.documentElement.scrollLeft;\n var scrollY = window.scrollY || document.documentElement.scrollTop;\n return DOMRect.fromRect({\n width: 0,\n height: 0,\n x: pointRef.current.x - scrollX,\n y: pointRef.current.y - scrollY\n });\n }\n return {\n width: 0,\n height: 0,\n top: 0,\n left: 0,\n ...pointRef.current\n };\n },\n ...!isWeb && {\n measure: function(c) {\n return c(pointRef.current.x, pointRef.current.y, 0, 0);\n },\n measureInWindow: function(c) {\n return c(pointRef.current.x, pointRef.current.y, 0, 0);\n }\n }\n }\n };\n }, [\n pointRef.current.x,\n pointRef.current.y\n ]);\n var longPressTimerRef = React.useRef(0);\n var clearLongPress = React.useCallback(function() {\n return window.clearTimeout(longPressTimerRef.current);\n }, []);\n var createOpenChangeEvent = function() {\n var defaultPrevented = false;\n return {\n get defaultPrevented() {\n return defaultPrevented;\n },\n preventDefault() {\n defaultPrevented = true;\n }\n };\n };\n var handleOpen = function(event) {\n if (isWeb && (_instanceof(event, MouseEvent) || _instanceof(event, PointerEvent))) {\n pointRef.current = {\n x: event.clientX,\n y: event.clientY\n };\n } else {\n pointRef.current = {\n x: event.nativeEvent.pageX,\n y: event.nativeEvent.pageY\n };\n }\n var openChangeEvent = createOpenChangeEvent();\n context.onOpenChange(true, openChangeEvent);\n return openChangeEvent;\n };\n React.useEffect(function() {\n return clearLongPress;\n }, [\n clearLongPress\n ]);\n React.useEffect(function() {\n return void (disabled && clearLongPress());\n }, [\n disabled,\n clearLongPress\n ]);\n var Comp = asChild ? Slot : View;\n return /* @__PURE__ */ _jsxs(_Fragment, {\n children: [\n /* @__PURE__ */ _jsx(Menu.Anchor, {\n scope: scope || CONTEXTMENU_CONTEXT,\n virtualRef\n }),\n /* @__PURE__ */ _jsx(Comp, {\n render: \"span\",\n className: `is_${TRIGGER_NAME} ${className || \"\"}`.trim(),\n id: context.triggerId,\n \"data-state\": context.open ? \"open\" : \"closed\",\n \"data-disabled\": disabled ? \"\" : void 0,\n ...triggerProps,\n ref: composeRefs(forwardedRef, context.triggerRef),\n style: isWeb ? {\n WebkitTouchCallout: \"none\",\n ...style\n } : null,\n ...isWeb && {\n onContextMenu: disabled ? props.onContextMenu : composeEventHandlers(props.onContextMenu, function(event) {\n clearLongPress();\n var openChangeEvent = handleOpen(event);\n if (!openChangeEvent.defaultPrevented) {\n event.preventDefault();\n }\n }),\n onPointerDown: disabled ? props.onPointerDown : composeEventHandlers(props.onPointerDown, function(event) {\n if (event.pointerType === \"mouse\") return;\n clearLongPress();\n longPressTimerRef.current = window.setTimeout(function() {\n return handleOpen(event);\n }, 700);\n }),\n onPointerMove: disabled ? props.onPointerMove : composeEventHandlers(props.onPointerMove, function(event) {\n if (event.pointerType === \"mouse\") return;\n clearLongPress();\n }),\n onPointerCancel: disabled ? props.onPointerCancel : composeEventHandlers(props.onPointerCancel, function(event) {\n if (event.pointerType === \"mouse\") return;\n clearLongPress();\n }),\n onPointerUp: disabled ? props.onPointerUp : composeEventHandlers(props.onPointerUp, function(event) {\n if (event.pointerType === \"mouse\") return;\n clearLongPress();\n })\n },\n ...!isWeb && {\n onLongPress: disabled ? props.onLongPress : composeEventHandlers(props.onLongPress, function(event) {\n clearLongPress();\n var openChangeEvent = handleOpen(event);\n if (!openChangeEvent.defaultPrevented) {\n event.preventDefault();\n }\n })\n },\n children\n })\n ]\n });\n });\n ContextMenuTrigger.displayName = TRIGGER_NAME;\n var PORTAL_NAME = \"ContextMenuPortal\";\n var ContextMenuPortal = function(props) {\n var { scope, children, ...portalProps } = props;\n var context = isAndroid ? useContextMenuContext(scope) : null;\n var content = isAndroid ? /* @__PURE__ */ _jsx(ContextMenuProvider, {\n ...context,\n children\n }) : children;\n return /* @__PURE__ */ _jsx(Menu.Portal, {\n scope: scope || CONTEXTMENU_CONTEXT,\n ...portalProps,\n children: content\n });\n };\n ContextMenuPortal.displayName = PORTAL_NAME;\n var CONTENT_NAME = \"ContextMenuContent\";\n var ContextMenuContent = createStyledHOC(Menu.Content, function(props, forwardedRef) {\n var { scope, ...contentProps } = props;\n var context = useContextMenuContext(scope);\n var hasInteractedOutsideRef = React.useRef(false);\n return /* @__PURE__ */ _jsx(Menu.Content, {\n id: context.contentId,\n \"aria-labelledby\": context.triggerId,\n scope: scope || CONTEXTMENU_CONTEXT,\n ...contentProps,\n ref: forwardedRef,\n onCloseAutoFocus: composeEventHandlers(props.onCloseAutoFocus, function(event) {\n var _context_triggerRef_current;\n if (!hasInteractedOutsideRef.current) (_context_triggerRef_current = context.triggerRef.current) === null || _context_triggerRef_current === void 0 ? void 0 : _context_triggerRef_current.focus();\n hasInteractedOutsideRef.current = false;\n event.cancel();\n }),\n onInteractOutside: composeEventHandlers(props.onInteractOutside, function(event) {\n if (event.interaction !== \"pointer\" || !event.event) return;\n var originalEvent = event.event;\n var ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;\n var isRightClick = originalEvent.button === 2 || ctrlLeftClick;\n if (!context.modal || isRightClick) hasInteractedOutsideRef.current = true;\n })\n });\n });\n ContextMenuContent.displayName = CONTENT_NAME;\n var ITEM_NAME = \"ContextMenuItem\";\n var ContextMenuItem = createRefComponent(function(props, forwardedRef) {\n var { scope, className, ...itemProps } = props;\n return /* @__PURE__ */ _jsx(Menu.Item, {\n className: `is_${ITEM_NAME} ${className || \"\"}`.trim(),\n scope: scope || CONTEXTMENU_CONTEXT,\n ...itemProps,\n ref: forwardedRef\n });\n });\n ContextMenuItem.displayName = ITEM_NAME;\n var CHECKBOX_ITEM_NAME = \"ContextMenuCheckboxItem\";\n var ContextMenuCheckboxItem = createRefComponent(function(props, forwardedRef) {\n var { scope, className, ...checkboxItemProps } = props;\n return /* @__PURE__ */ _jsx(Menu.CheckboxItem, {\n className: `is_${CHECKBOX_ITEM_NAME} ${className || \"\"}`.trim(),\n scope: scope || CONTEXTMENU_CONTEXT,\n ...checkboxItemProps,\n ref: forwardedRef\n });\n });\n ContextMenuCheckboxItem.displayName = CHECKBOX_ITEM_NAME;\n var RADIO_GROUP_NAME = \"ContextMenuRadioGroup\";\n var ContextMenuRadioGroup = createRefComponent(function(props, forwardedRef) {\n var { scope, ...radioGroupProps } = props;\n return /* @__PURE__ */ _jsx(Menu.RadioGroup, {\n scope: scope || CONTEXTMENU_CONTEXT,\n ...radioGroupProps,\n ref: forwardedRef\n });\n });\n ContextMenuRadioGroup.displayName = RADIO_GROUP_NAME;\n var RADIO_ITEM_NAME = \"ContextMenuRadioItem\";\n var ContextMenuRadioItem = createRefComponent(function(props, forwardedRef) {\n var { scope, className, ...radioItemProps } = props;\n return /* @__PURE__ */ _jsx(Menu.RadioItem, {\n className: `is_${RADIO_ITEM_NAME} ${className || \"\"}`.trim(),\n scope: scope || CONTEXTMENU_CONTEXT,\n ...radioItemProps,\n ref: forwardedRef\n });\n });\n ContextMenuRadioItem.displayName = RADIO_ITEM_NAME;\n var INDICATOR_NAME = \"ContextMenuItemIndicator\";\n var ContextMenuItemIndicator = createStyledHOC(Menu.ItemIndicator, function(props, forwardedRef) {\n var { scope, className, ...itemIndicatorProps } = props;\n return /* @__PURE__ */ _jsx(Menu.ItemIndicator, {\n className: `is_${INDICATOR_NAME} ${className || \"\"}`.trim(),\n scope: scope || CONTEXTMENU_CONTEXT,\n ...itemIndicatorProps,\n ref: forwardedRef\n });\n });\n ContextMenuItemIndicator.displayName = INDICATOR_NAME;\n var SUB_NAME = \"ContextMenuSub\";\n var ContextMenuSub = function(props) {\n var { scope, children, onOpenChange, open: openProp, defaultOpen, ...rest } = props;\n var [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen,\n onChange: onOpenChange\n });\n return /* @__PURE__ */ _jsx(Menu.Sub, {\n scope: scope || CONTEXTMENU_CONTEXT,\n open,\n onOpenChange: setOpen,\n ...rest,\n children\n });\n };\n ContextMenuSub.displayName = SUB_NAME;\n var SUB_TRIGGER_NAME = \"ContextMenuSubTrigger\";\n var ContextMenuSubTrigger = createStyledHOC(View, function(props, forwardedRef) {\n var { scope, className, ...subTriggerProps } = props;\n return /* @__PURE__ */ _jsx(Menu.SubTrigger, {\n className: `is_${SUB_TRIGGER_NAME} ${className || \"\"}`.trim(),\n scope: scope || CONTEXTMENU_CONTEXT,\n ...subTriggerProps,\n ref: forwardedRef\n });\n });\n ContextMenuSubTrigger.displayName = SUB_TRIGGER_NAME;\n var SUB_CONTENT_NAME = \"ContextMenuSubContent\";\n var ContextMenuSubContent = createStyledHOC(Menu.SubContent, function(props, forwardedRef) {\n var { scope, ...subContentProps } = props;\n return /* @__PURE__ */ _jsx(Menu.SubContent, {\n scope: scope || CONTEXTMENU_CONTEXT,\n ...subContentProps,\n ref: forwardedRef,\n style: isWeb ? {\n ...props.style,\n ...{\n \"--tamagui-context-menu-content-transform-origin\": \"var(--tamagui-popper-transform-origin)\",\n \"--tamagui-context-menu-content-available-width\": \"var(--tamagui-popper-available-width)\",\n \"--tamagui-context-menu-content-available-height\": \"var(--tamagui-popper-available-height)\",\n \"--tamagui-context-menu-trigger-width\": \"var(--tamagui-popper-anchor-width)\",\n \"--tamagui-context-menu-trigger-height\": \"var(--tamagui-popper-anchor-height)\"\n }\n } : null\n });\n });\n ContextMenuSubContent.displayName = SUB_CONTENT_NAME;\n var ARROW_NAME = \"ContextMenuArrow\";\n var ContextMenuArrow = createRefComponent(function(props, forwardedRef) {\n var { scope, className, ...arrowProps } = props;\n return /* @__PURE__ */ _jsx(Menu.Arrow, {\n className: `is_${ARROW_NAME} ${className || \"\"}`.trim(),\n scope: scope || CONTEXTMENU_CONTEXT,\n ...arrowProps,\n ref: forwardedRef\n });\n });\n ContextMenuArrow.displayName = ARROW_NAME;\n var ContextMenuGroup = Menu.Group;\n var ContextMenuLabel = Menu.Label;\n var ContextMenuSeparator = Menu.Separator;\n var ContextMenuItemTitle = Menu.ItemTitle;\n var ContextMenuItemSubTitle = Menu.ItemSubtitle;\n var ContextMenuItemImage = Menu.ItemImage;\n var ContextMenuItemIcon = Menu.ItemIcon;\n var ContextMenuPreview = function() {\n return null;\n };\n return withStaticProperties(ContextMenuComp, {\n Root: ContextMenuComp,\n Trigger: ContextMenuTrigger,\n Portal: ContextMenuPortal,\n Content: ContextMenuContent,\n Group: ContextMenuGroup,\n Label: ContextMenuLabel,\n Item: ContextMenuItem,\n CheckboxItem: ContextMenuCheckboxItem,\n RadioGroup: ContextMenuRadioGroup,\n RadioItem: ContextMenuRadioItem,\n ItemIndicator: ContextMenuItemIndicator,\n Separator: ContextMenuSeparator,\n Arrow: ContextMenuArrow,\n Sub: ContextMenuSub,\n SubTrigger: ContextMenuSubTrigger,\n SubContent: ContextMenuSubContent,\n ItemTitle: ContextMenuItemTitle,\n ItemSubtitle: ContextMenuItemSubTitle,\n ItemIcon: ContextMenuItemIcon,\n ItemImage: ContextMenuItemImage,\n Preview: ContextMenuPreview\n });\n}\nexport {\n CONTEXTMENU_CONTEXT,\n createNonNativeContextMenu\n};\n//# sourceMappingURL=createNonNativeContextMenu.js.map\n"],"mappings":";;;;;;;;AAMA,SAAS,YAAY,MAAM,OAAO;CAChC,IAAI,SAAS,QAAQ,OAAO,WAAW,eAAe,MAAM,OAAO,cAAc;EAC/E,OAAO,CAAC,CAAC,MAAM,OAAO,YAAY,CAAC,IAAI;CACzC,OAAO;EACL,OAAO,gBAAgB;CACzB;AACF;AACA,IAAI,sBAAsB;AAC1B,SAAS,6BAA6B;CACpC,IAAI,EAAE,SAAS,eAAe;CAC9B,IAAI,oBAAoB;CACxB,IAAI,EAAE,UAAU,qBAAqB,kBAAkB,0BAA0B,oBAAoB;CACrG,IAAI,kBAAkB,SAAS,OAAO;EACpC,IAAI,EAAE,OAAO,UAAU,cAAc,MAAM,UAAU,aAAa,KAAK,QAAQ,MAAM,GAAG,SAAS;EACjG,IAAI,CAAC,MAAM,WAAW,qBAAqB;GACzC,MAAM;GACN,aAAa,gBAAgB,QAAQ,gBAAgB,KAAK,IAAI,cAAc;EAC9E,CAAC;EACD,IAAI,aAAa,MAAM,OAAO,IAAI;EAClC,IAAI,mBAAmB,MAAM,YAAY,SAAS,OAAO,OAAO;GAC9D,iBAAiB,QAAQ,iBAAiB,KAAK,IAAI,KAAK,IAAI,aAAa,OAAO,KAAK;GACrF,IAAI,UAAU,QAAQ,UAAU,KAAK,IAAI,KAAK,IAAI,MAAM,kBAAkB;GAC1E,QAAQ,KAAK;EACf,GAAG,CACD,cACA,OACF,CAAC;EACD,OAAuB,oBAAK,qBAAqB;GAC/C;GACA,WAAW,MAAM;GACjB;GACA,WAAW,MAAM;GACjB;GACA,cAAc;GACd;GACA,UAA0B,oBAAK,MAAM;IACnC,OAAO;IACP;IACA;IACA,cAAc;IACd;IACA,GAAG;IACH;GACF,CAAC;EACH,CAAC;CACH;CACA,gBAAgB,cAAc;CAC9B,IAAI,eAAe;CACnB,IAAI,qBAAqB,gBAAgB,MAAM,SAAS,OAAO,cAAc;EAC3E,IAAI,EAAE,OAAO,OAAO,WAAW,WAAW,OAAO,SAAS,UAAU,GAAG,iBAAiB;EACxF,IAAI,UAAU,sBAAsB,KAAK;EACzC,IAAI,WAAW,MAAM,OAAO;GAC1B,GAAG;GACH,GAAG;EACL,CAAC;EACD,IAAI,aAAa,MAAM,QAAQ,WAAW;GACxC,OAAO,EACL,SAAS;IACP,uBAAuB,WAAW;KAChC,IAAI,OAAO;MACT,IAAI,UAAU,OAAO,WAAW,SAAS,gBAAgB;MACzD,IAAI,UAAU,OAAO,WAAW,SAAS,gBAAgB;MACzD,OAAO,QAAQ,SAAS;OACtB,OAAO;OACP,QAAQ;OACR,GAAG,SAAS,QAAQ,IAAI;OACxB,GAAG,SAAS,QAAQ,IAAI;MAC1B,CAAC;KACH;KACA,OAAO;MACL,OAAO;MACP,QAAQ;MACR,KAAK;MACL,MAAM;MACN,GAAG,SAAS;KACd;IACF;IACA,GAAG,CAAC,SAAS;KACX,SAAS,SAAS,GAAG;MACnB,OAAO,EAAE,SAAS,QAAQ,GAAG,SAAS,QAAQ,GAAG,GAAG,CAAC;KACvD;KACA,iBAAiB,SAAS,GAAG;MAC3B,OAAO,EAAE,SAAS,QAAQ,GAAG,SAAS,QAAQ,GAAG,GAAG,CAAC;KACvD;IACF;GACF,EACF;EACF,GAAG,CACD,SAAS,QAAQ,GACjB,SAAS,QAAQ,CACnB,CAAC;EACD,IAAI,oBAAoB,MAAM,OAAO,CAAC;EACtC,IAAI,iBAAiB,MAAM,YAAY,WAAW;GAChD,OAAO,OAAO,aAAa,kBAAkB,OAAO;EACtD,GAAG,CAAC,CAAC;EACL,IAAI,wBAAwB,WAAW;GACrC,IAAI,mBAAmB;GACvB,OAAO;IACL,IAAI,mBAAmB;KACrB,OAAO;IACT;IACA,iBAAiB;KACf,mBAAmB;IACrB;GACF;EACF;EACA,IAAI,aAAa,SAAS,OAAO;GAC/B,IAAI,UAAU,YAAY,OAAO,UAAU,KAAK,YAAY,OAAO,YAAY,IAAI;IACjF,SAAS,UAAU;KACjB,GAAG,MAAM;KACT,GAAG,MAAM;IACX;GACF,OAAO;IACL,SAAS,UAAU;KACjB,GAAG,MAAM,YAAY;KACrB,GAAG,MAAM,YAAY;IACvB;GACF;GACA,IAAI,kBAAkB,sBAAsB;GAC5C,QAAQ,aAAa,MAAM,eAAe;GAC1C,OAAO;EACT;EACA,MAAM,UAAU,WAAW;GACzB,OAAO;EACT,GAAG,CACD,cACF,CAAC;EACD,MAAM,UAAU,WAAW;GACzB,OAAO,MAAM,YAAY,eAAe;EAC1C,GAAG,CACD,UACA,cACF,CAAC;EACD,IAAI,OAAO,UAAU,OAAO;EAC5B,OAAuB,qBAAMA,UAAW,EACtC,UAAU,CACQ,oBAAK,KAAK,QAAQ;GAChC,OAAO;GACP;EACF,CAAC,GACe,oBAAK,MAAM;GACzB,QAAQ;GACR,WAAW,MAAM,aAAa,GAAG,aAAa,KAAK,KAAK;GACxD,IAAI,QAAQ;GACZ,cAAc,QAAQ,OAAO,SAAS;GACtC,iBAAiB,WAAW,KAAK,KAAK;GACtC,GAAG;GACH,KAAK,YAAY,cAAc,QAAQ,UAAU;GACjD,OAAO,QAAQ;IACb,oBAAoB;IACpB,GAAG;GACL,IAAI;GACJ,GAAG,SAAS;IACV,eAAe,WAAW,MAAM,gBAAgB,qBAAqB,MAAM,eAAe,SAAS,OAAO;KACxG,eAAe;KACf,IAAI,kBAAkB,WAAW,KAAK;KACtC,IAAI,CAAC,gBAAgB,kBAAkB;MACrC,MAAM,eAAe;KACvB;IACF,CAAC;IACD,eAAe,WAAW,MAAM,gBAAgB,qBAAqB,MAAM,eAAe,SAAS,OAAO;KACxG,IAAI,MAAM,gBAAgB,SAAS;KACnC,eAAe;KACf,kBAAkB,UAAU,OAAO,WAAW,WAAW;MACvD,OAAO,WAAW,KAAK;KACzB,GAAG,GAAG;IACR,CAAC;IACD,eAAe,WAAW,MAAM,gBAAgB,qBAAqB,MAAM,eAAe,SAAS,OAAO;KACxG,IAAI,MAAM,gBAAgB,SAAS;KACnC,eAAe;IACjB,CAAC;IACD,iBAAiB,WAAW,MAAM,kBAAkB,qBAAqB,MAAM,iBAAiB,SAAS,OAAO;KAC9G,IAAI,MAAM,gBAAgB,SAAS;KACnC,eAAe;IACjB,CAAC;IACD,aAAa,WAAW,MAAM,cAAc,qBAAqB,MAAM,aAAa,SAAS,OAAO;KAClG,IAAI,MAAM,gBAAgB,SAAS;KACnC,eAAe;IACjB,CAAC;GACH;GACA,GAAG,CAAC,SAAS,EACX,aAAa,WAAW,MAAM,cAAc,qBAAqB,MAAM,aAAa,SAAS,OAAO;IAClG,eAAe;IACf,IAAI,kBAAkB,WAAW,KAAK;IACtC,IAAI,CAAC,gBAAgB,kBAAkB;KACrC,MAAM,eAAe;IACvB;GACF,CAAC,EACH;GACA;EACF,CAAC,CACH,EACF,CAAC;CACH,CAAC;CACD,mBAAmB,cAAc;CACjC,IAAI,cAAc;CAClB,IAAI,oBAAoB,SAAS,OAAO;EACtC,IAAI,EAAE,OAAO,UAAU,GAAG,gBAAgB;EAC1C,IAAI,UAAU,YAAY,sBAAsB,KAAK,IAAI;EACzD,IAAI,UAAU,YAA4B,oBAAK,qBAAqB;GAClE,GAAG;GACH;EACF,CAAC,IAAI;EACL,OAAuB,oBAAK,KAAK,QAAQ;GACvC,OAAO;GACP,GAAG;GACH,UAAU;EACZ,CAAC;CACH;CACA,kBAAkB,cAAc;CAChC,IAAI,eAAe;CACnB,IAAI,qBAAqB,gBAAgB,KAAK,SAAS,SAAS,OAAO,cAAc;EACnF,IAAI,EAAE,OAAO,GAAG,iBAAiB;EACjC,IAAI,UAAU,sBAAsB,KAAK;EACzC,IAAI,0BAA0B,MAAM,OAAO,KAAK;EAChD,OAAuB,oBAAK,KAAK,SAAS;GACxC,IAAI,QAAQ;GACZ,mBAAmB,QAAQ;GAC3B,OAAO;GACP,GAAG;GACH,KAAK;GACL,kBAAkB,qBAAqB,MAAM,kBAAkB,SAAS,OAAO;IAC7E,IAAI;IACJ,IAAI,CAAC,wBAAwB,SAAS,CAAC,8BAA8B,QAAQ,WAAW,aAAa,QAAQ,gCAAgC,KAAK,IAAI,KAAK,IAAI,4BAA4B,MAAM;IACjM,wBAAwB,UAAU;IAClC,MAAM,OAAO;GACf,CAAC;GACD,mBAAmB,qBAAqB,MAAM,mBAAmB,SAAS,OAAO;IAC/E,IAAI,MAAM,gBAAgB,aAAa,CAAC,MAAM,OAAO;IACrD,IAAI,gBAAgB,MAAM;IAC1B,IAAI,gBAAgB,cAAc,WAAW,KAAK,cAAc,YAAY;IAC5E,IAAI,eAAe,cAAc,WAAW,KAAK;IACjD,IAAI,CAAC,QAAQ,SAAS,cAAc,wBAAwB,UAAU;GACxE,CAAC;EACH,CAAC;CACH,CAAC;CACD,mBAAmB,cAAc;CACjC,IAAI,YAAY;CAChB,IAAI,kBAAkB,mBAAmB,SAAS,OAAO,cAAc;EACrE,IAAI,EAAE,OAAO,WAAW,GAAG,cAAc;EACzC,OAAuB,oBAAK,KAAK,MAAM;GACrC,WAAW,MAAM,UAAU,GAAG,aAAa,KAAK,KAAK;GACrD,OAAO;GACP,GAAG;GACH,KAAK;EACP,CAAC;CACH,CAAC;CACD,gBAAgB,cAAc;CAC9B,IAAI,qBAAqB;CACzB,IAAI,0BAA0B,mBAAmB,SAAS,OAAO,cAAc;EAC7E,IAAI,EAAE,OAAO,WAAW,GAAG,sBAAsB;EACjD,OAAuB,oBAAK,KAAK,cAAc;GAC7C,WAAW,MAAM,mBAAmB,GAAG,aAAa,KAAK,KAAK;GAC9D,OAAO;GACP,GAAG;GACH,KAAK;EACP,CAAC;CACH,CAAC;CACD,wBAAwB,cAAc;CACtC,IAAI,mBAAmB;CACvB,IAAI,wBAAwB,mBAAmB,SAAS,OAAO,cAAc;EAC3E,IAAI,EAAE,OAAO,GAAG,oBAAoB;EACpC,OAAuB,oBAAK,KAAK,YAAY;GAC3C,OAAO;GACP,GAAG;GACH,KAAK;EACP,CAAC;CACH,CAAC;CACD,sBAAsB,cAAc;CACpC,IAAI,kBAAkB;CACtB,IAAI,uBAAuB,mBAAmB,SAAS,OAAO,cAAc;EAC1E,IAAI,EAAE,OAAO,WAAW,GAAG,mBAAmB;EAC9C,OAAuB,oBAAK,KAAK,WAAW;GAC1C,WAAW,MAAM,gBAAgB,GAAG,aAAa,KAAK,KAAK;GAC3D,OAAO;GACP,GAAG;GACH,KAAK;EACP,CAAC;CACH,CAAC;CACD,qBAAqB,cAAc;CACnC,IAAI,iBAAiB;CACrB,IAAI,2BAA2B,gBAAgB,KAAK,eAAe,SAAS,OAAO,cAAc;EAC/F,IAAI,EAAE,OAAO,WAAW,GAAG,uBAAuB;EAClD,OAAuB,oBAAK,KAAK,eAAe;GAC9C,WAAW,MAAM,eAAe,GAAG,aAAa,KAAK,KAAK;GAC1D,OAAO;GACP,GAAG;GACH,KAAK;EACP,CAAC;CACH,CAAC;CACD,yBAAyB,cAAc;CACvC,IAAI,WAAW;CACf,IAAI,iBAAiB,SAAS,OAAO;EACnC,IAAI,EAAE,OAAO,UAAU,cAAc,MAAM,UAAU,aAAa,GAAG,SAAS;EAC9E,IAAI,CAAC,MAAM,WAAW,qBAAqB;GACzC,MAAM;GACN,aAAa;GACb,UAAU;EACZ,CAAC;EACD,OAAuB,oBAAK,KAAK,KAAK;GACpC,OAAO;GACP;GACA,cAAc;GACd,GAAG;GACH;EACF,CAAC;CACH;CACA,eAAe,cAAc;CAC7B,IAAI,mBAAmB;CACvB,IAAI,wBAAwB,gBAAgB,MAAM,SAAS,OAAO,cAAc;EAC9E,IAAI,EAAE,OAAO,WAAW,GAAG,oBAAoB;EAC/C,OAAuB,oBAAK,KAAK,YAAY;GAC3C,WAAW,MAAM,iBAAiB,GAAG,aAAa,KAAK,KAAK;GAC5D,OAAO;GACP,GAAG;GACH,KAAK;EACP,CAAC;CACH,CAAC;CACD,sBAAsB,cAAc;CACpC,IAAI,mBAAmB;CACvB,IAAI,wBAAwB,gBAAgB,KAAK,YAAY,SAAS,OAAO,cAAc;EACzF,IAAI,EAAE,OAAO,GAAG,oBAAoB;EACpC,OAAuB,oBAAK,KAAK,YAAY;GAC3C,OAAO;GACP,GAAG;GACH,KAAK;GACL,OAAO,QAAQ;IACb,GAAG,MAAM;IACT,GAAG;KACD,mDAAmD;KACnD,kDAAkD;KAClD,mDAAmD;KACnD,wCAAwC;KACxC,yCAAyC;IAC3C;GACF,IAAI;EACN,CAAC;CACH,CAAC;CACD,sBAAsB,cAAc;CACpC,IAAI,aAAa;CACjB,IAAI,mBAAmB,mBAAmB,SAAS,OAAO,cAAc;EACtE,IAAI,EAAE,OAAO,WAAW,GAAG,eAAe;EAC1C,OAAuB,oBAAK,KAAK,OAAO;GACtC,WAAW,MAAM,WAAW,GAAG,aAAa,KAAK,KAAK;GACtD,OAAO;GACP,GAAG;GACH,KAAK;EACP,CAAC;CACH,CAAC;CACD,iBAAiB,cAAc;CAC/B,IAAI,mBAAmB,KAAK;CAC5B,IAAI,mBAAmB,KAAK;CAC5B,IAAI,uBAAuB,KAAK;CAChC,IAAI,uBAAuB,KAAK;CAChC,IAAI,0BAA0B,KAAK;CACnC,IAAI,uBAAuB,KAAK;CAChC,IAAI,sBAAsB,KAAK;CAC/B,IAAI,qBAAqB,WAAW;EAClC,OAAO;CACT;CACA,OAAO,qBAAqB,iBAAiB;EAC3C,MAAM;EACN,SAAS;EACT,QAAQ;EACR,SAAS;EACT,OAAO;EACP,OAAO;EACP,MAAM;EACN,cAAc;EACd,YAAY;EACZ,WAAW;EACX,eAAe;EACf,WAAW;EACX,OAAO;EACP,KAAK;EACL,YAAY;EACZ,YAAY;EACZ,WAAW;EACX,cAAc;EACd,UAAU;EACV,WAAW;EACX,SAAS;CACX,CAAC;AACH"}
1
+ {"version":3,"file":"createNonNativeContextMenu.native.js","names":["_Fragment"],"sources":["esm/createNonNativeContextMenu.native.js"],"sourcesContent":["import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { createRefComponent } from \"@tamagui/compose-refs\";\nimport { createBaseMenu } from \"@tamagui/create-menu\";\nimport { useControllableState } from \"@tamagui/use-controllable-state\";\nimport { createStyledHOC, composeEventHandlers, composeRefs, createStyledContext, isAndroid, isWeb, Slot, View, withStaticProperties } from \"@tamagui/web\";\nimport React, { useId } from \"react\";\nvar CONTEXTMENU_CONTEXT = \"ContextMenuContext\";\nfunction createNonNativeContextMenu() {\n var { Menu } = createBaseMenu();\n var CONTEXT_MENU_NAME = \"ContextMenu\";\n var { Provider: ContextMenuProvider, useStyledContext: useContextMenuContext } = createStyledContext();\n var ContextMenuComp = function(props) {\n var { scope, children, onOpenChange, open: openProp, defaultOpen, dir, modal = true, ...rest } = props;\n var [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen !== null && defaultOpen !== void 0 ? defaultOpen : false\n });\n var triggerRef = React.useRef(null);\n var handleOpenChange = React.useCallback(function(open2, event) {\n onOpenChange === null || onOpenChange === void 0 ? void 0 : onOpenChange(open2, event);\n if (event === null || event === void 0 ? void 0 : event.defaultPrevented) return;\n setOpen(open2);\n }, [\n onOpenChange,\n setOpen\n ]);\n return /* @__PURE__ */ _jsx(ContextMenuProvider, {\n scope,\n triggerId: useId(),\n triggerRef,\n contentId: useId(),\n open,\n onOpenChange: handleOpenChange,\n modal,\n children: /* @__PURE__ */ _jsx(Menu, {\n scope: scope || CONTEXTMENU_CONTEXT,\n dir,\n open,\n onOpenChange: handleOpenChange,\n modal,\n ...rest,\n children\n })\n });\n };\n ContextMenuComp.displayName = CONTEXT_MENU_NAME;\n var TRIGGER_NAME = \"ContextMenuTrigger\";\n var ContextMenuTrigger = createStyledHOC(View, function(props, forwardedRef) {\n var { scope, style, className, disabled = false, asChild, children, ...triggerProps } = props;\n var context = useContextMenuContext(scope);\n var pointRef = React.useRef({\n x: 0,\n y: 0\n });\n var virtualRef = React.useMemo(function() {\n return {\n current: {\n getBoundingClientRect: function() {\n if (isWeb) {\n var scrollX = window.scrollX || document.documentElement.scrollLeft;\n var scrollY = window.scrollY || document.documentElement.scrollTop;\n return DOMRect.fromRect({\n width: 0,\n height: 0,\n x: pointRef.current.x - scrollX,\n y: pointRef.current.y - scrollY\n });\n }\n return {\n width: 0,\n height: 0,\n top: 0,\n left: 0,\n ...pointRef.current\n };\n },\n ...!isWeb && {\n measure: function(c) {\n return c(pointRef.current.x, pointRef.current.y, 0, 0);\n },\n measureInWindow: function(c) {\n return c(pointRef.current.x, pointRef.current.y, 0, 0);\n }\n }\n }\n };\n }, [\n pointRef.current.x,\n pointRef.current.y\n ]);\n var longPressTimerRef = React.useRef(0);\n var clearLongPress = React.useCallback(function() {\n return window.clearTimeout(longPressTimerRef.current);\n }, []);\n var createOpenChangeEvent = function() {\n var defaultPrevented = false;\n return {\n get defaultPrevented() {\n return defaultPrevented;\n },\n preventDefault() {\n defaultPrevented = true;\n }\n };\n };\n var handleOpen = function(event) {\n if (isWeb && (event instanceof MouseEvent || event instanceof PointerEvent)) {\n pointRef.current = {\n x: event.clientX,\n y: event.clientY\n };\n } else {\n pointRef.current = {\n x: event.nativeEvent.pageX,\n y: event.nativeEvent.pageY\n };\n }\n var openChangeEvent = createOpenChangeEvent();\n context.onOpenChange(true, openChangeEvent);\n return openChangeEvent;\n };\n React.useEffect(function() {\n return clearLongPress;\n }, [\n clearLongPress\n ]);\n React.useEffect(function() {\n return void (disabled && clearLongPress());\n }, [\n disabled,\n clearLongPress\n ]);\n var Comp = asChild ? Slot : View;\n return /* @__PURE__ */ _jsxs(_Fragment, {\n children: [\n /* @__PURE__ */ _jsx(Menu.Anchor, {\n scope: scope || CONTEXTMENU_CONTEXT,\n virtualRef\n }),\n /* @__PURE__ */ _jsx(Comp, {\n render: \"span\",\n className: `is_${TRIGGER_NAME} ${className || \"\"}`.trim(),\n id: context.triggerId,\n \"data-state\": context.open ? \"open\" : \"closed\",\n \"data-disabled\": disabled ? \"\" : void 0,\n ...triggerProps,\n ref: composeRefs(forwardedRef, context.triggerRef),\n style: isWeb ? {\n WebkitTouchCallout: \"none\",\n ...style\n } : style,\n ...isWeb && {\n onContextMenu: disabled ? props.onContextMenu : composeEventHandlers(props.onContextMenu, function(event) {\n clearLongPress();\n var openChangeEvent = handleOpen(event);\n if (!openChangeEvent.defaultPrevented) {\n event.preventDefault();\n }\n }),\n onPointerDown: disabled ? props.onPointerDown : composeEventHandlers(props.onPointerDown, function(event) {\n if (event.pointerType === \"mouse\") return;\n clearLongPress();\n longPressTimerRef.current = window.setTimeout(function() {\n return handleOpen(event);\n }, 700);\n }),\n onPointerMove: disabled ? props.onPointerMove : composeEventHandlers(props.onPointerMove, function(event) {\n if (event.pointerType === \"mouse\") return;\n clearLongPress();\n }),\n onPointerCancel: disabled ? props.onPointerCancel : composeEventHandlers(props.onPointerCancel, function(event) {\n if (event.pointerType === \"mouse\") return;\n clearLongPress();\n }),\n onPointerUp: disabled ? props.onPointerUp : composeEventHandlers(props.onPointerUp, function(event) {\n if (event.pointerType === \"mouse\") return;\n clearLongPress();\n })\n },\n ...!isWeb && {\n onLongPress: disabled ? props.onLongPress : composeEventHandlers(props.onLongPress, function(event) {\n clearLongPress();\n var openChangeEvent = handleOpen(event);\n if (!openChangeEvent.defaultPrevented) {\n event.preventDefault();\n }\n })\n },\n children\n })\n ]\n });\n });\n ContextMenuTrigger.displayName = TRIGGER_NAME;\n var PORTAL_NAME = \"ContextMenuPortal\";\n var ContextMenuPortal = function(props) {\n var { scope, children, ...portalProps } = props;\n var context = isAndroid ? useContextMenuContext(scope) : null;\n var content = isAndroid ? /* @__PURE__ */ _jsx(ContextMenuProvider, {\n ...context,\n children\n }) : children;\n return /* @__PURE__ */ _jsx(Menu.Portal, {\n scope: scope || CONTEXTMENU_CONTEXT,\n ...portalProps,\n children: content\n });\n };\n ContextMenuPortal.displayName = PORTAL_NAME;\n var CONTENT_NAME = \"ContextMenuContent\";\n var ContextMenuContent = createStyledHOC(Menu.Content, function(props, forwardedRef) {\n var { scope, ...contentProps } = props;\n var context = useContextMenuContext(scope);\n var hasInteractedOutsideRef = React.useRef(false);\n return /* @__PURE__ */ _jsx(Menu.Content, {\n id: context.contentId,\n \"aria-labelledby\": context.triggerId,\n scope: scope || CONTEXTMENU_CONTEXT,\n ...contentProps,\n ref: forwardedRef,\n onCloseAutoFocus: composeEventHandlers(props.onCloseAutoFocus, function(event) {\n var _context_triggerRef_current;\n if (!hasInteractedOutsideRef.current) (_context_triggerRef_current = context.triggerRef.current) === null || _context_triggerRef_current === void 0 ? void 0 : _context_triggerRef_current.focus();\n hasInteractedOutsideRef.current = false;\n event.cancel();\n }),\n onInteractOutside: composeEventHandlers(props.onInteractOutside, function(event) {\n if (event.interaction !== \"pointer\" || !event.event) return;\n var originalEvent = event.event;\n var ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;\n var isRightClick = originalEvent.button === 2 || ctrlLeftClick;\n if (!context.modal || isRightClick) hasInteractedOutsideRef.current = true;\n })\n });\n });\n ContextMenuContent.displayName = CONTENT_NAME;\n var ITEM_NAME = \"ContextMenuItem\";\n var ContextMenuItem = createRefComponent(function(props, forwardedRef) {\n var { scope, className, ...itemProps } = props;\n return /* @__PURE__ */ _jsx(Menu.Item, {\n className: `is_${ITEM_NAME} ${className || \"\"}`.trim(),\n scope: scope || CONTEXTMENU_CONTEXT,\n ...itemProps,\n ref: forwardedRef\n });\n });\n ContextMenuItem.displayName = ITEM_NAME;\n var CHECKBOX_ITEM_NAME = \"ContextMenuCheckboxItem\";\n var ContextMenuCheckboxItem = createRefComponent(function(props, forwardedRef) {\n var { scope, className, ...checkboxItemProps } = props;\n return /* @__PURE__ */ _jsx(Menu.CheckboxItem, {\n className: `is_${CHECKBOX_ITEM_NAME} ${className || \"\"}`.trim(),\n scope: scope || CONTEXTMENU_CONTEXT,\n ...checkboxItemProps,\n ref: forwardedRef\n });\n });\n ContextMenuCheckboxItem.displayName = CHECKBOX_ITEM_NAME;\n var RADIO_GROUP_NAME = \"ContextMenuRadioGroup\";\n var ContextMenuRadioGroup = createRefComponent(function(props, forwardedRef) {\n var { scope, ...radioGroupProps } = props;\n return /* @__PURE__ */ _jsx(Menu.RadioGroup, {\n scope: scope || CONTEXTMENU_CONTEXT,\n ...radioGroupProps,\n ref: forwardedRef\n });\n });\n ContextMenuRadioGroup.displayName = RADIO_GROUP_NAME;\n var RADIO_ITEM_NAME = \"ContextMenuRadioItem\";\n var ContextMenuRadioItem = createRefComponent(function(props, forwardedRef) {\n var { scope, className, ...radioItemProps } = props;\n return /* @__PURE__ */ _jsx(Menu.RadioItem, {\n className: `is_${RADIO_ITEM_NAME} ${className || \"\"}`.trim(),\n scope: scope || CONTEXTMENU_CONTEXT,\n ...radioItemProps,\n ref: forwardedRef\n });\n });\n ContextMenuRadioItem.displayName = RADIO_ITEM_NAME;\n var INDICATOR_NAME = \"ContextMenuItemIndicator\";\n var ContextMenuItemIndicator = createStyledHOC(Menu.ItemIndicator, function(props, forwardedRef) {\n var { scope, className, ...itemIndicatorProps } = props;\n return /* @__PURE__ */ _jsx(Menu.ItemIndicator, {\n className: `is_${INDICATOR_NAME} ${className || \"\"}`.trim(),\n scope: scope || CONTEXTMENU_CONTEXT,\n ...itemIndicatorProps,\n ref: forwardedRef\n });\n });\n ContextMenuItemIndicator.displayName = INDICATOR_NAME;\n var SUB_NAME = \"ContextMenuSub\";\n var ContextMenuSub = function(props) {\n var { scope, children, onOpenChange, open: openProp, defaultOpen, ...rest } = props;\n var [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen,\n onChange: onOpenChange\n });\n return /* @__PURE__ */ _jsx(Menu.Sub, {\n scope: scope || CONTEXTMENU_CONTEXT,\n open,\n onOpenChange: setOpen,\n ...rest,\n children\n });\n };\n ContextMenuSub.displayName = SUB_NAME;\n var SUB_TRIGGER_NAME = \"ContextMenuSubTrigger\";\n var ContextMenuSubTrigger = createStyledHOC(View, function(props, forwardedRef) {\n var { scope, className, ...subTriggerProps } = props;\n return /* @__PURE__ */ _jsx(Menu.SubTrigger, {\n className: `is_${SUB_TRIGGER_NAME} ${className || \"\"}`.trim(),\n scope: scope || CONTEXTMENU_CONTEXT,\n ...subTriggerProps,\n ref: forwardedRef\n });\n });\n ContextMenuSubTrigger.displayName = SUB_TRIGGER_NAME;\n var SUB_CONTENT_NAME = \"ContextMenuSubContent\";\n var ContextMenuSubContent = createStyledHOC(Menu.SubContent, function(props, forwardedRef) {\n var { scope, ...subContentProps } = props;\n return /* @__PURE__ */ _jsx(Menu.SubContent, {\n scope: scope || CONTEXTMENU_CONTEXT,\n ...subContentProps,\n ref: forwardedRef,\n style: isWeb ? {\n ...props.style,\n ...{\n \"--tamagui-context-menu-content-transform-origin\": \"var(--tamagui-popper-transform-origin)\",\n \"--tamagui-context-menu-content-available-width\": \"var(--tamagui-popper-available-width)\",\n \"--tamagui-context-menu-content-available-height\": \"var(--tamagui-popper-available-height)\",\n \"--tamagui-context-menu-trigger-width\": \"var(--tamagui-popper-anchor-width)\",\n \"--tamagui-context-menu-trigger-height\": \"var(--tamagui-popper-anchor-height)\"\n }\n } : null\n });\n });\n ContextMenuSubContent.displayName = SUB_CONTENT_NAME;\n var ARROW_NAME = \"ContextMenuArrow\";\n var ContextMenuArrow = createRefComponent(function(props, forwardedRef) {\n var { scope, className, ...arrowProps } = props;\n return /* @__PURE__ */ _jsx(Menu.Arrow, {\n className: `is_${ARROW_NAME} ${className || \"\"}`.trim(),\n scope: scope || CONTEXTMENU_CONTEXT,\n ...arrowProps,\n ref: forwardedRef\n });\n });\n ContextMenuArrow.displayName = ARROW_NAME;\n var ContextMenuGroup = Menu.Group;\n var ContextMenuLabel = Menu.Label;\n var ContextMenuSeparator = Menu.Separator;\n var ContextMenuItemTitle = Menu.ItemTitle;\n var ContextMenuItemSubTitle = Menu.ItemSubtitle;\n var ContextMenuItemImage = Menu.ItemImage;\n var ContextMenuItemIcon = Menu.ItemIcon;\n var ContextMenuPreview = function() {\n return null;\n };\n return withStaticProperties(ContextMenuComp, {\n Root: ContextMenuComp,\n Trigger: ContextMenuTrigger,\n Portal: ContextMenuPortal,\n Content: ContextMenuContent,\n Group: ContextMenuGroup,\n Label: ContextMenuLabel,\n Item: ContextMenuItem,\n CheckboxItem: ContextMenuCheckboxItem,\n RadioGroup: ContextMenuRadioGroup,\n RadioItem: ContextMenuRadioItem,\n ItemIndicator: ContextMenuItemIndicator,\n Separator: ContextMenuSeparator,\n Arrow: ContextMenuArrow,\n Sub: ContextMenuSub,\n SubTrigger: ContextMenuSubTrigger,\n SubContent: ContextMenuSubContent,\n ItemTitle: ContextMenuItemTitle,\n ItemSubtitle: ContextMenuItemSubTitle,\n ItemIcon: ContextMenuItemIcon,\n ItemImage: ContextMenuItemImage,\n Preview: ContextMenuPreview\n });\n}\nexport {\n CONTEXTMENU_CONTEXT,\n createNonNativeContextMenu\n};\n//# sourceMappingURL=createNonNativeContextMenu.js.map\n"],"mappings":";;;;;;;;AAMA,IAAI,sBAAsB;AAC1B,SAAS,6BAA6B;CACpC,IAAI,EAAE,SAAS,eAAe;CAC9B,IAAI,oBAAoB;CACxB,IAAI,EAAE,UAAU,qBAAqB,kBAAkB,0BAA0B,oBAAoB;CACrG,IAAI,kBAAkB,SAAS,OAAO;EACpC,IAAI,EAAE,OAAO,UAAU,cAAc,MAAM,UAAU,aAAa,KAAK,QAAQ,MAAM,GAAG,SAAS;EACjG,IAAI,CAAC,MAAM,WAAW,qBAAqB;GACzC,MAAM;GACN,aAAa,gBAAgB,QAAQ,gBAAgB,KAAK,IAAI,cAAc;EAC9E,CAAC;EACD,IAAI,aAAa,MAAM,OAAO,IAAI;EAClC,IAAI,mBAAmB,MAAM,YAAY,SAAS,OAAO,OAAO;GAC9D,iBAAiB,QAAQ,iBAAiB,KAAK,IAAI,KAAK,IAAI,aAAa,OAAO,KAAK;GACrF,IAAI,UAAU,QAAQ,UAAU,KAAK,IAAI,KAAK,IAAI,MAAM,kBAAkB;GAC1E,QAAQ,KAAK;EACf,GAAG,CACD,cACA,OACF,CAAC;EACD,OAAuB,oBAAK,qBAAqB;GAC/C;GACA,WAAW,MAAM;GACjB;GACA,WAAW,MAAM;GACjB;GACA,cAAc;GACd;GACA,UAA0B,oBAAK,MAAM;IACnC,OAAO;IACP;IACA;IACA,cAAc;IACd;IACA,GAAG;IACH;GACF,CAAC;EACH,CAAC;CACH;CACA,gBAAgB,cAAc;CAC9B,IAAI,eAAe;CACnB,IAAI,qBAAqB,gBAAgB,MAAM,SAAS,OAAO,cAAc;EAC3E,IAAI,EAAE,OAAO,OAAO,WAAW,WAAW,OAAO,SAAS,UAAU,GAAG,iBAAiB;EACxF,IAAI,UAAU,sBAAsB,KAAK;EACzC,IAAI,WAAW,MAAM,OAAO;GAC1B,GAAG;GACH,GAAG;EACL,CAAC;EACD,IAAI,aAAa,MAAM,QAAQ,WAAW;GACxC,OAAO,EACL,SAAS;IACP,uBAAuB,WAAW;KAChC,IAAI,OAAO;MACT,IAAI,UAAU,OAAO,WAAW,SAAS,gBAAgB;MACzD,IAAI,UAAU,OAAO,WAAW,SAAS,gBAAgB;MACzD,OAAO,QAAQ,SAAS;OACtB,OAAO;OACP,QAAQ;OACR,GAAG,SAAS,QAAQ,IAAI;OACxB,GAAG,SAAS,QAAQ,IAAI;MAC1B,CAAC;KACH;KACA,OAAO;MACL,OAAO;MACP,QAAQ;MACR,KAAK;MACL,MAAM;MACN,GAAG,SAAS;KACd;IACF;IACA,GAAG,CAAC,SAAS;KACX,SAAS,SAAS,GAAG;MACnB,OAAO,EAAE,SAAS,QAAQ,GAAG,SAAS,QAAQ,GAAG,GAAG,CAAC;KACvD;KACA,iBAAiB,SAAS,GAAG;MAC3B,OAAO,EAAE,SAAS,QAAQ,GAAG,SAAS,QAAQ,GAAG,GAAG,CAAC;KACvD;IACF;GACF,EACF;EACF,GAAG,CACD,SAAS,QAAQ,GACjB,SAAS,QAAQ,CACnB,CAAC;EACD,IAAI,oBAAoB,MAAM,OAAO,CAAC;EACtC,IAAI,iBAAiB,MAAM,YAAY,WAAW;GAChD,OAAO,OAAO,aAAa,kBAAkB,OAAO;EACtD,GAAG,CAAC,CAAC;EACL,IAAI,wBAAwB,WAAW;GACrC,IAAI,mBAAmB;GACvB,OAAO;IACL,IAAI,mBAAmB;KACrB,OAAO;IACT;IACA,iBAAiB;KACf,mBAAmB;IACrB;GACF;EACF;EACA,IAAI,aAAa,SAAS,OAAO;GAC/B,IAAI,UAAU,iBAAiB,cAAc,iBAAiB,eAAe;IAC3E,SAAS,UAAU;KACjB,GAAG,MAAM;KACT,GAAG,MAAM;IACX;GACF,OAAO;IACL,SAAS,UAAU;KACjB,GAAG,MAAM,YAAY;KACrB,GAAG,MAAM,YAAY;IACvB;GACF;GACA,IAAI,kBAAkB,sBAAsB;GAC5C,QAAQ,aAAa,MAAM,eAAe;GAC1C,OAAO;EACT;EACA,MAAM,UAAU,WAAW;GACzB,OAAO;EACT,GAAG,CACD,cACF,CAAC;EACD,MAAM,UAAU,WAAW;GACzB,OAAO,MAAM,YAAY,eAAe;EAC1C,GAAG,CACD,UACA,cACF,CAAC;EACD,IAAI,OAAO,UAAU,OAAO;EAC5B,OAAuB,qBAAMA,UAAW,EACtC,UAAU,CACQ,oBAAK,KAAK,QAAQ;GAChC,OAAO;GACP;EACF,CAAC,GACe,oBAAK,MAAM;GACzB,QAAQ;GACR,WAAW,MAAM,aAAa,GAAG,aAAa,KAAK,KAAK;GACxD,IAAI,QAAQ;GACZ,cAAc,QAAQ,OAAO,SAAS;GACtC,iBAAiB,WAAW,KAAK,KAAK;GACtC,GAAG;GACH,KAAK,YAAY,cAAc,QAAQ,UAAU;GACjD,OAAO,QAAQ;IACb,oBAAoB;IACpB,GAAG;GACL,IAAI;GACJ,GAAG,SAAS;IACV,eAAe,WAAW,MAAM,gBAAgB,qBAAqB,MAAM,eAAe,SAAS,OAAO;KACxG,eAAe;KACf,IAAI,kBAAkB,WAAW,KAAK;KACtC,IAAI,CAAC,gBAAgB,kBAAkB;MACrC,MAAM,eAAe;KACvB;IACF,CAAC;IACD,eAAe,WAAW,MAAM,gBAAgB,qBAAqB,MAAM,eAAe,SAAS,OAAO;KACxG,IAAI,MAAM,gBAAgB,SAAS;KACnC,eAAe;KACf,kBAAkB,UAAU,OAAO,WAAW,WAAW;MACvD,OAAO,WAAW,KAAK;KACzB,GAAG,GAAG;IACR,CAAC;IACD,eAAe,WAAW,MAAM,gBAAgB,qBAAqB,MAAM,eAAe,SAAS,OAAO;KACxG,IAAI,MAAM,gBAAgB,SAAS;KACnC,eAAe;IACjB,CAAC;IACD,iBAAiB,WAAW,MAAM,kBAAkB,qBAAqB,MAAM,iBAAiB,SAAS,OAAO;KAC9G,IAAI,MAAM,gBAAgB,SAAS;KACnC,eAAe;IACjB,CAAC;IACD,aAAa,WAAW,MAAM,cAAc,qBAAqB,MAAM,aAAa,SAAS,OAAO;KAClG,IAAI,MAAM,gBAAgB,SAAS;KACnC,eAAe;IACjB,CAAC;GACH;GACA,GAAG,CAAC,SAAS,EACX,aAAa,WAAW,MAAM,cAAc,qBAAqB,MAAM,aAAa,SAAS,OAAO;IAClG,eAAe;IACf,IAAI,kBAAkB,WAAW,KAAK;IACtC,IAAI,CAAC,gBAAgB,kBAAkB;KACrC,MAAM,eAAe;IACvB;GACF,CAAC,EACH;GACA;EACF,CAAC,CACH,EACF,CAAC;CACH,CAAC;CACD,mBAAmB,cAAc;CACjC,IAAI,cAAc;CAClB,IAAI,oBAAoB,SAAS,OAAO;EACtC,IAAI,EAAE,OAAO,UAAU,GAAG,gBAAgB;EAC1C,IAAI,UAAU,YAAY,sBAAsB,KAAK,IAAI;EACzD,IAAI,UAAU,YAA4B,oBAAK,qBAAqB;GAClE,GAAG;GACH;EACF,CAAC,IAAI;EACL,OAAuB,oBAAK,KAAK,QAAQ;GACvC,OAAO;GACP,GAAG;GACH,UAAU;EACZ,CAAC;CACH;CACA,kBAAkB,cAAc;CAChC,IAAI,eAAe;CACnB,IAAI,qBAAqB,gBAAgB,KAAK,SAAS,SAAS,OAAO,cAAc;EACnF,IAAI,EAAE,OAAO,GAAG,iBAAiB;EACjC,IAAI,UAAU,sBAAsB,KAAK;EACzC,IAAI,0BAA0B,MAAM,OAAO,KAAK;EAChD,OAAuB,oBAAK,KAAK,SAAS;GACxC,IAAI,QAAQ;GACZ,mBAAmB,QAAQ;GAC3B,OAAO;GACP,GAAG;GACH,KAAK;GACL,kBAAkB,qBAAqB,MAAM,kBAAkB,SAAS,OAAO;IAC7E,IAAI;IACJ,IAAI,CAAC,wBAAwB,SAAS,CAAC,8BAA8B,QAAQ,WAAW,aAAa,QAAQ,gCAAgC,KAAK,IAAI,KAAK,IAAI,4BAA4B,MAAM;IACjM,wBAAwB,UAAU;IAClC,MAAM,OAAO;GACf,CAAC;GACD,mBAAmB,qBAAqB,MAAM,mBAAmB,SAAS,OAAO;IAC/E,IAAI,MAAM,gBAAgB,aAAa,CAAC,MAAM,OAAO;IACrD,IAAI,gBAAgB,MAAM;IAC1B,IAAI,gBAAgB,cAAc,WAAW,KAAK,cAAc,YAAY;IAC5E,IAAI,eAAe,cAAc,WAAW,KAAK;IACjD,IAAI,CAAC,QAAQ,SAAS,cAAc,wBAAwB,UAAU;GACxE,CAAC;EACH,CAAC;CACH,CAAC;CACD,mBAAmB,cAAc;CACjC,IAAI,YAAY;CAChB,IAAI,kBAAkB,mBAAmB,SAAS,OAAO,cAAc;EACrE,IAAI,EAAE,OAAO,WAAW,GAAG,cAAc;EACzC,OAAuB,oBAAK,KAAK,MAAM;GACrC,WAAW,MAAM,UAAU,GAAG,aAAa,KAAK,KAAK;GACrD,OAAO;GACP,GAAG;GACH,KAAK;EACP,CAAC;CACH,CAAC;CACD,gBAAgB,cAAc;CAC9B,IAAI,qBAAqB;CACzB,IAAI,0BAA0B,mBAAmB,SAAS,OAAO,cAAc;EAC7E,IAAI,EAAE,OAAO,WAAW,GAAG,sBAAsB;EACjD,OAAuB,oBAAK,KAAK,cAAc;GAC7C,WAAW,MAAM,mBAAmB,GAAG,aAAa,KAAK,KAAK;GAC9D,OAAO;GACP,GAAG;GACH,KAAK;EACP,CAAC;CACH,CAAC;CACD,wBAAwB,cAAc;CACtC,IAAI,mBAAmB;CACvB,IAAI,wBAAwB,mBAAmB,SAAS,OAAO,cAAc;EAC3E,IAAI,EAAE,OAAO,GAAG,oBAAoB;EACpC,OAAuB,oBAAK,KAAK,YAAY;GAC3C,OAAO;GACP,GAAG;GACH,KAAK;EACP,CAAC;CACH,CAAC;CACD,sBAAsB,cAAc;CACpC,IAAI,kBAAkB;CACtB,IAAI,uBAAuB,mBAAmB,SAAS,OAAO,cAAc;EAC1E,IAAI,EAAE,OAAO,WAAW,GAAG,mBAAmB;EAC9C,OAAuB,oBAAK,KAAK,WAAW;GAC1C,WAAW,MAAM,gBAAgB,GAAG,aAAa,KAAK,KAAK;GAC3D,OAAO;GACP,GAAG;GACH,KAAK;EACP,CAAC;CACH,CAAC;CACD,qBAAqB,cAAc;CACnC,IAAI,iBAAiB;CACrB,IAAI,2BAA2B,gBAAgB,KAAK,eAAe,SAAS,OAAO,cAAc;EAC/F,IAAI,EAAE,OAAO,WAAW,GAAG,uBAAuB;EAClD,OAAuB,oBAAK,KAAK,eAAe;GAC9C,WAAW,MAAM,eAAe,GAAG,aAAa,KAAK,KAAK;GAC1D,OAAO;GACP,GAAG;GACH,KAAK;EACP,CAAC;CACH,CAAC;CACD,yBAAyB,cAAc;CACvC,IAAI,WAAW;CACf,IAAI,iBAAiB,SAAS,OAAO;EACnC,IAAI,EAAE,OAAO,UAAU,cAAc,MAAM,UAAU,aAAa,GAAG,SAAS;EAC9E,IAAI,CAAC,MAAM,WAAW,qBAAqB;GACzC,MAAM;GACN,aAAa;GACb,UAAU;EACZ,CAAC;EACD,OAAuB,oBAAK,KAAK,KAAK;GACpC,OAAO;GACP;GACA,cAAc;GACd,GAAG;GACH;EACF,CAAC;CACH;CACA,eAAe,cAAc;CAC7B,IAAI,mBAAmB;CACvB,IAAI,wBAAwB,gBAAgB,MAAM,SAAS,OAAO,cAAc;EAC9E,IAAI,EAAE,OAAO,WAAW,GAAG,oBAAoB;EAC/C,OAAuB,oBAAK,KAAK,YAAY;GAC3C,WAAW,MAAM,iBAAiB,GAAG,aAAa,KAAK,KAAK;GAC5D,OAAO;GACP,GAAG;GACH,KAAK;EACP,CAAC;CACH,CAAC;CACD,sBAAsB,cAAc;CACpC,IAAI,mBAAmB;CACvB,IAAI,wBAAwB,gBAAgB,KAAK,YAAY,SAAS,OAAO,cAAc;EACzF,IAAI,EAAE,OAAO,GAAG,oBAAoB;EACpC,OAAuB,oBAAK,KAAK,YAAY;GAC3C,OAAO;GACP,GAAG;GACH,KAAK;GACL,OAAO,QAAQ;IACb,GAAG,MAAM;IACT,GAAG;KACD,mDAAmD;KACnD,kDAAkD;KAClD,mDAAmD;KACnD,wCAAwC;KACxC,yCAAyC;IAC3C;GACF,IAAI;EACN,CAAC;CACH,CAAC;CACD,sBAAsB,cAAc;CACpC,IAAI,aAAa;CACjB,IAAI,mBAAmB,mBAAmB,SAAS,OAAO,cAAc;EACtE,IAAI,EAAE,OAAO,WAAW,GAAG,eAAe;EAC1C,OAAuB,oBAAK,KAAK,OAAO;GACtC,WAAW,MAAM,WAAW,GAAG,aAAa,KAAK,KAAK;GACtD,OAAO;GACP,GAAG;GACH,KAAK;EACP,CAAC;CACH,CAAC;CACD,iBAAiB,cAAc;CAC/B,IAAI,mBAAmB,KAAK;CAC5B,IAAI,mBAAmB,KAAK;CAC5B,IAAI,uBAAuB,KAAK;CAChC,IAAI,uBAAuB,KAAK;CAChC,IAAI,0BAA0B,KAAK;CACnC,IAAI,uBAAuB,KAAK;CAChC,IAAI,sBAAsB,KAAK;CAC/B,IAAI,qBAAqB,WAAW;EAClC,OAAO;CACT;CACA,OAAO,qBAAqB,iBAAiB;EAC3C,MAAM;EACN,SAAS;EACT,QAAQ;EACR,SAAS;EACT,OAAO;EACP,OAAO;EACP,MAAM;EACN,cAAc;EACd,YAAY;EACZ,WAAW;EACX,eAAe;EACf,WAAW;EACX,OAAO;EACP,KAAK;EACL,YAAY;EACZ,YAAY;EACZ,WAAW;EACX,cAAc;EACd,UAAU;EACV,WAAW;EACX,SAAS;CACX,CAAC;AACH"}
@@ -121,7 +121,7 @@ function createNonNativeContextMenu() {
121
121
  style: isWeb ? {
122
122
  WebkitTouchCallout: "none",
123
123
  ...style
124
- } : null,
124
+ } : style,
125
125
  ...isWeb && {
126
126
  onContextMenu: disabled ? props.onContextMenu : composeEventHandlers(props.onContextMenu, (event) => {
127
127
  clearLongPress();
@@ -1 +1 @@
1
- {"version":3,"file":"createNonNativeContextMenu.js","names":[],"sources":["jsx/createNonNativeContextMenu.js"],"sourcesContent":["import { createRefComponent } from \"@tamagui/compose-refs\";\nimport { createBaseMenu } from \"@tamagui/create-menu\";\nimport { useControllableState } from \"@tamagui/use-controllable-state\";\nimport {\n createStyledHOC,\n composeEventHandlers,\n composeRefs,\n createStyledContext,\n isAndroid,\n isWeb,\n Slot,\n View,\n withStaticProperties\n} from \"@tamagui/web\";\nimport React, { useId } from \"react\";\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nconst CONTEXTMENU_CONTEXT = \"ContextMenuContext\";\nfunction createNonNativeContextMenu() {\n const { Menu } = createBaseMenu();\n const CONTEXT_MENU_NAME = \"ContextMenu\";\n const { Provider: ContextMenuProvider, useStyledContext: useContextMenuContext } = createStyledContext();\n const ContextMenuComp = (props) => {\n const {\n scope,\n children,\n onOpenChange,\n open: openProp,\n defaultOpen,\n dir,\n modal = true,\n ...rest\n } = props;\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen ?? false\n });\n const triggerRef = React.useRef(null);\n const handleOpenChange = React.useCallback(\n (open2, event) => {\n onOpenChange?.(open2, event);\n if (event?.defaultPrevented) return;\n setOpen(open2);\n },\n [onOpenChange, setOpen]\n );\n return /* @__PURE__ */ jsx(\n ContextMenuProvider,\n {\n scope,\n triggerId: useId(),\n triggerRef,\n contentId: useId(),\n open,\n onOpenChange: handleOpenChange,\n modal,\n children: /* @__PURE__ */ jsx(\n Menu,\n {\n scope: scope || CONTEXTMENU_CONTEXT,\n dir,\n open,\n onOpenChange: handleOpenChange,\n modal,\n ...rest,\n children\n }\n )\n }\n );\n };\n ContextMenuComp.displayName = CONTEXT_MENU_NAME;\n const TRIGGER_NAME = \"ContextMenuTrigger\";\n const ContextMenuTrigger = createStyledHOC(\n View,\n (props, forwardedRef) => {\n const {\n scope,\n style,\n className,\n disabled = false,\n asChild,\n children,\n ...triggerProps\n } = props;\n const context = useContextMenuContext(scope);\n const pointRef = React.useRef({ x: 0, y: 0 });\n const virtualRef = React.useMemo(\n () => ({\n current: {\n getBoundingClientRect: () => {\n if (isWeb) {\n const scrollX = window.scrollX || document.documentElement.scrollLeft;\n const scrollY = window.scrollY || document.documentElement.scrollTop;\n return DOMRect.fromRect({\n width: 0,\n height: 0,\n x: pointRef.current.x - scrollX,\n y: pointRef.current.y - scrollY\n });\n }\n return { width: 0, height: 0, top: 0, left: 0, ...pointRef.current };\n },\n ...!isWeb && {\n measure: (c) => c(pointRef.current.x, pointRef.current.y, 0, 0),\n measureInWindow: (c) => c(pointRef.current.x, pointRef.current.y, 0, 0)\n }\n }\n }),\n [pointRef.current.x, pointRef.current.y]\n );\n const longPressTimerRef = React.useRef(0);\n const clearLongPress = React.useCallback(\n () => window.clearTimeout(longPressTimerRef.current),\n []\n );\n const createOpenChangeEvent = () => {\n let defaultPrevented = false;\n return {\n get defaultPrevented() {\n return defaultPrevented;\n },\n preventDefault() {\n defaultPrevented = true;\n }\n };\n };\n const handleOpen = (event) => {\n if (isWeb && (event instanceof MouseEvent || event instanceof PointerEvent)) {\n pointRef.current = { x: event.clientX, y: event.clientY };\n } else {\n pointRef.current = {\n x: event.nativeEvent.pageX,\n y: event.nativeEvent.pageY\n };\n }\n const openChangeEvent = createOpenChangeEvent();\n context.onOpenChange(true, openChangeEvent);\n return openChangeEvent;\n };\n React.useEffect(() => clearLongPress, [clearLongPress]);\n React.useEffect(\n () => void (disabled && clearLongPress()),\n [disabled, clearLongPress]\n );\n const Comp = asChild ? Slot : View;\n return /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(Menu.Anchor, { scope: scope || CONTEXTMENU_CONTEXT, virtualRef }),\n /* @__PURE__ */ jsx(\n Comp,\n {\n render: \"span\",\n className: `is_${TRIGGER_NAME} ${className || \"\"}`.trim(),\n id: context.triggerId,\n \"data-state\": context.open ? \"open\" : \"closed\",\n \"data-disabled\": disabled ? \"\" : void 0,\n ...triggerProps,\n ref: composeRefs(forwardedRef, context.triggerRef),\n style: isWeb ? { WebkitTouchCallout: \"none\", ...style } : null,\n ...isWeb && {\n onContextMenu: disabled ? props.onContextMenu : composeEventHandlers(props.onContextMenu, (event) => {\n clearLongPress();\n const openChangeEvent = handleOpen(event);\n if (!openChangeEvent.defaultPrevented) {\n event.preventDefault();\n }\n }),\n onPointerDown: disabled ? props.onPointerDown : composeEventHandlers(props.onPointerDown, (event) => {\n if (event.pointerType === \"mouse\") return;\n clearLongPress();\n longPressTimerRef.current = window.setTimeout(\n () => handleOpen(event),\n 700\n );\n }),\n onPointerMove: disabled ? props.onPointerMove : composeEventHandlers(props.onPointerMove, (event) => {\n if (event.pointerType === \"mouse\") return;\n clearLongPress();\n }),\n onPointerCancel: disabled ? props.onPointerCancel : composeEventHandlers(props.onPointerCancel, (event) => {\n if (event.pointerType === \"mouse\") return;\n clearLongPress();\n }),\n onPointerUp: disabled ? props.onPointerUp : composeEventHandlers(props.onPointerUp, (event) => {\n if (event.pointerType === \"mouse\") return;\n clearLongPress();\n })\n },\n ...!isWeb && {\n onLongPress: disabled ? props.onLongPress : composeEventHandlers(props.onLongPress, (event) => {\n clearLongPress();\n const openChangeEvent = handleOpen(event);\n if (!openChangeEvent.defaultPrevented) {\n event.preventDefault();\n }\n })\n },\n children\n }\n )\n ] });\n }\n );\n ContextMenuTrigger.displayName = TRIGGER_NAME;\n const PORTAL_NAME = \"ContextMenuPortal\";\n const ContextMenuPortal = (props) => {\n const { scope, children, ...portalProps } = props;\n const context = isAndroid ? useContextMenuContext(scope) : null;\n const content = isAndroid ? /* @__PURE__ */ jsx(ContextMenuProvider, { ...context, children }) : children;\n return /* @__PURE__ */ jsx(Menu.Portal, { scope: scope || CONTEXTMENU_CONTEXT, ...portalProps, children: content });\n };\n ContextMenuPortal.displayName = PORTAL_NAME;\n const CONTENT_NAME = \"ContextMenuContent\";\n const ContextMenuContent = createStyledHOC(\n Menu.Content,\n (props, forwardedRef) => {\n const { scope, ...contentProps } = props;\n const context = useContextMenuContext(scope);\n const hasInteractedOutsideRef = React.useRef(false);\n return /* @__PURE__ */ jsx(\n Menu.Content,\n {\n id: context.contentId,\n \"aria-labelledby\": context.triggerId,\n scope: scope || CONTEXTMENU_CONTEXT,\n ...contentProps,\n ref: forwardedRef,\n onCloseAutoFocus: composeEventHandlers(props.onCloseAutoFocus, (event) => {\n if (!hasInteractedOutsideRef.current) context.triggerRef.current?.focus();\n hasInteractedOutsideRef.current = false;\n event.cancel();\n }),\n onInteractOutside: composeEventHandlers(props.onInteractOutside, (event) => {\n if (event.interaction !== \"pointer\" || !event.event) return;\n const originalEvent = event.event;\n const ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;\n const isRightClick = originalEvent.button === 2 || ctrlLeftClick;\n if (!context.modal || isRightClick) hasInteractedOutsideRef.current = true;\n })\n }\n );\n }\n );\n ContextMenuContent.displayName = CONTENT_NAME;\n const ITEM_NAME = \"ContextMenuItem\";\n const ContextMenuItem = createRefComponent((props, forwardedRef) => {\n const { scope, className, ...itemProps } = props;\n return /* @__PURE__ */ jsx(\n Menu.Item,\n {\n className: `is_${ITEM_NAME} ${className || \"\"}`.trim(),\n scope: scope || CONTEXTMENU_CONTEXT,\n ...itemProps,\n ref: forwardedRef\n }\n );\n });\n ContextMenuItem.displayName = ITEM_NAME;\n const CHECKBOX_ITEM_NAME = \"ContextMenuCheckboxItem\";\n const ContextMenuCheckboxItem = createRefComponent((props, forwardedRef) => {\n const { scope, className, ...checkboxItemProps } = props;\n return /* @__PURE__ */ jsx(\n Menu.CheckboxItem,\n {\n className: `is_${CHECKBOX_ITEM_NAME} ${className || \"\"}`.trim(),\n scope: scope || CONTEXTMENU_CONTEXT,\n ...checkboxItemProps,\n ref: forwardedRef\n }\n );\n });\n ContextMenuCheckboxItem.displayName = CHECKBOX_ITEM_NAME;\n const RADIO_GROUP_NAME = \"ContextMenuRadioGroup\";\n const ContextMenuRadioGroup = createRefComponent((props, forwardedRef) => {\n const { scope, ...radioGroupProps } = props;\n return /* @__PURE__ */ jsx(\n Menu.RadioGroup,\n {\n scope: scope || CONTEXTMENU_CONTEXT,\n ...radioGroupProps,\n ref: forwardedRef\n }\n );\n });\n ContextMenuRadioGroup.displayName = RADIO_GROUP_NAME;\n const RADIO_ITEM_NAME = \"ContextMenuRadioItem\";\n const ContextMenuRadioItem = createRefComponent((props, forwardedRef) => {\n const { scope, className, ...radioItemProps } = props;\n return /* @__PURE__ */ jsx(\n Menu.RadioItem,\n {\n className: `is_${RADIO_ITEM_NAME} ${className || \"\"}`.trim(),\n scope: scope || CONTEXTMENU_CONTEXT,\n ...radioItemProps,\n ref: forwardedRef\n }\n );\n });\n ContextMenuRadioItem.displayName = RADIO_ITEM_NAME;\n const INDICATOR_NAME = \"ContextMenuItemIndicator\";\n const ContextMenuItemIndicator = createStyledHOC(\n Menu.ItemIndicator,\n (props, forwardedRef) => {\n const { scope, className, ...itemIndicatorProps } = props;\n return /* @__PURE__ */ jsx(\n Menu.ItemIndicator,\n {\n className: `is_${INDICATOR_NAME} ${className || \"\"}`.trim(),\n scope: scope || CONTEXTMENU_CONTEXT,\n ...itemIndicatorProps,\n ref: forwardedRef\n }\n );\n }\n );\n ContextMenuItemIndicator.displayName = INDICATOR_NAME;\n const SUB_NAME = \"ContextMenuSub\";\n const ContextMenuSub = (props) => {\n const { scope, children, onOpenChange, open: openProp, defaultOpen, ...rest } = props;\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen,\n onChange: onOpenChange\n });\n return /* @__PURE__ */ jsx(\n Menu.Sub,\n {\n scope: scope || CONTEXTMENU_CONTEXT,\n open,\n onOpenChange: setOpen,\n ...rest,\n children\n }\n );\n };\n ContextMenuSub.displayName = SUB_NAME;\n const SUB_TRIGGER_NAME = \"ContextMenuSubTrigger\";\n const ContextMenuSubTrigger = createStyledHOC(\n View,\n (props, forwardedRef) => {\n const { scope, className, ...subTriggerProps } = props;\n return /* @__PURE__ */ jsx(\n Menu.SubTrigger,\n {\n className: `is_${SUB_TRIGGER_NAME} ${className || \"\"}`.trim(),\n scope: scope || CONTEXTMENU_CONTEXT,\n ...subTriggerProps,\n ref: forwardedRef\n }\n );\n }\n );\n ContextMenuSubTrigger.displayName = SUB_TRIGGER_NAME;\n const SUB_CONTENT_NAME = \"ContextMenuSubContent\";\n const ContextMenuSubContent = createStyledHOC(\n Menu.SubContent,\n (props, forwardedRef) => {\n const { scope, ...subContentProps } = props;\n return /* @__PURE__ */ jsx(\n Menu.SubContent,\n {\n scope: scope || CONTEXTMENU_CONTEXT,\n ...subContentProps,\n ref: forwardedRef,\n style: isWeb ? {\n ...props.style,\n ...{\n \"--tamagui-context-menu-content-transform-origin\": \"var(--tamagui-popper-transform-origin)\",\n \"--tamagui-context-menu-content-available-width\": \"var(--tamagui-popper-available-width)\",\n \"--tamagui-context-menu-content-available-height\": \"var(--tamagui-popper-available-height)\",\n \"--tamagui-context-menu-trigger-width\": \"var(--tamagui-popper-anchor-width)\",\n \"--tamagui-context-menu-trigger-height\": \"var(--tamagui-popper-anchor-height)\"\n }\n } : null\n }\n );\n }\n );\n ContextMenuSubContent.displayName = SUB_CONTENT_NAME;\n const ARROW_NAME = \"ContextMenuArrow\";\n const ContextMenuArrow = createRefComponent((props, forwardedRef) => {\n const { scope, className, ...arrowProps } = props;\n return /* @__PURE__ */ jsx(\n Menu.Arrow,\n {\n className: `is_${ARROW_NAME} ${className || \"\"}`.trim(),\n scope: scope || CONTEXTMENU_CONTEXT,\n ...arrowProps,\n ref: forwardedRef\n }\n );\n });\n ContextMenuArrow.displayName = ARROW_NAME;\n const ContextMenuGroup = Menu.Group;\n const ContextMenuLabel = Menu.Label;\n const ContextMenuSeparator = Menu.Separator;\n const ContextMenuItemTitle = Menu.ItemTitle;\n const ContextMenuItemSubTitle = Menu.ItemSubtitle;\n const ContextMenuItemImage = Menu.ItemImage;\n const ContextMenuItemIcon = Menu.ItemIcon;\n const ContextMenuPreview = () => null;\n return withStaticProperties(ContextMenuComp, {\n Root: ContextMenuComp,\n Trigger: ContextMenuTrigger,\n Portal: ContextMenuPortal,\n Content: ContextMenuContent,\n Group: ContextMenuGroup,\n Label: ContextMenuLabel,\n Item: ContextMenuItem,\n CheckboxItem: ContextMenuCheckboxItem,\n RadioGroup: ContextMenuRadioGroup,\n RadioItem: ContextMenuRadioItem,\n ItemIndicator: ContextMenuItemIndicator,\n Separator: ContextMenuSeparator,\n Arrow: ContextMenuArrow,\n Sub: ContextMenuSub,\n SubTrigger: ContextMenuSubTrigger,\n SubContent: ContextMenuSubContent,\n ItemTitle: ContextMenuItemTitle,\n ItemSubtitle: ContextMenuItemSubTitle,\n ItemIcon: ContextMenuItemIcon,\n ItemImage: ContextMenuItemImage,\n Preview: ContextMenuPreview\n });\n}\nexport {\n CONTEXTMENU_CONTEXT,\n createNonNativeContextMenu\n};\n//# sourceMappingURL=createNonNativeContextMenu.js.map\n"],"mappings":"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"}
1
+ {"version":3,"file":"createNonNativeContextMenu.js","names":[],"sources":["jsx/createNonNativeContextMenu.js"],"sourcesContent":["import { createRefComponent } from \"@tamagui/compose-refs\";\nimport { createBaseMenu } from \"@tamagui/create-menu\";\nimport { useControllableState } from \"@tamagui/use-controllable-state\";\nimport {\n createStyledHOC,\n composeEventHandlers,\n composeRefs,\n createStyledContext,\n isAndroid,\n isWeb,\n Slot,\n View,\n withStaticProperties\n} from \"@tamagui/web\";\nimport React, { useId } from \"react\";\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nconst CONTEXTMENU_CONTEXT = \"ContextMenuContext\";\nfunction createNonNativeContextMenu() {\n const { Menu } = createBaseMenu();\n const CONTEXT_MENU_NAME = \"ContextMenu\";\n const { Provider: ContextMenuProvider, useStyledContext: useContextMenuContext } = createStyledContext();\n const ContextMenuComp = (props) => {\n const {\n scope,\n children,\n onOpenChange,\n open: openProp,\n defaultOpen,\n dir,\n modal = true,\n ...rest\n } = props;\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen ?? false\n });\n const triggerRef = React.useRef(null);\n const handleOpenChange = React.useCallback(\n (open2, event) => {\n onOpenChange?.(open2, event);\n if (event?.defaultPrevented) return;\n setOpen(open2);\n },\n [onOpenChange, setOpen]\n );\n return /* @__PURE__ */ jsx(\n ContextMenuProvider,\n {\n scope,\n triggerId: useId(),\n triggerRef,\n contentId: useId(),\n open,\n onOpenChange: handleOpenChange,\n modal,\n children: /* @__PURE__ */ jsx(\n Menu,\n {\n scope: scope || CONTEXTMENU_CONTEXT,\n dir,\n open,\n onOpenChange: handleOpenChange,\n modal,\n ...rest,\n children\n }\n )\n }\n );\n };\n ContextMenuComp.displayName = CONTEXT_MENU_NAME;\n const TRIGGER_NAME = \"ContextMenuTrigger\";\n const ContextMenuTrigger = createStyledHOC(\n View,\n (props, forwardedRef) => {\n const {\n scope,\n style,\n className,\n disabled = false,\n asChild,\n children,\n ...triggerProps\n } = props;\n const context = useContextMenuContext(scope);\n const pointRef = React.useRef({ x: 0, y: 0 });\n const virtualRef = React.useMemo(\n () => ({\n current: {\n getBoundingClientRect: () => {\n if (isWeb) {\n const scrollX = window.scrollX || document.documentElement.scrollLeft;\n const scrollY = window.scrollY || document.documentElement.scrollTop;\n return DOMRect.fromRect({\n width: 0,\n height: 0,\n x: pointRef.current.x - scrollX,\n y: pointRef.current.y - scrollY\n });\n }\n return { width: 0, height: 0, top: 0, left: 0, ...pointRef.current };\n },\n ...!isWeb && {\n measure: (c) => c(pointRef.current.x, pointRef.current.y, 0, 0),\n measureInWindow: (c) => c(pointRef.current.x, pointRef.current.y, 0, 0)\n }\n }\n }),\n [pointRef.current.x, pointRef.current.y]\n );\n const longPressTimerRef = React.useRef(0);\n const clearLongPress = React.useCallback(\n () => window.clearTimeout(longPressTimerRef.current),\n []\n );\n const createOpenChangeEvent = () => {\n let defaultPrevented = false;\n return {\n get defaultPrevented() {\n return defaultPrevented;\n },\n preventDefault() {\n defaultPrevented = true;\n }\n };\n };\n const handleOpen = (event) => {\n if (isWeb && (event instanceof MouseEvent || event instanceof PointerEvent)) {\n pointRef.current = { x: event.clientX, y: event.clientY };\n } else {\n pointRef.current = {\n x: event.nativeEvent.pageX,\n y: event.nativeEvent.pageY\n };\n }\n const openChangeEvent = createOpenChangeEvent();\n context.onOpenChange(true, openChangeEvent);\n return openChangeEvent;\n };\n React.useEffect(() => clearLongPress, [clearLongPress]);\n React.useEffect(\n () => void (disabled && clearLongPress()),\n [disabled, clearLongPress]\n );\n const Comp = asChild ? Slot : View;\n return /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(Menu.Anchor, { scope: scope || CONTEXTMENU_CONTEXT, virtualRef }),\n /* @__PURE__ */ jsx(\n Comp,\n {\n render: \"span\",\n className: `is_${TRIGGER_NAME} ${className || \"\"}`.trim(),\n id: context.triggerId,\n \"data-state\": context.open ? \"open\" : \"closed\",\n \"data-disabled\": disabled ? \"\" : void 0,\n ...triggerProps,\n ref: composeRefs(forwardedRef, context.triggerRef),\n style: isWeb ? { WebkitTouchCallout: \"none\", ...style } : style,\n ...isWeb && {\n onContextMenu: disabled ? props.onContextMenu : composeEventHandlers(props.onContextMenu, (event) => {\n clearLongPress();\n const openChangeEvent = handleOpen(event);\n if (!openChangeEvent.defaultPrevented) {\n event.preventDefault();\n }\n }),\n onPointerDown: disabled ? props.onPointerDown : composeEventHandlers(props.onPointerDown, (event) => {\n if (event.pointerType === \"mouse\") return;\n clearLongPress();\n longPressTimerRef.current = window.setTimeout(\n () => handleOpen(event),\n 700\n );\n }),\n onPointerMove: disabled ? props.onPointerMove : composeEventHandlers(props.onPointerMove, (event) => {\n if (event.pointerType === \"mouse\") return;\n clearLongPress();\n }),\n onPointerCancel: disabled ? props.onPointerCancel : composeEventHandlers(props.onPointerCancel, (event) => {\n if (event.pointerType === \"mouse\") return;\n clearLongPress();\n }),\n onPointerUp: disabled ? props.onPointerUp : composeEventHandlers(props.onPointerUp, (event) => {\n if (event.pointerType === \"mouse\") return;\n clearLongPress();\n })\n },\n ...!isWeb && {\n onLongPress: disabled ? props.onLongPress : composeEventHandlers(props.onLongPress, (event) => {\n clearLongPress();\n const openChangeEvent = handleOpen(event);\n if (!openChangeEvent.defaultPrevented) {\n event.preventDefault();\n }\n })\n },\n children\n }\n )\n ] });\n }\n );\n ContextMenuTrigger.displayName = TRIGGER_NAME;\n const PORTAL_NAME = \"ContextMenuPortal\";\n const ContextMenuPortal = (props) => {\n const { scope, children, ...portalProps } = props;\n const context = isAndroid ? useContextMenuContext(scope) : null;\n const content = isAndroid ? /* @__PURE__ */ jsx(ContextMenuProvider, { ...context, children }) : children;\n return /* @__PURE__ */ jsx(Menu.Portal, { scope: scope || CONTEXTMENU_CONTEXT, ...portalProps, children: content });\n };\n ContextMenuPortal.displayName = PORTAL_NAME;\n const CONTENT_NAME = \"ContextMenuContent\";\n const ContextMenuContent = createStyledHOC(\n Menu.Content,\n (props, forwardedRef) => {\n const { scope, ...contentProps } = props;\n const context = useContextMenuContext(scope);\n const hasInteractedOutsideRef = React.useRef(false);\n return /* @__PURE__ */ jsx(\n Menu.Content,\n {\n id: context.contentId,\n \"aria-labelledby\": context.triggerId,\n scope: scope || CONTEXTMENU_CONTEXT,\n ...contentProps,\n ref: forwardedRef,\n onCloseAutoFocus: composeEventHandlers(props.onCloseAutoFocus, (event) => {\n if (!hasInteractedOutsideRef.current) context.triggerRef.current?.focus();\n hasInteractedOutsideRef.current = false;\n event.cancel();\n }),\n onInteractOutside: composeEventHandlers(props.onInteractOutside, (event) => {\n if (event.interaction !== \"pointer\" || !event.event) return;\n const originalEvent = event.event;\n const ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;\n const isRightClick = originalEvent.button === 2 || ctrlLeftClick;\n if (!context.modal || isRightClick) hasInteractedOutsideRef.current = true;\n })\n }\n );\n }\n );\n ContextMenuContent.displayName = CONTENT_NAME;\n const ITEM_NAME = \"ContextMenuItem\";\n const ContextMenuItem = createRefComponent((props, forwardedRef) => {\n const { scope, className, ...itemProps } = props;\n return /* @__PURE__ */ jsx(\n Menu.Item,\n {\n className: `is_${ITEM_NAME} ${className || \"\"}`.trim(),\n scope: scope || CONTEXTMENU_CONTEXT,\n ...itemProps,\n ref: forwardedRef\n }\n );\n });\n ContextMenuItem.displayName = ITEM_NAME;\n const CHECKBOX_ITEM_NAME = \"ContextMenuCheckboxItem\";\n const ContextMenuCheckboxItem = createRefComponent((props, forwardedRef) => {\n const { scope, className, ...checkboxItemProps } = props;\n return /* @__PURE__ */ jsx(\n Menu.CheckboxItem,\n {\n className: `is_${CHECKBOX_ITEM_NAME} ${className || \"\"}`.trim(),\n scope: scope || CONTEXTMENU_CONTEXT,\n ...checkboxItemProps,\n ref: forwardedRef\n }\n );\n });\n ContextMenuCheckboxItem.displayName = CHECKBOX_ITEM_NAME;\n const RADIO_GROUP_NAME = \"ContextMenuRadioGroup\";\n const ContextMenuRadioGroup = createRefComponent((props, forwardedRef) => {\n const { scope, ...radioGroupProps } = props;\n return /* @__PURE__ */ jsx(\n Menu.RadioGroup,\n {\n scope: scope || CONTEXTMENU_CONTEXT,\n ...radioGroupProps,\n ref: forwardedRef\n }\n );\n });\n ContextMenuRadioGroup.displayName = RADIO_GROUP_NAME;\n const RADIO_ITEM_NAME = \"ContextMenuRadioItem\";\n const ContextMenuRadioItem = createRefComponent((props, forwardedRef) => {\n const { scope, className, ...radioItemProps } = props;\n return /* @__PURE__ */ jsx(\n Menu.RadioItem,\n {\n className: `is_${RADIO_ITEM_NAME} ${className || \"\"}`.trim(),\n scope: scope || CONTEXTMENU_CONTEXT,\n ...radioItemProps,\n ref: forwardedRef\n }\n );\n });\n ContextMenuRadioItem.displayName = RADIO_ITEM_NAME;\n const INDICATOR_NAME = \"ContextMenuItemIndicator\";\n const ContextMenuItemIndicator = createStyledHOC(\n Menu.ItemIndicator,\n (props, forwardedRef) => {\n const { scope, className, ...itemIndicatorProps } = props;\n return /* @__PURE__ */ jsx(\n Menu.ItemIndicator,\n {\n className: `is_${INDICATOR_NAME} ${className || \"\"}`.trim(),\n scope: scope || CONTEXTMENU_CONTEXT,\n ...itemIndicatorProps,\n ref: forwardedRef\n }\n );\n }\n );\n ContextMenuItemIndicator.displayName = INDICATOR_NAME;\n const SUB_NAME = \"ContextMenuSub\";\n const ContextMenuSub = (props) => {\n const { scope, children, onOpenChange, open: openProp, defaultOpen, ...rest } = props;\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen,\n onChange: onOpenChange\n });\n return /* @__PURE__ */ jsx(\n Menu.Sub,\n {\n scope: scope || CONTEXTMENU_CONTEXT,\n open,\n onOpenChange: setOpen,\n ...rest,\n children\n }\n );\n };\n ContextMenuSub.displayName = SUB_NAME;\n const SUB_TRIGGER_NAME = \"ContextMenuSubTrigger\";\n const ContextMenuSubTrigger = createStyledHOC(\n View,\n (props, forwardedRef) => {\n const { scope, className, ...subTriggerProps } = props;\n return /* @__PURE__ */ jsx(\n Menu.SubTrigger,\n {\n className: `is_${SUB_TRIGGER_NAME} ${className || \"\"}`.trim(),\n scope: scope || CONTEXTMENU_CONTEXT,\n ...subTriggerProps,\n ref: forwardedRef\n }\n );\n }\n );\n ContextMenuSubTrigger.displayName = SUB_TRIGGER_NAME;\n const SUB_CONTENT_NAME = \"ContextMenuSubContent\";\n const ContextMenuSubContent = createStyledHOC(\n Menu.SubContent,\n (props, forwardedRef) => {\n const { scope, ...subContentProps } = props;\n return /* @__PURE__ */ jsx(\n Menu.SubContent,\n {\n scope: scope || CONTEXTMENU_CONTEXT,\n ...subContentProps,\n ref: forwardedRef,\n style: isWeb ? {\n ...props.style,\n ...{\n \"--tamagui-context-menu-content-transform-origin\": \"var(--tamagui-popper-transform-origin)\",\n \"--tamagui-context-menu-content-available-width\": \"var(--tamagui-popper-available-width)\",\n \"--tamagui-context-menu-content-available-height\": \"var(--tamagui-popper-available-height)\",\n \"--tamagui-context-menu-trigger-width\": \"var(--tamagui-popper-anchor-width)\",\n \"--tamagui-context-menu-trigger-height\": \"var(--tamagui-popper-anchor-height)\"\n }\n } : null\n }\n );\n }\n );\n ContextMenuSubContent.displayName = SUB_CONTENT_NAME;\n const ARROW_NAME = \"ContextMenuArrow\";\n const ContextMenuArrow = createRefComponent((props, forwardedRef) => {\n const { scope, className, ...arrowProps } = props;\n return /* @__PURE__ */ jsx(\n Menu.Arrow,\n {\n className: `is_${ARROW_NAME} ${className || \"\"}`.trim(),\n scope: scope || CONTEXTMENU_CONTEXT,\n ...arrowProps,\n ref: forwardedRef\n }\n );\n });\n ContextMenuArrow.displayName = ARROW_NAME;\n const ContextMenuGroup = Menu.Group;\n const ContextMenuLabel = Menu.Label;\n const ContextMenuSeparator = Menu.Separator;\n const ContextMenuItemTitle = Menu.ItemTitle;\n const ContextMenuItemSubTitle = Menu.ItemSubtitle;\n const ContextMenuItemImage = Menu.ItemImage;\n const ContextMenuItemIcon = Menu.ItemIcon;\n const ContextMenuPreview = () => null;\n return withStaticProperties(ContextMenuComp, {\n Root: ContextMenuComp,\n Trigger: ContextMenuTrigger,\n Portal: ContextMenuPortal,\n Content: ContextMenuContent,\n Group: ContextMenuGroup,\n Label: ContextMenuLabel,\n Item: ContextMenuItem,\n CheckboxItem: ContextMenuCheckboxItem,\n RadioGroup: ContextMenuRadioGroup,\n RadioItem: ContextMenuRadioItem,\n ItemIndicator: ContextMenuItemIndicator,\n Separator: ContextMenuSeparator,\n Arrow: ContextMenuArrow,\n Sub: ContextMenuSub,\n SubTrigger: ContextMenuSubTrigger,\n SubContent: ContextMenuSubContent,\n ItemTitle: ContextMenuItemTitle,\n ItemSubtitle: ContextMenuItemSubTitle,\n ItemIcon: ContextMenuItemIcon,\n ItemImage: ContextMenuItemImage,\n Preview: ContextMenuPreview\n });\n}\nexport {\n CONTEXTMENU_CONTEXT,\n createNonNativeContextMenu\n};\n//# sourceMappingURL=createNonNativeContextMenu.js.map\n"],"mappings":"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"}