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