{"version":3,"file":"js/trackingGtm-c856b6d4ad9232b140a6.chunk.js","mappings":"wKAIO,MAAMA,EAAoB,CAC/BC,MAAO,CACLC,eAAgB,CACdC,KAAMC,QACNC,UAAU,EACVC,SAAS,IAIbC,OAAAA,GACE,IAAIC,SAASC,IACNC,KAAKR,gBAA8D,QAA5CS,EAAAA,EAAQC,IAAIC,EAAAA,KACtCJ,GAAQ,GAEVK,SAASC,iBAAiBF,EAAAA,IAA4B,KACpDJ,GAAQ,EAAK,GACb,IACDO,KAAKN,KAAKO,UACf,EAEAC,MAAAA,GAEE,OAAOC,EAAAA,EAAAA,GAAE,GACX,E,wBC3Ba,SAASC,EAAWC,GACjC,MAAMC,EAAYR,SAASS,cAAc,UACzCD,EAAUnB,KAAO,kBACjBmB,EAAUE,OAAQ,EAClBF,EAAUG,IAAMJ,EAChB,MAAMK,EAAsBZ,SAASa,qBAAqB,UAAU,GACpED,EAAoBE,WAAWC,aAAaP,EAAWI,EACzD,C,8HCFA,MCDA,CACEI,OAAQ,CAAC9B,EAAAA,GAETC,MAAO,CACL8B,YAAa,CACX5B,KAAM6B,OACN3B,UAAU,IAId4B,QAAS,CACPhB,SAAAA,GACEiB,OAAOC,UAAUC,KAAK,CAAC,aAAa,IAAIC,MAAOC,UAAWC,MAAM,YAChEnB,EAAAA,EAAAA,GAAW,8CAA8CV,KAAKqB,cAChE,G","sources":["webpack://agra/./app/javascript/components/tracking/check-consent-mixin.js","webpack://agra/./app/javascript/components/tracking/load-script.js","webpack://agra/./app/javascript/components/tracking/tracking-gtm.vue?8869","webpack://agra/./app/javascript/components/tracking/tracking-gtm.vue"],"sourcesContent":["import Cookies from 'js-cookie'\nimport { COOKIE_NAME_AGREED_COOKIES } from '@/constants'\nimport { h } from 'vue'\n\nexport const checkConsentMixin = {\n  props: {\n    requireConsent: {\n      type: Boolean,\n      required: false,\n      default: true\n    }\n  },\n\n  created() {\n    new Promise((resolve) => {\n      if (!this.requireConsent || Cookies.get(COOKIE_NAME_AGREED_COOKIES) === 'all') {\n        resolve(true)\n      }\n      document.addEventListener(COOKIE_NAME_AGREED_COOKIES, () => {\n        resolve(true)\n      })\n    }).then(this.trackPage)\n  },\n\n  render() {\n    // render-less view function just returns an empty string.\n    return h('')\n  }\n}\n","export default function loadScript(scriptSrc) {\n  const scriptTag = document.createElement('script')\n  scriptTag.type = 'text/javascript'\n  scriptTag.async = true\n  scriptTag.src = scriptSrc\n  const insertBeforeElement = document.getElementsByTagName('script')[0]\n  insertBeforeElement.parentNode.insertBefore(scriptTag, insertBeforeElement)\n}\n","import script from \"./tracking-gtm.vue?vue&type=script&lang=js\"\nexport * from \"./tracking-gtm.vue?vue&type=script&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","<script>\nimport { checkConsentMixin } from './check-consent-mixin'\nimport loadScript from './load-script'\n\nexport default {\n  mixins: [checkConsentMixin],\n\n  props: {\n    containerId: {\n      type: String,\n      required: true\n    }\n  },\n\n  methods: {\n    trackPage() {\n      window.dataLayer.push({'gtm.start': new Date().getTime(), event:'gtm.js'})\n      loadScript(`https://www.googletagmanager.com/gtm.js?id=${this.containerId}`)\n    }\n  }\n}\n</script>\n"],"names":["checkConsentMixin","props","requireConsent","type","Boolean","required","default","created","Promise","resolve","this","Cookies","get","COOKIE_NAME_AGREED_COOKIES","document","addEventListener","then","trackPage","render","h","loadScript","scriptSrc","scriptTag","createElement","async","src","insertBeforeElement","getElementsByTagName","parentNode","insertBefore","mixins","containerId","String","methods","window","dataLayer","push","Date","getTime","event"],"sourceRoot":""}