{"version":3,"file":"elements-who-we-help-carousel.js","mappings":"yJAGAA,SAASC,iBAAiB,8BAA8BC,SAASC,IAC/D,MAAMC,EAAYD,EAAGE,cAAc,WAO7BC,EAAS,IAAIC,EAAAA,EAAOH,EAAW,CACnCI,QAAS,CAACC,EAAAA,GAAMC,EAAAA,GAAUC,EAAAA,IAC1BC,SAAU,CACRC,MAAO,IACPC,mBAAmB,GAErBC,OAAQ,OACRC,WAAY,CACVC,WAAW,GAEbC,MAAM,EACNC,MAAO,IACPC,GAAI,CACFC,2BAA6Bf,IAlBNgB,QAmBFhB,EAAOiB,UAAY,EAlB1CpB,EAAGF,iBAAiB,gBAAgBC,SAASsB,GAAMA,EAAEC,UAAUC,OAAO,eACtEvB,EAAGE,cAAe,4BAA2BiB,OAAgBG,UAAUE,IAAI,YAmB1C,KAKnCrB,EAAOM,SAASgB,OAEM,iBAAkB5B,SAAS6B,iBAG/C1B,EAAGF,iBAAiB,gBAAgBC,SAAS4B,IAC3CA,EAAMC,iBAAiB,aAAcC,IACnC,MACMC,EADaD,EAAEE,cAAcC,QAAQC,MACX,EAEhC9B,EAAO+B,QAAQJ,EAAW,GAC1B,IAIN,MAAMK,EAAW,IAAIC,sBACnB,EAAEP,MACIA,EAAEQ,iBACJlC,EAAOM,SAAS6B,QAChBH,EAASI,aACX,GAEF,CACEC,UAAW,CAAC,MAIhBL,EAASM,QAAQzC,EAAG,G","sources":["webpack://silverstripe-base/./themes/app/src/elements/who-we-help-carousel.js"],"sourcesContent":["import Swiper from \"swiper\";\nimport { A11y, Autoplay, EffectFade } from \"swiper/modules\";\n\ndocument.querySelectorAll(\".element-whowehelpcarousel\").forEach((el) => {\n const container = el.querySelector(\".swiper\");\n\n const handleSlideChange = (labelIndex) => {\n el.querySelectorAll(\".slide-label\").forEach((x) => x.classList.remove(\"is-active\"));\n el.querySelector(`.slide-label[data-index=\"${labelIndex}\"]`).classList.add(\"is-active\");\n };\n\n const swiper = new Swiper(container, {\n modules: [A11y, Autoplay, EffectFade],\n autoplay: {\n delay: 4000,\n pauseOnMouseEnter: true,\n },\n effect: \"fade\",\n fadeEffect: {\n crossFade: true,\n },\n loop: true,\n speed: 1000,\n on: {\n slideChangeTransitionStart: (swiper) => {\n const labelIndex = swiper.realIndex + 1;\n\n handleSlideChange(labelIndex);\n },\n },\n });\n\n swiper.autoplay.stop();\n\n const isTouchDevice = \"ontouchstart\" in document.documentElement;\n\n if (!isTouchDevice) {\n el.querySelectorAll(\".slide-label\").forEach((label) => {\n label.addEventListener(\"mouseover\", (e) => {\n const labelIndex = e.currentTarget.dataset.index;\n const slideIndex = labelIndex - 1;\n\n swiper.slideTo(slideIndex);\n });\n });\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"],"names":["document","querySelectorAll","forEach","el","container","querySelector","swiper","Swiper","modules","A11y","Autoplay","EffectFade","autoplay","delay","pauseOnMouseEnter","effect","fadeEffect","crossFade","loop","speed","on","slideChangeTransitionStart","labelIndex","realIndex","x","classList","remove","add","stop","documentElement","label","addEventListener","e","slideIndex","currentTarget","dataset","index","slideTo","observer","IntersectionObserver","isIntersecting","start","disconnect","threshold","observe"],"sourceRoot":""}