@radix-ui/react-context-menu 0.1.7-rc.3 → 0.1.7-rc.6
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.
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +385 -1
- package/dist/index.js.map +1 -1
- package/dist/index.module.js +366 -1
- package/dist/index.module.js.map +1 -1
- package/package.json +7 -7
package/dist/index.d.ts
CHANGED
|
@@ -5,10 +5,10 @@ import * as MenuPrimitive from "@radix-ui/react-menu";
|
|
|
5
5
|
type Direction = 'ltr' | 'rtl';
|
|
6
6
|
export const createContextMenuScope: import("@radix-ui/react-context").CreateScope;
|
|
7
7
|
export interface ContextMenuProps {
|
|
8
|
+
children?: React.ReactNode;
|
|
8
9
|
onOpenChange?(open: boolean): void;
|
|
9
10
|
dir?: Direction;
|
|
10
11
|
modal?: boolean;
|
|
11
|
-
children?: React.ReactNode;
|
|
12
12
|
}
|
|
13
13
|
export const ContextMenu: React.FC<ContextMenuProps>;
|
|
14
14
|
type PrimitiveSpanProps = Radix.ComponentPropsWithoutRef<typeof Primitive.span>;
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"
|
|
1
|
+
{"mappings":";;;;AAWA,iBAAiB,KAAK,GAAG,KAAK,CAAC;AAU/B,OAAA,6FAEE,CAAC;AAaH;IACE,QAAQ,CAAC,EAAE,MAAM,SAAS,CAAC;IAC3B,YAAY,CAAC,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC;IACnC,GAAG,CAAC,EAAE,SAAS,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,OAAA,MAAM,aAAa,MAAM,EAAE,CAAC,gBAAgB,CA8C3C,CAAC;AAWF,0BAA0B,MAAM,wBAAwB,CAAC,OAAO,UAAU,IAAI,CAAC,CAAC;AAChF,wCAAkC,SAAQ,kBAAkB;CAAG;AAE/D,OAAA,MAAM,mHAsDL,CAAC;AAeF,wBAAwB,MAAM,wBAAwB,CAAC,OAAO,cAAc,OAAO,CAAC,CAAC;AACrF,wCAAkC,SAAQ,IAAI,CAAC,gBAAgB,EAAE,WAAW,GAAG,MAAM,GAAG,OAAO,CAAC;CAAG;AAEnG,OAAA,MAAM,kHA8BL,CAAC;AAmDF,sBAAsB,MAAM,wBAAwB,CAAC,OAAO,cAAc,KAAK,CAAC,CAAC;AACjF,sCAAgC,SAAQ,cAAc;CAAG;AAEzD,OAAA,MAAM,8GAML,CAAC;AAWF,sBAAsB,MAAM,wBAAwB,CAAC,OAAO,cAAc,KAAK,CAAC,CAAC;AACjF,sCAAgC,SAAQ,cAAc;CAAG;AAEzD,OAAA,MAAM,8GAML,CAAC;AAWF,qBAAqB,MAAM,wBAAwB,CAAC,OAAO,cAAc,IAAI,CAAC,CAAC;AAC/E,qCAA+B,SAAQ,aAAa;CAAG;AAEvD,OAAA,MAAM,4GAML,CAAC;AAWF,2BAA2B,MAAM,wBAAwB,CAAC,OAAO,cAAc,UAAU,CAAC,CAAC;AAC3F,4CAAsC,SAAQ,mBAAmB;CAAG;AAEpE,OAAA,MAAM,0HAOJ,CAAC;AAWH,6BAA6B,MAAM,wBAAwB,CAAC,OAAO,cAAc,YAAY,CAAC,CAAC;AAC/F,6CAAuC,SAAQ,qBAAqB;CAAG;AAEvE,OAAA,MAAM,4HAOJ,CAAC;AAWH,2BAA2B,MAAM,wBAAwB,CAAC,OAAO,cAAc,UAAU,CAAC,CAAC;AAC3F,2CAAqC,SAAQ,mBAAmB;CAAG;AAEnE,OAAA,MAAM,wHAOJ,CAAC;AAWH,0BAA0B,MAAM,wBAAwB,CAAC,OAAO,cAAc,SAAS,CAAC,CAAC;AACzF,0CAAoC,SAAQ,kBAAkB;CAAG;AAEjE,OAAA,MAAM,sHAOJ,CAAC;AAWH,8BAA8B,MAAM,wBAAwB,CAAC,OAAO,cAAc,aAAa,CAAC,CAAC;AACjG,8CAAwC,SAAQ,sBAAsB;CAAG;AAEzE,OAAA,MAAM,+HAOJ,CAAC;AAWH,0BAA0B,MAAM,wBAAwB,CAAC,OAAO,cAAc,SAAS,CAAC,CAAC;AACzF,0CAAoC,SAAQ,kBAAkB;CAAG;AAEjE,OAAA,MAAM,sHAOJ,CAAC;AAWH,sBAAsB,MAAM,wBAAwB,CAAC,OAAO,cAAc,KAAK,CAAC,CAAC;AACjF,sCAAgC,SAAQ,cAAc;CAAG;AAEzD,OAAA,MAAM,6GAML,CAAC;AAUF,OAAA,MAAM,gCAAkB,CAAC;AACzB,OAAA,MAAM,wGAA4B,CAAC;AACnC,OAAA,MAAM,uGAA4B,CAAC;AACnC,OAAA,MAAM,mGAAwB,CAAC;AAC/B,OAAA,MAAM,mGAAwB,CAAC;AAC/B,OAAA,MAAM,iGAAsB,CAAC;AAC7B,OAAA,MAAM,+GAAoC,CAAC;AAC3C,OAAA,MAAM,iHAAsC,CAAC;AAC7C,OAAA,MAAM,6GAAkC,CAAC;AACzC,OAAA,MAAM,2GAAgC,CAAC;AACvC,OAAA,MAAM,oHAAwC,CAAC;AAC/C,OAAA,MAAM,2GAAgC,CAAC;AACvC,OAAA,MAAM,kGAAwB,CAAC","sources":["packages/react/context-menu/src/packages/react/context-menu/src/ContextMenu.tsx","packages/react/context-menu/src/packages/react/context-menu/src/index.ts","packages/react/context-menu/src/index.ts"],"sourcesContent":[null,null,"export * from './ContextMenu';\n"],"names":[],"version":3,"file":"index.d.ts.map"}
|
package/dist/index.js
CHANGED
|
@@ -1,2 +1,386 @@
|
|
|
1
|
-
var
|
|
1
|
+
var $l8XVT$babelruntimehelpersextends = require("@babel/runtime/helpers/extends");
|
|
2
|
+
var $l8XVT$react = require("react");
|
|
3
|
+
var $l8XVT$radixuiprimitive = require("@radix-ui/primitive");
|
|
4
|
+
var $l8XVT$radixuireactcontext = require("@radix-ui/react-context");
|
|
5
|
+
var $l8XVT$radixuireactprimitive = require("@radix-ui/react-primitive");
|
|
6
|
+
var $l8XVT$radixuireactmenu = require("@radix-ui/react-menu");
|
|
7
|
+
var $l8XVT$radixuireactusecallbackref = require("@radix-ui/react-use-callback-ref");
|
|
8
|
+
|
|
9
|
+
function $parcel$exportWildcard(dest, source) {
|
|
10
|
+
Object.keys(source).forEach(function(key) {
|
|
11
|
+
if (key === 'default' || key === '__esModule' || dest.hasOwnProperty(key)) {
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
Object.defineProperty(dest, key, {
|
|
16
|
+
enumerable: true,
|
|
17
|
+
get: function get() {
|
|
18
|
+
return source[key];
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
return dest;
|
|
24
|
+
}
|
|
25
|
+
function $parcel$interopDefault(a) {
|
|
26
|
+
return a && a.__esModule ? a.default : a;
|
|
27
|
+
}
|
|
28
|
+
function $parcel$export(e, n, v, s) {
|
|
29
|
+
Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});
|
|
30
|
+
}
|
|
31
|
+
var $5de197f6cd80e8e9$exports = {};
|
|
32
|
+
|
|
33
|
+
$parcel$export($5de197f6cd80e8e9$exports, "createContextMenuScope", () => $5de197f6cd80e8e9$export$1059331f43ddcc82);
|
|
34
|
+
$parcel$export($5de197f6cd80e8e9$exports, "ContextMenu", () => $5de197f6cd80e8e9$export$8dc6765e8be191c7);
|
|
35
|
+
$parcel$export($5de197f6cd80e8e9$exports, "ContextMenuTrigger", () => $5de197f6cd80e8e9$export$be6fc7b1d5b0beb9);
|
|
36
|
+
$parcel$export($5de197f6cd80e8e9$exports, "ContextMenuContent", () => $5de197f6cd80e8e9$export$572205900c9369e);
|
|
37
|
+
$parcel$export($5de197f6cd80e8e9$exports, "ContextMenuGroup", () => $5de197f6cd80e8e9$export$9860523b0fcdd664);
|
|
38
|
+
$parcel$export($5de197f6cd80e8e9$exports, "ContextMenuLabel", () => $5de197f6cd80e8e9$export$d4b9d3b609a10742);
|
|
39
|
+
$parcel$export($5de197f6cd80e8e9$exports, "ContextMenuItem", () => $5de197f6cd80e8e9$export$16a26dc176a49100);
|
|
40
|
+
$parcel$export($5de197f6cd80e8e9$exports, "ContextMenuTriggerItem", () => $5de197f6cd80e8e9$export$105a322f21932c2b);
|
|
41
|
+
$parcel$export($5de197f6cd80e8e9$exports, "ContextMenuCheckboxItem", () => $5de197f6cd80e8e9$export$b6adbe51d5d8b7ec);
|
|
42
|
+
$parcel$export($5de197f6cd80e8e9$exports, "ContextMenuRadioGroup", () => $5de197f6cd80e8e9$export$db5c89af5ed9aa07);
|
|
43
|
+
$parcel$export($5de197f6cd80e8e9$exports, "ContextMenuRadioItem", () => $5de197f6cd80e8e9$export$8a727d09a7d9bfc2);
|
|
44
|
+
$parcel$export($5de197f6cd80e8e9$exports, "ContextMenuItemIndicator", () => $5de197f6cd80e8e9$export$9ed8194dee42d94b);
|
|
45
|
+
$parcel$export($5de197f6cd80e8e9$exports, "ContextMenuSeparator", () => $5de197f6cd80e8e9$export$8d6b009fadfe1207);
|
|
46
|
+
$parcel$export($5de197f6cd80e8e9$exports, "ContextMenuArrow", () => $5de197f6cd80e8e9$export$f47d0a58228a61e2);
|
|
47
|
+
$parcel$export($5de197f6cd80e8e9$exports, "Root", () => $5de197f6cd80e8e9$export$be92b6f5f03c0fe9);
|
|
48
|
+
$parcel$export($5de197f6cd80e8e9$exports, "Trigger", () => $5de197f6cd80e8e9$export$41fb9f06171c75f4);
|
|
49
|
+
$parcel$export($5de197f6cd80e8e9$exports, "Content", () => $5de197f6cd80e8e9$export$7c6e2c02157bb7d2);
|
|
50
|
+
$parcel$export($5de197f6cd80e8e9$exports, "Group", () => $5de197f6cd80e8e9$export$eb2fcfdbd7ba97d4);
|
|
51
|
+
$parcel$export($5de197f6cd80e8e9$exports, "Label", () => $5de197f6cd80e8e9$export$b04be29aa201d4f5);
|
|
52
|
+
$parcel$export($5de197f6cd80e8e9$exports, "Item", () => $5de197f6cd80e8e9$export$6d08773d2e66f8f2);
|
|
53
|
+
$parcel$export($5de197f6cd80e8e9$exports, "TriggerItem", () => $5de197f6cd80e8e9$export$6d0911d397e3b965);
|
|
54
|
+
$parcel$export($5de197f6cd80e8e9$exports, "CheckboxItem", () => $5de197f6cd80e8e9$export$16ce288f89fa631c);
|
|
55
|
+
$parcel$export($5de197f6cd80e8e9$exports, "RadioGroup", () => $5de197f6cd80e8e9$export$a98f0dcb43a68a25);
|
|
56
|
+
$parcel$export($5de197f6cd80e8e9$exports, "RadioItem", () => $5de197f6cd80e8e9$export$371ab307eab489c0);
|
|
57
|
+
$parcel$export($5de197f6cd80e8e9$exports, "ItemIndicator", () => $5de197f6cd80e8e9$export$c3468e2714d175fa);
|
|
58
|
+
$parcel$export($5de197f6cd80e8e9$exports, "Separator", () => $5de197f6cd80e8e9$export$1ff3c3f08ae963c0);
|
|
59
|
+
$parcel$export($5de197f6cd80e8e9$exports, "Arrow", () => $5de197f6cd80e8e9$export$21b07c8f274aebd5);
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
/* -------------------------------------------------------------------------------------------------
|
|
69
|
+
* ContextMenu
|
|
70
|
+
* -----------------------------------------------------------------------------------------------*/ const $5de197f6cd80e8e9$var$CONTEXT_MENU_NAME = 'ContextMenu';
|
|
71
|
+
const [$5de197f6cd80e8e9$var$createContextMenuContext, $5de197f6cd80e8e9$export$1059331f43ddcc82] = $l8XVT$radixuireactcontext.createContextScope($5de197f6cd80e8e9$var$CONTEXT_MENU_NAME, [
|
|
72
|
+
$l8XVT$radixuireactmenu.createMenuScope
|
|
73
|
+
]);
|
|
74
|
+
const $5de197f6cd80e8e9$var$useMenuScope = $l8XVT$radixuireactmenu.createMenuScope();
|
|
75
|
+
const [$5de197f6cd80e8e9$var$ContextMenuProvider, $5de197f6cd80e8e9$var$useContextMenuContext] = $5de197f6cd80e8e9$var$createContextMenuContext($5de197f6cd80e8e9$var$CONTEXT_MENU_NAME);
|
|
76
|
+
const $5de197f6cd80e8e9$export$8dc6765e8be191c7 = (props)=>{
|
|
77
|
+
const { __scopeContextMenu: __scopeContextMenu , children: children , onOpenChange: onOpenChange , dir: dir , modal: modal = true } = props;
|
|
78
|
+
const [open1, setOpen] = $l8XVT$react.useState(false);
|
|
79
|
+
const contentContext = $5de197f6cd80e8e9$var$useContentContext($5de197f6cd80e8e9$var$CONTEXT_MENU_NAME, __scopeContextMenu);
|
|
80
|
+
const menuScope = $5de197f6cd80e8e9$var$useMenuScope(__scopeContextMenu);
|
|
81
|
+
const handleOpenChangeProp = $l8XVT$radixuireactusecallbackref.useCallbackRef(onOpenChange);
|
|
82
|
+
const handleOpenChange = $l8XVT$react.useCallback((open)=>{
|
|
83
|
+
setOpen(open);
|
|
84
|
+
handleOpenChangeProp(open);
|
|
85
|
+
}, [
|
|
86
|
+
handleOpenChangeProp
|
|
87
|
+
]);
|
|
88
|
+
return contentContext.isInsideContent ? /*#__PURE__*/ $l8XVT$react.createElement($5de197f6cd80e8e9$var$ContextMenuProvider, {
|
|
89
|
+
scope: __scopeContextMenu,
|
|
90
|
+
isRootMenu: false,
|
|
91
|
+
open: open1,
|
|
92
|
+
onOpenChange: handleOpenChange,
|
|
93
|
+
modal: modal
|
|
94
|
+
}, /*#__PURE__*/ $l8XVT$react.createElement($l8XVT$radixuireactmenu.Sub, ($parcel$interopDefault($l8XVT$babelruntimehelpersextends))({}, menuScope, {
|
|
95
|
+
open: open1,
|
|
96
|
+
onOpenChange: handleOpenChange
|
|
97
|
+
}), children)) : /*#__PURE__*/ $l8XVT$react.createElement($5de197f6cd80e8e9$var$ContextMenuProvider, {
|
|
98
|
+
scope: __scopeContextMenu,
|
|
99
|
+
isRootMenu: true,
|
|
100
|
+
open: open1,
|
|
101
|
+
onOpenChange: handleOpenChange,
|
|
102
|
+
modal: modal
|
|
103
|
+
}, /*#__PURE__*/ $l8XVT$react.createElement($l8XVT$radixuireactmenu.Root, ($parcel$interopDefault($l8XVT$babelruntimehelpersextends))({}, menuScope, {
|
|
104
|
+
dir: dir,
|
|
105
|
+
open: open1,
|
|
106
|
+
onOpenChange: handleOpenChange,
|
|
107
|
+
modal: modal
|
|
108
|
+
}), children));
|
|
109
|
+
};
|
|
110
|
+
/*#__PURE__*/ Object.assign($5de197f6cd80e8e9$export$8dc6765e8be191c7, {
|
|
111
|
+
displayName: $5de197f6cd80e8e9$var$CONTEXT_MENU_NAME
|
|
112
|
+
});
|
|
113
|
+
/* -------------------------------------------------------------------------------------------------
|
|
114
|
+
* ContextMenuTrigger
|
|
115
|
+
* -----------------------------------------------------------------------------------------------*/ const $5de197f6cd80e8e9$var$TRIGGER_NAME = 'ContextMenuTrigger';
|
|
116
|
+
const $5de197f6cd80e8e9$export$be6fc7b1d5b0beb9 = /*#__PURE__*/ $l8XVT$react.forwardRef((props, forwardedRef)=>{
|
|
117
|
+
const { __scopeContextMenu: __scopeContextMenu , ...triggerProps } = props;
|
|
118
|
+
const context = $5de197f6cd80e8e9$var$useContextMenuContext($5de197f6cd80e8e9$var$TRIGGER_NAME, __scopeContextMenu);
|
|
119
|
+
const menuScope = $5de197f6cd80e8e9$var$useMenuScope(__scopeContextMenu);
|
|
120
|
+
const pointRef = $l8XVT$react.useRef({
|
|
121
|
+
x: 0,
|
|
122
|
+
y: 0
|
|
123
|
+
});
|
|
124
|
+
const virtualRef = $l8XVT$react.useRef({
|
|
125
|
+
getBoundingClientRect: ()=>DOMRect.fromRect({
|
|
126
|
+
width: 0,
|
|
127
|
+
height: 0,
|
|
128
|
+
...pointRef.current
|
|
129
|
+
})
|
|
130
|
+
});
|
|
131
|
+
const longPressTimerRef = $l8XVT$react.useRef(0);
|
|
132
|
+
const clearLongPress = $l8XVT$react.useCallback(()=>window.clearTimeout(longPressTimerRef.current)
|
|
133
|
+
, []);
|
|
134
|
+
const handleOpen = (event)=>{
|
|
135
|
+
pointRef.current = {
|
|
136
|
+
x: event.clientX,
|
|
137
|
+
y: event.clientY
|
|
138
|
+
};
|
|
139
|
+
context.onOpenChange(true);
|
|
140
|
+
};
|
|
141
|
+
$l8XVT$react.useEffect(()=>clearLongPress
|
|
142
|
+
, [
|
|
143
|
+
clearLongPress
|
|
144
|
+
]);
|
|
145
|
+
return /*#__PURE__*/ $l8XVT$react.createElement($5de197f6cd80e8e9$var$ContentProvider, {
|
|
146
|
+
scope: __scopeContextMenu,
|
|
147
|
+
isInsideContent: false
|
|
148
|
+
}, /*#__PURE__*/ $l8XVT$react.createElement($l8XVT$radixuireactmenu.Anchor, ($parcel$interopDefault($l8XVT$babelruntimehelpersextends))({}, menuScope, {
|
|
149
|
+
virtualRef: virtualRef
|
|
150
|
+
})), /*#__PURE__*/ $l8XVT$react.createElement($l8XVT$radixuireactprimitive.Primitive.span, ($parcel$interopDefault($l8XVT$babelruntimehelpersextends))({}, triggerProps, {
|
|
151
|
+
ref: forwardedRef // prevent iOS context menu from appearing
|
|
152
|
+
,
|
|
153
|
+
style: {
|
|
154
|
+
WebkitTouchCallout: 'none',
|
|
155
|
+
...props.style
|
|
156
|
+
},
|
|
157
|
+
onContextMenu: $l8XVT$radixuiprimitive.composeEventHandlers(props.onContextMenu, (event)=>{
|
|
158
|
+
// clearing the long press here because some platforms already support
|
|
159
|
+
// long press to trigger a `contextmenu` event
|
|
160
|
+
clearLongPress();
|
|
161
|
+
event.preventDefault();
|
|
162
|
+
handleOpen(event);
|
|
163
|
+
}),
|
|
164
|
+
onPointerDown: $l8XVT$radixuiprimitive.composeEventHandlers(props.onPointerDown, $5de197f6cd80e8e9$var$whenTouchOrPen((event)=>{
|
|
165
|
+
// clear the long press here in case there's multiple touch points
|
|
166
|
+
clearLongPress();
|
|
167
|
+
longPressTimerRef.current = window.setTimeout(()=>handleOpen(event)
|
|
168
|
+
, 700);
|
|
169
|
+
})),
|
|
170
|
+
onPointerMove: $l8XVT$radixuiprimitive.composeEventHandlers(props.onPointerMove, $5de197f6cd80e8e9$var$whenTouchOrPen(clearLongPress)),
|
|
171
|
+
onPointerCancel: $l8XVT$radixuiprimitive.composeEventHandlers(props.onPointerCancel, $5de197f6cd80e8e9$var$whenTouchOrPen(clearLongPress)),
|
|
172
|
+
onPointerUp: $l8XVT$radixuiprimitive.composeEventHandlers(props.onPointerUp, $5de197f6cd80e8e9$var$whenTouchOrPen(clearLongPress))
|
|
173
|
+
})));
|
|
174
|
+
});
|
|
175
|
+
/*#__PURE__*/ Object.assign($5de197f6cd80e8e9$export$be6fc7b1d5b0beb9, {
|
|
176
|
+
displayName: $5de197f6cd80e8e9$var$TRIGGER_NAME
|
|
177
|
+
});
|
|
178
|
+
/* -------------------------------------------------------------------------------------------------
|
|
179
|
+
* ContextMenuContent
|
|
180
|
+
* -----------------------------------------------------------------------------------------------*/ const $5de197f6cd80e8e9$var$CONTENT_NAME = 'ContextMenuContent';
|
|
181
|
+
const [$5de197f6cd80e8e9$var$ContentProvider, $5de197f6cd80e8e9$var$useContentContext] = $5de197f6cd80e8e9$var$createContextMenuContext($5de197f6cd80e8e9$var$CONTENT_NAME, {
|
|
182
|
+
isInsideContent: false
|
|
183
|
+
});
|
|
184
|
+
const $5de197f6cd80e8e9$export$572205900c9369e = /*#__PURE__*/ $l8XVT$react.forwardRef((props, forwardedRef)=>{
|
|
185
|
+
const { __scopeContextMenu: __scopeContextMenu , ...contentProps } = props;
|
|
186
|
+
const context = $5de197f6cd80e8e9$var$useContextMenuContext($5de197f6cd80e8e9$var$CONTENT_NAME, __scopeContextMenu);
|
|
187
|
+
const menuScope = $5de197f6cd80e8e9$var$useMenuScope(__scopeContextMenu);
|
|
188
|
+
const commonProps = {
|
|
189
|
+
...contentProps,
|
|
190
|
+
style: {
|
|
191
|
+
...props.style,
|
|
192
|
+
// re-namespace exposed content custom property
|
|
193
|
+
['--radix-context-menu-content-transform-origin']: 'var(--radix-popper-transform-origin)'
|
|
194
|
+
}
|
|
195
|
+
};
|
|
196
|
+
return /*#__PURE__*/ $l8XVT$react.createElement($5de197f6cd80e8e9$var$ContentProvider, {
|
|
197
|
+
scope: __scopeContextMenu,
|
|
198
|
+
isInsideContent: true
|
|
199
|
+
}, context.isRootMenu ? /*#__PURE__*/ $l8XVT$react.createElement($5de197f6cd80e8e9$var$ContextMenuRootContent, ($parcel$interopDefault($l8XVT$babelruntimehelpersextends))({
|
|
200
|
+
__scopeContextMenu: __scopeContextMenu
|
|
201
|
+
}, commonProps, {
|
|
202
|
+
ref: forwardedRef
|
|
203
|
+
})) : /*#__PURE__*/ $l8XVT$react.createElement($l8XVT$radixuireactmenu.Content, ($parcel$interopDefault($l8XVT$babelruntimehelpersextends))({}, menuScope, commonProps, {
|
|
204
|
+
ref: forwardedRef
|
|
205
|
+
})));
|
|
206
|
+
});
|
|
207
|
+
/*#__PURE__*/ Object.assign($5de197f6cd80e8e9$export$572205900c9369e, {
|
|
208
|
+
displayName: $5de197f6cd80e8e9$var$CONTENT_NAME
|
|
209
|
+
});
|
|
210
|
+
/* ---------------------------------------------------------------------------------------------- */ const $5de197f6cd80e8e9$var$ContextMenuRootContent = /*#__PURE__*/ $l8XVT$react.forwardRef((props, forwardedRef)=>{
|
|
211
|
+
const { __scopeContextMenu: __scopeContextMenu , ...contentProps } = props;
|
|
212
|
+
const context = $5de197f6cd80e8e9$var$useContextMenuContext($5de197f6cd80e8e9$var$CONTENT_NAME, __scopeContextMenu);
|
|
213
|
+
const menuScope = $5de197f6cd80e8e9$var$useMenuScope(__scopeContextMenu);
|
|
214
|
+
const hasInteractedOutsideRef = $l8XVT$react.useRef(false);
|
|
215
|
+
return /*#__PURE__*/ $l8XVT$react.createElement($l8XVT$radixuireactmenu.Content, ($parcel$interopDefault($l8XVT$babelruntimehelpersextends))({}, menuScope, contentProps, {
|
|
216
|
+
ref: forwardedRef,
|
|
217
|
+
portalled: true,
|
|
218
|
+
side: "right",
|
|
219
|
+
sideOffset: 2,
|
|
220
|
+
align: "start",
|
|
221
|
+
onCloseAutoFocus: (event)=>{
|
|
222
|
+
var _props$onCloseAutoFoc;
|
|
223
|
+
(_props$onCloseAutoFoc = props.onCloseAutoFocus) === null || _props$onCloseAutoFoc === void 0 || _props$onCloseAutoFoc.call(props, event);
|
|
224
|
+
if (!event.defaultPrevented && hasInteractedOutsideRef.current) event.preventDefault();
|
|
225
|
+
hasInteractedOutsideRef.current = false;
|
|
226
|
+
},
|
|
227
|
+
onInteractOutside: (event)=>{
|
|
228
|
+
var _props$onInteractOuts;
|
|
229
|
+
(_props$onInteractOuts = props.onInteractOutside) === null || _props$onInteractOuts === void 0 || _props$onInteractOuts.call(props, event);
|
|
230
|
+
if (!event.defaultPrevented && !context.modal) hasInteractedOutsideRef.current = true;
|
|
231
|
+
}
|
|
232
|
+
}));
|
|
233
|
+
});
|
|
234
|
+
/* -------------------------------------------------------------------------------------------------
|
|
235
|
+
* ContextMenuGroup
|
|
236
|
+
* -----------------------------------------------------------------------------------------------*/ const $5de197f6cd80e8e9$var$GROUP_NAME = 'ContextMenuGroup';
|
|
237
|
+
const $5de197f6cd80e8e9$export$9860523b0fcdd664 = /*#__PURE__*/ $l8XVT$react.forwardRef((props, forwardedRef)=>{
|
|
238
|
+
const { __scopeContextMenu: __scopeContextMenu , ...groupProps } = props;
|
|
239
|
+
const menuScope = $5de197f6cd80e8e9$var$useMenuScope(__scopeContextMenu);
|
|
240
|
+
return /*#__PURE__*/ $l8XVT$react.createElement($l8XVT$radixuireactmenu.Group, ($parcel$interopDefault($l8XVT$babelruntimehelpersextends))({}, menuScope, groupProps, {
|
|
241
|
+
ref: forwardedRef
|
|
242
|
+
}));
|
|
243
|
+
});
|
|
244
|
+
/*#__PURE__*/ Object.assign($5de197f6cd80e8e9$export$9860523b0fcdd664, {
|
|
245
|
+
displayName: $5de197f6cd80e8e9$var$GROUP_NAME
|
|
246
|
+
});
|
|
247
|
+
/* -------------------------------------------------------------------------------------------------
|
|
248
|
+
* ContextMenuLabel
|
|
249
|
+
* -----------------------------------------------------------------------------------------------*/ const $5de197f6cd80e8e9$var$LABEL_NAME = 'ContextMenuLabel';
|
|
250
|
+
const $5de197f6cd80e8e9$export$d4b9d3b609a10742 = /*#__PURE__*/ $l8XVT$react.forwardRef((props, forwardedRef)=>{
|
|
251
|
+
const { __scopeContextMenu: __scopeContextMenu , ...labelProps } = props;
|
|
252
|
+
const menuScope = $5de197f6cd80e8e9$var$useMenuScope(__scopeContextMenu);
|
|
253
|
+
return /*#__PURE__*/ $l8XVT$react.createElement($l8XVT$radixuireactmenu.Label, ($parcel$interopDefault($l8XVT$babelruntimehelpersextends))({}, menuScope, labelProps, {
|
|
254
|
+
ref: forwardedRef
|
|
255
|
+
}));
|
|
256
|
+
});
|
|
257
|
+
/*#__PURE__*/ Object.assign($5de197f6cd80e8e9$export$d4b9d3b609a10742, {
|
|
258
|
+
displayName: $5de197f6cd80e8e9$var$LABEL_NAME
|
|
259
|
+
});
|
|
260
|
+
/* -------------------------------------------------------------------------------------------------
|
|
261
|
+
* ContextMenuItem
|
|
262
|
+
* -----------------------------------------------------------------------------------------------*/ const $5de197f6cd80e8e9$var$ITEM_NAME = 'ContextMenuItem';
|
|
263
|
+
const $5de197f6cd80e8e9$export$16a26dc176a49100 = /*#__PURE__*/ $l8XVT$react.forwardRef((props, forwardedRef)=>{
|
|
264
|
+
const { __scopeContextMenu: __scopeContextMenu , ...itemProps } = props;
|
|
265
|
+
const menuScope = $5de197f6cd80e8e9$var$useMenuScope(__scopeContextMenu);
|
|
266
|
+
return /*#__PURE__*/ $l8XVT$react.createElement($l8XVT$radixuireactmenu.Item, ($parcel$interopDefault($l8XVT$babelruntimehelpersextends))({}, menuScope, itemProps, {
|
|
267
|
+
ref: forwardedRef
|
|
268
|
+
}));
|
|
269
|
+
});
|
|
270
|
+
/*#__PURE__*/ Object.assign($5de197f6cd80e8e9$export$16a26dc176a49100, {
|
|
271
|
+
displayName: $5de197f6cd80e8e9$var$ITEM_NAME
|
|
272
|
+
});
|
|
273
|
+
/* -------------------------------------------------------------------------------------------------
|
|
274
|
+
* ContextMenuTriggerItem
|
|
275
|
+
* -----------------------------------------------------------------------------------------------*/ const $5de197f6cd80e8e9$var$TRIGGER_ITEM_NAME = 'ContextMenuTriggerItem';
|
|
276
|
+
const $5de197f6cd80e8e9$export$105a322f21932c2b = /*#__PURE__*/ $l8XVT$react.forwardRef((props, forwardedRef)=>{
|
|
277
|
+
const { __scopeContextMenu: __scopeContextMenu , ...triggerItemProps } = props;
|
|
278
|
+
const menuScope = $5de197f6cd80e8e9$var$useMenuScope(__scopeContextMenu);
|
|
279
|
+
return /*#__PURE__*/ $l8XVT$react.createElement($l8XVT$radixuireactmenu.SubTrigger, ($parcel$interopDefault($l8XVT$babelruntimehelpersextends))({}, menuScope, triggerItemProps, {
|
|
280
|
+
ref: forwardedRef
|
|
281
|
+
}));
|
|
282
|
+
});
|
|
283
|
+
/*#__PURE__*/ Object.assign($5de197f6cd80e8e9$export$105a322f21932c2b, {
|
|
284
|
+
displayName: $5de197f6cd80e8e9$var$TRIGGER_ITEM_NAME
|
|
285
|
+
});
|
|
286
|
+
/* -------------------------------------------------------------------------------------------------
|
|
287
|
+
* ContextMenuCheckboxItem
|
|
288
|
+
* -----------------------------------------------------------------------------------------------*/ const $5de197f6cd80e8e9$var$CHECKBOX_ITEM_NAME = 'ContextMenuCheckboxItem';
|
|
289
|
+
const $5de197f6cd80e8e9$export$b6adbe51d5d8b7ec = /*#__PURE__*/ $l8XVT$react.forwardRef((props, forwardedRef)=>{
|
|
290
|
+
const { __scopeContextMenu: __scopeContextMenu , ...checkboxItemProps } = props;
|
|
291
|
+
const menuScope = $5de197f6cd80e8e9$var$useMenuScope(__scopeContextMenu);
|
|
292
|
+
return /*#__PURE__*/ $l8XVT$react.createElement($l8XVT$radixuireactmenu.CheckboxItem, ($parcel$interopDefault($l8XVT$babelruntimehelpersextends))({}, menuScope, checkboxItemProps, {
|
|
293
|
+
ref: forwardedRef
|
|
294
|
+
}));
|
|
295
|
+
});
|
|
296
|
+
/*#__PURE__*/ Object.assign($5de197f6cd80e8e9$export$b6adbe51d5d8b7ec, {
|
|
297
|
+
displayName: $5de197f6cd80e8e9$var$CHECKBOX_ITEM_NAME
|
|
298
|
+
});
|
|
299
|
+
/* -------------------------------------------------------------------------------------------------
|
|
300
|
+
* ContextMenuRadioGroup
|
|
301
|
+
* -----------------------------------------------------------------------------------------------*/ const $5de197f6cd80e8e9$var$RADIO_GROUP_NAME = 'ContextMenuRadioGroup';
|
|
302
|
+
const $5de197f6cd80e8e9$export$db5c89af5ed9aa07 = /*#__PURE__*/ $l8XVT$react.forwardRef((props, forwardedRef)=>{
|
|
303
|
+
const { __scopeContextMenu: __scopeContextMenu , ...radioGroupProps } = props;
|
|
304
|
+
const menuScope = $5de197f6cd80e8e9$var$useMenuScope(__scopeContextMenu);
|
|
305
|
+
return /*#__PURE__*/ $l8XVT$react.createElement($l8XVT$radixuireactmenu.RadioGroup, ($parcel$interopDefault($l8XVT$babelruntimehelpersextends))({}, menuScope, radioGroupProps, {
|
|
306
|
+
ref: forwardedRef
|
|
307
|
+
}));
|
|
308
|
+
});
|
|
309
|
+
/*#__PURE__*/ Object.assign($5de197f6cd80e8e9$export$db5c89af5ed9aa07, {
|
|
310
|
+
displayName: $5de197f6cd80e8e9$var$RADIO_GROUP_NAME
|
|
311
|
+
});
|
|
312
|
+
/* -------------------------------------------------------------------------------------------------
|
|
313
|
+
* ContextMenuRadioItem
|
|
314
|
+
* -----------------------------------------------------------------------------------------------*/ const $5de197f6cd80e8e9$var$RADIO_ITEM_NAME = 'ContextMenuRadioItem';
|
|
315
|
+
const $5de197f6cd80e8e9$export$8a727d09a7d9bfc2 = /*#__PURE__*/ $l8XVT$react.forwardRef((props, forwardedRef)=>{
|
|
316
|
+
const { __scopeContextMenu: __scopeContextMenu , ...radioItemProps } = props;
|
|
317
|
+
const menuScope = $5de197f6cd80e8e9$var$useMenuScope(__scopeContextMenu);
|
|
318
|
+
return /*#__PURE__*/ $l8XVT$react.createElement($l8XVT$radixuireactmenu.RadioItem, ($parcel$interopDefault($l8XVT$babelruntimehelpersextends))({}, menuScope, radioItemProps, {
|
|
319
|
+
ref: forwardedRef
|
|
320
|
+
}));
|
|
321
|
+
});
|
|
322
|
+
/*#__PURE__*/ Object.assign($5de197f6cd80e8e9$export$8a727d09a7d9bfc2, {
|
|
323
|
+
displayName: $5de197f6cd80e8e9$var$RADIO_ITEM_NAME
|
|
324
|
+
});
|
|
325
|
+
/* -------------------------------------------------------------------------------------------------
|
|
326
|
+
* ContextMenuItemIndicator
|
|
327
|
+
* -----------------------------------------------------------------------------------------------*/ const $5de197f6cd80e8e9$var$INDICATOR_NAME = 'ContextMenuItemIndicator';
|
|
328
|
+
const $5de197f6cd80e8e9$export$9ed8194dee42d94b = /*#__PURE__*/ $l8XVT$react.forwardRef((props, forwardedRef)=>{
|
|
329
|
+
const { __scopeContextMenu: __scopeContextMenu , ...itemIndicatorProps } = props;
|
|
330
|
+
const menuScope = $5de197f6cd80e8e9$var$useMenuScope(__scopeContextMenu);
|
|
331
|
+
return /*#__PURE__*/ $l8XVT$react.createElement($l8XVT$radixuireactmenu.ItemIndicator, ($parcel$interopDefault($l8XVT$babelruntimehelpersextends))({}, menuScope, itemIndicatorProps, {
|
|
332
|
+
ref: forwardedRef
|
|
333
|
+
}));
|
|
334
|
+
});
|
|
335
|
+
/*#__PURE__*/ Object.assign($5de197f6cd80e8e9$export$9ed8194dee42d94b, {
|
|
336
|
+
displayName: $5de197f6cd80e8e9$var$INDICATOR_NAME
|
|
337
|
+
});
|
|
338
|
+
/* -------------------------------------------------------------------------------------------------
|
|
339
|
+
* ContextMenuSeparator
|
|
340
|
+
* -----------------------------------------------------------------------------------------------*/ const $5de197f6cd80e8e9$var$SEPARATOR_NAME = 'ContextMenuSeparator';
|
|
341
|
+
const $5de197f6cd80e8e9$export$8d6b009fadfe1207 = /*#__PURE__*/ $l8XVT$react.forwardRef((props, forwardedRef)=>{
|
|
342
|
+
const { __scopeContextMenu: __scopeContextMenu , ...separatorProps } = props;
|
|
343
|
+
const menuScope = $5de197f6cd80e8e9$var$useMenuScope(__scopeContextMenu);
|
|
344
|
+
return /*#__PURE__*/ $l8XVT$react.createElement($l8XVT$radixuireactmenu.Separator, ($parcel$interopDefault($l8XVT$babelruntimehelpersextends))({}, menuScope, separatorProps, {
|
|
345
|
+
ref: forwardedRef
|
|
346
|
+
}));
|
|
347
|
+
});
|
|
348
|
+
/*#__PURE__*/ Object.assign($5de197f6cd80e8e9$export$8d6b009fadfe1207, {
|
|
349
|
+
displayName: $5de197f6cd80e8e9$var$SEPARATOR_NAME
|
|
350
|
+
});
|
|
351
|
+
/* -------------------------------------------------------------------------------------------------
|
|
352
|
+
* ContextMenuArrow
|
|
353
|
+
* -----------------------------------------------------------------------------------------------*/ const $5de197f6cd80e8e9$var$ARROW_NAME = 'ContextMenuArrow';
|
|
354
|
+
const $5de197f6cd80e8e9$export$f47d0a58228a61e2 = /*#__PURE__*/ $l8XVT$react.forwardRef((props, forwardedRef)=>{
|
|
355
|
+
const { __scopeContextMenu: __scopeContextMenu , ...arrowProps } = props;
|
|
356
|
+
const menuScope = $5de197f6cd80e8e9$var$useMenuScope(__scopeContextMenu);
|
|
357
|
+
return /*#__PURE__*/ $l8XVT$react.createElement($l8XVT$radixuireactmenu.Arrow, ($parcel$interopDefault($l8XVT$babelruntimehelpersextends))({}, menuScope, arrowProps, {
|
|
358
|
+
ref: forwardedRef
|
|
359
|
+
}));
|
|
360
|
+
});
|
|
361
|
+
/*#__PURE__*/ Object.assign($5de197f6cd80e8e9$export$f47d0a58228a61e2, {
|
|
362
|
+
displayName: $5de197f6cd80e8e9$var$ARROW_NAME
|
|
363
|
+
});
|
|
364
|
+
/* -----------------------------------------------------------------------------------------------*/ function $5de197f6cd80e8e9$var$whenTouchOrPen(handler) {
|
|
365
|
+
return (event)=>event.pointerType !== 'mouse' ? handler(event) : undefined
|
|
366
|
+
;
|
|
367
|
+
}
|
|
368
|
+
const $5de197f6cd80e8e9$export$be92b6f5f03c0fe9 = $5de197f6cd80e8e9$export$8dc6765e8be191c7;
|
|
369
|
+
const $5de197f6cd80e8e9$export$41fb9f06171c75f4 = $5de197f6cd80e8e9$export$be6fc7b1d5b0beb9;
|
|
370
|
+
const $5de197f6cd80e8e9$export$7c6e2c02157bb7d2 = $5de197f6cd80e8e9$export$572205900c9369e;
|
|
371
|
+
const $5de197f6cd80e8e9$export$eb2fcfdbd7ba97d4 = $5de197f6cd80e8e9$export$9860523b0fcdd664;
|
|
372
|
+
const $5de197f6cd80e8e9$export$b04be29aa201d4f5 = $5de197f6cd80e8e9$export$d4b9d3b609a10742;
|
|
373
|
+
const $5de197f6cd80e8e9$export$6d08773d2e66f8f2 = $5de197f6cd80e8e9$export$16a26dc176a49100;
|
|
374
|
+
const $5de197f6cd80e8e9$export$6d0911d397e3b965 = $5de197f6cd80e8e9$export$105a322f21932c2b;
|
|
375
|
+
const $5de197f6cd80e8e9$export$16ce288f89fa631c = $5de197f6cd80e8e9$export$b6adbe51d5d8b7ec;
|
|
376
|
+
const $5de197f6cd80e8e9$export$a98f0dcb43a68a25 = $5de197f6cd80e8e9$export$db5c89af5ed9aa07;
|
|
377
|
+
const $5de197f6cd80e8e9$export$371ab307eab489c0 = $5de197f6cd80e8e9$export$8a727d09a7d9bfc2;
|
|
378
|
+
const $5de197f6cd80e8e9$export$c3468e2714d175fa = $5de197f6cd80e8e9$export$9ed8194dee42d94b;
|
|
379
|
+
const $5de197f6cd80e8e9$export$1ff3c3f08ae963c0 = $5de197f6cd80e8e9$export$8d6b009fadfe1207;
|
|
380
|
+
const $5de197f6cd80e8e9$export$21b07c8f274aebd5 = $5de197f6cd80e8e9$export$f47d0a58228a61e2;
|
|
381
|
+
|
|
382
|
+
|
|
383
|
+
$parcel$exportWildcard(module.exports, $5de197f6cd80e8e9$exports);
|
|
384
|
+
|
|
385
|
+
|
|
2
386
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"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","sources":["./node_modules/@parcel/scope-hoisting/lib/helpers.js","./packages/react/context-menu/src/ContextMenu.tsx"],"sourcesContent":["function $parcel$interopDefault(a) {\n return a && a.__esModule ? a.default : a;\n}\n\nfunction $parcel$defineInteropFlag(a) {\n Object.defineProperty(a, '__esModule', {value: true});\n}\n\nfunction $parcel$reexport(e, n, v) {\n Object.defineProperty(e, n, {get: v, enumerable: true});\n}\n\nfunction $parcel$exportWildcard(dest, source) {\n Object.keys(source).forEach(function(key) {\n if (key === 'default' || key === '__esModule') {\n return;\n }\n\n Object.defineProperty(dest, key, {\n enumerable: true,\n get: function get() {\n return source[key];\n },\n });\n });\n\n return dest;\n}\n\nfunction $parcel$missingModule(name) {\n var err = new Error(\"Cannot find module '\" + name + \"'\");\n err.code = 'MODULE_NOT_FOUND';\n throw err;\n}\n\nvar $parcel$global =\n typeof globalThis !== 'undefined'\n ? globalThis\n : typeof self !== 'undefined'\n ? self\n : typeof window !== 'undefined'\n ? window\n : typeof global !== 'undefined'\n ? global\n : {};\n","import * as React from 'react';\nimport { composeEventHandlers } from '@radix-ui/primitive';\nimport { createContextScope } from '@radix-ui/react-context';\nimport { Primitive } from '@radix-ui/react-primitive';\nimport * as MenuPrimitive from '@radix-ui/react-menu';\nimport { createMenuScope } from '@radix-ui/react-menu';\nimport { useCallbackRef } from '@radix-ui/react-use-callback-ref';\n\nimport type * as Radix from '@radix-ui/react-primitive';\nimport type { Scope } from '@radix-ui/react-context';\n\ntype Direction = 'ltr' | 'rtl';\ntype Point = { x: number; y: number };\n\n/* -------------------------------------------------------------------------------------------------\n * ContextMenu\n * -----------------------------------------------------------------------------------------------*/\n\nconst CONTEXT_MENU_NAME = 'ContextMenu';\n\ntype ScopedProps<P> = P & { __scopeContextMenu?: Scope };\nconst [createContextMenuContext, createContextMenuScope] = createContextScope(CONTEXT_MENU_NAME, [\n createMenuScope,\n]);\nconst useMenuScope = createMenuScope();\n\ntype ContextMenuContextValue = {\n isRootMenu: boolean;\n open: boolean;\n onOpenChange(open: boolean): void;\n modal: boolean;\n};\n\nconst [ContextMenuProvider, useContextMenuContext] =\n createContextMenuContext<ContextMenuContextValue>(CONTEXT_MENU_NAME);\n\ninterface ContextMenuProps {\n onOpenChange?(open: boolean): void;\n dir?: Direction;\n modal?: boolean;\n children?: React.ReactNode;\n}\n\nconst ContextMenu: React.FC<ContextMenuProps> = (props: ScopedProps<ContextMenuProps>) => {\n const { __scopeContextMenu, children, onOpenChange, dir, modal = true } = props;\n const [open, setOpen] = React.useState(false);\n const contentContext = useContentContext(CONTEXT_MENU_NAME, __scopeContextMenu);\n const menuScope = useMenuScope(__scopeContextMenu);\n const handleOpenChangeProp = useCallbackRef(onOpenChange);\n\n const handleOpenChange = React.useCallback(\n (open) => {\n setOpen(open);\n handleOpenChangeProp(open);\n },\n [handleOpenChangeProp]\n );\n\n return contentContext.isInsideContent ? (\n <ContextMenuProvider\n scope={__scopeContextMenu}\n isRootMenu={false}\n open={open}\n onOpenChange={handleOpenChange}\n modal={modal}\n >\n <MenuPrimitive.Sub {...menuScope} open={open} onOpenChange={handleOpenChange}>\n {children}\n </MenuPrimitive.Sub>\n </ContextMenuProvider>\n ) : (\n <ContextMenuProvider\n scope={__scopeContextMenu}\n isRootMenu={true}\n open={open}\n onOpenChange={handleOpenChange}\n modal={modal}\n >\n <MenuPrimitive.Root\n {...menuScope}\n dir={dir}\n open={open}\n onOpenChange={handleOpenChange}\n modal={modal}\n >\n {children}\n </MenuPrimitive.Root>\n </ContextMenuProvider>\n );\n};\n\nContextMenu.displayName = CONTEXT_MENU_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * ContextMenuTrigger\n * -----------------------------------------------------------------------------------------------*/\n\nconst TRIGGER_NAME = 'ContextMenuTrigger';\n\ntype ContextMenuTriggerElement = React.ElementRef<typeof Primitive.span>;\ntype PrimitiveSpanProps = Radix.ComponentPropsWithoutRef<typeof Primitive.span>;\ninterface ContextMenuTriggerProps extends PrimitiveSpanProps {}\n\nconst ContextMenuTrigger = React.forwardRef<ContextMenuTriggerElement, ContextMenuTriggerProps>(\n (props: ScopedProps<ContextMenuTriggerProps>, forwardedRef) => {\n const { __scopeContextMenu, ...triggerProps } = props;\n const context = useContextMenuContext(TRIGGER_NAME, __scopeContextMenu);\n const menuScope = useMenuScope(__scopeContextMenu);\n const pointRef = React.useRef<Point>({ x: 0, y: 0 });\n const virtualRef = React.useRef({\n getBoundingClientRect: () => DOMRect.fromRect({ width: 0, height: 0, ...pointRef.current }),\n });\n const longPressTimerRef = React.useRef(0);\n const clearLongPress = React.useCallback(\n () => window.clearTimeout(longPressTimerRef.current),\n []\n );\n const handleOpen = (event: React.MouseEvent | React.PointerEvent) => {\n pointRef.current = { x: event.clientX, y: event.clientY };\n context.onOpenChange(true);\n };\n\n React.useEffect(() => clearLongPress, [clearLongPress]);\n\n return (\n <ContentProvider scope={__scopeContextMenu} isInsideContent={false}>\n <MenuPrimitive.Anchor {...menuScope} virtualRef={virtualRef} />\n <Primitive.span\n {...triggerProps}\n ref={forwardedRef}\n // prevent iOS context menu from appearing\n style={{ WebkitTouchCallout: 'none', ...props.style }}\n onContextMenu={composeEventHandlers(props.onContextMenu, (event) => {\n // clearing the long press here because some platforms already support\n // long press to trigger a `contextmenu` event\n clearLongPress();\n event.preventDefault();\n handleOpen(event);\n })}\n onPointerDown={composeEventHandlers(\n props.onPointerDown,\n whenTouchOrPen((event) => {\n // clear the long press here in case there's multiple touch points\n clearLongPress();\n longPressTimerRef.current = window.setTimeout(() => handleOpen(event), 700);\n })\n )}\n onPointerMove={composeEventHandlers(props.onPointerMove, whenTouchOrPen(clearLongPress))}\n onPointerCancel={composeEventHandlers(\n props.onPointerCancel,\n whenTouchOrPen(clearLongPress)\n )}\n onPointerUp={composeEventHandlers(props.onPointerUp, whenTouchOrPen(clearLongPress))}\n />\n </ContentProvider>\n );\n }\n);\n\nContextMenuTrigger.displayName = TRIGGER_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * ContextMenuContent\n * -----------------------------------------------------------------------------------------------*/\n\nconst CONTENT_NAME = 'ContextMenuContent';\n\nconst [ContentProvider, useContentContext] = createContextMenuContext(CONTENT_NAME, {\n isInsideContent: false,\n});\n\ntype ContextMenuContentElement = React.ElementRef<typeof MenuPrimitive.Content>;\ntype MenuContentProps = Radix.ComponentPropsWithoutRef<typeof MenuPrimitive.Content>;\ninterface ContextMenuContentProps extends Omit<MenuContentProps, 'portalled' | 'side' | 'align'> {}\n\nconst ContextMenuContent = React.forwardRef<ContextMenuContentElement, ContextMenuContentProps>(\n (props: ScopedProps<ContextMenuContentProps>, forwardedRef) => {\n const { __scopeContextMenu, ...contentProps } = props;\n const context = useContextMenuContext(CONTENT_NAME, __scopeContextMenu);\n const menuScope = useMenuScope(__scopeContextMenu);\n\n const commonProps = {\n ...contentProps,\n style: {\n ...props.style,\n // re-namespace exposed content custom property\n ['--radix-context-menu-content-transform-origin' as any]:\n 'var(--radix-popper-transform-origin)',\n },\n };\n\n return (\n <ContentProvider scope={__scopeContextMenu} isInsideContent={true}>\n {context.isRootMenu ? (\n <ContextMenuRootContent\n __scopeContextMenu={__scopeContextMenu}\n {...commonProps}\n ref={forwardedRef}\n />\n ) : (\n <MenuPrimitive.Content {...menuScope} {...commonProps} ref={forwardedRef} />\n )}\n </ContentProvider>\n );\n }\n);\n\nContextMenuContent.displayName = CONTENT_NAME;\n\n/* ---------------------------------------------------------------------------------------------- */\n\ntype ContextMenuRootContentElement = React.ElementRef<typeof MenuPrimitive.Content>;\ninterface ContextMenuRootContentProps extends ScopedProps<MenuContentProps> {}\n\nconst ContextMenuRootContent = React.forwardRef<\n ContextMenuRootContentElement,\n ContextMenuRootContentProps\n>((props, forwardedRef) => {\n const { __scopeContextMenu, ...contentProps } = props;\n const context = useContextMenuContext(CONTENT_NAME, __scopeContextMenu);\n const menuScope = useMenuScope(__scopeContextMenu);\n const hasInteractedOutsideRef = React.useRef(false);\n return (\n <MenuPrimitive.Content\n {...menuScope}\n {...contentProps}\n ref={forwardedRef}\n portalled\n side=\"right\"\n sideOffset={2}\n align=\"start\"\n onCloseAutoFocus={(event) => {\n props.onCloseAutoFocus?.(event);\n\n if (!event.defaultPrevented && hasInteractedOutsideRef.current) {\n event.preventDefault();\n }\n\n hasInteractedOutsideRef.current = false;\n }}\n onInteractOutside={(event) => {\n props.onInteractOutside?.(event);\n\n if (!event.defaultPrevented && !context.modal) hasInteractedOutsideRef.current = true;\n }}\n />\n );\n});\n\n/* -------------------------------------------------------------------------------------------------\n * ContextMenuGroup\n * -----------------------------------------------------------------------------------------------*/\n\nconst GROUP_NAME = 'ContextMenuGroup';\n\ntype ContextMenuGroupElement = React.ElementRef<typeof MenuPrimitive.Group>;\ntype MenuGroupProps = Radix.ComponentPropsWithoutRef<typeof MenuPrimitive.Group>;\ninterface ContextMenuGroupProps extends MenuGroupProps {}\n\nconst ContextMenuGroup = React.forwardRef<ContextMenuGroupElement, ContextMenuGroupProps>(\n (props: ScopedProps<ContextMenuGroupProps>, forwardedRef) => {\n const { __scopeContextMenu, ...groupProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return <MenuPrimitive.Group {...menuScope} {...groupProps} ref={forwardedRef} />;\n }\n);\n\nContextMenuGroup.displayName = GROUP_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * ContextMenuLabel\n * -----------------------------------------------------------------------------------------------*/\n\nconst LABEL_NAME = 'ContextMenuLabel';\n\ntype ContextMenuLabelElement = React.ElementRef<typeof MenuPrimitive.Label>;\ntype MenuLabelProps = Radix.ComponentPropsWithoutRef<typeof MenuPrimitive.Label>;\ninterface ContextMenuLabelProps extends MenuLabelProps {}\n\nconst ContextMenuLabel = React.forwardRef<ContextMenuLabelElement, ContextMenuLabelProps>(\n (props: ScopedProps<ContextMenuLabelProps>, forwardedRef) => {\n const { __scopeContextMenu, ...labelProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return <MenuPrimitive.Label {...menuScope} {...labelProps} ref={forwardedRef} />;\n }\n);\n\nContextMenuLabel.displayName = LABEL_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * ContextMenuItem\n * -----------------------------------------------------------------------------------------------*/\n\nconst ITEM_NAME = 'ContextMenuItem';\n\ntype ContextMenuItemElement = React.ElementRef<typeof MenuPrimitive.Item>;\ntype MenuItemProps = Radix.ComponentPropsWithoutRef<typeof MenuPrimitive.Item>;\ninterface ContextMenuItemProps extends MenuItemProps {}\n\nconst ContextMenuItem = React.forwardRef<ContextMenuItemElement, ContextMenuItemProps>(\n (props: ScopedProps<ContextMenuItemProps>, forwardedRef) => {\n const { __scopeContextMenu, ...itemProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return <MenuPrimitive.Item {...menuScope} {...itemProps} ref={forwardedRef} />;\n }\n);\n\nContextMenuItem.displayName = ITEM_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * ContextMenuTriggerItem\n * -----------------------------------------------------------------------------------------------*/\n\nconst TRIGGER_ITEM_NAME = 'ContextMenuTriggerItem';\n\ntype ContextMenuTriggerItemElement = React.ElementRef<typeof MenuPrimitive.SubTrigger>;\ntype MenuSubTriggerProps = Radix.ComponentPropsWithoutRef<typeof MenuPrimitive.SubTrigger>;\ninterface ContextMenuTriggerItemProps extends MenuSubTriggerProps {}\n\nconst ContextMenuTriggerItem = React.forwardRef<\n ContextMenuTriggerItemElement,\n ContextMenuTriggerItemProps\n>((props: ScopedProps<ContextMenuTriggerItemProps>, forwardedRef) => {\n const { __scopeContextMenu, ...triggerItemProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return <MenuPrimitive.SubTrigger {...menuScope} {...triggerItemProps} ref={forwardedRef} />;\n});\n\nContextMenuTriggerItem.displayName = TRIGGER_ITEM_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * ContextMenuCheckboxItem\n * -----------------------------------------------------------------------------------------------*/\n\nconst CHECKBOX_ITEM_NAME = 'ContextMenuCheckboxItem';\n\ntype ContextMenuCheckboxItemElement = React.ElementRef<typeof MenuPrimitive.CheckboxItem>;\ntype MenuCheckboxItemProps = Radix.ComponentPropsWithoutRef<typeof MenuPrimitive.CheckboxItem>;\ninterface ContextMenuCheckboxItemProps extends MenuCheckboxItemProps {}\n\nconst ContextMenuCheckboxItem = React.forwardRef<\n ContextMenuCheckboxItemElement,\n ContextMenuCheckboxItemProps\n>((props: ScopedProps<ContextMenuCheckboxItemProps>, forwardedRef) => {\n const { __scopeContextMenu, ...checkboxItemProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return <MenuPrimitive.CheckboxItem {...menuScope} {...checkboxItemProps} ref={forwardedRef} />;\n});\n\nContextMenuCheckboxItem.displayName = CHECKBOX_ITEM_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * ContextMenuRadioGroup\n * -----------------------------------------------------------------------------------------------*/\n\nconst RADIO_GROUP_NAME = 'ContextMenuRadioGroup';\n\ntype ContextMenuRadioGroupElement = React.ElementRef<typeof MenuPrimitive.RadioGroup>;\ntype MenuRadioGroupProps = Radix.ComponentPropsWithoutRef<typeof MenuPrimitive.RadioGroup>;\ninterface ContextMenuRadioGroupProps extends MenuRadioGroupProps {}\n\nconst ContextMenuRadioGroup = React.forwardRef<\n ContextMenuRadioGroupElement,\n ContextMenuRadioGroupProps\n>((props: ScopedProps<ContextMenuRadioGroupProps>, forwardedRef) => {\n const { __scopeContextMenu, ...radioGroupProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return <MenuPrimitive.RadioGroup {...menuScope} {...radioGroupProps} ref={forwardedRef} />;\n});\n\nContextMenuRadioGroup.displayName = RADIO_GROUP_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * ContextMenuRadioItem\n * -----------------------------------------------------------------------------------------------*/\n\nconst RADIO_ITEM_NAME = 'ContextMenuRadioItem';\n\ntype ContextMenuRadioItemElement = React.ElementRef<typeof MenuPrimitive.RadioItem>;\ntype MenuRadioItemProps = Radix.ComponentPropsWithoutRef<typeof MenuPrimitive.RadioItem>;\ninterface ContextMenuRadioItemProps extends MenuRadioItemProps {}\n\nconst ContextMenuRadioItem = React.forwardRef<\n ContextMenuRadioItemElement,\n ContextMenuRadioItemProps\n>((props: ScopedProps<ContextMenuRadioItemProps>, forwardedRef) => {\n const { __scopeContextMenu, ...radioItemProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return <MenuPrimitive.RadioItem {...menuScope} {...radioItemProps} ref={forwardedRef} />;\n});\n\nContextMenuRadioItem.displayName = RADIO_ITEM_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * ContextMenuItemIndicator\n * -----------------------------------------------------------------------------------------------*/\n\nconst INDICATOR_NAME = 'ContextMenuItemIndicator';\n\ntype ContextMenuItemIndicatorElement = React.ElementRef<typeof MenuPrimitive.ItemIndicator>;\ntype MenuItemIndicatorProps = Radix.ComponentPropsWithoutRef<typeof MenuPrimitive.ItemIndicator>;\ninterface ContextMenuItemIndicatorProps extends MenuItemIndicatorProps {}\n\nconst ContextMenuItemIndicator = React.forwardRef<\n ContextMenuItemIndicatorElement,\n ContextMenuItemIndicatorProps\n>((props: ScopedProps<ContextMenuItemIndicatorProps>, forwardedRef) => {\n const { __scopeContextMenu, ...itemIndicatorProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return <MenuPrimitive.ItemIndicator {...menuScope} {...itemIndicatorProps} ref={forwardedRef} />;\n});\n\nContextMenuItemIndicator.displayName = INDICATOR_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * ContextMenuSeparator\n * -----------------------------------------------------------------------------------------------*/\n\nconst SEPARATOR_NAME = 'ContextMenuSeparator';\n\ntype ContextMenuSeparatorElement = React.ElementRef<typeof MenuPrimitive.Separator>;\ntype MenuSeparatorProps = Radix.ComponentPropsWithoutRef<typeof MenuPrimitive.Separator>;\ninterface ContextMenuSeparatorProps extends MenuSeparatorProps {}\n\nconst ContextMenuSeparator = React.forwardRef<\n ContextMenuSeparatorElement,\n ContextMenuSeparatorProps\n>((props: ScopedProps<ContextMenuSeparatorProps>, forwardedRef) => {\n const { __scopeContextMenu, ...separatorProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return <MenuPrimitive.Separator {...menuScope} {...separatorProps} ref={forwardedRef} />;\n});\n\nContextMenuSeparator.displayName = SEPARATOR_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * ContextMenuArrow\n * -----------------------------------------------------------------------------------------------*/\n\nconst ARROW_NAME = 'ContextMenuArrow';\n\ntype ContextMenuArrowElement = React.ElementRef<typeof MenuPrimitive.Arrow>;\ntype MenuArrowProps = Radix.ComponentPropsWithoutRef<typeof MenuPrimitive.Arrow>;\ninterface ContextMenuArrowProps extends MenuArrowProps {}\n\nconst ContextMenuArrow = React.forwardRef<ContextMenuArrowElement, ContextMenuArrowProps>(\n (props: ScopedProps<ContextMenuArrowProps>, forwardedRef) => {\n const { __scopeContextMenu, ...arrowProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return <MenuPrimitive.Arrow {...menuScope} {...arrowProps} ref={forwardedRef} />;\n }\n);\n\nContextMenuArrow.displayName = ARROW_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\nfunction whenTouchOrPen<E>(handler: React.PointerEventHandler<E>): React.PointerEventHandler<E> {\n return (event) => (event.pointerType !== 'mouse' ? handler(event) : undefined);\n}\n\nconst Root = ContextMenu;\nconst Trigger = ContextMenuTrigger;\nconst Content = ContextMenuContent;\nconst Group = ContextMenuGroup;\nconst Label = ContextMenuLabel;\nconst Item = ContextMenuItem;\nconst TriggerItem = ContextMenuTriggerItem;\nconst CheckboxItem = ContextMenuCheckboxItem;\nconst RadioGroup = ContextMenuRadioGroup;\nconst RadioItem = ContextMenuRadioItem;\nconst ItemIndicator = ContextMenuItemIndicator;\nconst Separator = ContextMenuSeparator;\nconst Arrow = ContextMenuArrow;\n\nexport {\n createContextMenuScope,\n //\n ContextMenu,\n ContextMenuTrigger,\n ContextMenuContent,\n ContextMenuGroup,\n ContextMenuLabel,\n ContextMenuItem,\n ContextMenuTriggerItem,\n ContextMenuCheckboxItem,\n ContextMenuRadioGroup,\n ContextMenuRadioItem,\n ContextMenuItemIndicator,\n ContextMenuSeparator,\n ContextMenuArrow,\n //\n Root,\n Trigger,\n Content,\n Group,\n Label,\n Item,\n TriggerItem,\n CheckboxItem,\n RadioGroup,\n RadioItem,\n ItemIndicator,\n Separator,\n Arrow,\n};\nexport type {\n ContextMenuProps,\n ContextMenuTriggerProps,\n ContextMenuContentProps,\n ContextMenuGroupProps,\n ContextMenuLabelProps,\n ContextMenuItemProps,\n ContextMenuTriggerItemProps,\n ContextMenuCheckboxItemProps,\n ContextMenuRadioGroupProps,\n ContextMenuRadioItemProps,\n ContextMenuItemIndicatorProps,\n ContextMenuSeparatorProps,\n ContextMenuArrowProps,\n};\n"],"names":["a","__esModule","default","$parcel$exportWildcard","dest","source","Object","keys","forEach","key","defineProperty","enumerable","get","createContextMenuContext","createContextMenuScope","createContextScope","createMenuScope","useMenuScope","ContextMenuProvider","useContextMenuContext","ContextMenu","props","__scopeContextMenu","children","onOpenChange","dir","modal","open","setOpen","React","useState","contentContext","useContentContext","menuScope","handleOpenChangeProp","useCallbackRef","handleOpenChange","useCallback","isInsideContent","_react","createElement","$ffc34e43379ee114b0300eebc3d396c$var$ContextMenuProvider","scope","isRootMenu","_radixUiReactMenu","Sub","_babelRuntimeHelpersExtends","Root","ContextMenuTrigger","forwardRef","forwardedRef","triggerProps","context","pointRef","useRef","x","y","virtualRef","getBoundingClientRect","DOMRect","fromRect","width","height","current","longPressTimerRef","clearLongPress","window","clearTimeout","handleOpen","event","clientX","clientY","useEffect","$ffc34e43379ee114b0300eebc3d396c$var$ContentProvider","Anchor","Primitive","span","ref","style","WebkitTouchCallout","onContextMenu","composeEventHandlers","preventDefault","onPointerDown","whenTouchOrPen","setTimeout","onPointerMove","onPointerCancel","onPointerUp","ContentProvider","ContextMenuContent","contentProps","commonProps","$ffc34e43379ee114b0300eebc3d396c$var$ContextMenuRootContent","Content","ContextMenuRootContent","hasInteractedOutsideRef","portalled","side","sideOffset","align","onCloseAutoFocus","_props$onCloseAutoFoc","call","defaultPrevented","onInteractOutside","_props$onInteractOuts","ContextMenuGroup","groupProps","Group","ContextMenuLabel","labelProps","Label","ContextMenuItem","itemProps","Item","ContextMenuTriggerItem","triggerItemProps","SubTrigger","ContextMenuCheckboxItem","checkboxItemProps","CheckboxItem","ContextMenuRadioGroup","radioGroupProps","RadioGroup","ContextMenuRadioItem","radioItemProps","RadioItem","ContextMenuItemIndicator","itemIndicatorProps","ItemIndicator","ContextMenuSeparator","separatorProps","Separator","ContextMenuArrow","arrowProps","Arrow","handler","pointerType","undefined","Trigger","TriggerItem"],"version":3,"file":"index.js.map"}
|
|
1
|
+
{"mappings":"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","sources":["packages/react/context-menu/src/index.ts","packages/react/context-menu/src/ContextMenu.tsx"],"sourcesContent":["export * from './ContextMenu';\n","import * as React from 'react';\nimport { composeEventHandlers } from '@radix-ui/primitive';\nimport { createContextScope } from '@radix-ui/react-context';\nimport { Primitive } from '@radix-ui/react-primitive';\nimport * as MenuPrimitive from '@radix-ui/react-menu';\nimport { createMenuScope } from '@radix-ui/react-menu';\nimport { useCallbackRef } from '@radix-ui/react-use-callback-ref';\n\nimport type * as Radix from '@radix-ui/react-primitive';\nimport type { Scope } from '@radix-ui/react-context';\n\ntype Direction = 'ltr' | 'rtl';\ntype Point = { x: number; y: number };\n\n/* -------------------------------------------------------------------------------------------------\n * ContextMenu\n * -----------------------------------------------------------------------------------------------*/\n\nconst CONTEXT_MENU_NAME = 'ContextMenu';\n\ntype ScopedProps<P> = P & { __scopeContextMenu?: Scope };\nconst [createContextMenuContext, createContextMenuScope] = createContextScope(CONTEXT_MENU_NAME, [\n createMenuScope,\n]);\nconst useMenuScope = createMenuScope();\n\ntype ContextMenuContextValue = {\n isRootMenu: boolean;\n open: boolean;\n onOpenChange(open: boolean): void;\n modal: boolean;\n};\n\nconst [ContextMenuProvider, useContextMenuContext] =\n createContextMenuContext<ContextMenuContextValue>(CONTEXT_MENU_NAME);\n\ninterface ContextMenuProps {\n children?: React.ReactNode;\n onOpenChange?(open: boolean): void;\n dir?: Direction;\n modal?: boolean;\n}\n\nconst ContextMenu: React.FC<ContextMenuProps> = (props: ScopedProps<ContextMenuProps>) => {\n const { __scopeContextMenu, children, onOpenChange, dir, modal = true } = props;\n const [open, setOpen] = React.useState(false);\n const contentContext = useContentContext(CONTEXT_MENU_NAME, __scopeContextMenu);\n const menuScope = useMenuScope(__scopeContextMenu);\n const handleOpenChangeProp = useCallbackRef(onOpenChange);\n\n const handleOpenChange = React.useCallback(\n (open: boolean) => {\n setOpen(open);\n handleOpenChangeProp(open);\n },\n [handleOpenChangeProp]\n );\n\n return contentContext.isInsideContent ? (\n <ContextMenuProvider\n scope={__scopeContextMenu}\n isRootMenu={false}\n open={open}\n onOpenChange={handleOpenChange}\n modal={modal}\n >\n <MenuPrimitive.Sub {...menuScope} open={open} onOpenChange={handleOpenChange}>\n {children}\n </MenuPrimitive.Sub>\n </ContextMenuProvider>\n ) : (\n <ContextMenuProvider\n scope={__scopeContextMenu}\n isRootMenu={true}\n open={open}\n onOpenChange={handleOpenChange}\n modal={modal}\n >\n <MenuPrimitive.Root\n {...menuScope}\n dir={dir}\n open={open}\n onOpenChange={handleOpenChange}\n modal={modal}\n >\n {children}\n </MenuPrimitive.Root>\n </ContextMenuProvider>\n );\n};\n\nContextMenu.displayName = CONTEXT_MENU_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * ContextMenuTrigger\n * -----------------------------------------------------------------------------------------------*/\n\nconst TRIGGER_NAME = 'ContextMenuTrigger';\n\ntype ContextMenuTriggerElement = React.ElementRef<typeof Primitive.span>;\ntype PrimitiveSpanProps = Radix.ComponentPropsWithoutRef<typeof Primitive.span>;\ninterface ContextMenuTriggerProps extends PrimitiveSpanProps {}\n\nconst ContextMenuTrigger = React.forwardRef<ContextMenuTriggerElement, ContextMenuTriggerProps>(\n (props: ScopedProps<ContextMenuTriggerProps>, forwardedRef) => {\n const { __scopeContextMenu, ...triggerProps } = props;\n const context = useContextMenuContext(TRIGGER_NAME, __scopeContextMenu);\n const menuScope = useMenuScope(__scopeContextMenu);\n const pointRef = React.useRef<Point>({ x: 0, y: 0 });\n const virtualRef = React.useRef({\n getBoundingClientRect: () => DOMRect.fromRect({ width: 0, height: 0, ...pointRef.current }),\n });\n const longPressTimerRef = React.useRef(0);\n const clearLongPress = React.useCallback(\n () => window.clearTimeout(longPressTimerRef.current),\n []\n );\n const handleOpen = (event: React.MouseEvent | React.PointerEvent) => {\n pointRef.current = { x: event.clientX, y: event.clientY };\n context.onOpenChange(true);\n };\n\n React.useEffect(() => clearLongPress, [clearLongPress]);\n\n return (\n <ContentProvider scope={__scopeContextMenu} isInsideContent={false}>\n <MenuPrimitive.Anchor {...menuScope} virtualRef={virtualRef} />\n <Primitive.span\n {...triggerProps}\n ref={forwardedRef}\n // prevent iOS context menu from appearing\n style={{ WebkitTouchCallout: 'none', ...props.style }}\n onContextMenu={composeEventHandlers(props.onContextMenu, (event) => {\n // clearing the long press here because some platforms already support\n // long press to trigger a `contextmenu` event\n clearLongPress();\n event.preventDefault();\n handleOpen(event);\n })}\n onPointerDown={composeEventHandlers(\n props.onPointerDown,\n whenTouchOrPen((event) => {\n // clear the long press here in case there's multiple touch points\n clearLongPress();\n longPressTimerRef.current = window.setTimeout(() => handleOpen(event), 700);\n })\n )}\n onPointerMove={composeEventHandlers(props.onPointerMove, whenTouchOrPen(clearLongPress))}\n onPointerCancel={composeEventHandlers(\n props.onPointerCancel,\n whenTouchOrPen(clearLongPress)\n )}\n onPointerUp={composeEventHandlers(props.onPointerUp, whenTouchOrPen(clearLongPress))}\n />\n </ContentProvider>\n );\n }\n);\n\nContextMenuTrigger.displayName = TRIGGER_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * ContextMenuContent\n * -----------------------------------------------------------------------------------------------*/\n\nconst CONTENT_NAME = 'ContextMenuContent';\n\nconst [ContentProvider, useContentContext] = createContextMenuContext(CONTENT_NAME, {\n isInsideContent: false,\n});\n\ntype ContextMenuContentElement = React.ElementRef<typeof MenuPrimitive.Content>;\ntype MenuContentProps = Radix.ComponentPropsWithoutRef<typeof MenuPrimitive.Content>;\ninterface ContextMenuContentProps extends Omit<MenuContentProps, 'portalled' | 'side' | 'align'> {}\n\nconst ContextMenuContent = React.forwardRef<ContextMenuContentElement, ContextMenuContentProps>(\n (props: ScopedProps<ContextMenuContentProps>, forwardedRef) => {\n const { __scopeContextMenu, ...contentProps } = props;\n const context = useContextMenuContext(CONTENT_NAME, __scopeContextMenu);\n const menuScope = useMenuScope(__scopeContextMenu);\n\n const commonProps = {\n ...contentProps,\n style: {\n ...props.style,\n // re-namespace exposed content custom property\n ['--radix-context-menu-content-transform-origin' as any]:\n 'var(--radix-popper-transform-origin)',\n },\n };\n\n return (\n <ContentProvider scope={__scopeContextMenu} isInsideContent={true}>\n {context.isRootMenu ? (\n <ContextMenuRootContent\n __scopeContextMenu={__scopeContextMenu}\n {...commonProps}\n ref={forwardedRef}\n />\n ) : (\n <MenuPrimitive.Content {...menuScope} {...commonProps} ref={forwardedRef} />\n )}\n </ContentProvider>\n );\n }\n);\n\nContextMenuContent.displayName = CONTENT_NAME;\n\n/* ---------------------------------------------------------------------------------------------- */\n\ntype ContextMenuRootContentElement = React.ElementRef<typeof MenuPrimitive.Content>;\ninterface ContextMenuRootContentProps extends ScopedProps<MenuContentProps> {}\n\nconst ContextMenuRootContent = React.forwardRef<\n ContextMenuRootContentElement,\n ContextMenuRootContentProps\n>((props, forwardedRef) => {\n const { __scopeContextMenu, ...contentProps } = props;\n const context = useContextMenuContext(CONTENT_NAME, __scopeContextMenu);\n const menuScope = useMenuScope(__scopeContextMenu);\n const hasInteractedOutsideRef = React.useRef(false);\n return (\n <MenuPrimitive.Content\n {...menuScope}\n {...contentProps}\n ref={forwardedRef}\n portalled\n side=\"right\"\n sideOffset={2}\n align=\"start\"\n onCloseAutoFocus={(event) => {\n props.onCloseAutoFocus?.(event);\n\n if (!event.defaultPrevented && hasInteractedOutsideRef.current) {\n event.preventDefault();\n }\n\n hasInteractedOutsideRef.current = false;\n }}\n onInteractOutside={(event) => {\n props.onInteractOutside?.(event);\n\n if (!event.defaultPrevented && !context.modal) hasInteractedOutsideRef.current = true;\n }}\n />\n );\n});\n\n/* -------------------------------------------------------------------------------------------------\n * ContextMenuGroup\n * -----------------------------------------------------------------------------------------------*/\n\nconst GROUP_NAME = 'ContextMenuGroup';\n\ntype ContextMenuGroupElement = React.ElementRef<typeof MenuPrimitive.Group>;\ntype MenuGroupProps = Radix.ComponentPropsWithoutRef<typeof MenuPrimitive.Group>;\ninterface ContextMenuGroupProps extends MenuGroupProps {}\n\nconst ContextMenuGroup = React.forwardRef<ContextMenuGroupElement, ContextMenuGroupProps>(\n (props: ScopedProps<ContextMenuGroupProps>, forwardedRef) => {\n const { __scopeContextMenu, ...groupProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return <MenuPrimitive.Group {...menuScope} {...groupProps} ref={forwardedRef} />;\n }\n);\n\nContextMenuGroup.displayName = GROUP_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * ContextMenuLabel\n * -----------------------------------------------------------------------------------------------*/\n\nconst LABEL_NAME = 'ContextMenuLabel';\n\ntype ContextMenuLabelElement = React.ElementRef<typeof MenuPrimitive.Label>;\ntype MenuLabelProps = Radix.ComponentPropsWithoutRef<typeof MenuPrimitive.Label>;\ninterface ContextMenuLabelProps extends MenuLabelProps {}\n\nconst ContextMenuLabel = React.forwardRef<ContextMenuLabelElement, ContextMenuLabelProps>(\n (props: ScopedProps<ContextMenuLabelProps>, forwardedRef) => {\n const { __scopeContextMenu, ...labelProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return <MenuPrimitive.Label {...menuScope} {...labelProps} ref={forwardedRef} />;\n }\n);\n\nContextMenuLabel.displayName = LABEL_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * ContextMenuItem\n * -----------------------------------------------------------------------------------------------*/\n\nconst ITEM_NAME = 'ContextMenuItem';\n\ntype ContextMenuItemElement = React.ElementRef<typeof MenuPrimitive.Item>;\ntype MenuItemProps = Radix.ComponentPropsWithoutRef<typeof MenuPrimitive.Item>;\ninterface ContextMenuItemProps extends MenuItemProps {}\n\nconst ContextMenuItem = React.forwardRef<ContextMenuItemElement, ContextMenuItemProps>(\n (props: ScopedProps<ContextMenuItemProps>, forwardedRef) => {\n const { __scopeContextMenu, ...itemProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return <MenuPrimitive.Item {...menuScope} {...itemProps} ref={forwardedRef} />;\n }\n);\n\nContextMenuItem.displayName = ITEM_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * ContextMenuTriggerItem\n * -----------------------------------------------------------------------------------------------*/\n\nconst TRIGGER_ITEM_NAME = 'ContextMenuTriggerItem';\n\ntype ContextMenuTriggerItemElement = React.ElementRef<typeof MenuPrimitive.SubTrigger>;\ntype MenuSubTriggerProps = Radix.ComponentPropsWithoutRef<typeof MenuPrimitive.SubTrigger>;\ninterface ContextMenuTriggerItemProps extends MenuSubTriggerProps {}\n\nconst ContextMenuTriggerItem = React.forwardRef<\n ContextMenuTriggerItemElement,\n ContextMenuTriggerItemProps\n>((props: ScopedProps<ContextMenuTriggerItemProps>, forwardedRef) => {\n const { __scopeContextMenu, ...triggerItemProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return <MenuPrimitive.SubTrigger {...menuScope} {...triggerItemProps} ref={forwardedRef} />;\n});\n\nContextMenuTriggerItem.displayName = TRIGGER_ITEM_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * ContextMenuCheckboxItem\n * -----------------------------------------------------------------------------------------------*/\n\nconst CHECKBOX_ITEM_NAME = 'ContextMenuCheckboxItem';\n\ntype ContextMenuCheckboxItemElement = React.ElementRef<typeof MenuPrimitive.CheckboxItem>;\ntype MenuCheckboxItemProps = Radix.ComponentPropsWithoutRef<typeof MenuPrimitive.CheckboxItem>;\ninterface ContextMenuCheckboxItemProps extends MenuCheckboxItemProps {}\n\nconst ContextMenuCheckboxItem = React.forwardRef<\n ContextMenuCheckboxItemElement,\n ContextMenuCheckboxItemProps\n>((props: ScopedProps<ContextMenuCheckboxItemProps>, forwardedRef) => {\n const { __scopeContextMenu, ...checkboxItemProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return <MenuPrimitive.CheckboxItem {...menuScope} {...checkboxItemProps} ref={forwardedRef} />;\n});\n\nContextMenuCheckboxItem.displayName = CHECKBOX_ITEM_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * ContextMenuRadioGroup\n * -----------------------------------------------------------------------------------------------*/\n\nconst RADIO_GROUP_NAME = 'ContextMenuRadioGroup';\n\ntype ContextMenuRadioGroupElement = React.ElementRef<typeof MenuPrimitive.RadioGroup>;\ntype MenuRadioGroupProps = Radix.ComponentPropsWithoutRef<typeof MenuPrimitive.RadioGroup>;\ninterface ContextMenuRadioGroupProps extends MenuRadioGroupProps {}\n\nconst ContextMenuRadioGroup = React.forwardRef<\n ContextMenuRadioGroupElement,\n ContextMenuRadioGroupProps\n>((props: ScopedProps<ContextMenuRadioGroupProps>, forwardedRef) => {\n const { __scopeContextMenu, ...radioGroupProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return <MenuPrimitive.RadioGroup {...menuScope} {...radioGroupProps} ref={forwardedRef} />;\n});\n\nContextMenuRadioGroup.displayName = RADIO_GROUP_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * ContextMenuRadioItem\n * -----------------------------------------------------------------------------------------------*/\n\nconst RADIO_ITEM_NAME = 'ContextMenuRadioItem';\n\ntype ContextMenuRadioItemElement = React.ElementRef<typeof MenuPrimitive.RadioItem>;\ntype MenuRadioItemProps = Radix.ComponentPropsWithoutRef<typeof MenuPrimitive.RadioItem>;\ninterface ContextMenuRadioItemProps extends MenuRadioItemProps {}\n\nconst ContextMenuRadioItem = React.forwardRef<\n ContextMenuRadioItemElement,\n ContextMenuRadioItemProps\n>((props: ScopedProps<ContextMenuRadioItemProps>, forwardedRef) => {\n const { __scopeContextMenu, ...radioItemProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return <MenuPrimitive.RadioItem {...menuScope} {...radioItemProps} ref={forwardedRef} />;\n});\n\nContextMenuRadioItem.displayName = RADIO_ITEM_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * ContextMenuItemIndicator\n * -----------------------------------------------------------------------------------------------*/\n\nconst INDICATOR_NAME = 'ContextMenuItemIndicator';\n\ntype ContextMenuItemIndicatorElement = React.ElementRef<typeof MenuPrimitive.ItemIndicator>;\ntype MenuItemIndicatorProps = Radix.ComponentPropsWithoutRef<typeof MenuPrimitive.ItemIndicator>;\ninterface ContextMenuItemIndicatorProps extends MenuItemIndicatorProps {}\n\nconst ContextMenuItemIndicator = React.forwardRef<\n ContextMenuItemIndicatorElement,\n ContextMenuItemIndicatorProps\n>((props: ScopedProps<ContextMenuItemIndicatorProps>, forwardedRef) => {\n const { __scopeContextMenu, ...itemIndicatorProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return <MenuPrimitive.ItemIndicator {...menuScope} {...itemIndicatorProps} ref={forwardedRef} />;\n});\n\nContextMenuItemIndicator.displayName = INDICATOR_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * ContextMenuSeparator\n * -----------------------------------------------------------------------------------------------*/\n\nconst SEPARATOR_NAME = 'ContextMenuSeparator';\n\ntype ContextMenuSeparatorElement = React.ElementRef<typeof MenuPrimitive.Separator>;\ntype MenuSeparatorProps = Radix.ComponentPropsWithoutRef<typeof MenuPrimitive.Separator>;\ninterface ContextMenuSeparatorProps extends MenuSeparatorProps {}\n\nconst ContextMenuSeparator = React.forwardRef<\n ContextMenuSeparatorElement,\n ContextMenuSeparatorProps\n>((props: ScopedProps<ContextMenuSeparatorProps>, forwardedRef) => {\n const { __scopeContextMenu, ...separatorProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return <MenuPrimitive.Separator {...menuScope} {...separatorProps} ref={forwardedRef} />;\n});\n\nContextMenuSeparator.displayName = SEPARATOR_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * ContextMenuArrow\n * -----------------------------------------------------------------------------------------------*/\n\nconst ARROW_NAME = 'ContextMenuArrow';\n\ntype ContextMenuArrowElement = React.ElementRef<typeof MenuPrimitive.Arrow>;\ntype MenuArrowProps = Radix.ComponentPropsWithoutRef<typeof MenuPrimitive.Arrow>;\ninterface ContextMenuArrowProps extends MenuArrowProps {}\n\nconst ContextMenuArrow = React.forwardRef<ContextMenuArrowElement, ContextMenuArrowProps>(\n (props: ScopedProps<ContextMenuArrowProps>, forwardedRef) => {\n const { __scopeContextMenu, ...arrowProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return <MenuPrimitive.Arrow {...menuScope} {...arrowProps} ref={forwardedRef} />;\n }\n);\n\nContextMenuArrow.displayName = ARROW_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\nfunction whenTouchOrPen<E>(handler: React.PointerEventHandler<E>): React.PointerEventHandler<E> {\n return (event) => (event.pointerType !== 'mouse' ? handler(event) : undefined);\n}\n\nconst Root = ContextMenu;\nconst Trigger = ContextMenuTrigger;\nconst Content = ContextMenuContent;\nconst Group = ContextMenuGroup;\nconst Label = ContextMenuLabel;\nconst Item = ContextMenuItem;\nconst TriggerItem = ContextMenuTriggerItem;\nconst CheckboxItem = ContextMenuCheckboxItem;\nconst RadioGroup = ContextMenuRadioGroup;\nconst RadioItem = ContextMenuRadioItem;\nconst ItemIndicator = ContextMenuItemIndicator;\nconst Separator = ContextMenuSeparator;\nconst Arrow = ContextMenuArrow;\n\nexport {\n createContextMenuScope,\n //\n ContextMenu,\n ContextMenuTrigger,\n ContextMenuContent,\n ContextMenuGroup,\n ContextMenuLabel,\n ContextMenuItem,\n ContextMenuTriggerItem,\n ContextMenuCheckboxItem,\n ContextMenuRadioGroup,\n ContextMenuRadioItem,\n ContextMenuItemIndicator,\n ContextMenuSeparator,\n ContextMenuArrow,\n //\n Root,\n Trigger,\n Content,\n Group,\n Label,\n Item,\n TriggerItem,\n CheckboxItem,\n RadioGroup,\n RadioItem,\n ItemIndicator,\n Separator,\n Arrow,\n};\nexport type {\n ContextMenuProps,\n ContextMenuTriggerProps,\n ContextMenuContentProps,\n ContextMenuGroupProps,\n ContextMenuLabelProps,\n ContextMenuItemProps,\n ContextMenuTriggerItemProps,\n ContextMenuCheckboxItemProps,\n ContextMenuRadioGroupProps,\n ContextMenuRadioItemProps,\n ContextMenuItemIndicatorProps,\n ContextMenuSeparatorProps,\n ContextMenuArrowProps,\n};\n"],"names":["React","composeEventHandlers","createContextScope","Primitive","MenuPrimitive","createMenuScope","useCallbackRef","CONTEXT_MENU_NAME","createContextMenuContext","createContextMenuScope","useMenuScope","ContextMenuProvider","useContextMenuContext","ContextMenu","props","__scopeContextMenu","children","onOpenChange","dir","modal","open","setOpen","useState","contentContext","useContentContext","menuScope","handleOpenChangeProp","handleOpenChange","useCallback","isInsideContent","TRIGGER_NAME","ContextMenuTrigger","forwardRef","forwardedRef","triggerProps","context","pointRef","useRef","x","y","virtualRef","getBoundingClientRect","DOMRect","fromRect","width","height","current","longPressTimerRef","clearLongPress","window","clearTimeout","handleOpen","event","clientX","clientY","useEffect","WebkitTouchCallout","style","onContextMenu","preventDefault","onPointerDown","whenTouchOrPen","setTimeout","onPointerMove","onPointerCancel","onPointerUp","CONTENT_NAME","ContentProvider","ContextMenuContent","contentProps","commonProps","isRootMenu","ContextMenuRootContent","hasInteractedOutsideRef","onCloseAutoFocus","defaultPrevented","onInteractOutside","GROUP_NAME","ContextMenuGroup","groupProps","LABEL_NAME","ContextMenuLabel","labelProps","ITEM_NAME","ContextMenuItem","itemProps","TRIGGER_ITEM_NAME","ContextMenuTriggerItem","triggerItemProps","CHECKBOX_ITEM_NAME","ContextMenuCheckboxItem","checkboxItemProps","RADIO_GROUP_NAME","ContextMenuRadioGroup","radioGroupProps","RADIO_ITEM_NAME","ContextMenuRadioItem","radioItemProps","INDICATOR_NAME","ContextMenuItemIndicator","itemIndicatorProps","SEPARATOR_NAME","ContextMenuSeparator","separatorProps","ARROW_NAME","ContextMenuArrow","arrowProps","handler","pointerType","undefined","Root","Trigger","Content","Group","Label","Item","TriggerItem","CheckboxItem","RadioGroup","RadioItem","ItemIndicator","Separator","Arrow"],"version":3,"file":"index.js.map"}
|
package/dist/index.module.js
CHANGED
|
@@ -1,2 +1,367 @@
|
|
|
1
|
-
import
|
|
1
|
+
import $3TiJz$babelruntimehelpersesmextends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
+
import {useState as $3TiJz$useState, useCallback as $3TiJz$useCallback, createElement as $3TiJz$createElement, forwardRef as $3TiJz$forwardRef, useRef as $3TiJz$useRef, useEffect as $3TiJz$useEffect} from "react";
|
|
3
|
+
import {composeEventHandlers as $3TiJz$composeEventHandlers} from "@radix-ui/primitive";
|
|
4
|
+
import {createContextScope as $3TiJz$createContextScope} from "@radix-ui/react-context";
|
|
5
|
+
import {Primitive as $3TiJz$Primitive} from "@radix-ui/react-primitive";
|
|
6
|
+
import {createMenuScope as $3TiJz$createMenuScope, Sub as $3TiJz$Sub, Root as $3TiJz$Root, Anchor as $3TiJz$Anchor, Content as $3TiJz$Content, Group as $3TiJz$Group, Label as $3TiJz$Label, Item as $3TiJz$Item, SubTrigger as $3TiJz$SubTrigger, CheckboxItem as $3TiJz$CheckboxItem, RadioGroup as $3TiJz$RadioGroup, RadioItem as $3TiJz$RadioItem, ItemIndicator as $3TiJz$ItemIndicator, Separator as $3TiJz$Separator, Arrow as $3TiJz$Arrow} from "@radix-ui/react-menu";
|
|
7
|
+
import {useCallbackRef as $3TiJz$useCallbackRef} from "@radix-ui/react-use-callback-ref";
|
|
8
|
+
|
|
9
|
+
function $parcel$export(e, n, v, s) {
|
|
10
|
+
Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});
|
|
11
|
+
}
|
|
12
|
+
var $1b0217ee4a91d156$exports = {};
|
|
13
|
+
|
|
14
|
+
$parcel$export($1b0217ee4a91d156$exports, "createContextMenuScope", () => $1b0217ee4a91d156$export$1059331f43ddcc82);
|
|
15
|
+
$parcel$export($1b0217ee4a91d156$exports, "ContextMenu", () => $1b0217ee4a91d156$export$8dc6765e8be191c7);
|
|
16
|
+
$parcel$export($1b0217ee4a91d156$exports, "ContextMenuTrigger", () => $1b0217ee4a91d156$export$be6fc7b1d5b0beb9);
|
|
17
|
+
$parcel$export($1b0217ee4a91d156$exports, "ContextMenuContent", () => $1b0217ee4a91d156$export$572205900c9369e);
|
|
18
|
+
$parcel$export($1b0217ee4a91d156$exports, "ContextMenuGroup", () => $1b0217ee4a91d156$export$9860523b0fcdd664);
|
|
19
|
+
$parcel$export($1b0217ee4a91d156$exports, "ContextMenuLabel", () => $1b0217ee4a91d156$export$d4b9d3b609a10742);
|
|
20
|
+
$parcel$export($1b0217ee4a91d156$exports, "ContextMenuItem", () => $1b0217ee4a91d156$export$16a26dc176a49100);
|
|
21
|
+
$parcel$export($1b0217ee4a91d156$exports, "ContextMenuTriggerItem", () => $1b0217ee4a91d156$export$105a322f21932c2b);
|
|
22
|
+
$parcel$export($1b0217ee4a91d156$exports, "ContextMenuCheckboxItem", () => $1b0217ee4a91d156$export$b6adbe51d5d8b7ec);
|
|
23
|
+
$parcel$export($1b0217ee4a91d156$exports, "ContextMenuRadioGroup", () => $1b0217ee4a91d156$export$db5c89af5ed9aa07);
|
|
24
|
+
$parcel$export($1b0217ee4a91d156$exports, "ContextMenuRadioItem", () => $1b0217ee4a91d156$export$8a727d09a7d9bfc2);
|
|
25
|
+
$parcel$export($1b0217ee4a91d156$exports, "ContextMenuItemIndicator", () => $1b0217ee4a91d156$export$9ed8194dee42d94b);
|
|
26
|
+
$parcel$export($1b0217ee4a91d156$exports, "ContextMenuSeparator", () => $1b0217ee4a91d156$export$8d6b009fadfe1207);
|
|
27
|
+
$parcel$export($1b0217ee4a91d156$exports, "ContextMenuArrow", () => $1b0217ee4a91d156$export$f47d0a58228a61e2);
|
|
28
|
+
$parcel$export($1b0217ee4a91d156$exports, "Root", () => $1b0217ee4a91d156$export$be92b6f5f03c0fe9);
|
|
29
|
+
$parcel$export($1b0217ee4a91d156$exports, "Trigger", () => $1b0217ee4a91d156$export$41fb9f06171c75f4);
|
|
30
|
+
$parcel$export($1b0217ee4a91d156$exports, "Content", () => $1b0217ee4a91d156$export$7c6e2c02157bb7d2);
|
|
31
|
+
$parcel$export($1b0217ee4a91d156$exports, "Group", () => $1b0217ee4a91d156$export$eb2fcfdbd7ba97d4);
|
|
32
|
+
$parcel$export($1b0217ee4a91d156$exports, "Label", () => $1b0217ee4a91d156$export$b04be29aa201d4f5);
|
|
33
|
+
$parcel$export($1b0217ee4a91d156$exports, "Item", () => $1b0217ee4a91d156$export$6d08773d2e66f8f2);
|
|
34
|
+
$parcel$export($1b0217ee4a91d156$exports, "TriggerItem", () => $1b0217ee4a91d156$export$6d0911d397e3b965);
|
|
35
|
+
$parcel$export($1b0217ee4a91d156$exports, "CheckboxItem", () => $1b0217ee4a91d156$export$16ce288f89fa631c);
|
|
36
|
+
$parcel$export($1b0217ee4a91d156$exports, "RadioGroup", () => $1b0217ee4a91d156$export$a98f0dcb43a68a25);
|
|
37
|
+
$parcel$export($1b0217ee4a91d156$exports, "RadioItem", () => $1b0217ee4a91d156$export$371ab307eab489c0);
|
|
38
|
+
$parcel$export($1b0217ee4a91d156$exports, "ItemIndicator", () => $1b0217ee4a91d156$export$c3468e2714d175fa);
|
|
39
|
+
$parcel$export($1b0217ee4a91d156$exports, "Separator", () => $1b0217ee4a91d156$export$1ff3c3f08ae963c0);
|
|
40
|
+
$parcel$export($1b0217ee4a91d156$exports, "Arrow", () => $1b0217ee4a91d156$export$21b07c8f274aebd5);
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
/* -------------------------------------------------------------------------------------------------
|
|
50
|
+
* ContextMenu
|
|
51
|
+
* -----------------------------------------------------------------------------------------------*/ const $1b0217ee4a91d156$var$CONTEXT_MENU_NAME = 'ContextMenu';
|
|
52
|
+
const [$1b0217ee4a91d156$var$createContextMenuContext, $1b0217ee4a91d156$export$1059331f43ddcc82] = $3TiJz$createContextScope($1b0217ee4a91d156$var$CONTEXT_MENU_NAME, [
|
|
53
|
+
$3TiJz$createMenuScope
|
|
54
|
+
]);
|
|
55
|
+
const $1b0217ee4a91d156$var$useMenuScope = $3TiJz$createMenuScope();
|
|
56
|
+
const [$1b0217ee4a91d156$var$ContextMenuProvider, $1b0217ee4a91d156$var$useContextMenuContext] = $1b0217ee4a91d156$var$createContextMenuContext($1b0217ee4a91d156$var$CONTEXT_MENU_NAME);
|
|
57
|
+
const $1b0217ee4a91d156$export$8dc6765e8be191c7 = (props)=>{
|
|
58
|
+
const { __scopeContextMenu: __scopeContextMenu , children: children , onOpenChange: onOpenChange , dir: dir , modal: modal = true } = props;
|
|
59
|
+
const [open1, setOpen] = $3TiJz$useState(false);
|
|
60
|
+
const contentContext = $1b0217ee4a91d156$var$useContentContext($1b0217ee4a91d156$var$CONTEXT_MENU_NAME, __scopeContextMenu);
|
|
61
|
+
const menuScope = $1b0217ee4a91d156$var$useMenuScope(__scopeContextMenu);
|
|
62
|
+
const handleOpenChangeProp = $3TiJz$useCallbackRef(onOpenChange);
|
|
63
|
+
const handleOpenChange = $3TiJz$useCallback((open)=>{
|
|
64
|
+
setOpen(open);
|
|
65
|
+
handleOpenChangeProp(open);
|
|
66
|
+
}, [
|
|
67
|
+
handleOpenChangeProp
|
|
68
|
+
]);
|
|
69
|
+
return contentContext.isInsideContent ? /*#__PURE__*/ $3TiJz$createElement($1b0217ee4a91d156$var$ContextMenuProvider, {
|
|
70
|
+
scope: __scopeContextMenu,
|
|
71
|
+
isRootMenu: false,
|
|
72
|
+
open: open1,
|
|
73
|
+
onOpenChange: handleOpenChange,
|
|
74
|
+
modal: modal
|
|
75
|
+
}, /*#__PURE__*/ $3TiJz$createElement($3TiJz$Sub, $3TiJz$babelruntimehelpersesmextends({}, menuScope, {
|
|
76
|
+
open: open1,
|
|
77
|
+
onOpenChange: handleOpenChange
|
|
78
|
+
}), children)) : /*#__PURE__*/ $3TiJz$createElement($1b0217ee4a91d156$var$ContextMenuProvider, {
|
|
79
|
+
scope: __scopeContextMenu,
|
|
80
|
+
isRootMenu: true,
|
|
81
|
+
open: open1,
|
|
82
|
+
onOpenChange: handleOpenChange,
|
|
83
|
+
modal: modal
|
|
84
|
+
}, /*#__PURE__*/ $3TiJz$createElement($3TiJz$Root, $3TiJz$babelruntimehelpersesmextends({}, menuScope, {
|
|
85
|
+
dir: dir,
|
|
86
|
+
open: open1,
|
|
87
|
+
onOpenChange: handleOpenChange,
|
|
88
|
+
modal: modal
|
|
89
|
+
}), children));
|
|
90
|
+
};
|
|
91
|
+
/*#__PURE__*/ Object.assign($1b0217ee4a91d156$export$8dc6765e8be191c7, {
|
|
92
|
+
displayName: $1b0217ee4a91d156$var$CONTEXT_MENU_NAME
|
|
93
|
+
});
|
|
94
|
+
/* -------------------------------------------------------------------------------------------------
|
|
95
|
+
* ContextMenuTrigger
|
|
96
|
+
* -----------------------------------------------------------------------------------------------*/ const $1b0217ee4a91d156$var$TRIGGER_NAME = 'ContextMenuTrigger';
|
|
97
|
+
const $1b0217ee4a91d156$export$be6fc7b1d5b0beb9 = /*#__PURE__*/ $3TiJz$forwardRef((props, forwardedRef)=>{
|
|
98
|
+
const { __scopeContextMenu: __scopeContextMenu , ...triggerProps } = props;
|
|
99
|
+
const context = $1b0217ee4a91d156$var$useContextMenuContext($1b0217ee4a91d156$var$TRIGGER_NAME, __scopeContextMenu);
|
|
100
|
+
const menuScope = $1b0217ee4a91d156$var$useMenuScope(__scopeContextMenu);
|
|
101
|
+
const pointRef = $3TiJz$useRef({
|
|
102
|
+
x: 0,
|
|
103
|
+
y: 0
|
|
104
|
+
});
|
|
105
|
+
const virtualRef = $3TiJz$useRef({
|
|
106
|
+
getBoundingClientRect: ()=>DOMRect.fromRect({
|
|
107
|
+
width: 0,
|
|
108
|
+
height: 0,
|
|
109
|
+
...pointRef.current
|
|
110
|
+
})
|
|
111
|
+
});
|
|
112
|
+
const longPressTimerRef = $3TiJz$useRef(0);
|
|
113
|
+
const clearLongPress = $3TiJz$useCallback(()=>window.clearTimeout(longPressTimerRef.current)
|
|
114
|
+
, []);
|
|
115
|
+
const handleOpen = (event)=>{
|
|
116
|
+
pointRef.current = {
|
|
117
|
+
x: event.clientX,
|
|
118
|
+
y: event.clientY
|
|
119
|
+
};
|
|
120
|
+
context.onOpenChange(true);
|
|
121
|
+
};
|
|
122
|
+
$3TiJz$useEffect(()=>clearLongPress
|
|
123
|
+
, [
|
|
124
|
+
clearLongPress
|
|
125
|
+
]);
|
|
126
|
+
return /*#__PURE__*/ $3TiJz$createElement($1b0217ee4a91d156$var$ContentProvider, {
|
|
127
|
+
scope: __scopeContextMenu,
|
|
128
|
+
isInsideContent: false
|
|
129
|
+
}, /*#__PURE__*/ $3TiJz$createElement($3TiJz$Anchor, $3TiJz$babelruntimehelpersesmextends({}, menuScope, {
|
|
130
|
+
virtualRef: virtualRef
|
|
131
|
+
})), /*#__PURE__*/ $3TiJz$createElement($3TiJz$Primitive.span, $3TiJz$babelruntimehelpersesmextends({}, triggerProps, {
|
|
132
|
+
ref: forwardedRef // prevent iOS context menu from appearing
|
|
133
|
+
,
|
|
134
|
+
style: {
|
|
135
|
+
WebkitTouchCallout: 'none',
|
|
136
|
+
...props.style
|
|
137
|
+
},
|
|
138
|
+
onContextMenu: $3TiJz$composeEventHandlers(props.onContextMenu, (event)=>{
|
|
139
|
+
// clearing the long press here because some platforms already support
|
|
140
|
+
// long press to trigger a `contextmenu` event
|
|
141
|
+
clearLongPress();
|
|
142
|
+
event.preventDefault();
|
|
143
|
+
handleOpen(event);
|
|
144
|
+
}),
|
|
145
|
+
onPointerDown: $3TiJz$composeEventHandlers(props.onPointerDown, $1b0217ee4a91d156$var$whenTouchOrPen((event)=>{
|
|
146
|
+
// clear the long press here in case there's multiple touch points
|
|
147
|
+
clearLongPress();
|
|
148
|
+
longPressTimerRef.current = window.setTimeout(()=>handleOpen(event)
|
|
149
|
+
, 700);
|
|
150
|
+
})),
|
|
151
|
+
onPointerMove: $3TiJz$composeEventHandlers(props.onPointerMove, $1b0217ee4a91d156$var$whenTouchOrPen(clearLongPress)),
|
|
152
|
+
onPointerCancel: $3TiJz$composeEventHandlers(props.onPointerCancel, $1b0217ee4a91d156$var$whenTouchOrPen(clearLongPress)),
|
|
153
|
+
onPointerUp: $3TiJz$composeEventHandlers(props.onPointerUp, $1b0217ee4a91d156$var$whenTouchOrPen(clearLongPress))
|
|
154
|
+
})));
|
|
155
|
+
});
|
|
156
|
+
/*#__PURE__*/ Object.assign($1b0217ee4a91d156$export$be6fc7b1d5b0beb9, {
|
|
157
|
+
displayName: $1b0217ee4a91d156$var$TRIGGER_NAME
|
|
158
|
+
});
|
|
159
|
+
/* -------------------------------------------------------------------------------------------------
|
|
160
|
+
* ContextMenuContent
|
|
161
|
+
* -----------------------------------------------------------------------------------------------*/ const $1b0217ee4a91d156$var$CONTENT_NAME = 'ContextMenuContent';
|
|
162
|
+
const [$1b0217ee4a91d156$var$ContentProvider, $1b0217ee4a91d156$var$useContentContext] = $1b0217ee4a91d156$var$createContextMenuContext($1b0217ee4a91d156$var$CONTENT_NAME, {
|
|
163
|
+
isInsideContent: false
|
|
164
|
+
});
|
|
165
|
+
const $1b0217ee4a91d156$export$572205900c9369e = /*#__PURE__*/ $3TiJz$forwardRef((props, forwardedRef)=>{
|
|
166
|
+
const { __scopeContextMenu: __scopeContextMenu , ...contentProps } = props;
|
|
167
|
+
const context = $1b0217ee4a91d156$var$useContextMenuContext($1b0217ee4a91d156$var$CONTENT_NAME, __scopeContextMenu);
|
|
168
|
+
const menuScope = $1b0217ee4a91d156$var$useMenuScope(__scopeContextMenu);
|
|
169
|
+
const commonProps = {
|
|
170
|
+
...contentProps,
|
|
171
|
+
style: {
|
|
172
|
+
...props.style,
|
|
173
|
+
// re-namespace exposed content custom property
|
|
174
|
+
['--radix-context-menu-content-transform-origin']: 'var(--radix-popper-transform-origin)'
|
|
175
|
+
}
|
|
176
|
+
};
|
|
177
|
+
return /*#__PURE__*/ $3TiJz$createElement($1b0217ee4a91d156$var$ContentProvider, {
|
|
178
|
+
scope: __scopeContextMenu,
|
|
179
|
+
isInsideContent: true
|
|
180
|
+
}, context.isRootMenu ? /*#__PURE__*/ $3TiJz$createElement($1b0217ee4a91d156$var$ContextMenuRootContent, $3TiJz$babelruntimehelpersesmextends({
|
|
181
|
+
__scopeContextMenu: __scopeContextMenu
|
|
182
|
+
}, commonProps, {
|
|
183
|
+
ref: forwardedRef
|
|
184
|
+
})) : /*#__PURE__*/ $3TiJz$createElement($3TiJz$Content, $3TiJz$babelruntimehelpersesmextends({}, menuScope, commonProps, {
|
|
185
|
+
ref: forwardedRef
|
|
186
|
+
})));
|
|
187
|
+
});
|
|
188
|
+
/*#__PURE__*/ Object.assign($1b0217ee4a91d156$export$572205900c9369e, {
|
|
189
|
+
displayName: $1b0217ee4a91d156$var$CONTENT_NAME
|
|
190
|
+
});
|
|
191
|
+
/* ---------------------------------------------------------------------------------------------- */ const $1b0217ee4a91d156$var$ContextMenuRootContent = /*#__PURE__*/ $3TiJz$forwardRef((props, forwardedRef)=>{
|
|
192
|
+
const { __scopeContextMenu: __scopeContextMenu , ...contentProps } = props;
|
|
193
|
+
const context = $1b0217ee4a91d156$var$useContextMenuContext($1b0217ee4a91d156$var$CONTENT_NAME, __scopeContextMenu);
|
|
194
|
+
const menuScope = $1b0217ee4a91d156$var$useMenuScope(__scopeContextMenu);
|
|
195
|
+
const hasInteractedOutsideRef = $3TiJz$useRef(false);
|
|
196
|
+
return /*#__PURE__*/ $3TiJz$createElement($3TiJz$Content, $3TiJz$babelruntimehelpersesmextends({}, menuScope, contentProps, {
|
|
197
|
+
ref: forwardedRef,
|
|
198
|
+
portalled: true,
|
|
199
|
+
side: "right",
|
|
200
|
+
sideOffset: 2,
|
|
201
|
+
align: "start",
|
|
202
|
+
onCloseAutoFocus: (event)=>{
|
|
203
|
+
var _props$onCloseAutoFoc;
|
|
204
|
+
(_props$onCloseAutoFoc = props.onCloseAutoFocus) === null || _props$onCloseAutoFoc === void 0 || _props$onCloseAutoFoc.call(props, event);
|
|
205
|
+
if (!event.defaultPrevented && hasInteractedOutsideRef.current) event.preventDefault();
|
|
206
|
+
hasInteractedOutsideRef.current = false;
|
|
207
|
+
},
|
|
208
|
+
onInteractOutside: (event)=>{
|
|
209
|
+
var _props$onInteractOuts;
|
|
210
|
+
(_props$onInteractOuts = props.onInteractOutside) === null || _props$onInteractOuts === void 0 || _props$onInteractOuts.call(props, event);
|
|
211
|
+
if (!event.defaultPrevented && !context.modal) hasInteractedOutsideRef.current = true;
|
|
212
|
+
}
|
|
213
|
+
}));
|
|
214
|
+
});
|
|
215
|
+
/* -------------------------------------------------------------------------------------------------
|
|
216
|
+
* ContextMenuGroup
|
|
217
|
+
* -----------------------------------------------------------------------------------------------*/ const $1b0217ee4a91d156$var$GROUP_NAME = 'ContextMenuGroup';
|
|
218
|
+
const $1b0217ee4a91d156$export$9860523b0fcdd664 = /*#__PURE__*/ $3TiJz$forwardRef((props, forwardedRef)=>{
|
|
219
|
+
const { __scopeContextMenu: __scopeContextMenu , ...groupProps } = props;
|
|
220
|
+
const menuScope = $1b0217ee4a91d156$var$useMenuScope(__scopeContextMenu);
|
|
221
|
+
return /*#__PURE__*/ $3TiJz$createElement($3TiJz$Group, $3TiJz$babelruntimehelpersesmextends({}, menuScope, groupProps, {
|
|
222
|
+
ref: forwardedRef
|
|
223
|
+
}));
|
|
224
|
+
});
|
|
225
|
+
/*#__PURE__*/ Object.assign($1b0217ee4a91d156$export$9860523b0fcdd664, {
|
|
226
|
+
displayName: $1b0217ee4a91d156$var$GROUP_NAME
|
|
227
|
+
});
|
|
228
|
+
/* -------------------------------------------------------------------------------------------------
|
|
229
|
+
* ContextMenuLabel
|
|
230
|
+
* -----------------------------------------------------------------------------------------------*/ const $1b0217ee4a91d156$var$LABEL_NAME = 'ContextMenuLabel';
|
|
231
|
+
const $1b0217ee4a91d156$export$d4b9d3b609a10742 = /*#__PURE__*/ $3TiJz$forwardRef((props, forwardedRef)=>{
|
|
232
|
+
const { __scopeContextMenu: __scopeContextMenu , ...labelProps } = props;
|
|
233
|
+
const menuScope = $1b0217ee4a91d156$var$useMenuScope(__scopeContextMenu);
|
|
234
|
+
return /*#__PURE__*/ $3TiJz$createElement($3TiJz$Label, $3TiJz$babelruntimehelpersesmextends({}, menuScope, labelProps, {
|
|
235
|
+
ref: forwardedRef
|
|
236
|
+
}));
|
|
237
|
+
});
|
|
238
|
+
/*#__PURE__*/ Object.assign($1b0217ee4a91d156$export$d4b9d3b609a10742, {
|
|
239
|
+
displayName: $1b0217ee4a91d156$var$LABEL_NAME
|
|
240
|
+
});
|
|
241
|
+
/* -------------------------------------------------------------------------------------------------
|
|
242
|
+
* ContextMenuItem
|
|
243
|
+
* -----------------------------------------------------------------------------------------------*/ const $1b0217ee4a91d156$var$ITEM_NAME = 'ContextMenuItem';
|
|
244
|
+
const $1b0217ee4a91d156$export$16a26dc176a49100 = /*#__PURE__*/ $3TiJz$forwardRef((props, forwardedRef)=>{
|
|
245
|
+
const { __scopeContextMenu: __scopeContextMenu , ...itemProps } = props;
|
|
246
|
+
const menuScope = $1b0217ee4a91d156$var$useMenuScope(__scopeContextMenu);
|
|
247
|
+
return /*#__PURE__*/ $3TiJz$createElement($3TiJz$Item, $3TiJz$babelruntimehelpersesmextends({}, menuScope, itemProps, {
|
|
248
|
+
ref: forwardedRef
|
|
249
|
+
}));
|
|
250
|
+
});
|
|
251
|
+
/*#__PURE__*/ Object.assign($1b0217ee4a91d156$export$16a26dc176a49100, {
|
|
252
|
+
displayName: $1b0217ee4a91d156$var$ITEM_NAME
|
|
253
|
+
});
|
|
254
|
+
/* -------------------------------------------------------------------------------------------------
|
|
255
|
+
* ContextMenuTriggerItem
|
|
256
|
+
* -----------------------------------------------------------------------------------------------*/ const $1b0217ee4a91d156$var$TRIGGER_ITEM_NAME = 'ContextMenuTriggerItem';
|
|
257
|
+
const $1b0217ee4a91d156$export$105a322f21932c2b = /*#__PURE__*/ $3TiJz$forwardRef((props, forwardedRef)=>{
|
|
258
|
+
const { __scopeContextMenu: __scopeContextMenu , ...triggerItemProps } = props;
|
|
259
|
+
const menuScope = $1b0217ee4a91d156$var$useMenuScope(__scopeContextMenu);
|
|
260
|
+
return /*#__PURE__*/ $3TiJz$createElement($3TiJz$SubTrigger, $3TiJz$babelruntimehelpersesmextends({}, menuScope, triggerItemProps, {
|
|
261
|
+
ref: forwardedRef
|
|
262
|
+
}));
|
|
263
|
+
});
|
|
264
|
+
/*#__PURE__*/ Object.assign($1b0217ee4a91d156$export$105a322f21932c2b, {
|
|
265
|
+
displayName: $1b0217ee4a91d156$var$TRIGGER_ITEM_NAME
|
|
266
|
+
});
|
|
267
|
+
/* -------------------------------------------------------------------------------------------------
|
|
268
|
+
* ContextMenuCheckboxItem
|
|
269
|
+
* -----------------------------------------------------------------------------------------------*/ const $1b0217ee4a91d156$var$CHECKBOX_ITEM_NAME = 'ContextMenuCheckboxItem';
|
|
270
|
+
const $1b0217ee4a91d156$export$b6adbe51d5d8b7ec = /*#__PURE__*/ $3TiJz$forwardRef((props, forwardedRef)=>{
|
|
271
|
+
const { __scopeContextMenu: __scopeContextMenu , ...checkboxItemProps } = props;
|
|
272
|
+
const menuScope = $1b0217ee4a91d156$var$useMenuScope(__scopeContextMenu);
|
|
273
|
+
return /*#__PURE__*/ $3TiJz$createElement($3TiJz$CheckboxItem, $3TiJz$babelruntimehelpersesmextends({}, menuScope, checkboxItemProps, {
|
|
274
|
+
ref: forwardedRef
|
|
275
|
+
}));
|
|
276
|
+
});
|
|
277
|
+
/*#__PURE__*/ Object.assign($1b0217ee4a91d156$export$b6adbe51d5d8b7ec, {
|
|
278
|
+
displayName: $1b0217ee4a91d156$var$CHECKBOX_ITEM_NAME
|
|
279
|
+
});
|
|
280
|
+
/* -------------------------------------------------------------------------------------------------
|
|
281
|
+
* ContextMenuRadioGroup
|
|
282
|
+
* -----------------------------------------------------------------------------------------------*/ const $1b0217ee4a91d156$var$RADIO_GROUP_NAME = 'ContextMenuRadioGroup';
|
|
283
|
+
const $1b0217ee4a91d156$export$db5c89af5ed9aa07 = /*#__PURE__*/ $3TiJz$forwardRef((props, forwardedRef)=>{
|
|
284
|
+
const { __scopeContextMenu: __scopeContextMenu , ...radioGroupProps } = props;
|
|
285
|
+
const menuScope = $1b0217ee4a91d156$var$useMenuScope(__scopeContextMenu);
|
|
286
|
+
return /*#__PURE__*/ $3TiJz$createElement($3TiJz$RadioGroup, $3TiJz$babelruntimehelpersesmextends({}, menuScope, radioGroupProps, {
|
|
287
|
+
ref: forwardedRef
|
|
288
|
+
}));
|
|
289
|
+
});
|
|
290
|
+
/*#__PURE__*/ Object.assign($1b0217ee4a91d156$export$db5c89af5ed9aa07, {
|
|
291
|
+
displayName: $1b0217ee4a91d156$var$RADIO_GROUP_NAME
|
|
292
|
+
});
|
|
293
|
+
/* -------------------------------------------------------------------------------------------------
|
|
294
|
+
* ContextMenuRadioItem
|
|
295
|
+
* -----------------------------------------------------------------------------------------------*/ const $1b0217ee4a91d156$var$RADIO_ITEM_NAME = 'ContextMenuRadioItem';
|
|
296
|
+
const $1b0217ee4a91d156$export$8a727d09a7d9bfc2 = /*#__PURE__*/ $3TiJz$forwardRef((props, forwardedRef)=>{
|
|
297
|
+
const { __scopeContextMenu: __scopeContextMenu , ...radioItemProps } = props;
|
|
298
|
+
const menuScope = $1b0217ee4a91d156$var$useMenuScope(__scopeContextMenu);
|
|
299
|
+
return /*#__PURE__*/ $3TiJz$createElement($3TiJz$RadioItem, $3TiJz$babelruntimehelpersesmextends({}, menuScope, radioItemProps, {
|
|
300
|
+
ref: forwardedRef
|
|
301
|
+
}));
|
|
302
|
+
});
|
|
303
|
+
/*#__PURE__*/ Object.assign($1b0217ee4a91d156$export$8a727d09a7d9bfc2, {
|
|
304
|
+
displayName: $1b0217ee4a91d156$var$RADIO_ITEM_NAME
|
|
305
|
+
});
|
|
306
|
+
/* -------------------------------------------------------------------------------------------------
|
|
307
|
+
* ContextMenuItemIndicator
|
|
308
|
+
* -----------------------------------------------------------------------------------------------*/ const $1b0217ee4a91d156$var$INDICATOR_NAME = 'ContextMenuItemIndicator';
|
|
309
|
+
const $1b0217ee4a91d156$export$9ed8194dee42d94b = /*#__PURE__*/ $3TiJz$forwardRef((props, forwardedRef)=>{
|
|
310
|
+
const { __scopeContextMenu: __scopeContextMenu , ...itemIndicatorProps } = props;
|
|
311
|
+
const menuScope = $1b0217ee4a91d156$var$useMenuScope(__scopeContextMenu);
|
|
312
|
+
return /*#__PURE__*/ $3TiJz$createElement($3TiJz$ItemIndicator, $3TiJz$babelruntimehelpersesmextends({}, menuScope, itemIndicatorProps, {
|
|
313
|
+
ref: forwardedRef
|
|
314
|
+
}));
|
|
315
|
+
});
|
|
316
|
+
/*#__PURE__*/ Object.assign($1b0217ee4a91d156$export$9ed8194dee42d94b, {
|
|
317
|
+
displayName: $1b0217ee4a91d156$var$INDICATOR_NAME
|
|
318
|
+
});
|
|
319
|
+
/* -------------------------------------------------------------------------------------------------
|
|
320
|
+
* ContextMenuSeparator
|
|
321
|
+
* -----------------------------------------------------------------------------------------------*/ const $1b0217ee4a91d156$var$SEPARATOR_NAME = 'ContextMenuSeparator';
|
|
322
|
+
const $1b0217ee4a91d156$export$8d6b009fadfe1207 = /*#__PURE__*/ $3TiJz$forwardRef((props, forwardedRef)=>{
|
|
323
|
+
const { __scopeContextMenu: __scopeContextMenu , ...separatorProps } = props;
|
|
324
|
+
const menuScope = $1b0217ee4a91d156$var$useMenuScope(__scopeContextMenu);
|
|
325
|
+
return /*#__PURE__*/ $3TiJz$createElement($3TiJz$Separator, $3TiJz$babelruntimehelpersesmextends({}, menuScope, separatorProps, {
|
|
326
|
+
ref: forwardedRef
|
|
327
|
+
}));
|
|
328
|
+
});
|
|
329
|
+
/*#__PURE__*/ Object.assign($1b0217ee4a91d156$export$8d6b009fadfe1207, {
|
|
330
|
+
displayName: $1b0217ee4a91d156$var$SEPARATOR_NAME
|
|
331
|
+
});
|
|
332
|
+
/* -------------------------------------------------------------------------------------------------
|
|
333
|
+
* ContextMenuArrow
|
|
334
|
+
* -----------------------------------------------------------------------------------------------*/ const $1b0217ee4a91d156$var$ARROW_NAME = 'ContextMenuArrow';
|
|
335
|
+
const $1b0217ee4a91d156$export$f47d0a58228a61e2 = /*#__PURE__*/ $3TiJz$forwardRef((props, forwardedRef)=>{
|
|
336
|
+
const { __scopeContextMenu: __scopeContextMenu , ...arrowProps } = props;
|
|
337
|
+
const menuScope = $1b0217ee4a91d156$var$useMenuScope(__scopeContextMenu);
|
|
338
|
+
return /*#__PURE__*/ $3TiJz$createElement($3TiJz$Arrow, $3TiJz$babelruntimehelpersesmextends({}, menuScope, arrowProps, {
|
|
339
|
+
ref: forwardedRef
|
|
340
|
+
}));
|
|
341
|
+
});
|
|
342
|
+
/*#__PURE__*/ Object.assign($1b0217ee4a91d156$export$f47d0a58228a61e2, {
|
|
343
|
+
displayName: $1b0217ee4a91d156$var$ARROW_NAME
|
|
344
|
+
});
|
|
345
|
+
/* -----------------------------------------------------------------------------------------------*/ function $1b0217ee4a91d156$var$whenTouchOrPen(handler) {
|
|
346
|
+
return (event)=>event.pointerType !== 'mouse' ? handler(event) : undefined
|
|
347
|
+
;
|
|
348
|
+
}
|
|
349
|
+
const $1b0217ee4a91d156$export$be92b6f5f03c0fe9 = $1b0217ee4a91d156$export$8dc6765e8be191c7;
|
|
350
|
+
const $1b0217ee4a91d156$export$41fb9f06171c75f4 = $1b0217ee4a91d156$export$be6fc7b1d5b0beb9;
|
|
351
|
+
const $1b0217ee4a91d156$export$7c6e2c02157bb7d2 = $1b0217ee4a91d156$export$572205900c9369e;
|
|
352
|
+
const $1b0217ee4a91d156$export$eb2fcfdbd7ba97d4 = $1b0217ee4a91d156$export$9860523b0fcdd664;
|
|
353
|
+
const $1b0217ee4a91d156$export$b04be29aa201d4f5 = $1b0217ee4a91d156$export$d4b9d3b609a10742;
|
|
354
|
+
const $1b0217ee4a91d156$export$6d08773d2e66f8f2 = $1b0217ee4a91d156$export$16a26dc176a49100;
|
|
355
|
+
const $1b0217ee4a91d156$export$6d0911d397e3b965 = $1b0217ee4a91d156$export$105a322f21932c2b;
|
|
356
|
+
const $1b0217ee4a91d156$export$16ce288f89fa631c = $1b0217ee4a91d156$export$b6adbe51d5d8b7ec;
|
|
357
|
+
const $1b0217ee4a91d156$export$a98f0dcb43a68a25 = $1b0217ee4a91d156$export$db5c89af5ed9aa07;
|
|
358
|
+
const $1b0217ee4a91d156$export$371ab307eab489c0 = $1b0217ee4a91d156$export$8a727d09a7d9bfc2;
|
|
359
|
+
const $1b0217ee4a91d156$export$c3468e2714d175fa = $1b0217ee4a91d156$export$9ed8194dee42d94b;
|
|
360
|
+
const $1b0217ee4a91d156$export$1ff3c3f08ae963c0 = $1b0217ee4a91d156$export$8d6b009fadfe1207;
|
|
361
|
+
const $1b0217ee4a91d156$export$21b07c8f274aebd5 = $1b0217ee4a91d156$export$f47d0a58228a61e2;
|
|
362
|
+
|
|
363
|
+
|
|
364
|
+
|
|
365
|
+
|
|
366
|
+
export {$1b0217ee4a91d156$export$1059331f43ddcc82 as createContextMenuScope, $1b0217ee4a91d156$export$8dc6765e8be191c7 as ContextMenu, $1b0217ee4a91d156$export$be6fc7b1d5b0beb9 as ContextMenuTrigger, $1b0217ee4a91d156$export$572205900c9369e as ContextMenuContent, $1b0217ee4a91d156$export$9860523b0fcdd664 as ContextMenuGroup, $1b0217ee4a91d156$export$d4b9d3b609a10742 as ContextMenuLabel, $1b0217ee4a91d156$export$16a26dc176a49100 as ContextMenuItem, $1b0217ee4a91d156$export$105a322f21932c2b as ContextMenuTriggerItem, $1b0217ee4a91d156$export$b6adbe51d5d8b7ec as ContextMenuCheckboxItem, $1b0217ee4a91d156$export$db5c89af5ed9aa07 as ContextMenuRadioGroup, $1b0217ee4a91d156$export$8a727d09a7d9bfc2 as ContextMenuRadioItem, $1b0217ee4a91d156$export$9ed8194dee42d94b as ContextMenuItemIndicator, $1b0217ee4a91d156$export$8d6b009fadfe1207 as ContextMenuSeparator, $1b0217ee4a91d156$export$f47d0a58228a61e2 as ContextMenuArrow, $1b0217ee4a91d156$export$be92b6f5f03c0fe9 as Root, $1b0217ee4a91d156$export$41fb9f06171c75f4 as Trigger, $1b0217ee4a91d156$export$7c6e2c02157bb7d2 as Content, $1b0217ee4a91d156$export$eb2fcfdbd7ba97d4 as Group, $1b0217ee4a91d156$export$b04be29aa201d4f5 as Label, $1b0217ee4a91d156$export$6d08773d2e66f8f2 as Item, $1b0217ee4a91d156$export$6d0911d397e3b965 as TriggerItem, $1b0217ee4a91d156$export$16ce288f89fa631c as CheckboxItem, $1b0217ee4a91d156$export$a98f0dcb43a68a25 as RadioGroup, $1b0217ee4a91d156$export$371ab307eab489c0 as RadioItem, $1b0217ee4a91d156$export$c3468e2714d175fa as ItemIndicator, $1b0217ee4a91d156$export$1ff3c3f08ae963c0 as Separator, $1b0217ee4a91d156$export$21b07c8f274aebd5 as Arrow};
|
|
2
367
|
//# sourceMappingURL=index.module.js.map
|
package/dist/index.module.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"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","sources":["./packages/react/context-menu/src/ContextMenu.tsx"],"sourcesContent":["import * as React from 'react';\nimport { composeEventHandlers } from '@radix-ui/primitive';\nimport { createContextScope } from '@radix-ui/react-context';\nimport { Primitive } from '@radix-ui/react-primitive';\nimport * as MenuPrimitive from '@radix-ui/react-menu';\nimport { createMenuScope } from '@radix-ui/react-menu';\nimport { useCallbackRef } from '@radix-ui/react-use-callback-ref';\n\nimport type * as Radix from '@radix-ui/react-primitive';\nimport type { Scope } from '@radix-ui/react-context';\n\ntype Direction = 'ltr' | 'rtl';\ntype Point = { x: number; y: number };\n\n/* -------------------------------------------------------------------------------------------------\n * ContextMenu\n * -----------------------------------------------------------------------------------------------*/\n\nconst CONTEXT_MENU_NAME = 'ContextMenu';\n\ntype ScopedProps<P> = P & { __scopeContextMenu?: Scope };\nconst [createContextMenuContext, createContextMenuScope] = createContextScope(CONTEXT_MENU_NAME, [\n createMenuScope,\n]);\nconst useMenuScope = createMenuScope();\n\ntype ContextMenuContextValue = {\n isRootMenu: boolean;\n open: boolean;\n onOpenChange(open: boolean): void;\n modal: boolean;\n};\n\nconst [ContextMenuProvider, useContextMenuContext] =\n createContextMenuContext<ContextMenuContextValue>(CONTEXT_MENU_NAME);\n\ninterface ContextMenuProps {\n onOpenChange?(open: boolean): void;\n dir?: Direction;\n modal?: boolean;\n children?: React.ReactNode;\n}\n\nconst ContextMenu: React.FC<ContextMenuProps> = (props: ScopedProps<ContextMenuProps>) => {\n const { __scopeContextMenu, children, onOpenChange, dir, modal = true } = props;\n const [open, setOpen] = React.useState(false);\n const contentContext = useContentContext(CONTEXT_MENU_NAME, __scopeContextMenu);\n const menuScope = useMenuScope(__scopeContextMenu);\n const handleOpenChangeProp = useCallbackRef(onOpenChange);\n\n const handleOpenChange = React.useCallback(\n (open) => {\n setOpen(open);\n handleOpenChangeProp(open);\n },\n [handleOpenChangeProp]\n );\n\n return contentContext.isInsideContent ? (\n <ContextMenuProvider\n scope={__scopeContextMenu}\n isRootMenu={false}\n open={open}\n onOpenChange={handleOpenChange}\n modal={modal}\n >\n <MenuPrimitive.Sub {...menuScope} open={open} onOpenChange={handleOpenChange}>\n {children}\n </MenuPrimitive.Sub>\n </ContextMenuProvider>\n ) : (\n <ContextMenuProvider\n scope={__scopeContextMenu}\n isRootMenu={true}\n open={open}\n onOpenChange={handleOpenChange}\n modal={modal}\n >\n <MenuPrimitive.Root\n {...menuScope}\n dir={dir}\n open={open}\n onOpenChange={handleOpenChange}\n modal={modal}\n >\n {children}\n </MenuPrimitive.Root>\n </ContextMenuProvider>\n );\n};\n\nContextMenu.displayName = CONTEXT_MENU_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * ContextMenuTrigger\n * -----------------------------------------------------------------------------------------------*/\n\nconst TRIGGER_NAME = 'ContextMenuTrigger';\n\ntype ContextMenuTriggerElement = React.ElementRef<typeof Primitive.span>;\ntype PrimitiveSpanProps = Radix.ComponentPropsWithoutRef<typeof Primitive.span>;\ninterface ContextMenuTriggerProps extends PrimitiveSpanProps {}\n\nconst ContextMenuTrigger = React.forwardRef<ContextMenuTriggerElement, ContextMenuTriggerProps>(\n (props: ScopedProps<ContextMenuTriggerProps>, forwardedRef) => {\n const { __scopeContextMenu, ...triggerProps } = props;\n const context = useContextMenuContext(TRIGGER_NAME, __scopeContextMenu);\n const menuScope = useMenuScope(__scopeContextMenu);\n const pointRef = React.useRef<Point>({ x: 0, y: 0 });\n const virtualRef = React.useRef({\n getBoundingClientRect: () => DOMRect.fromRect({ width: 0, height: 0, ...pointRef.current }),\n });\n const longPressTimerRef = React.useRef(0);\n const clearLongPress = React.useCallback(\n () => window.clearTimeout(longPressTimerRef.current),\n []\n );\n const handleOpen = (event: React.MouseEvent | React.PointerEvent) => {\n pointRef.current = { x: event.clientX, y: event.clientY };\n context.onOpenChange(true);\n };\n\n React.useEffect(() => clearLongPress, [clearLongPress]);\n\n return (\n <ContentProvider scope={__scopeContextMenu} isInsideContent={false}>\n <MenuPrimitive.Anchor {...menuScope} virtualRef={virtualRef} />\n <Primitive.span\n {...triggerProps}\n ref={forwardedRef}\n // prevent iOS context menu from appearing\n style={{ WebkitTouchCallout: 'none', ...props.style }}\n onContextMenu={composeEventHandlers(props.onContextMenu, (event) => {\n // clearing the long press here because some platforms already support\n // long press to trigger a `contextmenu` event\n clearLongPress();\n event.preventDefault();\n handleOpen(event);\n })}\n onPointerDown={composeEventHandlers(\n props.onPointerDown,\n whenTouchOrPen((event) => {\n // clear the long press here in case there's multiple touch points\n clearLongPress();\n longPressTimerRef.current = window.setTimeout(() => handleOpen(event), 700);\n })\n )}\n onPointerMove={composeEventHandlers(props.onPointerMove, whenTouchOrPen(clearLongPress))}\n onPointerCancel={composeEventHandlers(\n props.onPointerCancel,\n whenTouchOrPen(clearLongPress)\n )}\n onPointerUp={composeEventHandlers(props.onPointerUp, whenTouchOrPen(clearLongPress))}\n />\n </ContentProvider>\n );\n }\n);\n\nContextMenuTrigger.displayName = TRIGGER_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * ContextMenuContent\n * -----------------------------------------------------------------------------------------------*/\n\nconst CONTENT_NAME = 'ContextMenuContent';\n\nconst [ContentProvider, useContentContext] = createContextMenuContext(CONTENT_NAME, {\n isInsideContent: false,\n});\n\ntype ContextMenuContentElement = React.ElementRef<typeof MenuPrimitive.Content>;\ntype MenuContentProps = Radix.ComponentPropsWithoutRef<typeof MenuPrimitive.Content>;\ninterface ContextMenuContentProps extends Omit<MenuContentProps, 'portalled' | 'side' | 'align'> {}\n\nconst ContextMenuContent = React.forwardRef<ContextMenuContentElement, ContextMenuContentProps>(\n (props: ScopedProps<ContextMenuContentProps>, forwardedRef) => {\n const { __scopeContextMenu, ...contentProps } = props;\n const context = useContextMenuContext(CONTENT_NAME, __scopeContextMenu);\n const menuScope = useMenuScope(__scopeContextMenu);\n\n const commonProps = {\n ...contentProps,\n style: {\n ...props.style,\n // re-namespace exposed content custom property\n ['--radix-context-menu-content-transform-origin' as any]:\n 'var(--radix-popper-transform-origin)',\n },\n };\n\n return (\n <ContentProvider scope={__scopeContextMenu} isInsideContent={true}>\n {context.isRootMenu ? (\n <ContextMenuRootContent\n __scopeContextMenu={__scopeContextMenu}\n {...commonProps}\n ref={forwardedRef}\n />\n ) : (\n <MenuPrimitive.Content {...menuScope} {...commonProps} ref={forwardedRef} />\n )}\n </ContentProvider>\n );\n }\n);\n\nContextMenuContent.displayName = CONTENT_NAME;\n\n/* ---------------------------------------------------------------------------------------------- */\n\ntype ContextMenuRootContentElement = React.ElementRef<typeof MenuPrimitive.Content>;\ninterface ContextMenuRootContentProps extends ScopedProps<MenuContentProps> {}\n\nconst ContextMenuRootContent = React.forwardRef<\n ContextMenuRootContentElement,\n ContextMenuRootContentProps\n>((props, forwardedRef) => {\n const { __scopeContextMenu, ...contentProps } = props;\n const context = useContextMenuContext(CONTENT_NAME, __scopeContextMenu);\n const menuScope = useMenuScope(__scopeContextMenu);\n const hasInteractedOutsideRef = React.useRef(false);\n return (\n <MenuPrimitive.Content\n {...menuScope}\n {...contentProps}\n ref={forwardedRef}\n portalled\n side=\"right\"\n sideOffset={2}\n align=\"start\"\n onCloseAutoFocus={(event) => {\n props.onCloseAutoFocus?.(event);\n\n if (!event.defaultPrevented && hasInteractedOutsideRef.current) {\n event.preventDefault();\n }\n\n hasInteractedOutsideRef.current = false;\n }}\n onInteractOutside={(event) => {\n props.onInteractOutside?.(event);\n\n if (!event.defaultPrevented && !context.modal) hasInteractedOutsideRef.current = true;\n }}\n />\n );\n});\n\n/* -------------------------------------------------------------------------------------------------\n * ContextMenuGroup\n * -----------------------------------------------------------------------------------------------*/\n\nconst GROUP_NAME = 'ContextMenuGroup';\n\ntype ContextMenuGroupElement = React.ElementRef<typeof MenuPrimitive.Group>;\ntype MenuGroupProps = Radix.ComponentPropsWithoutRef<typeof MenuPrimitive.Group>;\ninterface ContextMenuGroupProps extends MenuGroupProps {}\n\nconst ContextMenuGroup = React.forwardRef<ContextMenuGroupElement, ContextMenuGroupProps>(\n (props: ScopedProps<ContextMenuGroupProps>, forwardedRef) => {\n const { __scopeContextMenu, ...groupProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return <MenuPrimitive.Group {...menuScope} {...groupProps} ref={forwardedRef} />;\n }\n);\n\nContextMenuGroup.displayName = GROUP_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * ContextMenuLabel\n * -----------------------------------------------------------------------------------------------*/\n\nconst LABEL_NAME = 'ContextMenuLabel';\n\ntype ContextMenuLabelElement = React.ElementRef<typeof MenuPrimitive.Label>;\ntype MenuLabelProps = Radix.ComponentPropsWithoutRef<typeof MenuPrimitive.Label>;\ninterface ContextMenuLabelProps extends MenuLabelProps {}\n\nconst ContextMenuLabel = React.forwardRef<ContextMenuLabelElement, ContextMenuLabelProps>(\n (props: ScopedProps<ContextMenuLabelProps>, forwardedRef) => {\n const { __scopeContextMenu, ...labelProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return <MenuPrimitive.Label {...menuScope} {...labelProps} ref={forwardedRef} />;\n }\n);\n\nContextMenuLabel.displayName = LABEL_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * ContextMenuItem\n * -----------------------------------------------------------------------------------------------*/\n\nconst ITEM_NAME = 'ContextMenuItem';\n\ntype ContextMenuItemElement = React.ElementRef<typeof MenuPrimitive.Item>;\ntype MenuItemProps = Radix.ComponentPropsWithoutRef<typeof MenuPrimitive.Item>;\ninterface ContextMenuItemProps extends MenuItemProps {}\n\nconst ContextMenuItem = React.forwardRef<ContextMenuItemElement, ContextMenuItemProps>(\n (props: ScopedProps<ContextMenuItemProps>, forwardedRef) => {\n const { __scopeContextMenu, ...itemProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return <MenuPrimitive.Item {...menuScope} {...itemProps} ref={forwardedRef} />;\n }\n);\n\nContextMenuItem.displayName = ITEM_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * ContextMenuTriggerItem\n * -----------------------------------------------------------------------------------------------*/\n\nconst TRIGGER_ITEM_NAME = 'ContextMenuTriggerItem';\n\ntype ContextMenuTriggerItemElement = React.ElementRef<typeof MenuPrimitive.SubTrigger>;\ntype MenuSubTriggerProps = Radix.ComponentPropsWithoutRef<typeof MenuPrimitive.SubTrigger>;\ninterface ContextMenuTriggerItemProps extends MenuSubTriggerProps {}\n\nconst ContextMenuTriggerItem = React.forwardRef<\n ContextMenuTriggerItemElement,\n ContextMenuTriggerItemProps\n>((props: ScopedProps<ContextMenuTriggerItemProps>, forwardedRef) => {\n const { __scopeContextMenu, ...triggerItemProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return <MenuPrimitive.SubTrigger {...menuScope} {...triggerItemProps} ref={forwardedRef} />;\n});\n\nContextMenuTriggerItem.displayName = TRIGGER_ITEM_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * ContextMenuCheckboxItem\n * -----------------------------------------------------------------------------------------------*/\n\nconst CHECKBOX_ITEM_NAME = 'ContextMenuCheckboxItem';\n\ntype ContextMenuCheckboxItemElement = React.ElementRef<typeof MenuPrimitive.CheckboxItem>;\ntype MenuCheckboxItemProps = Radix.ComponentPropsWithoutRef<typeof MenuPrimitive.CheckboxItem>;\ninterface ContextMenuCheckboxItemProps extends MenuCheckboxItemProps {}\n\nconst ContextMenuCheckboxItem = React.forwardRef<\n ContextMenuCheckboxItemElement,\n ContextMenuCheckboxItemProps\n>((props: ScopedProps<ContextMenuCheckboxItemProps>, forwardedRef) => {\n const { __scopeContextMenu, ...checkboxItemProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return <MenuPrimitive.CheckboxItem {...menuScope} {...checkboxItemProps} ref={forwardedRef} />;\n});\n\nContextMenuCheckboxItem.displayName = CHECKBOX_ITEM_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * ContextMenuRadioGroup\n * -----------------------------------------------------------------------------------------------*/\n\nconst RADIO_GROUP_NAME = 'ContextMenuRadioGroup';\n\ntype ContextMenuRadioGroupElement = React.ElementRef<typeof MenuPrimitive.RadioGroup>;\ntype MenuRadioGroupProps = Radix.ComponentPropsWithoutRef<typeof MenuPrimitive.RadioGroup>;\ninterface ContextMenuRadioGroupProps extends MenuRadioGroupProps {}\n\nconst ContextMenuRadioGroup = React.forwardRef<\n ContextMenuRadioGroupElement,\n ContextMenuRadioGroupProps\n>((props: ScopedProps<ContextMenuRadioGroupProps>, forwardedRef) => {\n const { __scopeContextMenu, ...radioGroupProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return <MenuPrimitive.RadioGroup {...menuScope} {...radioGroupProps} ref={forwardedRef} />;\n});\n\nContextMenuRadioGroup.displayName = RADIO_GROUP_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * ContextMenuRadioItem\n * -----------------------------------------------------------------------------------------------*/\n\nconst RADIO_ITEM_NAME = 'ContextMenuRadioItem';\n\ntype ContextMenuRadioItemElement = React.ElementRef<typeof MenuPrimitive.RadioItem>;\ntype MenuRadioItemProps = Radix.ComponentPropsWithoutRef<typeof MenuPrimitive.RadioItem>;\ninterface ContextMenuRadioItemProps extends MenuRadioItemProps {}\n\nconst ContextMenuRadioItem = React.forwardRef<\n ContextMenuRadioItemElement,\n ContextMenuRadioItemProps\n>((props: ScopedProps<ContextMenuRadioItemProps>, forwardedRef) => {\n const { __scopeContextMenu, ...radioItemProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return <MenuPrimitive.RadioItem {...menuScope} {...radioItemProps} ref={forwardedRef} />;\n});\n\nContextMenuRadioItem.displayName = RADIO_ITEM_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * ContextMenuItemIndicator\n * -----------------------------------------------------------------------------------------------*/\n\nconst INDICATOR_NAME = 'ContextMenuItemIndicator';\n\ntype ContextMenuItemIndicatorElement = React.ElementRef<typeof MenuPrimitive.ItemIndicator>;\ntype MenuItemIndicatorProps = Radix.ComponentPropsWithoutRef<typeof MenuPrimitive.ItemIndicator>;\ninterface ContextMenuItemIndicatorProps extends MenuItemIndicatorProps {}\n\nconst ContextMenuItemIndicator = React.forwardRef<\n ContextMenuItemIndicatorElement,\n ContextMenuItemIndicatorProps\n>((props: ScopedProps<ContextMenuItemIndicatorProps>, forwardedRef) => {\n const { __scopeContextMenu, ...itemIndicatorProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return <MenuPrimitive.ItemIndicator {...menuScope} {...itemIndicatorProps} ref={forwardedRef} />;\n});\n\nContextMenuItemIndicator.displayName = INDICATOR_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * ContextMenuSeparator\n * -----------------------------------------------------------------------------------------------*/\n\nconst SEPARATOR_NAME = 'ContextMenuSeparator';\n\ntype ContextMenuSeparatorElement = React.ElementRef<typeof MenuPrimitive.Separator>;\ntype MenuSeparatorProps = Radix.ComponentPropsWithoutRef<typeof MenuPrimitive.Separator>;\ninterface ContextMenuSeparatorProps extends MenuSeparatorProps {}\n\nconst ContextMenuSeparator = React.forwardRef<\n ContextMenuSeparatorElement,\n ContextMenuSeparatorProps\n>((props: ScopedProps<ContextMenuSeparatorProps>, forwardedRef) => {\n const { __scopeContextMenu, ...separatorProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return <MenuPrimitive.Separator {...menuScope} {...separatorProps} ref={forwardedRef} />;\n});\n\nContextMenuSeparator.displayName = SEPARATOR_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * ContextMenuArrow\n * -----------------------------------------------------------------------------------------------*/\n\nconst ARROW_NAME = 'ContextMenuArrow';\n\ntype ContextMenuArrowElement = React.ElementRef<typeof MenuPrimitive.Arrow>;\ntype MenuArrowProps = Radix.ComponentPropsWithoutRef<typeof MenuPrimitive.Arrow>;\ninterface ContextMenuArrowProps extends MenuArrowProps {}\n\nconst ContextMenuArrow = React.forwardRef<ContextMenuArrowElement, ContextMenuArrowProps>(\n (props: ScopedProps<ContextMenuArrowProps>, forwardedRef) => {\n const { __scopeContextMenu, ...arrowProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return <MenuPrimitive.Arrow {...menuScope} {...arrowProps} ref={forwardedRef} />;\n }\n);\n\nContextMenuArrow.displayName = ARROW_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\nfunction whenTouchOrPen<E>(handler: React.PointerEventHandler<E>): React.PointerEventHandler<E> {\n return (event) => (event.pointerType !== 'mouse' ? handler(event) : undefined);\n}\n\nconst Root = ContextMenu;\nconst Trigger = ContextMenuTrigger;\nconst Content = ContextMenuContent;\nconst Group = ContextMenuGroup;\nconst Label = ContextMenuLabel;\nconst Item = ContextMenuItem;\nconst TriggerItem = ContextMenuTriggerItem;\nconst CheckboxItem = ContextMenuCheckboxItem;\nconst RadioGroup = ContextMenuRadioGroup;\nconst RadioItem = ContextMenuRadioItem;\nconst ItemIndicator = ContextMenuItemIndicator;\nconst Separator = ContextMenuSeparator;\nconst Arrow = ContextMenuArrow;\n\nexport {\n createContextMenuScope,\n //\n ContextMenu,\n ContextMenuTrigger,\n ContextMenuContent,\n ContextMenuGroup,\n ContextMenuLabel,\n ContextMenuItem,\n ContextMenuTriggerItem,\n ContextMenuCheckboxItem,\n ContextMenuRadioGroup,\n ContextMenuRadioItem,\n ContextMenuItemIndicator,\n ContextMenuSeparator,\n ContextMenuArrow,\n //\n Root,\n Trigger,\n Content,\n Group,\n Label,\n Item,\n TriggerItem,\n CheckboxItem,\n RadioGroup,\n RadioItem,\n ItemIndicator,\n Separator,\n Arrow,\n};\nexport type {\n ContextMenuProps,\n ContextMenuTriggerProps,\n ContextMenuContentProps,\n ContextMenuGroupProps,\n ContextMenuLabelProps,\n ContextMenuItemProps,\n ContextMenuTriggerItemProps,\n ContextMenuCheckboxItemProps,\n ContextMenuRadioGroupProps,\n ContextMenuRadioItemProps,\n ContextMenuItemIndicatorProps,\n ContextMenuSeparatorProps,\n ContextMenuArrowProps,\n};\n"],"names":["createContextMenuContext","createContextMenuScope","createContextScope","createMenuScope","useMenuScope","ContextMenuProvider","useContextMenuContext","ContextMenu","props","__scopeContextMenu","children","onOpenChange","dir","modal","open","setOpen","React","useState","contentContext","useContentContext","menuScope","handleOpenChangeProp","useCallbackRef","handleOpenChange","useCallback","isInsideContent","_react","createElement","$b55f3d34bcc87b2d9b0bc87c90588a09$var$ContextMenuProvider","scope","isRootMenu","_radixUiReactMenu","Sub","_babelRuntimeHelpersEsmExtends","Root","ContextMenuTrigger","forwardRef","forwardedRef","triggerProps","context","pointRef","useRef","x","y","virtualRef","getBoundingClientRect","DOMRect","fromRect","width","height","current","longPressTimerRef","clearLongPress","window","clearTimeout","handleOpen","event","clientX","clientY","useEffect","$b55f3d34bcc87b2d9b0bc87c90588a09$var$ContentProvider","Anchor","Primitive","span","ref","style","WebkitTouchCallout","onContextMenu","composeEventHandlers","preventDefault","onPointerDown","whenTouchOrPen","setTimeout","onPointerMove","onPointerCancel","onPointerUp","ContentProvider","ContextMenuContent","contentProps","commonProps","$b55f3d34bcc87b2d9b0bc87c90588a09$var$ContextMenuRootContent","Content","ContextMenuRootContent","hasInteractedOutsideRef","portalled","side","sideOffset","align","onCloseAutoFocus","_props$onCloseAutoFoc","call","defaultPrevented","onInteractOutside","_props$onInteractOuts","ContextMenuGroup","groupProps","Group","ContextMenuLabel","labelProps","Label","ContextMenuItem","itemProps","Item","ContextMenuTriggerItem","triggerItemProps","SubTrigger","ContextMenuCheckboxItem","checkboxItemProps","CheckboxItem","ContextMenuRadioGroup","radioGroupProps","RadioGroup","ContextMenuRadioItem","radioItemProps","RadioItem","ContextMenuItemIndicator","itemIndicatorProps","ItemIndicator","ContextMenuSeparator","separatorProps","Separator","ContextMenuArrow","arrowProps","Arrow","handler","pointerType","undefined","Trigger","TriggerItem"],"version":3,"file":"index.module.js.map"}
|
|
1
|
+
{"mappings":"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","sources":["packages/react/context-menu/src/index.ts","packages/react/context-menu/src/ContextMenu.tsx"],"sourcesContent":["export * from './ContextMenu';\n","import * as React from 'react';\nimport { composeEventHandlers } from '@radix-ui/primitive';\nimport { createContextScope } from '@radix-ui/react-context';\nimport { Primitive } from '@radix-ui/react-primitive';\nimport * as MenuPrimitive from '@radix-ui/react-menu';\nimport { createMenuScope } from '@radix-ui/react-menu';\nimport { useCallbackRef } from '@radix-ui/react-use-callback-ref';\n\nimport type * as Radix from '@radix-ui/react-primitive';\nimport type { Scope } from '@radix-ui/react-context';\n\ntype Direction = 'ltr' | 'rtl';\ntype Point = { x: number; y: number };\n\n/* -------------------------------------------------------------------------------------------------\n * ContextMenu\n * -----------------------------------------------------------------------------------------------*/\n\nconst CONTEXT_MENU_NAME = 'ContextMenu';\n\ntype ScopedProps<P> = P & { __scopeContextMenu?: Scope };\nconst [createContextMenuContext, createContextMenuScope] = createContextScope(CONTEXT_MENU_NAME, [\n createMenuScope,\n]);\nconst useMenuScope = createMenuScope();\n\ntype ContextMenuContextValue = {\n isRootMenu: boolean;\n open: boolean;\n onOpenChange(open: boolean): void;\n modal: boolean;\n};\n\nconst [ContextMenuProvider, useContextMenuContext] =\n createContextMenuContext<ContextMenuContextValue>(CONTEXT_MENU_NAME);\n\ninterface ContextMenuProps {\n children?: React.ReactNode;\n onOpenChange?(open: boolean): void;\n dir?: Direction;\n modal?: boolean;\n}\n\nconst ContextMenu: React.FC<ContextMenuProps> = (props: ScopedProps<ContextMenuProps>) => {\n const { __scopeContextMenu, children, onOpenChange, dir, modal = true } = props;\n const [open, setOpen] = React.useState(false);\n const contentContext = useContentContext(CONTEXT_MENU_NAME, __scopeContextMenu);\n const menuScope = useMenuScope(__scopeContextMenu);\n const handleOpenChangeProp = useCallbackRef(onOpenChange);\n\n const handleOpenChange = React.useCallback(\n (open: boolean) => {\n setOpen(open);\n handleOpenChangeProp(open);\n },\n [handleOpenChangeProp]\n );\n\n return contentContext.isInsideContent ? (\n <ContextMenuProvider\n scope={__scopeContextMenu}\n isRootMenu={false}\n open={open}\n onOpenChange={handleOpenChange}\n modal={modal}\n >\n <MenuPrimitive.Sub {...menuScope} open={open} onOpenChange={handleOpenChange}>\n {children}\n </MenuPrimitive.Sub>\n </ContextMenuProvider>\n ) : (\n <ContextMenuProvider\n scope={__scopeContextMenu}\n isRootMenu={true}\n open={open}\n onOpenChange={handleOpenChange}\n modal={modal}\n >\n <MenuPrimitive.Root\n {...menuScope}\n dir={dir}\n open={open}\n onOpenChange={handleOpenChange}\n modal={modal}\n >\n {children}\n </MenuPrimitive.Root>\n </ContextMenuProvider>\n );\n};\n\nContextMenu.displayName = CONTEXT_MENU_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * ContextMenuTrigger\n * -----------------------------------------------------------------------------------------------*/\n\nconst TRIGGER_NAME = 'ContextMenuTrigger';\n\ntype ContextMenuTriggerElement = React.ElementRef<typeof Primitive.span>;\ntype PrimitiveSpanProps = Radix.ComponentPropsWithoutRef<typeof Primitive.span>;\ninterface ContextMenuTriggerProps extends PrimitiveSpanProps {}\n\nconst ContextMenuTrigger = React.forwardRef<ContextMenuTriggerElement, ContextMenuTriggerProps>(\n (props: ScopedProps<ContextMenuTriggerProps>, forwardedRef) => {\n const { __scopeContextMenu, ...triggerProps } = props;\n const context = useContextMenuContext(TRIGGER_NAME, __scopeContextMenu);\n const menuScope = useMenuScope(__scopeContextMenu);\n const pointRef = React.useRef<Point>({ x: 0, y: 0 });\n const virtualRef = React.useRef({\n getBoundingClientRect: () => DOMRect.fromRect({ width: 0, height: 0, ...pointRef.current }),\n });\n const longPressTimerRef = React.useRef(0);\n const clearLongPress = React.useCallback(\n () => window.clearTimeout(longPressTimerRef.current),\n []\n );\n const handleOpen = (event: React.MouseEvent | React.PointerEvent) => {\n pointRef.current = { x: event.clientX, y: event.clientY };\n context.onOpenChange(true);\n };\n\n React.useEffect(() => clearLongPress, [clearLongPress]);\n\n return (\n <ContentProvider scope={__scopeContextMenu} isInsideContent={false}>\n <MenuPrimitive.Anchor {...menuScope} virtualRef={virtualRef} />\n <Primitive.span\n {...triggerProps}\n ref={forwardedRef}\n // prevent iOS context menu from appearing\n style={{ WebkitTouchCallout: 'none', ...props.style }}\n onContextMenu={composeEventHandlers(props.onContextMenu, (event) => {\n // clearing the long press here because some platforms already support\n // long press to trigger a `contextmenu` event\n clearLongPress();\n event.preventDefault();\n handleOpen(event);\n })}\n onPointerDown={composeEventHandlers(\n props.onPointerDown,\n whenTouchOrPen((event) => {\n // clear the long press here in case there's multiple touch points\n clearLongPress();\n longPressTimerRef.current = window.setTimeout(() => handleOpen(event), 700);\n })\n )}\n onPointerMove={composeEventHandlers(props.onPointerMove, whenTouchOrPen(clearLongPress))}\n onPointerCancel={composeEventHandlers(\n props.onPointerCancel,\n whenTouchOrPen(clearLongPress)\n )}\n onPointerUp={composeEventHandlers(props.onPointerUp, whenTouchOrPen(clearLongPress))}\n />\n </ContentProvider>\n );\n }\n);\n\nContextMenuTrigger.displayName = TRIGGER_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * ContextMenuContent\n * -----------------------------------------------------------------------------------------------*/\n\nconst CONTENT_NAME = 'ContextMenuContent';\n\nconst [ContentProvider, useContentContext] = createContextMenuContext(CONTENT_NAME, {\n isInsideContent: false,\n});\n\ntype ContextMenuContentElement = React.ElementRef<typeof MenuPrimitive.Content>;\ntype MenuContentProps = Radix.ComponentPropsWithoutRef<typeof MenuPrimitive.Content>;\ninterface ContextMenuContentProps extends Omit<MenuContentProps, 'portalled' | 'side' | 'align'> {}\n\nconst ContextMenuContent = React.forwardRef<ContextMenuContentElement, ContextMenuContentProps>(\n (props: ScopedProps<ContextMenuContentProps>, forwardedRef) => {\n const { __scopeContextMenu, ...contentProps } = props;\n const context = useContextMenuContext(CONTENT_NAME, __scopeContextMenu);\n const menuScope = useMenuScope(__scopeContextMenu);\n\n const commonProps = {\n ...contentProps,\n style: {\n ...props.style,\n // re-namespace exposed content custom property\n ['--radix-context-menu-content-transform-origin' as any]:\n 'var(--radix-popper-transform-origin)',\n },\n };\n\n return (\n <ContentProvider scope={__scopeContextMenu} isInsideContent={true}>\n {context.isRootMenu ? (\n <ContextMenuRootContent\n __scopeContextMenu={__scopeContextMenu}\n {...commonProps}\n ref={forwardedRef}\n />\n ) : (\n <MenuPrimitive.Content {...menuScope} {...commonProps} ref={forwardedRef} />\n )}\n </ContentProvider>\n );\n }\n);\n\nContextMenuContent.displayName = CONTENT_NAME;\n\n/* ---------------------------------------------------------------------------------------------- */\n\ntype ContextMenuRootContentElement = React.ElementRef<typeof MenuPrimitive.Content>;\ninterface ContextMenuRootContentProps extends ScopedProps<MenuContentProps> {}\n\nconst ContextMenuRootContent = React.forwardRef<\n ContextMenuRootContentElement,\n ContextMenuRootContentProps\n>((props, forwardedRef) => {\n const { __scopeContextMenu, ...contentProps } = props;\n const context = useContextMenuContext(CONTENT_NAME, __scopeContextMenu);\n const menuScope = useMenuScope(__scopeContextMenu);\n const hasInteractedOutsideRef = React.useRef(false);\n return (\n <MenuPrimitive.Content\n {...menuScope}\n {...contentProps}\n ref={forwardedRef}\n portalled\n side=\"right\"\n sideOffset={2}\n align=\"start\"\n onCloseAutoFocus={(event) => {\n props.onCloseAutoFocus?.(event);\n\n if (!event.defaultPrevented && hasInteractedOutsideRef.current) {\n event.preventDefault();\n }\n\n hasInteractedOutsideRef.current = false;\n }}\n onInteractOutside={(event) => {\n props.onInteractOutside?.(event);\n\n if (!event.defaultPrevented && !context.modal) hasInteractedOutsideRef.current = true;\n }}\n />\n );\n});\n\n/* -------------------------------------------------------------------------------------------------\n * ContextMenuGroup\n * -----------------------------------------------------------------------------------------------*/\n\nconst GROUP_NAME = 'ContextMenuGroup';\n\ntype ContextMenuGroupElement = React.ElementRef<typeof MenuPrimitive.Group>;\ntype MenuGroupProps = Radix.ComponentPropsWithoutRef<typeof MenuPrimitive.Group>;\ninterface ContextMenuGroupProps extends MenuGroupProps {}\n\nconst ContextMenuGroup = React.forwardRef<ContextMenuGroupElement, ContextMenuGroupProps>(\n (props: ScopedProps<ContextMenuGroupProps>, forwardedRef) => {\n const { __scopeContextMenu, ...groupProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return <MenuPrimitive.Group {...menuScope} {...groupProps} ref={forwardedRef} />;\n }\n);\n\nContextMenuGroup.displayName = GROUP_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * ContextMenuLabel\n * -----------------------------------------------------------------------------------------------*/\n\nconst LABEL_NAME = 'ContextMenuLabel';\n\ntype ContextMenuLabelElement = React.ElementRef<typeof MenuPrimitive.Label>;\ntype MenuLabelProps = Radix.ComponentPropsWithoutRef<typeof MenuPrimitive.Label>;\ninterface ContextMenuLabelProps extends MenuLabelProps {}\n\nconst ContextMenuLabel = React.forwardRef<ContextMenuLabelElement, ContextMenuLabelProps>(\n (props: ScopedProps<ContextMenuLabelProps>, forwardedRef) => {\n const { __scopeContextMenu, ...labelProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return <MenuPrimitive.Label {...menuScope} {...labelProps} ref={forwardedRef} />;\n }\n);\n\nContextMenuLabel.displayName = LABEL_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * ContextMenuItem\n * -----------------------------------------------------------------------------------------------*/\n\nconst ITEM_NAME = 'ContextMenuItem';\n\ntype ContextMenuItemElement = React.ElementRef<typeof MenuPrimitive.Item>;\ntype MenuItemProps = Radix.ComponentPropsWithoutRef<typeof MenuPrimitive.Item>;\ninterface ContextMenuItemProps extends MenuItemProps {}\n\nconst ContextMenuItem = React.forwardRef<ContextMenuItemElement, ContextMenuItemProps>(\n (props: ScopedProps<ContextMenuItemProps>, forwardedRef) => {\n const { __scopeContextMenu, ...itemProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return <MenuPrimitive.Item {...menuScope} {...itemProps} ref={forwardedRef} />;\n }\n);\n\nContextMenuItem.displayName = ITEM_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * ContextMenuTriggerItem\n * -----------------------------------------------------------------------------------------------*/\n\nconst TRIGGER_ITEM_NAME = 'ContextMenuTriggerItem';\n\ntype ContextMenuTriggerItemElement = React.ElementRef<typeof MenuPrimitive.SubTrigger>;\ntype MenuSubTriggerProps = Radix.ComponentPropsWithoutRef<typeof MenuPrimitive.SubTrigger>;\ninterface ContextMenuTriggerItemProps extends MenuSubTriggerProps {}\n\nconst ContextMenuTriggerItem = React.forwardRef<\n ContextMenuTriggerItemElement,\n ContextMenuTriggerItemProps\n>((props: ScopedProps<ContextMenuTriggerItemProps>, forwardedRef) => {\n const { __scopeContextMenu, ...triggerItemProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return <MenuPrimitive.SubTrigger {...menuScope} {...triggerItemProps} ref={forwardedRef} />;\n});\n\nContextMenuTriggerItem.displayName = TRIGGER_ITEM_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * ContextMenuCheckboxItem\n * -----------------------------------------------------------------------------------------------*/\n\nconst CHECKBOX_ITEM_NAME = 'ContextMenuCheckboxItem';\n\ntype ContextMenuCheckboxItemElement = React.ElementRef<typeof MenuPrimitive.CheckboxItem>;\ntype MenuCheckboxItemProps = Radix.ComponentPropsWithoutRef<typeof MenuPrimitive.CheckboxItem>;\ninterface ContextMenuCheckboxItemProps extends MenuCheckboxItemProps {}\n\nconst ContextMenuCheckboxItem = React.forwardRef<\n ContextMenuCheckboxItemElement,\n ContextMenuCheckboxItemProps\n>((props: ScopedProps<ContextMenuCheckboxItemProps>, forwardedRef) => {\n const { __scopeContextMenu, ...checkboxItemProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return <MenuPrimitive.CheckboxItem {...menuScope} {...checkboxItemProps} ref={forwardedRef} />;\n});\n\nContextMenuCheckboxItem.displayName = CHECKBOX_ITEM_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * ContextMenuRadioGroup\n * -----------------------------------------------------------------------------------------------*/\n\nconst RADIO_GROUP_NAME = 'ContextMenuRadioGroup';\n\ntype ContextMenuRadioGroupElement = React.ElementRef<typeof MenuPrimitive.RadioGroup>;\ntype MenuRadioGroupProps = Radix.ComponentPropsWithoutRef<typeof MenuPrimitive.RadioGroup>;\ninterface ContextMenuRadioGroupProps extends MenuRadioGroupProps {}\n\nconst ContextMenuRadioGroup = React.forwardRef<\n ContextMenuRadioGroupElement,\n ContextMenuRadioGroupProps\n>((props: ScopedProps<ContextMenuRadioGroupProps>, forwardedRef) => {\n const { __scopeContextMenu, ...radioGroupProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return <MenuPrimitive.RadioGroup {...menuScope} {...radioGroupProps} ref={forwardedRef} />;\n});\n\nContextMenuRadioGroup.displayName = RADIO_GROUP_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * ContextMenuRadioItem\n * -----------------------------------------------------------------------------------------------*/\n\nconst RADIO_ITEM_NAME = 'ContextMenuRadioItem';\n\ntype ContextMenuRadioItemElement = React.ElementRef<typeof MenuPrimitive.RadioItem>;\ntype MenuRadioItemProps = Radix.ComponentPropsWithoutRef<typeof MenuPrimitive.RadioItem>;\ninterface ContextMenuRadioItemProps extends MenuRadioItemProps {}\n\nconst ContextMenuRadioItem = React.forwardRef<\n ContextMenuRadioItemElement,\n ContextMenuRadioItemProps\n>((props: ScopedProps<ContextMenuRadioItemProps>, forwardedRef) => {\n const { __scopeContextMenu, ...radioItemProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return <MenuPrimitive.RadioItem {...menuScope} {...radioItemProps} ref={forwardedRef} />;\n});\n\nContextMenuRadioItem.displayName = RADIO_ITEM_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * ContextMenuItemIndicator\n * -----------------------------------------------------------------------------------------------*/\n\nconst INDICATOR_NAME = 'ContextMenuItemIndicator';\n\ntype ContextMenuItemIndicatorElement = React.ElementRef<typeof MenuPrimitive.ItemIndicator>;\ntype MenuItemIndicatorProps = Radix.ComponentPropsWithoutRef<typeof MenuPrimitive.ItemIndicator>;\ninterface ContextMenuItemIndicatorProps extends MenuItemIndicatorProps {}\n\nconst ContextMenuItemIndicator = React.forwardRef<\n ContextMenuItemIndicatorElement,\n ContextMenuItemIndicatorProps\n>((props: ScopedProps<ContextMenuItemIndicatorProps>, forwardedRef) => {\n const { __scopeContextMenu, ...itemIndicatorProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return <MenuPrimitive.ItemIndicator {...menuScope} {...itemIndicatorProps} ref={forwardedRef} />;\n});\n\nContextMenuItemIndicator.displayName = INDICATOR_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * ContextMenuSeparator\n * -----------------------------------------------------------------------------------------------*/\n\nconst SEPARATOR_NAME = 'ContextMenuSeparator';\n\ntype ContextMenuSeparatorElement = React.ElementRef<typeof MenuPrimitive.Separator>;\ntype MenuSeparatorProps = Radix.ComponentPropsWithoutRef<typeof MenuPrimitive.Separator>;\ninterface ContextMenuSeparatorProps extends MenuSeparatorProps {}\n\nconst ContextMenuSeparator = React.forwardRef<\n ContextMenuSeparatorElement,\n ContextMenuSeparatorProps\n>((props: ScopedProps<ContextMenuSeparatorProps>, forwardedRef) => {\n const { __scopeContextMenu, ...separatorProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return <MenuPrimitive.Separator {...menuScope} {...separatorProps} ref={forwardedRef} />;\n});\n\nContextMenuSeparator.displayName = SEPARATOR_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * ContextMenuArrow\n * -----------------------------------------------------------------------------------------------*/\n\nconst ARROW_NAME = 'ContextMenuArrow';\n\ntype ContextMenuArrowElement = React.ElementRef<typeof MenuPrimitive.Arrow>;\ntype MenuArrowProps = Radix.ComponentPropsWithoutRef<typeof MenuPrimitive.Arrow>;\ninterface ContextMenuArrowProps extends MenuArrowProps {}\n\nconst ContextMenuArrow = React.forwardRef<ContextMenuArrowElement, ContextMenuArrowProps>(\n (props: ScopedProps<ContextMenuArrowProps>, forwardedRef) => {\n const { __scopeContextMenu, ...arrowProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return <MenuPrimitive.Arrow {...menuScope} {...arrowProps} ref={forwardedRef} />;\n }\n);\n\nContextMenuArrow.displayName = ARROW_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\nfunction whenTouchOrPen<E>(handler: React.PointerEventHandler<E>): React.PointerEventHandler<E> {\n return (event) => (event.pointerType !== 'mouse' ? handler(event) : undefined);\n}\n\nconst Root = ContextMenu;\nconst Trigger = ContextMenuTrigger;\nconst Content = ContextMenuContent;\nconst Group = ContextMenuGroup;\nconst Label = ContextMenuLabel;\nconst Item = ContextMenuItem;\nconst TriggerItem = ContextMenuTriggerItem;\nconst CheckboxItem = ContextMenuCheckboxItem;\nconst RadioGroup = ContextMenuRadioGroup;\nconst RadioItem = ContextMenuRadioItem;\nconst ItemIndicator = ContextMenuItemIndicator;\nconst Separator = ContextMenuSeparator;\nconst Arrow = ContextMenuArrow;\n\nexport {\n createContextMenuScope,\n //\n ContextMenu,\n ContextMenuTrigger,\n ContextMenuContent,\n ContextMenuGroup,\n ContextMenuLabel,\n ContextMenuItem,\n ContextMenuTriggerItem,\n ContextMenuCheckboxItem,\n ContextMenuRadioGroup,\n ContextMenuRadioItem,\n ContextMenuItemIndicator,\n ContextMenuSeparator,\n ContextMenuArrow,\n //\n Root,\n Trigger,\n Content,\n Group,\n Label,\n Item,\n TriggerItem,\n CheckboxItem,\n RadioGroup,\n RadioItem,\n ItemIndicator,\n Separator,\n Arrow,\n};\nexport type {\n ContextMenuProps,\n ContextMenuTriggerProps,\n ContextMenuContentProps,\n ContextMenuGroupProps,\n ContextMenuLabelProps,\n ContextMenuItemProps,\n ContextMenuTriggerItemProps,\n ContextMenuCheckboxItemProps,\n ContextMenuRadioGroupProps,\n ContextMenuRadioItemProps,\n ContextMenuItemIndicatorProps,\n ContextMenuSeparatorProps,\n ContextMenuArrowProps,\n};\n"],"names":["React","composeEventHandlers","createContextScope","Primitive","MenuPrimitive","createMenuScope","useCallbackRef","CONTEXT_MENU_NAME","createContextMenuContext","createContextMenuScope","useMenuScope","ContextMenuProvider","useContextMenuContext","ContextMenu","props","__scopeContextMenu","children","onOpenChange","dir","modal","open","setOpen","useState","contentContext","useContentContext","menuScope","handleOpenChangeProp","handleOpenChange","useCallback","isInsideContent","TRIGGER_NAME","ContextMenuTrigger","forwardRef","forwardedRef","triggerProps","context","pointRef","useRef","x","y","virtualRef","getBoundingClientRect","DOMRect","fromRect","width","height","current","longPressTimerRef","clearLongPress","window","clearTimeout","handleOpen","event","clientX","clientY","useEffect","WebkitTouchCallout","style","onContextMenu","preventDefault","onPointerDown","whenTouchOrPen","setTimeout","onPointerMove","onPointerCancel","onPointerUp","CONTENT_NAME","ContentProvider","ContextMenuContent","contentProps","commonProps","isRootMenu","ContextMenuRootContent","hasInteractedOutsideRef","onCloseAutoFocus","defaultPrevented","onInteractOutside","GROUP_NAME","ContextMenuGroup","groupProps","LABEL_NAME","ContextMenuLabel","labelProps","ITEM_NAME","ContextMenuItem","itemProps","TRIGGER_ITEM_NAME","ContextMenuTriggerItem","triggerItemProps","CHECKBOX_ITEM_NAME","ContextMenuCheckboxItem","checkboxItemProps","RADIO_GROUP_NAME","ContextMenuRadioGroup","radioGroupProps","RADIO_ITEM_NAME","ContextMenuRadioItem","radioItemProps","INDICATOR_NAME","ContextMenuItemIndicator","itemIndicatorProps","SEPARATOR_NAME","ContextMenuSeparator","separatorProps","ARROW_NAME","ContextMenuArrow","arrowProps","handler","pointerType","undefined","Root","Trigger","Content","Group","Label","Item","TriggerItem","CheckboxItem","RadioGroup","RadioItem","ItemIndicator","Separator","Arrow"],"version":3,"file":"index.module.js.map"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@radix-ui/react-context-menu",
|
|
3
|
-
"version": "0.1.7-rc.
|
|
3
|
+
"version": "0.1.7-rc.6",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"source": "src/index.ts",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -18,14 +18,14 @@
|
|
|
18
18
|
"dependencies": {
|
|
19
19
|
"@babel/runtime": "^7.13.10",
|
|
20
20
|
"@radix-ui/primitive": "0.1.0",
|
|
21
|
-
"@radix-ui/react-context": "0.1.
|
|
22
|
-
"@radix-ui/react-menu": "0.1.7-rc.
|
|
23
|
-
"@radix-ui/react-primitive": "0.1.
|
|
24
|
-
"@radix-ui/react-use-callback-ref": "0.1.
|
|
21
|
+
"@radix-ui/react-context": "0.1.2-rc.3",
|
|
22
|
+
"@radix-ui/react-menu": "0.1.7-rc.6",
|
|
23
|
+
"@radix-ui/react-primitive": "0.1.5-rc.3",
|
|
24
|
+
"@radix-ui/react-use-callback-ref": "0.1.1-rc.3"
|
|
25
25
|
},
|
|
26
26
|
"peerDependencies": {
|
|
27
|
-
"react": "^16.8 || ^17.0",
|
|
28
|
-
"react-dom": "^16.8 || ^17.0"
|
|
27
|
+
"react": "^16.8 || ^17.0 || ^18.0",
|
|
28
|
+
"react-dom": "^16.8 || ^17.0 || ^18.0"
|
|
29
29
|
},
|
|
30
30
|
"homepage": "https://radix-ui.com/primitives",
|
|
31
31
|
"repository": {
|