@hanzogui/context-menu 3.0.2 → 7.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/package.json +12 -12
  2. package/src/createNonNativeContextMenu.tsx +17 -17
  3. package/types/ContextMenu.d.ts +59 -59
  4. package/types/createNonNativeContextMenu.d.ts +63 -63
  5. package/types/index.d.ts +59 -59
  6. package/dist/cjs/ContextMenu.cjs +0 -182
  7. package/dist/cjs/ContextMenu.native.js +0 -191
  8. package/dist/cjs/ContextMenu.native.js.map +0 -1
  9. package/dist/cjs/createNonNativeContextMenu.cjs +0 -417
  10. package/dist/cjs/createNonNativeContextMenu.native.js +0 -443
  11. package/dist/cjs/createNonNativeContextMenu.native.js.map +0 -1
  12. package/dist/cjs/index.cjs +0 -39
  13. package/dist/cjs/index.native.js +0 -42
  14. package/dist/cjs/index.native.js.map +0 -1
  15. package/dist/esm/ContextMenu.mjs +0 -148
  16. package/dist/esm/ContextMenu.mjs.map +0 -1
  17. package/dist/esm/ContextMenu.native.js +0 -154
  18. package/dist/esm/ContextMenu.native.js.map +0 -1
  19. package/dist/esm/createNonNativeContextMenu.mjs +0 -382
  20. package/dist/esm/createNonNativeContextMenu.mjs.map +0 -1
  21. package/dist/esm/createNonNativeContextMenu.native.js +0 -405
  22. package/dist/esm/createNonNativeContextMenu.native.js.map +0 -1
  23. package/dist/esm/index.js +0 -15
  24. package/dist/esm/index.js.map +0 -1
  25. package/dist/esm/index.mjs +0 -15
  26. package/dist/esm/index.mjs.map +0 -1
  27. package/dist/esm/index.native.js +0 -15
  28. package/dist/esm/index.native.js.map +0 -1
  29. package/dist/jsx/ContextMenu.mjs +0 -148
  30. package/dist/jsx/ContextMenu.mjs.map +0 -1
  31. package/dist/jsx/ContextMenu.native.js +0 -191
  32. package/dist/jsx/ContextMenu.native.js.map +0 -1
  33. package/dist/jsx/createNonNativeContextMenu.mjs +0 -382
  34. package/dist/jsx/createNonNativeContextMenu.mjs.map +0 -1
  35. package/dist/jsx/createNonNativeContextMenu.native.js +0 -443
  36. package/dist/jsx/createNonNativeContextMenu.native.js.map +0 -1
  37. package/dist/jsx/index.js +0 -15
  38. package/dist/jsx/index.js.map +0 -1
  39. package/dist/jsx/index.mjs +0 -15
  40. package/dist/jsx/index.mjs.map +0 -1
  41. package/dist/jsx/index.native.js +0 -42
  42. package/dist/jsx/index.native.js.map +0 -1
@@ -1,191 +0,0 @@
1
- "use strict";
2
-
3
- var __create = Object.create;
4
- var __defProp = Object.defineProperty;
5
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
- var __getOwnPropNames = Object.getOwnPropertyNames;
7
- var __getProtoOf = Object.getPrototypeOf,
8
- __hasOwnProp = Object.prototype.hasOwnProperty;
9
- var __export = (target, all) => {
10
- for (var name in all) __defProp(target, name, {
11
- get: all[name],
12
- enumerable: !0
13
- });
14
- },
15
- __copyProps = (to, from, except, desc) => {
16
- if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
17
- get: () => from[key],
18
- enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
19
- });
20
- return to;
21
- };
22
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
23
- // If the importer is in node compatibility mode or this is not an ESM
24
- // file that has been converted to a CommonJS file using a Babel-
25
- // compatible transform (i.e. "__esModule" has not been set), then set
26
- // "default" to the CommonJS "module.exports" for node compatibility.
27
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
28
- value: mod,
29
- enumerable: !0
30
- }) : target, mod)),
31
- __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
32
- value: !0
33
- }), mod);
34
- var ContextMenu_exports = {};
35
- __export(ContextMenu_exports, {
36
- createContextMenu: () => createContextMenu
37
- });
38
- module.exports = __toCommonJS(ContextMenu_exports);
39
- var import_gui_create_menu = require("@hanzogui/create-menu"),
40
- import_gui_web = require("@hanzogui/web"),
41
- import_react = __toESM(require("react"), 1),
42
- import_createNonNativeContextMenu = require("./createNonNativeContextMenu.native.js"),
43
- COMMON_PARAMS = {
44
- isRoot: !1,
45
- scope: import_createNonNativeContextMenu.CONTEXTMENU_CONTEXT
46
- };
47
- function createContextMenu(param) {
48
- var {
49
- Menu: NativeMenuRoot
50
- } = (0, import_gui_create_menu.createNativeMenu)("ContextMenu"),
51
- NonNativeContextMenu = (0, import_createNonNativeContextMenu.createNonNativeContextMenu)(param),
52
- ContextMenuComp = (0, import_gui_create_menu.withNativeMenu)({
53
- ...COMMON_PARAMS,
54
- Component: NonNativeContextMenu.Root,
55
- NativeComponent: NativeMenuRoot,
56
- isRoot: !0
57
- }),
58
- Trigger = (0, import_gui_create_menu.withNativeMenu)({
59
- ...COMMON_PARAMS,
60
- Component: NonNativeContextMenu.Trigger,
61
- NativeComponent: NativeMenuRoot.Trigger
62
- }),
63
- Portal = (0, import_gui_create_menu.withNativeMenu)({
64
- ...COMMON_PARAMS,
65
- Component: NonNativeContextMenu.Portal,
66
- NativeComponent: import_react.default.Fragment
67
- }),
68
- Content = (0, import_gui_create_menu.withNativeMenu)({
69
- ...COMMON_PARAMS,
70
- Component: NonNativeContextMenu.Content,
71
- NativeComponent: NativeMenuRoot.Content
72
- }),
73
- Preview = (0, import_gui_create_menu.withNativeMenu)({
74
- ...COMMON_PARAMS,
75
- Component: NonNativeContextMenu.Preview,
76
- NativeComponent: NativeMenuRoot.Preview
77
- }),
78
- Group = (0, import_gui_create_menu.withNativeMenu)({
79
- ...COMMON_PARAMS,
80
- Component: NonNativeContextMenu.Group,
81
- NativeComponent: NativeMenuRoot.Group
82
- }),
83
- Label = (0, import_gui_create_menu.withNativeMenu)({
84
- ...COMMON_PARAMS,
85
- Component: NonNativeContextMenu.Label,
86
- NativeComponent: NativeMenuRoot.Label
87
- }),
88
- Item = (0, import_gui_create_menu.withNativeMenu)({
89
- ...COMMON_PARAMS,
90
- Component: NonNativeContextMenu.Item,
91
- NativeComponent: NativeMenuRoot.Item
92
- }),
93
- ItemTitle = (0, import_gui_create_menu.withNativeMenu)({
94
- ...COMMON_PARAMS,
95
- Component: NonNativeContextMenu.ItemTitle,
96
- NativeComponent: NativeMenuRoot.ItemTitle
97
- }),
98
- ItemSubtitle = (0, import_gui_create_menu.withNativeMenu)({
99
- ...COMMON_PARAMS,
100
- Component: NonNativeContextMenu.ItemSubtitle,
101
- NativeComponent: NativeMenuRoot.ItemSubtitle
102
- }),
103
- ItemIcon = (0, import_gui_create_menu.withNativeMenu)({
104
- ...COMMON_PARAMS,
105
- Component: NonNativeContextMenu.ItemIcon,
106
- NativeComponent: NativeMenuRoot.ItemIcon
107
- }),
108
- ItemImage = (0, import_gui_create_menu.withNativeMenu)({
109
- ...COMMON_PARAMS,
110
- Component: NonNativeContextMenu.ItemImage,
111
- NativeComponent: NativeMenuRoot.ItemImage
112
- }),
113
- CheckboxItem = (0, import_gui_create_menu.withNativeMenu)({
114
- ...COMMON_PARAMS,
115
- Component: NonNativeContextMenu.CheckboxItem,
116
- NativeComponent: NativeMenuRoot.CheckboxItem
117
- }),
118
- RadioGroup = (0, import_gui_create_menu.withNativeMenu)({
119
- ...COMMON_PARAMS,
120
- Component: NonNativeContextMenu.RadioGroup,
121
- NativeComponent: function () {
122
- return null;
123
- }
124
- }),
125
- RadioItem = (0, import_gui_create_menu.withNativeMenu)({
126
- ...COMMON_PARAMS,
127
- Component: NonNativeContextMenu.RadioItem,
128
- NativeComponent: function (param2) {
129
- var {
130
- children
131
- } = param2;
132
- return children;
133
- }
134
- }),
135
- ItemIndicator = (0, import_gui_create_menu.withNativeMenu)({
136
- ...COMMON_PARAMS,
137
- Component: NonNativeContextMenu.ItemIndicator,
138
- NativeComponent: NativeMenuRoot.ItemIndicator
139
- }),
140
- Separator = (0, import_gui_create_menu.withNativeMenu)({
141
- ...COMMON_PARAMS,
142
- Component: NonNativeContextMenu.Separator,
143
- NativeComponent: NativeMenuRoot.Separator
144
- }),
145
- Arrow = (0, import_gui_create_menu.withNativeMenu)({
146
- ...COMMON_PARAMS,
147
- Component: NonNativeContextMenu.Arrow,
148
- NativeComponent: NativeMenuRoot.Arrow
149
- }),
150
- Sub = (0, import_gui_create_menu.withNativeMenu)({
151
- ...COMMON_PARAMS,
152
- Component: NonNativeContextMenu.Sub,
153
- NativeComponent: NativeMenuRoot.Sub
154
- }),
155
- SubTrigger = (0, import_gui_create_menu.withNativeMenu)({
156
- ...COMMON_PARAMS,
157
- Component: NonNativeContextMenu.SubTrigger,
158
- NativeComponent: NativeMenuRoot.SubTrigger
159
- }),
160
- SubContent = (0, import_gui_create_menu.withNativeMenu)({
161
- ...COMMON_PARAMS,
162
- Component: NonNativeContextMenu.SubContent,
163
- NativeComponent: NativeMenuRoot.SubContent
164
- }),
165
- ContextMenu = (0, import_gui_web.withStaticProperties)(ContextMenuComp, {
166
- Trigger,
167
- Portal,
168
- Content,
169
- Group,
170
- Label,
171
- Item,
172
- CheckboxItem,
173
- RadioGroup,
174
- RadioItem,
175
- ItemIndicator,
176
- Separator,
177
- Arrow,
178
- Sub,
179
- // cast to React.FC to avoid TS error
180
- SubTrigger,
181
- SubContent,
182
- ItemTitle,
183
- ItemSubtitle,
184
- // cast to React.FC to avoid TS error
185
- ItemIcon,
186
- ItemImage,
187
- Preview
188
- });
189
- return ContextMenu;
190
- }
191
- //# sourceMappingURL=ContextMenu.native.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","ContextMenu_exports","__export","createContextMenu","module","exports","import_gui_create_menu","require","import_gui_web","import_react","__toESM","import_createNonNativeContextMenu","COMMON_PARAMS","isRoot","scope","CONTEXTMENU_CONTEXT","param","Menu","NativeMenuRoot","createNativeMenu","NonNativeContextMenu","createNonNativeContextMenu","ContextMenuComp","withNativeMenu","Component","Root","NativeComponent","Trigger","Portal","default","Fragment","Content","Preview","Group","Label","Item","ItemTitle","ItemSubtitle","ItemIcon","ItemImage","CheckboxItem","RadioGroup","RadioItem","param2","children","ItemIndicator","Separator","Arrow","Sub","SubTrigger","SubContent","ContextMenu","withStaticProperties"],"sources":["../../src/ContextMenu.tsx"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAAA;EAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;IAAAC,KAAA;EAAA,IAAAH,GAAA;AAAA,IAAAI,mBAAA;AAAAC,QAAA,CAAAD,mBAAA;EAAAE,iBAAA,EAAAA,CAAA,KAAAA;AAAA;AAKAC,MAAA,CAAAC,OAAA,GAAAT,YAAiD,CAAAK,mBAAA;AAWjD,IAAAK,sBAAsB,GAAAC,OAAA;EAAAC,cAAA,GAAAD,OAAA;EAAAE,YAAA,GAAAC,OAAA,CAAAH,OAAA;EAAAI,iCAAA,GAAAJ,OAAA;EAAAK,aAAA;IACpBC,MAAA,EAAQ;IACRC,KAAA,EAAOH,iCAAA,CAAAI;EACT;AAEO,SAASZ,kBAAkBa,KAAA,EAA4B;EAC5D;MAAMC,IAAE,EAAAC;IAAM,IAAe,IAAAZ,sBAAI,CAAAa,gBAAA,eAAiB;IAAaC,oBACzD,OAAAT,iCAAuB,CAAAU,0BAAA,EAAAL,KAA2B;IAAKM,eAEvD,OAAAhB,sBAAkB,CAAAiB,cAAA;MACtB,GAAGX,aAAA;MACHY,SAAA,EAAWJ,oBAAA,CAAqBK,IAAA;MAChCC,eAAA,EAAiBR,cAAA;MACjBL,MAAA,EAAQ;IACV,CAAC;IAEKc,OAAA,OAAUrB,sBAAA,CAAAiB,cAAA,EAAe;MAC7B,GAAGX,aAAA;MACHY,SAAA,EAAWJ,oBAAA,CAAqBO,OAAA;MAChCD,eAAA,EAAiBR,cAAA,CAAeS;IAClC,CAAC;IACKC,MAAA,OAAStB,sBAAA,CAAAiB,cAAA,EAAe;MAC5B,GAAGX,aAAA;MACHY,SAAA,EAAWJ,oBAAA,CAAqBQ,MAAA;MAChCF,eAAA,EAAiBjB,YAAA,CAAAoB,OAAA,CAAMC;IACzB,CAAC;IACKC,OAAA,OAAUzB,sBAAA,CAAAiB,cAAA,EAAe;MAC7B,GAAGX,aAAA;MACHY,SAAA,EAAWJ,oBAAA,CAAqBW,OAAA;MAChCL,eAAA,EAAiBR,cAAA,CAAea;IAClC,CAAC;IACKC,OAAA,OAAU1B,sBAAA,CAAAiB,cAAA,EAAe;MAC7B,GAAGX,aAAA;MACHY,SAAA,EAAWJ,oBAAA,CAAqBY,OAAA;MAChCN,eAAA,EAAiBR,cAAA,CAAec;IAClC,CAAC;IACKC,KAAA,OAAQ3B,sBAAA,CAAAiB,cAAA,EAAe;MAC3B,GAAGX,aAAA;MACHY,SAAA,EAAWJ,oBAAA,CAAqBa,KAAA;MAChCP,eAAA,EAAiBR,cAAA,CAAee;IAClC,CAAC;IACKC,KAAA,OAAQ5B,sBAAA,CAAAiB,cAAA,EAAe;MAC3B,GAAGX,aAAA;MACHY,SAAA,EAAWJ,oBAAA,CAAqBc,KAAA;MAChCR,eAAA,EAAiBR,cAAA,CAAegB;IAClC,CAAC;IACKC,IAAA,OAAO7B,sBAAA,CAAAiB,cAAA,EAAe;MAC1B,GAAGX,aAAA;MACHY,SAAA,EAAWJ,oBAAA,CAAqBe,IAAA;MAChCT,eAAA,EAAiBR,cAAA,CAAeiB;IAClC,CAAC;IACKC,SAAA,OAAY9B,sBAAA,CAAAiB,cAAA,EAAe;MAC/B,GAAGX,aAAA;MACHY,SAAA,EAAWJ,oBAAA,CAAqBgB,SAAA;MAChCV,eAAA,EAAiBR,cAAA,CAAekB;IAClC,CAAC;IACKC,YAAA,OAAe/B,sBAAA,CAAAiB,cAAA,EAAe;MAClC,GAAGX,aAAA;MACHY,SAAA,EAAWJ,oBAAA,CAAqBiB,YAAA;MAChCX,eAAA,EAAiBR,cAAA,CAAemB;IAClC,CAAC;IAEKC,QAAA,OAAWhC,sBAAA,CAAAiB,cAAA,EAAe;MAC9B,GAAGX,aAAA;MACHY,SAAA,EAAWJ,oBAAA,CAAqBkB,QAAA;MAChCZ,eAAA,EAAiBR,cAAA,CAAeoB;IAClC,CAAC;IAEKC,SAAA,OAAYjC,sBAAA,CAAAiB,cAAA,EAAe;MAC/B,GAAGX,aAAA;MACHY,SAAA,EAAWJ,oBAAA,CAAqBmB,SAAA;MAChCb,eAAA,EAAiBR,cAAA,CAAeqB;IAClC,CAAC;IAEKC,YAAA,OAAelC,sBAAA,CAAAiB,cAAA,EAAe;MAClC,GAAGX,aAAA;MACHY,SAAA,EAAWJ,oBAAA,CAAqBoB,YAAA;MAChCd,eAAA,EAAiBR,cAAA,CAAesB;IAClC,CAAC;IACKC,UAAA,OAAanC,sBAAA,CAAAiB,cAAA,EAAe;MAChC,GAAGX,aAAA;MACHY,SAAA,EAAWJ,oBAAA,CAAqBqB,UAAA;MAChCf,eAAA,EAAiB,SAAAA,CAAA,EAAM;QAEnB;MACJ;IAAG,EACH;IAAAgB,SAAW,OAAApC,sBAAqB,CAAAiB,cAAA;MAChC,GAAAX,aAAA;MACDY,SACK,EAAAJ,oBAAgB,CAAAsB,SAAA;MACpBhB,eAAG,WAAAA,CAAAiB,MAAA;QACH;UAAAC;QAAW,IAAAD,MAAA;QACX,OAAAC,QAAiB;MAClB;IACgC,EAC/B;IAAAC,aAAG,OAAAvC,sBAAA,CAAAiB,cAAA;MACH,GAAAX,aAAW;MACXY,SAAA,EAAAJ,oBAAiB,CAAeyB,aAAA;MACjCnB,eACa,EAAAR,cAAA,CAAA2B;IAAe,EAC3B;IAAAC,SAAG,OAAAxC,sBAAA,CAAAiB,cAAA;MACH,GAAAX,aAAW;MACXY,SAAA,EAAAJ,oBAAiB,CAAe0B,SAAA;MACjCpB,eACW,EAAAR,cAAA,CAAA4B;IAAe,EACzB;IAAAC,KAAG,OAAAzC,sBAAA,CAAAiB,cAAA;MACH,GAAAX,aAAW;MACXY,SAAA,EAAAJ,oBAAiB,CAAe2B,KAAA;MACjCrB,eACK,EAAAR,cAAa,CAAA6B;IAAe,EAChC;IAAAC,GAAG,OAAA1C,sBAAA,CAAAiB,cAAA;MACH,GAAAX,aAAW;MACXY,SAAA,EAAAJ,oBAAiB,CAAe4B,GAAA;MACjCtB,eACK,EAAAR,cAAa,CAAA8B;IAAe,EAChC;IAAAC,UAAG,OAAA3C,sBAAA,CAAAiB,cAAA;MACH,GAAAX,aAAW;MACXY,SAAA,EAAAJ,oBAAiB,CAAe6B,UAAA;MACjCvB,eAAA,EAAAR,cAAA,CAAA+B;IAgCD;IAAAC,UAxBoB,OAAA5C,sBAAA,CAAAiB,cAAqB;MACvC,GAAAX,aAAA;MACAY,SAAA,EAAAJ,oBAAA,CAAA8B,UAAA;MACAxB,eAAA,EAAAR,cAAA,CAAAgC;IAAA,EACA;IAAAC,WAAA,OAAA3C,cAAA,CAAA4C,oBAAA,EAAA9B,eAAA;MACAK,OAAA;MACAC,MAAA;MACAG,OAAA;MACAE,KAAA;MACAC,KAAA;MACAC,IAAA;MACAK,YAAA;MACAC,UAAA;MACAC,SAAA;MAAAG,aAAA;MAEAC,SAAA;MACAC,KAAA;MACAC,GAAA;MACA;MAAAC,UAAA;MAEAC,UAAA;MACAd,SAAA;MACAC,YAAA;MACD;MAEHC,QAAA","ignoreList":[]}
@@ -1,417 +0,0 @@
1
- var __create = Object.create;
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getProtoOf = Object.getPrototypeOf,
6
- __hasOwnProp = Object.prototype.hasOwnProperty;
7
- var __export = (target, all) => {
8
- for (var name in all) __defProp(target, name, {
9
- get: all[name],
10
- enumerable: !0
11
- });
12
- },
13
- __copyProps = (to, from, except, desc) => {
14
- if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
15
- get: () => from[key],
16
- enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
17
- });
18
- return to;
19
- };
20
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
- // If the importer is in node compatibility mode or this is not an ESM
22
- // file that has been converted to a CommonJS file using a Babel-
23
- // compatible transform (i.e. "__esModule" has not been set), then set
24
- // "default" to the CommonJS "module.exports" for node compatibility.
25
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
26
- value: mod,
27
- enumerable: !0
28
- }) : target, mod)),
29
- __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
30
- value: !0
31
- }), mod);
32
- var createNonNativeContextMenu_exports = {};
33
- __export(createNonNativeContextMenu_exports, {
34
- CONTEXTMENU_CONTEXT: () => CONTEXTMENU_CONTEXT,
35
- createNonNativeContextMenu: () => createNonNativeContextMenu
36
- });
37
- module.exports = __toCommonJS(createNonNativeContextMenu_exports);
38
- var import_gui_create_menu = require("@hanzogui/create-menu"),
39
- import_gui_use_controllable_state = require("@hanzogui/use-controllable-state"),
40
- import_gui_web = require("@hanzogui/web"),
41
- import_react = __toESM(require("react"), 1),
42
- import_jsx_runtime = require("react/jsx-runtime");
43
- const CONTEXTMENU_CONTEXT = "ContextMenuContext";
44
- function createNonNativeContextMenu(params) {
45
- const {
46
- Menu
47
- } = (0, import_gui_create_menu.createBaseMenu)(params),
48
- CONTEXT_MENU_NAME = "ContextMenu",
49
- {
50
- Provider: ContextMenuProvider,
51
- useStyledContext: useContextMenuContext
52
- } = (0, import_gui_web.createStyledContext)(),
53
- ContextMenuComp = props => {
54
- const {
55
- scope,
56
- children,
57
- onOpenChange,
58
- dir,
59
- modal = !0,
60
- ...rest
61
- } = props,
62
- [open, setOpen] = import_react.default.useState(!1),
63
- triggerRef = import_react.default.useRef(null),
64
- handleOpenChange = import_react.default.useCallback((open2, event) => {
65
- onOpenChange?.(open2, event), !event?.defaultPrevented && setOpen(open2);
66
- }, [onOpenChange]);
67
- return /* @__PURE__ */(0, import_jsx_runtime.jsx)(ContextMenuProvider, {
68
- scope,
69
- triggerId: (0, import_react.useId)(),
70
- triggerRef,
71
- contentId: (0, import_react.useId)(),
72
- open,
73
- onOpenChange: handleOpenChange,
74
- modal,
75
- children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(Menu, {
76
- scope: scope || CONTEXTMENU_CONTEXT,
77
- dir,
78
- open,
79
- onOpenChange: handleOpenChange,
80
- modal,
81
- ...rest,
82
- children
83
- })
84
- });
85
- };
86
- ContextMenuComp.displayName = CONTEXT_MENU_NAME;
87
- const TRIGGER_NAME = "ContextMenuTrigger",
88
- ContextMenuTrigger = import_gui_web.View.styleable((props, forwardedRef) => {
89
- const {
90
- scope,
91
- style,
92
- disabled = !1,
93
- asChild,
94
- children,
95
- ...triggerProps
96
- } = props,
97
- context = useContextMenuContext(scope),
98
- pointRef = import_react.default.useRef({
99
- x: 0,
100
- y: 0
101
- }),
102
- virtualRef = import_react.default.useMemo(() => ({
103
- current: {
104
- getBoundingClientRect: () => {
105
- if (import_gui_web.isWeb) {
106
- const scrollX = window.scrollX || document.documentElement.scrollLeft,
107
- scrollY = window.scrollY || document.documentElement.scrollTop;
108
- return DOMRect.fromRect({
109
- width: 0,
110
- height: 0,
111
- x: pointRef.current.x - scrollX,
112
- y: pointRef.current.y - scrollY
113
- });
114
- }
115
- return {
116
- width: 0,
117
- height: 0,
118
- top: 0,
119
- left: 0,
120
- ...pointRef.current
121
- };
122
- },
123
- ...(!import_gui_web.isWeb && {
124
- measure: c => c(pointRef.current.x, pointRef.current.y, 0, 0),
125
- measureInWindow: c => c(pointRef.current.x, pointRef.current.y, 0, 0)
126
- })
127
- }
128
- }), [pointRef.current.x, pointRef.current.y]),
129
- longPressTimerRef = import_react.default.useRef(0),
130
- clearLongPress = import_react.default.useCallback(() => window.clearTimeout(longPressTimerRef.current), []),
131
- createOpenChangeEvent = () => {
132
- let defaultPrevented = !1;
133
- return {
134
- get defaultPrevented() {
135
- return defaultPrevented;
136
- },
137
- preventDefault() {
138
- defaultPrevented = !0;
139
- }
140
- };
141
- },
142
- handleOpen = event => {
143
- import_gui_web.isWeb && (event instanceof MouseEvent || event instanceof PointerEvent) ? pointRef.current = {
144
- x: event.clientX,
145
- y: event.clientY
146
- } : pointRef.current = {
147
- x: event.nativeEvent.pageX,
148
- y: event.nativeEvent.pageY
149
- };
150
- const openChangeEvent = createOpenChangeEvent();
151
- return context.onOpenChange(!0, openChangeEvent), openChangeEvent;
152
- };
153
- import_react.default.useEffect(() => clearLongPress, [clearLongPress]), import_react.default.useEffect(() => {
154
- disabled && clearLongPress();
155
- }, [disabled, clearLongPress]);
156
- const Comp = asChild ? import_gui_web.Slot : import_gui_web.View;
157
- return /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, {
158
- children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(Menu.Anchor, {
159
- scope: scope || CONTEXTMENU_CONTEXT,
160
- virtualRef
161
- }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(Comp, {
162
- render: "span",
163
- componentName: TRIGGER_NAME,
164
- id: context.triggerId,
165
- "data-state": context.open ? "open" : "closed",
166
- "data-disabled": disabled ? "" : void 0,
167
- ...triggerProps,
168
- ref: (0, import_gui_web.composeRefs)(forwardedRef, context.triggerRef),
169
- style: import_gui_web.isWeb ? {
170
- WebkitTouchCallout: "none",
171
- ...style
172
- } : null,
173
- ...(import_gui_web.isWeb && {
174
- onContextMenu: disabled ? props.onContextMenu : (0, import_gui_web.composeEventHandlers)(props.onContextMenu, event => {
175
- clearLongPress(), handleOpen(event).defaultPrevented || event.preventDefault();
176
- }),
177
- onPointerDown: disabled ? props.onPointerDown : (0, import_gui_web.composeEventHandlers)(props.onPointerDown, event => {
178
- event.pointerType !== "mouse" && (clearLongPress(), longPressTimerRef.current = window.setTimeout(() => handleOpen(event), 700));
179
- }),
180
- onPointerMove: disabled ? props.onPointerMove : (0, import_gui_web.composeEventHandlers)(props.onPointerMove, event => {
181
- event.pointerType !== "mouse" && clearLongPress();
182
- }),
183
- onPointerCancel: disabled ? props.onPointerCancel : (0, import_gui_web.composeEventHandlers)(props.onPointerCancel, event => {
184
- event.pointerType !== "mouse" && clearLongPress();
185
- }),
186
- onPointerUp: disabled ? props.onPointerUp : (0, import_gui_web.composeEventHandlers)(props.onPointerUp, event => {
187
- event.pointerType !== "mouse" && clearLongPress();
188
- })
189
- }),
190
- ...(!import_gui_web.isWeb && {
191
- onLongPress: disabled ? props.onLongPress : (0, import_gui_web.composeEventHandlers)(props.onLongPress, event => {
192
- clearLongPress(), handleOpen(event).defaultPrevented || event.preventDefault();
193
- })
194
- }),
195
- children
196
- })]
197
- });
198
- });
199
- ContextMenuTrigger.displayName = TRIGGER_NAME;
200
- const PORTAL_NAME = "ContextMenuPortal",
201
- ContextMenuPortal = props => {
202
- const {
203
- scope,
204
- children,
205
- ...portalProps
206
- } = props,
207
- context = import_gui_web.isAndroid ? useContextMenuContext(scope) : null,
208
- content = import_gui_web.isAndroid ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(ContextMenuProvider, {
209
- ...context,
210
- children
211
- }) : children;
212
- return /* @__PURE__ */(0, import_jsx_runtime.jsx)(Menu.Portal, {
213
- scope: scope || CONTEXTMENU_CONTEXT,
214
- ...portalProps,
215
- children: content
216
- });
217
- };
218
- ContextMenuPortal.displayName = PORTAL_NAME;
219
- const CONTENT_NAME = "ContextMenuContent",
220
- ContextMenuContent = import_react.default.forwardRef((props, forwardedRef) => {
221
- const {
222
- scope,
223
- ...contentProps
224
- } = props,
225
- context = useContextMenuContext(scope),
226
- hasInteractedOutsideRef = import_react.default.useRef(!1);
227
- return /* @__PURE__ */(0, import_jsx_runtime.jsx)(Menu.Content, {
228
- id: context.contentId,
229
- "aria-labelledby": context.triggerId,
230
- scope: scope || CONTEXTMENU_CONTEXT,
231
- ...contentProps,
232
- ref: forwardedRef,
233
- onCloseAutoFocus: (0, import_gui_web.composeEventHandlers)(props.onCloseAutoFocus, event => {
234
- hasInteractedOutsideRef.current || context.triggerRef.current?.focus(), hasInteractedOutsideRef.current = !1, event.preventDefault();
235
- }),
236
- onInteractOutside: (0, import_gui_web.composeEventHandlers)(props.onInteractOutside, event => {
237
- const originalEvent = event.detail.originalEvent,
238
- ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === !0,
239
- isRightClick = originalEvent.button === 2 || ctrlLeftClick;
240
- (!context.modal || isRightClick) && (hasInteractedOutsideRef.current = !0);
241
- })
242
- });
243
- });
244
- ContextMenuContent.displayName = CONTENT_NAME;
245
- const ITEM_NAME = "ContextMenuItem",
246
- ContextMenuItem = import_react.default.forwardRef((props, forwardedRef) => {
247
- const {
248
- scope,
249
- ...itemProps
250
- } = props;
251
- return /* @__PURE__ */(0, import_jsx_runtime.jsx)(Menu.Item, {
252
- componentName: ITEM_NAME,
253
- scope: scope || CONTEXTMENU_CONTEXT,
254
- ...itemProps,
255
- ref: forwardedRef
256
- });
257
- });
258
- ContextMenuItem.displayName = ITEM_NAME;
259
- const CHECKBOX_ITEM_NAME = "ContextMenuCheckboxItem",
260
- ContextMenuCheckboxItem = import_react.default.forwardRef((props, forwardedRef) => {
261
- const {
262
- scope,
263
- ...checkboxItemProps
264
- } = props;
265
- return /* @__PURE__ */(0, import_jsx_runtime.jsx)(Menu.CheckboxItem, {
266
- componentName: CHECKBOX_ITEM_NAME,
267
- scope: scope || CONTEXTMENU_CONTEXT,
268
- ...checkboxItemProps,
269
- ref: forwardedRef
270
- });
271
- });
272
- ContextMenuCheckboxItem.displayName = CHECKBOX_ITEM_NAME;
273
- const RADIO_GROUP_NAME = "ContextMenuRadioGroup",
274
- ContextMenuRadioGroup = import_react.default.forwardRef((props, forwardedRef) => {
275
- const {
276
- scope,
277
- ...radioGroupProps
278
- } = props;
279
- return /* @__PURE__ */(0, import_jsx_runtime.jsx)(Menu.RadioGroup, {
280
- scope: scope || CONTEXTMENU_CONTEXT,
281
- ...radioGroupProps,
282
- ref: forwardedRef
283
- });
284
- });
285
- ContextMenuRadioGroup.displayName = RADIO_GROUP_NAME;
286
- const RADIO_ITEM_NAME = "ContextMenuRadioItem",
287
- ContextMenuRadioItem = import_react.default.forwardRef((props, forwardedRef) => {
288
- const {
289
- scope,
290
- ...radioItemProps
291
- } = props;
292
- return /* @__PURE__ */(0, import_jsx_runtime.jsx)(Menu.RadioItem, {
293
- componentName: RADIO_ITEM_NAME,
294
- scope: scope || CONTEXTMENU_CONTEXT,
295
- ...radioItemProps,
296
- ref: forwardedRef
297
- });
298
- });
299
- ContextMenuRadioItem.displayName = RADIO_ITEM_NAME;
300
- const INDICATOR_NAME = "ContextMenuItemIndicator",
301
- ContextMenuItemIndicator = Menu.ItemIndicator.styleable((props, forwardedRef) => {
302
- const {
303
- scope,
304
- ...itemIndicatorProps
305
- } = props;
306
- return /* @__PURE__ */(0, import_jsx_runtime.jsx)(Menu.ItemIndicator, {
307
- componentName: INDICATOR_NAME,
308
- scope: scope || CONTEXTMENU_CONTEXT,
309
- ...itemIndicatorProps,
310
- ref: forwardedRef
311
- });
312
- });
313
- ContextMenuItemIndicator.displayName = INDICATOR_NAME;
314
- const SUB_NAME = "ContextMenuSub",
315
- ContextMenuSub = props => {
316
- const {
317
- scope,
318
- children,
319
- onOpenChange,
320
- open: openProp,
321
- defaultOpen,
322
- ...rest
323
- } = props,
324
- [open, setOpen] = (0, import_gui_use_controllable_state.useControllableState)({
325
- prop: openProp,
326
- defaultProp: defaultOpen,
327
- onChange: onOpenChange
328
- });
329
- return /* @__PURE__ */(0, import_jsx_runtime.jsx)(Menu.Sub, {
330
- scope: scope || CONTEXTMENU_CONTEXT,
331
- open,
332
- onOpenChange: setOpen,
333
- ...rest,
334
- children
335
- });
336
- };
337
- ContextMenuSub.displayName = SUB_NAME;
338
- const SUB_TRIGGER_NAME = "ContextMenuSubTrigger",
339
- ContextMenuSubTrigger = import_gui_web.View.styleable((props, forwardedRef) => {
340
- const {
341
- scope,
342
- ...subTriggerProps
343
- } = props;
344
- return /* @__PURE__ */(0, import_jsx_runtime.jsx)(Menu.SubTrigger, {
345
- componentName: SUB_TRIGGER_NAME,
346
- scope: scope || CONTEXTMENU_CONTEXT,
347
- ...subTriggerProps,
348
- ref: forwardedRef
349
- });
350
- });
351
- ContextMenuSubTrigger.displayName = SUB_TRIGGER_NAME;
352
- const SUB_CONTENT_NAME = "ContextMenuSubContent",
353
- ContextMenuSubContent = import_react.default.forwardRef((props, forwardedRef) => {
354
- const {
355
- scope,
356
- ...subContentProps
357
- } = props;
358
- return /* @__PURE__ */(0, import_jsx_runtime.jsx)(Menu.SubContent, {
359
- scope: scope || CONTEXTMENU_CONTEXT,
360
- ...subContentProps,
361
- ref: forwardedRef,
362
- style: import_gui_web.isWeb ? {
363
- ...props.style,
364
- "--tamagui-context-menu-content-transform-origin": "var(--tamagui-popper-transform-origin)",
365
- "--tamagui-context-menu-content-available-width": "var(--tamagui-popper-available-width)",
366
- "--tamagui-context-menu-content-available-height": "var(--tamagui-popper-available-height)",
367
- "--tamagui-context-menu-trigger-width": "var(--tamagui-popper-anchor-width)",
368
- "--tamagui-context-menu-trigger-height": "var(--tamagui-popper-anchor-height)"
369
- } : null
370
- });
371
- });
372
- ContextMenuSubContent.displayName = SUB_CONTENT_NAME;
373
- const ARROW_NAME = "ContextMenuArrow",
374
- ContextMenuArrow = import_react.default.forwardRef((props, forwardedRef) => {
375
- const {
376
- scope,
377
- ...arrowProps
378
- } = props;
379
- return /* @__PURE__ */(0, import_jsx_runtime.jsx)(Menu.Arrow, {
380
- componentName: ARROW_NAME,
381
- scope: scope || CONTEXTMENU_CONTEXT,
382
- ...arrowProps,
383
- ref: forwardedRef
384
- });
385
- });
386
- ContextMenuArrow.displayName = ARROW_NAME;
387
- const ContextMenuGroup = Menu.Group,
388
- ContextMenuLabel = Menu.Label,
389
- ContextMenuSeparator = Menu.Separator,
390
- ContextMenuItemTitle = Menu.ItemTitle,
391
- ContextMenuItemSubTitle = Menu.ItemSubtitle,
392
- ContextMenuItemImage = Menu.ItemImage,
393
- ContextMenuItemIcon = Menu.ItemIcon;
394
- return (0, import_gui_web.withStaticProperties)(ContextMenuComp, {
395
- Root: ContextMenuComp,
396
- Trigger: ContextMenuTrigger,
397
- Portal: ContextMenuPortal,
398
- Content: ContextMenuContent,
399
- Group: ContextMenuGroup,
400
- Label: ContextMenuLabel,
401
- Item: ContextMenuItem,
402
- CheckboxItem: ContextMenuCheckboxItem,
403
- RadioGroup: ContextMenuRadioGroup,
404
- RadioItem: ContextMenuRadioItem,
405
- ItemIndicator: ContextMenuItemIndicator,
406
- Separator: ContextMenuSeparator,
407
- Arrow: ContextMenuArrow,
408
- Sub: ContextMenuSub,
409
- SubTrigger: ContextMenuSubTrigger,
410
- SubContent: ContextMenuSubContent,
411
- ItemTitle: ContextMenuItemTitle,
412
- ItemSubtitle: ContextMenuItemSubTitle,
413
- ItemIcon: ContextMenuItemIcon,
414
- ItemImage: ContextMenuItemImage,
415
- Preview: () => null
416
- });
417
- }