@elementor/events 4.0.0-manual → 4.1.0-684

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.mts CHANGED
@@ -1,5 +1,5 @@
1
- declare const useMixpanel: () => {
2
- dispatchEvent: ((name: string, data: unknown) => void) | undefined;
1
+ declare const getMixpanel: () => {
2
+ dispatchEvent: ((name: string, data: unknown, options?: Record<string, unknown>) => void) | undefined;
3
3
  config: {
4
4
  locations?: Record<string, string>;
5
5
  secondaryLocations?: Record<string, string>;
@@ -11,12 +11,15 @@ declare const useMixpanel: () => {
11
11
  interactionResults?: Record<string, string>;
12
12
  targetNames?: Record<string, Record<string, string>>;
13
13
  } | undefined;
14
+ canSendEvents: (() => boolean) | undefined;
15
+ initializeMixpanel: ((onLoaded: (mpInstance?: unknown) => void) => void) | undefined;
16
+ enableTracking: (() => void) | undefined;
17
+ isMixpanelReady: (() => boolean) | undefined;
18
+ trackingEnabled: boolean;
19
+ getMixpanelInstance: (() => unknown) | undefined;
14
20
  };
15
- declare const trackEvent: <T extends {
16
- eventName: string;
17
- } & Record<string, unknown>>(event: T) => void;
18
- declare const getMixpanel: () => {
19
- dispatchEvent: ((name: string, data: unknown) => void) | undefined;
21
+ declare const useMixpanel: () => {
22
+ dispatchEvent: ((name: string, data: unknown, options?: Record<string, unknown>) => void) | undefined;
20
23
  config: {
21
24
  locations?: Record<string, string>;
22
25
  secondaryLocations?: Record<string, string>;
@@ -29,5 +32,15 @@ declare const getMixpanel: () => {
29
32
  targetNames?: Record<string, Record<string, string>>;
30
33
  } | undefined;
31
34
  };
35
+ declare const trackEvent: <T extends {
36
+ eventName: string;
37
+ } & Record<string, unknown>>(event: T) => void;
38
+ declare const canSendEvents: () => boolean;
39
+ declare const setCanSendEvents: (value: boolean) => void;
40
+ declare const isMixpanelReady: () => boolean;
41
+ declare const isTrackingEnabled: () => boolean;
42
+ declare const enableTracking: () => void;
43
+ declare const initializeMixpanel: (onLoaded?: () => void) => void;
44
+ declare function initializeAndEnableTracking(onReady?: (mpInstance?: unknown) => void): void;
32
45
 
33
- export { getMixpanel, trackEvent, useMixpanel };
46
+ export { canSendEvents, enableTracking, getMixpanel, initializeAndEnableTracking, initializeMixpanel, isMixpanelReady, isTrackingEnabled, setCanSendEvents, trackEvent, useMixpanel };
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- declare const useMixpanel: () => {
2
- dispatchEvent: ((name: string, data: unknown) => void) | undefined;
1
+ declare const getMixpanel: () => {
2
+ dispatchEvent: ((name: string, data: unknown, options?: Record<string, unknown>) => void) | undefined;
3
3
  config: {
4
4
  locations?: Record<string, string>;
5
5
  secondaryLocations?: Record<string, string>;
@@ -11,12 +11,15 @@ declare const useMixpanel: () => {
11
11
  interactionResults?: Record<string, string>;
12
12
  targetNames?: Record<string, Record<string, string>>;
13
13
  } | undefined;
14
+ canSendEvents: (() => boolean) | undefined;
15
+ initializeMixpanel: ((onLoaded: (mpInstance?: unknown) => void) => void) | undefined;
16
+ enableTracking: (() => void) | undefined;
17
+ isMixpanelReady: (() => boolean) | undefined;
18
+ trackingEnabled: boolean;
19
+ getMixpanelInstance: (() => unknown) | undefined;
14
20
  };
15
- declare const trackEvent: <T extends {
16
- eventName: string;
17
- } & Record<string, unknown>>(event: T) => void;
18
- declare const getMixpanel: () => {
19
- dispatchEvent: ((name: string, data: unknown) => void) | undefined;
21
+ declare const useMixpanel: () => {
22
+ dispatchEvent: ((name: string, data: unknown, options?: Record<string, unknown>) => void) | undefined;
20
23
  config: {
21
24
  locations?: Record<string, string>;
22
25
  secondaryLocations?: Record<string, string>;
@@ -29,5 +32,15 @@ declare const getMixpanel: () => {
29
32
  targetNames?: Record<string, Record<string, string>>;
30
33
  } | undefined;
31
34
  };
35
+ declare const trackEvent: <T extends {
36
+ eventName: string;
37
+ } & Record<string, unknown>>(event: T) => void;
38
+ declare const canSendEvents: () => boolean;
39
+ declare const setCanSendEvents: (value: boolean) => void;
40
+ declare const isMixpanelReady: () => boolean;
41
+ declare const isTrackingEnabled: () => boolean;
42
+ declare const enableTracking: () => void;
43
+ declare const initializeMixpanel: (onLoaded?: () => void) => void;
44
+ declare function initializeAndEnableTracking(onReady?: (mpInstance?: unknown) => void): void;
32
45
 
33
- export { getMixpanel, trackEvent, useMixpanel };
46
+ export { canSendEvents, enableTracking, getMixpanel, initializeAndEnableTracking, initializeMixpanel, isMixpanelReady, isTrackingEnabled, setCanSendEvents, trackEvent, useMixpanel };
package/dist/index.js CHANGED
@@ -20,13 +20,33 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
20
20
  // src/index.ts
21
21
  var index_exports = {};
22
22
  __export(index_exports, {
23
+ canSendEvents: () => canSendEvents,
24
+ enableTracking: () => enableTracking,
23
25
  getMixpanel: () => getMixpanel,
26
+ initializeAndEnableTracking: () => initializeAndEnableTracking,
27
+ initializeMixpanel: () => initializeMixpanel,
28
+ isMixpanelReady: () => isMixpanelReady,
29
+ isTrackingEnabled: () => isTrackingEnabled,
30
+ setCanSendEvents: () => setCanSendEvents,
24
31
  trackEvent: () => trackEvent,
25
32
  useMixpanel: () => useMixpanel
26
33
  });
27
34
  module.exports = __toCommonJS(index_exports);
28
35
 
29
36
  // src/use-mixpanel.ts
37
+ var getMixpanel = () => {
38
+ const eventsManager = window.elementorCommon?.eventsManager || {};
39
+ return {
40
+ dispatchEvent: eventsManager.dispatchEvent?.bind(eventsManager),
41
+ config: eventsManager.config,
42
+ canSendEvents: eventsManager.canSendEvents?.bind(eventsManager),
43
+ initializeMixpanel: eventsManager.initializeMixpanel?.bind(eventsManager),
44
+ enableTracking: eventsManager.enableTracking?.bind(eventsManager),
45
+ isMixpanelReady: eventsManager.isMixpanelReady?.bind(eventsManager),
46
+ trackingEnabled: eventsManager.trackingEnabled ?? false,
47
+ getMixpanelInstance: eventsManager.getMixpanelInstance?.bind(eventsManager)
48
+ };
49
+ };
30
50
  var useMixpanel = () => {
31
51
  const { dispatchEvent, config } = getMixpanel();
32
52
  return {
@@ -38,16 +58,47 @@ var trackEvent = (event) => {
38
58
  const { dispatchEvent } = getMixpanel();
39
59
  dispatchEvent?.(event.eventName, event);
40
60
  };
41
- var getMixpanel = () => {
42
- const eventsManager = window.elementorCommon?.eventsManager || {};
43
- return {
44
- dispatchEvent: eventsManager.dispatchEvent?.bind(eventsManager),
45
- config: eventsManager.config
46
- };
61
+ var canSendEvents = () => getMixpanel().canSendEvents?.() ?? false;
62
+ var setCanSendEvents = (value) => {
63
+ const editorEvents = window.elementorCommon?.config?.editor_events;
64
+ if (editorEvents) {
65
+ editorEvents.can_send_events = value;
66
+ }
47
67
  };
68
+ var isMixpanelReady = () => getMixpanel().isMixpanelReady?.() ?? false;
69
+ var isTrackingEnabled = () => getMixpanel().trackingEnabled;
70
+ var enableTracking = () => getMixpanel().enableTracking?.();
71
+ var initializeMixpanel = (onLoaded) => getMixpanel().initializeMixpanel?.(onLoaded ?? (() => {
72
+ }));
73
+ function initializeAndEnableTracking(onReady) {
74
+ const mixpanel = getMixpanel();
75
+ if (!mixpanel.dispatchEvent) {
76
+ return;
77
+ }
78
+ if (mixpanel.trackingEnabled) {
79
+ onReady?.(mixpanel.getMixpanelInstance?.());
80
+ return;
81
+ }
82
+ if (mixpanel.isMixpanelReady?.()) {
83
+ mixpanel.enableTracking?.();
84
+ onReady?.(mixpanel.getMixpanelInstance?.());
85
+ return;
86
+ }
87
+ mixpanel.initializeMixpanel?.((mpInstance) => {
88
+ mixpanel.enableTracking?.();
89
+ onReady?.(mpInstance);
90
+ });
91
+ }
48
92
  // Annotate the CommonJS export names for ESM import in node:
49
93
  0 && (module.exports = {
94
+ canSendEvents,
95
+ enableTracking,
50
96
  getMixpanel,
97
+ initializeAndEnableTracking,
98
+ initializeMixpanel,
99
+ isMixpanelReady,
100
+ isTrackingEnabled,
101
+ setCanSendEvents,
51
102
  trackEvent,
52
103
  useMixpanel
53
104
  });
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts","../src/use-mixpanel.ts"],"sourcesContent":["export * from './use-mixpanel';\n","export const useMixpanel = () => {\n\tconst { dispatchEvent, config } = getMixpanel();\n\n\treturn {\n\t\tdispatchEvent,\n\t\tconfig,\n\t};\n};\n\nexport const trackEvent = < T extends { eventName: string } & Record< string, unknown > >( event: T ) => {\n\tconst { dispatchEvent } = getMixpanel();\n\tdispatchEvent?.( event.eventName, event );\n};\n\nexport const getMixpanel = () => {\n\tconst eventsManager = window.elementorCommon?.eventsManager || {};\n\treturn {\n\t\tdispatchEvent: eventsManager.dispatchEvent?.bind( eventsManager ),\n\t\tconfig: eventsManager.config,\n\t};\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAO,IAAM,cAAc,MAAM;AAChC,QAAM,EAAE,eAAe,OAAO,IAAI,YAAY;AAE9C,SAAO;AAAA,IACN;AAAA,IACA;AAAA,EACD;AACD;AAEO,IAAM,aAAa,CAAiE,UAAc;AACxG,QAAM,EAAE,cAAc,IAAI,YAAY;AACtC,kBAAiB,MAAM,WAAW,KAAM;AACzC;AAEO,IAAM,cAAc,MAAM;AAChC,QAAM,gBAAgB,OAAO,iBAAiB,iBAAiB,CAAC;AAChE,SAAO;AAAA,IACN,eAAe,cAAc,eAAe,KAAM,aAAc;AAAA,IAChE,QAAQ,cAAc;AAAA,EACvB;AACD;","names":[]}
1
+ {"version":3,"sources":["../src/index.ts","../src/use-mixpanel.ts"],"sourcesContent":["export * from './use-mixpanel';\n","export const getMixpanel = () => {\n\tconst eventsManager = window.elementorCommon?.eventsManager || {};\n\treturn {\n\t\tdispatchEvent: eventsManager.dispatchEvent?.bind( eventsManager ),\n\t\tconfig: eventsManager.config,\n\t\tcanSendEvents: eventsManager.canSendEvents?.bind( eventsManager ),\n\t\tinitializeMixpanel: eventsManager.initializeMixpanel?.bind( eventsManager ),\n\t\tenableTracking: eventsManager.enableTracking?.bind( eventsManager ),\n\t\tisMixpanelReady: eventsManager.isMixpanelReady?.bind( eventsManager ),\n\t\ttrackingEnabled: eventsManager.trackingEnabled ?? false,\n\t\tgetMixpanelInstance: eventsManager.getMixpanelInstance?.bind( eventsManager ),\n\t};\n};\n\nexport const useMixpanel = () => {\n\tconst { dispatchEvent, config } = getMixpanel();\n\n\treturn {\n\t\tdispatchEvent,\n\t\tconfig,\n\t};\n};\n\nexport const trackEvent = < T extends { eventName: string } & Record< string, unknown > >( event: T ) => {\n\tconst { dispatchEvent } = getMixpanel();\n\tdispatchEvent?.( event.eventName, event );\n};\n\nexport const canSendEvents = (): boolean => getMixpanel().canSendEvents?.() ?? false;\n\nexport const setCanSendEvents = ( value: boolean ): void => {\n\tconst editorEvents = window.elementorCommon?.config?.editor_events;\n\tif ( editorEvents ) {\n\t\teditorEvents.can_send_events = value;\n\t}\n};\n\nexport const isMixpanelReady = (): boolean => getMixpanel().isMixpanelReady?.() ?? false;\n\nexport const isTrackingEnabled = (): boolean => getMixpanel().trackingEnabled;\n\nexport const enableTracking = (): void => getMixpanel().enableTracking?.();\n\nexport const initializeMixpanel = ( onLoaded?: () => void ): void =>\n\tgetMixpanel().initializeMixpanel?.( onLoaded ?? ( () => {} ) );\n\nexport function initializeAndEnableTracking( onReady?: ( mpInstance?: unknown ) => void ): void {\n\tconst mixpanel = getMixpanel();\n\n\tif ( ! mixpanel.dispatchEvent ) {\n\t\treturn;\n\t}\n\n\tif ( mixpanel.trackingEnabled ) {\n\t\tonReady?.( mixpanel.getMixpanelInstance?.() );\n\t\treturn;\n\t}\n\n\tif ( mixpanel.isMixpanelReady?.() ) {\n\t\tmixpanel.enableTracking?.();\n\t\tonReady?.( mixpanel.getMixpanelInstance?.() );\n\t\treturn;\n\t}\n\n\tmixpanel.initializeMixpanel?.( ( mpInstance: unknown ) => {\n\t\tmixpanel.enableTracking?.();\n\t\tonReady?.( mpInstance );\n\t} );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAO,IAAM,cAAc,MAAM;AAChC,QAAM,gBAAgB,OAAO,iBAAiB,iBAAiB,CAAC;AAChE,SAAO;AAAA,IACN,eAAe,cAAc,eAAe,KAAM,aAAc;AAAA,IAChE,QAAQ,cAAc;AAAA,IACtB,eAAe,cAAc,eAAe,KAAM,aAAc;AAAA,IAChE,oBAAoB,cAAc,oBAAoB,KAAM,aAAc;AAAA,IAC1E,gBAAgB,cAAc,gBAAgB,KAAM,aAAc;AAAA,IAClE,iBAAiB,cAAc,iBAAiB,KAAM,aAAc;AAAA,IACpE,iBAAiB,cAAc,mBAAmB;AAAA,IAClD,qBAAqB,cAAc,qBAAqB,KAAM,aAAc;AAAA,EAC7E;AACD;AAEO,IAAM,cAAc,MAAM;AAChC,QAAM,EAAE,eAAe,OAAO,IAAI,YAAY;AAE9C,SAAO;AAAA,IACN;AAAA,IACA;AAAA,EACD;AACD;AAEO,IAAM,aAAa,CAAiE,UAAc;AACxG,QAAM,EAAE,cAAc,IAAI,YAAY;AACtC,kBAAiB,MAAM,WAAW,KAAM;AACzC;AAEO,IAAM,gBAAgB,MAAe,YAAY,EAAE,gBAAgB,KAAK;AAExE,IAAM,mBAAmB,CAAE,UAA0B;AAC3D,QAAM,eAAe,OAAO,iBAAiB,QAAQ;AACrD,MAAK,cAAe;AACnB,iBAAa,kBAAkB;AAAA,EAChC;AACD;AAEO,IAAM,kBAAkB,MAAe,YAAY,EAAE,kBAAkB,KAAK;AAE5E,IAAM,oBAAoB,MAAe,YAAY,EAAE;AAEvD,IAAM,iBAAiB,MAAY,YAAY,EAAE,iBAAiB;AAElE,IAAM,qBAAqB,CAAE,aACnC,YAAY,EAAE,qBAAsB,aAAc,MAAM;AAAC,EAAI;AAEvD,SAAS,4BAA6B,SAAmD;AAC/F,QAAM,WAAW,YAAY;AAE7B,MAAK,CAAE,SAAS,eAAgB;AAC/B;AAAA,EACD;AAEA,MAAK,SAAS,iBAAkB;AAC/B,cAAW,SAAS,sBAAsB,CAAE;AAC5C;AAAA,EACD;AAEA,MAAK,SAAS,kBAAkB,GAAI;AACnC,aAAS,iBAAiB;AAC1B,cAAW,SAAS,sBAAsB,CAAE;AAC5C;AAAA,EACD;AAEA,WAAS,qBAAsB,CAAE,eAAyB;AACzD,aAAS,iBAAiB;AAC1B,cAAW,UAAW;AAAA,EACvB,CAAE;AACH;","names":[]}
package/dist/index.mjs CHANGED
@@ -1,4 +1,17 @@
1
1
  // src/use-mixpanel.ts
2
+ var getMixpanel = () => {
3
+ const eventsManager = window.elementorCommon?.eventsManager || {};
4
+ return {
5
+ dispatchEvent: eventsManager.dispatchEvent?.bind(eventsManager),
6
+ config: eventsManager.config,
7
+ canSendEvents: eventsManager.canSendEvents?.bind(eventsManager),
8
+ initializeMixpanel: eventsManager.initializeMixpanel?.bind(eventsManager),
9
+ enableTracking: eventsManager.enableTracking?.bind(eventsManager),
10
+ isMixpanelReady: eventsManager.isMixpanelReady?.bind(eventsManager),
11
+ trackingEnabled: eventsManager.trackingEnabled ?? false,
12
+ getMixpanelInstance: eventsManager.getMixpanelInstance?.bind(eventsManager)
13
+ };
14
+ };
2
15
  var useMixpanel = () => {
3
16
  const { dispatchEvent, config } = getMixpanel();
4
17
  return {
@@ -10,15 +23,46 @@ var trackEvent = (event) => {
10
23
  const { dispatchEvent } = getMixpanel();
11
24
  dispatchEvent?.(event.eventName, event);
12
25
  };
13
- var getMixpanel = () => {
14
- const eventsManager = window.elementorCommon?.eventsManager || {};
15
- return {
16
- dispatchEvent: eventsManager.dispatchEvent?.bind(eventsManager),
17
- config: eventsManager.config
18
- };
26
+ var canSendEvents = () => getMixpanel().canSendEvents?.() ?? false;
27
+ var setCanSendEvents = (value) => {
28
+ const editorEvents = window.elementorCommon?.config?.editor_events;
29
+ if (editorEvents) {
30
+ editorEvents.can_send_events = value;
31
+ }
19
32
  };
33
+ var isMixpanelReady = () => getMixpanel().isMixpanelReady?.() ?? false;
34
+ var isTrackingEnabled = () => getMixpanel().trackingEnabled;
35
+ var enableTracking = () => getMixpanel().enableTracking?.();
36
+ var initializeMixpanel = (onLoaded) => getMixpanel().initializeMixpanel?.(onLoaded ?? (() => {
37
+ }));
38
+ function initializeAndEnableTracking(onReady) {
39
+ const mixpanel = getMixpanel();
40
+ if (!mixpanel.dispatchEvent) {
41
+ return;
42
+ }
43
+ if (mixpanel.trackingEnabled) {
44
+ onReady?.(mixpanel.getMixpanelInstance?.());
45
+ return;
46
+ }
47
+ if (mixpanel.isMixpanelReady?.()) {
48
+ mixpanel.enableTracking?.();
49
+ onReady?.(mixpanel.getMixpanelInstance?.());
50
+ return;
51
+ }
52
+ mixpanel.initializeMixpanel?.((mpInstance) => {
53
+ mixpanel.enableTracking?.();
54
+ onReady?.(mpInstance);
55
+ });
56
+ }
20
57
  export {
58
+ canSendEvents,
59
+ enableTracking,
21
60
  getMixpanel,
61
+ initializeAndEnableTracking,
62
+ initializeMixpanel,
63
+ isMixpanelReady,
64
+ isTrackingEnabled,
65
+ setCanSendEvents,
22
66
  trackEvent,
23
67
  useMixpanel
24
68
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/use-mixpanel.ts"],"sourcesContent":["export const useMixpanel = () => {\n\tconst { dispatchEvent, config } = getMixpanel();\n\n\treturn {\n\t\tdispatchEvent,\n\t\tconfig,\n\t};\n};\n\nexport const trackEvent = < T extends { eventName: string } & Record< string, unknown > >( event: T ) => {\n\tconst { dispatchEvent } = getMixpanel();\n\tdispatchEvent?.( event.eventName, event );\n};\n\nexport const getMixpanel = () => {\n\tconst eventsManager = window.elementorCommon?.eventsManager || {};\n\treturn {\n\t\tdispatchEvent: eventsManager.dispatchEvent?.bind( eventsManager ),\n\t\tconfig: eventsManager.config,\n\t};\n};\n"],"mappings":";AAAO,IAAM,cAAc,MAAM;AAChC,QAAM,EAAE,eAAe,OAAO,IAAI,YAAY;AAE9C,SAAO;AAAA,IACN;AAAA,IACA;AAAA,EACD;AACD;AAEO,IAAM,aAAa,CAAiE,UAAc;AACxG,QAAM,EAAE,cAAc,IAAI,YAAY;AACtC,kBAAiB,MAAM,WAAW,KAAM;AACzC;AAEO,IAAM,cAAc,MAAM;AAChC,QAAM,gBAAgB,OAAO,iBAAiB,iBAAiB,CAAC;AAChE,SAAO;AAAA,IACN,eAAe,cAAc,eAAe,KAAM,aAAc;AAAA,IAChE,QAAQ,cAAc;AAAA,EACvB;AACD;","names":[]}
1
+ {"version":3,"sources":["../src/use-mixpanel.ts"],"sourcesContent":["export const getMixpanel = () => {\n\tconst eventsManager = window.elementorCommon?.eventsManager || {};\n\treturn {\n\t\tdispatchEvent: eventsManager.dispatchEvent?.bind( eventsManager ),\n\t\tconfig: eventsManager.config,\n\t\tcanSendEvents: eventsManager.canSendEvents?.bind( eventsManager ),\n\t\tinitializeMixpanel: eventsManager.initializeMixpanel?.bind( eventsManager ),\n\t\tenableTracking: eventsManager.enableTracking?.bind( eventsManager ),\n\t\tisMixpanelReady: eventsManager.isMixpanelReady?.bind( eventsManager ),\n\t\ttrackingEnabled: eventsManager.trackingEnabled ?? false,\n\t\tgetMixpanelInstance: eventsManager.getMixpanelInstance?.bind( eventsManager ),\n\t};\n};\n\nexport const useMixpanel = () => {\n\tconst { dispatchEvent, config } = getMixpanel();\n\n\treturn {\n\t\tdispatchEvent,\n\t\tconfig,\n\t};\n};\n\nexport const trackEvent = < T extends { eventName: string } & Record< string, unknown > >( event: T ) => {\n\tconst { dispatchEvent } = getMixpanel();\n\tdispatchEvent?.( event.eventName, event );\n};\n\nexport const canSendEvents = (): boolean => getMixpanel().canSendEvents?.() ?? false;\n\nexport const setCanSendEvents = ( value: boolean ): void => {\n\tconst editorEvents = window.elementorCommon?.config?.editor_events;\n\tif ( editorEvents ) {\n\t\teditorEvents.can_send_events = value;\n\t}\n};\n\nexport const isMixpanelReady = (): boolean => getMixpanel().isMixpanelReady?.() ?? false;\n\nexport const isTrackingEnabled = (): boolean => getMixpanel().trackingEnabled;\n\nexport const enableTracking = (): void => getMixpanel().enableTracking?.();\n\nexport const initializeMixpanel = ( onLoaded?: () => void ): void =>\n\tgetMixpanel().initializeMixpanel?.( onLoaded ?? ( () => {} ) );\n\nexport function initializeAndEnableTracking( onReady?: ( mpInstance?: unknown ) => void ): void {\n\tconst mixpanel = getMixpanel();\n\n\tif ( ! mixpanel.dispatchEvent ) {\n\t\treturn;\n\t}\n\n\tif ( mixpanel.trackingEnabled ) {\n\t\tonReady?.( mixpanel.getMixpanelInstance?.() );\n\t\treturn;\n\t}\n\n\tif ( mixpanel.isMixpanelReady?.() ) {\n\t\tmixpanel.enableTracking?.();\n\t\tonReady?.( mixpanel.getMixpanelInstance?.() );\n\t\treturn;\n\t}\n\n\tmixpanel.initializeMixpanel?.( ( mpInstance: unknown ) => {\n\t\tmixpanel.enableTracking?.();\n\t\tonReady?.( mpInstance );\n\t} );\n}\n"],"mappings":";AAAO,IAAM,cAAc,MAAM;AAChC,QAAM,gBAAgB,OAAO,iBAAiB,iBAAiB,CAAC;AAChE,SAAO;AAAA,IACN,eAAe,cAAc,eAAe,KAAM,aAAc;AAAA,IAChE,QAAQ,cAAc;AAAA,IACtB,eAAe,cAAc,eAAe,KAAM,aAAc;AAAA,IAChE,oBAAoB,cAAc,oBAAoB,KAAM,aAAc;AAAA,IAC1E,gBAAgB,cAAc,gBAAgB,KAAM,aAAc;AAAA,IAClE,iBAAiB,cAAc,iBAAiB,KAAM,aAAc;AAAA,IACpE,iBAAiB,cAAc,mBAAmB;AAAA,IAClD,qBAAqB,cAAc,qBAAqB,KAAM,aAAc;AAAA,EAC7E;AACD;AAEO,IAAM,cAAc,MAAM;AAChC,QAAM,EAAE,eAAe,OAAO,IAAI,YAAY;AAE9C,SAAO;AAAA,IACN;AAAA,IACA;AAAA,EACD;AACD;AAEO,IAAM,aAAa,CAAiE,UAAc;AACxG,QAAM,EAAE,cAAc,IAAI,YAAY;AACtC,kBAAiB,MAAM,WAAW,KAAM;AACzC;AAEO,IAAM,gBAAgB,MAAe,YAAY,EAAE,gBAAgB,KAAK;AAExE,IAAM,mBAAmB,CAAE,UAA0B;AAC3D,QAAM,eAAe,OAAO,iBAAiB,QAAQ;AACrD,MAAK,cAAe;AACnB,iBAAa,kBAAkB;AAAA,EAChC;AACD;AAEO,IAAM,kBAAkB,MAAe,YAAY,EAAE,kBAAkB,KAAK;AAE5E,IAAM,oBAAoB,MAAe,YAAY,EAAE;AAEvD,IAAM,iBAAiB,MAAY,YAAY,EAAE,iBAAiB;AAElE,IAAM,qBAAqB,CAAE,aACnC,YAAY,EAAE,qBAAsB,aAAc,MAAM;AAAC,EAAI;AAEvD,SAAS,4BAA6B,SAAmD;AAC/F,QAAM,WAAW,YAAY;AAE7B,MAAK,CAAE,SAAS,eAAgB;AAC/B;AAAA,EACD;AAEA,MAAK,SAAS,iBAAkB;AAC/B,cAAW,SAAS,sBAAsB,CAAE;AAC5C;AAAA,EACD;AAEA,MAAK,SAAS,kBAAkB,GAAI;AACnC,aAAS,iBAAiB;AAC1B,cAAW,SAAS,sBAAsB,CAAE;AAC5C;AAAA,EACD;AAEA,WAAS,qBAAsB,CAAE,eAAyB;AACzD,aAAS,iBAAiB;AAC1B,cAAW,UAAW;AAAA,EACvB,CAAE;AACH;","names":[]}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@elementor/events",
3
3
  "description": "Elementor Events package",
4
- "version": "4.0.0-manual",
4
+ "version": "4.1.0-684",
5
5
  "private": false,
6
6
  "author": "Elementor Team",
7
7
  "homepage": "https://elementor.com/",
@@ -1,3 +1,17 @@
1
+ export const getMixpanel = () => {
2
+ const eventsManager = window.elementorCommon?.eventsManager || {};
3
+ return {
4
+ dispatchEvent: eventsManager.dispatchEvent?.bind( eventsManager ),
5
+ config: eventsManager.config,
6
+ canSendEvents: eventsManager.canSendEvents?.bind( eventsManager ),
7
+ initializeMixpanel: eventsManager.initializeMixpanel?.bind( eventsManager ),
8
+ enableTracking: eventsManager.enableTracking?.bind( eventsManager ),
9
+ isMixpanelReady: eventsManager.isMixpanelReady?.bind( eventsManager ),
10
+ trackingEnabled: eventsManager.trackingEnabled ?? false,
11
+ getMixpanelInstance: eventsManager.getMixpanelInstance?.bind( eventsManager ),
12
+ };
13
+ };
14
+
1
15
  export const useMixpanel = () => {
2
16
  const { dispatchEvent, config } = getMixpanel();
3
17
 
@@ -12,10 +26,44 @@ export const trackEvent = < T extends { eventName: string } & Record< string, un
12
26
  dispatchEvent?.( event.eventName, event );
13
27
  };
14
28
 
15
- export const getMixpanel = () => {
16
- const eventsManager = window.elementorCommon?.eventsManager || {};
17
- return {
18
- dispatchEvent: eventsManager.dispatchEvent?.bind( eventsManager ),
19
- config: eventsManager.config,
20
- };
29
+ export const canSendEvents = (): boolean => getMixpanel().canSendEvents?.() ?? false;
30
+
31
+ export const setCanSendEvents = ( value: boolean ): void => {
32
+ const editorEvents = window.elementorCommon?.config?.editor_events;
33
+ if ( editorEvents ) {
34
+ editorEvents.can_send_events = value;
35
+ }
21
36
  };
37
+
38
+ export const isMixpanelReady = (): boolean => getMixpanel().isMixpanelReady?.() ?? false;
39
+
40
+ export const isTrackingEnabled = (): boolean => getMixpanel().trackingEnabled;
41
+
42
+ export const enableTracking = (): void => getMixpanel().enableTracking?.();
43
+
44
+ export const initializeMixpanel = ( onLoaded?: () => void ): void =>
45
+ getMixpanel().initializeMixpanel?.( onLoaded ?? ( () => {} ) );
46
+
47
+ export function initializeAndEnableTracking( onReady?: ( mpInstance?: unknown ) => void ): void {
48
+ const mixpanel = getMixpanel();
49
+
50
+ if ( ! mixpanel.dispatchEvent ) {
51
+ return;
52
+ }
53
+
54
+ if ( mixpanel.trackingEnabled ) {
55
+ onReady?.( mixpanel.getMixpanelInstance?.() );
56
+ return;
57
+ }
58
+
59
+ if ( mixpanel.isMixpanelReady?.() ) {
60
+ mixpanel.enableTracking?.();
61
+ onReady?.( mixpanel.getMixpanelInstance?.() );
62
+ return;
63
+ }
64
+
65
+ mixpanel.initializeMixpanel?.( ( mpInstance: unknown ) => {
66
+ mixpanel.enableTracking?.();
67
+ onReady?.( mpInstance );
68
+ } );
69
+ }