@hanzogui/context-menu 8.3.1 → 8.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/dist/cjs/ContextMenu.js +148 -0
  2. package/dist/cjs/ContextMenu.js.map +1 -0
  3. package/dist/cjs/createNonNativeContextMenu.js +311 -0
  4. package/dist/cjs/createNonNativeContextMenu.js.map +1 -0
  5. package/dist/cjs/index.js +18 -0
  6. package/dist/cjs/index.js.map +1 -0
  7. package/dist/cjs/package.json +1 -0
  8. package/dist/esm/ContextMenu.js +144 -0
  9. package/dist/esm/ContextMenu.js.map +1 -0
  10. package/dist/esm/createNonNativeContextMenu.js +306 -0
  11. package/dist/esm/createNonNativeContextMenu.js.map +1 -0
  12. package/dist/esm/index.js +14 -14
  13. package/dist/esm/index.js.map +1 -1
  14. package/package.json +27 -21
  15. package/src/ContextMenu.tsx +2 -2
  16. package/src/index.tsx +1 -1
  17. package/types/ContextMenu.d.ts +30 -30
  18. package/types/ContextMenu.d.ts.map +1 -1
  19. package/types/createNonNativeContextMenu.d.ts +18 -18
  20. package/types/createNonNativeContextMenu.d.ts.map +1 -1
  21. package/types/index.d.ts +29 -29
  22. package/types/index.d.ts.map +1 -1
  23. package/dist/cjs/ContextMenu.cjs +0 -185
  24. package/dist/cjs/ContextMenu.native.js +0 -193
  25. package/dist/cjs/ContextMenu.native.js.map +0 -1
  26. package/dist/cjs/createNonNativeContextMenu.cjs +0 -443
  27. package/dist/cjs/createNonNativeContextMenu.native.js +0 -470
  28. package/dist/cjs/createNonNativeContextMenu.native.js.map +0 -1
  29. package/dist/cjs/index.cjs +0 -41
  30. package/dist/cjs/index.native.js +0 -44
  31. package/dist/cjs/index.native.js.map +0 -1
  32. package/dist/esm/ContextMenu.mjs +0 -149
  33. package/dist/esm/ContextMenu.mjs.map +0 -1
  34. package/dist/esm/ContextMenu.native.js +0 -154
  35. package/dist/esm/ContextMenu.native.js.map +0 -1
  36. package/dist/esm/createNonNativeContextMenu.mjs +0 -406
  37. package/dist/esm/createNonNativeContextMenu.mjs.map +0 -1
  38. package/dist/esm/createNonNativeContextMenu.native.js +0 -430
  39. package/dist/esm/createNonNativeContextMenu.native.js.map +0 -1
  40. package/dist/esm/index.mjs +0 -15
  41. package/dist/esm/index.mjs.map +0 -1
  42. package/dist/esm/index.native.js +0 -15
  43. package/dist/esm/index.native.js.map +0 -1
  44. package/dist/jsx/ContextMenu.mjs +0 -149
  45. package/dist/jsx/ContextMenu.mjs.map +0 -1
  46. package/dist/jsx/ContextMenu.native.js +0 -193
  47. package/dist/jsx/ContextMenu.native.js.map +0 -1
  48. package/dist/jsx/createNonNativeContextMenu.mjs +0 -406
  49. package/dist/jsx/createNonNativeContextMenu.mjs.map +0 -1
  50. package/dist/jsx/createNonNativeContextMenu.native.js +0 -470
  51. package/dist/jsx/createNonNativeContextMenu.native.js.map +0 -1
  52. package/dist/jsx/index.js +0 -15
  53. package/dist/jsx/index.js.map +0 -1
  54. package/dist/jsx/index.mjs +0 -15
  55. package/dist/jsx/index.mjs.map +0 -1
  56. package/dist/jsx/index.native.js +0 -44
  57. package/dist/jsx/index.native.js.map +0 -1
@@ -0,0 +1,148 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createContextMenu = createContextMenu;
4
+ const tslib_1 = require("tslib");
5
+ const create_menu_1 = require("@hanzogui/create-menu");
6
+ const web_1 = require("@hanzogui/web");
7
+ const react_1 = tslib_1.__importDefault(require("react"));
8
+ const createNonNativeContextMenu_tsx_1 = require("./createNonNativeContextMenu.js");
9
+ const COMMON_PARAMS = {
10
+ isRoot: false,
11
+ scope: createNonNativeContextMenu_tsx_1.CONTEXTMENU_CONTEXT,
12
+ };
13
+ function createContextMenu(param) {
14
+ const { Menu: NativeMenuRoot } = (0, create_menu_1.createNativeMenu)('ContextMenu');
15
+ const NonNativeContextMenu = (0, createNonNativeContextMenu_tsx_1.createNonNativeContextMenu)(param);
16
+ const ContextMenuComp = (0, create_menu_1.withNativeMenu)({
17
+ ...COMMON_PARAMS,
18
+ Component: NonNativeContextMenu.Root,
19
+ NativeComponent: NativeMenuRoot,
20
+ isRoot: true,
21
+ });
22
+ const Trigger = (0, create_menu_1.withNativeMenu)({
23
+ ...COMMON_PARAMS,
24
+ Component: NonNativeContextMenu.Trigger,
25
+ NativeComponent: NativeMenuRoot.Trigger,
26
+ });
27
+ const Portal = (0, create_menu_1.withNativeMenu)({
28
+ ...COMMON_PARAMS,
29
+ Component: NonNativeContextMenu.Portal,
30
+ NativeComponent: react_1.default.Fragment,
31
+ });
32
+ const Content = (0, create_menu_1.withNativeMenu)({
33
+ ...COMMON_PARAMS,
34
+ Component: NonNativeContextMenu.Content,
35
+ NativeComponent: NativeMenuRoot.Content,
36
+ });
37
+ const Preview = (0, create_menu_1.withNativeMenu)({
38
+ ...COMMON_PARAMS,
39
+ Component: NonNativeContextMenu.Preview,
40
+ NativeComponent: NativeMenuRoot.Preview,
41
+ });
42
+ const Group = (0, create_menu_1.withNativeMenu)({
43
+ ...COMMON_PARAMS,
44
+ Component: NonNativeContextMenu.Group,
45
+ NativeComponent: NativeMenuRoot.Group,
46
+ });
47
+ const Label = (0, create_menu_1.withNativeMenu)({
48
+ ...COMMON_PARAMS,
49
+ Component: NonNativeContextMenu.Label,
50
+ NativeComponent: NativeMenuRoot.Label,
51
+ });
52
+ const Item = (0, create_menu_1.withNativeMenu)({
53
+ ...COMMON_PARAMS,
54
+ Component: NonNativeContextMenu.Item,
55
+ NativeComponent: NativeMenuRoot.Item,
56
+ });
57
+ const ItemTitle = (0, create_menu_1.withNativeMenu)({
58
+ ...COMMON_PARAMS,
59
+ Component: NonNativeContextMenu.ItemTitle,
60
+ NativeComponent: NativeMenuRoot.ItemTitle,
61
+ });
62
+ const ItemSubtitle = (0, create_menu_1.withNativeMenu)({
63
+ ...COMMON_PARAMS,
64
+ Component: NonNativeContextMenu.ItemSubtitle,
65
+ NativeComponent: NativeMenuRoot.ItemSubtitle,
66
+ });
67
+ const ItemIcon = (0, create_menu_1.withNativeMenu)({
68
+ ...COMMON_PARAMS,
69
+ Component: NonNativeContextMenu.ItemIcon,
70
+ NativeComponent: NativeMenuRoot.ItemIcon,
71
+ });
72
+ const ItemImage = (0, create_menu_1.withNativeMenu)({
73
+ ...COMMON_PARAMS,
74
+ Component: NonNativeContextMenu.ItemImage,
75
+ NativeComponent: NativeMenuRoot.ItemImage,
76
+ });
77
+ const CheckboxItem = (0, create_menu_1.withNativeMenu)({
78
+ ...COMMON_PARAMS,
79
+ Component: NonNativeContextMenu.CheckboxItem,
80
+ NativeComponent: NativeMenuRoot.CheckboxItem,
81
+ });
82
+ const RadioGroup = (0, create_menu_1.withNativeMenu)({
83
+ ...COMMON_PARAMS,
84
+ Component: NonNativeContextMenu.RadioGroup,
85
+ NativeComponent: () => null,
86
+ });
87
+ const RadioItem = (0, create_menu_1.withNativeMenu)({
88
+ ...COMMON_PARAMS,
89
+ Component: NonNativeContextMenu.RadioItem,
90
+ NativeComponent: ({ children }) => children,
91
+ });
92
+ const ItemIndicator = (0, create_menu_1.withNativeMenu)({
93
+ ...COMMON_PARAMS,
94
+ Component: NonNativeContextMenu.ItemIndicator,
95
+ NativeComponent: NativeMenuRoot.ItemIndicator,
96
+ });
97
+ const Separator = (0, create_menu_1.withNativeMenu)({
98
+ ...COMMON_PARAMS,
99
+ Component: NonNativeContextMenu.Separator,
100
+ NativeComponent: NativeMenuRoot.Separator,
101
+ });
102
+ const Arrow = (0, create_menu_1.withNativeMenu)({
103
+ ...COMMON_PARAMS,
104
+ Component: NonNativeContextMenu.Arrow,
105
+ NativeComponent: NativeMenuRoot.Arrow,
106
+ });
107
+ const Sub = (0, create_menu_1.withNativeMenu)({
108
+ ...COMMON_PARAMS,
109
+ Component: NonNativeContextMenu.Sub,
110
+ NativeComponent: NativeMenuRoot.Sub,
111
+ });
112
+ const SubTrigger = (0, create_menu_1.withNativeMenu)({
113
+ ...COMMON_PARAMS,
114
+ Component: NonNativeContextMenu.SubTrigger,
115
+ NativeComponent: NativeMenuRoot.SubTrigger,
116
+ });
117
+ const SubContent = (0, create_menu_1.withNativeMenu)({
118
+ ...COMMON_PARAMS,
119
+ Component: NonNativeContextMenu.SubContent,
120
+ NativeComponent: NativeMenuRoot.SubContent,
121
+ });
122
+ const ContextMenu = (0, web_1.withStaticProperties)(ContextMenuComp, {
123
+ Trigger,
124
+ Portal,
125
+ Content,
126
+ Group,
127
+ Label,
128
+ Item,
129
+ CheckboxItem,
130
+ RadioGroup,
131
+ RadioItem,
132
+ ItemIndicator,
133
+ Separator,
134
+ Arrow,
135
+ Sub,
136
+ // cast to React.FC to avoid TS error
137
+ SubTrigger: SubTrigger,
138
+ SubContent,
139
+ ItemTitle,
140
+ ItemSubtitle,
141
+ // cast to React.FC to avoid TS error
142
+ ItemIcon: ItemIcon,
143
+ ItemImage,
144
+ Preview,
145
+ });
146
+ return ContextMenu;
147
+ }
148
+ //# sourceMappingURL=ContextMenu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContextMenu.js","sourceRoot":"","sources":["../../src/ContextMenu.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,311 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CONTEXTMENU_CONTEXT = void 0;
4
+ exports.createNonNativeContextMenu = createNonNativeContextMenu;
5
+ const tslib_1 = require("tslib");
6
+ const jsx_runtime_1 = require("react/jsx-runtime");
7
+ const create_menu_1 = require("@hanzogui/create-menu");
8
+ const use_controllable_state_1 = require("@hanzogui/use-controllable-state");
9
+ const web_1 = require("@hanzogui/web");
10
+ const react_1 = tslib_1.__importStar(require("react"));
11
+ exports.CONTEXTMENU_CONTEXT = 'ContextMenuContext';
12
+ /* -----------------------------------------------------------------------------------------------*/
13
+ function createNonNativeContextMenu(params) {
14
+ const { Menu } = (0, create_menu_1.createBaseMenu)(params);
15
+ /* -------------------------------------------------------------------------------------------------
16
+ * ContextMenu
17
+ * -----------------------------------------------------------------------------------------------*/
18
+ const CONTEXT_MENU_NAME = 'ContextMenu';
19
+ const { Provider: ContextMenuProvider, useStyledContext: useContextMenuContext } = (0, web_1.createStyledContext)();
20
+ const ContextMenuComp = (props) => {
21
+ const { scope, children, onOpenChange, dir, modal = true, ...rest } = props;
22
+ const [open, setOpen] = react_1.default.useState(false);
23
+ const triggerRef = react_1.default.useRef(null);
24
+ const handleOpenChange = react_1.default.useCallback((open, event) => {
25
+ onOpenChange?.(open, event);
26
+ if (event?.defaultPrevented)
27
+ return;
28
+ setOpen(open);
29
+ }, [onOpenChange]);
30
+ return ((0, jsx_runtime_1.jsx)(ContextMenuProvider, { scope: scope, triggerId: (0, react_1.useId)(), triggerRef: triggerRef, contentId: (0, react_1.useId)(), open: open, onOpenChange: handleOpenChange, modal: modal, children: (0, jsx_runtime_1.jsx)(Menu, { scope: scope || exports.CONTEXTMENU_CONTEXT, dir: dir, open: open, onOpenChange: handleOpenChange, modal: modal, ...rest, children: children }) }));
31
+ };
32
+ ContextMenuComp.displayName = CONTEXT_MENU_NAME;
33
+ /* -------------------------------------------------------------------------------------------------
34
+ * ContextMenuTrigger - The only real difference from Menu: uses onContextMenu instead of onClick
35
+ * -----------------------------------------------------------------------------------------------*/
36
+ const TRIGGER_NAME = 'ContextMenuTrigger';
37
+ const ContextMenuTrigger = web_1.View.styleable((props, forwardedRef) => {
38
+ const { scope, style, disabled = false, asChild, children, ...triggerProps } = props;
39
+ const context = useContextMenuContext(scope);
40
+ const pointRef = react_1.default.useRef({ x: 0, y: 0 });
41
+ const virtualRef = react_1.default.useMemo(() => ({
42
+ current: {
43
+ getBoundingClientRect: () => {
44
+ if (web_1.isWeb) {
45
+ // Subtract scroll offset because floating-ui adds it back for absolute positioning
46
+ const scrollX = window.scrollX || document.documentElement.scrollLeft;
47
+ const scrollY = window.scrollY || document.documentElement.scrollTop;
48
+ return DOMRect.fromRect({
49
+ width: 0,
50
+ height: 0,
51
+ x: pointRef.current.x - scrollX,
52
+ y: pointRef.current.y - scrollY,
53
+ });
54
+ }
55
+ return { width: 0, height: 0, top: 0, left: 0, ...pointRef.current };
56
+ },
57
+ ...(!web_1.isWeb && {
58
+ measure: (c) => c(pointRef.current.x, pointRef.current.y, 0, 0),
59
+ measureInWindow: (c) => c(pointRef.current.x, pointRef.current.y, 0, 0),
60
+ }),
61
+ },
62
+ }), [pointRef.current.x, pointRef.current.y]);
63
+ const longPressTimerRef = react_1.default.useRef(0);
64
+ const clearLongPress = react_1.default.useCallback(() => window.clearTimeout(longPressTimerRef.current), []);
65
+ const createOpenChangeEvent = () => {
66
+ let defaultPrevented = false;
67
+ return {
68
+ get defaultPrevented() {
69
+ return defaultPrevented;
70
+ },
71
+ preventDefault() {
72
+ defaultPrevented = true;
73
+ },
74
+ };
75
+ };
76
+ const handleOpen = (event) => {
77
+ if (web_1.isWeb && (event instanceof MouseEvent || event instanceof PointerEvent)) {
78
+ pointRef.current = { x: event.clientX, y: event.clientY };
79
+ }
80
+ else {
81
+ pointRef.current = {
82
+ x: event.nativeEvent.pageX,
83
+ y: event.nativeEvent.pageY,
84
+ };
85
+ }
86
+ const openChangeEvent = createOpenChangeEvent();
87
+ context.onOpenChange(true, openChangeEvent);
88
+ return openChangeEvent;
89
+ };
90
+ react_1.default.useEffect(() => clearLongPress, [clearLongPress]);
91
+ react_1.default.useEffect(() => void (disabled && clearLongPress()), [disabled, clearLongPress]);
92
+ const Comp = asChild ? web_1.Slot : web_1.View;
93
+ return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(Menu.Anchor, { scope: scope || exports.CONTEXTMENU_CONTEXT, virtualRef: virtualRef }), (0, jsx_runtime_1.jsx)(Comp, { render: "span", componentName: TRIGGER_NAME, id: context.triggerId, "data-state": context.open ? 'open' : 'closed', "data-disabled": disabled ? '' : undefined, ...triggerProps, ref: (0, web_1.composeRefs)(forwardedRef, context.triggerRef), style: web_1.isWeb ? { WebkitTouchCallout: 'none', ...style } : null, ...(web_1.isWeb && {
94
+ onContextMenu: disabled
95
+ ? props.onContextMenu
96
+ : (0, web_1.composeEventHandlers)(props.onContextMenu, (event) => {
97
+ clearLongPress();
98
+ const openChangeEvent = handleOpen(event);
99
+ if (!openChangeEvent.defaultPrevented) {
100
+ event.preventDefault();
101
+ }
102
+ }),
103
+ onPointerDown: disabled
104
+ ? props.onPointerDown
105
+ : (0, web_1.composeEventHandlers)(props.onPointerDown, (event) => {
106
+ if (event.pointerType === 'mouse')
107
+ return;
108
+ clearLongPress();
109
+ longPressTimerRef.current = window.setTimeout(() => handleOpen(event), 700);
110
+ }),
111
+ onPointerMove: disabled
112
+ ? props.onPointerMove
113
+ : (0, web_1.composeEventHandlers)(props.onPointerMove, (event) => {
114
+ if (event.pointerType === 'mouse')
115
+ return;
116
+ clearLongPress();
117
+ }),
118
+ onPointerCancel: disabled
119
+ ? props.onPointerCancel
120
+ : (0, web_1.composeEventHandlers)(props.onPointerCancel, (event) => {
121
+ if (event.pointerType === 'mouse')
122
+ return;
123
+ clearLongPress();
124
+ }),
125
+ onPointerUp: disabled
126
+ ? props.onPointerUp
127
+ : (0, web_1.composeEventHandlers)(props.onPointerUp, (event) => {
128
+ if (event.pointerType === 'mouse')
129
+ return;
130
+ clearLongPress();
131
+ }),
132
+ }), ...(!web_1.isWeb && {
133
+ onLongPress: disabled
134
+ ? props.onLongPress
135
+ : (0, web_1.composeEventHandlers)(props.onLongPress, (event) => {
136
+ clearLongPress();
137
+ const openChangeEvent = handleOpen(event);
138
+ if (!openChangeEvent.defaultPrevented) {
139
+ event.preventDefault();
140
+ }
141
+ }),
142
+ }), children: children })] }));
143
+ });
144
+ ContextMenuTrigger.displayName = TRIGGER_NAME;
145
+ /* -------------------------------------------------------------------------------------------------
146
+ * ContextMenuPortal
147
+ * -----------------------------------------------------------------------------------------------*/
148
+ const PORTAL_NAME = 'ContextMenuPortal';
149
+ const ContextMenuPortal = (props) => {
150
+ const { scope, children, ...portalProps } = props;
151
+ const context = web_1.isAndroid ? useContextMenuContext(scope) : null;
152
+ const content = web_1.isAndroid ? ((0, jsx_runtime_1.jsx)(ContextMenuProvider, { ...context, children: children })) : (children);
153
+ return ((0, jsx_runtime_1.jsx)(Menu.Portal, { scope: scope || exports.CONTEXTMENU_CONTEXT, ...portalProps, children: content }));
154
+ };
155
+ ContextMenuPortal.displayName = PORTAL_NAME;
156
+ /* -------------------------------------------------------------------------------------------------
157
+ * ContextMenuContent
158
+ * -----------------------------------------------------------------------------------------------*/
159
+ const CONTENT_NAME = 'ContextMenuContent';
160
+ const ContextMenuContent = react_1.default.forwardRef((props, forwardedRef) => {
161
+ const { scope, ...contentProps } = props;
162
+ const context = useContextMenuContext(scope);
163
+ const hasInteractedOutsideRef = react_1.default.useRef(false);
164
+ return ((0, jsx_runtime_1.jsx)(Menu.Content, { id: context.contentId, "aria-labelledby": context.triggerId, scope: scope || exports.CONTEXTMENU_CONTEXT, ...contentProps, ref: forwardedRef, onCloseAutoFocus: (0, web_1.composeEventHandlers)(props.onCloseAutoFocus, (event) => {
165
+ if (!hasInteractedOutsideRef.current)
166
+ context.triggerRef.current?.focus();
167
+ hasInteractedOutsideRef.current = false;
168
+ event.preventDefault();
169
+ }), onInteractOutside: (0, web_1.composeEventHandlers)(props.onInteractOutside, (event) => {
170
+ const originalEvent = event.detail.originalEvent;
171
+ const ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;
172
+ const isRightClick = originalEvent.button === 2 || ctrlLeftClick;
173
+ if (!context.modal || isRightClick)
174
+ hasInteractedOutsideRef.current = true;
175
+ }) }));
176
+ });
177
+ ContextMenuContent.displayName = CONTENT_NAME;
178
+ /* -------------------------------------------------------------------------------------------------
179
+ * ContextMenuItem
180
+ * -----------------------------------------------------------------------------------------------*/
181
+ const ITEM_NAME = 'ContextMenuItem';
182
+ const ContextMenuItem = react_1.default.forwardRef((props, forwardedRef) => {
183
+ const { scope, ...itemProps } = props;
184
+ return ((0, jsx_runtime_1.jsx)(Menu.Item, { componentName: ITEM_NAME, scope: scope || exports.CONTEXTMENU_CONTEXT, ...itemProps, ref: forwardedRef }));
185
+ });
186
+ ContextMenuItem.displayName = ITEM_NAME;
187
+ /* -------------------------------------------------------------------------------------------------
188
+ * ContextMenuCheckboxItem
189
+ * -----------------------------------------------------------------------------------------------*/
190
+ const CHECKBOX_ITEM_NAME = 'ContextMenuCheckboxItem';
191
+ const ContextMenuCheckboxItem = react_1.default.forwardRef((props, forwardedRef) => {
192
+ const { scope, ...checkboxItemProps } = props;
193
+ return ((0, jsx_runtime_1.jsx)(Menu.CheckboxItem, { componentName: CHECKBOX_ITEM_NAME, scope: scope || exports.CONTEXTMENU_CONTEXT, ...checkboxItemProps, ref: forwardedRef }));
194
+ });
195
+ ContextMenuCheckboxItem.displayName = CHECKBOX_ITEM_NAME;
196
+ /* -------------------------------------------------------------------------------------------------
197
+ * ContextMenuRadioGroup
198
+ * -----------------------------------------------------------------------------------------------*/
199
+ const RADIO_GROUP_NAME = 'ContextMenuRadioGroup';
200
+ const ContextMenuRadioGroup = react_1.default.forwardRef((props, forwardedRef) => {
201
+ const { scope, ...radioGroupProps } = props;
202
+ return ((0, jsx_runtime_1.jsx)(Menu.RadioGroup, { scope: scope || exports.CONTEXTMENU_CONTEXT, ...radioGroupProps, ref: forwardedRef }));
203
+ });
204
+ ContextMenuRadioGroup.displayName = RADIO_GROUP_NAME;
205
+ /* -------------------------------------------------------------------------------------------------
206
+ * ContextMenuRadioItem
207
+ * -----------------------------------------------------------------------------------------------*/
208
+ const RADIO_ITEM_NAME = 'ContextMenuRadioItem';
209
+ const ContextMenuRadioItem = react_1.default.forwardRef((props, forwardedRef) => {
210
+ const { scope, ...radioItemProps } = props;
211
+ return ((0, jsx_runtime_1.jsx)(Menu.RadioItem, { componentName: RADIO_ITEM_NAME, scope: scope || exports.CONTEXTMENU_CONTEXT, ...radioItemProps, ref: forwardedRef }));
212
+ });
213
+ ContextMenuRadioItem.displayName = RADIO_ITEM_NAME;
214
+ /* -------------------------------------------------------------------------------------------------
215
+ * ContextMenuItemIndicator
216
+ * -----------------------------------------------------------------------------------------------*/
217
+ const INDICATOR_NAME = 'ContextMenuItemIndicator';
218
+ const ContextMenuItemIndicator = Menu.ItemIndicator.styleable((props, forwardedRef) => {
219
+ const { scope, ...itemIndicatorProps } = props;
220
+ return ((0, jsx_runtime_1.jsx)(Menu.ItemIndicator, { componentName: INDICATOR_NAME, scope: scope || exports.CONTEXTMENU_CONTEXT, ...itemIndicatorProps, ref: forwardedRef }));
221
+ });
222
+ ContextMenuItemIndicator.displayName = INDICATOR_NAME;
223
+ /* -------------------------------------------------------------------------------------------------
224
+ * ContextMenuSub
225
+ * -----------------------------------------------------------------------------------------------*/
226
+ const SUB_NAME = 'ContextMenuSub';
227
+ const ContextMenuSub = (props) => {
228
+ const { scope, children, onOpenChange, open: openProp, defaultOpen, ...rest } = props;
229
+ const [open, setOpen] = (0, use_controllable_state_1.useControllableState)({
230
+ prop: openProp,
231
+ defaultProp: defaultOpen,
232
+ onChange: onOpenChange,
233
+ });
234
+ return ((0, jsx_runtime_1.jsx)(Menu.Sub, { scope: scope || exports.CONTEXTMENU_CONTEXT, open: open, onOpenChange: setOpen, ...rest, children: children }));
235
+ };
236
+ ContextMenuSub.displayName = SUB_NAME;
237
+ /* -------------------------------------------------------------------------------------------------
238
+ * ContextMenuSubTrigger
239
+ * -----------------------------------------------------------------------------------------------*/
240
+ const SUB_TRIGGER_NAME = 'ContextMenuSubTrigger';
241
+ const ContextMenuSubTrigger = web_1.View.styleable((props, forwardedRef) => {
242
+ const { scope, ...subTriggerProps } = props;
243
+ return ((0, jsx_runtime_1.jsx)(Menu.SubTrigger, { componentName: SUB_TRIGGER_NAME, scope: scope || exports.CONTEXTMENU_CONTEXT, ...subTriggerProps, ref: forwardedRef }));
244
+ });
245
+ ContextMenuSubTrigger.displayName = SUB_TRIGGER_NAME;
246
+ /* -------------------------------------------------------------------------------------------------
247
+ * ContextMenuSubContent
248
+ * -----------------------------------------------------------------------------------------------*/
249
+ const SUB_CONTENT_NAME = 'ContextMenuSubContent';
250
+ const ContextMenuSubContent = react_1.default.forwardRef((props, forwardedRef) => {
251
+ const { scope, ...subContentProps } = props;
252
+ return ((0, jsx_runtime_1.jsx)(Menu.SubContent, { scope: scope || exports.CONTEXTMENU_CONTEXT, ...subContentProps, ref: forwardedRef, style: web_1.isWeb
253
+ ? {
254
+ ...props.style,
255
+ ...{
256
+ '--hanzogui-context-menu-content-transform-origin': 'var(--hanzogui-popper-transform-origin)',
257
+ '--hanzogui-context-menu-content-available-width': 'var(--hanzogui-popper-available-width)',
258
+ '--hanzogui-context-menu-content-available-height': 'var(--hanzogui-popper-available-height)',
259
+ '--hanzogui-context-menu-trigger-width': 'var(--hanzogui-popper-anchor-width)',
260
+ '--hanzogui-context-menu-trigger-height': 'var(--hanzogui-popper-anchor-height)',
261
+ },
262
+ }
263
+ : null }));
264
+ });
265
+ ContextMenuSubContent.displayName = SUB_CONTENT_NAME;
266
+ /* -------------------------------------------------------------------------------------------------
267
+ * ContextMenuArrow
268
+ * -----------------------------------------------------------------------------------------------*/
269
+ const ARROW_NAME = 'ContextMenuArrow';
270
+ const ContextMenuArrow = react_1.default.forwardRef((props, forwardedRef) => {
271
+ const { scope, ...arrowProps } = props;
272
+ return ((0, jsx_runtime_1.jsx)(Menu.Arrow, { componentName: ARROW_NAME, scope: scope || exports.CONTEXTMENU_CONTEXT, ...arrowProps, ref: forwardedRef }));
273
+ });
274
+ ContextMenuArrow.displayName = ARROW_NAME;
275
+ /* -------------------------------------------------------------------------------------------------
276
+ * Pass-through components (same as Menu)
277
+ * -----------------------------------------------------------------------------------------------*/
278
+ const ContextMenuGroup = Menu.Group;
279
+ const ContextMenuLabel = Menu.Label;
280
+ const ContextMenuSeparator = Menu.Separator;
281
+ const ContextMenuItemTitle = Menu.ItemTitle;
282
+ const ContextMenuItemSubTitle = Menu.ItemSubtitle;
283
+ const ContextMenuItemImage = Menu.ItemImage;
284
+ const ContextMenuItemIcon = Menu.ItemIcon;
285
+ const ContextMenuPreview = () => null; // No-op on web
286
+ /* -----------------------------------------------------------------------------------------------*/
287
+ return (0, web_1.withStaticProperties)(ContextMenuComp, {
288
+ Root: ContextMenuComp,
289
+ Trigger: ContextMenuTrigger,
290
+ Portal: ContextMenuPortal,
291
+ Content: ContextMenuContent,
292
+ Group: ContextMenuGroup,
293
+ Label: ContextMenuLabel,
294
+ Item: ContextMenuItem,
295
+ CheckboxItem: ContextMenuCheckboxItem,
296
+ RadioGroup: ContextMenuRadioGroup,
297
+ RadioItem: ContextMenuRadioItem,
298
+ ItemIndicator: ContextMenuItemIndicator,
299
+ Separator: ContextMenuSeparator,
300
+ Arrow: ContextMenuArrow,
301
+ Sub: ContextMenuSub,
302
+ SubTrigger: ContextMenuSubTrigger,
303
+ SubContent: ContextMenuSubContent,
304
+ ItemTitle: ContextMenuItemTitle,
305
+ ItemSubtitle: ContextMenuItemSubTitle,
306
+ ItemIcon: ContextMenuItemIcon,
307
+ ItemImage: ContextMenuItemImage,
308
+ Preview: ContextMenuPreview,
309
+ });
310
+ }
311
+ //# sourceMappingURL=createNonNativeContextMenu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createNonNativeContextMenu.js","sourceRoot":"","sources":["../../src/createNonNativeContextMenu.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ContextMenu = void 0;
4
+ require("@hanzogui/polyfill-dev");
5
+ const create_menu_1 = require("@hanzogui/create-menu");
6
+ const ContextMenu_tsx_1 = require("./ContextMenu.js");
7
+ exports.ContextMenu = (0, ContextMenu_tsx_1.createContextMenu)({
8
+ Icon: create_menu_1.MenuPredefined.MenuIcon,
9
+ Image: create_menu_1.MenuPredefined.MenuImage,
10
+ Indicator: create_menu_1.MenuPredefined.MenuIndicator,
11
+ Item: create_menu_1.MenuPredefined.MenuItem,
12
+ Label: create_menu_1.MenuPredefined.MenuLabel,
13
+ MenuGroup: create_menu_1.MenuPredefined.MenuGroup,
14
+ Separator: create_menu_1.MenuPredefined.MenuSeparator,
15
+ SubTitle: create_menu_1.MenuPredefined.SubTitle,
16
+ Title: create_menu_1.MenuPredefined.Title,
17
+ });
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":";;;AAAA,kCAA+B;AAE/B,uDAAsD;AAEtD,sDAAqD;AAExC,QAAA,WAAW,GAAG,IAAA,mCAAiB,EAAC;IAC3C,IAAI,EAAE,4BAAc,CAAC,QAAQ;IAC7B,KAAK,EAAE,4BAAc,CAAC,SAAS;IAC/B,SAAS,EAAE,4BAAc,CAAC,aAAa;IACvC,IAAI,EAAE,4BAAc,CAAC,QAAQ;IAC7B,KAAK,EAAE,4BAAc,CAAC,SAAS;IAC/B,SAAS,EAAE,4BAAc,CAAC,SAAS;IACnC,SAAS,EAAE,4BAAc,CAAC,aAAa;IACvC,QAAQ,EAAE,4BAAc,CAAC,QAAQ;IACjC,KAAK,EAAE,4BAAc,CAAC,KAAK;CAC5B,CAAC,CAAA"}
@@ -0,0 +1 @@
1
+ { "type": "commonjs" }
@@ -0,0 +1,144 @@
1
+ import { createNativeMenu, withNativeMenu } from '@hanzogui/create-menu';
2
+ import { withStaticProperties } from '@hanzogui/web';
3
+ import React from 'react';
4
+ import { CONTEXTMENU_CONTEXT, createNonNativeContextMenu, } from './createNonNativeContextMenu.js';
5
+ const COMMON_PARAMS = {
6
+ isRoot: false,
7
+ scope: CONTEXTMENU_CONTEXT,
8
+ };
9
+ export function createContextMenu(param) {
10
+ const { Menu: NativeMenuRoot } = createNativeMenu('ContextMenu');
11
+ const NonNativeContextMenu = createNonNativeContextMenu(param);
12
+ const ContextMenuComp = withNativeMenu({
13
+ ...COMMON_PARAMS,
14
+ Component: NonNativeContextMenu.Root,
15
+ NativeComponent: NativeMenuRoot,
16
+ isRoot: true,
17
+ });
18
+ const Trigger = withNativeMenu({
19
+ ...COMMON_PARAMS,
20
+ Component: NonNativeContextMenu.Trigger,
21
+ NativeComponent: NativeMenuRoot.Trigger,
22
+ });
23
+ const Portal = withNativeMenu({
24
+ ...COMMON_PARAMS,
25
+ Component: NonNativeContextMenu.Portal,
26
+ NativeComponent: React.Fragment,
27
+ });
28
+ const Content = withNativeMenu({
29
+ ...COMMON_PARAMS,
30
+ Component: NonNativeContextMenu.Content,
31
+ NativeComponent: NativeMenuRoot.Content,
32
+ });
33
+ const Preview = withNativeMenu({
34
+ ...COMMON_PARAMS,
35
+ Component: NonNativeContextMenu.Preview,
36
+ NativeComponent: NativeMenuRoot.Preview,
37
+ });
38
+ const Group = withNativeMenu({
39
+ ...COMMON_PARAMS,
40
+ Component: NonNativeContextMenu.Group,
41
+ NativeComponent: NativeMenuRoot.Group,
42
+ });
43
+ const Label = withNativeMenu({
44
+ ...COMMON_PARAMS,
45
+ Component: NonNativeContextMenu.Label,
46
+ NativeComponent: NativeMenuRoot.Label,
47
+ });
48
+ const Item = withNativeMenu({
49
+ ...COMMON_PARAMS,
50
+ Component: NonNativeContextMenu.Item,
51
+ NativeComponent: NativeMenuRoot.Item,
52
+ });
53
+ const ItemTitle = withNativeMenu({
54
+ ...COMMON_PARAMS,
55
+ Component: NonNativeContextMenu.ItemTitle,
56
+ NativeComponent: NativeMenuRoot.ItemTitle,
57
+ });
58
+ const ItemSubtitle = withNativeMenu({
59
+ ...COMMON_PARAMS,
60
+ Component: NonNativeContextMenu.ItemSubtitle,
61
+ NativeComponent: NativeMenuRoot.ItemSubtitle,
62
+ });
63
+ const ItemIcon = withNativeMenu({
64
+ ...COMMON_PARAMS,
65
+ Component: NonNativeContextMenu.ItemIcon,
66
+ NativeComponent: NativeMenuRoot.ItemIcon,
67
+ });
68
+ const ItemImage = withNativeMenu({
69
+ ...COMMON_PARAMS,
70
+ Component: NonNativeContextMenu.ItemImage,
71
+ NativeComponent: NativeMenuRoot.ItemImage,
72
+ });
73
+ const CheckboxItem = withNativeMenu({
74
+ ...COMMON_PARAMS,
75
+ Component: NonNativeContextMenu.CheckboxItem,
76
+ NativeComponent: NativeMenuRoot.CheckboxItem,
77
+ });
78
+ const RadioGroup = withNativeMenu({
79
+ ...COMMON_PARAMS,
80
+ Component: NonNativeContextMenu.RadioGroup,
81
+ NativeComponent: () => null,
82
+ });
83
+ const RadioItem = withNativeMenu({
84
+ ...COMMON_PARAMS,
85
+ Component: NonNativeContextMenu.RadioItem,
86
+ NativeComponent: ({ children }) => children,
87
+ });
88
+ const ItemIndicator = withNativeMenu({
89
+ ...COMMON_PARAMS,
90
+ Component: NonNativeContextMenu.ItemIndicator,
91
+ NativeComponent: NativeMenuRoot.ItemIndicator,
92
+ });
93
+ const Separator = withNativeMenu({
94
+ ...COMMON_PARAMS,
95
+ Component: NonNativeContextMenu.Separator,
96
+ NativeComponent: NativeMenuRoot.Separator,
97
+ });
98
+ const Arrow = withNativeMenu({
99
+ ...COMMON_PARAMS,
100
+ Component: NonNativeContextMenu.Arrow,
101
+ NativeComponent: NativeMenuRoot.Arrow,
102
+ });
103
+ const Sub = withNativeMenu({
104
+ ...COMMON_PARAMS,
105
+ Component: NonNativeContextMenu.Sub,
106
+ NativeComponent: NativeMenuRoot.Sub,
107
+ });
108
+ const SubTrigger = withNativeMenu({
109
+ ...COMMON_PARAMS,
110
+ Component: NonNativeContextMenu.SubTrigger,
111
+ NativeComponent: NativeMenuRoot.SubTrigger,
112
+ });
113
+ const SubContent = withNativeMenu({
114
+ ...COMMON_PARAMS,
115
+ Component: NonNativeContextMenu.SubContent,
116
+ NativeComponent: NativeMenuRoot.SubContent,
117
+ });
118
+ const ContextMenu = withStaticProperties(ContextMenuComp, {
119
+ Trigger,
120
+ Portal,
121
+ Content,
122
+ Group,
123
+ Label,
124
+ Item,
125
+ CheckboxItem,
126
+ RadioGroup,
127
+ RadioItem,
128
+ ItemIndicator,
129
+ Separator,
130
+ Arrow,
131
+ Sub,
132
+ // cast to React.FC to avoid TS error
133
+ SubTrigger: SubTrigger,
134
+ SubContent,
135
+ ItemTitle,
136
+ ItemSubtitle,
137
+ // cast to React.FC to avoid TS error
138
+ ItemIcon: ItemIcon,
139
+ ItemImage,
140
+ Preview,
141
+ });
142
+ return ContextMenu;
143
+ }
144
+ //# sourceMappingURL=ContextMenu.js.map