PageSourceSearch

https://tommyvowles.com/cdn/shop/t/3/assets/featured-collection.js?v=17327974869652246781770385317

js tommyvowles.com collected 2026-09-27 05:52:08 UTC 3,046 bytes, 2 lines download raw bytes

1customElements.get("featured-collection")||customElements.define("featured-collection",class extends HTMLElement{constructor(){super()}connectedCallback(){if(this.selectors={sliderWrapper:".featured-collection__items",nextEl:".swiper-button-next",prevEl:".swiper-button-prev"},this.classes={grid:"f-grid",swiper:"swiper",swiperWrapper:"swiper-wrapper"},this.sectionId=this.dataset.sectionId,this.section=this.closest(`.section-${this.sectionId}`),this.sliderWrapper=this.querySelector(this.selectors.sliderWrapper),this.enableSlider=this.dataset.enableSlider==="true",this.items=parseInt(this.dataset.items),this.tabletItems=parseInt(this.dataset.tabletItems),this.sliderInstance=!1,!this.enableSlider)return;const mql=window.matchMedia(FoxTheme.config.mediaQueryMobile);mql.onchange=this.init.bind(this),this.init()}init(){FoxTheme.config.mqlMobile?this.destroySlider():this.initSlider()}initSlider(){if(typeof this.sliderInstance=="object")return;const columnGap=FoxTheme.utils.getGridColumnGap(this.sliderWrapper);this.sliderOptions={slidesPerView:this.tabletItems>3?3:parseInt(this.tabletItems),spaceBetween:columnGap.tablet,navigation:{nextEl:this.section.querySelector(this.selectors.nextEl),prevEl:this.section.querySelector(this.selectors.prevEl)},pagination:!1,breakpoints:{1024:{slidesPerView:this.items>4?4:parseInt(this.items),spaceBetween:columnGap.tabletLarge},1280:{slidesPerView:parseInt(this.items),spaceBetween:columnGap.desktop}},loop:!0,threshold:2},this.classList.add(this.classes.swiper),this.sliderWrapper.classList.remove(this.classes.grid),this.sliderWrapper.classList.add(this.classes.swiperWrapper),this.sliderInstance=new window.FoxTheme.Carousel(this,this.sliderOptions),this.sliderInstance.init(),this.fixQuickviewDuplicate(),this.calcNavButtonsPosition(),window.addEventListener("resize",FoxTheme.utils.debounce(()=>{this.calcNavButtonsPosition()},100))}destroySlider(){this.classList.remove(this.classes.swiper),this.sliderWrapper.classList.remove(this.classes.swiperWrapper),this.sliderWrapper.classList.add(this.classes.grid),typeof this.sliderInstance=="object"&&(this.sliderInstance.slider.destroy(),this.sliderInstance=!1)}calcNavButtonsPosition(){if(this.dataset.calcButtonPosition!=="true")return;const firstMedia=this.querySelector(".product-card__image-wrapper");firstMedia&&firstMedia.clientHeight>0&&this.section.style.setProperty("--swiper-navigation-top-offset",parseInt(firstMedia.clientHeight)/2+"px")}calcHeadingColumnHeight(){if(this.dataset.calcHeadingColumnHeight!=="true")return;const firstMedia=this.querySelector(".product-card__image-wrapper");firstMedia&&firstMedia.clientHeight>0&&this.section.style.setProperty("--heading-column-height",firstMedia.clientHeight+"px")}fixQuickviewDuplicate(){let modalIds=[];Array.from(this.querySelectorAll("quick-view-modal")).forEach(modal=>{const modalID=modal.getAttribute("id");modalIds.includes(modalID)?modal.remove():modalIds.push(modalID)})}});
2//# sourceMappingURL=/cdn/shop/t/3/assets/featured-collection.js.map?v=17327974869652246781770385317

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.