1if(!customElements.get("facet-filters")){class FacetFilters extends SideDrawer{connectedCallback(){this.init()}disconnectedCallback(){window.removeEventListener("popstate",this.historyChangeHandler),this.breakpointChangeHandler&&window.removeEventListener("on:breakpoint-change",this.breakpointChangeHandler)}init(){this.filteringEnabled=this.dataset.filtering==="true",this.sortingEnabled=this.dataset.sorting==="true",this.form=document.getElementById("facets"),this.results=document.getElementById("filter-results"),this.expanded=[],this.handleBreakpointChange(),this.addElements(),this.addListeners(),this.historyChangeHandler=this.historyChangeHandler||this.handleHistoryChange.bind(this),window.addEventListener("popstate",this.historyChangeHandler)}addElements(){this.filteringEnabled&&(this.filters=this.querySelector(".facets__filters"),this.activeFilters=this.querySelector(".facets__active-filters"),this.activeFiltersList=this.querySelector(".active-filters"),this.activeFiltersHeader=this.querySelector(".active-filters-header"),this.footer=this.querySelector(".facets__footer")),this.sortingEnabled&&(this.mobileSortByOptions=this.querySelectorAll(".js-drawer-sort-by"),this.desktopSortBy=document.querySelector(".products-toolbar__sort"))}addListeners(){this.filteringEnabled&&(this.breakpointChangeHandler=this.breakpointChangeHandler||this.handleBreakpointChange.bind(this),this.filters.addEventListener("click",this.handleFiltersClick.bind(this)),this.filters.addEventListener("input",debounce(this.handleFilterChange.bind(this),500)),this.activeFilters.addEventListener("click",this.handleActiveFiltersClick.bind(this)),window.addEventListener("on:breakpoint-change",this.breakpointChangeHandler)),this.sortingEnabled&&this.desktopSortBy.addEventListener("change",this.handleFilterChange.bind(this))}handleBreakpointChange(){theme.mediaMatches.lg?(this.setAttribute("open",""),this.setAttribute("aria-hidden","false"),this.removeAttribute("aria-modal"),this.removeAttribute("role")):(this.close(),this.setAttribute("role","dialog"),this.setAttribute("aria-modal","true"),this.setAttribute("aria-hidden","true"),this.hidden=!1)}handleFilterChange(evt){const formData=new FormData(this.form),currentLink=window.location.href,searchParams=new URLSearchParams(formData),emptyParams=[];if(this.sortingEnabled){console.log(searchParams);let currentSortBy=searchParams.get("sort_by");evt.target.tagName==="CUSTOM-SELECT"&&this.mobileSortByOptions.forEach(option=>{option.checked=option.value===evt.detail.selectedValue,currentSortBy=evt.detail.selectedValue}),searchParams.set("sort_by",currentSortBy),window.location.href.indexOf("all")>-1&&searchParams.set("view","all")}searchParams.forEach((value,key)=>{value||emptyParams.push(key)}),emptyParams.forEach(key=>{searchParams.delete(key)}),this.applyFilters(searchParams.toString(),evt)}handleFiltersClick(evt){const{target}=evt;if(target.matches(".js-clear-filter")&&(evt.preventDefault(),this.applyFilters(new URL(evt.target.href).searchParams.toString(),evt)),target.matches(".js-show-more")){const filter=target.closest(".filter");target.remove(),filter.querySelectorAll("li").forEach(el=>{el.classList.remove("js-hidden")}),this.expanded.includes(filter.id)||this.expanded.push(filter.id)}}handleActiveFiltersClick(evt){evt.target.tagName==="A"&&(evt.preventDefault(),this.applyFilters(new URL(evt.target.href).searchParams.toString(),evt))}handleHistoryChange(evt){if(evt.state!==null){let searchParams="";evt.state&&evt.state.searchParams&&({searchParams}=evt.state),this.applyFilters(searchParams,null,!1)}}async applyFilters(searchParams,evt,updateUrl=!0){try{const customPagination=document.querySelector("custom-pagination");customPagination&&(customPagination.dataset.pauseInfiniteScroll="true"),this.results.classList.add("is-loading");const closeBtn=this.querySelector(".js-close-drawer-mob");closeBtn.ariaDisabled="true",closeBtn.classList.add("is-loading");let fetchUrl=`${window.location.pathname}?${searchParams}`;this.form.dataset.filterSectionId&&(fetchUrl+=`§ion_id=${this.form.dataset.filterSectionId}`),this.applyFiltersFetchAbortController&&this.applyFiltersFetchAbortController.abort("Request changed"),this.applyFiltersFetchAbortController=new AbortController;const response=await fetch(fetchUrl,{method:"GET",signal:this.applyFiltersFetchAbortController.signal});if(response.ok){const tmpl=document.createElement("template");tmpl.innerHTML=await response.text(),this.form.querySelectorAll("details-disclosure > details").forEach(existingFilter=>{const target=tmpl.content.getElementById(existingFilter.id);target&&(target.open=existingFilter.open)}),tmpl.content.querySelectorAll("#facets details-disclosure > details").forEach(newFilter=>{this.expanded.includes(newFilter.id)&&(newFilter.querySelectorAll(".js-hidden").forEach(listItem=>{listItem.classList.remove("js-hidden")}),newFilter.querySelector(".filter__more")?.remove())}),this.form.innerHTML=tmpl.content.getElementById("facets").innerHTML,closeBtn.innerText=tmpl.content.querySelector(".js-close-drawer-mob").innerText;const currentResultsUl=this.results.querySelector("ul");this.currentResultsClass=currentResultsUl?this.results.querySelector("ul").getAttribute("class"):this.currentResultsClass,this.results.innerHTML=tmpl.content.getElementById("filter-results").innerHTML;const newResultsUl=this.results.querySelector("ul");if(newResultsUl&&this.currentResultsClass&&newResultsUl.setAttribute("class",this.currentResultsClass),this.addElements(),this.addListeners(),typeof initLazyImages=="function"&&initLazyImages(),customPagination&&customPagination.reload&&customPagination.reload(),updateUrl&&FacetFilters.updateURL(searchParams),this.results.getBoundingClientRect().top<0){let headerHeight=0;document.querySelector('store-header[data-is-sticky="true"]')&&(headerHeight=Number.parseInt(getComputedStyle(this.parentElement).getPropertyValue("--header-height").replace("px",""),10)||0),window.scrollTo({top:this.results.getBoundingClientRect().top+window.scrollY-headerHeight-45,behavior:"smooth"})}closeBtn.classList.remove("is-loading"),closeBtn.removeAttribute("aria-disabled"),customPagination&&(customPagination.dataset.pauseInfiniteScroll="false"),document.dispatchEvent(new CustomEvent("on:facet-filters:updated"),{bubbles:!0})}}catch(error){console.warn(error)}finally{this.results.classList.remove("is-loading")}}static updateURL(searchParams){window.history.pushState({searchParams},"",`${window.location.pathname}${searchParams&&"?".concat(searchParams)}`)}}customElements.define("facet-filters",FacetFilters)} 2//# sourceMappingURL=/cdn/shop/t/356/assets/facet-filters.js.map?v=3471235424103230621787079872
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.