@hanzogui/context-menu 7.0.0 → 7.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/dist/cjs/ContextMenu.cjs +185 -0
  2. package/dist/cjs/ContextMenu.native.js +193 -0
  3. package/dist/cjs/ContextMenu.native.js.map +1 -0
  4. package/dist/cjs/createNonNativeContextMenu.cjs +443 -0
  5. package/dist/cjs/createNonNativeContextMenu.native.js +470 -0
  6. package/dist/cjs/createNonNativeContextMenu.native.js.map +1 -0
  7. package/dist/cjs/index.cjs +41 -0
  8. package/dist/cjs/index.native.js +44 -0
  9. package/dist/cjs/index.native.js.map +1 -0
  10. package/dist/esm/ContextMenu.mjs +149 -0
  11. package/dist/esm/ContextMenu.mjs.map +1 -0
  12. package/dist/esm/ContextMenu.native.js +154 -0
  13. package/dist/esm/ContextMenu.native.js.map +1 -0
  14. package/dist/esm/createNonNativeContextMenu.mjs +406 -0
  15. package/dist/esm/createNonNativeContextMenu.mjs.map +1 -0
  16. package/dist/esm/createNonNativeContextMenu.native.js +430 -0
  17. package/dist/esm/createNonNativeContextMenu.native.js.map +1 -0
  18. package/dist/esm/index.js +15 -0
  19. package/dist/esm/index.js.map +1 -0
  20. package/dist/esm/index.mjs +15 -0
  21. package/dist/esm/index.mjs.map +1 -0
  22. package/dist/esm/index.native.js +15 -0
  23. package/dist/esm/index.native.js.map +1 -0
  24. package/dist/jsx/ContextMenu.mjs +149 -0
  25. package/dist/jsx/ContextMenu.mjs.map +1 -0
  26. package/dist/jsx/ContextMenu.native.js +193 -0
  27. package/dist/jsx/ContextMenu.native.js.map +1 -0
  28. package/dist/jsx/createNonNativeContextMenu.mjs +406 -0
  29. package/dist/jsx/createNonNativeContextMenu.mjs.map +1 -0
  30. package/dist/jsx/createNonNativeContextMenu.native.js +470 -0
  31. package/dist/jsx/createNonNativeContextMenu.native.js.map +1 -0
  32. package/dist/jsx/index.js +15 -0
  33. package/dist/jsx/index.js.map +1 -0
  34. package/dist/jsx/index.mjs +15 -0
  35. package/dist/jsx/index.mjs.map +1 -0
  36. package/dist/jsx/index.native.js +44 -0
  37. package/dist/jsx/index.native.js.map +1 -0
  38. package/package.json +15 -13
  39. package/src/createNonNativeContextMenu.tsx +17 -17
  40. package/types/ContextMenu.d.ts +26 -26
  41. package/types/ContextMenu.d.ts.map +1 -0
  42. package/types/createNonNativeContextMenu.d.ts +41 -41
  43. package/types/createNonNativeContextMenu.d.ts.map +1 -0
  44. package/types/index.d.ts +26 -26
  45. package/types/index.d.ts.map +1 -0
@@ -0,0 +1,193 @@
1
+ "use strict";
2
+
3
+ var __create = Object.create;
4
+ var __defProp = Object.defineProperty;
5
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
+ var __getOwnPropNames = Object.getOwnPropertyNames;
7
+ var __getProtoOf = Object.getPrototypeOf;
8
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
9
+ var __export = (target, all) => {
10
+ for (var name in all) __defProp(target, name, {
11
+ get: all[name],
12
+ enumerable: true
13
+ });
14
+ };
15
+ var __copyProps = (to, from, except, desc) => {
16
+ if (from && typeof from === "object" || typeof from === "function") {
17
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
18
+ get: () => from[key],
19
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
20
+ });
21
+ }
22
+ return to;
23
+ };
24
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
25
+ // If the importer is in node compatibility mode or this is not an ESM
26
+ // file that has been converted to a CommonJS file using a Babel-
27
+ // compatible transform (i.e. "__esModule" has not been set), then set
28
+ // "default" to the CommonJS "module.exports" for node compatibility.
29
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
30
+ value: mod,
31
+ enumerable: true
32
+ }) : target, mod));
33
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
34
+ value: true
35
+ }), mod);
36
+ var ContextMenu_exports = {};
37
+ __export(ContextMenu_exports, {
38
+ createContextMenu: () => createContextMenu
39
+ });
40
+ module.exports = __toCommonJS(ContextMenu_exports);
41
+ var import_create_menu = require("@hanzogui/create-menu");
42
+ var import_web = require("@hanzogui/web");
43
+ var import_react = __toESM(require("react"), 1);
44
+ var import_createNonNativeContextMenu = require("./createNonNativeContextMenu.native.js");
45
+ var COMMON_PARAMS = {
46
+ isRoot: false,
47
+ scope: import_createNonNativeContextMenu.CONTEXTMENU_CONTEXT
48
+ };
49
+ function createContextMenu(param) {
50
+ var {
51
+ Menu: NativeMenuRoot
52
+ } = (0, import_create_menu.createNativeMenu)("ContextMenu");
53
+ var NonNativeContextMenu = (0, import_createNonNativeContextMenu.createNonNativeContextMenu)(param);
54
+ var ContextMenuComp = (0, import_create_menu.withNativeMenu)({
55
+ ...COMMON_PARAMS,
56
+ Component: NonNativeContextMenu.Root,
57
+ NativeComponent: NativeMenuRoot,
58
+ isRoot: true
59
+ });
60
+ var Trigger = (0, import_create_menu.withNativeMenu)({
61
+ ...COMMON_PARAMS,
62
+ Component: NonNativeContextMenu.Trigger,
63
+ NativeComponent: NativeMenuRoot.Trigger
64
+ });
65
+ var Portal = (0, import_create_menu.withNativeMenu)({
66
+ ...COMMON_PARAMS,
67
+ Component: NonNativeContextMenu.Portal,
68
+ NativeComponent: import_react.default.Fragment
69
+ });
70
+ var Content = (0, import_create_menu.withNativeMenu)({
71
+ ...COMMON_PARAMS,
72
+ Component: NonNativeContextMenu.Content,
73
+ NativeComponent: NativeMenuRoot.Content
74
+ });
75
+ var Preview = (0, import_create_menu.withNativeMenu)({
76
+ ...COMMON_PARAMS,
77
+ Component: NonNativeContextMenu.Preview,
78
+ NativeComponent: NativeMenuRoot.Preview
79
+ });
80
+ var Group = (0, import_create_menu.withNativeMenu)({
81
+ ...COMMON_PARAMS,
82
+ Component: NonNativeContextMenu.Group,
83
+ NativeComponent: NativeMenuRoot.Group
84
+ });
85
+ var Label = (0, import_create_menu.withNativeMenu)({
86
+ ...COMMON_PARAMS,
87
+ Component: NonNativeContextMenu.Label,
88
+ NativeComponent: NativeMenuRoot.Label
89
+ });
90
+ var Item = (0, import_create_menu.withNativeMenu)({
91
+ ...COMMON_PARAMS,
92
+ Component: NonNativeContextMenu.Item,
93
+ NativeComponent: NativeMenuRoot.Item
94
+ });
95
+ var ItemTitle = (0, import_create_menu.withNativeMenu)({
96
+ ...COMMON_PARAMS,
97
+ Component: NonNativeContextMenu.ItemTitle,
98
+ NativeComponent: NativeMenuRoot.ItemTitle
99
+ });
100
+ var ItemSubtitle = (0, import_create_menu.withNativeMenu)({
101
+ ...COMMON_PARAMS,
102
+ Component: NonNativeContextMenu.ItemSubtitle,
103
+ NativeComponent: NativeMenuRoot.ItemSubtitle
104
+ });
105
+ var ItemIcon = (0, import_create_menu.withNativeMenu)({
106
+ ...COMMON_PARAMS,
107
+ Component: NonNativeContextMenu.ItemIcon,
108
+ NativeComponent: NativeMenuRoot.ItemIcon
109
+ });
110
+ var ItemImage = (0, import_create_menu.withNativeMenu)({
111
+ ...COMMON_PARAMS,
112
+ Component: NonNativeContextMenu.ItemImage,
113
+ NativeComponent: NativeMenuRoot.ItemImage
114
+ });
115
+ var CheckboxItem = (0, import_create_menu.withNativeMenu)({
116
+ ...COMMON_PARAMS,
117
+ Component: NonNativeContextMenu.CheckboxItem,
118
+ NativeComponent: NativeMenuRoot.CheckboxItem
119
+ });
120
+ var RadioGroup = (0, import_create_menu.withNativeMenu)({
121
+ ...COMMON_PARAMS,
122
+ Component: NonNativeContextMenu.RadioGroup,
123
+ NativeComponent: function () {
124
+ return null;
125
+ }
126
+ });
127
+ var RadioItem = (0, import_create_menu.withNativeMenu)({
128
+ ...COMMON_PARAMS,
129
+ Component: NonNativeContextMenu.RadioItem,
130
+ NativeComponent: function (param2) {
131
+ var {
132
+ children
133
+ } = param2;
134
+ return children;
135
+ }
136
+ });
137
+ var ItemIndicator = (0, import_create_menu.withNativeMenu)({
138
+ ...COMMON_PARAMS,
139
+ Component: NonNativeContextMenu.ItemIndicator,
140
+ NativeComponent: NativeMenuRoot.ItemIndicator
141
+ });
142
+ var Separator = (0, import_create_menu.withNativeMenu)({
143
+ ...COMMON_PARAMS,
144
+ Component: NonNativeContextMenu.Separator,
145
+ NativeComponent: NativeMenuRoot.Separator
146
+ });
147
+ var Arrow = (0, import_create_menu.withNativeMenu)({
148
+ ...COMMON_PARAMS,
149
+ Component: NonNativeContextMenu.Arrow,
150
+ NativeComponent: NativeMenuRoot.Arrow
151
+ });
152
+ var Sub = (0, import_create_menu.withNativeMenu)({
153
+ ...COMMON_PARAMS,
154
+ Component: NonNativeContextMenu.Sub,
155
+ NativeComponent: NativeMenuRoot.Sub
156
+ });
157
+ var SubTrigger = (0, import_create_menu.withNativeMenu)({
158
+ ...COMMON_PARAMS,
159
+ Component: NonNativeContextMenu.SubTrigger,
160
+ NativeComponent: NativeMenuRoot.SubTrigger
161
+ });
162
+ var SubContent = (0, import_create_menu.withNativeMenu)({
163
+ ...COMMON_PARAMS,
164
+ Component: NonNativeContextMenu.SubContent,
165
+ NativeComponent: NativeMenuRoot.SubContent
166
+ });
167
+ var ContextMenu = (0, import_web.withStaticProperties)(ContextMenuComp, {
168
+ Trigger,
169
+ Portal,
170
+ Content,
171
+ Group,
172
+ Label,
173
+ Item,
174
+ CheckboxItem,
175
+ RadioGroup,
176
+ RadioItem,
177
+ ItemIndicator,
178
+ Separator,
179
+ Arrow,
180
+ Sub,
181
+ // cast to React.FC to avoid TS error
182
+ SubTrigger,
183
+ SubContent,
184
+ ItemTitle,
185
+ ItemSubtitle,
186
+ // cast to React.FC to avoid TS error
187
+ ItemIcon,
188
+ ItemImage,
189
+ Preview
190
+ });
191
+ return ContextMenu;
192
+ }
193
+ //# sourceMappingURL=ContextMenu.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__create","Object","create","__defProp","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__getProtoOf","getPrototypeOf","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toESM","mod","isNodeMode","__esModule","value","__toCommonJS","ContextMenu_exports","createContextMenu","module","exports","import_create_menu","require","import_web","import_react","import_createNonNativeContextMenu","COMMON_PARAMS","isRoot","scope","CONTEXTMENU_CONTEXT","param","Menu","NativeMenuRoot","createNativeMenu","NonNativeContextMenu","createNonNativeContextMenu","ContextMenuComp","withNativeMenu","Component","Root","NativeComponent","Trigger","Portal","default","Fragment","Content","Preview","Group","Label","Item","ItemTitle","ItemSubtitle","ItemIcon","ItemImage","CheckboxItem","RadioGroup","RadioItem","param2","children","ItemIndicator","Separator","Arrow","Sub","SubTrigger"],"sources":["../../src/ContextMenu.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,406 @@
1
+ import { createBaseMenu } from "@hanzogui/create-menu";
2
+ import { useControllableState } from "@hanzogui/use-controllable-state";
3
+ import { composeEventHandlers, composeRefs, createStyledContext, isAndroid, isWeb, Slot, View, withStaticProperties } from "@hanzogui/web";
4
+ import React, { useId } from "react";
5
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
6
+ const CONTEXTMENU_CONTEXT = "ContextMenuContext";
7
+ function createNonNativeContextMenu(params) {
8
+ const {
9
+ Menu
10
+ } = createBaseMenu(params);
11
+ const CONTEXT_MENU_NAME = "ContextMenu";
12
+ const {
13
+ Provider: ContextMenuProvider,
14
+ useStyledContext: useContextMenuContext
15
+ } = createStyledContext();
16
+ const ContextMenuComp = props => {
17
+ const {
18
+ scope,
19
+ children,
20
+ onOpenChange,
21
+ dir,
22
+ modal = true,
23
+ ...rest
24
+ } = props;
25
+ const [open, setOpen] = React.useState(false);
26
+ const triggerRef = React.useRef(null);
27
+ const handleOpenChange = React.useCallback((open2, event) => {
28
+ onOpenChange?.(open2, event);
29
+ if (event?.defaultPrevented) return;
30
+ setOpen(open2);
31
+ }, [onOpenChange]);
32
+ return /* @__PURE__ */jsx(ContextMenuProvider, {
33
+ scope,
34
+ triggerId: useId(),
35
+ triggerRef,
36
+ contentId: useId(),
37
+ open,
38
+ onOpenChange: handleOpenChange,
39
+ modal,
40
+ children: /* @__PURE__ */jsx(Menu, {
41
+ scope: scope || CONTEXTMENU_CONTEXT,
42
+ dir,
43
+ open,
44
+ onOpenChange: handleOpenChange,
45
+ modal,
46
+ ...rest,
47
+ children
48
+ })
49
+ });
50
+ };
51
+ ContextMenuComp.displayName = CONTEXT_MENU_NAME;
52
+ const TRIGGER_NAME = "ContextMenuTrigger";
53
+ const ContextMenuTrigger = View.styleable((props, forwardedRef) => {
54
+ const {
55
+ scope,
56
+ style,
57
+ disabled = false,
58
+ asChild,
59
+ children,
60
+ ...triggerProps
61
+ } = props;
62
+ const context = useContextMenuContext(scope);
63
+ const pointRef = React.useRef({
64
+ x: 0,
65
+ y: 0
66
+ });
67
+ const virtualRef = React.useMemo(() => ({
68
+ current: {
69
+ getBoundingClientRect: () => {
70
+ if (isWeb) {
71
+ const scrollX = window.scrollX || document.documentElement.scrollLeft;
72
+ const scrollY = window.scrollY || document.documentElement.scrollTop;
73
+ return DOMRect.fromRect({
74
+ width: 0,
75
+ height: 0,
76
+ x: pointRef.current.x - scrollX,
77
+ y: pointRef.current.y - scrollY
78
+ });
79
+ }
80
+ return {
81
+ width: 0,
82
+ height: 0,
83
+ top: 0,
84
+ left: 0,
85
+ ...pointRef.current
86
+ };
87
+ },
88
+ ...(!isWeb && {
89
+ measure: c => c(pointRef.current.x, pointRef.current.y, 0, 0),
90
+ measureInWindow: c => c(pointRef.current.x, pointRef.current.y, 0, 0)
91
+ })
92
+ }
93
+ }), [pointRef.current.x, pointRef.current.y]);
94
+ const longPressTimerRef = React.useRef(0);
95
+ const clearLongPress = React.useCallback(() => window.clearTimeout(longPressTimerRef.current), []);
96
+ const createOpenChangeEvent = () => {
97
+ let defaultPrevented = false;
98
+ return {
99
+ get defaultPrevented() {
100
+ return defaultPrevented;
101
+ },
102
+ preventDefault() {
103
+ defaultPrevented = true;
104
+ }
105
+ };
106
+ };
107
+ const handleOpen = event => {
108
+ if (isWeb && (event instanceof MouseEvent || event instanceof PointerEvent)) {
109
+ pointRef.current = {
110
+ x: event.clientX,
111
+ y: event.clientY
112
+ };
113
+ } else {
114
+ pointRef.current = {
115
+ x: event.nativeEvent.pageX,
116
+ y: event.nativeEvent.pageY
117
+ };
118
+ }
119
+ const openChangeEvent = createOpenChangeEvent();
120
+ context.onOpenChange(true, openChangeEvent);
121
+ return openChangeEvent;
122
+ };
123
+ React.useEffect(() => clearLongPress, [clearLongPress]);
124
+ React.useEffect(() => void (disabled && clearLongPress()), [disabled, clearLongPress]);
125
+ const Comp = asChild ? Slot : View;
126
+ return /* @__PURE__ */jsxs(Fragment, {
127
+ children: [/* @__PURE__ */jsx(Menu.Anchor, {
128
+ scope: scope || CONTEXTMENU_CONTEXT,
129
+ virtualRef
130
+ }), /* @__PURE__ */jsx(Comp, {
131
+ render: "span",
132
+ componentName: TRIGGER_NAME,
133
+ id: context.triggerId,
134
+ "data-state": context.open ? "open" : "closed",
135
+ "data-disabled": disabled ? "" : void 0,
136
+ ...triggerProps,
137
+ ref: composeRefs(forwardedRef, context.triggerRef),
138
+ style: isWeb ? {
139
+ WebkitTouchCallout: "none",
140
+ ...style
141
+ } : null,
142
+ ...(isWeb && {
143
+ onContextMenu: disabled ? props.onContextMenu : composeEventHandlers(props.onContextMenu, event => {
144
+ clearLongPress();
145
+ const openChangeEvent = handleOpen(event);
146
+ if (!openChangeEvent.defaultPrevented) {
147
+ event.preventDefault();
148
+ }
149
+ }),
150
+ onPointerDown: disabled ? props.onPointerDown : composeEventHandlers(props.onPointerDown, event => {
151
+ if (event.pointerType === "mouse") return;
152
+ clearLongPress();
153
+ longPressTimerRef.current = window.setTimeout(() => handleOpen(event), 700);
154
+ }),
155
+ onPointerMove: disabled ? props.onPointerMove : composeEventHandlers(props.onPointerMove, event => {
156
+ if (event.pointerType === "mouse") return;
157
+ clearLongPress();
158
+ }),
159
+ onPointerCancel: disabled ? props.onPointerCancel : composeEventHandlers(props.onPointerCancel, event => {
160
+ if (event.pointerType === "mouse") return;
161
+ clearLongPress();
162
+ }),
163
+ onPointerUp: disabled ? props.onPointerUp : composeEventHandlers(props.onPointerUp, event => {
164
+ if (event.pointerType === "mouse") return;
165
+ clearLongPress();
166
+ })
167
+ }),
168
+ ...(!isWeb && {
169
+ onLongPress: disabled ? props.onLongPress : composeEventHandlers(props.onLongPress, event => {
170
+ clearLongPress();
171
+ const openChangeEvent = handleOpen(event);
172
+ if (!openChangeEvent.defaultPrevented) {
173
+ event.preventDefault();
174
+ }
175
+ })
176
+ }),
177
+ children
178
+ })]
179
+ });
180
+ });
181
+ ContextMenuTrigger.displayName = TRIGGER_NAME;
182
+ const PORTAL_NAME = "ContextMenuPortal";
183
+ const ContextMenuPortal = props => {
184
+ const {
185
+ scope,
186
+ children,
187
+ ...portalProps
188
+ } = props;
189
+ const context = isAndroid ? useContextMenuContext(scope) : null;
190
+ const content = isAndroid ? /* @__PURE__ */jsx(ContextMenuProvider, {
191
+ ...context,
192
+ children
193
+ }) : children;
194
+ return /* @__PURE__ */jsx(Menu.Portal, {
195
+ scope: scope || CONTEXTMENU_CONTEXT,
196
+ ...portalProps,
197
+ children: content
198
+ });
199
+ };
200
+ ContextMenuPortal.displayName = PORTAL_NAME;
201
+ const CONTENT_NAME = "ContextMenuContent";
202
+ const ContextMenuContent = React.forwardRef((props, forwardedRef) => {
203
+ const {
204
+ scope,
205
+ ...contentProps
206
+ } = props;
207
+ const context = useContextMenuContext(scope);
208
+ const hasInteractedOutsideRef = React.useRef(false);
209
+ return /* @__PURE__ */jsx(Menu.Content, {
210
+ id: context.contentId,
211
+ "aria-labelledby": context.triggerId,
212
+ scope: scope || CONTEXTMENU_CONTEXT,
213
+ ...contentProps,
214
+ ref: forwardedRef,
215
+ onCloseAutoFocus: composeEventHandlers(props.onCloseAutoFocus, event => {
216
+ if (!hasInteractedOutsideRef.current) context.triggerRef.current?.focus();
217
+ hasInteractedOutsideRef.current = false;
218
+ event.preventDefault();
219
+ }),
220
+ onInteractOutside: composeEventHandlers(props.onInteractOutside, event => {
221
+ const originalEvent = event.detail.originalEvent;
222
+ const ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;
223
+ const isRightClick = originalEvent.button === 2 || ctrlLeftClick;
224
+ if (!context.modal || isRightClick) hasInteractedOutsideRef.current = true;
225
+ })
226
+ });
227
+ });
228
+ ContextMenuContent.displayName = CONTENT_NAME;
229
+ const ITEM_NAME = "ContextMenuItem";
230
+ const ContextMenuItem = React.forwardRef((props, forwardedRef) => {
231
+ const {
232
+ scope,
233
+ ...itemProps
234
+ } = props;
235
+ return /* @__PURE__ */jsx(Menu.Item, {
236
+ componentName: ITEM_NAME,
237
+ scope: scope || CONTEXTMENU_CONTEXT,
238
+ ...itemProps,
239
+ ref: forwardedRef
240
+ });
241
+ });
242
+ ContextMenuItem.displayName = ITEM_NAME;
243
+ const CHECKBOX_ITEM_NAME = "ContextMenuCheckboxItem";
244
+ const ContextMenuCheckboxItem = React.forwardRef((props, forwardedRef) => {
245
+ const {
246
+ scope,
247
+ ...checkboxItemProps
248
+ } = props;
249
+ return /* @__PURE__ */jsx(Menu.CheckboxItem, {
250
+ componentName: CHECKBOX_ITEM_NAME,
251
+ scope: scope || CONTEXTMENU_CONTEXT,
252
+ ...checkboxItemProps,
253
+ ref: forwardedRef
254
+ });
255
+ });
256
+ ContextMenuCheckboxItem.displayName = CHECKBOX_ITEM_NAME;
257
+ const RADIO_GROUP_NAME = "ContextMenuRadioGroup";
258
+ const ContextMenuRadioGroup = React.forwardRef((props, forwardedRef) => {
259
+ const {
260
+ scope,
261
+ ...radioGroupProps
262
+ } = props;
263
+ return /* @__PURE__ */jsx(Menu.RadioGroup, {
264
+ scope: scope || CONTEXTMENU_CONTEXT,
265
+ ...radioGroupProps,
266
+ ref: forwardedRef
267
+ });
268
+ });
269
+ ContextMenuRadioGroup.displayName = RADIO_GROUP_NAME;
270
+ const RADIO_ITEM_NAME = "ContextMenuRadioItem";
271
+ const ContextMenuRadioItem = React.forwardRef((props, forwardedRef) => {
272
+ const {
273
+ scope,
274
+ ...radioItemProps
275
+ } = props;
276
+ return /* @__PURE__ */jsx(Menu.RadioItem, {
277
+ componentName: RADIO_ITEM_NAME,
278
+ scope: scope || CONTEXTMENU_CONTEXT,
279
+ ...radioItemProps,
280
+ ref: forwardedRef
281
+ });
282
+ });
283
+ ContextMenuRadioItem.displayName = RADIO_ITEM_NAME;
284
+ const INDICATOR_NAME = "ContextMenuItemIndicator";
285
+ const ContextMenuItemIndicator = Menu.ItemIndicator.styleable((props, forwardedRef) => {
286
+ const {
287
+ scope,
288
+ ...itemIndicatorProps
289
+ } = props;
290
+ return /* @__PURE__ */jsx(Menu.ItemIndicator, {
291
+ componentName: INDICATOR_NAME,
292
+ scope: scope || CONTEXTMENU_CONTEXT,
293
+ ...itemIndicatorProps,
294
+ ref: forwardedRef
295
+ });
296
+ });
297
+ ContextMenuItemIndicator.displayName = INDICATOR_NAME;
298
+ const SUB_NAME = "ContextMenuSub";
299
+ const ContextMenuSub = props => {
300
+ const {
301
+ scope,
302
+ children,
303
+ onOpenChange,
304
+ open: openProp,
305
+ defaultOpen,
306
+ ...rest
307
+ } = props;
308
+ const [open, setOpen] = useControllableState({
309
+ prop: openProp,
310
+ defaultProp: defaultOpen,
311
+ onChange: onOpenChange
312
+ });
313
+ return /* @__PURE__ */jsx(Menu.Sub, {
314
+ scope: scope || CONTEXTMENU_CONTEXT,
315
+ open,
316
+ onOpenChange: setOpen,
317
+ ...rest,
318
+ children
319
+ });
320
+ };
321
+ ContextMenuSub.displayName = SUB_NAME;
322
+ const SUB_TRIGGER_NAME = "ContextMenuSubTrigger";
323
+ const ContextMenuSubTrigger = View.styleable((props, forwardedRef) => {
324
+ const {
325
+ scope,
326
+ ...subTriggerProps
327
+ } = props;
328
+ return /* @__PURE__ */jsx(Menu.SubTrigger, {
329
+ componentName: SUB_TRIGGER_NAME,
330
+ scope: scope || CONTEXTMENU_CONTEXT,
331
+ ...subTriggerProps,
332
+ ref: forwardedRef
333
+ });
334
+ });
335
+ ContextMenuSubTrigger.displayName = SUB_TRIGGER_NAME;
336
+ const SUB_CONTENT_NAME = "ContextMenuSubContent";
337
+ const ContextMenuSubContent = React.forwardRef((props, forwardedRef) => {
338
+ const {
339
+ scope,
340
+ ...subContentProps
341
+ } = props;
342
+ return /* @__PURE__ */jsx(Menu.SubContent, {
343
+ scope: scope || CONTEXTMENU_CONTEXT,
344
+ ...subContentProps,
345
+ ref: forwardedRef,
346
+ style: isWeb ? {
347
+ ...props.style,
348
+ ...{
349
+ "--gui-context-menu-content-transform-origin": "var(--gui-popper-transform-origin)",
350
+ "--gui-context-menu-content-available-width": "var(--gui-popper-available-width)",
351
+ "--gui-context-menu-content-available-height": "var(--gui-popper-available-height)",
352
+ "--gui-context-menu-trigger-width": "var(--gui-popper-anchor-width)",
353
+ "--gui-context-menu-trigger-height": "var(--gui-popper-anchor-height)"
354
+ }
355
+ } : null
356
+ });
357
+ });
358
+ ContextMenuSubContent.displayName = SUB_CONTENT_NAME;
359
+ const ARROW_NAME = "ContextMenuArrow";
360
+ const ContextMenuArrow = React.forwardRef((props, forwardedRef) => {
361
+ const {
362
+ scope,
363
+ ...arrowProps
364
+ } = props;
365
+ return /* @__PURE__ */jsx(Menu.Arrow, {
366
+ componentName: ARROW_NAME,
367
+ scope: scope || CONTEXTMENU_CONTEXT,
368
+ ...arrowProps,
369
+ ref: forwardedRef
370
+ });
371
+ });
372
+ ContextMenuArrow.displayName = ARROW_NAME;
373
+ const ContextMenuGroup = Menu.Group;
374
+ const ContextMenuLabel = Menu.Label;
375
+ const ContextMenuSeparator = Menu.Separator;
376
+ const ContextMenuItemTitle = Menu.ItemTitle;
377
+ const ContextMenuItemSubTitle = Menu.ItemSubtitle;
378
+ const ContextMenuItemImage = Menu.ItemImage;
379
+ const ContextMenuItemIcon = Menu.ItemIcon;
380
+ const ContextMenuPreview = () => null;
381
+ return withStaticProperties(ContextMenuComp, {
382
+ Root: ContextMenuComp,
383
+ Trigger: ContextMenuTrigger,
384
+ Portal: ContextMenuPortal,
385
+ Content: ContextMenuContent,
386
+ Group: ContextMenuGroup,
387
+ Label: ContextMenuLabel,
388
+ Item: ContextMenuItem,
389
+ CheckboxItem: ContextMenuCheckboxItem,
390
+ RadioGroup: ContextMenuRadioGroup,
391
+ RadioItem: ContextMenuRadioItem,
392
+ ItemIndicator: ContextMenuItemIndicator,
393
+ Separator: ContextMenuSeparator,
394
+ Arrow: ContextMenuArrow,
395
+ Sub: ContextMenuSub,
396
+ SubTrigger: ContextMenuSubTrigger,
397
+ SubContent: ContextMenuSubContent,
398
+ ItemTitle: ContextMenuItemTitle,
399
+ ItemSubtitle: ContextMenuItemSubTitle,
400
+ ItemIcon: ContextMenuItemIcon,
401
+ ItemImage: ContextMenuItemImage,
402
+ Preview: ContextMenuPreview
403
+ });
404
+ }
405
+ export { CONTEXTMENU_CONTEXT, createNonNativeContextMenu };
406
+ //# sourceMappingURL=createNonNativeContextMenu.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createBaseMenu","useControllableState","composeEventHandlers","composeRefs","createStyledContext","isAndroid","isWeb","Slot","View","withStaticProperties","React","useId","Fragment","jsx","jsxs","CONTEXTMENU_CONTEXT","createNonNativeContextMenu","params","Menu","CONTEXT_MENU_NAME","Provider","ContextMenuProvider","useStyledContext","useContextMenuContext","ContextMenuComp","props","scope","children","onOpenChange","dir","modal","rest","open","setOpen","useState","triggerRef","useRef","handleOpenChange","useCallback","event","defaultPrevented","triggerId","contentId","displayName","TRIGGER_NAME","ContextMenuTrigger","styleable","forwardedRef","style","disabled","asChild","triggerProps","context","pointRef","x","y","virtualRef","useMemo","current","getBoundingClientRect","scrollX","window","document","documentElement","scrollLeft","scrollY","scrollTop","DOMRect","fromRect","width","height","top","left","measure","c","measureInWindow","longPressTimerRef","clearLongPress","clearTimeout","createOpenChangeEvent","preventDefault","handleOpen","MouseEvent","PointerEvent","clientX","clientY","nativeEvent","pageX","pageY","openChangeEvent","useEffect","Comp","Anchor","render","componentName","id","ref","WebkitTouchCallout","onContextMenu","onPointerDown","pointerType","setTimeout","onPointerMove","onPointerCancel","onPointerUp","onLongPress","PORTAL_NAME","ContextMenuPortal","portalProps","content","Portal","CONTENT_NAME","ContextMenuContent","forwardRef","contentProps","hasInteractedOutsideRef","Content","onCloseAutoFocus","focus","onInteractOutside","originalEvent","detail","ctrlLeftClick","button","ctrlKey","isRightClick","ITEM_NAME","ContextMenuItem","itemProps","Item","CHECKBOX_ITEM_NAME","ContextMenuCheckboxItem","checkboxItemProps","CheckboxItem","RADIO_GROUP_NAME","ContextMenuRadioGroup","radioGroupProps","RadioGroup","RADIO_ITEM_NAME","ContextMenuRadioItem","radioItemProps","RadioItem","INDICATOR_NAME","ContextMenuItemIndicator","ItemIndicator","itemIndicatorProps","SUB_NAME","ContextMenuSub","openProp","defaultOpen","prop","defaultProp","onChange","Sub","SUB_TRIGGER_NAME","ContextMenuSubTrigger","subTriggerProps","SubTrigger","SUB_CONTENT_NAME","ContextMenuSubContent","subContentProps","SubContent","ARROW_NAME","ContextMenuArrow","arrowProps","Arrow","ContextMenuGroup","Group","ContextMenuLabel","Label","ContextMenuSeparator","Separator","ContextMenuItemTitle","ItemTitle","ContextMenuItemSubTitle","ItemSubtitle","ContextMenuItemImage","ItemImage","ContextMenuItemIcon","ItemIcon","ContextMenuPreview","Root","Trigger","Preview"],"sources":["../../src/createNonNativeContextMenu.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}