{"version":3,"sources":["webpack:///./modules/HighlightedTeaser.ts"],"names":["__webpack_require__","r","__webpack_exports__","HighlightedTeaser","element","_this","this","highlightedTeaser","teaser","querySelector","header","document","site","closest","body","Eucerin","isDesktop","style","overflow","overflowX","stickyHighlightedTeaser","addEventListener","setup","selector","Array","from","querySelectorAll","filter","node","dataset","moduleInitialized","forEach","prototype","boundingClientRect","getBoundingClientRect","classList","contains","topOfTeaser","top","initSticky"],"mappings":"2FAAAA,EAAAC,EAAAC,GAAA,IAEAC,EAAA,WAmBI,SAAAA,EAAmBC,GAAnB,IAAAC,EAAAC,KAAmBA,KAAAF,UACfE,KAAKC,kBAAoBD,KAAKF,QAC9BE,KAAKE,OAASF,KAAKF,QAAQK,cAAc,+BACzCH,KAAKI,OAASC,SAASF,cAAc,YAAcE,SAASF,cAAc,UAC1EH,KAAKM,KAAON,KAAKF,QAAQS,QAAQ,SACjCP,KAAKQ,KAAOR,KAAKF,QAAQS,QAAQ,QAC7BP,KAAKE,QAAUO,QAAQC,YACvBV,KAAKM,KAAKK,MAAMC,SAAW,UAC3BZ,KAAKQ,KAAKG,MAAME,UAAY,SAC5Bb,KAAKC,kBAAkBM,QAAQ,aAAeP,KAAKC,kBAAkBM,QAAQ,WAAWI,MAAQ,2BAChGX,KAAKc,0BACLT,SAASU,iBAAiB,SAAU,WAChChB,EAAKe,6BAsBrB,OA1CWjB,EAAAmB,MAAP,SAAaC,QAAA,IAAAA,MAbM,qCAefC,MAAMC,KAAKd,SAASe,iBAAiBH,IAAWI,OAAO,SAACC,GAAsB,OAACA,EAAKC,QAAQC,oBAAmBC,QAAQ,SAAC3B,GACpH,IAAID,EAAkBC,GACtBA,EAAQyB,QAAQC,kBAAoB,UAqBpC3B,EAAA6B,UAAAZ,wBAAR,WACId,KAAK2B,mBAAqB3B,KAAKC,kBAAkB2B,wBAC7C5B,KAAKI,OAAOyB,UAAUC,SAAS,kBAC/B9B,KAAK+B,YAAc/B,KAAK2B,mBAAmBK,IAAM,GACjDhC,KAAKgC,IAAM,KAEXhC,KAAK+B,YAAc/B,KAAK2B,mBAAmBK,IAAM,GACjDhC,KAAKgC,IAAM,IAEfhC,KAAKiC,cAGDpC,EAAA6B,UAAAO,WAAR,WACQjC,KAAK+B,YAAc,IACnB/B,KAAKC,kBAAkBU,MAAMqB,IAAMhC,KAAKgC,IAAM,OAG1DnC,EArDA,eAuDA,IAAIA,EAAkBmB","file":"./modules/HighlightedTeaser.c2b9a12c.js","sourcesContent":["const moduleSelector = '[data-module=\"HighlightedTeaser\"]';\r\n\r\nexport default class HighlightedTeaser {\r\n header: HTMLElement;\r\n offsetHeader: number;\r\n teaser: HTMLElement;\r\n highlightedTeaser;\r\n boundingClientRect\r\n topOfTeaser;\r\n top;\r\n site;\r\n body;\r\n\r\n static setup(selector: string = moduleSelector): void {\r\n\r\n Array.from(document.querySelectorAll(selector)).filter((node: HTMLElement) => !node.dataset.moduleInitialized).forEach((element: HTMLElement) => {\r\n new HighlightedTeaser(element);\r\n element.dataset.moduleInitialized = 'true';\r\n });\r\n }\r\n\r\n constructor(public element: HTMLElement) {\r\n this.highlightedTeaser = this.element;\r\n this.teaser = this.element.querySelector('.highlighted-teaser .teaser');\r\n this.header = document.querySelector('.header') || document.querySelector('header');\r\n this.site = this.element.closest(\"#site\");\r\n this.body = this.element.closest(\"body\");\r\n if (this.teaser && Eucerin.isDesktop) {\r\n this.site.style.overflow = \"visible\";\r\n this.body.style.overflowX = \"hidden\";\r\n this.highlightedTeaser.closest(\".cp-row\") && (this.highlightedTeaser.closest(\".cp-row\").style = \"align-items: flex-start\");\r\n this.stickyHighlightedTeaser();\r\n document.addEventListener('scroll', () => {\r\n this.stickyHighlightedTeaser();\r\n });\r\n }\r\n }\r\n\r\n private stickyHighlightedTeaser() {\r\n this.boundingClientRect = this.highlightedTeaser.getBoundingClientRect();\r\n if (this.header.classList.contains('legacy-header')) {\r\n this.topOfTeaser = this.boundingClientRect.top - 62;\r\n this.top = 62\r\n } else {\r\n this.topOfTeaser = this.boundingClientRect.top - 10;\r\n this.top = 10\r\n }\r\n this.initSticky()\r\n\r\n }\r\n private initSticky() {\r\n if (this.topOfTeaser < 0) {\r\n this.highlightedTeaser.style.top = this.top + 'px';\r\n }\r\n }\r\n}\r\n\r\nnew HighlightedTeaser.setup();\r\n\r\n\r\n"],"sourceRoot":""}