{"version":3,"file":"carousel-controller-ukA16UH8.js","sources":["../../../app/frontend/src/jobseeker/main/js/utils/constants.js","../../../app/frontend/src/jobseeker/main/js/controllers/carousel-controller.js"],"sourcesContent":["const CSS_CLASSES = {\n modalContent: '.js-modal',\n formError: '.form-error'\n};\n\nconst KEY_CODES = {\n escape: 27,\n enter: 13\n};\n\nconst MEDIA_QUERIES = {\n // xs: '(max-width: 739px)',\n // sm: '(min-width: 740px) and (max-width: 959px)',\n // md: '(min-width: 960px) and (max-width: 1079px)',\n // lg: '(min-width: 1080px) and (max-width: 1439px)',\n // xl: '(min-width: 1440px)',\n small: '(max-width: 1079px)',\n large: '(min-width: 1080px)'\n // dark: '(prefers-color-scheme: dark)',\n // landscape: '(orientation: landscape)'\n};\n\nexport { CSS_CLASSES, KEY_CODES, MEDIA_QUERIES };\n","import { Controller } from '@hotwired/stimulus';\nimport { useMatchMedia } from 'stimulus-use';\nimport { MEDIA_QUERIES } from '../utils/constants';\nimport Swiper from 'swiper';\nimport { Navigation, Scrollbar, FreeMode } from 'swiper/modules';\nimport 'swiper/css';\n// import 'swiper/scss/navigation';\nimport 'swiper/css/scrollbar';\nimport 'swiper/css/free-mode';\nimport 'swiper/css/grid';\n\nexport default class extends Controller {\n static targets = ['next', 'prev', 'slider', 'pagination'];\n\n static values = {\n component: Boolean,\n slidesPerView: Number\n };\n\n connect() {\n this.options = {\n modules: [Navigation, FreeMode, Scrollbar],\n watchOverflow: true,\n grabCursor: true,\n preventInteractionOnTransition: true,\n spaceBetween: 12,\n slidesPerView: this.slidesPerView || 3,\n roundLengths: false,\n navigation: this.hasNavigation,\n scrollbar: this.hasPagination\n };\n\n if (this.componentValue === true) {\n this.renderComponentSwiper();\n } else {\n useMatchMedia(this, {\n mediaQueries: MEDIA_QUERIES\n });\n }\n }\n\n isLarge = ({ name, media, matches, event }) => {\n this.enableSwiper();\n };\n\n isSmall = () => {\n // if (!matches) return;\n if (this.instance !== undefined) {\n this.sliderTarget.classList.remove('swiper-container');\n this.instance.destroy(true, true);\n }\n };\n\n renderComponentSwiper() {\n this.instance = new Swiper(this.sliderTarget, {\n ...this.options,\n watchOverflow: false,\n grabCursor: false,\n roundLengths: true,\n allowTouchMove: true,\n breakpoints: {\n // when window width is >= 640px\n 768: {\n slidesPerView: this.slidesPerView || 2,\n spaceBetween: 24,\n allowTouchMove: false\n }\n },\n // cssMode: true,\n slidesPerView: 1,\n spaceBetween: 24\n });\n }\n\n enableSwiper() {\n this.sliderTarget.classList.add('swiper-container');\n\n this.instance = new Swiper(this.sliderTarget, {\n ...this.options,\n wrapperClass: 'carousel-wrapper'\n });\n }\n\n get hasNavigation() {\n if (this.hasNextTarget) {\n return {\n nextEl: this.nextTarget,\n prevEl: this.prevTarget,\n disabledClass: '-disabled'\n };\n } else {\n return false;\n }\n }\n\n get hasPagination() {\n if (this.hasPaginationTarget) {\n return {\n el: this.paginationTarget,\n hide: false\n };\n } else {\n return false;\n }\n }\n\n get slidesPerView() {\n return this.data.get('slides-per-view');\n }\n}\n"],"names":["MEDIA_QUERIES","CarouselController","Controller","__publicField","name","media","matches","event","Navigation","FreeMode","Scrollbar","useMatchMedia","Swiper"],"mappings":"2YAUA,MAAMA,EAAgB,CAMpB,MAAO,sBACP,MAAO,qBAGT,ECTe,MAAKC,UAASC,CAAW,CAAzB,kCA8BbC,EAAA,eAAU,CAAC,CAAE,KAAAC,EAAM,MAAAC,EAAO,QAAAC,EAAS,MAAAC,CAAK,IAAO,CAC7C,KAAK,aAAc,CACpB,GAEDJ,EAAA,eAAU,IAAM,CAEV,KAAK,WAAa,SACpB,KAAK,aAAa,UAAU,OAAO,kBAAkB,EACrD,KAAK,SAAS,QAAQ,GAAM,EAAI,EAEnC,GAhCD,SAAU,CACR,KAAK,QAAU,CACb,QAAS,CAACK,EAAYC,EAAUC,CAAS,EACzC,cAAe,GACf,WAAY,GACZ,+BAAgC,GAChC,aAAc,GACd,cAAe,KAAK,eAAiB,EACrC,aAAc,GACd,WAAY,KAAK,cACjB,UAAW,KAAK,aACjB,EAEG,KAAK,iBAAmB,GAC1B,KAAK,sBAAuB,EAE5BC,EAAc,KAAM,CAClB,aAAcX,CACtB,CAAO,CAEP,CAcE,uBAAwB,CACtB,KAAK,SAAW,IAAIY,EAAO,KAAK,aAAc,CAC5C,GAAG,KAAK,QACR,cAAe,GACf,WAAY,GACZ,aAAc,GACd,eAAgB,GAChB,YAAa,CAEX,IAAK,CACH,cAAe,KAAK,eAAiB,EACrC,aAAc,GACd,eAAgB,EAC1B,CACO,EAED,cAAe,EACf,aAAc,EACpB,CAAK,CACL,CAEE,cAAe,CACb,KAAK,aAAa,UAAU,IAAI,kBAAkB,EAElD,KAAK,SAAW,IAAIA,EAAO,KAAK,aAAc,CAC5C,GAAG,KAAK,QACR,aAAc,kBACpB,CAAK,CACL,CAEE,IAAI,eAAgB,CAClB,OAAI,KAAK,cACA,CACL,OAAQ,KAAK,WACb,OAAQ,KAAK,WACb,cAAe,WAChB,EAEM,EAEb,CAEE,IAAI,eAAgB,CAClB,OAAI,KAAK,oBACA,CACL,GAAI,KAAK,iBACT,KAAM,EACP,EAEM,EAEb,CAEE,IAAI,eAAgB,CAClB,OAAO,KAAK,KAAK,IAAI,iBAAiB,CAC1C,CACA,CAjGET,EADkBF,EACX,UAAU,CAAC,OAAQ,OAAQ,SAAU,YAAY,GAExDE,EAHkBF,EAGX,SAAS,CACd,UAAW,QACX,cAAe,MAChB"}