{"version":3,"file":"./modules/TeaserHoverEffect.xxxxxxxx.js","mappings":"kIAIA,aASI,WAAmBA,GAAA,KAAAA,QAAAA,EACfC,KAAKC,MACT,CA8BJ,OAvCW,EAAAC,MAAP,SAAaC,QAAA,IAAAA,IAAAA,EAJM,qCAKfC,MAAMC,KAAKC,SAASC,iBAAiBJ,IAAWK,OAAO,SAACC,GAAsB,OAACA,EAAKC,QAAQC,iBAAd,GAAiCC,QAAQ,SAACb,GACpH,IAAIc,EAAkBd,GACtBA,EAAQW,QAAQC,kBAAoB,MACxC,EACJ,EAMQ,YAAAV,KAAR,sBACUa,EAA6Bd,KAAKD,QAAQgB,cAAc,eAS9D,OAPK,YAAe,YAChBf,KAAKD,QAAQiB,iBAAiB,aAAc,SAACC,GAAU,SAAKC,WAAWD,EAAhB,GACvDjB,KAAKD,QAAQiB,iBAAiB,aAAc,SAACC,GAAU,SAAKE,YAAYF,EAAjB,IAG3DH,EAAcE,iBAAiB,QAAS,SAACC,GAAU,SAAKG,aAAaH,EAAlB,GAE5CjB,IACX,EAEQ,YAAAkB,WAAR,SAAmBD,GAC0BA,EAAMI,cACxCC,UAAUC,IAAI,QACzB,EACQ,YAAAJ,YAAR,SAAoBF,GACyBA,EAAMI,cACxCC,UAAUE,OAAO,QAC5B,EAEQ,YAAAJ,aAAR,SAAqBH,GACjB,IACIQ,EADqCR,EAAMI,cACDK,QAAQ,8BACtDT,EAAMU,iBACNF,EAAOH,UAAUM,OAAO,QAC5B,EACJ,EAzCA,G,UA2CA,IAAIf,EAAkBX,K","sources":["webpack:///./modules/TeaserHoverEffect.ts"],"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();"],"names":["element","this","init","setup","selector","Array","from","document","querySelectorAll","filter","node","dataset","moduleInitialized","forEach","TeaserHoverEffect","arrowSelector","querySelector","addEventListener","event","openTeaser","closeTeaser","toggleTeaser","currentTarget","classList","add","remove","parent","closest","preventDefault","toggle"],"sourceRoot":""}