class o{constructor(t){this._scrollDuration=1e3,this._currentIndex=0,this._newCurrentIndex=null,this._blockShift=140,this._linkElements=t,this._isDisabled=!1,this._activeBtn=document.querySelector('[data-product-header="active-btn"]'),this._documentScrollHandler=this._documentScrollHandler.bind(this),this.init()}init(){this._initMoveTo(),this._changeLinksActiveState(),document.addEventListener("scroll",this._documentScrollHandler)}_documentScrollHandler(){this._changeLinksActiveState()}_changeLinksActiveState(){this._isDisabled||this._linkElements.forEach((t,i)=>{const e=document.querySelector(`${t.getAttribute("href")}`);if(!e){console.error("Блока на который ссылается ссылка не существует! Проверьте соответствие href ссылок с id блоков");return}e.getBoundingClientRect().bottom>this._blockShift&&e.getBoundingClientRect().top<=this._blockShift?(t.classList.add("is-active"),this._activeBtn&&(this._activeBtn.textContent=t.textContent)):t.classList.remove("is-active"),document.body.getBoundingClientRect().bottom-window.innerHeight<this._blockShift&&e.getBoundingClientRect().top>this._blockShift})}_removeLinkAnimation(){this._linkElements.forEach((t,i)=>{i!==this._currentIndex&&i!==this._newCurrentIndex&&t.classList.add("is-inactive")})}_addLinkAnimation(){this._linkElements.forEach(t=>t.classList.remove("is-inactive")),this._currentIndex=this._newCurrentIndex}_scrollIntoViewWithOffset(t){const i=document.querySelector(".header"),e=t.getBoundingClientRect().top+window.scrollY;window.scrollTo({top:e-i?.offsetHeight||0,behavior:"smooth"})}_removeActiveClass(){this._linkElements.forEach(t=>t.classList.remove("is-active"))}_initMoveTo(){this._linkElements.forEach((t,i)=>{t.addEventListener("click",e=>{e.preventDefault();const n=document.querySelector(`${t.getAttribute("href")}`);if(!n){console.error("Блока на который ссылается ссылка не существует! Проверьте соответствие href ссылок с id блоков");return}this._isDisabled=!0,this._newCurrentIndex=i,this._scrollIntoViewWithOffset(n),this._removeLinkAnimation(),this._removeActiveClass(),t.classList.add("is-active"),setTimeout(()=>{this._addLinkAnimation(),this._isDisabled=!1},this._scrollDuration)})})}}export{o as NavigationChanger};
