{"version":3,"file":"homepageCarousel-TWR15lQO.js","sources":["../../../../../src/scripts/modules/homepageCarousel.ts"],"sourcesContent":["import { Component } from '@verndale/core';\nimport Splide from '@splidejs/splide';\nimport '@splidejs/splide/dist/css/splide-core.min.css';\n\nclass HomepageCarousel extends Component {\n slider: Splide;\n\n constructor(el: HTMLElement) {\n super(el);\n this.slider = {} as Splide;\n this.init();\n this.addSliderListeners();\n }\n\n init() {\n this.dom = {\n sliderEl: this.el.querySelector('.homepage-carousel__slider'),\n arrowsContainer: this.el.querySelector('.homepage-carousel__slider__arrows'),\n pagination: this.el.querySelector('.homepage-carousel__slider__custom-pagination'),\n };\n\n this.initSlider();\n }\n\n addSliderListeners() {\n this.slider.on('move', this.updatePagination.bind(this));\n (this.dom.arrowsContainer as HTMLElement).addEventListener('click', this.onArrowClick.bind(this));\n }\n\n initSlider() {\n this.slider = new Splide(this.dom.sliderEl as HTMLElement, {\n type: 'fade',\n gap: `var(--padding-large)`,\n pagination: false,\n arrows: true,\n mediaQuery: 'min',\n breakpoints: {\n 768: {\n autoplay: true,\n interval: 8000,\n },\n }\n }).mount();\n\n this.updatePagination(0);\n }\n\n updatePagination(index: number) {\n if (this.dom.pagination) {\n const totalPages = this.slider.Components.Slides.getLength();\n (this.dom.pagination as HTMLElement).textContent = `${index+1} / ${totalPages}`;\n if (totalPages > 1) {\n (this.dom.arrowsContainer as HTMLElement).style.display = 'flex';\n }\n }\n }\n\n onArrowClick() {\n this.slider.Components.Autoplay.pause();\n }\n}\n\nexport default HomepageCarousel;\n"],"names":["HomepageCarousel","Component","el","__publicField","Splide","index","totalPages"],"mappings":"mQAIA,MAAMA,UAAyBC,CAAU,CAGvC,YAAYC,EAAiB,CAC3B,MAAMA,CAAE,EAHVC,EAAA,eAIE,KAAK,OAAS,GACd,KAAK,KAAK,EACV,KAAK,mBAAmB,CAC1B,CAEA,MAAO,CACL,KAAK,IAAM,CACT,SAAU,KAAK,GAAG,cAA2B,4BAA4B,EACzE,gBAAiB,KAAK,GAAG,cAA2B,oCAAoC,EACxF,WAAY,KAAK,GAAG,cAA2B,+CAA+C,CAAA,EAGhG,KAAK,WAAW,CAClB,CAEA,oBAAqB,CACnB,KAAK,OAAO,GAAG,OAAQ,KAAK,iBAAiB,KAAK,IAAI,CAAC,EACtD,KAAK,IAAI,gBAAgC,iBAAiB,QAAS,KAAK,aAAa,KAAK,IAAI,CAAC,CAClG,CAEA,YAAa,CACX,KAAK,OAAS,IAAIC,EAAO,KAAK,IAAI,SAAyB,CACzD,KAAM,OACN,IAAK,uBACL,WAAY,GACZ,OAAQ,GACR,WAAY,MACZ,YAAa,CACX,IAAK,CACH,SAAU,GACV,SAAU,GACZ,CACF,CAAA,CACD,EAAE,MAAM,EAET,KAAK,iBAAiB,CAAC,CACzB,CAEA,iBAAiBC,EAAe,CAC1B,GAAA,KAAK,IAAI,WAAY,CACvB,MAAMC,EAAa,KAAK,OAAO,WAAW,OAAO,YAChD,KAAK,IAAI,WAA2B,YAAc,GAAGD,EAAM,CAAC,MAAMC,CAAU,GACzEA,EAAa,IACd,KAAK,IAAI,gBAAgC,MAAM,QAAU,OAE9D,CACF,CAEA,cAAe,CACR,KAAA,OAAO,WAAW,SAAS,MAAM,CACxC,CACF"}