{"version":3,"file":"Products_Slider.min.js","names":["constructor","this","containers","document","getElementsByClassName","i","length","SetupContainer","item","container","_a","dataset","swiperIsInitialized","elSwiper","SetupSwiper","swiperEnabled","swiperParams","direction","enabled","loop","navigation","nextEl","parentElement","querySelector","prevEl","disabledClass","navigationDisabledClass","breakpoints","slidesPerView","spaceBetween","pagination","el","scrollbar","on","resize","swiper","swiperController","swiperIsEnabled","sw","clientWidth","sl","prevSlide","slidePrev","console","log","activeIndex","nextSlide","slideNext","swiperControllerTimeout","window","clearTimeout","setTimeout","params","_b","slideTo","removeEventListener","update","addEventListener","Swiper","e","groupCollapsed","warn","groupEnd"],"sources":["V2/Products_Slider.js"],"mappings":"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","ignoreList":[],"sourcesContent":["// Separacja klasy pozwala na kilkukrotne osadzenie tego JS\n// Dzieje sie tak ponieważ element obsługiwany przez tą klasę JS\n// może być osadzony wielokrotnie na stronie (np. na Home)\n(function () {\n class Zepter_V2_Products_Slider {\n constructor() {\n this.containers = document.getElementsByClassName(\"V2_Products_Slider_Container\");\n // Jeśli brakuje kontenera z newsletterem\n if (!this.containers) {\n // Zakończ działanie tej klasy\n return;\n }\n // Uruchom slidery\n for (var i = 0; i < this.containers.length; i++) {\n this.SetupContainer(this.containers.item(i));\n }\n }\n SetupContainer(container) {\n var _a;\n // Jeśli ten kontener został już wcześniej skonfigurowany\n if (container.dataset.swiperIsInitialized) {\n // Zakończ tę metodę\n return;\n }\n // Zapamiętaj, że ten kontener został już skonfigurowany\n container.dataset.swiperIsInitialized = \"true\";\n // Ustal element ze swiperem\n const elSwiper = (_a = container.getElementsByClassName(\"V2_Products_Slider_Swiper\")) === null || _a === void 0 ? void 0 : _a.item(0);\n if (elSwiper) {\n this.SetupSwiper(elSwiper);\n }\n }\n SetupSwiper(elSwiper) {\n //var swiperObject = null;\n elSwiper.dataset.swiperEnabled = \"false\";\n const swiperParams = {\n // Optional parameters\n direction: 'horizontal',\n enabled: true,\n loop: false,\n navigation: {\n enabled: true,\n nextEl: elSwiper.parentElement.querySelector('[class*=\"V2_Products_Slider_Swiper_Button_Next\"]'),\n prevEl: elSwiper.parentElement.querySelector('[class*=\"V2_Products_Slider_Swiper_Button_Prev\"]'),\n disabledClass: 'NavigationButtonDisabled',\n navigationDisabledClass: 'NavigationButtonDisabled',\n },\n breakpoints: {\n // when window width is >= 320px\n //320: {\n // slidesPerView: 1,\n // spaceBetween: 20\n //},\n 10: {\n slidesPerView: 1,\n spaceBetween: 10\n },\n // when window width is >= 640px\n 950: {\n slidesPerView: 2,\n spaceBetween: 10\n },\n // when window width is >= 640px\n 1220: {\n slidesPerView: 3,\n spaceBetween: 10\n },\n // when window width is >= 640px\n 1520: {\n slidesPerView: 4,\n spaceBetween: 10\n }\n },\n // If we need pagination\n pagination: {\n el: '.swiper-pagination',\n },\n // And if we need scrollbar\n scrollbar: {\n el: '.swiper-scrollbar',\n },\n on: {\n //afterInit: (swiper) => {\n // swiperObject = swiper;\n //},\n resize: (swiper) => {\n swiperController(swiper);\n }\n }\n };\n const swiperIsEnabled = (swiper) => {\n let sw = elSwiper.clientWidth;\n let sl = elSwiper.getElementsByClassName(\"swiper-slide\").length;\n let swiperEnabled = false;\n if (sw < 640)\n swiperEnabled = sl > 1;\n else if (sw >= 640 && sw < 1000)\n swiperEnabled = sl > 2;\n else if (sw >= 1000 && sw < 1200)\n swiperEnabled = sl > 3;\n else if (sw >= 1200)\n swiperEnabled = sl > 4;\n return swiperEnabled;\n };\n const prevSlide = () => {\n // @ts-ignore\n var swiper = elSwiper.swiper;\n if (swiper) {\n //console.log(swiper.activeIndex)\n swiper.slidePrev();\n //swiper.slideTo(swiper.activeIndex - 1);\n console.log(`prev ${swiper.activeIndex - 1}`);\n }\n else {\n console.log(`prev - [swiper] engine not available`);\n }\n };\n const nextSlide = () => {\n // @ts-ignore\n var swiper = elSwiper.swiper;\n if (swiper) {\n //console.log(swiper.activeIndex)\n swiper.slideNext();\n //swiper.slideTo(swiper.activeIndex + 1);\n console.log(`next ${swiper.activeIndex + 1}`);\n }\n else {\n console.log(`next - [swiper] engine not available`);\n }\n };\n var swiperControllerTimeout = null;\n const swiperController = function (swiper) {\n window.clearTimeout(swiperControllerTimeout);\n swiperControllerTimeout = window.setTimeout(() => {\n if (swiper) {\n swiper.params.enabled = swiperIsEnabled(swiper);\n swiper.params.navigation.enabled = swiperIsEnabled(swiper);\n window.setTimeout(() => {\n var _a, _b;\n //console.log(elSwiper, `enabled: ${swiper.params.enabled}, loop: ${swiper.params.loop}`)\n swiper.slideTo(0);\n (_a = elSwiper.parentElement.querySelector('[class*=\"V2_Products_Slider_Swiper_Button_Prev\"]')) === null || _a === void 0 ? void 0 : _a.removeEventListener(\"click\", prevSlide);\n (_b = elSwiper.parentElement.querySelector('[class*=\"V2_Products_Slider_Swiper_Button_Next\"]')) === null || _b === void 0 ? void 0 : _b.removeEventListener(\"click\", nextSlide);\n window.setTimeout(() => {\n var _a, _b;\n swiper.update();\n (_a = elSwiper.parentElement.querySelector('[class*=\"V2_Products_Slider_Swiper_Button_Prev\"]')) === null || _a === void 0 ? void 0 : _a.addEventListener(\"click\", prevSlide);\n (_b = elSwiper.parentElement.querySelector('[class*=\"V2_Products_Slider_Swiper_Button_Next\"]')) === null || _b === void 0 ? void 0 : _b.addEventListener(\"click\", nextSlide);\n //elSwiper.parentElement.querySelector('[class=\"V2_Products_Slider_Swiper_Button_Prev\"]')?.classList.add(\"NavigationButtonDisabled\");\n }, 500);\n }, 500);\n }\n }, 500);\n };\n try {\n // @ts-ignore\n var swiper = new Swiper(elSwiper, swiperParams);\n window.setTimeout(() => {\n swiperController(swiper);\n }, 1000);\n }\n catch (e) {\n console.groupCollapsed(\"Unable to initialize Swiper Slider with products tiles.\");\n console.warn(e);\n console.groupEnd();\n }\n }\n }\n // Uruchom klasę\n new Zepter_V2_Products_Slider();\n})();\n//# sourceMappingURL=Products_Slider.js.map"]}