{"version":3,"file":"6618.b9b457e1.js","mappings":"umBAae,MAAAA,UAAcC,EAAAA,GAAWC,WAAAA,GAAA,SAAAC,WAAAC,EAAA,cAC3B,KAAI,CAcbC,OAAAA,GACIC,KAAKC,OAAS,IAAIC,EAAAA,EAAOF,KAAKG,QAAS,IAChCH,KAAKI,kBACLJ,KAAKK,cAEhB,CAEAC,IAAAA,CAAKL,IAC0B,IAAvBA,EAAOM,OAAOC,MAA0C,IAAzBP,EAAOQ,OAAOC,QAC7CT,EAAOU,QAAQ,EAAG,GAAG,GAEzBV,EAAOW,GAAGC,UAAUC,OAAO,YAC/B,CAEAC,wBAAAA,CAAyBd,IACM,IAAvBA,EAAOM,OAAOC,MAA0C,IAAzBP,EAAOQ,OAAOC,QAAuC,IAAvBT,EAAOe,aACpEC,YAAW,KACPhB,EAAOU,QAAQ,EAAGV,EAAOM,OAAOW,OAAO,EAAK,GAC7CjB,EAAOkB,SAASC,SAE3B,CAEAC,UAAAA,GACwB,OAAhBrB,KAAKC,SACLD,KAAKC,OAAOqB,eACZtB,KAAKC,OAAOsB,QAAQvB,KAAKwB,oBAAqBxB,KAAKyB,kBACnDzB,KAAKC,OAAS,KAEtB,CAEAyB,IAAAA,GACI1B,KAAKC,OAAOkB,SAASO,MACzB,CAEAC,IAAAA,GACI3B,KAAKC,OAAOkB,SAASS,OACzB,CAEA,kBAAIxB,GACA,MAAO,CACHyB,QAAS,CAACC,EAAAA,GAAYC,EAAAA,GAAUC,EAAAA,IAChCC,UAAW,aACXC,gBAAgB,EAChBC,WAAY,CACRC,SAAS,GAEbC,WAAY,CACRzB,GAAI,qBACJ0B,WAAW,GAEfnB,UAAU,EACVoB,GAAI,CACAjC,KAAMN,KAAKM,KACXS,yBAA0Bf,KAAKe,0BAG3C,EACHjB,EAAAJ,EAAA,SArEmB,CACZ8C,QAASC,OACTC,eAAgB,CACZC,KAAMC,QACNC,SAAS,GAEbC,YAAa,CACTH,KAAMC,QACNC,SAAS,I","sources":["webpack://@bang/www/./assets/controllers/carousel_controller.js"],"sourcesContent":["import {Controller} from '@hotwired/stimulus';\n// eslint-disable-next-line import/no-named-as-default\nimport Swiper from 'swiper';\nimport {Pagination, Autoplay, Navigation} from 'swiper/modules';\n// eslint-disable-next-line import/no-unresolved\nimport 'swiper/css';\n// eslint-disable-next-line import/no-unresolved\nimport 'swiper/css/pagination';\n// eslint-disable-next-line import/no-unresolved\nimport 'swiper/css/navigation';\nimport '../styles/carousel.css';\n\n/* stimulusFetch: 'lazy' */\nexport default class extends Controller {\n swiper = null;\n\n static values = {\n options: Object,\n deleteInstance: {\n type: Boolean,\n default: true,\n },\n cleanStyles: {\n type: Boolean,\n default: true,\n },\n };\n\n connect() {\n this.swiper = new Swiper(this.element, {\n ...this.defaultOptions,\n ...this.optionsValue,\n });\n }\n\n init(swiper) {\n if (swiper.params.loop === true && swiper.slides.length === 2) {\n swiper.slideTo(0, 0, true);\n }\n swiper.el.classList.remove('opacity-0');\n }\n\n slideChangeTransitionEnd(swiper) {\n if (swiper.params.loop === true && swiper.slides.length === 2 && swiper.activeIndex === 1) {\n setTimeout(() => {\n swiper.slideTo(0, swiper.params.speed, true);\n }, swiper.autoplay.timeLeft);\n }\n }\n\n disconnect() {\n if (this.swiper !== null) {\n this.swiper.detachEvents();\n this.swiper.destroy(this.deleteInstanceValue, this.cleanStylesValue);\n this.swiper = null;\n }\n }\n\n stop() {\n this.swiper.autoplay.stop();\n }\n\n play() {\n this.swiper.autoplay.start();\n }\n\n get defaultOptions() {\n return {\n modules: [Pagination, Autoplay, Navigation],\n direction: 'horizontal',\n centeredSlides: true,\n navigation: {\n enabled: false,\n },\n pagination: {\n el: '.swiper-pagination',\n clickable: true,\n },\n autoplay: false,\n on: {\n init: this.init,\n slideChangeTransitionEnd: this.slideChangeTransitionEnd,\n },\n };\n }\n}\n"],"names":["_class","Controller","constructor","arguments","_defineProperty","connect","this","swiper","Swiper","element","defaultOptions","optionsValue","init","params","loop","slides","length","slideTo","el","classList","remove","slideChangeTransitionEnd","activeIndex","setTimeout","speed","autoplay","timeLeft","disconnect","detachEvents","destroy","deleteInstanceValue","cleanStylesValue","stop","play","start","modules","Pagination","Autoplay","Navigation","direction","centeredSlides","navigation","enabled","pagination","clickable","on","options","Object","deleteInstance","type","Boolean","default","cleanStyles"],"sourceRoot":""}