{"version":3,"sources":["components/analytics/google-tag-manager/google-tag-manager.js"],"names":["GoogleTagManager","Component","constructor","el","consentTypes","JSON","parse","$el","dataset","registerEventListeners","EventBus","getInstance","addEventListener","e","sendPromotionClick","detail","name","id","onCookiesConsentStored","translateBoolToConsent","bool","ev","consents","forEach","t","consent","sendEvent","toArguments","event","arguments","location","ecommerce","window","dataLayer","push"],"mappings":"gMAAA,KAAMA,CAAAA,gBAAN,QAA+BC,CAAAA,SAAU,CAOrCC,WAAW,CAACC,EAAD,CAAK,CACZ,MAAMA,EAAN,EADY,oCAFD,EAEC,EAGZ,KAAKC,YAAL,CAAoBC,IAAI,CAACC,KAAL,CAAW,KAAKC,GAAL,CAASC,OAAT,CAAiBJ,YAA5B,CAApB,CACA,KAAKK,sBAAL,EACH,CAEDA,sBAAsB,EAAG,CACrBC,QAAQ,CAACC,WAAT,GAAuBC,gBAAvB,CAAwC,mBAAxC,CAA8DC,CAAD,EAAO,KAAKC,kBAAL,CAAwBD,CAAC,CAACE,MAAF,CAASC,IAAjC,CAAuCH,CAAC,CAACE,MAAF,CAASE,EAAhD,CAAoD,UAApD,CAApE,EACAP,QAAQ,CAACC,WAAT,GAAuBC,gBAAvB,CAAwC,sBAAxC,CAAiEC,CAAD,EAAO,KAAKK,sBAAL,CAA4BL,CAAC,CAACE,MAA9B,CAAvE,CACH,CAEDI,sBAAsB,CAACC,IAAD,CAAO,CACzB,MAAOA,CAAAA,IAAI,CAAG,SAAH,CAAe,QAC7B,CAKDF,sBAAsB,CAACG,EAAD,CAAK,CACvB,KAAMC,CAAAA,QAAQ,CAAG,EAAjB,CACA,KAAKlB,YAAL,CAAkBmB,OAAlB,CAA0BC,CAAC,EAAIF,QAAQ,CAACE,CAAC,CAACR,IAAH,CAAR,CAAmB,KAAKG,sBAAL,CAA4BK,CAAC,CAACP,EAAF,IAAUO,CAAC,CAACP,EAAF,CAAOI,EAAE,CAACI,OAApB,CAA5B,CAAlD,EACA,KAAKC,SAAL,CAAe,KAAKC,WAAL,CAAiB,SAAjB,CAA4B,QAA5B,CAAsCL,QAAtC,CAAf,EACA,KAAKI,SAAL,CAAe,CAACE,KAAK,CAAE,iBAAR,CAAf,CACH,CAEDD,WAAW,EAAG,CACV,MAAOE,CAAAA,SACV,CAEDf,kBAAkB,CAACE,IAAD,CAAOC,EAAP,CAAWa,QAAX,CAAqB,CACnC,KAAMF,CAAAA,KAAK,CAAG,CACV,QAAS,qBADC,CAEV,YAAa,CACT,aAAc,CACV,aAAc,CACV,CACI,KAAMX,EADV,CAEI,OAAQD,IAFZ,CAGI,WAAYc,QAHhB,CADU,CADJ,CADL,CAFH,CAAd,CAaA,KAAKJ,SAAL,CAAe,CAACK,SAAS,CAAE,IAAZ,CAAf,EACA,KAAKL,SAAL,CAAeE,KAAf,CACH,CAEDF,SAAS,CAACE,KAAD,CAAQ,CACbI,MAAM,CAACC,SAAP,CAAmBD,MAAM,CAACC,SAAP,EAAoB,EAAvC,CACAD,MAAM,CAACC,SAAP,CAAiBC,IAAjB,CAAsBN,KAAtB,CACH,CA1DoC","sourcesContent":["class GoogleTagManager extends Component {\n\n /**\n * @type {{id: number, name: string}[]}\n */\n consentTypes = []\n\n constructor(el) {\n super(el);\n\n this.consentTypes = JSON.parse(this.$el.dataset.consentTypes);\n this.registerEventListeners();\n }\n\n registerEventListeners() {\n EventBus.getInstance().addEventListener('homeSliderClicked', (e) => this.sendPromotionClick(e.detail.name, e.detail.id, 'HOMEPAGE'));\n EventBus.getInstance().addEventListener('cookiesConsentStored', (e) => this.onCookiesConsentStored(e.detail));\n }\n\n translateBoolToConsent(bool) {\n return bool ? 'granted' : 'denied';\n }\n\n /**\n * @param {{consent: number}} ev\n */\n onCookiesConsentStored(ev) {\n const consents = {};\n this.consentTypes.forEach(t => consents[t.name] = this.translateBoolToConsent(t.id === (t.id & ev.consent)));\n this.sendEvent(this.toArguments('consent', 'update', consents));\n this.sendEvent({event: 'consent_updated'})\n }\n\n toArguments() {\n return arguments;\n }\n\n sendPromotionClick(name, id, location) {\n const event = {\n 'event': 'ecc_promotion_click',\n 'ecommerce': {\n 'promoClick': {\n 'promotions': [\n {\n 'id': id,\n 'name': name,\n 'position': location\n }]\n }\n },\n };\n this.sendEvent({ecommerce: null});\n this.sendEvent(event);\n }\n\n sendEvent(event) {\n window.dataLayer = window.dataLayer || [];\n window.dataLayer.push(event);\n }\n\n}\n"],"file":"google-tag-manager.min.js"}