@blaze-cms/plugin-gtm-fe 0.146.0-rc-eagle.0 → 0.146.0-rc-eagle-3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib-es/GoogleTagManager/GTMFactory.js +55 -0
- package/lib-es/GoogleTagManager/GTMFactory.js.map +1 -0
- package/lib-es/GoogleTagManager/GTMRender.js +72 -0
- package/lib-es/GoogleTagManager/GTMRender.js.map +1 -0
- package/lib-es/GoogleTagManager/index.js +3 -0
- package/lib-es/GoogleTagManager/index.js.map +1 -0
- package/lib-es/GoogleTagManagerEvent/GTMClickEvent.js +55 -0
- package/lib-es/GoogleTagManagerEvent/GTMClickEvent.js.map +1 -0
- package/lib-es/GoogleTagManagerEvent/GTMClickEvents.js +32 -0
- package/lib-es/GoogleTagManagerEvent/GTMClickEvents.js.map +1 -0
- package/lib-es/GoogleTagManagerEvent/GTMEvent.js +38 -0
- package/lib-es/GoogleTagManagerEvent/GTMEvent.js.map +1 -0
- package/lib-es/GoogleTagManagerEvent/GTMEventFactory.js +92 -0
- package/lib-es/GoogleTagManagerEvent/GTMEventFactory.js.map +1 -0
- package/lib-es/GoogleTagManagerEvent/GTMEventRender.js +81 -0
- package/lib-es/GoogleTagManagerEvent/GTMEventRender.js.map +1 -0
- package/lib-es/GoogleTagManagerEvent/GTMEventSwitch.js +40 -0
- package/lib-es/GoogleTagManagerEvent/GTMEventSwitch.js.map +1 -0
- package/lib-es/GoogleTagManagerEvent/index.js +3 -0
- package/lib-es/GoogleTagManagerEvent/index.js.map +1 -0
- package/lib-es/constants.js +28 -0
- package/lib-es/constants.js.map +1 -0
- package/lib-es/helpers/build-and-push-web-vitals.js +24 -0
- package/lib-es/helpers/build-and-push-web-vitals.js.map +1 -0
- package/lib-es/helpers/build-data-layer.js +34 -0
- package/lib-es/helpers/build-data-layer.js.map +1 -0
- package/lib-es/helpers/build-nested-event.js +69 -0
- package/lib-es/helpers/build-nested-event.js.map +1 -0
- package/lib-es/helpers/build-props-to-display-array.js +5 -0
- package/lib-es/helpers/build-props-to-display-array.js.map +1 -0
- package/lib-es/helpers/build-user-layer.js +45 -0
- package/lib-es/helpers/build-user-layer.js.map +1 -0
- package/lib-es/helpers/build-user-query-props.js +25 -0
- package/lib-es/helpers/build-user-query-props.js.map +1 -0
- package/lib-es/helpers/filter-gtm-events.js +14 -0
- package/lib-es/helpers/filter-gtm-events.js.map +1 -0
- package/lib-es/helpers/get-ids-to-use.js +8 -0
- package/lib-es/helpers/get-ids-to-use.js.map +1 -0
- package/lib-es/helpers/get-render-props.js +25 -0
- package/lib-es/helpers/get-render-props.js.map +1 -0
- package/lib-es/helpers/index.js +11 -0
- package/lib-es/helpers/index.js.map +1 -0
- package/lib-es/helpers/push-to-data-layer.js +9 -0
- package/lib-es/helpers/push-to-data-layer.js.map +1 -0
- package/lib-es/helpers/reset-data-layer.js +17 -0
- package/lib-es/helpers/reset-data-layer.js.map +1 -0
- package/lib-es/index.js +21 -0
- package/lib-es/index.js.map +1 -0
- package/package.json +13 -8
- package/CHANGELOG.md +0 -1746
- package/babel.config.js +0 -3
- package/jest.config.js +0 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build-and-push-web-vitals.js","names":["getCLS","getFID","getLCP","pushToDataLayer","buildAndPushWebVitals","reportHandler","name","delta","id","metrics","event","event_category","event_action","event_value","Math","round","event_label","nonInteraction"],"sources":["../../src/helpers/build-and-push-web-vitals.js"],"sourcesContent":["import { getCLS, getFID, getLCP } from 'web-vitals';\nimport pushToDataLayer from './push-to-data-layer';\n\nconst buildAndPushWebVitals = () => {\n getCLS(reportHandler);\n getFID(reportHandler);\n getLCP(reportHandler);\n};\n\nconst reportHandler = ({ name, delta, id }) => {\n const metrics = {\n event: 'web-vitals',\n event_category: 'Web Vitals',\n event_action: name,\n event_value: Math.round(name === 'CLS' ? delta * 1000 : delta),\n event_label: id,\n nonInteraction: true\n };\n\n pushToDataLayer(metrics);\n};\n\nexport default buildAndPushWebVitals;\n"],"mappings":"AAAA,SAASA,MAAM,EAAEC,MAAM,EAAEC,MAAM,QAAQ,YAAY;AACnD,OAAOC,eAAe,MAAM,sBAAsB;AAElD,MAAMC,qBAAqB,GAAGA,CAAA,KAAM;EAClCJ,MAAM,CAACK,aAAa,CAAC;EACrBJ,MAAM,CAACI,aAAa,CAAC;EACrBH,MAAM,CAACG,aAAa,CAAC;AACvB,CAAC;AAED,MAAMA,aAAa,GAAGA,CAAC;EAAEC,IAAI;EAAEC,KAAK;EAAEC;AAAG,CAAC,KAAK;EAC7C,MAAMC,OAAO,GAAG;IACdC,KAAK,EAAE,YAAY;IACnBC,cAAc,EAAE,YAAY;IAC5BC,YAAY,EAAEN,IAAI;IAClBO,WAAW,EAAEC,IAAI,CAACC,KAAK,CAACT,IAAI,KAAK,KAAK,GAAGC,KAAK,GAAG,IAAI,GAAGA,KAAK,CAAC;IAC9DS,WAAW,EAAER,EAAE;IACfS,cAAc,EAAE;EAClB,CAAC;EAEDd,eAAe,CAACM,OAAO,CAAC;AAC1B,CAAC;AAED,eAAeL,qBAAqB","ignoreList":[]}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
3
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
4
|
+
const getFinalValue = (data, name) => {
|
|
5
|
+
if (name.includes('.')) {
|
|
6
|
+
const [relationName, fieldName] = name.split('.');
|
|
7
|
+
if (Array.isArray(data[relationName])) {
|
|
8
|
+
return data[relationName].reduce((str, element, index) => `${str}${index ? ',' : ''}${element[fieldName]}`, '');
|
|
9
|
+
}
|
|
10
|
+
return data[relationName] ? data[relationName][fieldName] : data[fieldName] || '';
|
|
11
|
+
}
|
|
12
|
+
return data[name];
|
|
13
|
+
};
|
|
14
|
+
const buildProps = (props, data) => props.reduce((acc, {
|
|
15
|
+
label: key,
|
|
16
|
+
propertiesToDisplay: [name],
|
|
17
|
+
staticMetric
|
|
18
|
+
}) => {
|
|
19
|
+
if (key && (staticMetric || name)) {
|
|
20
|
+
acc[key] = staticMetric || getFinalValue(data, name);
|
|
21
|
+
}
|
|
22
|
+
return acc;
|
|
23
|
+
}, {});
|
|
24
|
+
const buildDataLayerProps = (props, data) => Array.isArray(data) ? data.map(currentData => buildProps(props, currentData)) : buildProps(props, data);
|
|
25
|
+
const buildDataLayer = (data, propsToDisplay, url) => {
|
|
26
|
+
if (!propsToDisplay || !propsToDisplay.length) return null;
|
|
27
|
+
const propsToDisplayValues = buildDataLayerProps(propsToDisplay, data);
|
|
28
|
+
return url ? _objectSpread({
|
|
29
|
+
event: 'pageView',
|
|
30
|
+
url
|
|
31
|
+
}, propsToDisplayValues) : propsToDisplayValues;
|
|
32
|
+
};
|
|
33
|
+
export default buildDataLayer;
|
|
34
|
+
//# sourceMappingURL=build-data-layer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build-data-layer.js","names":["getFinalValue","data","name","includes","relationName","fieldName","split","Array","isArray","reduce","str","element","index","buildProps","props","acc","label","key","propertiesToDisplay","staticMetric","buildDataLayerProps","map","currentData","buildDataLayer","propsToDisplay","url","length","propsToDisplayValues","_objectSpread","event"],"sources":["../../src/helpers/build-data-layer.js"],"sourcesContent":["const getFinalValue = (data, name) => {\n if (name.includes('.')) {\n const [relationName, fieldName] = name.split('.');\n if (Array.isArray(data[relationName])) {\n return data[relationName].reduce(\n (str, element, index) => `${str}${index ? ',' : ''}${element[fieldName]}`,\n ''\n );\n }\n\n return data[relationName] ? data[relationName][fieldName] : data[fieldName] || '';\n }\n return data[name];\n};\n\nconst buildProps = (props, data) =>\n props.reduce((acc, { label: key, propertiesToDisplay: [name], staticMetric }) => {\n if (key && (staticMetric || name)) {\n acc[key] = staticMetric || getFinalValue(data, name);\n }\n\n return acc;\n }, {});\n\nconst buildDataLayerProps = (props, data) =>\n Array.isArray(data)\n ? data.map(currentData => buildProps(props, currentData))\n : buildProps(props, data);\n\nconst buildDataLayer = (data, propsToDisplay, url) => {\n if (!propsToDisplay || !propsToDisplay.length) return null;\n const propsToDisplayValues = buildDataLayerProps(propsToDisplay, data);\n\n return url\n ? {\n event: 'pageView',\n url,\n ...propsToDisplayValues\n }\n : propsToDisplayValues;\n};\n\nexport default buildDataLayer;\n"],"mappings":";;;AAAA,MAAMA,aAAa,GAAGA,CAACC,IAAI,EAAEC,IAAI,KAAK;EACpC,IAAIA,IAAI,CAACC,QAAQ,CAAC,GAAG,CAAC,EAAE;IACtB,MAAM,CAACC,YAAY,EAAEC,SAAS,CAAC,GAAGH,IAAI,CAACI,KAAK,CAAC,GAAG,CAAC;IACjD,IAAIC,KAAK,CAACC,OAAO,CAACP,IAAI,CAACG,YAAY,CAAC,CAAC,EAAE;MACrC,OAAOH,IAAI,CAACG,YAAY,CAAC,CAACK,MAAM,CAC9B,CAACC,GAAG,EAAEC,OAAO,EAAEC,KAAK,KAAK,GAAGF,GAAG,GAAGE,KAAK,GAAG,GAAG,GAAG,EAAE,GAAGD,OAAO,CAACN,SAAS,CAAC,EAAE,EACzE,EACF,CAAC;IACH;IAEA,OAAOJ,IAAI,CAACG,YAAY,CAAC,GAAGH,IAAI,CAACG,YAAY,CAAC,CAACC,SAAS,CAAC,GAAGJ,IAAI,CAACI,SAAS,CAAC,IAAI,EAAE;EACnF;EACA,OAAOJ,IAAI,CAACC,IAAI,CAAC;AACnB,CAAC;AAED,MAAMW,UAAU,GAAGA,CAACC,KAAK,EAAEb,IAAI,KAC7Ba,KAAK,CAACL,MAAM,CAAC,CAACM,GAAG,EAAE;EAAEC,KAAK,EAAEC,GAAG;EAAEC,mBAAmB,EAAE,CAAChB,IAAI,CAAC;EAAEiB;AAAa,CAAC,KAAK;EAC/E,IAAIF,GAAG,KAAKE,YAAY,IAAIjB,IAAI,CAAC,EAAE;IACjCa,GAAG,CAACE,GAAG,CAAC,GAAGE,YAAY,IAAInB,aAAa,CAACC,IAAI,EAAEC,IAAI,CAAC;EACtD;EAEA,OAAOa,GAAG;AACZ,CAAC,EAAE,CAAC,CAAC,CAAC;AAER,MAAMK,mBAAmB,GAAGA,CAACN,KAAK,EAAEb,IAAI,KACtCM,KAAK,CAACC,OAAO,CAACP,IAAI,CAAC,GACfA,IAAI,CAACoB,GAAG,CAACC,WAAW,IAAIT,UAAU,CAACC,KAAK,EAAEQ,WAAW,CAAC,CAAC,GACvDT,UAAU,CAACC,KAAK,EAAEb,IAAI,CAAC;AAE7B,MAAMsB,cAAc,GAAGA,CAACtB,IAAI,EAAEuB,cAAc,EAAEC,GAAG,KAAK;EACpD,IAAI,CAACD,cAAc,IAAI,CAACA,cAAc,CAACE,MAAM,EAAE,OAAO,IAAI;EAC1D,MAAMC,oBAAoB,GAAGP,mBAAmB,CAACI,cAAc,EAAEvB,IAAI,CAAC;EAEtE,OAAOwB,GAAG,GAAAG,aAAA;IAEJC,KAAK,EAAE,UAAU;IACjBJ;EAAG,GACAE,oBAAoB,IAEzBA,oBAAoB;AAC1B,CAAC;AAED,eAAeJ,cAAc","ignoreList":[]}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
3
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
4
|
+
import { GTM_EVENT_NAMES, GTM_PROPS, EVENT, ECOMMERCE, PRODUCTS, ON_CLICK } from '../constants';
|
|
5
|
+
const buildNestedEvent = (ecommerce, propsObject, props, parentComponent) => {
|
|
6
|
+
const {
|
|
7
|
+
productDetailImpression,
|
|
8
|
+
productClick
|
|
9
|
+
} = GTM_EVENT_NAMES;
|
|
10
|
+
const {
|
|
11
|
+
eventAction,
|
|
12
|
+
eventTrigger
|
|
13
|
+
} = propsObject;
|
|
14
|
+
const {
|
|
15
|
+
name
|
|
16
|
+
} = parentComponent;
|
|
17
|
+
const gtmActionLabel = GTM_EVENT_NAMES[eventAction];
|
|
18
|
+
const isClickEvent = eventTrigger === ON_CLICK || gtmActionLabel === productClick;
|
|
19
|
+
const actionField = {
|
|
20
|
+
list: name
|
|
21
|
+
};
|
|
22
|
+
const hasMultipleItems = Array.isArray(props);
|
|
23
|
+
if (!ecommerce) {
|
|
24
|
+
const basicEventObject = {};
|
|
25
|
+
GTM_PROPS.forEach(({
|
|
26
|
+
key,
|
|
27
|
+
label
|
|
28
|
+
}) => {
|
|
29
|
+
const gtmValue = propsObject[key];
|
|
30
|
+
const gtmKey = label || key;
|
|
31
|
+
if (gtmValue) basicEventObject[gtmKey] = gtmValue;
|
|
32
|
+
});
|
|
33
|
+
const parsedProps = hasMultipleItems ? {
|
|
34
|
+
items: props
|
|
35
|
+
} : props;
|
|
36
|
+
return _objectSpread(_objectSpread({}, basicEventObject), parsedProps);
|
|
37
|
+
}
|
|
38
|
+
if (!gtmActionLabel) return {
|
|
39
|
+
[EVENT]: eventAction,
|
|
40
|
+
[ECOMMERCE]: props
|
|
41
|
+
};
|
|
42
|
+
if (gtmActionLabel === productDetailImpression || gtmActionLabel === productClick) {
|
|
43
|
+
const parsedProducts = hasMultipleItems ? props : [props];
|
|
44
|
+
const eventObject = isClickEvent ? {
|
|
45
|
+
[PRODUCTS]: parsedProducts,
|
|
46
|
+
actionField
|
|
47
|
+
} : {
|
|
48
|
+
[PRODUCTS]: parsedProducts
|
|
49
|
+
};
|
|
50
|
+
return {
|
|
51
|
+
[EVENT]: eventAction,
|
|
52
|
+
[ECOMMERCE]: {
|
|
53
|
+
[gtmActionLabel]: eventObject
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
const ecommerceObject = isClickEvent ? {
|
|
58
|
+
[gtmActionLabel]: props,
|
|
59
|
+
actionField
|
|
60
|
+
} : {
|
|
61
|
+
[gtmActionLabel]: props
|
|
62
|
+
};
|
|
63
|
+
return {
|
|
64
|
+
[EVENT]: eventAction,
|
|
65
|
+
[ECOMMERCE]: ecommerceObject
|
|
66
|
+
};
|
|
67
|
+
};
|
|
68
|
+
export default buildNestedEvent;
|
|
69
|
+
//# sourceMappingURL=build-nested-event.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build-nested-event.js","names":["GTM_EVENT_NAMES","GTM_PROPS","EVENT","ECOMMERCE","PRODUCTS","ON_CLICK","buildNestedEvent","ecommerce","propsObject","props","parentComponent","productDetailImpression","productClick","eventAction","eventTrigger","name","gtmActionLabel","isClickEvent","actionField","list","hasMultipleItems","Array","isArray","basicEventObject","forEach","key","label","gtmValue","gtmKey","parsedProps","items","_objectSpread","parsedProducts","eventObject","ecommerceObject"],"sources":["../../src/helpers/build-nested-event.js"],"sourcesContent":["import { GTM_EVENT_NAMES, GTM_PROPS, EVENT, ECOMMERCE, PRODUCTS, ON_CLICK } from '../constants';\n\nconst buildNestedEvent = (ecommerce, propsObject, props, parentComponent) => {\n const { productDetailImpression, productClick } = GTM_EVENT_NAMES;\n const { eventAction, eventTrigger } = propsObject;\n const { name } = parentComponent;\n const gtmActionLabel = GTM_EVENT_NAMES[eventAction];\n const isClickEvent = eventTrigger === ON_CLICK || gtmActionLabel === productClick;\n const actionField = { list: name };\n const hasMultipleItems = Array.isArray(props);\n\n if (!ecommerce) {\n const basicEventObject = {};\n GTM_PROPS.forEach(({ key, label }) => {\n const gtmValue = propsObject[key];\n const gtmKey = label || key;\n if (gtmValue) basicEventObject[gtmKey] = gtmValue;\n });\n const parsedProps = hasMultipleItems ? { items: props } : props;\n\n return { ...basicEventObject, ...parsedProps };\n }\n\n if (!gtmActionLabel) return { [EVENT]: eventAction, [ECOMMERCE]: props };\n if (gtmActionLabel === productDetailImpression || gtmActionLabel === productClick) {\n const parsedProducts = hasMultipleItems ? props : [props];\n const eventObject = isClickEvent\n ? { [PRODUCTS]: parsedProducts, actionField }\n : { [PRODUCTS]: parsedProducts };\n return {\n [EVENT]: eventAction,\n [ECOMMERCE]: { [gtmActionLabel]: eventObject }\n };\n }\n\n const ecommerceObject = isClickEvent\n ? { [gtmActionLabel]: props, actionField }\n : { [gtmActionLabel]: props };\n return { [EVENT]: eventAction, [ECOMMERCE]: ecommerceObject };\n};\n\nexport default buildNestedEvent;\n"],"mappings":";;;AAAA,SAASA,eAAe,EAAEC,SAAS,EAAEC,KAAK,EAAEC,SAAS,EAAEC,QAAQ,EAAEC,QAAQ,QAAQ,cAAc;AAE/F,MAAMC,gBAAgB,GAAGA,CAACC,SAAS,EAAEC,WAAW,EAAEC,KAAK,EAAEC,eAAe,KAAK;EAC3E,MAAM;IAAEC,uBAAuB;IAAEC;EAAa,CAAC,GAAGZ,eAAe;EACjE,MAAM;IAAEa,WAAW;IAAEC;EAAa,CAAC,GAAGN,WAAW;EACjD,MAAM;IAAEO;EAAK,CAAC,GAAGL,eAAe;EAChC,MAAMM,cAAc,GAAGhB,eAAe,CAACa,WAAW,CAAC;EACnD,MAAMI,YAAY,GAAGH,YAAY,KAAKT,QAAQ,IAAIW,cAAc,KAAKJ,YAAY;EACjF,MAAMM,WAAW,GAAG;IAAEC,IAAI,EAAEJ;EAAK,CAAC;EAClC,MAAMK,gBAAgB,GAAGC,KAAK,CAACC,OAAO,CAACb,KAAK,CAAC;EAE7C,IAAI,CAACF,SAAS,EAAE;IACd,MAAMgB,gBAAgB,GAAG,CAAC,CAAC;IAC3BtB,SAAS,CAACuB,OAAO,CAAC,CAAC;MAAEC,GAAG;MAAEC;IAAM,CAAC,KAAK;MACpC,MAAMC,QAAQ,GAAGnB,WAAW,CAACiB,GAAG,CAAC;MACjC,MAAMG,MAAM,GAAGF,KAAK,IAAID,GAAG;MAC3B,IAAIE,QAAQ,EAAEJ,gBAAgB,CAACK,MAAM,CAAC,GAAGD,QAAQ;IACnD,CAAC,CAAC;IACF,MAAME,WAAW,GAAGT,gBAAgB,GAAG;MAAEU,KAAK,EAAErB;IAAM,CAAC,GAAGA,KAAK;IAE/D,OAAAsB,aAAA,CAAAA,aAAA,KAAYR,gBAAgB,GAAKM,WAAW;EAC9C;EAEA,IAAI,CAACb,cAAc,EAAE,OAAO;IAAE,CAACd,KAAK,GAAGW,WAAW;IAAE,CAACV,SAAS,GAAGM;EAAM,CAAC;EACxE,IAAIO,cAAc,KAAKL,uBAAuB,IAAIK,cAAc,KAAKJ,YAAY,EAAE;IACjF,MAAMoB,cAAc,GAAGZ,gBAAgB,GAAGX,KAAK,GAAG,CAACA,KAAK,CAAC;IACzD,MAAMwB,WAAW,GAAGhB,YAAY,GAC5B;MAAE,CAACb,QAAQ,GAAG4B,cAAc;MAAEd;IAAY,CAAC,GAC3C;MAAE,CAACd,QAAQ,GAAG4B;IAAe,CAAC;IAClC,OAAO;MACL,CAAC9B,KAAK,GAAGW,WAAW;MACpB,CAACV,SAAS,GAAG;QAAE,CAACa,cAAc,GAAGiB;MAAY;IAC/C,CAAC;EACH;EAEA,MAAMC,eAAe,GAAGjB,YAAY,GAChC;IAAE,CAACD,cAAc,GAAGP,KAAK;IAAES;EAAY,CAAC,GACxC;IAAE,CAACF,cAAc,GAAGP;EAAM,CAAC;EAC/B,OAAO;IAAE,CAACP,KAAK,GAAGW,WAAW;IAAE,CAACV,SAAS,GAAG+B;EAAgB,CAAC;AAC/D,CAAC;AAED,eAAe5B,gBAAgB","ignoreList":[]}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
function buildPropsToDisplayArray(propsToDisplay = []) {
|
|
2
|
+
return propsToDisplay.map(prop => !!prop && !!prop.propertiesToDisplay && prop.propertiesToDisplay[0]).filter(Boolean);
|
|
3
|
+
}
|
|
4
|
+
export default buildPropsToDisplayArray;
|
|
5
|
+
//# sourceMappingURL=build-props-to-display-array.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build-props-to-display-array.js","names":["buildPropsToDisplayArray","propsToDisplay","map","prop","propertiesToDisplay","filter","Boolean"],"sources":["../../src/helpers/build-props-to-display-array.js"],"sourcesContent":["function buildPropsToDisplayArray(propsToDisplay = []) {\n return propsToDisplay\n .map(prop => !!prop && !!prop.propertiesToDisplay && prop.propertiesToDisplay[0])\n .filter(Boolean);\n}\n\nexport default buildPropsToDisplayArray;\n"],"mappings":"AAAA,SAASA,wBAAwBA,CAACC,cAAc,GAAG,EAAE,EAAE;EACrD,OAAOA,cAAc,CAClBC,GAAG,CAACC,IAAI,IAAI,CAAC,CAACA,IAAI,IAAI,CAAC,CAACA,IAAI,CAACC,mBAAmB,IAAID,IAAI,CAACC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAChFC,MAAM,CAACC,OAAO,CAAC;AACpB;AAEA,eAAeN,wBAAwB","ignoreList":[]}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
const getValue = (propertiesToDisplay, getUser) => {
|
|
2
|
+
const [baseProp, nestedProp] = propertiesToDisplay[0].split('.');
|
|
3
|
+
const baseValue = getUser[baseProp];
|
|
4
|
+
const isArray = Array.isArray(baseValue);
|
|
5
|
+
if (nestedProp && baseValue) {
|
|
6
|
+
let nestedValue;
|
|
7
|
+
if (isArray) {
|
|
8
|
+
nestedValue = baseValue.length ? baseValue.map(nested => nested ? nested[nestedProp] : '').join(', ') : '';
|
|
9
|
+
} else {
|
|
10
|
+
nestedValue = baseValue[nestedProp];
|
|
11
|
+
}
|
|
12
|
+
return nestedValue || '';
|
|
13
|
+
}
|
|
14
|
+
return baseValue || '';
|
|
15
|
+
};
|
|
16
|
+
const checkAndSetProps = (userPropsToDisplay, getUser) => {
|
|
17
|
+
const userDataLayer = {};
|
|
18
|
+
userPropsToDisplay.forEach(prop => {
|
|
19
|
+
const {
|
|
20
|
+
propertiesToDisplay,
|
|
21
|
+
label,
|
|
22
|
+
staticMetric
|
|
23
|
+
} = prop;
|
|
24
|
+
if (staticMetric) {
|
|
25
|
+
userDataLayer[label] = staticMetric;
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
if (!propertiesToDisplay[0]) return;
|
|
29
|
+
const value = getValue(propertiesToDisplay, getUser);
|
|
30
|
+
userDataLayer[label] = value;
|
|
31
|
+
});
|
|
32
|
+
return userDataLayer;
|
|
33
|
+
};
|
|
34
|
+
const buildUserLayer = (userData, userPropsToDisplay) => {
|
|
35
|
+
if (!userData || !userData.getUser) return {};
|
|
36
|
+
const {
|
|
37
|
+
getUser
|
|
38
|
+
} = userData;
|
|
39
|
+
const userDataLayer = checkAndSetProps(userPropsToDisplay, getUser);
|
|
40
|
+
return {
|
|
41
|
+
user: userDataLayer
|
|
42
|
+
};
|
|
43
|
+
};
|
|
44
|
+
export default buildUserLayer;
|
|
45
|
+
//# sourceMappingURL=build-user-layer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build-user-layer.js","names":["getValue","propertiesToDisplay","getUser","baseProp","nestedProp","split","baseValue","isArray","Array","nestedValue","length","map","nested","join","checkAndSetProps","userPropsToDisplay","userDataLayer","forEach","prop","label","staticMetric","value","buildUserLayer","userData","user"],"sources":["../../src/helpers/build-user-layer.js"],"sourcesContent":["const getValue = (propertiesToDisplay, getUser) => {\n const [baseProp, nestedProp] = propertiesToDisplay[0].split('.');\n const baseValue = getUser[baseProp];\n const isArray = Array.isArray(baseValue);\n if (nestedProp && baseValue) {\n let nestedValue;\n if (isArray) {\n nestedValue = baseValue.length\n ? baseValue.map(nested => (nested ? nested[nestedProp] : '')).join(', ')\n : '';\n } else {\n nestedValue = baseValue[nestedProp];\n }\n return nestedValue || '';\n }\n return baseValue || '';\n};\n\nconst checkAndSetProps = (userPropsToDisplay, getUser) => {\n const userDataLayer = {};\n userPropsToDisplay.forEach(prop => {\n const { propertiesToDisplay, label, staticMetric } = prop;\n if (staticMetric) {\n userDataLayer[label] = staticMetric;\n return;\n }\n if (!propertiesToDisplay[0]) return;\n const value = getValue(propertiesToDisplay, getUser);\n userDataLayer[label] = value;\n });\n\n return userDataLayer;\n};\n\nconst buildUserLayer = (userData, userPropsToDisplay) => {\n if (!userData || !userData.getUser) return {};\n const { getUser } = userData;\n\n const userDataLayer = checkAndSetProps(userPropsToDisplay, getUser);\n\n return { user: userDataLayer };\n};\n\nexport default buildUserLayer;\n"],"mappings":"AAAA,MAAMA,QAAQ,GAAGA,CAACC,mBAAmB,EAAEC,OAAO,KAAK;EACjD,MAAM,CAACC,QAAQ,EAAEC,UAAU,CAAC,GAAGH,mBAAmB,CAAC,CAAC,CAAC,CAACI,KAAK,CAAC,GAAG,CAAC;EAChE,MAAMC,SAAS,GAAGJ,OAAO,CAACC,QAAQ,CAAC;EACnC,MAAMI,OAAO,GAAGC,KAAK,CAACD,OAAO,CAACD,SAAS,CAAC;EACxC,IAAIF,UAAU,IAAIE,SAAS,EAAE;IAC3B,IAAIG,WAAW;IACf,IAAIF,OAAO,EAAE;MACXE,WAAW,GAAGH,SAAS,CAACI,MAAM,GAC1BJ,SAAS,CAACK,GAAG,CAACC,MAAM,IAAKA,MAAM,GAAGA,MAAM,CAACR,UAAU,CAAC,GAAG,EAAG,CAAC,CAACS,IAAI,CAAC,IAAI,CAAC,GACtE,EAAE;IACR,CAAC,MAAM;MACLJ,WAAW,GAAGH,SAAS,CAACF,UAAU,CAAC;IACrC;IACA,OAAOK,WAAW,IAAI,EAAE;EAC1B;EACA,OAAOH,SAAS,IAAI,EAAE;AACxB,CAAC;AAED,MAAMQ,gBAAgB,GAAGA,CAACC,kBAAkB,EAAEb,OAAO,KAAK;EACxD,MAAMc,aAAa,GAAG,CAAC,CAAC;EACxBD,kBAAkB,CAACE,OAAO,CAACC,IAAI,IAAI;IACjC,MAAM;MAAEjB,mBAAmB;MAAEkB,KAAK;MAAEC;IAAa,CAAC,GAAGF,IAAI;IACzD,IAAIE,YAAY,EAAE;MAChBJ,aAAa,CAACG,KAAK,CAAC,GAAGC,YAAY;MACnC;IACF;IACA,IAAI,CAACnB,mBAAmB,CAAC,CAAC,CAAC,EAAE;IAC7B,MAAMoB,KAAK,GAAGrB,QAAQ,CAACC,mBAAmB,EAAEC,OAAO,CAAC;IACpDc,aAAa,CAACG,KAAK,CAAC,GAAGE,KAAK;EAC9B,CAAC,CAAC;EAEF,OAAOL,aAAa;AACtB,CAAC;AAED,MAAMM,cAAc,GAAGA,CAACC,QAAQ,EAAER,kBAAkB,KAAK;EACvD,IAAI,CAACQ,QAAQ,IAAI,CAACA,QAAQ,CAACrB,OAAO,EAAE,OAAO,CAAC,CAAC;EAC7C,MAAM;IAAEA;EAAQ,CAAC,GAAGqB,QAAQ;EAE5B,MAAMP,aAAa,GAAGF,gBAAgB,CAACC,kBAAkB,EAAEb,OAAO,CAAC;EAEnE,OAAO;IAAEsB,IAAI,EAAER;EAAc,CAAC;AAChC,CAAC;AAED,eAAeM,cAAc","ignoreList":[]}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
const buildUserQueryProps = userProps => {
|
|
2
|
+
if (!userProps || !userProps.length) return '';
|
|
3
|
+
const basicProps = [];
|
|
4
|
+
const nestedProps = {};
|
|
5
|
+
userProps.forEach(({
|
|
6
|
+
propertiesToDisplay
|
|
7
|
+
}) => {
|
|
8
|
+
const [propKey] = propertiesToDisplay;
|
|
9
|
+
if (!propKey || propKey === 'id') return;
|
|
10
|
+
if (propKey.indexOf('.') !== -1) {
|
|
11
|
+
const [baseProp, nestedProp] = propKey.split('.');
|
|
12
|
+
if (nestedProps[baseProp]) nestedProps[baseProp].push(nestedProp);else nestedProps[baseProp] = [nestedProp];
|
|
13
|
+
} else basicProps.push(propKey);
|
|
14
|
+
});
|
|
15
|
+
Object.keys(nestedProps).forEach(nestedKey => {
|
|
16
|
+
const nested = nestedProps[nestedKey];
|
|
17
|
+
basicProps.push(nestedKey);
|
|
18
|
+
basicProps.push('{');
|
|
19
|
+
nested.forEach(prop => basicProps.push(prop));
|
|
20
|
+
basicProps.push('}');
|
|
21
|
+
});
|
|
22
|
+
return basicProps.join(' ');
|
|
23
|
+
};
|
|
24
|
+
export default buildUserQueryProps;
|
|
25
|
+
//# sourceMappingURL=build-user-query-props.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build-user-query-props.js","names":["buildUserQueryProps","userProps","length","basicProps","nestedProps","forEach","propertiesToDisplay","propKey","indexOf","baseProp","nestedProp","split","push","Object","keys","nestedKey","nested","prop","join"],"sources":["../../src/helpers/build-user-query-props.js"],"sourcesContent":["const buildUserQueryProps = userProps => {\n if (!userProps || !userProps.length) return '';\n const basicProps = [];\n const nestedProps = {};\n userProps.forEach(({ propertiesToDisplay }) => {\n const [propKey] = propertiesToDisplay;\n if (!propKey || propKey === 'id') return;\n if (propKey.indexOf('.') !== -1) {\n const [baseProp, nestedProp] = propKey.split('.');\n if (nestedProps[baseProp]) nestedProps[baseProp].push(nestedProp);\n else nestedProps[baseProp] = [nestedProp];\n } else basicProps.push(propKey);\n });\n\n Object.keys(nestedProps).forEach(nestedKey => {\n const nested = nestedProps[nestedKey];\n basicProps.push(nestedKey);\n basicProps.push('{');\n nested.forEach(prop => basicProps.push(prop));\n basicProps.push('}');\n });\n\n return basicProps.join(' ');\n};\n\nexport default buildUserQueryProps;\n"],"mappings":"AAAA,MAAMA,mBAAmB,GAAGC,SAAS,IAAI;EACvC,IAAI,CAACA,SAAS,IAAI,CAACA,SAAS,CAACC,MAAM,EAAE,OAAO,EAAE;EAC9C,MAAMC,UAAU,GAAG,EAAE;EACrB,MAAMC,WAAW,GAAG,CAAC,CAAC;EACtBH,SAAS,CAACI,OAAO,CAAC,CAAC;IAAEC;EAAoB,CAAC,KAAK;IAC7C,MAAM,CAACC,OAAO,CAAC,GAAGD,mBAAmB;IACrC,IAAI,CAACC,OAAO,IAAIA,OAAO,KAAK,IAAI,EAAE;IAClC,IAAIA,OAAO,CAACC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE;MAC/B,MAAM,CAACC,QAAQ,EAAEC,UAAU,CAAC,GAAGH,OAAO,CAACI,KAAK,CAAC,GAAG,CAAC;MACjD,IAAIP,WAAW,CAACK,QAAQ,CAAC,EAAEL,WAAW,CAACK,QAAQ,CAAC,CAACG,IAAI,CAACF,UAAU,CAAC,CAAC,KAC7DN,WAAW,CAACK,QAAQ,CAAC,GAAG,CAACC,UAAU,CAAC;IAC3C,CAAC,MAAMP,UAAU,CAACS,IAAI,CAACL,OAAO,CAAC;EACjC,CAAC,CAAC;EAEFM,MAAM,CAACC,IAAI,CAACV,WAAW,CAAC,CAACC,OAAO,CAACU,SAAS,IAAI;IAC5C,MAAMC,MAAM,GAAGZ,WAAW,CAACW,SAAS,CAAC;IACrCZ,UAAU,CAACS,IAAI,CAACG,SAAS,CAAC;IAC1BZ,UAAU,CAACS,IAAI,CAAC,GAAG,CAAC;IACpBI,MAAM,CAACX,OAAO,CAACY,IAAI,IAAId,UAAU,CAACS,IAAI,CAACK,IAAI,CAAC,CAAC;IAC7Cd,UAAU,CAACS,IAAI,CAAC,GAAG,CAAC;EACtB,CAAC,CAAC;EAEF,OAAOT,UAAU,CAACe,IAAI,CAAC,GAAG,CAAC;AAC7B,CAAC;AAED,eAAelB,mBAAmB","ignoreList":[]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ON_CLICK } from '../constants';
|
|
2
|
+
const filterGtmEvents = gtmEvents => {
|
|
3
|
+
const clickEvents = [];
|
|
4
|
+
const regularEvents = [];
|
|
5
|
+
gtmEvents.forEach(event => {
|
|
6
|
+
event.eventTrigger && event.eventTrigger === ON_CLICK ? clickEvents.push(event) : regularEvents.push(event);
|
|
7
|
+
});
|
|
8
|
+
return {
|
|
9
|
+
clickEvents,
|
|
10
|
+
regularEvents
|
|
11
|
+
};
|
|
12
|
+
};
|
|
13
|
+
export default filterGtmEvents;
|
|
14
|
+
//# sourceMappingURL=filter-gtm-events.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filter-gtm-events.js","names":["ON_CLICK","filterGtmEvents","gtmEvents","clickEvents","regularEvents","forEach","event","eventTrigger","push"],"sources":["../../src/helpers/filter-gtm-events.js"],"sourcesContent":["import { ON_CLICK } from '../constants';\n\nconst filterGtmEvents = gtmEvents => {\n const clickEvents = [];\n const regularEvents = [];\n gtmEvents.forEach(event => {\n event.eventTrigger && event.eventTrigger === ON_CLICK\n ? clickEvents.push(event)\n : regularEvents.push(event);\n });\n\n return { clickEvents, regularEvents };\n};\n\nexport default filterGtmEvents;\n"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,cAAc;AAEvC,MAAMC,eAAe,GAAGC,SAAS,IAAI;EACnC,MAAMC,WAAW,GAAG,EAAE;EACtB,MAAMC,aAAa,GAAG,EAAE;EACxBF,SAAS,CAACG,OAAO,CAACC,KAAK,IAAI;IACzBA,KAAK,CAACC,YAAY,IAAID,KAAK,CAACC,YAAY,KAAKP,QAAQ,GACjDG,WAAW,CAACK,IAAI,CAACF,KAAK,CAAC,GACvBF,aAAa,CAACI,IAAI,CAACF,KAAK,CAAC;EAC/B,CAAC,CAAC;EAEF,OAAO;IAAEH,WAAW;IAAEC;EAAc,CAAC;AACvC,CAAC;AAED,eAAeH,eAAe","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-ids-to-use.js","names":["getIdsToUse","parentData","length","map","id"],"sources":["../../src/helpers/get-ids-to-use.js"],"sourcesContent":["const getIdsToUse = parentData => {\n if (!parentData || !parentData.length) return [];\n\n return parentData.map(({ id }) => id);\n};\n\nexport default getIdsToUse;\n"],"mappings":"AAAA,MAAMA,WAAW,GAAGC,UAAU,IAAI;EAChC,IAAI,CAACA,UAAU,IAAI,CAACA,UAAU,CAACC,MAAM,EAAE,OAAO,EAAE;EAEhD,OAAOD,UAAU,CAACE,GAAG,CAAC,CAAC;IAAEC;EAAG,CAAC,KAAKA,EAAE,CAAC;AACvC,CAAC;AAED,eAAeJ,WAAW","ignoreList":[]}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { generateSingleItemQuery, generateMultiItemQuery } from '@blaze-cms/react-page-builder';
|
|
2
|
+
const getRenderProps = (extraProps, isPreview, data, useMultiQuery) => {
|
|
3
|
+
const {
|
|
4
|
+
getEntitySchema
|
|
5
|
+
} = data;
|
|
6
|
+
const {
|
|
7
|
+
actions: {
|
|
8
|
+
get,
|
|
9
|
+
getPublished,
|
|
10
|
+
getAll,
|
|
11
|
+
getAllPublished
|
|
12
|
+
}
|
|
13
|
+
} = getEntitySchema;
|
|
14
|
+
const queryToUse = useMultiQuery ? generateMultiItemQuery : generateSingleItemQuery;
|
|
15
|
+
const singleActionKey = isPreview ? get : getPublished || get;
|
|
16
|
+
const multiActionKey = isPreview ? getAll : getAllPublished || getAll;
|
|
17
|
+
const actionKey = useMultiQuery ? multiActionKey : singleActionKey;
|
|
18
|
+
const action = queryToUse(actionKey, extraProps);
|
|
19
|
+
return {
|
|
20
|
+
action,
|
|
21
|
+
actionKey
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
export default getRenderProps;
|
|
25
|
+
//# sourceMappingURL=get-render-props.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-render-props.js","names":["generateSingleItemQuery","generateMultiItemQuery","getRenderProps","extraProps","isPreview","data","useMultiQuery","getEntitySchema","actions","get","getPublished","getAll","getAllPublished","queryToUse","singleActionKey","multiActionKey","actionKey","action"],"sources":["../../src/helpers/get-render-props.js"],"sourcesContent":["import { generateSingleItemQuery, generateMultiItemQuery } from '@blaze-cms/react-page-builder';\n\nconst getRenderProps = (extraProps, isPreview, data, useMultiQuery) => {\n const { getEntitySchema } = data;\n const {\n actions: { get, getPublished, getAll, getAllPublished }\n } = getEntitySchema;\n const queryToUse = useMultiQuery ? generateMultiItemQuery : generateSingleItemQuery;\n const singleActionKey = isPreview ? get : getPublished || get;\n const multiActionKey = isPreview ? getAll : getAllPublished || getAll;\n const actionKey = useMultiQuery ? multiActionKey : singleActionKey;\n const action = queryToUse(actionKey, extraProps);\n\n return { action, actionKey };\n};\n\nexport default getRenderProps;\n"],"mappings":"AAAA,SAASA,uBAAuB,EAAEC,sBAAsB,QAAQ,+BAA+B;AAE/F,MAAMC,cAAc,GAAGA,CAACC,UAAU,EAAEC,SAAS,EAAEC,IAAI,EAAEC,aAAa,KAAK;EACrE,MAAM;IAAEC;EAAgB,CAAC,GAAGF,IAAI;EAChC,MAAM;IACJG,OAAO,EAAE;MAAEC,GAAG;MAAEC,YAAY;MAAEC,MAAM;MAAEC;IAAgB;EACxD,CAAC,GAAGL,eAAe;EACnB,MAAMM,UAAU,GAAGP,aAAa,GAAGL,sBAAsB,GAAGD,uBAAuB;EACnF,MAAMc,eAAe,GAAGV,SAAS,GAAGK,GAAG,GAAGC,YAAY,IAAID,GAAG;EAC7D,MAAMM,cAAc,GAAGX,SAAS,GAAGO,MAAM,GAAGC,eAAe,IAAID,MAAM;EACrE,MAAMK,SAAS,GAAGV,aAAa,GAAGS,cAAc,GAAGD,eAAe;EAClE,MAAMG,MAAM,GAAGJ,UAAU,CAACG,SAAS,EAAEb,UAAU,CAAC;EAEhD,OAAO;IAAEc,MAAM;IAAED;EAAU,CAAC;AAC9B,CAAC;AAED,eAAed,cAAc","ignoreList":[]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export { default as buildDataLayer } from './build-data-layer';
|
|
2
|
+
export { default as pushToDataLayer } from './push-to-data-layer';
|
|
3
|
+
export { default as buildNestedEvent } from './build-nested-event';
|
|
4
|
+
export { default as getRenderProps } from './get-render-props';
|
|
5
|
+
export { default as getIdsToUse } from './get-ids-to-use';
|
|
6
|
+
export { default as buildPropsToDisplayArray } from './build-props-to-display-array';
|
|
7
|
+
export { default as buildAndPushWebVitals } from './build-and-push-web-vitals';
|
|
8
|
+
export { default as filterGtmEvents } from './filter-gtm-events';
|
|
9
|
+
export { default as buildUserQueryProps } from './build-user-query-props';
|
|
10
|
+
export { default as buildUserLayer } from './build-user-layer';
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["default","buildDataLayer","pushToDataLayer","buildNestedEvent","getRenderProps","getIdsToUse","buildPropsToDisplayArray","buildAndPushWebVitals","filterGtmEvents","buildUserQueryProps","buildUserLayer"],"sources":["../../src/helpers/index.js"],"sourcesContent":["export { default as buildDataLayer } from './build-data-layer';\nexport { default as pushToDataLayer } from './push-to-data-layer';\nexport { default as buildNestedEvent } from './build-nested-event';\nexport { default as getRenderProps } from './get-render-props';\nexport { default as getIdsToUse } from './get-ids-to-use';\nexport { default as buildPropsToDisplayArray } from './build-props-to-display-array';\nexport { default as buildAndPushWebVitals } from './build-and-push-web-vitals';\nexport { default as filterGtmEvents } from './filter-gtm-events';\nexport { default as buildUserQueryProps } from './build-user-query-props';\nexport { default as buildUserLayer } from './build-user-layer';\n"],"mappings":"AAAA,SAASA,OAAO,IAAIC,cAAc,QAAQ,oBAAoB;AAC9D,SAASD,OAAO,IAAIE,eAAe,QAAQ,sBAAsB;AACjE,SAASF,OAAO,IAAIG,gBAAgB,QAAQ,sBAAsB;AAClE,SAASH,OAAO,IAAII,cAAc,QAAQ,oBAAoB;AAC9D,SAASJ,OAAO,IAAIK,WAAW,QAAQ,kBAAkB;AACzD,SAASL,OAAO,IAAIM,wBAAwB,QAAQ,gCAAgC;AACpF,SAASN,OAAO,IAAIO,qBAAqB,QAAQ,6BAA6B;AAC9E,SAASP,OAAO,IAAIQ,eAAe,QAAQ,qBAAqB;AAChE,SAASR,OAAO,IAAIS,mBAAmB,QAAQ,0BAA0B;AACzE,SAAST,OAAO,IAAIU,cAAc,QAAQ,oBAAoB","ignoreList":[]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import resetDataLayer from './reset-data-layer';
|
|
2
|
+
const pushToDataLayer = (dataLayer, isPageView) => {
|
|
3
|
+
if (dataLayer && window.dataLayer) {
|
|
4
|
+
if (isPageView) resetDataLayer();
|
|
5
|
+
window.dataLayer.push(dataLayer);
|
|
6
|
+
}
|
|
7
|
+
};
|
|
8
|
+
export default pushToDataLayer;
|
|
9
|
+
//# sourceMappingURL=push-to-data-layer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"push-to-data-layer.js","names":["resetDataLayer","pushToDataLayer","dataLayer","isPageView","window","push"],"sources":["../../src/helpers/push-to-data-layer.js"],"sourcesContent":["import resetDataLayer from './reset-data-layer';\n\nconst pushToDataLayer = (dataLayer, isPageView) => {\n if (dataLayer && window.dataLayer) {\n if (isPageView) resetDataLayer();\n window.dataLayer.push(dataLayer);\n }\n};\n\nexport default pushToDataLayer;\n"],"mappings":"AAAA,OAAOA,cAAc,MAAM,oBAAoB;AAE/C,MAAMC,eAAe,GAAGA,CAACC,SAAS,EAAEC,UAAU,KAAK;EACjD,IAAID,SAAS,IAAIE,MAAM,CAACF,SAAS,EAAE;IACjC,IAAIC,UAAU,EAAEH,cAAc,CAAC,CAAC;IAChCI,MAAM,CAACF,SAAS,CAACG,IAAI,CAACH,SAAS,CAAC;EAClC;AACF,CAAC;AAED,eAAeD,eAAe","ignoreList":[]}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { PAGE_VIEW } from '../constants';
|
|
2
|
+
const resetDataLayer = () => {
|
|
3
|
+
if (!shouldReset()) return false;
|
|
4
|
+
window.dataLayer.length = 0;
|
|
5
|
+
const gtmIdRegex = /GTM-/i;
|
|
6
|
+
const keys = Object.keys(window.google_tag_manager);
|
|
7
|
+
const GTMkeys = keys.filter(key => gtmIdRegex.test(key) && window.google_tag_manager[key].dataLayer);
|
|
8
|
+
GTMkeys.forEach(GTMkey => window.google_tag_manager[GTMkey].dataLayer.reset());
|
|
9
|
+
return true;
|
|
10
|
+
};
|
|
11
|
+
function shouldReset() {
|
|
12
|
+
return window.google_tag_manager && window.dataLayer && window.dataLayer.find(({
|
|
13
|
+
event
|
|
14
|
+
}) => event === PAGE_VIEW);
|
|
15
|
+
}
|
|
16
|
+
export default resetDataLayer;
|
|
17
|
+
//# sourceMappingURL=reset-data-layer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reset-data-layer.js","names":["PAGE_VIEW","resetDataLayer","shouldReset","window","dataLayer","length","gtmIdRegex","keys","Object","google_tag_manager","GTMkeys","filter","key","test","forEach","GTMkey","reset","find","event"],"sources":["../../src/helpers/reset-data-layer.js"],"sourcesContent":["import { PAGE_VIEW } from '../constants';\n\nconst resetDataLayer = () => {\n if (!shouldReset()) return false;\n\n window.dataLayer.length = 0;\n const gtmIdRegex = /GTM-/i;\n const keys = Object.keys(window.google_tag_manager);\n const GTMkeys = keys.filter(\n key => gtmIdRegex.test(key) && window.google_tag_manager[key].dataLayer\n );\n GTMkeys.forEach(GTMkey => window.google_tag_manager[GTMkey].dataLayer.reset());\n\n return true;\n};\n\nfunction shouldReset() {\n return (\n window.google_tag_manager &&\n window.dataLayer &&\n window.dataLayer.find(({ event }) => event === PAGE_VIEW)\n );\n}\n\nexport default resetDataLayer;\n"],"mappings":"AAAA,SAASA,SAAS,QAAQ,cAAc;AAExC,MAAMC,cAAc,GAAGA,CAAA,KAAM;EAC3B,IAAI,CAACC,WAAW,CAAC,CAAC,EAAE,OAAO,KAAK;EAEhCC,MAAM,CAACC,SAAS,CAACC,MAAM,GAAG,CAAC;EAC3B,MAAMC,UAAU,GAAG,OAAO;EAC1B,MAAMC,IAAI,GAAGC,MAAM,CAACD,IAAI,CAACJ,MAAM,CAACM,kBAAkB,CAAC;EACnD,MAAMC,OAAO,GAAGH,IAAI,CAACI,MAAM,CACzBC,GAAG,IAAIN,UAAU,CAACO,IAAI,CAACD,GAAG,CAAC,IAAIT,MAAM,CAACM,kBAAkB,CAACG,GAAG,CAAC,CAACR,SAChE,CAAC;EACDM,OAAO,CAACI,OAAO,CAACC,MAAM,IAAIZ,MAAM,CAACM,kBAAkB,CAACM,MAAM,CAAC,CAACX,SAAS,CAACY,KAAK,CAAC,CAAC,CAAC;EAE9E,OAAO,IAAI;AACb,CAAC;AAED,SAASd,WAAWA,CAAA,EAAG;EACrB,OACEC,MAAM,CAACM,kBAAkB,IACzBN,MAAM,CAACC,SAAS,IAChBD,MAAM,CAACC,SAAS,CAACa,IAAI,CAAC,CAAC;IAAEC;EAAM,CAAC,KAAKA,KAAK,KAAKlB,SAAS,CAAC;AAE7D;AAEA,eAAeC,cAAc","ignoreList":[]}
|
package/lib-es/index.js
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import dynamic from 'next/dynamic';
|
|
2
|
+
import pkg from '../package.json';
|
|
3
|
+
import { PLUGIN_NAME } from './constants';
|
|
4
|
+
export default async function load(app) {
|
|
5
|
+
app.events.once('load:custom:page-builder:component', addComponent => {
|
|
6
|
+
addComponent({
|
|
7
|
+
key: 'gtm',
|
|
8
|
+
component: dynamic(() => import(/* webpackChunkName: "blazePbGoogleTagManager" */'./GoogleTagManager'))
|
|
9
|
+
});
|
|
10
|
+
addComponent({
|
|
11
|
+
key: 'gtm-events',
|
|
12
|
+
component: dynamic(() => import(/* webpackChunkName: "blazePbGoogleTagManagerEvent" */'./GoogleTagManagerEvent'))
|
|
13
|
+
});
|
|
14
|
+
});
|
|
15
|
+
return {
|
|
16
|
+
name: PLUGIN_NAME,
|
|
17
|
+
version: pkg.version
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
load.pluginName = PLUGIN_NAME;
|
|
21
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["dynamic","pkg","PLUGIN_NAME","load","app","events","once","addComponent","key","component","name","version","pluginName"],"sources":["../src/index.js"],"sourcesContent":["import dynamic from 'next/dynamic';\n\nimport pkg from '../package.json';\nimport { PLUGIN_NAME } from './constants';\n\nexport default async function load(app) {\n app.events.once('load:custom:page-builder:component', addComponent => {\n addComponent({\n key: 'gtm',\n component: dynamic(\n () => import(/* webpackChunkName: \"blazePbGoogleTagManager\" */ './GoogleTagManager')\n )\n });\n addComponent({\n key: 'gtm-events',\n component: dynamic(\n () =>\n import(/* webpackChunkName: \"blazePbGoogleTagManagerEvent\" */ './GoogleTagManagerEvent')\n )\n });\n });\n\n return {\n name: PLUGIN_NAME,\n version: pkg.version\n };\n}\n\nload.pluginName = PLUGIN_NAME;\n"],"mappings":"AAAA,OAAOA,OAAO,MAAM,cAAc;AAElC,OAAOC,GAAG,MAAM,iBAAiB;AACjC,SAASC,WAAW,QAAQ,aAAa;AAEzC,eAAe,eAAeC,IAAIA,CAACC,GAAG,EAAE;EACtCA,GAAG,CAACC,MAAM,CAACC,IAAI,CAAC,oCAAoC,EAAEC,YAAY,IAAI;IACpEA,YAAY,CAAC;MACXC,GAAG,EAAE,KAAK;MACVC,SAAS,EAAET,OAAO,CAChB,MAAM,MAAM,CAAC,iDAAkD,oBAAoB,CACrF;IACF,CAAC,CAAC;IACFO,YAAY,CAAC;MACXC,GAAG,EAAE,YAAY;MACjBC,SAAS,EAAET,OAAO,CAChB,MACE,MAAM,CAAC,sDAAuD,yBAAyB,CAC3F;IACF,CAAC,CAAC;EACJ,CAAC,CAAC;EAEF,OAAO;IACLU,IAAI,EAAER,WAAW;IACjBS,OAAO,EAAEV,GAAG,CAACU;EACf,CAAC;AACH;AAEAR,IAAI,CAACS,UAAU,GAAGV,WAAW","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,9 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@blaze-cms/plugin-gtm-fe",
|
|
3
|
-
"version": "0.146.0-rc-eagle.
|
|
3
|
+
"version": "0.146.0-rc-eagle-3.2",
|
|
4
4
|
"description": "Blaze GTM plugin fe",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "lib-es/index.js",
|
|
7
|
+
"files": [
|
|
8
|
+
"lib",
|
|
9
|
+
"lib-es",
|
|
10
|
+
"src"
|
|
11
|
+
],
|
|
7
12
|
"source": "src/index.js",
|
|
8
13
|
"directories": {
|
|
9
14
|
"src": "src/"
|
|
@@ -27,15 +32,14 @@
|
|
|
27
32
|
},
|
|
28
33
|
"license": "GPL-3.0",
|
|
29
34
|
"dependencies": {
|
|
30
|
-
"@blaze-cms/core-auth-ui": "0.146.0-rc-eagle.
|
|
31
|
-
"@blaze-cms/nextjs-components": "0.146.0-rc-eagle.0",
|
|
32
|
-
"@blaze-cms/react-page-builder": "0.146.0-rc-eagle.
|
|
33
|
-
"@blaze-cms/setup-ui": "0.146.0-rc-eagle.0",
|
|
34
|
-
"regenerator-runtime": "^0.13.3",
|
|
35
|
+
"@blaze-cms/core-auth-ui": "0.146.0-rc-eagle-3.2",
|
|
36
|
+
"@blaze-cms/nextjs-components": "0.146.0-rc-eagle-3.0",
|
|
37
|
+
"@blaze-cms/react-page-builder": "0.146.0-rc-eagle-3.2",
|
|
38
|
+
"@blaze-cms/setup-ui": "0.146.0-rc-eagle-3.0",
|
|
35
39
|
"web-vitals": "^0.2.2"
|
|
36
40
|
},
|
|
37
41
|
"devDependencies": {
|
|
38
|
-
"@blaze-cms/core-ui": "0.146.0-rc-eagle.
|
|
42
|
+
"@blaze-cms/core-ui": "0.146.0-rc-eagle-3.2"
|
|
39
43
|
},
|
|
40
44
|
"peerDependencies": {
|
|
41
45
|
"next": ">= 14"
|
|
@@ -43,5 +47,6 @@
|
|
|
43
47
|
"eslintIgnore": [
|
|
44
48
|
"lib/*",
|
|
45
49
|
"lib-es/*"
|
|
46
|
-
]
|
|
50
|
+
],
|
|
51
|
+
"gitHead": "3219f29b6e4e8c40f34fe79804b2cd315c84467a"
|
|
47
52
|
}
|