@tamagui/context-menu 2.0.0-rc.4 → 2.0.0-rc.40

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