{"version":3,"sources":["webpack:///./modules/TeaserHoverEffect.ts"],"names":["__webpack_require__","r","__webpack_exports__","_helpers_helperFunctions__WEBPACK_IMPORTED_MODULE_0__","TeaserHoverEffect","element","this","init","setup","selector","Array","from","document","querySelectorAll","filter","node","dataset","moduleInitialized","forEach","prototype","_this","arrowSelector","querySelector","Object","addEventListener","event","openTeaser","closeTeaser","toggleTeaser","currentTarget","classList","add","remove","parent","closest","preventDefault","toggle"],"mappings":"2FAAAA,EAAAC,EAAAC,GAAA,IAAAC,EAAAH,EAAA,IAIAI,EAAA,WASI,SAAAA,EAAmBC,GAAAC,KAAAD,UACfC,KAAKC,OA+Bb,OAvCWH,EAAAI,MAAP,SAAaC,QAAA,IAAAA,MAJM,qCAKfC,MAAMC,KAAKC,SAASC,iBAAiBJ,IAAWK,OAAO,SAACC,GAAsB,OAACA,EAAKC,QAAQC,oBAAmBC,QAAQ,SAACb,GACpH,IAAID,EAAkBC,GACtBA,EAAQW,QAAQC,kBAAoB,UAQpCb,EAAAe,UAAAZ,KAAR,eAAAa,EAAAd,KACUe,EAA6Bf,KAAKD,QAAQiB,cAAc,eAS9D,OAPKC,OAAApB,EAAA,EAAAoB,IAAeA,OAAApB,EAAA,EAAAoB,KAChBjB,KAAKD,QAAQmB,iBAAiB,aAAc,SAACC,GAAU,OAAAL,EAAKM,WAAWD,KACvEnB,KAAKD,QAAQmB,iBAAiB,aAAc,SAACC,GAAU,OAAAL,EAAKO,YAAYF,MAG5EJ,EAAcG,iBAAiB,QAAS,SAACC,GAAU,OAAAL,EAAKQ,aAAaH,KAE9DnB,MAGHF,EAAAe,UAAAO,WAAR,SAAmBD,GAC0BA,EAAMI,cACxCC,UAAUC,IAAI,UAEjB3B,EAAAe,UAAAQ,YAAR,SAAoBF,GACyBA,EAAMI,cACxCC,UAAUE,OAAO,UAGpB5B,EAAAe,UAAAS,aAAR,SAAqBH,GACjB,IACIQ,EADqCR,EAAMI,cACDK,QAAQ,8BACtDT,EAAMU,iBACNF,EAAOH,UAAUM,OAAO,UAEhChC,EAzCA,eA2CA,IAAIA,EAAkBI","file":"./modules/TeaserHoverEffect.361c5ce7.js","sourcesContent":["import { isMobile, isTouch } from \"../helpers/helperFunctions\";\r\n\r\nconst moduleSelector = '[data-module=\"TeaserHoverEffect\"]';\r\n\r\nexport default class TeaserHoverEffect {\r\n\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 TeaserHoverEffect(element);\r\n            element.dataset.moduleInitialized = 'true';\r\n        });\r\n    }\r\n\r\n    constructor(public element: HTMLElement) {\r\n        this.init();\r\n    }\r\n\r\n    private init(): TeaserHoverEffect {\r\n        const arrowSelector: HTMLElement = this.element.querySelector('.grid-arrow');\r\n        \r\n        if (!isMobile() && !isTouch()) {\r\n            this.element.addEventListener('mouseenter', (event) => this.openTeaser(event));\r\n            this.element.addEventListener('mouseleave', (event) => this.closeTeaser(event));\r\n        }\r\n\r\n        arrowSelector.addEventListener('click', (event) => this.toggleTeaser(event));\r\n\r\n        return this;\r\n    }\r\n\r\n    private openTeaser(event: Event): void {\r\n        const target: HTMLElement = <HTMLElement>event.currentTarget;\r\n        target.classList.add('hover');\r\n    }\r\n    private closeTeaser(event: Event): void {\r\n        const target: HTMLElement = <HTMLElement>event.currentTarget;\r\n        target.classList.remove('hover');\r\n    }\r\n\r\n    private toggleTeaser(event: Event): void {\r\n        const target: HTMLElement = <HTMLElement>event.currentTarget,\r\n            parent: HTMLElement = <HTMLElement>target.closest('.news-teaser, .blog-teaser');\r\n        event.preventDefault();\r\n        parent.classList.toggle('hover');\r\n    }\r\n}\r\n\r\nnew TeaserHoverEffect.setup();"],"sourceRoot":""}