{
  "version": 3,
  "sources": ["/cdn/shop/t/39/assets/collection-list.js"],
  "sourcesContent": ["if (!customElements.get('collection-list')) {\n  class CollectionList extends HTMLElement {\n    constructor() {\n      super();\n    }\n\n    connectedCallback() {\n      this.selectors = {\n        sliderWrapper: '.collection-list__items',\n        pagination: '.swiper-pagination',\n        nextEl: '.swiper-btn-next',\n        prevEl: '.swiper-btn-prev',\n      };\n      this.classes = {\n        grid: 'f-grid',\n        swiper: 'swiper',\n        swiperWrapper: 'swiper-wrapper',\n      };\n\n      this.sectionId = this.dataset.sectionId;\n      this.section = this.closest(`.section-${this.sectionId}`);\n      this.sliderWrapper = this.querySelector(this.selectors.sliderWrapper);\n\n      this.enableSlider = this.dataset.enableSlider === 'true';\n      this.items = parseInt(this.dataset.items);\n      this.tabletItems = parseInt(this.dataset.tabletItems);\n\n      this.sliderInstance = false;\n\n      if (!this.enableSlider) return;\n\n      this.init();\n      document.addEventListener('matchMobile', () => {\n        this.init();\n      });\n      document.addEventListener('unmatchMobile', () => {\n        this.init();\n      });\n    }\n\n    init() {\n      if (FoxTheme.config.mqlMobile) {\n        this.destroySlider();\n      } else {\n        this.initSlider();\n      }\n    }\n\n    initSlider() {\n      const columnGap = window.getComputedStyle(this.sliderWrapper).getPropertyValue('--column-gap');\n      const spaceBetween = parseFloat(columnGap.replace('rem', '')) * 10;\n\n      const sliderOptions = {\n        modules: [FoxTheme.Swiper.Navigation, FoxTheme.Swiper.Pagination],\n        slidesPerView: this.tabletItems > 3 ? 3 : parseInt(this.tabletItems),\n        spaceBetween: spaceBetween,\n        navigation: {\n          nextEl: this.section.querySelector(this.selectors.nextEl),\n          prevEl: this.section.querySelector(this.selectors.prevEl),\n        },\n        pagination: false,\n        breakpoints: {\n          1280: {\n            slidesPerView: parseInt(this.items),\n          },\n        },\n        loop: true,\n        threshold: 2,\n      };\n\n      if (typeof this.sliderInstance !== 'object') {\n        this.classList.add(this.classes.swiper);\n        this.sliderWrapper.classList.remove(this.classes.grid);\n        this.sliderWrapper.classList.add(this.classes.swiperWrapper);\n        this.sliderInstance = new window.FoxTheme.Carousel(this, sliderOptions);\n        this.sliderInstance.init();\n\n        const focusableElements = FoxTheme.a11y.getFocusableElements(this);\n\n        focusableElements.forEach((element) => {\n          element.addEventListener('focusin', () => {\n            const slide = element.closest('.swiper-slide');\n            this.sliderInstance.slider.slideTo(this.sliderInstance.slider.slides.indexOf(slide));\n          });\n        });\n      }\n\n      if (Shopify.designMode && typeof this.sliderInstance === 'object') {\n        document.addEventListener('shopify:block:select', (e) => {\n          if (e.detail.sectionId != this.sectionId) return;\n          let { target } = e;\n          const index = Number(target.dataset.index);\n\n          this.sliderInstance.slider.slideToLoop(index);\n        });\n      }\n    }\n\n    destroySlider() {\n      this.classList.remove(this.classes.swiper);\n      this.sliderWrapper.classList.remove(this.classes.swiperWrapper);\n      this.sliderWrapper.classList.add(this.classes.grid);\n      if (typeof this.sliderInstance === 'object') {\n        this.sliderInstance.slider.destroy();\n        this.sliderInstance = false;\n      }\n    }\n  }\n  customElements.define('collection-list', CollectionList);\n}\n"],
  "mappings": "AAAA,GAAI,CAAC,eAAe,IAAI,iBAAiB,EAAG,CAC1C,MAAM,uBAAuB,WAAY,CACvC,aAAc,CACZ,MAAM,CACR,CAEA,mBAAoB,CAClB,KAAK,UAAY,CACf,cAAe,0BACf,WAAY,qBACZ,OAAQ,mBACR,OAAQ,kBACV,EACA,KAAK,QAAU,CACb,KAAM,SACN,OAAQ,SACR,cAAe,gBACjB,EAEA,KAAK,UAAY,KAAK,QAAQ,UAC9B,KAAK,QAAU,KAAK,QAAQ,YAAY,KAAK,SAAS,EAAE,EACxD,KAAK,cAAgB,KAAK,cAAc,KAAK,UAAU,aAAa,EAEpE,KAAK,aAAe,KAAK,QAAQ,eAAiB,OAClD,KAAK,MAAQ,SAAS,KAAK,QAAQ,KAAK,EACxC,KAAK,YAAc,SAAS,KAAK,QAAQ,WAAW,EAEpD,KAAK,eAAiB,GAEjB,KAAK,eAEV,KAAK,KAAK,EACV,SAAS,iBAAiB,cAAe,IAAM,CAC7C,KAAK,KAAK,CACZ,CAAC,EACD,SAAS,iBAAiB,gBAAiB,IAAM,CAC/C,KAAK,KAAK,CACZ,CAAC,EACH,CAEA,MAAO,CACD,SAAS,OAAO,UAClB,KAAK,cAAc,EAEnB,KAAK,WAAW,CAEpB,CAEA,YAAa,CACX,MAAM,UAAY,OAAO,iBAAiB,KAAK,aAAa,EAAE,iBAAiB,cAAc,EACvF,aAAe,WAAW,UAAU,QAAQ,MAAO,EAAE,CAAC,EAAI,GAE1D,cAAgB,CACpB,QAAS,CAAC,SAAS,OAAO,WAAY,SAAS,OAAO,UAAU,EAChE,cAAe,KAAK,YAAc,EAAI,EAAI,SAAS,KAAK,WAAW,EACnE,aACA,WAAY,CACV,OAAQ,KAAK,QAAQ,cAAc,KAAK,UAAU,MAAM,EACxD,OAAQ,KAAK,QAAQ,cAAc,KAAK,UAAU,MAAM,CAC1D,EACA,WAAY,GACZ,YAAa,CACX,KAAM,CACJ,cAAe,SAAS,KAAK,KAAK,CACpC,CACF,EACA,KAAM,GACN,UAAW,CACb,EAEI,OAAO,KAAK,gBAAmB,WACjC,KAAK,UAAU,IAAI,KAAK,QAAQ,MAAM,EACtC,KAAK,cAAc,UAAU,OAAO,KAAK,QAAQ,IAAI,EACrD,KAAK,cAAc,UAAU,IAAI,KAAK,QAAQ,aAAa,EAC3D,KAAK,eAAiB,IAAI,OAAO,SAAS,SAAS,KAAM,aAAa,EACtE,KAAK,eAAe,KAAK,EAEC,SAAS,KAAK,qBAAqB,IAAI,EAE/C,QAAS,SAAY,CACrC,QAAQ,iBAAiB,UAAW,IAAM,CACxC,MAAM,MAAQ,QAAQ,QAAQ,eAAe,EAC7C,KAAK,eAAe,OAAO,QAAQ,KAAK,eAAe,OAAO,OAAO,QAAQ,KAAK,CAAC,CACrF,CAAC,CACH,CAAC,GAGC,QAAQ,YAAc,OAAO,KAAK,gBAAmB,UACvD,SAAS,iBAAiB,uBAAyB,GAAM,CACvD,GAAI,EAAE,OAAO,WAAa,KAAK,UAAW,OAC1C,GAAI,CAAE,MAAO,EAAI,EACjB,MAAM,MAAQ,OAAO,OAAO,QAAQ,KAAK,EAEzC,KAAK,eAAe,OAAO,YAAY,KAAK,CAC9C,CAAC,CAEL,CAEA,eAAgB,CACd,KAAK,UAAU,OAAO,KAAK,QAAQ,MAAM,EACzC,KAAK,cAAc,UAAU,OAAO,KAAK,QAAQ,aAAa,EAC9D,KAAK,cAAc,UAAU,IAAI,KAAK,QAAQ,IAAI,EAC9C,OAAO,KAAK,gBAAmB,WACjC,KAAK,eAAe,OAAO,QAAQ,EACnC,KAAK,eAAiB,GAE1B,CACF,CACA,eAAe,OAAO,kBAAmB,cAAc,CACzD",
  "names": []
}
