{"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.697e9b63.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 = event.currentTarget;\r\n target.classList.add('hover');\r\n }\r\n private closeTeaser(event: Event): void {\r\n const target: 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 = event.currentTarget,\r\n parent: 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":""}