@epigraph/epigraph-std-lib 4.7.1-alpha → 4.8.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.
@@ -1,5 +1,5 @@
1
1
  import { default as SLL } from './single-linked-list.js';
2
- import { IAnalyticsEvent } from '../analytics-event-interface.ts';
2
+ import { AnalyticsEvent } from '../analytics-event-interface.ts';
3
3
  declare const $queue: unique symbol;
4
4
  declare const $size: unique symbol;
5
5
  export default class Queue {
@@ -8,7 +8,7 @@ export default class Queue {
8
8
  constructor();
9
9
  get queue(): SLL;
10
10
  get size(): number;
11
- enqueue(data: IAnalyticsEvent): void;
12
- dequeue(): IAnalyticsEvent;
11
+ enqueue(data: AnalyticsEvent): void;
12
+ dequeue(): AnalyticsEvent;
13
13
  }
14
14
  export {};
@@ -0,0 +1,44 @@
1
+ import { IAnalyticsPlugin } from '../analytics-plugin-interface';
2
+ import { AnalyticsEvent } from '../analytics-event-interface';
3
+ export declare class GA3AnalyticsPlugin implements IAnalyticsPlugin {
4
+ name: string;
5
+ pluginName: string;
6
+ trackingID: string;
7
+ verboseLogging: boolean;
8
+ private queue;
9
+ private readonly user;
10
+ private readonly trackerName;
11
+ private trackerInterval;
12
+ private trackerCreated;
13
+ constructor(trackingID: string, verboseLogging: boolean, user: string, trackerName: string);
14
+ /**
15
+ * This function will send an Event to GA3.
16
+ *
17
+ * @param eventData AnalyticsEvent The event to be tracked
18
+ */
19
+ sendEvent(eventData: AnalyticsEvent): boolean;
20
+ /**
21
+ * Send all events that are in the queue
22
+ * @private
23
+ */
24
+ private dequeueAndSendEvents;
25
+ /**
26
+ * GA3 requires that a tracker be created prior to being sent. This is called from the constructor. It is
27
+ * important to note that the promise that is inherently returned is ignored in the constructor at this
28
+ * time. This is due to the events that are added will be queued from the page. This script requires
29
+ * that the GA script has been imported on the page already as it does not check for it today.
30
+ *
31
+ * @private
32
+ */
33
+ private createTracker;
34
+ /**
35
+ * Checks if verboseLogging is enabled, then logs the error
36
+ * @param err
37
+ */
38
+ private logger;
39
+ /**
40
+ * Returns a unique plugin identifier so that tracking ID's can be the same across multiple plugins.
41
+ */
42
+ getUniquePluginIdentifier(): string;
43
+ setupPlugin(): void;
44
+ }
@@ -1,108 +1,44 @@
1
- import { AnalyticsStatus, IAnalyticsPlugin } from '../analytics-plugin-interface';
2
- import { IAnalyticsEvent } from '../analytics-event-interface';
1
+ import { IAnalyticsPlugin } from '../analytics-plugin-interface';
2
+ import { AnalyticsEvent } from '../analytics-event-interface';
3
+ import { IConsentPlugin } from '../consent-plugin-interface';
3
4
  declare global {
4
5
  interface Window {
5
6
  [key: string]: any;
6
- gtag?: (...args: any[]) => void;
7
- dataLayer?: Array<Record<string, any>>;
8
- epgDataLayerName?: string;
9
- google_tag_manager: Record<string, any>;
10
7
  }
11
8
  }
12
9
  export declare class GA4AnalyticsPlugin implements IAnalyticsPlugin {
13
10
  name: string;
14
11
  pluginName: string;
15
12
  trackingID: string;
16
- solution: string;
17
- experienceID: string;
18
13
  verboseLogging: boolean;
19
- dataLayer: Array<Record<string, any>> | undefined;
14
+ private queue;
15
+ dataLayer: Array<Record<string, any>>;
20
16
  dataLayerName: string | undefined;
21
- private __queue;
22
- private __status;
23
- private __sentEventCount;
24
- private __initializationAttempts;
25
- private __lastInitializationAttempt;
26
- private __maxInitializationAttempts;
27
- private __initializationRetryDelay;
28
- private __isInitialized;
29
- private __initializationMethod;
30
- private __nexusFailureReported;
31
- private __epigraphNotifier;
32
- constructor({ trackingID, experienceID, solution, verboseLogging }: {
33
- trackingID: string;
34
- experienceID: string;
35
- solution: string;
36
- verboseLogging?: boolean;
37
- });
38
- getStatus(): AnalyticsStatus;
39
- setStatus(newStatus: AnalyticsStatus): void;
40
- getPendingEventCount(): number;
41
- getSentEventCount(): number;
42
- getTotalEventCount(): number;
17
+ constructor(trackingID: string, verboseLogging: boolean);
18
+ private setupDataLayer;
19
+ private initGtag;
43
20
  /**
44
- * Returns a unique plugin identifier so that tracking ID's can be the same across multiple plugins.
45
- */
46
- getUniquePluginIdentifier(): string;
47
- setupPlugin(): void;
48
- /**
49
- * This function will send an Event to Google Analytics 4.
21
+ * This function will send an Event to GA3.
50
22
  *
51
- * @param analyticsEvent
52
- * @param consent boolean Whether consent is granted
23
+ * @param eventData AnalyticsEvent The event to be tracked
24
+ * @param consentPlugin
53
25
  */
54
- sendEvent(analyticsEvent: IAnalyticsEvent, consent: boolean): Promise<void>;
55
- private initializePlugin;
56
- private detectAndSetupAnalytics;
57
- private detectGTM;
26
+ sendEvent(eventData: AnalyticsEvent, consentPlugin: IConsentPlugin | null): Promise<void>;
58
27
  /**
59
28
  * Send all events that are in the queue
60
29
  * @private
61
30
  */
62
31
  private dequeueAndSendEvents;
63
- /**
64
- * Send events to GTM based GA4
65
- * @param event
66
- * @private
67
- */
68
- private sendGTMEvent;
69
- /**
70
- * Send events to GA4 via Google Analytics 4.
71
- * @param event
72
- * @private
73
- */
74
- private sendGA4Event;
75
- /**
76
- * Validates a payload by checking its parameter count and the constraints of parameter names and values.
77
- * See docs here for requirements: https://support.google.com/analytics/answer/9267744?hl=en
78
- *
79
- * @param {Record<string, unknown>} parameterPayload - An object containing the parameters to validate.
80
- * The keys represent parameter names and the values represent parameter values.
81
- * @return {boolean} Returns true if the payload meets the validation criteria; false otherwise.
82
- */
83
- private isValidPayload;
84
- /**
85
- * Converts the given GTM parameters to an EPG event tag, sending specific parameter payloads
86
- * for processing and returning the formatted result. Falls back to the original payload in case of errors.
87
- *
88
- * @param {string} eventName - The event name associated with the EPG event tag being processed.
89
- * @param {Record<string, unknown>} parameterPayload - A key-value pair object containing the parameters to be converted.
90
- * @return {Promise<Record<string, unknown>>} A promise that resolves to an object containing the event name and the generated EPG event tag, or the original payload upon failure.
91
- */
92
- private convertGTMParametersToEpgEventTag;
93
- /**
94
- * Converts GA4 parameters into an EPG event tag.
95
- *
96
- * @param {Record<string, unknown>} parameterPayload - The GA4 parameters to be converted.
97
- * @return {Promise<Record<string, any>>} A promise resolving to an object containing the EPG event tag or the original payload if the conversion fails.
98
- */
99
- private convertGA4ParametersToEpgEventTag;
100
32
  /**
101
33
  * Checks if verboseLogging is enabled, then logs the error
102
34
  * @param err
103
35
  */
104
36
  private logger;
37
+ /**
38
+ * Returns a unique plugin identifier so that tracking ID's can be the same across multiple plugins.
39
+ */
40
+ getUniquePluginIdentifier(): string;
41
+ setupPlugin(): void;
105
42
  private sendGA4LongParameters;
106
- private reportFailureToNexus;
107
- private findGA4Info;
43
+ private findGA4ScriptInfo;
108
44
  }
@@ -1,35 +1,18 @@
1
- import { AnalyticsStatus, IAnalyticsPlugin } from '../analytics-plugin-interface';
2
- import { IAnalyticsEvent } from '../analytics-event-interface';
1
+ import { IAnalyticsPlugin } from '../analytics-plugin-interface';
2
+ import { AnalyticsEvent } from '../analytics-event-interface';
3
+ import { IConsentPlugin } from '../consent-plugin-interface';
3
4
  export declare class NexusAnalyticsPlugin implements IAnalyticsPlugin {
4
5
  name: string;
5
6
  pluginName: string;
6
7
  trackingID: string;
7
- experienceID: string;
8
- solution: string;
9
8
  verboseLogging: boolean;
10
9
  url: string;
10
+ private queue;
11
11
  private readonly sessionId;
12
12
  private readonly xPath;
13
- private __queue;
14
- private __status;
15
- private __sentEventCount;
16
- private __epigraphNotifier;
17
- constructor({ trackingID, experienceID, solution, sessionId, xPath, verboseLogging, sendToStaging }: {
18
- trackingID: string;
19
- experienceID: string;
20
- solution: string;
21
- sessionId: string;
22
- xPath: string;
23
- verboseLogging?: boolean;
24
- sendToStaging?: boolean;
25
- });
26
- getStatus(): AnalyticsStatus;
27
- setStatus(newStatus: AnalyticsStatus): void;
28
- getPendingEventCount(): number;
29
- getSentEventCount(): number;
30
- getTotalEventCount(): number;
13
+ constructor(trackingID: string, sessionId: string, xPath: string, verboseLogging: boolean, sendToStaging?: boolean);
14
+ sendEvent(event: AnalyticsEvent, consentPlugin: IConsentPlugin | null): Promise<void>;
15
+ private dequeueAndSendEvents;
31
16
  getUniquePluginIdentifier(): string;
32
17
  setupPlugin(): void;
33
- sendEvent(event: IAnalyticsEvent, consent: boolean): Promise<void>;
34
- private dequeueAndSendEvents;
35
18
  }
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});var n=(r=>(r.AR="ar",r))(n||{}),i=(r=>(r.type="t",r.identifierType="idt",r.identifier="id",r.epigraphSessionId="eid",r.action="a",r.sharedConfig="sc",r))(i||{});class l{constructor(e=window.location.href){this._baseUrl=e}get baseUrl(){return this._baseUrl}set baseUrl(e){this._baseUrl=e}getParameterInUrl(e){const a=new URL(this._baseUrl);let t=a.searchParams.get(e);return t||(t=this.decryptQueryParametersInUrl(a).searchParams.get(e)),t}hasParameterInUrl(e){return!!this.getParameterInUrl(e)}generateQrCodeUrl(e={},a=!0){const t=new URL(this._baseUrl);for(const[s,c]of Object.entries(e))t.searchParams.set(s,c);return a&&this.encryptQueryParametersInUrl(t),t}encryptQueryParametersInUrl(e){return e.search=btoa(e.search),e}decryptQueryParametersInUrl(e){let a=e;try{e.search=atob(e.search.slice(1)),a=e}catch(t){window.epigraph.logger.info({title:`Couldn't decode URL: ${e}`,details:t})}return a}}exports.EpigraphUrlProcessor=l;exports.QUERY_PARAMETER_ACTION_NAMES=n;exports.QUERY_PARAMETER_NAMES=i;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});var n=(r=>(r.AR="ar",r))(n||{}),i=(r=>(r.type="t",r.identifierType="idt",r.identifier="id",r.epigraphSessionId="eid",r.action="a",r))(i||{});class l{constructor(e=window.location.href){this._baseUrl=e}get baseUrl(){return this._baseUrl}set baseUrl(e){this._baseUrl=e}getParameterInUrl(e){const a=new URL(this._baseUrl);let t=a.searchParams.get(e);return t||(t=this.decryptQueryParametersInUrl(a).searchParams.get(e)),t}hasParameterInUrl(e){return!!this.getParameterInUrl(e)}generateQrCodeUrl(e={},a=!0){const t=new URL(this._baseUrl);for(const[s,c]of Object.entries(e))t.searchParams.set(s,c);return a&&this.encryptQueryParametersInUrl(t),t}encryptQueryParametersInUrl(e){return e.search=btoa(e.search),e}decryptQueryParametersInUrl(e){let a=e;try{e.search=atob(e.search.slice(1)),a=e}catch(t){window.epigraph.logger.info({title:`Couldn't decode URL: ${e}`,details:t})}return a}}exports.EpigraphUrlProcessor=l;exports.QUERY_PARAMETER_ACTION_NAMES=n;exports.QUERY_PARAMETER_NAMES=i;
@@ -6,8 +6,7 @@ export declare enum QUERY_PARAMETER_NAMES {
6
6
  identifierType = "idt",
7
7
  identifier = "id",
8
8
  epigraphSessionId = "eid",
9
- action = "a",
10
- sharedConfig = "sc"
9
+ action = "a"
11
10
  }
12
11
  export declare class EpigraphUrlProcessor {
13
12
  private _baseUrl;
@@ -1,4 +1,4 @@
1
- var i = /* @__PURE__ */ ((r) => (r.AR = "ar", r))(i || {}), c = /* @__PURE__ */ ((r) => (r.type = "t", r.identifierType = "idt", r.identifier = "id", r.epigraphSessionId = "eid", r.action = "a", r.sharedConfig = "sc", r))(c || {});
1
+ var i = /* @__PURE__ */ ((r) => (r.AR = "ar", r))(i || {}), c = /* @__PURE__ */ ((r) => (r.type = "t", r.identifierType = "idt", r.identifier = "id", r.epigraphSessionId = "eid", r.action = "a", r))(c || {});
2
2
  class l {
3
3
  constructor(e = window.location.href) {
4
4
  this._baseUrl = e;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("./Epigraph/epigraph.cjs"),n=require("./Epigraph/epigraphBaseSolutions.cjs"),e=require("./EpigraphLibs/EpigraphAnalytics/epigraphAnalytics.cjs"),E=require("./EpigraphLibs/EpigraphLogger/epigraphLogger.cjs"),p=require("./EpigraphLibs/EpigraphNexusApi/epigraphNexusApi.cjs"),g=require("./EpigraphLibs/EpigraphQrCodeGenerator/epigraphQrCodeGenerator.cjs"),r=require("./EpigraphLibs/EpigraphResultFactory/epigraphResultFactory.cjs"),t=require("./EpigraphLibs/EpigraphUnitsConverter/epigraphUnitsConverter.cjs"),i=require("./EpigraphLibs/EpigraphUrlProcessor/epigraphUrlProcessor.cjs");exports.ENVIRONMENT_TYPE=a.ENVIRONMENT_TYPE;exports.Epigraph=a.Epigraph;exports.EpigraphBaseSolutionHtmlElement=n.EpigraphBaseSolutionHtmlElement;exports.EpigraphBaseSolutionLitElement=n.EpigraphBaseSolutionLitElement;exports.ACTION_PERFORMED=e.ACTION_PERFORMED;exports.BUTTON_TYPE=e.BUTTON_TYPE;exports.CURRENCY=e.CURRENCY;exports.ConsentPluginNames=e.ConsentPluginNames;exports.EpigraphAddToFavouritesEvent=e.EpigraphAddToFavouritesEvent;exports.EpigraphAnalytics=e.EpigraphAnalytics;exports.EpigraphArRequestedEvent=e.EpigraphArRequestedEvent;exports.EpigraphButtonClickEvent=e.EpigraphButtonClickEvent;exports.EpigraphChangeRateEvent=e.EpigraphChangeRateEvent;exports.EpigraphCheckoutEvent=e.EpigraphCheckoutEvent;exports.EpigraphCompletionRateEvent=e.EpigraphCompletionRateEvent;exports.EpigraphContentSharedEvent=e.EpigraphContentSharedEvent;exports.EpigraphConversionEvent=e.EpigraphConversionEvent;exports.EpigraphCustomEvent=e.EpigraphCustomEvent;exports.EpigraphEngagementRateEvent=e.EpigraphEngagementRateEvent;exports.EpigraphItemAddedEvent=e.EpigraphItemAddedEvent;exports.EpigraphItemMovedEvent=e.EpigraphItemMovedEvent;exports.EpigraphItemRemovedEvent=e.EpigraphItemRemovedEvent;exports.EpigraphKeyboardInteractionEvent=e.EpigraphKeyboardInteractionEvent;exports.EpigraphModuleClosedEvent=e.EpigraphModuleClosedEvent;exports.EpigraphModuleFailedEvent=e.EpigraphModuleFailedEvent;exports.EpigraphModuleLoadingEvent=e.EpigraphModuleLoadingEvent;exports.EpigraphModuleReadyEvent=e.EpigraphModuleReadyEvent;exports.EpigraphPanelClosedEvent=e.EpigraphPanelClosedEvent;exports.EpigraphPanelOpenedEvent=e.EpigraphPanelOpenedEvent;exports.EpigraphSupportDetectedEvent=e.EpigraphSupportDetectedEvent;exports.EpigraphTouchInteractionEvent=e.EpigraphTouchInteractionEvent;exports.EpigraphVariantChangedEvent=e.EpigraphVariantChangedEvent;exports.GA4AnalyticsPlugin=e.GA4AnalyticsPlugin;exports.INTERACTION_TYPE=e.INTERACTION_TYPE;exports.NexusAnalyticsPlugin=e.NexusAnalyticsPlugin;exports.OneTrustConsentPlugin=e.OneTrustConsentPlugin;exports.PANEL_TYPE=e.PANEL_TYPE;exports.SUPPORT_TYPE=e.SUPPORT_TYPE;exports.TRIGGER_SOURCE=e.TRIGGER_SOURCE;exports.EpigraphLogger=E.EpigraphLogger;exports.LogTypes=E.LogTypes;exports.LoggerModeNames=E.LoggerModeNames;exports.EpigraphNexusAPI=p.EpigraphNexusAPI;exports.HTTPMethod=p.HTTPMethod;exports.NexusAPIResourceIdentifier=p.NexusAPIResourceIdentifier;exports.NexusAPIRoutes=p.NexusAPIRoutes;exports.NexusAPIVersions=p.NexusAPIVersions;exports.NexusEndpoints=p.NexusEndpoints;exports.EpigraphQrCodeGenerator=g.EpigraphQrCodeGenerator;exports.Result=r.Result;exports.failureResult=r.failureResult;exports.successResult=r.successResult;exports.Distance=t.Distance;exports.DistanceUnits=t.DistanceUnits;exports.UnitTypes=t.UnitTypes;exports.EpigraphUrlProcessor=i.EpigraphUrlProcessor;exports.QUERY_PARAMETER_ACTION_NAMES=i.QUERY_PARAMETER_ACTION_NAMES;exports.QUERY_PARAMETER_NAMES=i.QUERY_PARAMETER_NAMES;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("./Epigraph/epigraph.cjs"),n=require("./Epigraph/epigraphBaseSolutions.cjs"),e=require("./EpigraphLibs/EpigraphAnalytics/epigraphAnalytics.cjs"),r=require("./EpigraphLibs/EpigraphLogger/epigraphLogger.cjs"),i=require("./EpigraphLibs/EpigraphNexusApi/epigraphNexusApi.cjs"),g=require("./EpigraphLibs/EpigraphQrCodeGenerator/epigraphQrCodeGenerator.cjs"),s=require("./EpigraphLibs/EpigraphResultFactory/epigraphResultFactory.cjs"),p=require("./EpigraphLibs/EpigraphUnitsConverter/epigraphUnitsConverter.cjs"),t=require("./EpigraphLibs/EpigraphUrlProcessor/epigraphUrlProcessor.cjs");exports.ENVIRONMENT_TYPE=a.ENVIRONMENT_TYPE;exports.Epigraph=a.Epigraph;exports.EpigraphBaseSolutionHtmlElement=n.EpigraphBaseSolutionHtmlElement;exports.EpigraphBaseSolutionLitElement=n.EpigraphBaseSolutionLitElement;exports.ConsentPluginNames=e.ConsentPluginNames;exports.EpigraphAnalytics=e.EpigraphAnalytics;exports.GA3AnalyticsPlugin=e.GA3AnalyticsPlugin;exports.GA4AnalyticsPlugin=e.GA4AnalyticsPlugin;exports.NexusAnalyticsPlugin=e.NexusAnalyticsPlugin;exports.OneTrustConsentPlugin=e.OneTrustConsentPlugin;exports.EpigraphLogger=r.EpigraphLogger;exports.LogTypes=r.LogTypes;exports.LoggerModeNames=r.LoggerModeNames;exports.EpigraphNexusAPI=i.EpigraphNexusAPI;exports.HTTPMethod=i.HTTPMethod;exports.NexusAPIResourceIdentifier=i.NexusAPIResourceIdentifier;exports.NexusAPIRoutes=i.NexusAPIRoutes;exports.NexusAPIVersions=i.NexusAPIVersions;exports.NexusEndpoints=i.NexusEndpoints;exports.EpigraphQrCodeGenerator=g.EpigraphQrCodeGenerator;exports.Result=s.Result;exports.failureResult=s.failureResult;exports.successResult=s.successResult;exports.Distance=p.Distance;exports.DistanceUnits=p.DistanceUnits;exports.UnitTypes=p.UnitTypes;exports.EpigraphUrlProcessor=t.EpigraphUrlProcessor;exports.QUERY_PARAMETER_ACTION_NAMES=t.QUERY_PARAMETER_ACTION_NAMES;exports.QUERY_PARAMETER_NAMES=t.QUERY_PARAMETER_NAMES;
@@ -1,69 +1,40 @@
1
- import { ENVIRONMENT_TYPE as E, Epigraph as p } from "./Epigraph/epigraph.js";
2
- import { EpigraphBaseSolutionHtmlElement as n, EpigraphBaseSolutionLitElement as o } from "./Epigraph/epigraphBaseSolutions.js";
3
- import { ACTION_PERFORMED as i, BUTTON_TYPE as g, CURRENCY as s, ConsentPluginNames as h, EpigraphAddToFavouritesEvent as u, EpigraphAnalytics as l, EpigraphArRequestedEvent as d, EpigraphButtonClickEvent as v, EpigraphChangeRateEvent as R, EpigraphCheckoutEvent as P, EpigraphCompletionRateEvent as T, EpigraphContentSharedEvent as m, EpigraphConversionEvent as A, EpigraphCustomEvent as N, EpigraphEngagementRateEvent as C, EpigraphItemAddedEvent as I, EpigraphItemMovedEvent as c, EpigraphItemRemovedEvent as x, EpigraphKeyboardInteractionEvent as M, EpigraphModuleClosedEvent as _, EpigraphModuleFailedEvent as f, EpigraphModuleLoadingEvent as O, EpigraphModuleReadyEvent as U, EpigraphPanelClosedEvent as S, EpigraphPanelOpenedEvent as Y, EpigraphSupportDetectedEvent as y, EpigraphTouchInteractionEvent as L, EpigraphVariantChangedEvent as B, GA4AnalyticsPlugin as D, INTERACTION_TYPE as G, NexusAnalyticsPlugin as F, OneTrustConsentPlugin as Q, PANEL_TYPE as V, SUPPORT_TYPE as k, TRIGGER_SOURCE as H } from "./EpigraphLibs/EpigraphAnalytics/epigraphAnalytics.js";
4
- import { EpigraphLogger as q, LogTypes as K, LoggerModeNames as j } from "./EpigraphLibs/EpigraphLogger/epigraphLogger.js";
5
- import { EpigraphNexusAPI as z, HTTPMethod as J, NexusAPIResourceIdentifier as W, NexusAPIRoutes as X, NexusAPIVersions as Z, NexusEndpoints as $ } from "./EpigraphLibs/EpigraphNexusApi/epigraphNexusApi.js";
6
- import { EpigraphQrCodeGenerator as te } from "./EpigraphLibs/EpigraphQrCodeGenerator/epigraphQrCodeGenerator.js";
7
- import { Result as pe, failureResult as re, successResult as ne } from "./EpigraphLibs/EpigraphResultFactory/epigraphResultFactory.js";
8
- import { Distance as ae, DistanceUnits as ie, UnitTypes as ge } from "./EpigraphLibs/EpigraphUnitsConverter/epigraphUnitsConverter.js";
9
- import { EpigraphUrlProcessor as he, QUERY_PARAMETER_ACTION_NAMES as ue, QUERY_PARAMETER_NAMES as le } from "./EpigraphLibs/EpigraphUrlProcessor/epigraphUrlProcessor.js";
1
+ import { ENVIRONMENT_TYPE as o, Epigraph as s } from "./Epigraph/epigraph.js";
2
+ import { EpigraphBaseSolutionHtmlElement as i, EpigraphBaseSolutionLitElement as p } from "./Epigraph/epigraphBaseSolutions.js";
3
+ import { ConsentPluginNames as E, EpigraphAnalytics as u, GA3AnalyticsPlugin as a, GA4AnalyticsPlugin as l, NexusAnalyticsPlugin as g, OneTrustConsentPlugin as A } from "./EpigraphLibs/EpigraphAnalytics/epigraphAnalytics.js";
4
+ import { EpigraphLogger as m, LogTypes as N, LoggerModeNames as P } from "./EpigraphLibs/EpigraphLogger/epigraphLogger.js";
5
+ import { EpigraphNexusAPI as f, HTTPMethod as c, NexusAPIResourceIdentifier as T, NexusAPIRoutes as h, NexusAPIVersions as I, NexusEndpoints as M } from "./EpigraphLibs/EpigraphNexusApi/epigraphNexusApi.js";
6
+ import { EpigraphQrCodeGenerator as _ } from "./EpigraphLibs/EpigraphQrCodeGenerator/epigraphQrCodeGenerator.js";
7
+ import { Result as U, failureResult as C, successResult as L } from "./EpigraphLibs/EpigraphResultFactory/epigraphResultFactory.js";
8
+ import { Distance as G, DistanceUnits as O, UnitTypes as Q } from "./EpigraphLibs/EpigraphUnitsConverter/epigraphUnitsConverter.js";
9
+ import { EpigraphUrlProcessor as B, QUERY_PARAMETER_ACTION_NAMES as D, QUERY_PARAMETER_NAMES as H } from "./EpigraphLibs/EpigraphUrlProcessor/epigraphUrlProcessor.js";
10
10
  export {
11
- i as ACTION_PERFORMED,
12
- g as BUTTON_TYPE,
13
- s as CURRENCY,
14
- h as ConsentPluginNames,
15
- ae as Distance,
16
- ie as DistanceUnits,
17
- E as ENVIRONMENT_TYPE,
18
- p as Epigraph,
19
- u as EpigraphAddToFavouritesEvent,
20
- l as EpigraphAnalytics,
21
- d as EpigraphArRequestedEvent,
22
- n as EpigraphBaseSolutionHtmlElement,
23
- o as EpigraphBaseSolutionLitElement,
24
- v as EpigraphButtonClickEvent,
25
- R as EpigraphChangeRateEvent,
26
- P as EpigraphCheckoutEvent,
27
- T as EpigraphCompletionRateEvent,
28
- m as EpigraphContentSharedEvent,
29
- A as EpigraphConversionEvent,
30
- N as EpigraphCustomEvent,
31
- C as EpigraphEngagementRateEvent,
32
- I as EpigraphItemAddedEvent,
33
- c as EpigraphItemMovedEvent,
34
- x as EpigraphItemRemovedEvent,
35
- M as EpigraphKeyboardInteractionEvent,
36
- q as EpigraphLogger,
37
- _ as EpigraphModuleClosedEvent,
38
- f as EpigraphModuleFailedEvent,
39
- O as EpigraphModuleLoadingEvent,
40
- U as EpigraphModuleReadyEvent,
41
- z as EpigraphNexusAPI,
42
- S as EpigraphPanelClosedEvent,
43
- Y as EpigraphPanelOpenedEvent,
44
- te as EpigraphQrCodeGenerator,
45
- y as EpigraphSupportDetectedEvent,
46
- L as EpigraphTouchInteractionEvent,
47
- he as EpigraphUrlProcessor,
48
- B as EpigraphVariantChangedEvent,
49
- D as GA4AnalyticsPlugin,
50
- J as HTTPMethod,
51
- G as INTERACTION_TYPE,
52
- K as LogTypes,
53
- j as LoggerModeNames,
54
- W as NexusAPIResourceIdentifier,
55
- X as NexusAPIRoutes,
56
- Z as NexusAPIVersions,
57
- F as NexusAnalyticsPlugin,
58
- $ as NexusEndpoints,
59
- Q as OneTrustConsentPlugin,
60
- V as PANEL_TYPE,
61
- ue as QUERY_PARAMETER_ACTION_NAMES,
62
- le as QUERY_PARAMETER_NAMES,
63
- pe as Result,
64
- k as SUPPORT_TYPE,
65
- H as TRIGGER_SOURCE,
66
- ge as UnitTypes,
67
- re as failureResult,
68
- ne as successResult
11
+ E as ConsentPluginNames,
12
+ G as Distance,
13
+ O as DistanceUnits,
14
+ o as ENVIRONMENT_TYPE,
15
+ s as Epigraph,
16
+ u as EpigraphAnalytics,
17
+ i as EpigraphBaseSolutionHtmlElement,
18
+ p as EpigraphBaseSolutionLitElement,
19
+ m as EpigraphLogger,
20
+ f as EpigraphNexusAPI,
21
+ _ as EpigraphQrCodeGenerator,
22
+ B as EpigraphUrlProcessor,
23
+ a as GA3AnalyticsPlugin,
24
+ l as GA4AnalyticsPlugin,
25
+ c as HTTPMethod,
26
+ N as LogTypes,
27
+ P as LoggerModeNames,
28
+ T as NexusAPIResourceIdentifier,
29
+ h as NexusAPIRoutes,
30
+ I as NexusAPIVersions,
31
+ g as NexusAnalyticsPlugin,
32
+ M as NexusEndpoints,
33
+ A as OneTrustConsentPlugin,
34
+ D as QUERY_PARAMETER_ACTION_NAMES,
35
+ H as QUERY_PARAMETER_NAMES,
36
+ U as Result,
37
+ Q as UnitTypes,
38
+ C as failureResult,
39
+ L as successResult
69
40
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@epigraph/epigraph-std-lib",
3
- "version": "4.7.1-alpha",
3
+ "version": "4.8.0",
4
4
  "type": "module",
5
5
  "main": "./dist/epigraph-std-lib.cjs",
6
6
  "module": "./dist/epigraph-std-lib.js",
@@ -1,170 +0,0 @@
1
- import { IAnalyticsEvent, IAnalyticsParameterItems } from './analytics-event-interface';
2
- declare class BaseAnalyticsEvent implements IAnalyticsEvent {
3
- readonly eventName: string;
4
- interactiveEvent: boolean;
5
- customParameters: Record<string, unknown>;
6
- constructor({ eventName, interactiveEvent, customParameters }: {
7
- eventName: string;
8
- interactiveEvent: boolean;
9
- customParameters: Record<string, unknown>;
10
- });
11
- getGa4Parameters(solution: string, experienceId: string, sendTo: string): {
12
- solution: string;
13
- experience_id: string;
14
- interactive_event: boolean;
15
- send_to: string;
16
- };
17
- getGTMParameters(solution: string, experienceId: string, sendTo: string): {
18
- solution: string;
19
- experience_id: string;
20
- event: string;
21
- interactive_event: boolean;
22
- send_to: string;
23
- };
24
- getNexusParameters(): {
25
- interactive_event: boolean;
26
- };
27
- }
28
- export declare enum PANEL_TYPE {
29
- AR = "ar",
30
- QR = "qr",
31
- INFO = "info",
32
- DOWNLOAD = "download",
33
- PREVIEW_CART = "preview_cart",
34
- HOTSPOT_PANEL = "hotspot_panel",
35
- SHARE_MODAL = "share_modal",
36
- RESTART_MODAL = "restart_modal",
37
- REMOVE_MODAL = "remove_modal",
38
- LOAD_PRECONFIG_MODAL = "load_preconfig_modal",
39
- MOVE_MODAL = "move_modal",
40
- OUT_OF_STOCK_MODAL = "out_of_stock_modal"
41
- }
42
- export declare enum TRIGGER_SOURCE {
43
- AUTO = "auto",
44
- BUTTON = "button",
45
- HOTSPOT = "hotspot",
46
- GESTURE = "gesture"
47
- }
48
- export declare enum CURRENCY {
49
- USD = "USD",
50
- EUR = "EUR",
51
- GBP = "GBP",
52
- CAD = "CAD"
53
- }
54
- export declare enum SUPPORT_TYPE {
55
- AR = "ar",
56
- QR = "qr",
57
- WEBGL2 = "webgl2"
58
- }
59
- export declare enum BUTTON_TYPE {
60
- AR_VIEW = "ar_view",
61
- DIMENSION_SHOW = "dimension_show",
62
- DIMENSION_HIDE = "dimension_hide",
63
- HOTSPOTS_SHOW = "hotspots_show",
64
- HOTSPOTS_HIDE = "hotspots_hide",
65
- HELP_SHOW = "help_show",
66
- HELP_HIDE = "help_hide",
67
- HOTSPOT_ENTER = "hotspot_enter",
68
- HOTSPOT_EXIT = "hotspot_exit",
69
- SHARE = "share",
70
- PDF_DOWNLOAD = "pdf_download",
71
- COPY = "copy",
72
- RESTART = "restart",
73
- INSTRUCTIONS_SHOW = "show_instructions",
74
- REVIEW_CART = "review_cart",
75
- SHOP_NOW = "shop_now",
76
- SUB_CATEGORY = "sub_category",
77
- NEXT_STEP = "next_step",
78
- PREVIOUS_STEP = "previous_step"
79
- }
80
- export declare enum ACTION_PERFORMED {
81
- ZOOM = "zoom",
82
- ROTATE = "rotate"
83
- }
84
- export declare enum INTERACTION_TYPE {
85
- ROTATE = "rotate",
86
- ZOOM = "zoom",
87
- PAN = "pan"
88
- }
89
- export declare class EpigraphArRequestedEvent extends BaseAnalyticsEvent {
90
- constructor(items: IAnalyticsParameterItems);
91
- }
92
- export declare class EpigraphModuleLoadingEvent extends BaseAnalyticsEvent {
93
- constructor(isPreConfig: boolean);
94
- }
95
- export declare class EpigraphModuleReadyEvent extends BaseAnalyticsEvent {
96
- constructor(isPreConfig: boolean, loadTimeMs: number);
97
- }
98
- export declare class EpigraphModuleFailedEvent extends BaseAnalyticsEvent {
99
- constructor(isPreConfig: boolean, loadTimeMs: number, errorType: string);
100
- }
101
- export declare class EpigraphModuleClosedEvent extends BaseAnalyticsEvent {
102
- constructor(items: IAnalyticsParameterItems);
103
- }
104
- export declare class EpigraphSupportDetectedEvent extends BaseAnalyticsEvent {
105
- static readonly SUPPORT_TYPE: typeof SUPPORT_TYPE;
106
- constructor(supportType: SUPPORT_TYPE, deviceCapabilities?: Record<string, unknown>);
107
- }
108
- export declare class EpigraphButtonClickEvent extends BaseAnalyticsEvent {
109
- static readonly BUTTON_TYPE: typeof BUTTON_TYPE;
110
- constructor(buttonType: BUTTON_TYPE, buttonName: string);
111
- }
112
- export declare class EpigraphPanelOpenedEvent extends BaseAnalyticsEvent {
113
- static readonly PANEL_TYPE: typeof PANEL_TYPE;
114
- static readonly TRIGGER_SOURCE: typeof TRIGGER_SOURCE;
115
- constructor(isInteractive: boolean, panelType: PANEL_TYPE, triggerSource: TRIGGER_SOURCE, items: IAnalyticsParameterItems);
116
- }
117
- export declare class EpigraphPanelClosedEvent extends BaseAnalyticsEvent {
118
- static readonly PANEL_TYPE: typeof PANEL_TYPE;
119
- static readonly TRIGGER_SOURCE: typeof TRIGGER_SOURCE;
120
- constructor(isInteractive: boolean, panelType: PANEL_TYPE, triggerSource: TRIGGER_SOURCE, items: IAnalyticsParameterItems);
121
- }
122
- export declare class EpigraphAddToFavouritesEvent extends BaseAnalyticsEvent {
123
- constructor(items: IAnalyticsParameterItems);
124
- }
125
- export declare class EpigraphKeyboardInteractionEvent extends BaseAnalyticsEvent {
126
- static readonly ACTION_PERFORMED: typeof ACTION_PERFORMED;
127
- constructor(actionPerformed: ACTION_PERFORMED);
128
- }
129
- export declare class EpigraphTouchInteractionEvent extends BaseAnalyticsEvent {
130
- static readonly INTERACTION_TYPE: typeof INTERACTION_TYPE;
131
- constructor(interactionType: INTERACTION_TYPE);
132
- }
133
- export declare class EpigraphItemAddedEvent extends BaseAnalyticsEvent {
134
- static readonly CURRENCY: typeof CURRENCY;
135
- constructor(isInteractive: boolean, value: number, currency: CURRENCY, quantity: number, items: IAnalyticsParameterItems);
136
- }
137
- export declare class EpigraphItemMovedEvent extends BaseAnalyticsEvent {
138
- constructor(items: IAnalyticsParameterItems);
139
- }
140
- export declare class EpigraphItemRemovedEvent extends BaseAnalyticsEvent {
141
- static readonly CURRENCY: typeof CURRENCY;
142
- constructor(value: number, currency: CURRENCY, quantity: number, items: IAnalyticsParameterItems);
143
- }
144
- export declare class EpigraphVariantChangedEvent extends BaseAnalyticsEvent {
145
- constructor(changeType: string, items: IAnalyticsParameterItems);
146
- }
147
- export declare class EpigraphContentSharedEvent extends BaseAnalyticsEvent {
148
- constructor(contentType: string, shareDestination: string, items: IAnalyticsParameterItems);
149
- }
150
- export declare class EpigraphCheckoutEvent extends BaseAnalyticsEvent {
151
- static readonly CURRENCY: typeof CURRENCY;
152
- constructor(value: number, currency: CURRENCY, items: IAnalyticsParameterItems);
153
- }
154
- export declare class EpigraphConversionEvent extends BaseAnalyticsEvent {
155
- static readonly CURRENCY: typeof CURRENCY;
156
- constructor(value: number, currency: CURRENCY, items: IAnalyticsParameterItems);
157
- }
158
- export declare class EpigraphChangeRateEvent extends BaseAnalyticsEvent {
159
- constructor(value: number);
160
- }
161
- export declare class EpigraphCompletionRateEvent extends BaseAnalyticsEvent {
162
- constructor(value: number);
163
- }
164
- export declare class EpigraphEngagementRateEvent extends BaseAnalyticsEvent {
165
- constructor(value: number);
166
- }
167
- export declare class EpigraphCustomEvent extends BaseAnalyticsEvent {
168
- constructor(eventName: string, interactiveEvent: boolean, customParameters: Record<string, unknown>);
169
- }
170
- export {};
@@ -1,17 +0,0 @@
1
- import { AnalyticsStatus } from '../analytics-plugin-interface';
2
- export declare class EpigraphNotifier {
3
- static readonly NOTIFICATION_NAME = "epg-notification";
4
- static readonly ACTION_SEND_EVENT = "send-event";
5
- static readonly ACTION_INITIALIZED = "initialized";
6
- static readonly ACTION_FAILED_INITIALIZATION = "initialization-failed";
7
- private readonly _pluginName;
8
- private readonly _trackingId;
9
- private readonly _experienceId;
10
- private readonly _solution;
11
- private _initializer;
12
- private _status;
13
- constructor(pluginName: string, trackingId: string, experienceId: string, solution: string, initializer: string, status: AnalyticsStatus);
14
- updateStatus(value: AnalyticsStatus): void;
15
- updateInitializer(value: string): void;
16
- notify(action: string, eventDetails: Record<string, any>): void;
17
- }