{"version":3,"file":"grid-BZ4EKnFQ.js","sources":["../../../node_modules/swiper/modules/grid.mjs"],"sourcesContent":["function Grid(_ref) {\n let {\n swiper,\n extendParams,\n on\n } = _ref;\n extendParams({\n grid: {\n rows: 1,\n fill: 'column'\n }\n });\n let slidesNumberEvenToRows;\n let slidesPerRow;\n let numFullColumns;\n let wasMultiRow;\n const getSpaceBetween = () => {\n let spaceBetween = swiper.params.spaceBetween;\n if (typeof spaceBetween === 'string' && spaceBetween.indexOf('%') >= 0) {\n spaceBetween = parseFloat(spaceBetween.replace('%', '')) / 100 * swiper.size;\n } else if (typeof spaceBetween === 'string') {\n spaceBetween = parseFloat(spaceBetween);\n }\n return spaceBetween;\n };\n const initSlides = slides => {\n const {\n slidesPerView\n } = swiper.params;\n const {\n rows,\n fill\n } = swiper.params.grid;\n const slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : slides.length;\n numFullColumns = Math.floor(slidesLength / rows);\n if (Math.floor(slidesLength / rows) === slidesLength / rows) {\n slidesNumberEvenToRows = slidesLength;\n } else {\n slidesNumberEvenToRows = Math.ceil(slidesLength / rows) * rows;\n }\n if (slidesPerView !== 'auto' && fill === 'row') {\n slidesNumberEvenToRows = Math.max(slidesNumberEvenToRows, slidesPerView * rows);\n }\n slidesPerRow = slidesNumberEvenToRows / rows;\n };\n const unsetSlides = () => {\n if (swiper.slides) {\n swiper.slides.forEach(slide => {\n if (slide.swiperSlideGridSet) {\n slide.style.height = '';\n slide.style[swiper.getDirectionLabel('margin-top')] = '';\n }\n });\n }\n };\n const updateSlide = (i, slide, slides) => {\n const {\n slidesPerGroup\n } = swiper.params;\n const spaceBetween = getSpaceBetween();\n const {\n rows,\n fill\n } = swiper.params.grid;\n const slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : slides.length;\n // Set slides order\n let newSlideOrderIndex;\n let column;\n let row;\n if (fill === 'row' && slidesPerGroup > 1) {\n const groupIndex = Math.floor(i / (slidesPerGroup * rows));\n const slideIndexInGroup = i - rows * slidesPerGroup * groupIndex;\n const columnsInGroup = groupIndex === 0 ? slidesPerGroup : Math.min(Math.ceil((slidesLength - groupIndex * rows * slidesPerGroup) / rows), slidesPerGroup);\n row = Math.floor(slideIndexInGroup / columnsInGroup);\n column = slideIndexInGroup - row * columnsInGroup + groupIndex * slidesPerGroup;\n newSlideOrderIndex = column + row * slidesNumberEvenToRows / rows;\n slide.style.order = newSlideOrderIndex;\n } else if (fill === 'column') {\n column = Math.floor(i / rows);\n row = i - column * rows;\n if (column > numFullColumns || column === numFullColumns && row === rows - 1) {\n row += 1;\n if (row >= rows) {\n row = 0;\n column += 1;\n }\n }\n } else {\n row = Math.floor(i / slidesPerRow);\n column = i - row * slidesPerRow;\n }\n slide.row = row;\n slide.column = column;\n slide.style.height = `calc((100% - ${(rows - 1) * spaceBetween}px) / ${rows})`;\n slide.style[swiper.getDirectionLabel('margin-top')] = row !== 0 ? spaceBetween && `${spaceBetween}px` : '';\n slide.swiperSlideGridSet = true;\n };\n const updateWrapperSize = (slideSize, snapGrid) => {\n const {\n centeredSlides,\n roundLengths\n } = swiper.params;\n const spaceBetween = getSpaceBetween();\n const {\n rows\n } = swiper.params.grid;\n swiper.virtualSize = (slideSize + spaceBetween) * slidesNumberEvenToRows;\n swiper.virtualSize = Math.ceil(swiper.virtualSize / rows) - spaceBetween;\n if (!swiper.params.cssMode) {\n swiper.wrapperEl.style[swiper.getDirectionLabel('width')] = `${swiper.virtualSize + spaceBetween}px`;\n }\n if (centeredSlides) {\n const newSlidesGrid = [];\n for (let i = 0; i < snapGrid.length; i += 1) {\n let slidesGridItem = snapGrid[i];\n if (roundLengths) slidesGridItem = Math.floor(slidesGridItem);\n if (snapGrid[i] < swiper.virtualSize + snapGrid[0]) newSlidesGrid.push(slidesGridItem);\n }\n snapGrid.splice(0, snapGrid.length);\n snapGrid.push(...newSlidesGrid);\n }\n };\n const onInit = () => {\n wasMultiRow = swiper.params.grid && swiper.params.grid.rows > 1;\n };\n const onUpdate = () => {\n const {\n params,\n el\n } = swiper;\n const isMultiRow = params.grid && params.grid.rows > 1;\n if (wasMultiRow && !isMultiRow) {\n el.classList.remove(`${params.containerModifierClass}grid`, `${params.containerModifierClass}grid-column`);\n numFullColumns = 1;\n swiper.emitContainerClasses();\n } else if (!wasMultiRow && isMultiRow) {\n el.classList.add(`${params.containerModifierClass}grid`);\n if (params.grid.fill === 'column') {\n el.classList.add(`${params.containerModifierClass}grid-column`);\n }\n swiper.emitContainerClasses();\n }\n wasMultiRow = isMultiRow;\n };\n on('init', onInit);\n on('update', onUpdate);\n swiper.grid = {\n initSlides,\n unsetSlides,\n updateSlide,\n updateWrapperSize\n };\n}\n\nexport { Grid as default };\n"],"names":["Grid","_ref","swiper","extendParams","on","slidesNumberEvenToRows","slidesPerRow","numFullColumns","wasMultiRow","getSpaceBetween","spaceBetween","initSlides","slides","slidesPerView","rows","fill","slidesLength","unsetSlides","slide","updateSlide","i","slidesPerGroup","newSlideOrderIndex","column","row","groupIndex","slideIndexInGroup","columnsInGroup","updateWrapperSize","slideSize","snapGrid","centeredSlides","roundLengths","newSlidesGrid","slidesGridItem","onInit","onUpdate","params","el","isMultiRow"],"mappings":"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","x_google_ignoreList":[0]}