{"version":3,"file":"Src_Scripts_components_content-grid-swiper_js.37cfc154f8f2a01a092d.js","sources":["webpack://Boerneraadet/./Src/Scripts/components/content-grid-swiper.js"],"sourcesContent":["import Swiper, { Navigation, Scrollbar } from 'swiper/core';\r\n\r\nexport default class contentGridSwiper {\r\n\r\n // This component must be on .swiper-container element for swiper to work\r\n\r\n constructor(elm, args) {\r\n\r\n Swiper.use([Navigation]);\r\n Swiper.use([Scrollbar]);\r\n\r\n\r\n var swiperPrev = elm.querySelector('.swiper-button-prev');\r\n var swiperNext = elm.querySelector('.swiper-button-next');\r\n\r\n if (!elm.querySelectorAll('.swiper-slide').length > 0) {\r\n console.log('no slides');\r\n return;\r\n }\r\n this.elm = elm;\r\n\r\n var slidesPerView = 3;\r\n\r\n if (window.innerWidth < 1000) {\r\n slidesPerView = 2;\r\n }\r\n if (window.innerWidth < 768) {\r\n // mobile\r\n slidesPerView = 1.1;\r\n swiperPrev.style.display = 'none';\r\n swiperNext.style.display = 'none';\r\n }\r\n\r\n\r\n var spaceBetween = 46;\r\n if (window.innerWidth < 1600) {\r\n spaceBetween = 23;\r\n }\r\n\r\n var numItems = elm.querySelectorAll('.swiper-slide').length;\r\n var scrolllength = elm.querySelector('.swiper-scrollbar').offsetWidth;\r\n var dragSize = Math.floor(scrolllength / numItems) * slidesPerView;\r\n\r\n this.options = {\r\n loop: false,\r\n watchSlidesProgress: true,\r\n slidesPerView: slidesPerView,\r\n slidesPerGroup: 1,\r\n spaceBetween: spaceBetween,\r\n navigation: {\r\n nextEl: '.swiper-button-next',\r\n prevEl: '.swiper-button-prev'\r\n },\r\n scrollbar: {\r\n el: '.swiper-scrollbar',\r\n draggable: true,\r\n dragSize: dragSize\r\n }\r\n };\r\n\r\n this.swiper = new Swiper(this.elm, this.options);\r\n var mySwiper = this.swiper;\r\n\r\n elm.querySelectorAll('.sgrid-item.linked').forEach(item => {\r\n item.addEventListener('click', function (event) {\r\n location.href = item.dataset.link;\r\n }, true);\r\n });\r\n\r\n \r\n window.addEventListener('resize', function (event) {\r\n\r\n var swiperPrev = elm.querySelector('.swiper-button-prev');\r\n var swiperNext = elm.querySelector('.swiper-button-next');\r\n swiperPrev.style.display = 'block';\r\n swiperNext.style.display = 'block';\r\n\r\n var slidesPerView = 3;\r\n if (window.innerWidth < 1000) {\r\n slidesPerView = 2;\r\n }\r\n if (window.innerWidth < 768) {\r\n slidesPerView = 1.1;\r\n swiperPrev.style.display = 'none';\r\n swiperNext.style.display = 'none';\r\n }\r\n \r\n spaceBetween = 46;\r\n if (window.innerWidth < 1600) {\r\n spaceBetween = 23;\r\n }\r\n\r\n var numItems = elm.querySelectorAll('.swiper-slide').length;\r\n var scrolllength = elm.querySelector('.swiper-scrollbar').offsetWidth;\r\n var dragSize = Math.floor(scrolllength / numItems) * slidesPerView;\r\n\r\n mySwiper.params.slidesPerView = slidesPerView;\r\n mySwiper.params.scrollbar.dragSize = dragSize;\r\n mySwiper.params.spaceBetween = spaceBetween;\r\n }, true);\r\n }\r\n\r\n\r\n\r\n\r\n\r\n update() {\r\n this.swiper.update();\r\n }\r\n\r\n destroy() {\r\n this.swiper.destroy();\r\n }\r\n}\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AACA;;;;;AACA;AAEA;AAEA;AAEA;AACA;AAAA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAFA;AAIA;AACA;AACA;AACA;AAHA;AAVA;AAiBA;AACA;AAEA;AACA;AACA;AACA;AACA;AAGA;AAEA;AACA;AACA;AACA;AAEA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA/GA;AACA;A;;A;;A","sourceRoot":""}