@blaze-cms/plugin-gtm-fe 0.146.0-node18.1 → 0.146.0-rc-eagle-3.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.
Files changed (64) hide show
  1. package/CHANGELOG.md +2 -9
  2. package/lib/GoogleTagManager/GTMFactory.js +33 -37
  3. package/lib/GoogleTagManager/GTMFactory.js.map +1 -1
  4. package/lib/GoogleTagManager/GTMRender.js +47 -59
  5. package/lib/GoogleTagManager/GTMRender.js.map +1 -1
  6. package/lib/GoogleTagManager/index.js +2 -3
  7. package/lib/GoogleTagManager/index.js.map +1 -1
  8. package/lib/GoogleTagManagerEvent/GTMClickEvent.js +35 -40
  9. package/lib/GoogleTagManagerEvent/GTMClickEvent.js.map +1 -1
  10. package/lib/GoogleTagManagerEvent/GTMClickEvents.js +21 -24
  11. package/lib/GoogleTagManagerEvent/GTMClickEvents.js.map +1 -1
  12. package/lib/GoogleTagManagerEvent/GTMEvent.js +25 -33
  13. package/lib/GoogleTagManagerEvent/GTMEvent.js.map +1 -1
  14. package/lib/GoogleTagManagerEvent/GTMEventFactory.js +51 -60
  15. package/lib/GoogleTagManagerEvent/GTMEventFactory.js.map +1 -1
  16. package/lib/GoogleTagManagerEvent/GTMEventRender.js +54 -71
  17. package/lib/GoogleTagManagerEvent/GTMEventRender.js.map +1 -1
  18. package/lib/GoogleTagManagerEvent/GTMEventSwitch.js +20 -18
  19. package/lib/GoogleTagManagerEvent/GTMEventSwitch.js.map +1 -1
  20. package/lib/GoogleTagManagerEvent/index.js +2 -3
  21. package/lib/GoogleTagManagerEvent/index.js.map +1 -1
  22. package/lib/constants.js +12 -13
  23. package/lib/constants.js.map +1 -1
  24. package/lib/helpers/build-and-push-web-vitals.js +10 -11
  25. package/lib/helpers/build-and-push-web-vitals.js.map +1 -1
  26. package/lib/helpers/build-data-layer.js +20 -48
  27. package/lib/helpers/build-data-layer.js.map +1 -1
  28. package/lib/helpers/build-nested-event.js +54 -38
  29. package/lib/helpers/build-nested-event.js.map +1 -1
  30. package/lib/helpers/build-props-to-display-array.js +4 -11
  31. package/lib/helpers/build-props-to-display-array.js.map +1 -1
  32. package/lib/helpers/build-user-layer.js +22 -32
  33. package/lib/helpers/build-user-layer.js.map +1 -1
  34. package/lib/helpers/build-user-query-props.js +13 -27
  35. package/lib/helpers/build-user-query-props.js.map +1 -1
  36. package/lib/helpers/filter-gtm-events.js +8 -12
  37. package/lib/helpers/filter-gtm-events.js.map +1 -1
  38. package/lib/helpers/get-ids-to-use.js +6 -10
  39. package/lib/helpers/get-ids-to-use.js.map +1 -1
  40. package/lib/helpers/get-render-props.js +21 -17
  41. package/lib/helpers/get-render-props.js.map +1 -1
  42. package/lib/helpers/index.js +20 -21
  43. package/lib/helpers/index.js.map +1 -1
  44. package/lib/helpers/push-to-data-layer.js +4 -5
  45. package/lib/helpers/push-to-data-layer.js.map +1 -1
  46. package/lib/helpers/reset-data-layer.js +10 -23
  47. package/lib/helpers/reset-data-layer.js.map +1 -1
  48. package/lib/index.js +18 -51
  49. package/lib/index.js.map +1 -1
  50. package/lib-es/GoogleTagManager/GTMRender.js +4 -10
  51. package/lib-es/GoogleTagManager/GTMRender.js.map +1 -1
  52. package/lib-es/GoogleTagManagerEvent/GTMClickEvent.js +2 -2
  53. package/lib-es/GoogleTagManagerEvent/GTMClickEvent.js.map +1 -1
  54. package/lib-es/GoogleTagManagerEvent/GTMEvent.js +6 -3
  55. package/lib-es/GoogleTagManagerEvent/GTMEvent.js.map +1 -1
  56. package/lib-es/GoogleTagManagerEvent/GTMEventRender.js +4 -10
  57. package/lib-es/GoogleTagManagerEvent/GTMEventRender.js.map +1 -1
  58. package/package.json +14 -11
  59. package/src/GoogleTagManager/GTMRender.js +4 -6
  60. package/src/GoogleTagManagerEvent/GTMClickEvent.js +3 -2
  61. package/src/GoogleTagManagerEvent/GTMEvent.js +6 -2
  62. package/src/GoogleTagManagerEvent/GTMEventRender.js +4 -6
  63. package/babel.config.js +0 -3
  64. package/jest.config.js +0 -3
@@ -1 +1 @@
1
- {"version":3,"file":"GTMClickEvent.js","names":["React","PropTypes","useQuery","checkIfLoggedIn","getUser","GTMEvent","buildDataLayer","buildNestedEvent","buildUserQueryProps","buildUserLayer","GTMClickEvent","event","componentProps","parentComponent","eventTrigger","propsToDisplay","userPropsToDisplay","eventEcommerce","id","userId","userProps","data","userData","loading","variables","skip","dataLayerProps","dataLayerObject","userLayerObject","extendedDataLayer","_objectSpread","createElement","propTypes","object","isRequired","oneOfType","array","defaultProps"],"sources":["../../src/GoogleTagManagerEvent/GTMClickEvent.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { useQuery } from '@apollo/client';\nimport { checkIfLoggedIn } from '@blaze-cms/core-auth-ui';\nimport { getUser } from '@blaze-cms/react-page-builder';\nimport GTMEvent from './GTMEvent';\nimport { buildDataLayer, buildNestedEvent, buildUserQueryProps, buildUserLayer } from '../helpers';\n\nconst GTMClickEvent = ({ event, componentProps, parentComponent }) => {\n const { eventTrigger, propsToDisplay, userPropsToDisplay, eventEcommerce } = event;\n const { id: userId } = checkIfLoggedIn();\n const userProps = userId ? buildUserQueryProps(userPropsToDisplay) : '';\n const { data: userData, loading } = useQuery(getUser(userProps), {\n variables: { id: userId },\n skip: !userId\n });\n if (loading) return null;\n const dataLayerProps = buildDataLayer(componentProps, propsToDisplay);\n const dataLayerObject = buildNestedEvent(eventEcommerce, event, dataLayerProps, parentComponent);\n const userLayerObject = buildUserLayer(userData, userPropsToDisplay);\n\n const extendedDataLayer = { ...dataLayerObject, ...userLayerObject };\n\n return <GTMEvent dataLayerObject={extendedDataLayer} eventTrigger={eventTrigger} />;\n};\n\nGTMClickEvent.propTypes = {\n event: PropTypes.object.isRequired,\n componentProps: PropTypes.oneOfType([PropTypes.object, PropTypes.array]),\n parentComponent: PropTypes.object\n};\n\nGTMClickEvent.defaultProps = {\n componentProps: {},\n parentComponent: {}\n};\n\nexport default GTMClickEvent;\n"],"mappings":";;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,QAAQ,QAAQ,gBAAgB;AACzC,SAASC,eAAe,QAAQ,yBAAyB;AACzD,SAASC,OAAO,QAAQ,+BAA+B;AACvD,OAAOC,QAAQ,MAAM,YAAY;AACjC,SAASC,cAAc,EAAEC,gBAAgB,EAAEC,mBAAmB,EAAEC,cAAc,QAAQ,YAAY;AAElG,MAAMC,aAAa,GAAGA,CAAC;EAAEC,KAAK;EAAEC,cAAc;EAAEC;AAAgB,CAAC,KAAK;EACpE,MAAM;IAAEC,YAAY;IAAEC,cAAc;IAAEC,kBAAkB;IAAEC;EAAe,CAAC,GAAGN,KAAK;EAClF,MAAM;IAAEO,EAAE,EAAEC;EAAO,CAAC,GAAGhB,eAAe,CAAC,CAAC;EACxC,MAAMiB,SAAS,GAAGD,MAAM,GAAGX,mBAAmB,CAACQ,kBAAkB,CAAC,GAAG,EAAE;EACvE,MAAM;IAAEK,IAAI,EAAEC,QAAQ;IAAEC;EAAQ,CAAC,GAAGrB,QAAQ,CAACE,OAAO,CAACgB,SAAS,CAAC,EAAE;IAC/DI,SAAS,EAAE;MAAEN,EAAE,EAAEC;IAAO,CAAC;IACzBM,IAAI,EAAE,CAACN;EACT,CAAC,CAAC;EACF,IAAII,OAAO,EAAE,OAAO,IAAI;EACxB,MAAMG,cAAc,GAAGpB,cAAc,CAACM,cAAc,EAAEG,cAAc,CAAC;EACrE,MAAMY,eAAe,GAAGpB,gBAAgB,CAACU,cAAc,EAAEN,KAAK,EAAEe,cAAc,EAAEb,eAAe,CAAC;EAChG,MAAMe,eAAe,GAAGnB,cAAc,CAACa,QAAQ,EAAEN,kBAAkB,CAAC;EAEpE,MAAMa,iBAAiB,GAAAC,aAAA,CAAAA,aAAA,KAAQH,eAAe,GAAKC,eAAe,CAAE;EAEpE,oBAAO5B,KAAA,CAAA+B,aAAA,CAAC1B,QAAQ;IAACsB,eAAe,EAAEE,iBAAkB;IAACf,YAAY,EAAEA;EAAa,CAAE,CAAC;AACrF,CAAC;AAEDJ,aAAa,CAACsB,SAAS,GAAG;EACxBrB,KAAK,EAAEV,SAAS,CAACgC,MAAM,CAACC,UAAU;EAClCtB,cAAc,EAAEX,SAAS,CAACkC,SAAS,CAAC,CAAClC,SAAS,CAACgC,MAAM,EAAEhC,SAAS,CAACmC,KAAK,CAAC,CAAC;EACxEvB,eAAe,EAAEZ,SAAS,CAACgC;AAC7B,CAAC;AAEDvB,aAAa,CAAC2B,YAAY,GAAG;EAC3BzB,cAAc,EAAE,CAAC,CAAC;EAClBC,eAAe,EAAE,CAAC;AACpB,CAAC;AAED,eAAeH,aAAa","ignoreList":[]}
1
+ {"version":3,"file":"GTMClickEvent.js","names":["React","PropTypes","useQuery","checkIfLoggedIn","getCurrentUser","GTMEvent","buildDataLayer","buildNestedEvent","buildUserQueryProps","buildUserLayer","GTMClickEvent","event","componentProps","parentComponent","eventTrigger","propsToDisplay","userPropsToDisplay","eventEcommerce","id","userId","userProps","data","userData","loading","variables","skip","dataLayerProps","dataLayerObject","userLayerObject","extendedDataLayer","_objectSpread","createElement","propTypes","object","isRequired","oneOfType","array","defaultProps"],"sources":["../../src/GoogleTagManagerEvent/GTMClickEvent.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { useQuery } from '@apollo/client';\nimport { checkIfLoggedIn } from '@blaze-cms/core-auth-ui';\nimport { getCurrentUser } from '@blaze-cms/react-page-builder';\n\nimport GTMEvent from './GTMEvent';\nimport { buildDataLayer, buildNestedEvent, buildUserQueryProps, buildUserLayer } from '../helpers';\n\nconst GTMClickEvent = ({ event, componentProps, parentComponent }) => {\n const { eventTrigger, propsToDisplay, userPropsToDisplay, eventEcommerce } = event;\n const { id: userId } = checkIfLoggedIn();\n const userProps = userId ? buildUserQueryProps(userPropsToDisplay) : '';\n const { data: userData, loading } = useQuery(getCurrentUser(userProps), {\n variables: { id: userId },\n skip: !userId\n });\n if (loading) return null;\n const dataLayerProps = buildDataLayer(componentProps, propsToDisplay);\n const dataLayerObject = buildNestedEvent(eventEcommerce, event, dataLayerProps, parentComponent);\n const userLayerObject = buildUserLayer(userData, userPropsToDisplay);\n\n const extendedDataLayer = { ...dataLayerObject, ...userLayerObject };\n\n return <GTMEvent dataLayerObject={extendedDataLayer} eventTrigger={eventTrigger} />;\n};\n\nGTMClickEvent.propTypes = {\n event: PropTypes.object.isRequired,\n componentProps: PropTypes.oneOfType([PropTypes.object, PropTypes.array]),\n parentComponent: PropTypes.object\n};\n\nGTMClickEvent.defaultProps = {\n componentProps: {},\n parentComponent: {}\n};\n\nexport default GTMClickEvent;\n"],"mappings":";;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,QAAQ,QAAQ,gBAAgB;AACzC,SAASC,eAAe,QAAQ,yBAAyB;AACzD,SAASC,cAAc,QAAQ,+BAA+B;AAE9D,OAAOC,QAAQ,MAAM,YAAY;AACjC,SAASC,cAAc,EAAEC,gBAAgB,EAAEC,mBAAmB,EAAEC,cAAc,QAAQ,YAAY;AAElG,MAAMC,aAAa,GAAGA,CAAC;EAAEC,KAAK;EAAEC,cAAc;EAAEC;AAAgB,CAAC,KAAK;EACpE,MAAM;IAAEC,YAAY;IAAEC,cAAc;IAAEC,kBAAkB;IAAEC;EAAe,CAAC,GAAGN,KAAK;EAClF,MAAM;IAAEO,EAAE,EAAEC;EAAO,CAAC,GAAGhB,eAAe,CAAC,CAAC;EACxC,MAAMiB,SAAS,GAAGD,MAAM,GAAGX,mBAAmB,CAACQ,kBAAkB,CAAC,GAAG,EAAE;EACvE,MAAM;IAAEK,IAAI,EAAEC,QAAQ;IAAEC;EAAQ,CAAC,GAAGrB,QAAQ,CAACE,cAAc,CAACgB,SAAS,CAAC,EAAE;IACtEI,SAAS,EAAE;MAAEN,EAAE,EAAEC;IAAO,CAAC;IACzBM,IAAI,EAAE,CAACN;EACT,CAAC,CAAC;EACF,IAAII,OAAO,EAAE,OAAO,IAAI;EACxB,MAAMG,cAAc,GAAGpB,cAAc,CAACM,cAAc,EAAEG,cAAc,CAAC;EACrE,MAAMY,eAAe,GAAGpB,gBAAgB,CAACU,cAAc,EAAEN,KAAK,EAAEe,cAAc,EAAEb,eAAe,CAAC;EAChG,MAAMe,eAAe,GAAGnB,cAAc,CAACa,QAAQ,EAAEN,kBAAkB,CAAC;EAEpE,MAAMa,iBAAiB,GAAAC,aAAA,CAAAA,aAAA,KAAQH,eAAe,GAAKC,eAAe,CAAE;EAEpE,oBAAO5B,KAAA,CAAA+B,aAAA,CAAC1B,QAAQ;IAACsB,eAAe,EAAEE,iBAAkB;IAACf,YAAY,EAAEA;EAAa,CAAE,CAAC;AACrF,CAAC;AAEDJ,aAAa,CAACsB,SAAS,GAAG;EACxBrB,KAAK,EAAEV,SAAS,CAACgC,MAAM,CAACC,UAAU;EAClCtB,cAAc,EAAEX,SAAS,CAACkC,SAAS,CAAC,CAAClC,SAAS,CAACgC,MAAM,EAAEhC,SAAS,CAACmC,KAAK,CAAC,CAAC;EACxEvB,eAAe,EAAEZ,SAAS,CAACgC;AAC7B,CAAC;AAEDvB,aAAa,CAAC2B,YAAY,GAAG;EAC3BzB,cAAc,EAAE,CAAC,CAAC;EAClBC,eAAe,EAAE,CAAC;AACpB,CAAC;AAED,eAAeH,aAAa","ignoreList":[]}
@@ -20,10 +20,13 @@ const GTMEvent = ({
20
20
  setShouldPushLayer(false);
21
21
  if (isOnSuccess) handleOnSuccess();
22
22
  };
23
- if (!isViewEvent && shouldPushLayer) pushDataLayer();
24
- return /*#__PURE__*/React.createElement(React.Fragment, null, isViewEvent && shouldPushLayer && /*#__PURE__*/React.createElement(Waypoint, {
23
+ if (!isViewEvent && shouldPushLayer) {
24
+ pushDataLayer();
25
+ return null;
26
+ }
27
+ return isViewEvent && shouldPushLayer ? /*#__PURE__*/React.createElement(Waypoint, {
25
28
  onEnter: pushDataLayer
26
- }));
29
+ }) : null;
27
30
  };
28
31
  GTMEvent.propTypes = {
29
32
  handleOnSuccess: PropTypes.func.isRequired,
@@ -1 +1 @@
1
- {"version":3,"file":"GTMEvent.js","names":["React","useState","useEffect","PropTypes","Waypoint","pushToDataLayer","IN_VIEW","ON_SUCCESS","GTMEvent","dataLayerObject","eventTrigger","currentLocation","handleOnSuccess","shouldPushLayer","setShouldPushLayer","isViewEvent","isOnSuccess","pushDataLayer","createElement","Fragment","onEnter","propTypes","func","isRequired","object","string"],"sources":["../../src/GoogleTagManagerEvent/GTMEvent.js"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { Waypoint } from 'react-waypoint';\nimport { pushToDataLayer } from '../helpers';\nimport { IN_VIEW, ON_SUCCESS } from '../constants';\n\nconst GTMEvent = ({ dataLayerObject, eventTrigger, currentLocation, handleOnSuccess }) => {\n const [shouldPushLayer, setShouldPushLayer] = useState(false);\n const isViewEvent = eventTrigger === IN_VIEW;\n const isOnSuccess = eventTrigger === ON_SUCCESS && !!handleOnSuccess;\n\n useEffect(() => {\n setShouldPushLayer(true);\n }, [currentLocation]);\n const pushDataLayer = () => {\n pushToDataLayer(dataLayerObject);\n setShouldPushLayer(false);\n if (isOnSuccess) handleOnSuccess();\n };\n\n if (!isViewEvent && shouldPushLayer) pushDataLayer();\n\n return <>{isViewEvent && shouldPushLayer && <Waypoint onEnter={pushDataLayer} />}</>;\n};\n\nGTMEvent.propTypes = {\n handleOnSuccess: PropTypes.func.isRequired,\n dataLayerObject: PropTypes.object.isRequired,\n eventTrigger: PropTypes.string.isRequired,\n currentLocation: PropTypes.string.isRequired\n};\n\nexport default GTMEvent;\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,QAAQ,EAAEC,SAAS,QAAQ,OAAO;AAClD,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,QAAQ,QAAQ,gBAAgB;AACzC,SAASC,eAAe,QAAQ,YAAY;AAC5C,SAASC,OAAO,EAAEC,UAAU,QAAQ,cAAc;AAElD,MAAMC,QAAQ,GAAGA,CAAC;EAAEC,eAAe;EAAEC,YAAY;EAAEC,eAAe;EAAEC;AAAgB,CAAC,KAAK;EACxF,MAAM,CAACC,eAAe,EAAEC,kBAAkB,CAAC,GAAGb,QAAQ,CAAC,KAAK,CAAC;EAC7D,MAAMc,WAAW,GAAGL,YAAY,KAAKJ,OAAO;EAC5C,MAAMU,WAAW,GAAGN,YAAY,KAAKH,UAAU,IAAI,CAAC,CAACK,eAAe;EAEpEV,SAAS,CAAC,MAAM;IACdY,kBAAkB,CAAC,IAAI,CAAC;EAC1B,CAAC,EAAE,CAACH,eAAe,CAAC,CAAC;EACrB,MAAMM,aAAa,GAAGA,CAAA,KAAM;IAC1BZ,eAAe,CAACI,eAAe,CAAC;IAChCK,kBAAkB,CAAC,KAAK,CAAC;IACzB,IAAIE,WAAW,EAAEJ,eAAe,CAAC,CAAC;EACpC,CAAC;EAED,IAAI,CAACG,WAAW,IAAIF,eAAe,EAAEI,aAAa,CAAC,CAAC;EAEpD,oBAAOjB,KAAA,CAAAkB,aAAA,CAAAlB,KAAA,CAAAmB,QAAA,QAAGJ,WAAW,IAAIF,eAAe,iBAAIb,KAAA,CAAAkB,aAAA,CAACd,QAAQ;IAACgB,OAAO,EAAEH;EAAc,CAAE,CAAI,CAAC;AACtF,CAAC;AAEDT,QAAQ,CAACa,SAAS,GAAG;EACnBT,eAAe,EAAET,SAAS,CAACmB,IAAI,CAACC,UAAU;EAC1Cd,eAAe,EAAEN,SAAS,CAACqB,MAAM,CAACD,UAAU;EAC5Cb,YAAY,EAAEP,SAAS,CAACsB,MAAM,CAACF,UAAU;EACzCZ,eAAe,EAAER,SAAS,CAACsB,MAAM,CAACF;AACpC,CAAC;AAED,eAAef,QAAQ","ignoreList":[]}
1
+ {"version":3,"file":"GTMEvent.js","names":["React","useState","useEffect","PropTypes","Waypoint","pushToDataLayer","IN_VIEW","ON_SUCCESS","GTMEvent","dataLayerObject","eventTrigger","currentLocation","handleOnSuccess","shouldPushLayer","setShouldPushLayer","isViewEvent","isOnSuccess","pushDataLayer","createElement","onEnter","propTypes","func","isRequired","object","string"],"sources":["../../src/GoogleTagManagerEvent/GTMEvent.js"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { Waypoint } from 'react-waypoint';\nimport { pushToDataLayer } from '../helpers';\nimport { IN_VIEW, ON_SUCCESS } from '../constants';\n\nconst GTMEvent = ({ dataLayerObject, eventTrigger, currentLocation, handleOnSuccess }) => {\n const [shouldPushLayer, setShouldPushLayer] = useState(false);\n const isViewEvent = eventTrigger === IN_VIEW;\n const isOnSuccess = eventTrigger === ON_SUCCESS && !!handleOnSuccess;\n\n useEffect(() => {\n setShouldPushLayer(true);\n }, [currentLocation]);\n\n const pushDataLayer = () => {\n pushToDataLayer(dataLayerObject);\n setShouldPushLayer(false);\n if (isOnSuccess) handleOnSuccess();\n };\n\n if (!isViewEvent && shouldPushLayer) {\n pushDataLayer();\n return null;\n }\n\n return isViewEvent && shouldPushLayer ? <Waypoint onEnter={pushDataLayer} /> : null;\n};\n\nGTMEvent.propTypes = {\n handleOnSuccess: PropTypes.func.isRequired,\n dataLayerObject: PropTypes.object.isRequired,\n eventTrigger: PropTypes.string.isRequired,\n currentLocation: PropTypes.string.isRequired\n};\n\nexport default GTMEvent;\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,QAAQ,EAAEC,SAAS,QAAQ,OAAO;AAClD,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,QAAQ,QAAQ,gBAAgB;AACzC,SAASC,eAAe,QAAQ,YAAY;AAC5C,SAASC,OAAO,EAAEC,UAAU,QAAQ,cAAc;AAElD,MAAMC,QAAQ,GAAGA,CAAC;EAAEC,eAAe;EAAEC,YAAY;EAAEC,eAAe;EAAEC;AAAgB,CAAC,KAAK;EACxF,MAAM,CAACC,eAAe,EAAEC,kBAAkB,CAAC,GAAGb,QAAQ,CAAC,KAAK,CAAC;EAC7D,MAAMc,WAAW,GAAGL,YAAY,KAAKJ,OAAO;EAC5C,MAAMU,WAAW,GAAGN,YAAY,KAAKH,UAAU,IAAI,CAAC,CAACK,eAAe;EAEpEV,SAAS,CAAC,MAAM;IACdY,kBAAkB,CAAC,IAAI,CAAC;EAC1B,CAAC,EAAE,CAACH,eAAe,CAAC,CAAC;EAErB,MAAMM,aAAa,GAAGA,CAAA,KAAM;IAC1BZ,eAAe,CAACI,eAAe,CAAC;IAChCK,kBAAkB,CAAC,KAAK,CAAC;IACzB,IAAIE,WAAW,EAAEJ,eAAe,CAAC,CAAC;EACpC,CAAC;EAED,IAAI,CAACG,WAAW,IAAIF,eAAe,EAAE;IACnCI,aAAa,CAAC,CAAC;IACf,OAAO,IAAI;EACb;EAEA,OAAOF,WAAW,IAAIF,eAAe,gBAAGb,KAAA,CAAAkB,aAAA,CAACd,QAAQ;IAACe,OAAO,EAAEF;EAAc,CAAE,CAAC,GAAG,IAAI;AACrF,CAAC;AAEDT,QAAQ,CAACY,SAAS,GAAG;EACnBR,eAAe,EAAET,SAAS,CAACkB,IAAI,CAACC,UAAU;EAC1Cb,eAAe,EAAEN,SAAS,CAACoB,MAAM,CAACD,UAAU;EAC5CZ,YAAY,EAAEP,SAAS,CAACqB,MAAM,CAACF,UAAU;EACzCX,eAAe,EAAER,SAAS,CAACqB,MAAM,CAACF;AACpC,CAAC;AAED,eAAed,QAAQ","ignoreList":[]}
@@ -6,8 +6,7 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
6
6
  import React, { useState } from 'react';
7
7
  import PropTypes from 'prop-types';
8
8
  import { useQuery } from '@apollo/client';
9
- import { checkIfLoggedIn } from '@blaze-cms/core-auth-ui';
10
- import { getUser } from '@blaze-cms/react-page-builder';
9
+ import { getCurrentUser } from '@blaze-cms/react-page-builder';
11
10
  import { withRouter } from 'next/router';
12
11
  import GTMEvent from './GTMEvent';
13
12
  import { buildDataLayer, buildNestedEvent, buildUserQueryProps, buildUserLayer } from '../helpers';
@@ -31,18 +30,13 @@ const GTMEventRender = _ref => {
31
30
  error,
32
31
  loading
33
32
  } = useQuery(action, queryVariables);
34
- const {
35
- id: userId
36
- } = checkIfLoggedIn();
37
- const hasUserProps = userId && userPropsToDisplay && userPropsToDisplay.length;
33
+ const hasUserProps = userPropsToDisplay && userPropsToDisplay.length;
38
34
  const userProps = hasUserProps ? buildUserQueryProps(userPropsToDisplay) : '';
39
35
  const {
40
36
  data: userData,
41
37
  loading: userLoading
42
- } = useQuery(getUser(userProps), {
43
- variables: {
44
- id: userId
45
- },
38
+ } = useQuery(getCurrentUser(userProps), {
39
+ variables: {},
46
40
  skip: !hasUserProps
47
41
  });
48
42
  if (loading || userLoading || error) return null;
@@ -1 +1 @@
1
- {"version":3,"file":"GTMEventRender.js","names":["React","useState","PropTypes","useQuery","checkIfLoggedIn","getUser","withRouter","GTMEvent","buildDataLayer","buildNestedEvent","buildUserQueryProps","buildUserLayer","GTMEventRender","_ref","router","action","actionKey","queryVariables","parentComponent","userPropsToDisplay","handleOnSuccess","eventProps","_objectWithoutProperties","_excluded","asPath","currentLocation","setCurrentLocation","data","error","loading","id","userId","hasUserProps","length","userProps","userData","userLoading","variables","skip","gtmData","entityData","eventTrigger","propsToDisplay","eventEcommerce","dataLayerProps","dataLayerObject","userLayerObject","extendedDataLayer","_objectSpread","createElement","propTypes","array","object","isRequired","string","func","defaultProps"],"sources":["../../src/GoogleTagManagerEvent/GTMEventRender.js"],"sourcesContent":["import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { useQuery } from '@apollo/client';\nimport { checkIfLoggedIn } from '@blaze-cms/core-auth-ui';\nimport { getUser } from '@blaze-cms/react-page-builder';\nimport { withRouter } from 'next/router';\nimport GTMEvent from './GTMEvent';\nimport { buildDataLayer, buildNestedEvent, buildUserQueryProps, buildUserLayer } from '../helpers';\n\nconst GTMEventRender = ({\n router,\n action,\n actionKey,\n queryVariables,\n parentComponent,\n userPropsToDisplay,\n handleOnSuccess,\n ...eventProps\n}) => {\n const { asPath } = router;\n const [currentLocation, setCurrentLocation] = useState('');\n const { data = {}, error, loading } = useQuery(action, queryVariables);\n const { id: userId } = checkIfLoggedIn();\n const hasUserProps = userId && userPropsToDisplay && userPropsToDisplay.length;\n const userProps = hasUserProps ? buildUserQueryProps(userPropsToDisplay) : '';\n const { data: userData, loading: userLoading } = useQuery(getUser(userProps), {\n variables: { id: userId },\n skip: !hasUserProps\n });\n\n if (loading || userLoading || error) return null;\n const gtmData = data.entityData || data[actionKey];\n\n if (currentLocation !== asPath) {\n setCurrentLocation(asPath);\n return null;\n }\n\n const { eventTrigger, propsToDisplay, eventEcommerce } = eventProps;\n const dataLayerProps = buildDataLayer(gtmData, propsToDisplay);\n\n const dataLayerObject = buildNestedEvent(\n eventEcommerce,\n eventProps,\n dataLayerProps,\n parentComponent\n );\n const userLayerObject = buildUserLayer(userData, userPropsToDisplay);\n const extendedDataLayer = { ...dataLayerObject, ...userLayerObject };\n\n return (\n <GTMEvent\n dataLayerObject={extendedDataLayer}\n eventTrigger={eventTrigger}\n currentLocation={currentLocation}\n handleOnSuccess={handleOnSuccess}\n />\n );\n};\n\nGTMEventRender.propTypes = {\n userPropsToDisplay: PropTypes.array,\n router: PropTypes.object.isRequired,\n action: PropTypes.object.isRequired,\n actionKey: PropTypes.string.isRequired,\n queryVariables: PropTypes.object.isRequired,\n parentComponent: PropTypes.object.isRequired,\n handleOnSuccess: PropTypes.func\n};\n\nGTMEventRender.defaultProps = {\n userPropsToDisplay: [],\n handleOnSuccess: () => {}\n};\n\nGTMEventRender.defaultProps = {\n userPropsToDisplay: []\n};\n\nexport default withRouter(GTMEventRender);\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"GTMEventRender.js","names":["React","useState","PropTypes","useQuery","getCurrentUser","withRouter","GTMEvent","buildDataLayer","buildNestedEvent","buildUserQueryProps","buildUserLayer","GTMEventRender","_ref","router","action","actionKey","queryVariables","parentComponent","userPropsToDisplay","handleOnSuccess","eventProps","_objectWithoutProperties","_excluded","asPath","currentLocation","setCurrentLocation","data","error","loading","hasUserProps","length","userProps","userData","userLoading","variables","skip","gtmData","entityData","eventTrigger","propsToDisplay","eventEcommerce","dataLayerProps","dataLayerObject","userLayerObject","extendedDataLayer","_objectSpread","createElement","propTypes","array","object","isRequired","string","func","defaultProps"],"sources":["../../src/GoogleTagManagerEvent/GTMEventRender.js"],"sourcesContent":["import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { useQuery } from '@apollo/client';\nimport { getCurrentUser } from '@blaze-cms/react-page-builder';\nimport { withRouter } from 'next/router';\nimport GTMEvent from './GTMEvent';\nimport { buildDataLayer, buildNestedEvent, buildUserQueryProps, buildUserLayer } from '../helpers';\n\nconst GTMEventRender = ({\n router,\n action,\n actionKey,\n queryVariables,\n parentComponent,\n userPropsToDisplay,\n handleOnSuccess,\n ...eventProps\n}) => {\n const { asPath } = router;\n const [currentLocation, setCurrentLocation] = useState('');\n const { data = {}, error, loading } = useQuery(action, queryVariables);\n const hasUserProps = userPropsToDisplay && userPropsToDisplay.length;\n const userProps = hasUserProps ? buildUserQueryProps(userPropsToDisplay) : '';\n const { data: userData, loading: userLoading } = useQuery(getCurrentUser(userProps), {\n variables: {},\n skip: !hasUserProps\n });\n\n if (loading || userLoading || error) return null;\n const gtmData = data.entityData || data[actionKey];\n\n if (currentLocation !== asPath) {\n setCurrentLocation(asPath);\n return null;\n }\n\n const { eventTrigger, propsToDisplay, eventEcommerce } = eventProps;\n const dataLayerProps = buildDataLayer(gtmData, propsToDisplay);\n\n const dataLayerObject = buildNestedEvent(\n eventEcommerce,\n eventProps,\n dataLayerProps,\n parentComponent\n );\n const userLayerObject = buildUserLayer(userData, userPropsToDisplay);\n const extendedDataLayer = { ...dataLayerObject, ...userLayerObject };\n\n return (\n <GTMEvent\n dataLayerObject={extendedDataLayer}\n eventTrigger={eventTrigger}\n currentLocation={currentLocation}\n handleOnSuccess={handleOnSuccess}\n />\n );\n};\n\nGTMEventRender.propTypes = {\n userPropsToDisplay: PropTypes.array,\n router: PropTypes.object.isRequired,\n action: PropTypes.object.isRequired,\n actionKey: PropTypes.string.isRequired,\n queryVariables: PropTypes.object.isRequired,\n parentComponent: PropTypes.object.isRequired,\n handleOnSuccess: PropTypes.func\n};\n\nGTMEventRender.defaultProps = {\n userPropsToDisplay: [],\n handleOnSuccess: () => {}\n};\n\nGTMEventRender.defaultProps = {\n userPropsToDisplay: []\n};\n\nexport default withRouter(GTMEventRender);\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,10 +1,15 @@
1
1
  {
2
2
  "name": "@blaze-cms/plugin-gtm-fe",
3
- "version": "0.146.0-node18.1",
3
+ "version": "0.146.0-rc-eagle-3.0",
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
  },
@@ -27,23 +32,21 @@
27
32
  },
28
33
  "license": "GPL-3.0",
29
34
  "dependencies": {
30
- "@blaze-cms/core-auth-ui": "0.146.0-node18.0",
31
- "@blaze-cms/nextjs-components": "0.146.0-node18.0",
32
- "@blaze-cms/react-page-builder": "0.146.0-node18.1",
33
- "@blaze-cms/setup-ui": "0.146.0-node18.0",
34
- "core-js": "^3.2.1",
35
- "regenerator-runtime": "^0.13.3",
35
+ "@blaze-cms/core-auth-ui": "0.146.0-rc-eagle-3.0",
36
+ "@blaze-cms/nextjs-components": "0.146.0-rc-eagle-3.0",
37
+ "@blaze-cms/react-page-builder": "0.146.0-rc-eagle-3.0",
38
+ "@blaze-cms/setup-ui": "0.146.0-rc-eagle-3.0",
36
39
  "web-vitals": "^0.2.2"
37
40
  },
38
41
  "devDependencies": {
39
- "@blaze-cms/core-ui": "0.146.0-node18.1"
42
+ "@blaze-cms/core-ui": "0.146.0-rc-eagle-3.0"
40
43
  },
41
44
  "peerDependencies": {
42
- "next": "14.1.0"
45
+ "next": ">= 14"
43
46
  },
44
47
  "eslintIgnore": [
45
48
  "lib/*",
46
49
  "lib-es/*"
47
50
  ],
48
- "gitHead": "1b5ba49d185e912846cec402d39a44ef2623ca1c"
51
+ "gitHead": "eeb5c91d33bae79f7605ffa99d8cbf430840e27a"
49
52
  }
@@ -2,8 +2,7 @@ import { useState } from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import { useQuery } from '@apollo/client';
4
4
  import { withRouter } from 'next/router';
5
- import { getUser } from '@blaze-cms/react-page-builder';
6
- import { checkIfLoggedIn } from '@blaze-cms/core-auth-ui';
5
+ import { getCurrentUser } from '@blaze-cms/react-page-builder';
7
6
  import {
8
7
  buildDataLayer,
9
8
  buildAndPushWebVitals,
@@ -19,11 +18,10 @@ const GTMRender = ({ router, action, propsToDisplay, parentId, webVitals, userPr
19
18
  const { data, error, loading } = useQuery(action, {
20
19
  variables: { id: parentId }
21
20
  });
22
- const { id: userId } = checkIfLoggedIn();
23
- const hasUserProps = userId && userPropsToDisplay && userPropsToDisplay.length;
21
+ const hasUserProps = userPropsToDisplay && userPropsToDisplay.length;
24
22
  const userProps = hasUserProps ? buildUserQueryProps(userPropsToDisplay) : '';
25
- const { data: userData, loading: userLoading } = useQuery(getUser(userProps), {
26
- variables: { id: userId },
23
+ const { data: userData, loading: userLoading } = useQuery(getCurrentUser(userProps), {
24
+ variables: {},
27
25
  skip: !hasUserProps
28
26
  });
29
27
 
@@ -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 { getUser } 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(getUser(userProps), {
14
+ const { data: userData, loading } = useQuery(getCurrentUser(userProps), {
14
15
  variables: { id: userId },
15
16
  skip: !userId
16
17
  });
@@ -12,15 +12,19 @@ const GTMEvent = ({ dataLayerObject, eventTrigger, currentLocation, handleOnSucc
12
12
  useEffect(() => {
13
13
  setShouldPushLayer(true);
14
14
  }, [currentLocation]);
15
+
15
16
  const pushDataLayer = () => {
16
17
  pushToDataLayer(dataLayerObject);
17
18
  setShouldPushLayer(false);
18
19
  if (isOnSuccess) handleOnSuccess();
19
20
  };
20
21
 
21
- if (!isViewEvent && shouldPushLayer) pushDataLayer();
22
+ if (!isViewEvent && shouldPushLayer) {
23
+ pushDataLayer();
24
+ return null;
25
+ }
22
26
 
23
- return <>{isViewEvent && shouldPushLayer && <Waypoint onEnter={pushDataLayer} />}</>;
27
+ return isViewEvent && shouldPushLayer ? <Waypoint onEnter={pushDataLayer} /> : null;
24
28
  };
25
29
 
26
30
  GTMEvent.propTypes = {
@@ -1,8 +1,7 @@
1
1
  import React, { useState } from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import { useQuery } from '@apollo/client';
4
- import { checkIfLoggedIn } from '@blaze-cms/core-auth-ui';
5
- import { getUser } from '@blaze-cms/react-page-builder';
4
+ import { getCurrentUser } from '@blaze-cms/react-page-builder';
6
5
  import { withRouter } from 'next/router';
7
6
  import GTMEvent from './GTMEvent';
8
7
  import { buildDataLayer, buildNestedEvent, buildUserQueryProps, buildUserLayer } from '../helpers';
@@ -20,11 +19,10 @@ const GTMEventRender = ({
20
19
  const { asPath } = router;
21
20
  const [currentLocation, setCurrentLocation] = useState('');
22
21
  const { data = {}, error, loading } = useQuery(action, queryVariables);
23
- const { id: userId } = checkIfLoggedIn();
24
- const hasUserProps = userId && userPropsToDisplay && userPropsToDisplay.length;
22
+ const hasUserProps = userPropsToDisplay && userPropsToDisplay.length;
25
23
  const userProps = hasUserProps ? buildUserQueryProps(userPropsToDisplay) : '';
26
- const { data: userData, loading: userLoading } = useQuery(getUser(userProps), {
27
- variables: { id: userId },
24
+ const { data: userData, loading: userLoading } = useQuery(getCurrentUser(userProps), {
25
+ variables: {},
28
26
  skip: !hasUserProps
29
27
  });
30
28
 
package/babel.config.js DELETED
@@ -1,3 +0,0 @@
1
- const babelConfig = require('@blaze-cms/setup-ui/babel/babel.config');
2
-
3
- module.exports = babelConfig;
package/jest.config.js DELETED
@@ -1,3 +0,0 @@
1
- const buildConfig = require('@blaze-cms/tools/jest/react-build-config');
2
-
3
- module.exports = buildConfig(__dirname);