@blaze-cms/plugin-gtm-fe 0.146.0-translations.8 → 0.147.0-rc-eagle.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.
Files changed (63) hide show
  1. package/lib/GoogleTagManager/GTMFactory.js +32 -37
  2. package/lib/GoogleTagManager/GTMFactory.js.map +1 -1
  3. package/lib/GoogleTagManager/GTMRender.js +47 -54
  4. package/lib/GoogleTagManager/GTMRender.js.map +1 -1
  5. package/lib/GoogleTagManager/index.js +2 -3
  6. package/lib/GoogleTagManager/index.js.map +1 -1
  7. package/lib/GoogleTagManagerEvent/GTMClickEvent.js +35 -40
  8. package/lib/GoogleTagManagerEvent/GTMClickEvent.js.map +1 -1
  9. package/lib/GoogleTagManagerEvent/GTMClickEvents.js +21 -23
  10. package/lib/GoogleTagManagerEvent/GTMClickEvents.js.map +1 -1
  11. package/lib/GoogleTagManagerEvent/GTMEvent.js +24 -33
  12. package/lib/GoogleTagManagerEvent/GTMEvent.js.map +1 -1
  13. package/lib/GoogleTagManagerEvent/GTMEventFactory.js +50 -60
  14. package/lib/GoogleTagManagerEvent/GTMEventFactory.js.map +1 -1
  15. package/lib/GoogleTagManagerEvent/GTMEventRender.js +53 -66
  16. package/lib/GoogleTagManagerEvent/GTMEventRender.js.map +1 -1
  17. package/lib/GoogleTagManagerEvent/GTMEventSwitch.js +20 -18
  18. package/lib/GoogleTagManagerEvent/GTMEventSwitch.js.map +1 -1
  19. package/lib/GoogleTagManagerEvent/index.js +2 -3
  20. package/lib/GoogleTagManagerEvent/index.js.map +1 -1
  21. package/lib/constants.js +12 -13
  22. package/lib/constants.js.map +1 -1
  23. package/lib/helpers/build-and-push-web-vitals.js +10 -11
  24. package/lib/helpers/build-and-push-web-vitals.js.map +1 -1
  25. package/lib/helpers/build-data-layer.js +20 -48
  26. package/lib/helpers/build-data-layer.js.map +1 -1
  27. package/lib/helpers/build-nested-event.js +54 -38
  28. package/lib/helpers/build-nested-event.js.map +1 -1
  29. package/lib/helpers/build-props-to-display-array.js +4 -11
  30. package/lib/helpers/build-props-to-display-array.js.map +1 -1
  31. package/lib/helpers/build-user-layer.js +22 -32
  32. package/lib/helpers/build-user-layer.js.map +1 -1
  33. package/lib/helpers/build-user-query-props.js +13 -27
  34. package/lib/helpers/build-user-query-props.js.map +1 -1
  35. package/lib/helpers/filter-gtm-events.js +8 -12
  36. package/lib/helpers/filter-gtm-events.js.map +1 -1
  37. package/lib/helpers/get-ids-to-use.js +6 -9
  38. package/lib/helpers/get-ids-to-use.js.map +1 -1
  39. package/lib/helpers/get-render-props.js +21 -17
  40. package/lib/helpers/get-render-props.js.map +1 -1
  41. package/lib/helpers/index.js +20 -21
  42. package/lib/helpers/index.js.map +1 -1
  43. package/lib/helpers/push-to-data-layer.js +4 -5
  44. package/lib/helpers/push-to-data-layer.js.map +1 -1
  45. package/lib/helpers/reset-data-layer.js +10 -23
  46. package/lib/helpers/reset-data-layer.js.map +1 -1
  47. package/lib/index.js +17 -51
  48. package/lib/index.js.map +1 -1
  49. package/lib-es/GoogleTagManagerEvent/GTMClickEvent.js +2 -2
  50. package/lib-es/GoogleTagManagerEvent/GTMClickEvent.js.map +1 -1
  51. package/lib-es/GoogleTagManagerEvent/GTMEvent.js +6 -3
  52. package/lib-es/GoogleTagManagerEvent/GTMEvent.js.map +1 -1
  53. package/lib-es/GoogleTagManagerEvent/GTMEventFactory.js.map +1 -1
  54. package/lib-es/helpers/build-data-layer.js.map +1 -1
  55. package/lib-es/index.js +2 -2
  56. package/lib-es/index.js.map +1 -1
  57. package/package.json +19 -15
  58. package/src/GoogleTagManagerEvent/GTMClickEvent.js +3 -2
  59. package/src/GoogleTagManagerEvent/GTMEvent.js +9 -8
  60. package/src/index.js +5 -4
  61. package/CHANGELOG.md +0 -1787
  62. package/babel.config.js +0 -3
  63. package/jest.config.js +0 -3
@@ -1 +1 @@
1
- {"version":3,"file":"GTMEventFactory.js","names":["React","useContext","PropTypes","useQuery","getSingleEntitySchema","buildPropsQuery","MainContext","GTMEventRender","getRenderProps","getIdsToUse","buildPropsToDisplayArray","GTM_EVENT_FACTORY","GTMEventFactory","parent","gtmEvents","parentData","clickId","parentComponent","isPreview","itemEntity","data","error","loading","variables","id","map","_ref","i","propsToDisplay","eventProps","_objectWithoutProperties","_excluded","hasNoPropsToDisplay","length","propsToDisplayArr","extraProps","shouldUseParentData","itemIdToUse","itemId","shouldUseMultiQuery","Array","isArray","action","actionKey","dynamicKey","queryVariables","where","_in","skip","createElement","_extends","key","propTypes","object","isRequired","string","array","oneOfType","defaultProps"],"sources":["../../src/GoogleTagManagerEvent/GTMEventFactory.js"],"sourcesContent":["import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport { useQuery } from '@apollo/client';\nimport { getSingleEntitySchema, buildPropsQuery } from '@blaze-cms/react-page-builder';\nimport { MainContext } from '@blaze-cms/nextjs-components';\nimport GTMEventRender from './GTMEventRender';\nimport { getRenderProps, getIdsToUse, buildPropsToDisplayArray } from '../helpers';\nimport { GTM_EVENT_FACTORY } from '../constants';\n\nconst GTMEventFactory = ({ parent, gtmEvents, parentData, clickId, parentComponent }) => {\n const { isPreview } = useContext(MainContext);\n const [{ itemEntity = parent.itemEntity } = {}] = parentData || [];\n const { data, error, loading } = useQuery(getSingleEntitySchema, {\n variables: { id: itemEntity }\n });\n\n if (loading || error || !data) return null;\n\n return gtmEvents.map(({ propsToDisplay, ...eventProps }, i) => {\n const hasNoPropsToDisplay = !propsToDisplay || !propsToDisplay.length;\n const propsToDisplayArr = buildPropsToDisplayArray(propsToDisplay);\n const extraProps = hasNoPropsToDisplay ? '' : buildPropsQuery(data, propsToDisplayArr);\n const shouldUseParentData = !clickId && parentData && parentData.length;\n const itemIdToUse = clickId || parent.itemId;\n const itemId = shouldUseParentData ? getIdsToUse(parentData) : itemIdToUse;\n const shouldUseMultiQuery = Array.isArray(itemId);\n const { action, actionKey } = getRenderProps(extraProps, isPreview, data, shouldUseMultiQuery);\n const dynamicKey = `${GTM_EVENT_FACTORY}${i}`;\n const queryVariables = shouldUseMultiQuery\n ? {\n variables: { where: { id: { _in: itemId } } },\n skip: hasNoPropsToDisplay\n }\n : {\n variables: { id: itemId },\n skip: hasNoPropsToDisplay\n };\n\n return (\n <GTMEventRender\n key={dynamicKey}\n action={action}\n actionKey={actionKey}\n propsToDisplay={propsToDisplay}\n id={itemId}\n queryVariables={queryVariables}\n parentComponent={parentComponent}\n {...eventProps}\n />\n );\n });\n};\n\nGTMEventFactory.propTypes = {\n parent: PropTypes.object.isRequired,\n clickId: PropTypes.string,\n gtmEvents: PropTypes.array,\n parentData: PropTypes.oneOfType([PropTypes.object, PropTypes.array]),\n parentComponent: PropTypes.object\n};\n\nGTMEventFactory.defaultProps = {\n clickId: null,\n gtmEvents: [],\n parentData: null,\n parentComponent: {}\n};\n\nexport default GTMEventFactory;\n"],"mappings":";;;AAAA,OAAOA,KAAK,IAAIC,UAAU,QAAQ,OAAO;AACzC,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,QAAQ,QAAQ,gBAAgB;AACzC,SAASC,qBAAqB,EAAEC,eAAe,QAAQ,+BAA+B;AACtF,SAASC,WAAW,QAAQ,8BAA8B;AAC1D,OAAOC,cAAc,MAAM,kBAAkB;AAC7C,SAASC,cAAc,EAAEC,WAAW,EAAEC,wBAAwB,QAAQ,YAAY;AAClF,SAASC,iBAAiB,QAAQ,cAAc;AAEhD,MAAMC,eAAe,GAAGA,CAAC;EAAEC,MAAM;EAAEC,SAAS;EAAEC,UAAU;EAAEC,OAAO;EAAEC;AAAgB,CAAC,KAAK;EACvF,MAAM;IAAEC;EAAU,CAAC,GAAGjB,UAAU,CAACK,WAAW,CAAC;EAC7C,MAAM,CAAC;IAAEa,UAAU,GAAGN,MAAM,CAACM;EAAW,CAAC,GAAG,CAAC,CAAC,CAAC,GAAGJ,UAAU,IAAI,EAAE;EAClE,MAAM;IAAEK,IAAI;IAAEC,KAAK;IAAEC;EAAQ,CAAC,GAAGnB,QAAQ,CAACC,qBAAqB,EAAE;IAC/DmB,SAAS,EAAE;MAAEC,EAAE,EAAEL;IAAW;EAC9B,CAAC,CAAC;EAEF,IAAIG,OAAO,IAAID,KAAK,IAAI,CAACD,IAAI,EAAE,OAAO,IAAI;EAE1C,OAAON,SAAS,CAACW,GAAG,CAAC,CAAAC,IAAA,EAAoCC,CAAC,KAAK;IAAA,IAAzC;QAAEC;MAA8B,CAAC,GAAAF,IAAA;MAAZG,UAAU,GAAAC,wBAAA,CAAAJ,IAAA,EAAAK,SAAA;IACnD,MAAMC,mBAAmB,GAAG,CAACJ,cAAc,IAAI,CAACA,cAAc,CAACK,MAAM;IACrE,MAAMC,iBAAiB,GAAGxB,wBAAwB,CAACkB,cAAc,CAAC;IAClE,MAAMO,UAAU,GAAGH,mBAAmB,GAAG,EAAE,GAAG3B,eAAe,CAACe,IAAI,EAAEc,iBAAiB,CAAC;IACtF,MAAME,mBAAmB,GAAG,CAACpB,OAAO,IAAID,UAAU,IAAIA,UAAU,CAACkB,MAAM;IACvE,MAAMI,WAAW,GAAGrB,OAAO,IAAIH,MAAM,CAACyB,MAAM;IAC5C,MAAMA,MAAM,GAAGF,mBAAmB,GAAG3B,WAAW,CAACM,UAAU,CAAC,GAAGsB,WAAW;IAC1E,MAAME,mBAAmB,GAAGC,KAAK,CAACC,OAAO,CAACH,MAAM,CAAC;IACjD,MAAM;MAAEI,MAAM;MAAEC;IAAU,CAAC,GAAGnC,cAAc,CAAC2B,UAAU,EAAEjB,SAAS,EAAEE,IAAI,EAAEmB,mBAAmB,CAAC;IAC9F,MAAMK,UAAU,GAAI,GAAEjC,iBAAkB,GAAEgB,CAAE,EAAC;IAC7C,MAAMkB,cAAc,GAAGN,mBAAmB,GACtC;MACEhB,SAAS,EAAE;QAAEuB,KAAK,EAAE;UAAEtB,EAAE,EAAE;YAAEuB,GAAG,EAAET;UAAO;QAAE;MAAE,CAAC;MAC7CU,IAAI,EAAEhB;IACR,CAAC,GACD;MACET,SAAS,EAAE;QAAEC,EAAE,EAAEc;MAAO,CAAC;MACzBU,IAAI,EAAEhB;IACR,CAAC;IAEL,oBACEhC,KAAA,CAAAiD,aAAA,CAAC1C,cAAc,EAAA2C,QAAA;MACbC,GAAG,EAAEP,UAAW;MAChBF,MAAM,EAAEA,MAAO;MACfC,SAAS,EAAEA,SAAU;MACrBf,cAAc,EAAEA,cAAe;MAC/BJ,EAAE,EAAEc,MAAO;MACXO,cAAc,EAAEA,cAAe;MAC/B5B,eAAe,EAAEA;IAAgB,GAC7BY,UAAU,CACf,CAAC;EAEN,CAAC,CAAC;AACJ,CAAC;AAEDjB,eAAe,CAACwC,SAAS,GAAG;EAC1BvC,MAAM,EAAEX,SAAS,CAACmD,MAAM,CAACC,UAAU;EACnCtC,OAAO,EAAEd,SAAS,CAACqD,MAAM;EACzBzC,SAAS,EAAEZ,SAAS,CAACsD,KAAK;EAC1BzC,UAAU,EAAEb,SAAS,CAACuD,SAAS,CAAC,CAACvD,SAAS,CAACmD,MAAM,EAAEnD,SAAS,CAACsD,KAAK,CAAC,CAAC;EACpEvC,eAAe,EAAEf,SAAS,CAACmD;AAC7B,CAAC;AAEDzC,eAAe,CAAC8C,YAAY,GAAG;EAC7B1C,OAAO,EAAE,IAAI;EACbF,SAAS,EAAE,EAAE;EACbC,UAAU,EAAE,IAAI;EAChBE,eAAe,EAAE,CAAC;AACpB,CAAC;AAED,eAAeL,eAAe","ignoreList":[]}
1
+ {"version":3,"file":"GTMEventFactory.js","names":["React","useContext","PropTypes","useQuery","getSingleEntitySchema","buildPropsQuery","MainContext","GTMEventRender","getRenderProps","getIdsToUse","buildPropsToDisplayArray","GTM_EVENT_FACTORY","GTMEventFactory","parent","gtmEvents","parentData","clickId","parentComponent","isPreview","itemEntity","data","error","loading","variables","id","map","_ref","i","propsToDisplay","eventProps","_objectWithoutProperties","_excluded","hasNoPropsToDisplay","length","propsToDisplayArr","extraProps","shouldUseParentData","itemIdToUse","itemId","shouldUseMultiQuery","Array","isArray","action","actionKey","dynamicKey","queryVariables","where","_in","skip","createElement","_extends","key","propTypes","object","isRequired","string","array","oneOfType","defaultProps"],"sources":["../../src/GoogleTagManagerEvent/GTMEventFactory.js"],"sourcesContent":["import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport { useQuery } from '@apollo/client';\nimport { getSingleEntitySchema, buildPropsQuery } from '@blaze-cms/react-page-builder';\nimport { MainContext } from '@blaze-cms/nextjs-components';\nimport GTMEventRender from './GTMEventRender';\nimport { getRenderProps, getIdsToUse, buildPropsToDisplayArray } from '../helpers';\nimport { GTM_EVENT_FACTORY } from '../constants';\n\nconst GTMEventFactory = ({ parent, gtmEvents, parentData, clickId, parentComponent }) => {\n const { isPreview } = useContext(MainContext);\n const [{ itemEntity = parent.itemEntity } = {}] = parentData || [];\n const { data, error, loading } = useQuery(getSingleEntitySchema, {\n variables: { id: itemEntity }\n });\n\n if (loading || error || !data) return null;\n\n return gtmEvents.map(({ propsToDisplay, ...eventProps }, i) => {\n const hasNoPropsToDisplay = !propsToDisplay || !propsToDisplay.length;\n const propsToDisplayArr = buildPropsToDisplayArray(propsToDisplay);\n const extraProps = hasNoPropsToDisplay ? '' : buildPropsQuery(data, propsToDisplayArr);\n const shouldUseParentData = !clickId && parentData && parentData.length;\n const itemIdToUse = clickId || parent.itemId;\n const itemId = shouldUseParentData ? getIdsToUse(parentData) : itemIdToUse;\n const shouldUseMultiQuery = Array.isArray(itemId);\n const { action, actionKey } = getRenderProps(extraProps, isPreview, data, shouldUseMultiQuery);\n const dynamicKey = `${GTM_EVENT_FACTORY}${i}`;\n const queryVariables = shouldUseMultiQuery\n ? {\n variables: { where: { id: { _in: itemId } } },\n skip: hasNoPropsToDisplay\n }\n : {\n variables: { id: itemId },\n skip: hasNoPropsToDisplay\n };\n\n return (\n <GTMEventRender\n key={dynamicKey}\n action={action}\n actionKey={actionKey}\n propsToDisplay={propsToDisplay}\n id={itemId}\n queryVariables={queryVariables}\n parentComponent={parentComponent}\n {...eventProps}\n />\n );\n });\n};\n\nGTMEventFactory.propTypes = {\n parent: PropTypes.object.isRequired,\n clickId: PropTypes.string,\n gtmEvents: PropTypes.array,\n parentData: PropTypes.oneOfType([PropTypes.object, PropTypes.array]),\n parentComponent: PropTypes.object\n};\n\nGTMEventFactory.defaultProps = {\n clickId: null,\n gtmEvents: [],\n parentData: null,\n parentComponent: {}\n};\n\nexport default GTMEventFactory;\n"],"mappings":"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","ignoreList":[]}
@@ -1 +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,KAAM,GAAEF,GAAI,GAAEE,KAAK,GAAG,GAAG,GAAG,EAAG,GAAED,OAAO,CAACN,SAAS,CAAE,EAAC,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":[]}
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":[]}
package/lib-es/index.js CHANGED
@@ -5,11 +5,11 @@ export default async function load(app) {
5
5
  app.events.once('load:custom:page-builder:component', addComponent => {
6
6
  addComponent({
7
7
  key: 'gtm',
8
- component: dynamic(() => import( /* webpackChunkName: "blazePbGoogleTagManager" */'./GoogleTagManager'))
8
+ component: dynamic(() => import(/* webpackChunkName: "blazePbGoogleTagManager" */'./GoogleTagManager'))
9
9
  });
10
10
  addComponent({
11
11
  key: 'gtm-events',
12
- component: dynamic(() => import( /* webpackChunkName: "blazePbGoogleTagManagerEvent" */'./GoogleTagManagerEvent'))
12
+ component: dynamic(() => import(/* webpackChunkName: "blazePbGoogleTagManagerEvent" */'./GoogleTagManagerEvent'))
13
13
  });
14
14
  });
15
15
  return {
@@ -1 +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 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,CAAC,MACjB,MAAM,EAAC,iDAAkD,oBAAoB,CAC/E;IACF,CAAC,CAAC;IACFO,YAAY,CAAC;MACXC,GAAG,EAAE,YAAY;MACjBC,SAAS,EAAET,OAAO,CAAC,MACjB,MAAM,EAAC,sDAAuD,yBAAyB,CACzF;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":[]}
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,24 +1,29 @@
1
1
  {
2
2
  "name": "@blaze-cms/plugin-gtm-fe",
3
- "version": "0.146.0-translations.8",
3
+ "version": "0.147.0-rc-eagle.2",
4
4
  "description": "Blaze GTM plugin fe",
5
5
  "main": "lib/index.js",
6
6
  "module": "lib-es/index.js",
7
- "sideEffects": false,
7
+ "files": [
8
+ "lib",
9
+ "lib-es",
10
+ "src"
11
+ ],
12
+ "source": "src/index.js",
8
13
  "directories": {
9
14
  "src": "src/"
10
15
  },
11
16
  "scripts": {
12
17
  "test": "jest",
13
- "lint": "yarn run lint:js",
18
+ "lint": "npm run lint:js",
14
19
  "lint:js": "eslint .",
15
20
  "clean": "rm -Rf ./lib/ && rm -Rf ./lib-es/",
16
21
  "build:cjs": "BABEL_ENV=cjs ../../node_modules/.bin/babel ./src --out-dir ./lib --source-maps --root-mode upward",
17
22
  "build:esm": "BABEL_ENV=esm ../../node_modules/.bin/babel ./src --out-dir ./lib-es --source-maps --root-mode upward",
18
- "build": "yarn run build:cjs && yarn run build:esm",
19
- "build:clean": "yarn run clean && yarn run build",
20
- "prepublishOnly": "yarn run build:clean",
21
- "postpublish": "yarn run clean"
23
+ "build": "npm run build:cjs && npm run build:esm",
24
+ "build:clean": "npm run clean && npm run build",
25
+ "prepublishOnly": "npm run build:clean",
26
+ "postpublish": "npm run clean"
22
27
  },
23
28
  "author": {
24
29
  "email": "hello@thebyte9.com",
@@ -27,23 +32,22 @@
27
32
  },
28
33
  "license": "GPL-3.0",
29
34
  "dependencies": {
30
- "@blaze-cms/core-auth-ui": "0.146.0-translations.8",
31
- "@blaze-cms/nextjs-components": "0.146.0-translations.3",
32
- "@blaze-cms/react-page-builder": "0.146.0-translations.8",
33
- "@blaze-cms/setup-ui": "^0.140.3",
34
- "core-js": "^3.2.1",
35
+ "@blaze-cms/core-auth-ui": "0.147.0-rc-eagle.2",
36
+ "@blaze-cms/nextjs-components": "0.147.0-rc-eagle.2",
37
+ "@blaze-cms/react-page-builder": "0.147.0-rc-eagle.2",
38
+ "@blaze-cms/setup-ui": "0.147.0-rc-eagle.2",
35
39
  "regenerator-runtime": "^0.13.3",
36
40
  "web-vitals": "^0.2.2"
37
41
  },
38
42
  "devDependencies": {
39
- "@blaze-cms/core-ui": "0.146.0-translations.8"
43
+ "@blaze-cms/core-ui": "0.147.0-rc-eagle.2"
40
44
  },
41
45
  "peerDependencies": {
42
- "next": "12.x"
46
+ "next": ">= 14"
43
47
  },
44
48
  "eslintIgnore": [
45
49
  "lib/*",
46
50
  "lib-es/*"
47
51
  ],
48
- "gitHead": "5bcb583bf1d7442739af5bcf650980090670ac5d"
52
+ "gitHead": "156a1560d7bc2bbd57b5b51fdf11098349bb26f5"
49
53
  }
@@ -2,7 +2,8 @@ import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import { useQuery } from '@apollo/client';
4
4
  import { checkIfLoggedIn } from '@blaze-cms/core-auth-ui';
5
- import { getCurretUser } from '@blaze-cms/react-page-builder';
5
+ import { getCurrentUser } from '@blaze-cms/react-page-builder';
6
+
6
7
  import GTMEvent from './GTMEvent';
7
8
  import { buildDataLayer, buildNestedEvent, buildUserQueryProps, buildUserLayer } from '../helpers';
8
9
 
@@ -10,7 +11,7 @@ const GTMClickEvent = ({ event, componentProps, parentComponent }) => {
10
11
  const { eventTrigger, propsToDisplay, userPropsToDisplay, eventEcommerce } = event;
11
12
  const { id: userId } = checkIfLoggedIn();
12
13
  const userProps = userId ? buildUserQueryProps(userPropsToDisplay) : '';
13
- const { data: userData, loading } = useQuery(getCurretUser(userProps), {
14
+ const { data: userData, loading } = useQuery(getCurrentUser(userProps), {
14
15
  variables: { id: userId },
15
16
  skip: !userId
16
17
  });
@@ -9,21 +9,22 @@ const GTMEvent = ({ dataLayerObject, eventTrigger, currentLocation, handleOnSucc
9
9
  const isViewEvent = eventTrigger === IN_VIEW;
10
10
  const isOnSuccess = eventTrigger === ON_SUCCESS && !!handleOnSuccess;
11
11
 
12
- useEffect(
13
- () => {
14
- setShouldPushLayer(true);
15
- },
16
- [currentLocation]
17
- );
12
+ useEffect(() => {
13
+ setShouldPushLayer(true);
14
+ }, [currentLocation]);
15
+
18
16
  const pushDataLayer = () => {
19
17
  pushToDataLayer(dataLayerObject);
20
18
  setShouldPushLayer(false);
21
19
  if (isOnSuccess) handleOnSuccess();
22
20
  };
23
21
 
24
- if (!isViewEvent && shouldPushLayer) pushDataLayer();
22
+ if (!isViewEvent && shouldPushLayer) {
23
+ pushDataLayer();
24
+ return null;
25
+ }
25
26
 
26
- return <>{isViewEvent && shouldPushLayer && <Waypoint onEnter={pushDataLayer} />}</>;
27
+ return isViewEvent && shouldPushLayer ? <Waypoint onEnter={pushDataLayer} /> : null;
27
28
  };
28
29
 
29
30
  GTMEvent.propTypes = {
package/src/index.js CHANGED
@@ -7,14 +7,15 @@ export default async function load(app) {
7
7
  app.events.once('load:custom:page-builder:component', addComponent => {
8
8
  addComponent({
9
9
  key: 'gtm',
10
- component: dynamic(() =>
11
- import(/* webpackChunkName: "blazePbGoogleTagManager" */ './GoogleTagManager')
10
+ component: dynamic(
11
+ () => import(/* webpackChunkName: "blazePbGoogleTagManager" */ './GoogleTagManager')
12
12
  )
13
13
  });
14
14
  addComponent({
15
15
  key: 'gtm-events',
16
- component: dynamic(() =>
17
- import(/* webpackChunkName: "blazePbGoogleTagManagerEvent" */ './GoogleTagManagerEvent')
16
+ component: dynamic(
17
+ () =>
18
+ import(/* webpackChunkName: "blazePbGoogleTagManagerEvent" */ './GoogleTagManagerEvent')
18
19
  )
19
20
  });
20
21
  });