{
  "version": 3,
  "sources": ["/cdn/shop/t/4/assets/collection-list.js?mvary=mobile"],
  "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        nextEl: '.swiper-button-next',\n        prevEl: '.swiper-button-prev',\n      };\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      this.cardStyle = this.dataset.cardStyle;\n      this.itemSize = this.dataset.itemSize;\n      this.columnsDesktop = this.dataset.columnsDesktop;\n\n      this.sliderInstance = false;\n\n      const mql = window.matchMedia(FoxTheme.config.mediaQueryMobile);\n      mql.onchange = this.init.bind(this);\n      this.init();\n    }\n\n    init() {\n      if (FoxTheme.config.mqlMobile) {\n        this.destroySlider();\n      } else {\n        this.initSlider();\n      }\n    }\n\n    initSlider() {\n      const sliderOptions = {\n        modules: [FoxTheme.Swiper.Navigation, FoxTheme.Swiper.Pagination, FoxTheme.Swiper.Mousewheel],\n        slidesPerView: 'auto',\n        spaceBetween: 8,\n        navigation: {\n          nextEl: this.section.querySelector(this.selectors.nextEl),\n          prevEl: this.section.querySelector(this.selectors.prevEl),\n        },\n        pagination: false,\n        loop: false,\n        threshold: 2,\n        mousewheel: {\n          enabled: true,\n          forceToAxis: true,\n        },\n        breakpoints: {\n          768: {\n            spaceBetween: this.cardStyle == 'card' ? 8 : 20,\n            slidesPerView: this.itemSize == 'fixed' ? (this.columnsDesktop > 4 ? 4 : this.columnsDesktop) : 'auto',\n          },\n          1024: {\n            spaceBetween: this.cardStyle == 'card' ? 8 : 20,\n            slidesPerView:\n              this.itemSize == 'fixed'\n                ? this.columnsDesktop > 6\n                  ? this.columnsDesktop - 1\n                  : this.columnsDesktop\n                : 'auto',\n          },\n          1280: {\n            spaceBetween: this.cardStyle == 'card' ? 8 : 20,\n            slidesPerView: this.itemSize == 'fixed' ? this.columnsDesktop : 'auto',\n          },\n        },\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\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        if (Shopify.designMode) {\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.slideTo(index);\n          });\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') return;\n      this.sliderInstance.slider.destroy();\n      this.sliderInstance = false;\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,OAAQ,sBACR,OAAQ,qBACV,EAEA,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,EACpE,KAAK,UAAY,KAAK,QAAQ,UAC9B,KAAK,SAAW,KAAK,QAAQ,SAC7B,KAAK,eAAiB,KAAK,QAAQ,eAEnC,KAAK,eAAiB,GAEtB,MAAM,IAAM,OAAO,WAAW,SAAS,OAAO,gBAAgB,EAC9D,IAAI,SAAW,KAAK,KAAK,KAAK,IAAI,EAClC,KAAK,KAAK,CACZ,CAEA,MAAO,CACD,SAAS,OAAO,UAClB,KAAK,cAAc,EAEnB,KAAK,WAAW,CAEpB,CAEA,YAAa,CACX,MAAM,cAAgB,CACpB,QAAS,CAAC,SAAS,OAAO,WAAY,SAAS,OAAO,WAAY,SAAS,OAAO,UAAU,EAC5F,cAAe,OACf,aAAc,EACd,WAAY,CACV,OAAQ,KAAK,QAAQ,cAAc,KAAK,UAAU,MAAM,EACxD,OAAQ,KAAK,QAAQ,cAAc,KAAK,UAAU,MAAM,CAC1D,EACA,WAAY,GACZ,KAAM,GACN,UAAW,EACX,WAAY,CACV,QAAS,GACT,YAAa,EACf,EACA,YAAa,CACX,IAAK,CACH,aAAc,KAAK,WAAa,OAAS,EAAI,GAC7C,cAAe,KAAK,UAAY,QAAW,KAAK,eAAiB,EAAI,EAAI,KAAK,eAAkB,MAClG,EACA,KAAM,CACJ,aAAc,KAAK,WAAa,OAAS,EAAI,GAC7C,cACE,KAAK,UAAY,QACb,KAAK,eAAiB,EACpB,KAAK,eAAiB,EACtB,KAAK,eACP,MACR,EACA,KAAM,CACJ,aAAc,KAAK,WAAa,OAAS,EAAI,GAC7C,cAAe,KAAK,UAAY,QAAU,KAAK,eAAiB,MAClE,CACF,CACF,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,EAE3D,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,EAEG,QAAQ,YACV,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,QAAQ,KAAK,CAC1C,CAAC,EAGP,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,WACnC,KAAK,eAAe,OAAO,QAAQ,EACnC,KAAK,eAAiB,GACxB,CACF,CACA,eAAe,OAAO,kBAAmB,cAAc,CACzD",
  "names": []
}
