1function debounce(fn,wait){let t;return(...args)=>{clearTimeout(t),t=setTimeout(()=>fn.apply(this,args),wait)}}class CollectionFiltersForm extends HTMLElement{constructor(){super(),this.filterData=[],this.onActiveFilterClick=this.onActiveFilterClick.bind(this),this.debouncedOnSubmit=debounce(event=>{this.onSubmitHandler(event)},500),this.querySelector("form").addEventListener("input",this.debouncedOnSubmit.bind(this)),window.addEventListener("popstate",this.onHistoryChange.bind(this)),this.bindActiveFacetButtonEvents();let elem=document.querySelectorAll(".show-more--list_tags");elem&&elem.forEach(button=>button.addEventListener("click",this.showMoreValue.bind(this)))}showMoreValue(e){e.target.closest(".list-tags").classList.add("full")}onSubmitHandler(event){if(event.preventDefault(),!(event.target.classList.contains("filter__price")||event.target.classList.contains("single-option-selector"))){const formData=new FormData(event.target.closest("form")),searchParams=new URLSearchParams(formData).toString();this.renderPage(searchParams,event)}}onActiveFilterClick(event){event.preventDefault(),this.toggleActiveFacets(),this.renderPage(new URL(event.target.href).searchParams.toString())}onHistoryChange(event){const searchParams=event.state?.searchParams||""}toggleActiveFacets(disable=!0){document.querySelectorAll(".js-facet-remove").forEach(element=>{element.classList.toggle("disabled",disable)})}renderPage(searchParams,event,updateURLHash=!0){const sections=this.getSections();document.getElementById("CollectionProductGrid").querySelector(".product-collection").classList.add("loading"),sections.forEach(section=>{const url=`${window.location.pathname}?section_id=${section.section}&${searchParams}`,filterDataUrl=element=>element.url===url;this.filterData.some(filterDataUrl)?this.renderSectionFromCache(filterDataUrl,section,event):this.renderSectionFromFetch(url,section,event)}),updateURLHash&&this.updateURLHash(searchParams)}renderSectionFromFetch(url,section,event){fetch(url).then(response=>response.text()).then(responseText=>{const html=responseText;this.filterData=[...this.filterData,{html,url}],this.renderFilters(html,event),this.renderProductGrid(html),this.renderCountItem(html),this.renderRefined(html),this.renderShortby(html);let elem=document.querySelectorAll(".show-more--list_tags");elem&&elem.forEach(button=>button.addEventListener("click",this.showMoreValue.bind(this)))})}renderSectionFromCache(filterDataUrl,section,event){const html=this.filterData.find(filterDataUrl).html;this.renderFilters(html,event),this.renderProductGrid(html),this.renderCountItem(html),this.renderRefined(html),this.renderShortby(html);let elem=document.querySelectorAll(".show-more--list_tags");elem&&elem.forEach(button=>button.addEventListener("click",this.showMoreValue.bind(this)))}renderShortby(html){if(document.getElementById("shopify-section-collection-template-express-order"))return;const innerHTML=new DOMParser().parseFromString(html,"text/html").getElementById("CollectionSort_by").innerHTML;document.getElementById("CollectionSort_by").innerHTML=innerHTML}renderProductGrid(html){const innerHTML=new DOMParser().parseFromString(html,"text/html").getElementById("CollectionProductGrid").innerHTML;if(document.getElementById("CollectionProductGrid").innerHTML=innerHTML,window.show_multiple_currencies&&Currency.currentCurrency!=shopCurrency&&Currency.convertAll(window.shop_currency,$("#currencies .active").attr("data-currency"),"span.money","money_format"),document.querySelectorAll(".shopify-product-reviews-badge").length&&document.querySelectorAll(".spr-badge").length)return window.SPR.registerCallbacks(),window.SPR.initRatingHandler(),window.SPR.initDomEls(),window.SPR.loadProducts(),window.SPR.loadBadges()}renderRefined(html){if(!document.getElementById("widget-content-no--filter"))return;const innerHTML=new DOMParser().parseFromString(html,"text/html").getElementById("widget-content-no--filter").innerHTML;document.getElementById("widget-content-no--filter").innerHTML=innerHTML,this.bindActiveFacetButtonEvents()}renderCountItem(html){if(!document.getElementById("page_size"))return;const innerHTML=new DOMParser().parseFromString(html,"text/html").getElementById("page_size").innerHTML;document.getElementById("page_size").innerHTML=innerHTML}renderFilters(html,event){const facetDetailsElements=new DOMParser().parseFromString(html,"text/html").querySelectorAll("#CollectionFiltersForm .js-filter"),matchesIndex=element=>
1element.dataset.index===event?.target.closest(".js-filter")?.dataset.index,facetsToRender=Array.from(facetDetailsElements).filter(element=>!matchesIndex(element)),countsToRender=Array.from(facetDetailsElements).find(matchesIndex);facetsToRender.forEach(element=>{document.querySelector(`.js-filter[data-index="${element.dataset.index}"]`).innerHTML=element.innerHTML}),countsToRender&&this.renderCounts(countsToRender,event.target.closest(".js-filter"))}renderCounts(source,target){[".count-bubble",".facets__selected"].forEach(selector=>{const targetElement=target.querySelector(selector);source.querySelector(selector)&&targetElement&&(target.querySelector(selector).outerHTML=source.querySelector(selector).outerHTML)})}bindActiveFacetButtonEvents(){document.querySelectorAll(".js-facet-remove").forEach(element=>{element.addEventListener("click",this.onActiveFilterClick,{once:!0})})}updateURLHash(searchParams){history.pushState({searchParams},"",`${window.location.pathname}${searchParams&&"?".concat(searchParams)}`)}getSections(){return[{id:"main-collection-product-grid",section:document.getElementById("main-collection-product-grid").dataset.id}]}}customElements.define("collection-filters-form",CollectionFiltersForm);class PriceRange extends HTMLElement{constructor(){super(),this.rangeSliderPrice(),this.querySelectorAll("input").forEach(element=>element.addEventListener("change",this.onRangeChange.bind(this))),this.setMinAndMaxValues(),this.activeSwatch()}onRangeChange(event){this.adjustToValidValues(event.currentTarget),this.setMinAndMaxValues()}setMinAndMaxValues(){const inputs=this.querySelectorAll("input"),minInput=inputs[0],maxInput=inputs[1];maxInput.value&&minInput.setAttribute("max",maxInput.value),minInput.value&&maxInput.setAttribute("min",minInput.value),minInput.value===""&&maxInput.setAttribute("min",0),maxInput.value===""&&minInput.setAttribute("max",maxInput.getAttribute("max"))}adjustToValidValues(input){const value=Number(input.value),min=Number(input.getAttribute("min")),max=Number(input.getAttribute("max"));value<min&&(input.value=min),value>max&&(input.value=max)}rangeSliderPrice(){var parent=document.querySelector(".price-slider");if(parent){var rangeS=parent.querySelectorAll("input[type=range]"),numberS=parent.querySelectorAll("input[type=number]");rangeS.forEach(function(el){el.oninput=function(){var slide1=parseFloat(rangeS[0].value),slide2=parseFloat(rangeS[1].value);slide1>slide2&&([slide1,slide2]=[slide2,slide1]),numberS[0].value=slide1,numberS[1].value=slide2}}),numberS.forEach(function(el){el.oninput=function(){var number1=parseFloat(numberS[0].value),number2=parseFloat(numberS[1].value);rangeS[0].value=number1,rangeS[1].value=number2}})}}activeSwatch(){var url=new URL(window.location.href);url.searchParams.has("filter.v.option.color")&&window.setTimeout(function(){let itemSwatchSlt=document.querySelectorAll(".product-collection .product-bottom .item-swatch-custom.active"),itemSwatchSltLength=itemSwatchSlt.length;for(let i=0;i<itemSwatchSltLength;i++){const thisSwatch=itemSwatchSlt[i],thisItem=thisSwatch.closest(".product-item"),thisImage=thisItem.querySelector('.product-grid-image > [data-index="0"] > img'),thisSource=thisItem.querySelector('.product-grid-image > [data-index="0"] > .image-source-1'),thisSource2=thisItem.querySelector('.product-grid-image > [data-index="0"] > .image-source-2'),imgActive=thisSwatch.getAttribute("data-img");imgActive!=""&&imgActive!=null&&(thisImage.setAttribute("srcset",imgActive),thisImage.setAttribute("data-srcset",imgActive),thisSource.setAttribute("srcset",imgActive),thisSource.setAttribute("data-srcset",imgActive),thisSource2.setAttribute("srcset",imgActive),thisSource2.setAttribute("data-srcset",imgActive))}},2)}}customElements.define("price-range",PriceRange); 2//# sourceMappingURL=/cdn/shop/t/33/assets/collection-filters-form.js.map?v=77719987137936920421704972768
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.