{"version":3,"sources":["component-header.js"],"names":["ComponentHeader","constructor","this","lastScroll","appHeader","document","querySelector","openCloseButton","navigationContainer","mobileNavigation","setEvents","updateLogoSource","window","addEventListener","eventScroll","bind","eventClick","logoImg","desktopLogoUrl","getAttribute","mobileLogoUrl","isScrollDown","classList","contains","isMobile","innerWidth","let","newLogoUrl","currentLogoUrl","style","opacity","setTimeout","setAttribute","currentScroll","pageYOffset","remove","add","event","console","log"],"mappings":"qBAAqBA,gBACjBC,cACIC,KAAKC,WAAa,EAClBD,KAAKE,UAAYC,SAASC,cAAc,mBAAmB,EAC3DJ,KAAKK,gBAAkBF,SAASC,cAAc,8CAA8C,EAC5FJ,KAAKM,oBAAsBH,SAASC,cAAc,8CAA8C,EAChGJ,KAAKO,iBAAmBJ,SAASC,cAAc,sCAAsC,EACrFJ,KAAKQ,UAAU,EACfR,KAAKS,iBAAiB,CAC1B,CAEAD,YACIE,OAAOC,iBAAiB,SAAUX,KAAKY,YAAYC,KAAKb,IAAI,CAAC,EAC7DU,OAAOC,iBAAiB,SAAUX,KAAKS,iBAAiBI,KAAKb,IAAI,CAAC,EAIlEA,KAAKK,gBAAgBM,iBAAiB,QAASX,KAAKc,WAAWD,KAAKb,IAAI,CAAC,CAC7E,CAEAS,mBACI,MAAMM,EAAUZ,SAASC,cAAc,qBAAqB,EAE5D,GAAKW,EAAL,CAEA,IAAMC,EAAiBD,EAAQE,aAAa,mBAAmB,EACzDC,EAAgBH,EAAQE,aAAa,kBAAkB,EACvDE,EAAenB,KAAKE,UAAUkB,UAAUC,SAAS,aAAa,EAC9DC,EAAWZ,OAAOa,YAAc,IACtCC,IAAIC,EAAa,GAEZH,GAAYH,GAAkBG,GAAY,CAACH,GAErC,CAACG,GAAYH,EACpBM,EAAaP,EACLI,GAAaH,IACrBM,EAAaT,GAGXU,EAAiBX,EAAQE,aAAa,QAAQ,EAEhDQ,IAAeC,IACfX,EAAQY,MAAMC,QAAU,EAExBC,WAAW,KACPd,EAAQe,aAAa,SAAUL,CAAU,EACzCV,EAAQY,MAAMC,QAAU,CAC5B,EAAG,GAAG,EAxBI,CA0BlB,CAEAhB,cACIY,IAAIO,EAAgBrB,OAAOsB,YACvBD,GAAiB,GACjB/B,KAAKE,UAAUkB,UAAUa,OAAO,aAAa,EAC7CjC,KAAKS,iBAAiB,IAGtBsB,EAAgB/B,KAAKC,WACrBD,KAAKE,UAAUkB,UAAUc,IAAI,aAAa,EAErBlC,KAAKC,WAI9BD,KAAKS,iBAAiB,EACtBT,KAAKC,WAAa8B,EACtB,CAEAjB,WAAWqB,GACPC,QAAQC,IAAI,QAASF,CAAK,EAEtBnC,KAAKO,iBAAiBa,UAAUC,SAAS,QAAQ,GACjDrB,KAAKO,iBAAiBa,UAAUa,OAAO,QAAQ,EAC/CjC,KAAKK,gBAAgBe,UAAUa,OAAO,QAAQ,EAC9CjC,KAAKE,UAAUkB,UAAUa,OAAO,eAAe,IAE/CjC,KAAKO,iBAAiBa,UAAUc,IAAI,QAAQ,EAC5ClC,KAAKK,gBAAgBe,UAAUc,IAAI,QAAQ,EAC3ClC,KAAKE,UAAUkB,UAAUc,IAAI,eAAe,EAEpD,CACJ","file":"component-header.min.js","sourcesContent":["export default class ComponentHeader {\r\n constructor() {\r\n this.lastScroll = 0\r\n this.appHeader = document.querySelector('.component-header');\r\n this.openCloseButton = document.querySelector('.component-header .top .open-close-container');\r\n this.navigationContainer = document.querySelector('.component-header .top .navigation-container');\r\n this.mobileNavigation = document.querySelector('.component-header .mobile-navigation');\r\n this.setEvents();\r\n this.updateLogoSource()\r\n }\r\n \r\n setEvents() {\r\n window.addEventListener('scroll', this.eventScroll.bind(this));\r\n window.addEventListener('resize', this.updateLogoSource.bind(this));\r\n\r\n // Attach the click event listener to a parent element (e.g., the top navigation container)\r\n // this.navigationContainer.addEventListener('click', this.eventClick.bind(this));\r\n this.openCloseButton.addEventListener('click', this.eventClick.bind(this));\r\n }\r\n\r\n updateLogoSource() {\r\n const logoImg = document.querySelector('.logo-container img')\r\n \r\n if (!logoImg) return\r\n \r\n const desktopLogoUrl = logoImg.getAttribute('data-desktop-logo')\r\n const mobileLogoUrl = logoImg.getAttribute('data-mobile-logo')\r\n const isScrollDown = this.appHeader.classList.contains('scroll-down')\r\n const isMobile = window.innerWidth <= 992\r\n let newLogoUrl = ''\r\n \r\n if ((isMobile && isScrollDown) || (isMobile && !isScrollDown)) {\r\n newLogoUrl = mobileLogoUrl\r\n } else if (!isMobile && isScrollDown) {\r\n newLogoUrl = mobileLogoUrl\r\n } else if (!isMobile && !isScrollDown) {\r\n newLogoUrl = desktopLogoUrl\r\n }\r\n \r\n const currentLogoUrl = logoImg.getAttribute('srcset')\r\n \r\n if (newLogoUrl !== currentLogoUrl) {\r\n logoImg.style.opacity = 0\r\n \r\n setTimeout(() => {\r\n logoImg.setAttribute('srcset', newLogoUrl)\r\n logoImg.style.opacity = 1\r\n }, 300)\r\n }\r\n }\r\n \r\n eventScroll() {\r\n let currentScroll = window.pageYOffset\r\n if (currentScroll <= 0) {\r\n this.appHeader.classList.remove('scroll-down')\r\n this.updateLogoSource()\r\n return\r\n }\r\n if (currentScroll > this.lastScroll) {\r\n this.appHeader.classList.add('scroll-down')\r\n } \r\n else if (currentScroll < this.lastScroll) {\r\n // if scrolling up\r\n }\r\n\r\n this.updateLogoSource()\r\n this.lastScroll = currentScroll;\r\n }\r\n \r\n eventClick(event) {\r\n console.log('event', event)\r\n\r\n if (this.mobileNavigation.classList.contains('active')) {\r\n this.mobileNavigation.classList.remove('active')\r\n this.openCloseButton.classList.remove('active')\r\n this.appHeader.classList.remove('mobile-active')\r\n } else {\r\n this.mobileNavigation.classList.add('active')\r\n this.openCloseButton.classList.add('active')\r\n this.appHeader.classList.add('mobile-active')\r\n }\r\n }\r\n}"]}