{"version":3,"file":"product-carousel.js","sources":["../../../../../Flow.Showcase.Static.Bundler/node_modules/swiper/modules/navigation.mjs","../../../../../Flow.Showcase.Static.Bundler/node_modules/swiper/modules/thumbs.mjs","../../../../../Flow.Showcase.Static.Bundler/Root/entrypoints/product-carousel.ts"],"sourcesContent":["import { c as createElementIfNotDefined } from '../shared/create-element-if-not-defined.mjs';\nimport { m as makeElementsArray } from '../shared/utils.mjs';\n\nfunction Navigation(_ref) {\n let {\n swiper,\n extendParams,\n on,\n emit\n } = _ref;\n extendParams({\n navigation: {\n nextEl: null,\n prevEl: null,\n hideOnClick: false,\n disabledClass: 'swiper-button-disabled',\n hiddenClass: 'swiper-button-hidden',\n lockClass: 'swiper-button-lock',\n navigationDisabledClass: 'swiper-navigation-disabled'\n }\n });\n swiper.navigation = {\n nextEl: null,\n prevEl: null\n };\n function getEl(el) {\n let res;\n if (el && typeof el === 'string' && swiper.isElement) {\n res = swiper.el.querySelector(el) || swiper.hostEl.querySelector(el);\n if (res) return res;\n }\n if (el) {\n if (typeof el === 'string') res = [...document.querySelectorAll(el)];\n if (swiper.params.uniqueNavElements && typeof el === 'string' && res && res.length > 1 && swiper.el.querySelectorAll(el).length === 1) {\n res = swiper.el.querySelector(el);\n } else if (res && res.length === 1) {\n res = res[0];\n }\n }\n if (el && !res) return el;\n // if (Array.isArray(res) && res.length === 1) res = res[0];\n return res;\n }\n function toggleEl(el, disabled) {\n const params = swiper.params.navigation;\n el = makeElementsArray(el);\n el.forEach(subEl => {\n if (subEl) {\n subEl.classList[disabled ? 'add' : 'remove'](...params.disabledClass.split(' '));\n if (subEl.tagName === 'BUTTON') subEl.disabled = disabled;\n if (swiper.params.watchOverflow && swiper.enabled) {\n subEl.classList[swiper.isLocked ? 'add' : 'remove'](params.lockClass);\n }\n }\n });\n }\n function update() {\n // Update Navigation Buttons\n const {\n nextEl,\n prevEl\n } = swiper.navigation;\n if (swiper.params.loop) {\n toggleEl(prevEl, false);\n toggleEl(nextEl, false);\n return;\n }\n toggleEl(prevEl, swiper.isBeginning && !swiper.params.rewind);\n toggleEl(nextEl, swiper.isEnd && !swiper.params.rewind);\n }\n function onPrevClick(e) {\n e.preventDefault();\n if (swiper.isBeginning && !swiper.params.loop && !swiper.params.rewind) return;\n swiper.slidePrev();\n emit('navigationPrev');\n }\n function onNextClick(e) {\n e.preventDefault();\n if (swiper.isEnd && !swiper.params.loop && !swiper.params.rewind) return;\n swiper.slideNext();\n emit('navigationNext');\n }\n function init() {\n const params = swiper.params.navigation;\n swiper.params.navigation = createElementIfNotDefined(swiper, swiper.originalParams.navigation, swiper.params.navigation, {\n nextEl: 'swiper-button-next',\n prevEl: 'swiper-button-prev'\n });\n if (!(params.nextEl || params.prevEl)) return;\n let nextEl = getEl(params.nextEl);\n let prevEl = getEl(params.prevEl);\n Object.assign(swiper.navigation, {\n nextEl,\n prevEl\n });\n nextEl = makeElementsArray(nextEl);\n prevEl = makeElementsArray(prevEl);\n const initButton = (el, dir) => {\n if (el) {\n el.addEventListener('click', dir === 'next' ? onNextClick : onPrevClick);\n }\n if (!swiper.enabled && el) {\n el.classList.add(...params.lockClass.split(' '));\n }\n };\n nextEl.forEach(el => initButton(el, 'next'));\n prevEl.forEach(el => initButton(el, 'prev'));\n }\n function destroy() {\n let {\n nextEl,\n prevEl\n } = swiper.navigation;\n nextEl = makeElementsArray(nextEl);\n prevEl = makeElementsArray(prevEl);\n const destroyButton = (el, dir) => {\n el.removeEventListener('click', dir === 'next' ? onNextClick : onPrevClick);\n el.classList.remove(...swiper.params.navigation.disabledClass.split(' '));\n };\n nextEl.forEach(el => destroyButton(el, 'next'));\n prevEl.forEach(el => destroyButton(el, 'prev'));\n }\n on('init', () => {\n if (swiper.params.navigation.enabled === false) {\n // eslint-disable-next-line\n disable();\n } else {\n init();\n update();\n }\n });\n on('toEdge fromEdge lock unlock', () => {\n update();\n });\n on('destroy', () => {\n destroy();\n });\n on('enable disable', () => {\n let {\n nextEl,\n prevEl\n } = swiper.navigation;\n nextEl = makeElementsArray(nextEl);\n prevEl = makeElementsArray(prevEl);\n if (swiper.enabled) {\n update();\n return;\n }\n [...nextEl, ...prevEl].filter(el => !!el).forEach(el => el.classList.add(swiper.params.navigation.lockClass));\n });\n on('click', (_s, e) => {\n let {\n nextEl,\n prevEl\n } = swiper.navigation;\n nextEl = makeElementsArray(nextEl);\n prevEl = makeElementsArray(prevEl);\n const targetEl = e.target;\n let targetIsButton = prevEl.includes(targetEl) || nextEl.includes(targetEl);\n if (swiper.isElement && !targetIsButton) {\n const path = e.path || e.composedPath && e.composedPath();\n if (path) {\n targetIsButton = path.find(pathEl => nextEl.includes(pathEl) || prevEl.includes(pathEl));\n }\n }\n if (swiper.params.navigation.hideOnClick && !targetIsButton) {\n if (swiper.pagination && swiper.params.pagination && swiper.params.pagination.clickable && (swiper.pagination.el === targetEl || swiper.pagination.el.contains(targetEl))) return;\n let isHidden;\n if (nextEl.length) {\n isHidden = nextEl[0].classList.contains(swiper.params.navigation.hiddenClass);\n } else if (prevEl.length) {\n isHidden = prevEl[0].classList.contains(swiper.params.navigation.hiddenClass);\n }\n if (isHidden === true) {\n emit('navigationShow');\n } else {\n emit('navigationHide');\n }\n [...nextEl, ...prevEl].filter(el => !!el).forEach(el => el.classList.toggle(swiper.params.navigation.hiddenClass));\n }\n });\n const enable = () => {\n swiper.el.classList.remove(...swiper.params.navigation.navigationDisabledClass.split(' '));\n init();\n update();\n };\n const disable = () => {\n swiper.el.classList.add(...swiper.params.navigation.navigationDisabledClass.split(' '));\n destroy();\n };\n Object.assign(swiper.navigation, {\n enable,\n disable,\n update,\n init,\n destroy\n });\n}\n\nexport { Navigation as default };\n","import { g as getDocument } from '../shared/ssr-window.esm.mjs';\nimport { l as isObject, e as elementChildren } from '../shared/utils.mjs';\n\nfunction Thumb(_ref) {\n let {\n swiper,\n extendParams,\n on\n } = _ref;\n extendParams({\n thumbs: {\n swiper: null,\n multipleActiveThumbs: true,\n autoScrollOffset: 0,\n slideThumbActiveClass: 'swiper-slide-thumb-active',\n thumbsContainerClass: 'swiper-thumbs'\n }\n });\n let initialized = false;\n let swiperCreated = false;\n swiper.thumbs = {\n swiper: null\n };\n function onThumbClick() {\n const thumbsSwiper = swiper.thumbs.swiper;\n if (!thumbsSwiper || thumbsSwiper.destroyed) return;\n const clickedIndex = thumbsSwiper.clickedIndex;\n const clickedSlide = thumbsSwiper.clickedSlide;\n if (clickedSlide && clickedSlide.classList.contains(swiper.params.thumbs.slideThumbActiveClass)) return;\n if (typeof clickedIndex === 'undefined' || clickedIndex === null) return;\n let slideToIndex;\n if (thumbsSwiper.params.loop) {\n slideToIndex = parseInt(thumbsSwiper.clickedSlide.getAttribute('data-swiper-slide-index'), 10);\n } else {\n slideToIndex = clickedIndex;\n }\n if (swiper.params.loop) {\n swiper.slideToLoop(slideToIndex);\n } else {\n swiper.slideTo(slideToIndex);\n }\n }\n function init() {\n const {\n thumbs: thumbsParams\n } = swiper.params;\n if (initialized) return false;\n initialized = true;\n const SwiperClass = swiper.constructor;\n if (thumbsParams.swiper instanceof SwiperClass) {\n swiper.thumbs.swiper = thumbsParams.swiper;\n Object.assign(swiper.thumbs.swiper.originalParams, {\n watchSlidesProgress: true,\n slideToClickedSlide: false\n });\n Object.assign(swiper.thumbs.swiper.params, {\n watchSlidesProgress: true,\n slideToClickedSlide: false\n });\n swiper.thumbs.swiper.update();\n } else if (isObject(thumbsParams.swiper)) {\n const thumbsSwiperParams = Object.assign({}, thumbsParams.swiper);\n Object.assign(thumbsSwiperParams, {\n watchSlidesProgress: true,\n slideToClickedSlide: false\n });\n swiper.thumbs.swiper = new SwiperClass(thumbsSwiperParams);\n swiperCreated = true;\n }\n swiper.thumbs.swiper.el.classList.add(swiper.params.thumbs.thumbsContainerClass);\n swiper.thumbs.swiper.on('tap', onThumbClick);\n return true;\n }\n function update(initial) {\n const thumbsSwiper = swiper.thumbs.swiper;\n if (!thumbsSwiper || thumbsSwiper.destroyed) return;\n const slidesPerView = thumbsSwiper.params.slidesPerView === 'auto' ? thumbsSwiper.slidesPerViewDynamic() : thumbsSwiper.params.slidesPerView;\n\n // Activate thumbs\n let thumbsToActivate = 1;\n const thumbActiveClass = swiper.params.thumbs.slideThumbActiveClass;\n if (swiper.params.slidesPerView > 1 && !swiper.params.centeredSlides) {\n thumbsToActivate = swiper.params.slidesPerView;\n }\n if (!swiper.params.thumbs.multipleActiveThumbs) {\n thumbsToActivate = 1;\n }\n thumbsToActivate = Math.floor(thumbsToActivate);\n thumbsSwiper.slides.forEach(slideEl => slideEl.classList.remove(thumbActiveClass));\n if (thumbsSwiper.params.loop || thumbsSwiper.params.virtual && thumbsSwiper.params.virtual.enabled) {\n for (let i = 0; i < thumbsToActivate; i += 1) {\n elementChildren(thumbsSwiper.slidesEl, `[data-swiper-slide-index=\"${swiper.realIndex + i}\"]`).forEach(slideEl => {\n slideEl.classList.add(thumbActiveClass);\n });\n }\n } else {\n for (let i = 0; i < thumbsToActivate; i += 1) {\n if (thumbsSwiper.slides[swiper.realIndex + i]) {\n thumbsSwiper.slides[swiper.realIndex + i].classList.add(thumbActiveClass);\n }\n }\n }\n const autoScrollOffset = swiper.params.thumbs.autoScrollOffset;\n const useOffset = autoScrollOffset && !thumbsSwiper.params.loop;\n if (swiper.realIndex !== thumbsSwiper.realIndex || useOffset) {\n const currentThumbsIndex = thumbsSwiper.activeIndex;\n let newThumbsIndex;\n let direction;\n if (thumbsSwiper.params.loop) {\n const newThumbsSlide = thumbsSwiper.slides.filter(slideEl => slideEl.getAttribute('data-swiper-slide-index') === `${swiper.realIndex}`)[0];\n newThumbsIndex = thumbsSwiper.slides.indexOf(newThumbsSlide);\n direction = swiper.activeIndex > swiper.previousIndex ? 'next' : 'prev';\n } else {\n newThumbsIndex = swiper.realIndex;\n direction = newThumbsIndex > swiper.previousIndex ? 'next' : 'prev';\n }\n if (useOffset) {\n newThumbsIndex += direction === 'next' ? autoScrollOffset : -1 * autoScrollOffset;\n }\n if (thumbsSwiper.visibleSlidesIndexes && thumbsSwiper.visibleSlidesIndexes.indexOf(newThumbsIndex) < 0) {\n if (thumbsSwiper.params.centeredSlides) {\n if (newThumbsIndex > currentThumbsIndex) {\n newThumbsIndex = newThumbsIndex - Math.floor(slidesPerView / 2) + 1;\n } else {\n newThumbsIndex = newThumbsIndex + Math.floor(slidesPerView / 2) - 1;\n }\n } else if (newThumbsIndex > currentThumbsIndex && thumbsSwiper.params.slidesPerGroup === 1) ;\n thumbsSwiper.slideTo(newThumbsIndex, initial ? 0 : undefined);\n }\n }\n }\n on('beforeInit', () => {\n const {\n thumbs\n } = swiper.params;\n if (!thumbs || !thumbs.swiper) return;\n if (typeof thumbs.swiper === 'string' || thumbs.swiper instanceof HTMLElement) {\n const document = getDocument();\n const getThumbsElementAndInit = () => {\n const thumbsElement = typeof thumbs.swiper === 'string' ? document.querySelector(thumbs.swiper) : thumbs.swiper;\n if (thumbsElement && thumbsElement.swiper) {\n thumbs.swiper = thumbsElement.swiper;\n init();\n update(true);\n } else if (thumbsElement) {\n const eventName = `${swiper.params.eventsPrefix}init`;\n const onThumbsSwiper = e => {\n thumbs.swiper = e.detail[0];\n thumbsElement.removeEventListener(eventName, onThumbsSwiper);\n init();\n update(true);\n thumbs.swiper.update();\n swiper.update();\n };\n thumbsElement.addEventListener(eventName, onThumbsSwiper);\n }\n return thumbsElement;\n };\n const watchForThumbsToAppear = () => {\n if (swiper.destroyed) return;\n const thumbsElement = getThumbsElementAndInit();\n if (!thumbsElement) {\n requestAnimationFrame(watchForThumbsToAppear);\n }\n };\n requestAnimationFrame(watchForThumbsToAppear);\n } else {\n init();\n update(true);\n }\n });\n on('slideChange update resize observerUpdate', () => {\n update();\n });\n on('setTransition', (_s, duration) => {\n const thumbsSwiper = swiper.thumbs.swiper;\n if (!thumbsSwiper || thumbsSwiper.destroyed) return;\n thumbsSwiper.setTransition(duration);\n });\n on('beforeDestroy', () => {\n const thumbsSwiper = swiper.thumbs.swiper;\n if (!thumbsSwiper || thumbsSwiper.destroyed) return;\n if (swiperCreated) {\n thumbsSwiper.destroy();\n }\n });\n Object.assign(swiper.thumbs, {\n init,\n update\n });\n}\n\nexport { Thumb as default };\n","// @ts-nocheck\n/*Карусель изображений*/\n\nimport { Swiper } from \"swiper\";\nimport {\n Navigation,\n Pagination,\n Thumbs,\n} from \"swiper/modules\";\n\nlet previewsCarousel = null;\n\nconst previewsElem = document.querySelector(\".preview-carousel\");\n\nif (previewsElem) {\n previewsCarousel = new Swiper(previewsElem, {\n modules: [Navigation, Thumbs],\n spaceBetween: 10,\n slidesPerView: 4,\n freeMode: true,\n watchSlidesProgress: true,\n navigation: {\n nextEl: \".swiper-button-next\",\n prevEl: \".swiper-button-prev\",\n },\n });\n}\n\nconst imageCarousel = new Swiper(\".image-carousel\", {\n modules: [Navigation, Pagination, Thumbs],\n watchOverflow: true,\n navigation: {\n nextEl: \".swiper-button-next\",\n prevEl: \".swiper-button-prev\",\n },\n pagination: {\n el: \".swiper-pagination\",\n clickable: true\n },\n thumbs:\n previewsCarousel === null\n ? {}\n : {\n swiper: previewsCarousel,\n },\n});\n\nconst imageViewCarousel = new Swiper(\".image-viewer-carousel\", {\n modules: [Navigation, Pagination, Thumbs],\n watchOverflow: true,\n navigation: {\n nextEl: \".swiper-button-next\",\n prevEl: \".swiper-button-prev\",\n },\n pagination: {\n el: \".swiper-pagination\",\n clickable: true\n },\n});\n\nimageCarousel.on('activeIndexChange', (swiper) => {\n imageViewCarousel.slideTo(swiper.activeIndex);\n})\n"],"names":["Navigation","_ref","swiper","extendParams","on","emit","getEl","el","res","toggleEl","disabled","params","makeElementsArray","subEl","update","nextEl","prevEl","onPrevClick","e","onNextClick","init","createElementIfNotDefined","initButton","dir","destroy","destroyButton","disable","_s","targetEl","targetIsButton","path","pathEl","isHidden","enable","Thumb","initialized","swiperCreated","onThumbClick","thumbsSwiper","clickedIndex","clickedSlide","slideToIndex","thumbsParams","SwiperClass","isObject","thumbsSwiperParams","initial","slidesPerView","thumbsToActivate","thumbActiveClass","slideEl","i","elementChildren","autoScrollOffset","useOffset","currentThumbsIndex","newThumbsIndex","direction","newThumbsSlide","thumbs","document","getDocument","getThumbsElementAndInit","thumbsElement","eventName","onThumbsSwiper","watchForThumbsToAppear","duration","previewsCarousel","previewsElem","Swiper","Thumbs","imageCarousel","Pagination","imageViewCarousel"],"mappings":"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","x_google_ignoreList":[0,1]}