{"version":3,"sources":["swiper.js"],"names":["$","Drupal","behaviors","swiperJS","attach","window","windowWidth","$window","width","MOBILE_BREAKPOINT","SWIPER_PREFIX","SWIPER_WRAPPER_CLASS","VIEWS_PATTERN_CLASS","VIEW_CONTENT","VIEWS_ROW_CLASS","relatedArticlesSwiper","onGoingRelatedSeries","let","destroy","arguments","length","undefined","slidesCount","elements","createSwipers","elementsSelector","Array","document","querySelectorAll","element","navigation","SWIPER_SLIDE_CLASS","prototype","forEach","$slides","swiperInstance","navId","getAttribute","swiper","configurationBreakpoints","defaults","slidesPerView","375","slidesPerGroup","spaceBetween","585","768","991","small","300","configurationNavigation","freeMode","prevEl","nextEl","configurationfreeMode","pagination","direction","style","breakpoints","dynamicMainBullets","el","keyboard","enabled","dynamicBullets","a11y","addSwiperClass","addClass","SWIPER_CONTAINER_CLASS","find","winWidth","latestPostsSwiper","removeClass","featuresOnPostPage","jQuery"],"mappings":"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","file":"../swiper.min.js","sourcesContent":["/**\n * Isolate the context in an IIFE\n *\n * @param object $ jQuery object\n * @param object Drupal Drupal object\n * @param window window Current window object\n */\n\n(function ($, Drupal) {\n Drupal.behaviors.swiperJS = {\n attach () {\n const $window = $(window);\n const windowWidth = $window.width();\n const MOBILE_BREAKPOINT = 991;\n const SWIPER_PREFIX = 'swiper';\n const SWIPER_WRAPPER_CLASS = `${SWIPER_PREFIX}-wrapper`;\n const VIEWS_PATTERN_CLASS = 'block-views';\n const VIEW_CONTENT = 'view-content';\n const VIEWS_ROW_CLASS = 'views-row';\n const SWIPER_CONTAINER_CLASS = `${SWIPER_PREFIX}-container`;\n const SWIPER_SLIDE_CLASS = `${SWIPER_PREFIX}-slide`;\n const VIEW_LATEST_POSTS = 'view-display-id-latest_posts';\n const VIEW_ONGOING = 'view-display-id-block_series';\n const RELATED_ARTICLES = 'view-display-id-related_articles';\n const FEATURES_ON_POSTS = 'view-display-id-features_post';\n const relatedArticlesSwiper = `.block-foyer-content .${RELATED_ARTICLES}`;\n // const VIEW_ONGOING_RELATED_VIEWS = 'view-display-id-on_going_series';\n const latestPostsSwiper = `.${VIEWS_PATTERN_CLASS} .${VIEW_LATEST_POSTS}`;\n const onGoingSwiper = `.${VIEWS_PATTERN_CLASS} .${VIEW_ONGOING}`;\n const featuresOnPostPage = `.${VIEWS_PATTERN_CLASS} .${FEATURES_ON_POSTS}`;\n const onGoingRelatedSeries = '.view-display-id-on_going_series';\n\n function createSwipers (elementsSelector, destroy = false, slidesCount) {\n const elements = document.querySelectorAll(elementsSelector);\n\n if (elements.length) {\n Array.prototype.forEach.call(elements, (element) => {\n const $slides = element.querySelectorAll(`.${SWIPER_SLIDE_CLASS}`);\n const style = element.getAttribute('data-style');\n const navId = element.getAttribute('id');\n\n element.classList.add(`${SWIPER_CONTAINER_CLASS}--slides-${$slides.length}`);\n\n const swiperInstance = element.swiper;\n\n if (swiperInstance || destroy) {\n if (swiperInstance && destroy) {\n swiperInstance.destroy();\n }\n return;\n }\n\n const configurationBreakpoints = {\n defaults: {\n 375: {\n slidesPerView: 1,\n slidesPerGroup: 1,\n spaceBetween: 15,\n },\n 585: {\n slidesPerView: slidesCount - 2,\n slidesPerGroup: 1,\n spaceBetween: 50,\n },\n 768: {\n slidesPerView: slidesCount - 1,\n slidesPerGroup: 1,\n spaceBetween: 50,\n },\n 991: {\n slidesPerView: 2,\n slidesPerGroup: 1,\n spaceBetween: 80,\n },\n },\n small: {\n 300: {\n slidesPerView: 1,\n slidesPerGroup: 1,\n spaceBetween: 15,\n },\n 768: {\n slidesPerView: 2,\n slidesPerGroup: 1,\n spaceBetween: 50,\n },\n 991: {\n slidesPerView: slidesCount,\n slidesPerGroup: 1,\n spaceBetween: 70,\n },\n },\n };\n\n const configurationNavigation = {\n defaults: {\n nextEl: `.${navId}-next`,\n prevEl: `.${navId}-prev`,\n },\n };\n\n const configurationfreeMode = {\n defaults: false,\n };\n\n const breakpoints = configurationBreakpoints[style] || configurationBreakpoints.defaults;\n const navigation = configurationNavigation[style] || configurationNavigation.defaults;\n const freeMode = configurationfreeMode[style] || configurationfreeMode.defaults;\n\n // eslint-disable-next-line no-undef,no-new\n new Swiper(element, {\n direction: 'horizontal',\n freeMode,\n breakpoints,\n navigation,\n pagination: {\n el: '.swiper-pagination',\n type: 'bullets',\n clickable: true,\n dynamicBullets: true,\n dynamicMainBullets: 1,\n },\n\n keyboard: {\n enabled: true,\n },\n\n a11y: {\n prevSlideMessage: 'Previous slide',\n nextSlideMessage: 'Next slide',\n },\n });\n });\n }\n }\n\n function addSwiperClass (elementsSelector, slidesCount = 4) {\n $(elementsSelector).addClass(SWIPER_CONTAINER_CLASS)\n .find(`.${VIEWS_ROW_CLASS}`).addClass(SWIPER_SLIDE_CLASS);\n $(elementsSelector).find(`.${VIEW_CONTENT}`)\n .addClass(SWIPER_WRAPPER_CLASS);\n\n createSwipers(elementsSelector, false, slidesCount);\n }\n\n if (windowWidth <= MOBILE_BREAKPOINT) {\n addSwiperClass(latestPostsSwiper);\n }\n\n $window.on('resize', () => {\n const winWidth = $window.width();\n\n if (winWidth <= MOBILE_BREAKPOINT) {\n addSwiperClass(latestPostsSwiper);\n } else {\n $(latestPostsSwiper).removeClass(SWIPER_CONTAINER_CLASS)\n .find(`.${VIEWS_ROW_CLASS}`).removeClass(SWIPER_SLIDE_CLASS);\n $(latestPostsSwiper).find(`.${VIEW_CONTENT}`)\n .removeClass(SWIPER_WRAPPER_CLASS);\n\n createSwipers(latestPostsSwiper, true);\n }\n });\n\n addSwiperClass(onGoingSwiper, 3);\n addSwiperClass(onGoingRelatedSeries);\n addSwiperClass(relatedArticlesSwiper);\n addSwiperClass(featuresOnPostPage);\n },\n };\n}(jQuery, Drupal));\n"]}