1if(!customElements.get("collection-layout")){class CollectionLayout extends HTMLElement{constructor(){super();var grids=document.querySelectorAll(".collection-grid"),inputs=document.querySelectorAll('.collection-utils input[name="grid-layout"]'),saveAttribute=$s.debounce(function(layout){$s.post({type:"POST",url:routes.cart_url+"/update.js",data:{attributes:{_grid_layout:layout}},dataType:"json"})},1e3);this.setOptionByCookie=function(){var layout=Cookies.get(getCookieKey()),input=layout?document.querySelector('.collection-utils input[name="grid-layout"][value="'+layout+'"]'):null;updateLayout(input)};function updateLayout(selectedOption){if(!selectedOption&&grids[0]){grids.forEach(x=>{x.removeAttribute("data-grid-layout")});var ipr=(window.getComputedStyle(grids[0]).getPropertyValue("--items-per-row")||"").trim();inputs.forEach(input=>{input.dataset.value==ipr&&$s.isVisible(input)&&(selectedOption=input)})}var layout=selectedOption?selectedOption.value:"";layout&&(selectedOption.checked=!0,grids.forEach(x=>{x.setAttribute("data-grid-layout",layout)}),Cookies.set(getCookieKey(),layout,{expires:7})),prevLayout!=layout&&(saveAttribute(layout),prevLayout=layout),window.dispatchEvent(new CustomEvent("resize"))}function getCookieKey(){return"grid_layout_"+($s.media.isSmall?"s":$s.media.isMedium?"m":"l")}inputs.forEach(input=>{input.addEventListener("change",e=>{updateLayout(input)}),input.removeAttribute("disabled")});var prevLayout=Cookies.get(getCookieKey());this.setOptionByCookie()}connectedCallback(){window.addEventListener("mediaChange",this.setOptionByCookie)}disconnectedCallback(){window.removeEventListener("mediaChange",this.setOptionByCookie)}}customElements.define("collection-layout",CollectionLayout)}if(!customElements.get("collection-filters")&&!customElements.get("collection-filters-tags")){class CollectionFiltersAbstract extends HTMLElement{constructor(){super(),this.pageManager=this.closest("page-manager"),this.form=this.querySelector("form"),this.summary=this.querySelector(".summary"),this.documentClickHandler=this.documentClick.bind(this),this.ajax=!0,this.dataset.open&&this.showFilters(),this.form.addEventListener("submit",e=>{e.preventDefault()}),this.pageManager.querySelectorAll(".open-filters").forEach(x=>{x.addEventListener("click",()=>{this.showFilters()})}),this.querySelector(".close-filters").addEventListener("click",()=>{this.hideFilters()})}disconnectedCallback(){document.removeEventListener("click",this.documentClickHandler),this.classList.contains("open")&&this.hideFilters()}documentClick(e){this.contains(e.target)||this.hideFilters()}isOpen(){return this.classList.contains("open")}showFilters(){$s.closeModal(),$s.showOverlay(),this.classList.add("open"),setTimeout(()=>{const elementToFocus=this.contains(document.activeElement)?document.activeElement:!1;$s.trapFocus(this,elementToFocus),document.addEventListener("click",this.documentClickHandler)},100)}hideFilters(){$s.hideOverlay(),this.classList.remove("open"),$s.removeTrapFocus(),document.removeEventListener("click",this.documentClickHandler)}}if(!customElements.get("collection-filters")){class CollectionFilters extends CollectionFiltersAbstract{constructor(){super(),this.querySelectorAll("input").forEach(option=>{option.addEventListener("change",e=>{setTimeout(()=>{this.filterResults()},10)})}),this.initSummary(),this.classList.contains("layout-horizontal")&&document.addEventListener("click",this._documentClick.bind(this)),this.querySelector("collection-filters util-accordion").addEventListener("keydown",e=>{if(e.keyCode==27){var closestAccordion=document.activeElement.closest(".accordion.open");if(closestAccordion){var btn=closestAccordion.querySelector("button");btn.click(),btn.focus()}}})}initSummary(){this.summary&&this.summary.querySelectorAll("button").forEach(button=>{button.addEventListener("click",e=>{e.preventDefault(),button.dataset.optionId=="filter-price"?(this.querySelector("#filter-price-min").value="",this.querySelector("#filter-price-max").value=""):button.dataset.clearAll?this.querySelectorAll(".group input").forEach(element=>{element.value="",element.checked=!1}
1):(this.querySelector("#"+button.dataset.optionId)||{}).checked=!1,this.filterResults()})})}_documentClick(e){if($s.media.isLarge){var openedAccordion=this.querySelector('.accordion-trigger[aria-expanded="true"]');openedAccordion&&!openedAccordion.closest(".accordion").contains(e.target)&&(e.preventDefault(),openedAccordion.click())}}getSearchParams(){const formData=new FormData(this.form),searchParams=new URLSearchParams(formData);var params=new URLSearchParams;Array.from(searchParams.keys()).filter((x,i,a)=>a.indexOf(x)==i).forEach(key=>{let values=searchParams.getAll(key).filter(x=>x!="");params.delete(key),values.forEach(x=>params.append(key,x))});var currenSearch=new URLSearchParams(location.search);return currenSearch.has("sort_by")&¶ms.set("sort_by",currenSearch.get("sort_by")),params}updateContentKeepFilters(currentPageManager,newContent){var currentScrollDiv=currentPageManager.querySelector(".filters-inner"),positionBottom=currentScrollDiv.scrollHeight-currentScrollDiv.scrollTop,currentAccordion=currentPageManager.querySelector("collection-filters util-accordion"),newAccordion=newContent.querySelector("collection-filters util-accordion"),newAccordionData=Array.from(newContent.querySelectorAll("collection-filters util-accordion .accordion-panel")).map(x=>x.innerHTML);if(currentAccordion.querySelectorAll(".accordion-panel").forEach((e,ix)=>{e.innerHTML=newAccordionData[ix]}),newAccordion.parentNode.replaceChild(currentAccordion,newAccordion),newContent.querySelector("collection-filters").style.transition="none",currentPageManager.parentNode.replaceChild(newContent,currentPageManager),newContent.querySelector("collection-filters").style.transition="",$s.media.isLarge&&!newContent.querySelector("collection-filters").classList.contains("layout-horizontal")){var newScrollDiv=newContent.querySelector(".filters-inner");newScrollDiv.scrollTop=newScrollDiv.scrollHeight-positionBottom}}filterResults(){var url,params=this.getSearchParams(),paramsString=params.toString();if(this.ajax){this.activeElementPath=$s.getDomPath(document.activeElement),$s.showLoadingOverlay(),url=window.location.pathname+(paramsString?"?"+paramsString:"");var isOpen=this.isOpen();this.pageManager.loadPage(url,()=>{if($s.hideLoadingOverlay(),document.querySelector(this.pageManager.dataset.itemsContainerSelector)){var offsetHeight=document.getElementById("header").offsetHeight,stickyTopContentMobile=document.querySelector(".page-top-wrap.sticky");!$s.media.isLarge&&stickyTopContentMobile&&(offsetHeight+=stickyTopContentMobile.offsetHeight),$s.scrollToElement(document.querySelector(this.pageManager.dataset.itemsContainerSelector),offsetHeight)}if(this.activeElementPath){var el=document.querySelector(this.activeElementPath);el&&el.focus()}},!0,doc=>{isOpen&&(doc.querySelector(".collection-filters").dataset.open=!0)},this.updateContentKeepFilters.bind(this))}else url=window.location.pathname+(paramsString?"?"+paramsString:""),location=url}}customElements.define("collection-filters",CollectionFilters)}if(!customElements.get("price-range-filter")){class PriceRangeFilter extends HTMLElement{constructor(){super();const rangeInput=this.querySelectorAll(".range-input input"),priceInput=this.querySelectorAll('input[type="number"]'),range=this.querySelector(".price-progress .line");let priceGap=0;priceInput.forEach((input,ix)=>{input.addEventListener("input",e=>{handleZIndex(ix);let minPrice=parseFloat(priceInput[0].value),maxPrice=parseFloat(priceInput[1].value);maxPrice-minPrice>=priceGap&&maxPrice<=rangeInput[1].max&&(e.target.classList.contains("input-min")?(rangeInput[0].value=minPrice,range.style.left=minPrice/rangeInput[0].max*100+"%"):(rangeInput[1].value=maxPrice,range.style.right=100-maxPrice/rangeInput[1].max*100+"%"))})});function handleZIndex(activeInputIndex){rangeInput.forEach((input,ix)=>{input.style.zIndex=activeInputIndex!=ix?"":"1"})}rangeInput.forEach((input,ix)=>{input.addEventListener("input",e=>{let minVal=parseFloat(rangeInput[0].value),maxVal=parseFloat(rangeInput[1].value);handleZIndex(ix),maxVal-minVal<priceGap?e.target.classList.contains("range-min")?rangeInput[0].value=maxVal-priceGap:rangeInput[1].value=minVal+priceGap:(priceInput[0].value=minVal,priceInput[1].value=maxVal,range.style.left=minVal/rangeInput[0].max*100+"%",range.style.right=100-maxVal/rangeInput[1].max*100+"%")})});
1function init(){let minVal=parseFloat(rangeInput[0].value),maxVal=parseFloat(rangeInput[1].value);range.style.left=minVal/rangeInput[0].max*100+"%",range.style.right=100-maxVal/rangeInput[1].max*100+"%",rangeInput[0].value==rangeInput[0].max&&handleZIndex(0)}init()}}customElements.define("price-range-filter",PriceRangeFilter)}}if(!customElements.get("collection-sort")){class CollectionSort extends HTMLElement{constructor(){super(),this.pageManager=this.closest("page-manager"),this.dropdown=this.querySelector("#sort-by"),this.ajax=!0;var search=new URLSearchParams(location.search);this.dropdown.value=search.get("sort_by")||this.dataset.sortBy,this.dropdown.addEventListener("change",()=>{var search2=new URLSearchParams(location.search);search2.set("sort_by",this.dropdown.value),search2.delete(this.pageManager.getPageParam());var paramsString=search2.toString();if(this.ajax){$s.showLoadingOverlay();const url=window.location.pathname+(paramsString?"?"+paramsString:"");this.pageManager.loadPage(url,()=>{$s.hideLoadingOverlay()})}else location.search=paramsString})}}customElements.define("collection-sort",CollectionSort)} 2//# sourceMappingURL=/cdn/shop/t/848/assets/collection_main.js.map?v=94824193843954031201789655741
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.