{"version":3,"file":"js/9107.chunk.js","mappings":"iNAOA,SAAe,CAAC,KAAU,KAAY,KAAM,OAwC5C,UAvCwBA,IACpB,MAAM,OAAEC,GAAWD,EACbE,GAAY,IAAAC,QAAO,MACnBC,GAAM,OAAgBF,EAAW,EAAG,KAEnCG,EAAYC,IAAiB,IAAAC,UAAS,GAEvCC,GAAoB,IAAAC,UAAQ,KACvB,CACHC,OAAQC,KAAKC,MAAMP,EAAa,EAAI,GAC/BQ,WACAC,SAAS,EAAG,KACjBC,MAAOJ,KAAKC,OAAOX,aAAuC,EAASA,EAAOe,QAAU,GAC/EH,WACAC,SAAS,EAAG,QAEtB,CAACT,EAAYJ,IAcVgB,EAA0BC,GAAU,gBAAoB,MAAO,CAAEC,UAAW,IAAW,4CAA6C,CAAE,cAAwB,SAATD,KACvJ,gBAAoB,IAAkB,CAAEE,GAAI,WAAWpB,EAAMoB,KAAMF,KAAMA,EAAMG,YAAY,KAC/F,OAAQ,gBAAoB,WAAgB,KACxC,gBAAoB,MAAO,CAAEF,UAAW,aACpC,gBAAoB,MAAO,CAAEA,UAAW,OACpCF,EAAuB,QAZL,gBAAoB,WAAgB,KAC9D,gBAAoB,MAAO,CAAEE,UAAW,0BANZ,gBAAoB,MAAO,CAAEA,UAAW,mCACpE,gBAAoB,WAAgB,KAChC,gBAAoB,OAAQ,KAAMX,EAAkBE,QACpD,gBAAoB,OAAQ,KAAM,KAClC,gBAAoB,OAAQ,KAAMF,EAAkBO,SAIpD,gBAAoB,MAAO,CAAEI,UAAW,wBAA0BlB,aAAuC,EAASA,EAAOe,SAAY,gBAAoB,KAAQ,CAAEM,SAAWC,GAAYrB,EAAUsB,QAAUD,EAASE,cAAgBF,GAAWjB,EAAciB,EAAOG,aAAcC,aAAcvB,EAAKwB,eAAgB,EAAGC,cAAe,EAAGC,qBAAqB,EAAMC,WAAY,CAC5WC,OAAQ,YAAYhC,EAAMoB,sBAC1Ba,OAAQ,YAAYjC,EAAMoB,wBACzBpB,EAAMC,OAAOiC,KAAKC,GAAW,gBAAoB,KAAa,CAAEhB,UAAW,0BAA2BiB,IAAKD,EAAMf,KAAM,EAAGiB,eAAgB,gBAAoB,IAAc,CAAEF,MAAOA,EAAOE,UAAWA,EAAWC,MAAOtC,EAAMsC,MAAOC,UAAWvC,EAAMwC,aAAaD,oBAQzQtB,EAAuB,UAAW,C","sources":["webpack:///./assets/stone/src/components/gallery/GalleryUniform.tsx"],"sourcesContent":["import React, { useMemo, useRef, useState } from 'react';\nimport SwiperCore, { A11y, Keyboard, Navigation, Pagination } from 'swiper';\nimport { Swiper, SwiperSlide } from 'swiper/react';\nimport { ButtonNavigation } from '@stone/ui/button/CarouselNavigation';\nimport classNames from 'classnames';\nimport useSwiperColGap from '@stone/hooks/useSwiperColGap';\nimport GallerySlide from './GallerySlide';\nSwiperCore.use([Keyboard, Navigation, A11y, Pagination]);\nconst GalleryUniForm = (props) => {\n const { slides } = props;\n const swiperRef = useRef(null);\n const gap = useSwiperColGap(swiperRef, 2, 20);\n // ANCHOR - STATES --------------------------------------------------------------------\n const [pagination, setPagination] = useState(0);\n // ANCHOR - MEMO --------------------------------------------------------------------\n const paginationIndexes = useMemo(() => {\n return {\n active: Math.round(pagination / 2 + 1)\n .toString()\n .padStart(3, '0'),\n total: Math.round((slides === null || slides === void 0 ? void 0 : slides.length) / 2)\n .toString()\n .padStart(3, '0'),\n };\n }, [pagination, slides]);\n // ANCHOR - RENDERS --------------------------------------------------------------------\n const renderPagination = () => (React.createElement(\"div\", { className: \"gallery__pagination font__title\" },\n React.createElement(React.Fragment, null,\n React.createElement(\"span\", null, paginationIndexes.active),\n React.createElement(\"span\", null, \"/\"),\n React.createElement(\"span\", null, paginationIndexes.total))));\n const renderCarousel = () => (React.createElement(React.Fragment, null,\n React.createElement(\"div\", { className: \"col-lg-20 col-offset-2\" },\n renderPagination(),\n React.createElement(\"div\", { className: \"gallery__carousel\" }, !!(slides === null || slides === void 0 ? void 0 : slides.length) && (React.createElement(Swiper, { onSwiper: (swiper) => (swiperRef.current = swiper), onSlideChange: (swiper) => setPagination(swiper.activeIndex), spaceBetween: gap, slidesPerGroup: 2, slidesPerView: 2, watchSlidesProgress: true, navigation: {\n nextEl: `.gallery-${props.id}-navigation--next`,\n prevEl: `.gallery-${props.id}-navigation--prev`,\n } }, props.slides.map((slide) => (React.createElement(SwiperSlide, { className: \"gallery__carousel-slide\", key: slide.id }, ({ isVisible }) => React.createElement(GallerySlide, { slide: slide, isVisible: isVisible, ratio: props.ratio, isDesktop: props.mediaQueries.isDesktop }))))))))));\n const renderButtonNavigation = (type) => (React.createElement(\"div\", { className: classNames('col-lg-2 gallery__carousel-navigation-col', { 'justify-end': type === 'next' }) },\n React.createElement(ButtonNavigation, { id: `gallery-${props.id}`, type: type, isExtended: true })));\n return (React.createElement(React.Fragment, null,\n React.createElement(\"div\", { className: \"container\" },\n React.createElement(\"div\", { className: \"row\" },\n renderButtonNavigation('prev'),\n renderCarousel(),\n renderButtonNavigation('next')))));\n};\nexport default GalleryUniForm;\n"],"names":["props","slides","swiperRef","useRef","gap","pagination","setPagination","useState","paginationIndexes","useMemo","active","Math","round","toString","padStart","total","length","renderButtonNavigation","type","className","id","isExtended","onSwiper","swiper","current","onSlideChange","activeIndex","spaceBetween","slidesPerGroup","slidesPerView","watchSlidesProgress","navigation","nextEl","prevEl","map","slide","key","isVisible","ratio","isDesktop","mediaQueries"],"sourceRoot":""}