if(!customElements.get("foxkit-slider-component")){class t extends HTMLElement{constructor(){super()}connectedCallback(){this.init()}disconnectedCallback(){this.slider.removeEventListener("scroll",this.update.bind(this)),this.prevButton&&this.prevButton.removeEventListener("click",this.onButtonClick.bind(this)),this.nextButton&&this.nextButton.removeEventListener("click",this.onButtonClick.bind(this))}init(){if(this.slider=this.querySelector('[id^="Slider-"]'),this.sliderItems=this.querySelectorAll('[id^="Slide-"]'),this.enableSliderLooping=!1,this.currentPageElement=this.querySelector(".foxkit-slider__counter--current"),this.pageTotalElement=this.querySelector(".foxkit-slider__counter--total"),this.prevButton=this.querySelector('button[name="previous"]'),this.nextButton=this.querySelector('button[name="next"]'),!this.slider)return;this.initPages();new ResizeObserver((t=>this.initPages())).observe(this.slider),this.slider.addEventListener("scroll",this.update.bind(this)),this.prevButton&&this.prevButton.addEventListener("click",this.onButtonClick.bind(this)),this.nextButton&&this.nextButton.addEventListener("click",this.onButtonClick.bind(this))}initPages(){this.sliderItemsToShow=Array.from(this.sliderItems).filter((t=>t.clientWidth>0)),this.sliderItemsToShow.length<2?this.classList.add("foxkit-slider--hide-control"):(this.sliderItemOffset=this.sliderItemsToShow[1].offsetLeft-this.sliderItemsToShow[0].offsetLeft,this.slidesPerPage=this.dataset.slidesPerPage?Number(this.dataset.slidesPerPage):Math.floor((this.slider.clientWidth-this.sliderItemsToShow[0].offsetLeft)/this.sliderItemOffset)||1,this.totalPages=this.sliderItemsToShow.length-this.slidesPerPage+1,this.update())}resetPages(){this.sliderItems=this.querySelectorAll('[id^="Slide-"]'),this.initPages()}update(){if(!this.slider||!this.nextButton)return;const t=this.currentPage;this.currentPage=Math.round(this.slider.scrollLeft/this.sliderItemOffset)+1,this.currentPageElement&&this.pageTotalElement&&(this.currentPageElement.textContent=this.currentPage,this.pageTotalElement.textContent=this.totalPages),this.currentPage!=t&&this.dispatchEvent(new CustomEvent("slideChanged",{detail:{currentPage:this.currentPage,currentElement:this.sliderItemsToShow[this.currentPage-1]}})),this.enableSliderLooping||(this.isSlideVisible(this.sliderItemsToShow[0])&&0===this.slider.scrollLeft?this.prevButton.setAttribute("disabled","disabled"):this.prevButton.removeAttribute("disabled"),this.isSlideVisible(this.sliderItemsToShow[this.sliderItemsToShow.length-1])?this.nextButton.setAttribute("disabled","disabled"):this.nextButton.removeAttribute("disabled"),this.totalPages<=1?this.classList.add("foxkit-slider--hide-control"):this.classList.remove("foxkit-slider--hide-control"))}isSlideVisible(t,e=0){const i=this.slider.clientWidth+this.slider.scrollLeft-e;return t.offsetLeft+t.clientWidth<=i&&t.offsetLeft>=this.slider.scrollLeft}onButtonClick(t){t.preventDefault();const e=t.currentTarget.dataset.step||1;this.slideScrollPosition="next"===t.currentTarget.name?this.slider.scrollLeft+e*this.sliderItemOffset:this.slider.scrollLeft-e*this.sliderItemOffset,this.setSlidePosition(this.slideScrollPosition)}setSlidePosition(t){this.slider.scrollTo({left:t})}}customElements.define("foxkit-slider-component",t)}