{"version":3,"sources":["webpack:///./modules/HeaderInfoBar.ts"],"names":["__webpack_require__","r","__webpack_exports__","_TrackingGA4__WEBPACK_IMPORTED_MODULE_0__","HeaderInfoBar","element","_this","this","document","querySelector","classList","add","dataShownCookie","getAttribute","closeBtn","promotionLink","isPromotionBanner","contains","hasParentContainer","parentElement","id","hasAttribute","setAttribute","viewPromotionEvent","addEventListener","remove","hidePromotionBanner","setSessionParameter","selectPromotionEvent","setup","selector","Array","from","querySelectorAll","filter","node","dataset","moduleInitialized","forEach","prototype","closePromotionEvent","Object","cookie"],"mappings":"2FAAAA,EAAAC,EAAAC,GAAA,IAAAC,EAAAH,EAAA,IAGAI,EAAA,WAaI,SAAAA,EAAmBC,GAAnB,IAAAC,EAAAC,KAAmBA,KAAAF,UACfG,SAASC,cAAc,QAAQC,UAAUC,IAAI,mBAC7CJ,KAAKK,gBAAkBL,KAAKF,QAAQQ,aAAa,8BACjDN,KAAKO,SAAWP,KAAKF,QAAQI,cAAc,UAC3CF,KAAKQ,cAAgBR,KAAKF,QAAQI,cAAc,gBAChDF,KAAKS,kBAAoBT,KAAKF,QAAQK,UAAUO,SAAS,oBACzDV,KAAKW,mBAAqBX,KAAKF,QAAQc,eAAmD,SAAlCZ,KAAKF,QAAQc,cAAcC,GAC/Eb,KAAKW,qBACLX,KAAKF,QAAQc,cAAcT,UAAUC,IAAI,sBACrCJ,KAAKF,QAAQgB,aAAa,WAC1Bd,KAAKF,QAAQc,cAAcG,aAAa,SAAU,KAK1Df,KAAKS,mBAAoBT,KAAKgB,qBAC9BhB,KAAKO,SAASU,iBAAiB,QAAS,WACpChB,SAASC,cAAc,QAAQC,UAAUe,OAAO,mBAChDnB,EAAKD,QAAQK,UAAUC,IAAI,UACvBL,EAAKY,oBACLZ,EAAKD,QAAQc,cAAcT,UAAUC,IAAI,UAE7CL,EAAKoB,sBACAC,wBAGTpB,KAAKQ,eAAiBR,KAAKQ,cAAcS,iBAAiB,QAAS,WAE/DlB,EAAKU,mBAAoBV,EAAKsB,yBAiC1C,OApEWxB,EAAAyB,MAAP,SAAaC,QAAA,IAAAA,MATM,iCAUfC,MAAMC,KAAKxB,SAASyB,iBAAiBH,IAAWI,OAAO,SAACC,GAAsB,OAACA,EAAKC,QAAQC,oBAAmBC,QAAQ,SAACjC,GACpH,IAAID,EAAcC,GAClBA,EAAQ+B,QAAQC,kBAAoB,UAoCpCjC,EAAAmC,UAAAb,oBAAR,WAOI,OANAnB,KAAKF,QAAQK,UAAUC,IAAI,UACvBJ,KAAKW,oBACLX,KAAKF,QAAQc,cAAcT,UAAUC,IAAI,UAG7CJ,KAAKS,mBAAoBT,KAAKiC,sBACvBjC,MAGHH,EAAAmC,UAAAC,oBAAR,WAEIC,OAAAtC,EAAA,EAAAsC,CADkB,oBAIdrC,EAAAmC,UAAAhB,mBAAR,WAEIkB,OAAAtC,EAAA,EAAAsC,CADkB,mBAIdrC,EAAAmC,UAAAX,qBAAR,WAEIa,OAAAtC,EAAA,EAAAsC,CADkB,qBAIdrC,EAAAmC,UAAAZ,oBAAR,WAEI,OADAnB,SAASkC,OAAYnC,KAAKK,gBAAe,gBAClCL,MAEfH,EA1EA,eA4EA,IAAIA,EAAcyB","file":"./modules/HeaderInfoBar.8f461332.js","sourcesContent":["const moduleSelector = '[data-module=\"HeaderInfoBar\"]';\r\nimport { promotionEvent } from '../TrackingGA4';\r\n\r\nexport default class HeaderInfoBar {\r\n    closeBtn;\r\n    dataShownCookie;\r\n    promotionLink;\r\n    isPromotionBanner;\r\n    hasParentContainer;\r\n    static setup(selector: string = moduleSelector): void {\r\n        Array.from(document.querySelectorAll(selector)).filter((node: HTMLElement) => !node.dataset.moduleInitialized).forEach((element: HTMLElement) => {\r\n            new HeaderInfoBar(element);\r\n            element.dataset.moduleInitialized = 'true';\r\n        });\r\n    }\r\n\r\n    constructor(public element: HTMLElement) {\r\n        document.querySelector(\"body\").classList.add(\"info-bar-opened\");\r\n        this.dataShownCookie = this.element.getAttribute(\"data-info-bar-shown-cookie\");\r\n        this.closeBtn = this.element.querySelector(\".close\");\r\n        this.promotionLink = this.element.querySelector(\".promotion a\");\r\n        this.isPromotionBanner = this.element.classList.contains(\"promotion-banner\");\r\n        this.hasParentContainer = this.element.parentElement && this.element.parentElement.id !== \"site\";\r\n        if (this.hasParentContainer) {\r\n            this.element.parentElement.classList.add(\"info-bar-container\")\r\n            if (this.element.hasAttribute(\"hidden\")) {\r\n                this.element.parentElement.setAttribute(\"hidden\", \"\")\r\n            }\r\n        }\r\n\r\n        //GA4 Promotion View\r\n        this.isPromotionBanner ? this.viewPromotionEvent() : \"\";\r\n        this.closeBtn.addEventListener('click', () => {\r\n            document.querySelector(\"body\").classList.remove(\"info-bar-opened\");\r\n            this.element.classList.add(\"hidden\");\r\n            if (this.hasParentContainer) {\r\n                this.element.parentElement.classList.add(\"hidden\");\r\n            }\r\n            this.hidePromotionBanner()\r\n                .setSessionParameter();\r\n        })\r\n\r\n        this.promotionLink && this.promotionLink.addEventListener('click', () => {\r\n            //GA4 Promotion Select\r\n            this.isPromotionBanner ? this.selectPromotionEvent() :\"\";\r\n        })\r\n    }\r\n\r\n    private hidePromotionBanner(): HeaderInfoBar {\r\n        this.element.classList.add(\"hidden\");\r\n        if (this.hasParentContainer) {\r\n            this.element.parentElement.classList.add(\"hidden\");\r\n        }\r\n        //GA4 Promotion Close\r\n        this.isPromotionBanner ? this.closePromotionEvent() : \"\";\r\n        return this;\r\n    }\r\n\r\n    private closePromotionEvent() {\r\n        const eventName = \"close_promotion\"\r\n        promotionEvent(eventName);\r\n    }\r\n\r\n    private viewPromotionEvent() {\r\n        const eventName = \"view_promotion\"\r\n        promotionEvent(eventName);\r\n    }\r\n\r\n    private selectPromotionEvent() {\r\n        const eventName = \"select_promotion\"\r\n        promotionEvent(eventName);\r\n    }\r\n\r\n    private setSessionParameter(): HeaderInfoBar {\r\n        document.cookie = `${this.dataShownCookie}=true; path=/`;\r\n        return this;\r\n    }\r\n}\r\n\r\nnew HeaderInfoBar.setup();"],"sourceRoot":""}