@mongodb-js/compass-context-menu 0.2.4 → 0.2.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.
@@ -2,4 +2,5 @@ import mod from "./index.js";
2
2
 
3
3
  export default mod;
4
4
  export const ContextMenuProvider = mod.ContextMenuProvider;
5
+ export const contextMenuClassName = mod.contextMenuClassName;
5
6
  export const useContextMenu = mod.useContextMenu;
@@ -0,0 +1,2 @@
1
+ export declare const contextMenuClassName = "compass-context-menu";
2
+ //# sourceMappingURL=consts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consts.d.ts","sourceRoot":"","sources":["../src/consts.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB,yBAAyB,CAAC"}
package/dist/consts.js ADDED
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.contextMenuClassName = void 0;
4
+ exports.contextMenuClassName = 'compass-context-menu';
5
+ //# sourceMappingURL=consts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consts.js","sourceRoot":"","sources":["../src/consts.ts"],"names":[],"mappings":";;;AAAa,QAAA,oBAAoB,GAAG,sBAAsB,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
- import type { ContextMenuContextType, ContextMenuState } from './types';
2
+ import type { ContextMenuContextType, ContextMenuItemGroup, ContextMenuState } from './types';
3
3
  export declare const ContextMenuContext: React.Context<ContextMenuContextType | null>;
4
- export declare function ContextMenuProvider({ disabled, children, menuWrapper: Wrapper, }: {
4
+ export declare function ContextMenuProvider({ disabled, children, menuWrapper: Wrapper, onContextMenuOpen, }: {
5
5
  disabled?: boolean;
6
6
  children: React.ReactNode;
7
7
  menuWrapper: React.ComponentType<{
@@ -9,5 +9,6 @@ export declare function ContextMenuProvider({ disabled, children, menuWrapper: W
9
9
  close: () => void;
10
10
  };
11
11
  }>;
12
+ onContextMenuOpen?: (itemGroups: ContextMenuItemGroup[]) => void;
12
13
  }): React.JSX.Element;
13
14
  //# sourceMappingURL=context-menu-provider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"context-menu-provider.d.ts","sourceRoot":"","sources":["../src/context-menu-provider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAON,MAAM,OAAO,CAAC;AAEf,OAAO,KAAK,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAMxE,eAAO,MAAM,kBAAkB,8CAE9B,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,EAClC,QAAgB,EAChB,QAAQ,EACR,WAAW,EAAE,OAAO,GACrB,EAAE;IACD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,WAAW,EAAE,KAAK,CAAC,aAAa,CAAC;QAC/B,IAAI,EAAE,gBAAgB,GAAG;YAAE,KAAK,EAAE,MAAM,IAAI,CAAA;SAAE,CAAC;KAChD,CAAC,CAAC;CACJ,qBA8EA"}
1
+ {"version":3,"file":"context-menu-provider.d.ts","sourceRoot":"","sources":["../src/context-menu-provider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAQN,MAAM,OAAO,CAAC;AAEf,OAAO,KAAK,EACV,sBAAsB,EACtB,oBAAoB,EACpB,gBAAgB,EACjB,MAAM,SAAS,CAAC;AAOjB,eAAO,MAAM,kBAAkB,8CAE9B,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,EAClC,QAAgB,EAChB,QAAQ,EACR,WAAW,EAAE,OAAO,EACpB,iBAAiB,GAClB,EAAE;IACD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,WAAW,EAAE,KAAK,CAAC,aAAa,CAAC;QAC/B,IAAI,EAAE,gBAAgB,GAAG;YAAE,KAAK,EAAE,MAAM,IAAI,CAAA;SAAE,CAAC;KAChD,CAAC,CAAC;IACH,iBAAiB,CAAC,EAAE,CAAC,UAAU,EAAE,oBAAoB,EAAE,KAAK,IAAI,CAAC;CAClE,qBA2FA"}
@@ -37,8 +37,9 @@ exports.ContextMenuContext = void 0;
37
37
  exports.ContextMenuProvider = ContextMenuProvider;
38
38
  const react_1 = __importStar(require("react"));
39
39
  const context_menu_content_1 = require("./context-menu-content");
40
+ const consts_1 = require("./consts");
40
41
  exports.ContextMenuContext = (0, react_1.createContext)(null);
41
- function ContextMenuProvider({ disabled = false, children, menuWrapper: Wrapper, }) {
42
+ function ContextMenuProvider({ disabled = false, children, menuWrapper: Wrapper, onContextMenuOpen, }) {
42
43
  // Check if there's already a parent context menu provider
43
44
  const parentContext = (0, react_1.useContext)(exports.ContextMenuContext);
44
45
  const [menu, setMenu] = (0, react_1.useState)({
@@ -47,6 +48,8 @@ function ContextMenuProvider({ disabled = false, children, menuWrapper: Wrapper,
47
48
  position: { x: 0, y: 0 },
48
49
  });
49
50
  const close = (0, react_1.useCallback)(() => setMenu((prev) => ({ ...prev, isOpen: false })), [setMenu]);
51
+ const onContextMenuOpenRef = (0, react_1.useRef)(onContextMenuOpen);
52
+ onContextMenuOpenRef.current = onContextMenuOpen;
50
53
  const handleClosingEvent = (0, react_1.useCallback)((event) => {
51
54
  if (!event.defaultPrevented) {
52
55
  close();
@@ -62,11 +65,11 @@ function ContextMenuProvider({ disabled = false, children, menuWrapper: Wrapper,
62
65
  if (itemGroups.length === 0) {
63
66
  return;
64
67
  }
68
+ onContextMenuOpenRef.current?.(itemGroups);
65
69
  setMenu({
66
70
  isOpen: true,
67
71
  itemGroups,
68
72
  position: {
69
- // TODO: Fix handling offset while scrolling
70
73
  x: event.clientX,
71
74
  y: event.clientY,
72
75
  },
@@ -74,7 +77,12 @@ function ContextMenuProvider({ disabled = false, children, menuWrapper: Wrapper,
74
77
  }
75
78
  document.addEventListener('contextmenu', handleContextMenu);
76
79
  window.addEventListener('resize', handleClosingEvent);
77
- window.addEventListener('scroll', handleClosingEvent, { capture: true });
80
+ window.addEventListener('scroll', (e) => {
81
+ const isCompassContextMenu = e.target instanceof HTMLElement &&
82
+ e.target.classList.contains(consts_1.contextMenuClassName);
83
+ if (!isCompassContextMenu)
84
+ handleClosingEvent(e);
85
+ }, { capture: true });
78
86
  return () => {
79
87
  document.removeEventListener('contextmenu', handleContextMenu);
80
88
  window.removeEventListener('resize', handleClosingEvent);
@@ -82,7 +90,7 @@ function ContextMenuProvider({ disabled = false, children, menuWrapper: Wrapper,
82
90
  capture: true,
83
91
  });
84
92
  };
85
- }, [disabled, handleClosingEvent, parentContext]);
93
+ }, [disabled, handleClosingEvent, onContextMenuOpenRef, parentContext]);
86
94
  const value = (0, react_1.useMemo)(() => ({
87
95
  close,
88
96
  }), [close]);
@@ -1 +1 @@
1
- {"version":3,"file":"context-menu-provider.js","sourceRoot":"","sources":["../src/context-menu-provider.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmBA,kDAwFC;AA3GD,+CAOe;AAGf,iEAGgC;AAEnB,QAAA,kBAAkB,GAAG,IAAA,qBAAa,EAC7C,IAAI,CACL,CAAC;AAEF,SAAgB,mBAAmB,CAAC,EAClC,QAAQ,GAAG,KAAK,EAChB,QAAQ,EACR,WAAW,EAAE,OAAO,GAOrB;IACC,0DAA0D;IAC1D,MAAM,aAAa,GAAG,IAAA,kBAAU,EAAC,0BAAkB,CAAC,CAAC;IAErD,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,IAAA,gBAAQ,EAAmB;QACjD,MAAM,EAAE,KAAK;QACb,UAAU,EAAE,EAAE;QACd,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;KACzB,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,IAAA,mBAAW,EACvB,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,EACrD,CAAC,OAAO,CAAC,CACV,CAAC;IAEF,MAAM,kBAAkB,GAAG,IAAA,mBAAW,EACpC,CAAC,KAAY,EAAE,EAAE;QACf,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC;YAC5B,KAAK,EAAE,CAAC;QACV,CAAC;IACH,CAAC,EACD,CAAC,KAAK,CAAC,CACR,CAAC;IAEF,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,2DAA2D;QAC3D,IAAI,aAAa,IAAI,QAAQ;YAAE,OAAO;QAEtC,SAAS,iBAAiB,CAAC,KAAiB;YAC1C,KAAK,CAAC,cAAc,EAAE,CAAC;YAEvB,MAAM,UAAU,GAAG,IAAA,4CAAqB,EAAC,KAA2B,CAAC,CAAC;YAEtE,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC5B,OAAO;YACT,CAAC;YAED,OAAO,CAAC;gBACN,MAAM,EAAE,IAAI;gBACZ,UAAU;gBACV,QAAQ,EAAE;oBACR,4CAA4C;oBAC5C,CAAC,EAAE,KAAK,CAAC,OAAO;oBAChB,CAAC,EAAE,KAAK,CAAC,OAAO;iBACjB;aACF,CAAC,CAAC;QACL,CAAC;QAED,QAAQ,CAAC,gBAAgB,CAAC,aAAa,EAAE,iBAAiB,CAAC,CAAC;QAC5D,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;QACtD,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,kBAAkB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAEzE,OAAO,GAAG,EAAE;YACV,QAAQ,CAAC,mBAAmB,CAAC,aAAa,EAAE,iBAAiB,CAAC,CAAC;YAC/D,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;YACzD,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,kBAAkB,EAAE;gBACvD,OAAO,EAAE,IAAI;aACd,CAAC,CAAC;QACL,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,QAAQ,EAAE,kBAAkB,EAAE,aAAa,CAAC,CAAC,CAAC;IAElD,MAAM,KAAK,GAAG,IAAA,eAAO,EACnB,GAAG,EAAE,CAAC,CAAC;QACL,KAAK;KACN,CAAC,EACF,CAAC,KAAK,CAAC,CACR,CAAC;IAEF,wEAAwE;IACxE,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,8DAAG,QAAQ,CAAI,CAAC;IACzB,CAAC;IAED,OAAO,CACL,8BAAC,0BAAkB,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK;QACtC,QAAQ;QACT,8BAAC,OAAO,IAAC,IAAI,EAAE,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,GAAI,CACT,CAC/B,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"context-menu-provider.js","sourceRoot":"","sources":["../src/context-menu-provider.tsx"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export { useContextMenu } from './use-context-menu';
2
2
  export { ContextMenuProvider } from './context-menu-provider';
3
3
  export type { ContextMenuItem, ContextMenuItemGroup, ContextMenuWrapperProps, } from './types';
4
+ export { contextMenuClassName } from './consts';
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,YAAY,EACV,eAAe,EACf,oBAAoB,EACpB,uBAAuB,GACxB,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,YAAY,EACV,eAAe,EACf,oBAAoB,EACpB,uBAAuB,GACxB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC"}
package/dist/index.js CHANGED
@@ -1,8 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ContextMenuProvider = exports.useContextMenu = void 0;
3
+ exports.contextMenuClassName = exports.ContextMenuProvider = exports.useContextMenu = void 0;
4
4
  var use_context_menu_1 = require("./use-context-menu");
5
5
  Object.defineProperty(exports, "useContextMenu", { enumerable: true, get: function () { return use_context_menu_1.useContextMenu; } });
6
6
  var context_menu_provider_1 = require("./context-menu-provider");
7
7
  Object.defineProperty(exports, "ContextMenuProvider", { enumerable: true, get: function () { return context_menu_provider_1.ContextMenuProvider; } });
8
+ var consts_1 = require("./consts");
9
+ Object.defineProperty(exports, "contextMenuClassName", { enumerable: true, get: function () { return consts_1.contextMenuClassName; } });
8
10
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,uDAAoD;AAA3C,kHAAA,cAAc,OAAA;AACvB,iEAA8D;AAArD,4HAAA,mBAAmB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,uDAAoD;AAA3C,kHAAA,cAAc,OAAA;AACvB,iEAA8D;AAArD,4HAAA,mBAAmB,OAAA;AAM5B,mCAAgD;AAAvC,8GAAA,oBAAoB,OAAA"}
package/dist/types.d.ts CHANGED
@@ -1,14 +1,18 @@
1
- export type ContextMenuItemGroup = ContextMenuItem[];
2
- export type ContextMenuState = {
1
+ export type ContextMenuItemGroup<T extends ContextMenuItem = ContextMenuItem> = {
2
+ /** Label for the group used for telemetry. */
3
+ telemetryLabel: string;
4
+ items: T[];
5
+ };
6
+ export type ContextMenuState<T extends ContextMenuItem = ContextMenuItem> = {
3
7
  isOpen: boolean;
4
- itemGroups: ContextMenuItemGroup[];
8
+ itemGroups: ContextMenuItemGroup<T>[];
5
9
  position: {
6
10
  x: number;
7
11
  y: number;
8
12
  };
9
13
  };
10
- export type ContextMenuWrapperProps = {
11
- menu: ContextMenuState & {
14
+ export type ContextMenuWrapperProps<T extends ContextMenuItem = ContextMenuItem> = {
15
+ menu: ContextMenuState<T> & {
12
16
  close: () => void;
13
17
  };
14
18
  };
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,oBAAoB,GAAG,eAAe,EAAE,CAAC;AAErD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,oBAAoB,EAAE,CAAC;IACnC,QAAQ,EAAE;QACR,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;KACX,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,IAAI,EAAE,gBAAgB,GAAG;QAAE,KAAK,EAAE,MAAM,IAAI,CAAA;KAAE,CAAC;CAChD,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,KAAK,IAAI,IAAI,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC;CACnE,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,oBAAoB,CAAC,CAAC,SAAS,eAAe,GAAG,eAAe,IAC1E;IACE,8CAA8C;IAC9C,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,CAAC,EAAE,CAAC;CACZ,CAAC;AAEJ,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,eAAe,GAAG,eAAe,IAAI;IAC1E,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,oBAAoB,CAAC,CAAC,CAAC,EAAE,CAAC;IACtC,QAAQ,EAAE;QACR,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;KACX,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,uBAAuB,CACjC,CAAC,SAAS,eAAe,GAAG,eAAe,IACzC;IACF,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG;QAAE,KAAK,EAAE,MAAM,IAAI,CAAA;KAAE,CAAC;CACnD,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,KAAK,IAAI,IAAI,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC;CACnE,CAAC"}
@@ -1,15 +1,15 @@
1
1
  import type { RefCallback } from 'react';
2
- import type { ContextMenuItem } from './types';
2
+ import type { ContextMenuItem, ContextMenuItemGroup } from './types';
3
3
  export type ContextMenuMethods<T extends ContextMenuItem> = {
4
4
  /**
5
5
  * Close the context menu.
6
6
  */
7
7
  close(): void;
8
8
  /**
9
- * Register the menu items for the context menu.
9
+ * Register the menu item group for the context menu.
10
10
  * @returns a callback ref to be passed onto the element responsible for triggering the menu.
11
11
  */
12
- registerItems(...groups: T[][]): RefCallback<HTMLElement>;
12
+ registerItemGroups(groups: ContextMenuItemGroup<T>[]): RefCallback<HTMLElement>;
13
13
  };
14
14
  export declare function useContextMenu<T extends ContextMenuItem = ContextMenuItem>(): ContextMenuMethods<T>;
15
15
  //# sourceMappingURL=use-context-menu.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-context-menu.d.ts","sourceRoot":"","sources":["../src/use-context-menu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAIzC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,eAAe,IAAI;IAC1D;;OAEG;IACH,KAAK,IAAI,IAAI,CAAC;IACd;;;OAGG;IACH,aAAa,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC;CAC3D,CAAC;AAEF,wBAAgB,cAAc,CAC5B,CAAC,SAAS,eAAe,GAAG,eAAe,KACxC,kBAAkB,CAAC,CAAC,CAAC,CAqCzB"}
1
+ {"version":3,"file":"use-context-menu.d.ts","sourceRoot":"","sources":["../src/use-context-menu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAIzC,OAAO,KAAK,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAErE,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,eAAe,IAAI;IAC1D;;OAEG;IACH,KAAK,IAAI,IAAI,CAAC;IACd;;;OAGG;IACH,kBAAkB,CAChB,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAAC,EAAE,GAChC,WAAW,CAAC,WAAW,CAAC,CAAC;CAC7B,CAAC;AAEF,wBAAgB,cAAc,CAC5B,CAAC,SAAS,eAAe,GAAG,eAAe,KACxC,kBAAkB,CAAC,CAAC,CAAC,CAqCzB"}
@@ -16,7 +16,7 @@ function useContextMenu() {
16
16
  /**
17
17
  * @returns a callback ref, passed onto the element responsible for triggering the menu.
18
18
  */
19
- registerItems(...groups) {
19
+ registerItemGroups(groups) {
20
20
  function listener(event) {
21
21
  (0, context_menu_content_1.appendContextMenuContent)(event, ...groups);
22
22
  }
@@ -1 +1 @@
1
- {"version":3,"file":"use-context-menu.js","sourceRoot":"","sources":["../src/use-context-menu.tsx"],"names":[],"mappings":";;AAkBA,wCAuCC;AAxDD,iCAAoD;AACpD,mEAA6D;AAC7D,iEAAkE;AAelE,SAAgB,cAAc;IAG5B,MAAM,OAAO,GAAG,IAAA,kBAAU,EAAC,0CAAkB,CAAC,CAAC;IAC/C,MAAM,QAAQ,GAAG,IAAA,cAAM,EACrB,IAAI,CACL,CAAC;IAEF,OAAO,IAAA,eAAO,EAAC,GAAG,EAAE;QAClB,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACnE,CAAC;QAED,OAAO;YACL,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;YAClC;;eAEG;YACH,aAAa,CAAC,GAAG,MAA2B;gBAC1C,SAAS,QAAQ,CAAC,KAAiB;oBACjC,IAAA,+CAAwB,EAAC,KAAK,EAAE,GAAG,MAAM,CAAC,CAAC;gBAC7C,CAAC;gBAED,OAAO,CAAC,OAA2B,EAAE,EAAE;oBACrC,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;wBACrB,MAAM,CAAC,eAAe,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC;wBAC7D,eAAe,CAAC,mBAAmB,CACjC,aAAa,EACb,gBAAgB,CACjB,CAAC;oBACJ,CAAC;oBACD,IAAI,OAAO,EAAE,CAAC;wBACZ,OAAO,CAAC,gBAAgB,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;wBAClD,QAAQ,CAAC,OAAO,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;oBACzC,CAAC;gBACH,CAAC,CAAC;YACJ,CAAC;SACF,CAAC;IACJ,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"use-context-menu.js","sourceRoot":"","sources":["../src/use-context-menu.tsx"],"names":[],"mappings":";;AAoBA,wCAuCC;AA1DD,iCAAoD;AACpD,mEAA6D;AAC7D,iEAAkE;AAiBlE,SAAgB,cAAc;IAG5B,MAAM,OAAO,GAAG,IAAA,kBAAU,EAAC,0CAAkB,CAAC,CAAC;IAC/C,MAAM,QAAQ,GAAG,IAAA,cAAM,EACrB,IAAI,CACL,CAAC;IAEF,OAAO,IAAA,eAAO,EAAC,GAAG,EAAE;QAClB,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACnE,CAAC;QAED,OAAO;YACL,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;YAClC;;eAEG;YACH,kBAAkB,CAAC,MAAiC;gBAClD,SAAS,QAAQ,CAAC,KAAiB;oBACjC,IAAA,+CAAwB,EAAC,KAAK,EAAE,GAAG,MAAM,CAAC,CAAC;gBAC7C,CAAC;gBAED,OAAO,CAAC,OAA2B,EAAE,EAAE;oBACrC,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;wBACrB,MAAM,CAAC,eAAe,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC;wBAC7D,eAAe,CAAC,mBAAmB,CACjC,aAAa,EACb,gBAAgB,CACjB,CAAC;oBACJ,CAAC;oBACD,IAAI,OAAO,EAAE,CAAC;wBACZ,OAAO,CAAC,gBAAgB,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;wBAClD,QAAQ,CAAC,OAAO,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;oBACzC,CAAC;gBACH,CAAC,CAAC;YACJ,CAAC;SACF,CAAC;IACJ,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;AAChB,CAAC"}
package/package.json CHANGED
@@ -13,7 +13,7 @@
13
13
  "email": "compass@mongodb.com"
14
14
  },
15
15
  "homepage": "https://github.com/mongodb-js/compass",
16
- "version": "0.2.4",
16
+ "version": "0.2.6",
17
17
  "repository": {
18
18
  "type": "git",
19
19
  "url": "https://github.com/mongodb-js/compass.git"
@@ -53,10 +53,10 @@
53
53
  "react": "^17.0.2"
54
54
  },
55
55
  "devDependencies": {
56
- "@mongodb-js/eslint-config-compass": "^1.4.5",
56
+ "@mongodb-js/eslint-config-compass": "^1.4.7",
57
57
  "@mongodb-js/mocha-config-compass": "^1.7.0",
58
58
  "@mongodb-js/prettier-config-compass": "^1.2.8",
59
- "@mongodb-js/testing-library-compass": "^1.3.8",
59
+ "@mongodb-js/testing-library-compass": "^1.3.10",
60
60
  "@mongodb-js/tsconfig-compass": "^1.2.9",
61
61
  "@types/chai": "^4.2.21",
62
62
  "@types/mocha": "^9.0.0",
@@ -70,5 +70,5 @@
70
70
  "sinon": "^9.2.3",
71
71
  "typescript": "^5.8.3"
72
72
  },
73
- "gitHead": "bb2c0fb9bcc9824b42029c6bce877e5601e5f6a9"
73
+ "gitHead": "c1c698cca6b40e7f1413b4eddfbde7a12c81a642"
74
74
  }