{"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":""}