{"version":3,"sources":["webpack:///./modules/HeaderLanguageSelector.ts","webpack:///./modules/LazyLoadingModule.ts"],"names":["__webpack_require__","r","__webpack_exports__","_LazyLoadingModule__WEBPACK_IMPORTED_MODULE_0__","HeaderLanguageSelector","element","this","Eucerin","isDesktop","init","cloneDesktopMarkupToMobile","setup","selector","Array","from","document","querySelectorAll","filter","node","dataset","moduleInitialized","forEach","prototype","droplistBtn","querySelector","headerLanguageButton","languageSelectorElement","classList","add","onClick","isTablet","isMobile","onHover","closeOnOutsideClick","_this","addEventListener","e","currentTarget","closest","toggle","remove","window","event","target","mobileMarkup","desktopMarkup","replaceMarkup","innerHTML","once","onclick","parentNode","_helpers_DOMHelpers__WEBPACK_IMPORTED_MODULE_0__","LazyLoadingModule","eagerLoading","load","ajaxUrl","getAttribute","replace","body","fetchAndUpdate","once_1","onmouseover","url","fetch","then","res","ok","text","updateModule","htmlResponseElement","createHtmlElement","targetAttribute","searchTargetPlaceholders","insertModule","outerHTML","content","removeAttribute","initModules","str","wrapper","Object"],"mappings":"8FAAAA,EAAAC,EAAAC,GAAA,IAAAC,EAAAH,EAAA,IAGAI,EAAA,WAcI,SAAAA,EAAmBC,GAAAC,KAAAD,UACXE,QAAQC,UACRF,KAAKG,OAELH,KAAKI,6BAyFjB,OApGWN,EAAAO,MAAP,SAAaC,QAAA,IAAAA,MARM,0CASfC,MAAMC,KAAKC,SAASC,iBAAiBJ,IAAWK,OAAO,SAACC,GAAsB,OAACA,EAAKC,QAAQC,oBAAmBC,QAAQ,SAAChB,GACpH,IAAID,EAAuBC,GAC3BA,EAAQc,QAAQC,kBAAoB,UAYpChB,EAAAkB,UAAAb,KAAR,WACQF,QAAQC,WACRF,KAAKiB,YAAcR,SAASS,cAAc,4CAC1ClB,KAAKmB,qBAAuBV,SAASS,cAAc,wDACnDlB,KAAKoB,wBAA0BX,SAASS,cAAc,0DAEtDlB,KAAKiB,YAAcR,SAASS,cAAc,2CAC1ClB,KAAKmB,qBAAuBV,SAASS,cAAc,uDACnDlB,KAAKoB,wBAA0BX,SAASS,cAAc,uDACtDT,SAASS,cAAc,sBAAuBT,SAASS,cAAc,qBAAqBG,UAAUC,IAAI,+BAEvGtB,KAAKiB,cACVjB,KAAKuB,WACJtB,QAAQuB,WAAavB,QAAQwB,UAAWzB,KAAK0B,UAC9C1B,KAAK2B,wBAGD7B,EAAAkB,UAAAO,QAAR,eAAAK,EAAA5B,KACIA,KAAKiB,YAAYY,iBAAiB,QAAS,SAACC,GACzBA,EAAEC,cACVC,QAAQ,qBAAqBX,UAAUY,OAAO,YAEzDjC,KAAKmB,qBAAqBU,iBAAiB,QAAS,WAChDD,EAAKR,wBAAwBC,UAAUY,OAAO,yBAC1ChC,QAAQC,YACRO,SAASS,cAAc,8BAA8BG,UAAUY,OAAO,4BACtExB,SAASS,cAAc,QAAQG,UAAUY,OAAO,gCAKpDnC,EAAAkB,UAAAU,QAAR,eAAAE,EAAA5B,KACIA,KAAKmB,qBAAqBa,QAAQ,6BAA6BH,iBAAiB,YAAa,WACzFD,EAAKR,wBAAwBC,UAAUC,IAAI,yBACvCrB,QAAQC,YACRO,SAASS,cAAc,+BAAiCT,SAASS,cAAc,8BAA8BG,UAAUC,IAAI,4BAC3Hb,SAASS,cAAc,QAAQG,UAAUC,IAAI,+BAGrDtB,KAAKmB,qBAAqBa,QAAQ,6BAA6BH,iBAAiB,aAAc,WAC1FD,EAAKR,wBAAwBC,UAAUa,OAAO,yBAC1CjC,QAAQC,YACRO,SAASS,cAAc,+BAAiCT,SAASS,cAAc,8BAA8BG,UAAUa,OAAO,4BAC9HzB,SAASS,cAAc,QAAQG,UAAUa,OAAO,gCAKpDpC,EAAAkB,UAAAW,oBAAR,eAAAC,EAAA5B,KACImC,OAAON,iBAAiB,QAAS,SAACO,GAC9B,IAAMC,EAASD,EAAMC,OAChBA,EAAOL,QAAQ,8BAAiCK,EAAOL,QAAQ,mBAChEJ,EAAKR,wBAAwBC,UAAUa,OAAO,yBAC9CN,EAAKR,wBAAwBF,cAAc,qBAAqBG,UAAUa,OAAO,cAKrFpC,EAAAkB,UAAAZ,2BAAR,WACIJ,KAAKsC,aAAe7B,SAASS,cAAc,6BAC3ClB,KAAKuC,cAAgB9B,SAASS,cAAc,+BAAiCT,SAASS,cAAc,wDAChGlB,KAAKsC,cAAgBtC,KAAKuC,eAC1BvC,KAAKwC,iBAML1C,EAAAkB,UAAAwB,cAAR,eAAAZ,EAAA5B,KAOI,GANAA,KAAKsC,aAAaG,UAAY,yCAAyCzC,KAAKuC,cAAcE,UAC1FzC,KAAKG,OACDL,EAAuB4C,MAAQ1C,KAAKoB,yBACpCpB,KAAKoB,wBAAwBC,UAAUY,OAAO,0BAG9CnC,EAAuB4C,KAA3B,CACA5C,EAAuB4C,MAAO,EAE9B,IAAMH,EAAgBvC,KAAKuC,cAC3BvC,KAAKsC,aAAaK,QAAU,WACnBJ,EAAcK,aACnB,IAAI/C,EAAA,QAAkB0C,EAAcK,YAAY,GAChDhB,EAAKW,cAAcK,WAAW/B,QAAQC,kBAAoB,WAhB3DhB,EAAA4C,MAAO,EAmBlB5C,EA3GA,GAAqBF,EAAA,UA6GrB,IAAIE,EAAuBO,uCChH3BX,EAAAC,EAAAC,GAAA,IAAAiD,EAAAnD,EAAA,GAIAoD,EAAA,WAUI,SAAAA,EAAmB/C,EAA6BgD,GAAhD,IAAAnB,EAAA5B,UAAgD,IAAA+C,OAAA,GAA7B/C,KAAAD,UAA6BC,KAAA+C,eAC5C,IAAMC,EAAO,WACTpB,EAAKqB,QAAUrB,EAAK7B,QAAQmD,aAAa,iBACzCtB,EAAKqB,QAAUrB,EAAKqB,QAAQE,QAAQ,kBAAmB1C,SAAS2C,KAAKF,aAAa,iBAClFtB,EAAKyB,eAAezB,EAAKqB,UAE7B,GAAIjD,KAAKD,QAAQmD,aAAa,sBAAwBH,EAAc,CAChE,IAAIO,GAAO,EACXvD,EAAQwD,YAAc,WACdD,IACJA,GAAO,EACPN,WAIJA,IAyCZ,OA/DWF,EAAAzC,MAAP,SAAaC,QAAA,IAAAA,MALM,qCAMfC,MAAMC,KAAKC,SAASC,iBAAiBJ,IAAWK,OAAO,SAACC,GAAsB,OAACA,EAAKC,QAAQC,oBAAmBC,QAAQ,SAAChB,GACpH,IAAI+C,EAAkB/C,GACtBA,EAAQc,QAAQC,kBAAoB,UAuBpCgC,EAAA9B,UAAAqC,eAAR,SAAuBG,GAAvB,IAAA5B,EAAA5B,KACIyD,MAAMD,GACDE,KAAK,SAACC,GAAQ,OAAAA,EAAIC,GAAKD,EAAIE,OAAS,OACpCH,KAAK,SAACG,GAAS,OAAAA,GAAQjC,EAAKkC,aAAaD,MAG1Cf,EAAA9B,UAAA8C,aAAR,SAAqBD,GAArB,IAAAjC,EAAA5B,KACQ+D,EAAsB/D,KAAKgE,kBAAkBH,GAC9CE,EAAoB7C,cAAc,yBACjC6C,EAAoBrD,iBAAiB,wBAAwBK,QAAQ,SAAChB,GAClE,IAAMkE,EAAkBlE,EAAQmD,aAAa,sBAC7CtB,EAAKsC,yBAAyBzD,SAASS,cAAc,iBAAiB+C,EAAe,MAAOlE,GAC5FA,EAAQmC,WAEZlC,KAAKmE,aAAanE,KAAKD,QAASgE,EAAoBK,YAEpDpE,KAAKmE,aAAanE,KAAKD,QAAS8D,IAIhCf,EAAA9B,UAAAkD,yBAAR,SAAiC7B,EAAQgC,GAChChC,IACLgC,EAAQC,gBAAgB,UACxBD,EAAQC,gBAAgB,sBACxBtE,KAAKmE,aAAa9B,EAAQgC,EAAQD,aAG9BtB,EAAA9B,UAAAmD,aAAR,SAAqB9B,EAASsB,GAC1BtB,EAAO+B,UAAYT,EACnB1D,QAAQsE,eAGJzB,EAAA9B,UAAAgD,kBAAR,SAA0BQ,GACtB,IAAMC,EAAUC,OAAA7B,EAAA,EAAA6B,CAAU,IAE1B,OADAD,EAAQhC,UAAY+B,EACCC,GAE7B3B,EAlEA,eAoEA,IAAIA,EAAkBzC","file":"./modules/HeaderLanguageSelector.9b17dca7.js","sourcesContent":["import LazyLoadingModule from \"./LazyLoadingModule\";\r\n\r\nconst moduleSelector = '[data-module=\"HeaderLanguageSelector\"]';\r\nexport default class HeaderLanguageSelector {\r\n droplistBtn: HTMLElement;\r\n headerLanguageButton: HTMLElement;\r\n mobileMarkup;\r\n desktopMarkup;\r\n desktopModule;\r\n languageSelectorElement;\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 HeaderLanguageSelector(element);\r\n element.dataset.moduleInitialized = 'true';\r\n });\r\n }\r\n\r\n constructor(public element: HTMLElement) {\r\n if (Eucerin.isDesktop) {\r\n this.init();\r\n } else {\r\n this.cloneDesktopMarkupToMobile();\r\n }\r\n }\r\n\r\n private init() {\r\n if (Eucerin.isDesktop) {\r\n this.droplistBtn = document.querySelector(\".desktop-language-selector .droplist-btn\");\r\n this.headerLanguageButton = document.querySelector(\".desktop-language-selector .language-selector-button\");\r\n this.languageSelectorElement = document.querySelector(\".desktop-language-selector .header-language-selector\");\r\n } else {\r\n this.droplistBtn = document.querySelector(\".mobile-language-selector .droplist-btn\");\r\n this.headerLanguageButton = document.querySelector(\".mobile-language-selector .language-selector-button\");\r\n this.languageSelectorElement = document.querySelector(\".mobile-language-selector .header-language-selector\");\r\n document.querySelector(\".uk-offcanvas-bar\") ? document.querySelector(\".uk-offcanvas-bar\").classList.add(\"language-selector-rendered\") : \"\";\r\n }\r\n if (!this.droplistBtn) return;\r\n this.onClick();\r\n !Eucerin.isTablet && !Eucerin.isMobile ? this.onHover() : \"\";\r\n this.closeOnOutsideClick();\r\n }\r\n\r\n private onClick() {\r\n this.droplistBtn.addEventListener(\"click\", (e) => {\r\n const target = e.currentTarget as HTMLBRElement;\r\n target.closest(\".droplist-content\").classList.toggle(\"opened\");\r\n })\r\n this.headerLanguageButton.addEventListener(\"click\", () => {\r\n this.languageSelectorElement.classList.toggle(\"opened-language-layer\");\r\n if (Eucerin.isDesktop) {\r\n document.querySelector(\".desktop-language-selector\").classList.toggle(\"language-selector-opened\")\r\n document.querySelector(\"body\").classList.toggle(\"language-selector-active\")\r\n };\r\n })\r\n }\r\n\r\n private onHover() {\r\n this.headerLanguageButton.closest(\".header-language-selector\").addEventListener(\"mouseover\", () => {\r\n this.languageSelectorElement.classList.add(\"opened-language-layer\");\r\n if (Eucerin.isDesktop) {\r\n document.querySelector(\".desktop-language-selector\") && document.querySelector(\".desktop-language-selector\").classList.add(\"language-selector-opened\")\r\n document.querySelector(\"body\").classList.add(\"language-selector-active\")\r\n };\r\n })\r\n this.headerLanguageButton.closest(\".header-language-selector\").addEventListener(\"mouseleave\", () => {\r\n this.languageSelectorElement.classList.remove(\"opened-language-layer\");\r\n if (Eucerin.isDesktop) {\r\n document.querySelector(\".desktop-language-selector\") && document.querySelector(\".desktop-language-selector\").classList.remove(\"language-selector-opened\")\r\n document.querySelector(\"body\").classList.remove(\"language-selector-active\")\r\n };\r\n })\r\n }\r\n\r\n private closeOnOutsideClick() {\r\n window.addEventListener(\"click\", (event: any) => {\r\n const target = event.target;\r\n if (!target.closest(\".language-selector-button\") && !target.closest(\".droplist-btn\")) {\r\n this.languageSelectorElement.classList.remove(\"opened-language-layer\");\r\n this.languageSelectorElement.querySelector(\".droplist-content\").classList.remove(\"opened\");\r\n }\r\n })\r\n }\r\n\r\n private cloneDesktopMarkupToMobile() {\r\n this.mobileMarkup = document.querySelector(\".mobile-language-selector\");\r\n this.desktopMarkup = document.querySelector(\".desktop-language-selector\") && document.querySelector(\".desktop-language-selector .header-language-selector\");\r\n if (this.mobileMarkup && this.desktopMarkup) {\r\n this.replaceMarkup();\r\n }\r\n }\r\n\r\n static once = false;\r\n\r\n private replaceMarkup() {\r\n this.mobileMarkup.innerHTML = `