{"version":3,"sources":["block-deals.js"],"names":["BlockDeals","constructor","container","options","this","Object","assign","swiper","modal","infoIcon","modalClose","document","querySelector","swiperElem","modals","querySelectorAll","modalCloseIcons","infoIcons","initSwiper","setEvents","forEach","icon","addEventListener","e","stopPropagation","dataset","modalId","modalOpen","classList","add","remove","Swiper","direction","loop","slidesPerView","centeredSlides","spaceBetween","grabCursor","pagination","el","clickable","breakpoints","998","1400"],"mappings":"qBAAqBA,WACjBC,YAAYC,EAAWC,GAOnBC,KAAKD,QAAUE,OAAOC,OAAO,GANN,CACnBC,OAAQ,qBACRC,MAAO,cACPC,SAAU,aACVC,WAAY,mBAChB,EACiDP,CAAO,EAExDC,KAAKF,UAAYS,SAASC,cAAcV,CAAS,EACjDE,KAAKS,WAAaT,KAAKF,UAAUU,cAAcR,KAAKD,QAAQI,MAAM,EAClEH,KAAKG,OAAS,KACdH,KAAKU,OAASV,KAAKF,UAAUa,iBAAiBX,KAAKD,QAAQK,KAAK,EAChEJ,KAAKY,gBAAkBZ,KAAKF,UAAUa,iBAAiBX,KAAKD,QAAQO,UAAU,EAC9EN,KAAKa,UAAYb,KAAKF,UAAUa,iBAAiBX,KAAKD,QAAQM,QAAQ,EAGtEL,KAAKc,WAAW,EAChBd,KAAKe,UAAU,CACnB,CAEAA,YACIf,KAAKa,UAAUG,QAAQC,IACnBA,EAAKC,iBAAiB,QAASC,IAC3BA,EAAEC,gBAAgB,EAClBpB,KAAKU,OAAOM,QAAQZ,IACZA,EAAMiB,QAAQC,UAAYL,EAAKI,QAAQE,WACvCnB,EAAMoB,UAAUC,IAAI,QAAQ,CAEpC,CAAC,CACL,CAAC,CACL,CAAC,EAEDzB,KAAKY,gBAAgBI,QAAQC,IACzBA,EAAKC,iBAAiB,QAASC,IAC3BA,EAAEC,gBAAgB,EAClBpB,KAAKU,OAAOM,QAAQZ,IAChBA,EAAMoB,UAAUE,OAAO,QAAQ,CACnC,CAAC,CACL,CAAC,CACL,CAAC,CAEL,CAEAZ,aACId,KAAKG,OAAS,IAAIwB,OAAO3B,KAAKS,WAAY,CACtCmB,UAAW,aACXC,KAAM,CAAA,EACNC,cAAe,KACfC,eAAgB,CAAA,EAChBC,aAAc,GACdC,WAAY,CAAA,EACZC,WAAY,CACRC,GAAI,qDACJC,UAAW,CAAA,CACf,EACAC,YAAa,CACTC,IAAK,CACDR,cAAe,EACfC,eAAgB,CAAA,EAChBC,aAAc,EAClB,EACAO,KAAM,CACFT,cAAe,EACfC,eAAgB,CAAA,EAChBC,aAAc,EAClB,CACJ,CACJ,CAAC,CACL,CACJ","file":"block-deals.min.js","sourcesContent":["export default class BlockDeals {\r\n constructor(container, options) {\r\n const defaultOptions = {\r\n swiper: '.deals-list-swiper',\r\n modal: '.deal-modal',\r\n infoIcon: '.icon-info',\r\n modalClose: '.icon-modal-close',\r\n };\r\n this.options = Object.assign({}, defaultOptions, options);\r\n \r\n this.container = document.querySelector(container);\r\n this.swiperElem = this.container.querySelector(this.options.swiper);\r\n this.swiper = null;\r\n this.modals = this.container.querySelectorAll(this.options.modal);\r\n this.modalCloseIcons = this.container.querySelectorAll(this.options.modalClose);\r\n this.infoIcons = this.container.querySelectorAll(this.options.infoIcon);\r\n \r\n \r\n this.initSwiper();\r\n this.setEvents();\r\n }\r\n \r\n setEvents() {\r\n this.infoIcons.forEach(icon => {\r\n icon.addEventListener('click', e => {\r\n e.stopPropagation()\r\n this.modals.forEach(modal => {\r\n if (modal.dataset.modalId === icon.dataset.modalOpen) {\r\n modal.classList.add('active')\r\n }\r\n });\r\n });\r\n });\r\n\r\n this.modalCloseIcons.forEach(icon => {\r\n icon.addEventListener('click', e => {\r\n e.stopPropagation()\r\n this.modals.forEach(modal => { \r\n modal.classList.remove('active')\r\n })\r\n })\r\n })\r\n \r\n }\r\n \r\n initSwiper() {\r\n this.swiper = new Swiper(this.swiperElem, {\r\n direction: 'horizontal',\r\n loop: true,\r\n slidesPerView: 1.15,\r\n centeredSlides: true,\r\n spaceBetween: 15,\r\n grabCursor: true,\r\n pagination: {\r\n el: '.block-deals .deals-list-swiper .swiper-pagination',\r\n clickable: true\r\n },\r\n breakpoints: {\r\n 998: {\r\n slidesPerView: 3,\r\n centeredSlides: false,\r\n spaceBetween: 30\r\n },\r\n 1400: {\r\n slidesPerView: 5,\r\n centeredSlides: false,\r\n spaceBetween: 30\r\n }\r\n }\r\n })\r\n }\r\n}"]}