{"version":3,"file":"elements-stats-js-2w4KDnl_.js","sources":["../src/entries/elements/stats.js"],"sourcesContent":["import { CountUp } from \"countup.js\";\nimport Swiper from \"swiper\";\nimport { A11y, Autoplay, Pagination } from \"swiper/modules\";\nimport \"@/styles/components/slider.css\";\n\nconst runCounter = (el) => {\n if (window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches) {\n return;\n }\n\n const useGrouping = el.dataset.useGrouping;\n const decimalPlaces = el.dataset.decimalPlaces;\n const end = el.dataset.end;\n\n const opts = {\n useGrouping: !!+useGrouping,\n };\n\n if (decimalPlaces) {\n opts.decimalPlaces = decimalPlaces;\n }\n\n const counter = new CountUp(el, end, opts);\n\n counter.start();\n};\n\ndocument.querySelectorAll(\".element-stats\").forEach((el) => {\n const container = el.querySelector(\".swiper\");\n const numSlides = el.querySelectorAll(\".swiper-slide\").length;\n\n if (numSlides > 1) {\n const swiper = new Swiper(container, {\n modules: [A11y, Autoplay, Pagination],\n autoplay: {\n delay: 3000,\n },\n speed: 750,\n loop: true,\n pagination: {\n el: el.querySelector(\".slider-pagination\"),\n clickable: true,\n },\n slidesPerView: 1,\n spaceBetween: 24,\n breakpoints: {\n 768: {\n enabled: numSlides > 3,\n slidesPerView: 3,\n loop: numSlides > 3,\n },\n },\n });\n\n swiper.autoplay.stop();\n\n const handleActiveSlide = (activeSlide) => {\n if (!activeSlide.classList.contains(\"did-run\")) {\n const counters = activeSlide.querySelectorAll(\"[data-counter]\");\n counters.forEach((counter) => runCounter(counter));\n\n activeSlide.classList.add(\"did-run\");\n }\n };\n\n swiper.on(\"autoplayStart\", () => {\n if (swiper.enabled) {\n const activeSlide = swiper.slides[swiper.activeIndex];\n handleActiveSlide(activeSlide);\n } else {\n el.querySelectorAll(\".swiper-slide\").forEach((slide) => {\n handleActiveSlide(slide);\n });\n }\n });\n\n swiper.on(\"slideChange\", () => {\n const activeSlide = swiper.slides[swiper.activeIndex];\n handleActiveSlide(activeSlide);\n });\n\n const observer = new IntersectionObserver(\n ([e]) => {\n if (e.isIntersecting) {\n swiper.autoplay.start();\n observer.disconnect();\n }\n },\n {\n threshold: [0.7],\n },\n );\n\n observer.observe(el);\n }\n});\n"],"names":["runCounter","el","useGrouping","decimalPlaces","end","opts","CountUp","container","numSlides","swiper","Swiper","A11y","Autoplay","Pagination","handleActiveSlide","activeSlide","counter","slide","observer","e"],"mappings":"sLAKA,MAAMA,EAAcC,GAAO,CACzB,GAAI,OAAO,WAAW,kCAAkC,EAAE,QACxD,OAGF,MAAMC,EAAcD,EAAG,QAAQ,YACzBE,EAAgBF,EAAG,QAAQ,cAC3BG,EAAMH,EAAG,QAAQ,IAEjBI,EAAO,CACX,YAAa,CAAC,CAAC,CAACH,CACpB,EAEMC,IACFE,EAAK,cAAgBF,GAGP,IAAIG,EAAQL,EAAIG,EAAKC,CAAI,EAEjC,MAAK,CACf,EAEA,SAAS,iBAAiB,gBAAgB,EAAE,QAASJ,GAAO,CAC1D,MAAMM,EAAYN,EAAG,cAAc,SAAS,EACtCO,EAAYP,EAAG,iBAAiB,eAAe,EAAE,OAEvD,GAAIO,EAAY,EAAG,CACjB,MAAMC,EAAS,IAAIC,EAAOH,EAAW,CACnC,QAAS,CAACI,EAAMC,EAAUC,CAAU,EACpC,SAAU,CACR,MAAO,GACR,EACD,MAAO,IACP,KAAM,GACN,WAAY,CACV,GAAIZ,EAAG,cAAc,oBAAoB,EACzC,UAAW,EACZ,EACD,cAAe,EACf,aAAc,GACd,YAAa,CACX,IAAK,CACH,QAASO,EAAY,EACrB,cAAe,EACf,KAAMA,EAAY,CACnB,CACF,CACP,CAAK,EAEDC,EAAO,SAAS,OAEhB,MAAMK,EAAqBC,GAAgB,CACpCA,EAAY,UAAU,SAAS,SAAS,IAC1BA,EAAY,iBAAiB,gBAAgB,EACrD,QAASC,GAAYhB,EAAWgB,CAAO,CAAC,EAEjDD,EAAY,UAAU,IAAI,SAAS,EAE3C,EAEIN,EAAO,GAAG,gBAAiB,IAAM,CAC/B,GAAIA,EAAO,QAAS,CAClB,MAAMM,EAAcN,EAAO,OAAOA,EAAO,WAAW,EACpDK,EAAkBC,CAAW,CACrC,MACQd,EAAG,iBAAiB,eAAe,EAAE,QAASgB,GAAU,CACtDH,EAAkBG,CAAK,CACjC,CAAS,CAET,CAAK,EAEDR,EAAO,GAAG,cAAe,IAAM,CAC7B,MAAMM,EAAcN,EAAO,OAAOA,EAAO,WAAW,EACpDK,EAAkBC,CAAW,CACnC,CAAK,EAED,MAAMG,EAAW,IAAI,qBACnB,CAAC,CAACC,CAAC,IAAM,CACHA,EAAE,iBACJV,EAAO,SAAS,QAChBS,EAAS,WAAU,EAEtB,EACD,CACE,UAAW,CAAC,EAAG,CAChB,CACP,EAEIA,EAAS,QAAQjB,CAAE,CACpB,CACH,CAAC"}