{"version":3,"file":"./modules/NivTMarketingTeasers.xxxxxxxx.js","mappings":"yJAGA,MAAMA,EAAiB,uCACR,MAAMC,EAIjB,YAAOC,CAAMC,EAAmBH,GAC5BI,MAAMC,KAAKC,SAASC,iBAAiBJ,IAAWK,QAAQC,IAAuBA,EAAKC,QAAQC,oBAAmBC,SAASC,IACpH,IAAIZ,EAAqBY,GACzBA,EAAQH,QAAQC,kBAAoB,MAAM,GAElD,CAEA,WAAAG,CAAmBD,GAAA,KAAAA,QAAAA,EARnB,KAAAE,iBAA2B,EASnBC,OAAOC,OAAOC,aACdC,KAAKC,MAEb,CAEA,IAAAA,GACI,IAAI,UACA,OACJD,KAAKE,WAAaF,KAAKN,QAAQN,iBAAiB,wBAGhDY,KAAKN,QAAQS,iBAAiB,SAAUC,IACpCA,EAAMC,iBACN,IAAIC,GAAiB,QAAmBF,EAHN,wEAI9BG,EAA2CH,EAAMI,OACrDR,KAAKS,iBAAiB,SAAU,2BAA4B,QAAuBT,KAAKE,WAAyBK,EAAeG,QAN9F,6CAMiIJ,EAAe,GAE1L,CAEA,gBAAAG,CAAiBE,EAAuBC,EAAqBN,IACzD,QAAS,CACLF,MAAO,WACPO,cAAeA,EACfC,YAAaA,EACbC,WAAYP,EAAeQ,OAG1BR,EAAeS,QAGhBlB,OAAOmB,KAAKV,EAAeQ,MAF3B3B,SAAS8B,SAAWX,EAAeQ,IAI3C,EAiBAhC,EAAqBC,MAAMF,E","sources":["webpack:///./modules/NivTMarketingTeasers.ts"],"sourcesContent":["/// <reference path=\"../typings/niveax.d.ts\"/>\r\nimport { addLayer, getClickedElementIndex, getLinkElementHref } from '../ClassWithTracking/helpers';\r\nimport {isPageEditor} from \"../helpers/helperFunctions\";\r\nconst moduleSelector = '[data-module=\"NivTMarketingTeasers\"]';\r\nexport default class NivTMarketingTeasers {\r\n\r\n    private teaserList: NodeListOf<HTMLElement>;\r\n    isNewTActivated: boolean = false;\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 NivTMarketingTeasers(element);\r\n            element.dataset.moduleInitialized = 'true';\r\n        });\r\n    }\r\n\r\n    constructor(public element: HTMLElement) {\r\n        if (window.NiveaX.IsUAEnabled) {\r\n            this.init();\r\n        }\r\n    }\r\n\r\n    init() {\r\n        if (isPageEditor())\r\n            return;\r\n        this.teaserList = this.element.querySelectorAll('.nx-marketing-teaser');\r\n        let wrapperElementClassList: string = '.nx-marketing-teaser, .nx-general-teaser',\r\n               linkElementClassList: string = '.nx-marketing-teaser__link-wrapper, .nx-general-teaser__link-wrapper';\r\n        this.element.addEventListener('click', (event) => {\r\n            event.preventDefault();\r\n            let destinationUrl = getLinkElementHref(event, linkElementClassList),\r\n                clickedElement: HTMLElement = <HTMLElement>event.target;\r\n            this.trackTeaserClick('Teaser', 'Marketing Teaser - Pos ' + getClickedElementIndex(this.teaserList, <HTMLElement>clickedElement.closest(wrapperElementClassList)), destinationUrl);\r\n        });\r\n    }\r\n\r\n    trackTeaserClick(eventCategory: string, eventAction: string, destinationUrl: any) {\r\n        addLayer({\r\n            event: 'ga_event',\r\n            eventCategory: eventCategory,\r\n            eventAction: eventAction,\r\n            eventLabel: destinationUrl.href,\r\n        });\r\n\r\n        if (!destinationUrl.isBlank){\r\n            document.location = destinationUrl.href;\r\n        } else {\r\n            window.open(destinationUrl.href);\r\n        }\r\n    }\r\n\r\n}\r\n\r\n// Hot Module Replacement\r\nif (module.hot) {\r\n    let nodesCache: HMRNodes[] = Array.from(document.querySelectorAll(moduleSelector)).map((element: Node) => ({ nodeToReplace: element, nodeOrigin: element.cloneNode(true) }));\r\n\r\n    NivTMarketingTeasers.setup(moduleSelector);\r\n\r\n    module.hot.accept(() => {\r\n        NivTMarketingTeasers.setup(moduleSelector);\r\n    });\r\n    module.hot.dispose(() => {\r\n        nodesCache.forEach(({ nodeToReplace, nodeOrigin }) => { nodeToReplace = nodeToReplace.parentElement.replaceChild(nodeOrigin.cloneNode(true), nodeToReplace) });\r\n    });\r\n} else {\r\n    NivTMarketingTeasers.setup(moduleSelector);\r\n}"],"names":["moduleSelector","NivTMarketingTeasers","setup","selector","Array","from","document","querySelectorAll","filter","node","dataset","moduleInitialized","forEach","element","constructor","isNewTActivated","window","NiveaX","IsUAEnabled","this","init","teaserList","addEventListener","event","preventDefault","destinationUrl","clickedElement","target","trackTeaserClick","closest","eventCategory","eventAction","eventLabel","href","isBlank","open","location"],"sourceRoot":""}