{"version":3,"file":"relatedResourcesSlider-D7bdghsm.js","sources":["../../src/scripts/modules/relatedResourcesSlider.ts"],"sourcesContent":["import { Component } from '@verndale/core';\nimport Swiper from 'swiper';\nimport { Navigation, Keyboard, Pagination, Controller } from 'swiper/modules';\nimport 'swiper/css/bundle';\n\nclass relatedResourcesSlider extends Component {\n  public relatedResources: {\n    destroy?: () => void | undefined;\n    updateSize?: () => void | undefined;\n  };\n\n  constructor(el: HTMLElement) {\n    super(el);\n    this.relatedResources = {};\n  }\n\n  setupDefaults() {\n    this.dom = {\n      swiperContainer: this.el.querySelector<HTMLElement>('.swiper'),\n      swiperWrapper: this.el.querySelector<HTMLElement>('.swiper-wrapper'),\n      swiperItems: this.el.querySelectorAll<HTMLElement>('.swiper-slide'),\n      pagination: this.el.querySelector<HTMLElement>(\n        '.related-resources-slider__slider-pagination'\n      ),\n      prevButton: this.el.querySelector<HTMLElement>('.btn-previous-slide'),\n      nextButton: this.el.querySelector<HTMLElement>('.btn-next-slide')\n    };\n\n    this.initSwiper();\n  }\n\n  addListeners() {\n    window.addEventListener('resize', () => {\n      this.initSwiper();\n    });\n  }\n\n  initSwiper() {\n    Swiper.use([Navigation, Keyboard, Pagination, Controller]);\n\n    if (\n      this.relatedResources &&\n      this.relatedResources.destroy &&\n      typeof this.relatedResources.destroy === 'function'\n    )\n      this.relatedResources.destroy();\n\n    this.relatedResources = new Swiper(this.dom.swiperContainer as HTMLElement, {\n      pagination: {\n        el: this.dom.pagination as HTMLElement,\n        type: 'progressbar'\n      },\n      navigation: {\n        nextEl: this.dom.nextButton as HTMLElement,\n        prevEl: this.dom.prevButton as HTMLElement\n      },\n      slidesPerView: 1.22,\n      spaceBetween: 24,\n      autoHeight: true,\n      breakpoints: {\n        1024: {\n          slidesPerView: 3,\n          spaceBetween: 40\n        }\n      },\n      loop: true,\n      keyboard: {\n        enabled: true,\n        onlyInViewport: true\n      }\n    });\n  }\n}\n\nexport default relatedResourcesSlider;\n"],"names":["relatedResourcesSlider","Component","el","__publicField","Swiper","Navigation","Keyboard","Pagination","Controller"],"mappings":"yWAKA,MAAMA,UAA+BC,CAAU,CAM7C,YAAYC,EAAiB,CAC3B,MAAMA,CAAE,EANHC,EAAA,yBAOL,KAAK,iBAAmB,CAAC,CAAA,CAG3B,eAAgB,CACd,KAAK,IAAM,CACT,gBAAiB,KAAK,GAAG,cAA2B,SAAS,EAC7D,cAAe,KAAK,GAAG,cAA2B,iBAAiB,EACnE,YAAa,KAAK,GAAG,iBAA8B,eAAe,EAClE,WAAY,KAAK,GAAG,cAClB,8CACF,EACA,WAAY,KAAK,GAAG,cAA2B,qBAAqB,EACpE,WAAY,KAAK,GAAG,cAA2B,iBAAiB,CAClE,EAEA,KAAK,WAAW,CAAA,CAGlB,cAAe,CACN,OAAA,iBAAiB,SAAU,IAAM,CACtC,KAAK,WAAW,CAAA,CACjB,CAAA,CAGH,YAAa,CACXC,EAAO,IAAI,CAACC,EAAYC,EAAUC,EAAYC,CAAU,CAAC,EAGvD,KAAK,kBACL,KAAK,iBAAiB,SACtB,OAAO,KAAK,iBAAiB,SAAY,YAEzC,KAAK,iBAAiB,QAAQ,EAEhC,KAAK,iBAAmB,IAAIJ,EAAO,KAAK,IAAI,gBAAgC,CAC1E,WAAY,CACV,GAAI,KAAK,IAAI,WACb,KAAM,aACR,EACA,WAAY,CACV,OAAQ,KAAK,IAAI,WACjB,OAAQ,KAAK,IAAI,UACnB,EACA,cAAe,KACf,aAAc,GACd,WAAY,GACZ,YAAa,CACX,KAAM,CACJ,cAAe,EACf,aAAc,EAAA,CAElB,EACA,KAAM,GACN,SAAU,CACR,QAAS,GACT,eAAgB,EAAA,CAClB,CACD,CAAA,CAEL"}