@tamagui/context-menu 2.0.0-rc.3 → 2.0.0-rc.31

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