1class FacetFiltersForm extends HTMLElement{constructor(){super(),this.onActiveFilterClick=this.onActiveFilterClick.bind(this),this.debouncedOnSubmit=debounce(event=>{this.onSubmitHandler(event)},800),this.querySelector("form").addEventListener("input",this.debouncedOnSubmit.bind(this));const facetWrapper=this.querySelector("#FacetsWrapperDesktop");facetWrapper&&facetWrapper.addEventListener("keyup",onKeyUpEscape)}static setListeners(){const onHistoryChange=event=>{const searchParams=event.state?event.state.searchParams:FacetFiltersForm.searchParamsInitial;searchParams!==FacetFiltersForm.searchParamsPrev&&FacetFiltersForm.renderPage(searchParams,null,!1)};window.addEventListener("popstate",onHistoryChange)}static toggleActiveFacets(disable=!0){document.querySelectorAll(".js-facet-remove").forEach(element=>{element.classList.toggle("disabled",disable)})}static renderPage(searchParams,event,updateURLHash=!0){FacetFiltersForm.searchParamsPrev=searchParams;const sections=FacetFiltersForm.getSections(),countContainer=document.getElementById("ProductCount"),countContainerDesktop=document.getElementById("ProductCountDesktop");document.querySelectorAll(".facets-container .loading__spinner, facet-filters-form .loading__spinner").forEach(spinner=>spinner.classList.remove("hidden")),document.getElementById("ProductGridContainer").querySelector(".collection").classList.add("loading"),countContainer&&countContainer.classList.add("loading"),countContainerDesktop&&countContainerDesktop.classList.add("loading"),sections.forEach(section=>{const url=`${window.location.pathname}?section_id=${section.section}&${searchParams}`,filterDataUrl=element=>element.url===url;FacetFiltersForm.filterData.some(filterDataUrl)?FacetFiltersForm.renderSectionFromCache(filterDataUrl,event):FacetFiltersForm.renderSectionFromFetch(url,event)}),updateURLHash&&FacetFiltersForm.updateURLHash(searchParams)}static renderSectionFromFetch(url,event){fetch(url).then(response=>response.text()).then(responseText=>{const html=responseText;FacetFiltersForm.filterData=[...FacetFiltersForm.filterData,{html,url}],FacetFiltersForm.renderFilters(html,event),FacetFiltersForm.renderProductGridContainer(html),FacetFiltersForm.renderProductCount(html),FacetFiltersForm.initQuantitySelectors(html),typeof initializeScrollAnimationTrigger=="function"&&initializeScrollAnimationTrigger(html.innerHTML)})}static renderSectionFromCache(filterDataUrl,event){const html=FacetFiltersForm.filterData.find(filterDataUrl).html;FacetFiltersForm.renderFilters(html,event),FacetFiltersForm.renderProductGridContainer(html),FacetFiltersForm.renderProductCount(html),FacetFiltersForm.initQuantitySelectors(html),typeof initializeScrollAnimationTrigger=="function"&&initializeScrollAnimationTrigger(html.innerHTML)}static renderProductGridContainer(html){const gridContainer=document.getElementById("ProductGridContainer");gridContainer.innerHTML=new DOMParser().parseFromString(html,"text/html").getElementById("ProductGridContainer").innerHTML,gridContainer.querySelectorAll(".scroll-trigger").forEach(element=>{element.classList.add("scroll-trigger--cancel")}),gridContainer.querySelectorAll(".product-card-wrapper").forEach(function(element){let cardHeight=element.getBoundingClientRect().height;element.style.height=cardHeight+"px"}),setTimeout(()=>{const sortItems=document.querySelectorAll(".custom-sort-item"),sortSelect=document.getElementById("SortBy"),form=document.getElementById("FacetSortForm");if(!sortItems.length||!sortSelect||!form)return;sortItems.forEach(item=>{item.addEventListener("click",function(){const selectedValue=item.getAttribute("data-value");sortSelect.value=selectedValue,form.submit()})}),document.querySelectorAll(".facets__summary-toggle-inner").forEach(toggleInner=>{const mainInput=toggleInner.querySelector('input[type="checkbox"]');mainInput&&(document.querySelectorAll(".facets__disclosure-vertical").forEach(vertical=>{const matchingInput=vertical.querySelector('.facets__item input[type="checkbox"][data-value="'+mainInput.value+'"]');matchingInput&&(mainInput.checked=matchingInput.checked,mainInput.disabled=matchingInput.disabled)}),toggleInner.addEventListener("click",()=>{const valueToMatch=mainInput.value;document.querySelectorAll(".facets__disclosure-vertical").forEach(vertical=>{const matchingInput=vertical.querySelector('.facets__item input[type="checkbox"][data-value="'+valueToMatch+'"]');matchingInput&&matchingInput!==mainInput&&matchingInput.checked!==mainInput.checked&&matchingInput.click()})}))}),document.querySelectorAll(".facets__summary-toggle-inner-mobile").forEach(toggleInner=>{const mainInput=toggleInner.querySelector('input[type="checkbox"]');mainInput&&(document.querySelectorAll(".mobile-facets__item").forEach(item=>{const matchingInput=item.querySelector('.mobile-facets__label input[type="checkbox"][data-value="'+mainInput.value+'"]');matchingInput&&(mainInput.checked=matchingInput.checked,mainInput.disabled=matchingInput.disabled)}),toggleInner.addEventListener("click",()=>{const valueToMatch=mainInput.value;document.querySelectorAll(".mobile-facets__item").forEach(item=>{const matchingInput=item.querySelector('.mobile-facets__label input[type="checkbox"][data-value="'+valueToMatch+'"]');matchingInput&&matchingInput!==mainInput&&matchingInput.checked!==mainInput.checked&&matchingInput.click()})}))}),document.querySelectorAll(".bulk_purchase_card_wrapper .bulk-container").forEach(container=>{const selected=container.querySelector(".bulk-purchase-selected"),options=container.querySelector(".bulk-purchase-dropdown-options"),card=container.closest(".product-card-wrapper"),input=card.querySelector('input[name="quantity"]');!selected||!options||!input||(selected.addEventListener("click",e=>{e.stopPropagation(),document.querySelectorAll(".bulk-purchase-dropdown-options.show").forEach(opt=>{opt!==options&&opt.classList.remove("show")}),options.classList.toggle("show")}),options.querySelectorAll("li.bulk-purchase-dropdown-item").forEach(option=>{option.addEventListener("click",()=>{const value=option.getAttribute("data-value"),priceElement=option.querySelector(".bulk-purchase-dropdown-price"),priceData=priceElement?.querySelector(".pp")?.getAttribute("data-price"),priceValue=priceElement?.innerHTML;selected.querySelector(".bulk-purchase-dropdown-qty").textContent=value,selected.querySelector(".bulk-purchase-dropdown-price").innerHTML=priceValue,input.value=value,options.classList.remove("show");const priceTarget=container.closest(".card")?.querySelector(".price__container .price-item--regular");priceTarget&&priceData&&(priceTarget.textContent=priceData)})}),card&&card.addEventListener("mouseleave",()=>{options.classList.remove("show")}))}),document.querySelectorAll(".custom-dropdown").forEach(dropdown=>{const selected=dropdown.querySelector(".dropdown-selected"),options=dropdown.querySelector(".dropdown-options"),items=dropdown.querySelectorAll(".dropdown-options li:not(.disabled)"),defaultItem=dropdown.querySelector(".dropdown-options li.selected");defaultItem&&(selected.innerHTML=defaultItem.innerHTML),selected.addEventListener("click",function(event){event.stopPropagation(),options.style.display=options.style.display==="block"?"none":"block"}
1),items.forEach(item=>{item.addEventListener("click",function(){const inputEl=this.closest(".card__content").querySelector(".variant-id"),current_value=this.getAttribute("data-value"),productHandle=this.closest(".card-wrapper").getAttribute("data-product-handle"),tagContainer=this.closest(".card-wrapper").querySelector(".card_product_tag"),tagtopContainer=this.closest(".card-wrapper").querySelector(".price_top_tag-metadata");inputEl.value!==current_value&&(inputEl.value=current_value),selected.innerHTML=this.innerHTML,items.forEach(i=>i.classList.remove("selected")),this.classList.add("selected"),options.style.display="none",(tagContainer||tagtopContainer)&&fetch(`/products/${productHandle}?variant=${current_value}`).then(res=>res.text()).then(html2=>{const doc=new DOMParser().parseFromString(html2,"text/html"),newTagContent=doc.querySelector(".card_product-content .card_product_tag"),newtopTagContent=doc.querySelector(".card_product-content .price_top_tag-metadata");(newTagContent||tagtopContainer)&&(tagContainer.innerHTML=newTagContent.innerHTML,tagtopContainer.innerHTML=newtopTagContent.innerHTML)})})}),document.addEventListener("click",function(event){dropdown.contains(event.target)||(options.style.display="none")})}),document.querySelectorAll(".block__collection_page_tab_wrapper").forEach(function(wrapper){const tooltips=wrapper.querySelectorAll(".tooltip");wrapper.addEventListener("click",function(event){const clicked=event.target.closest(".tab-item");if(clicked){const index=clicked.getAttribute("data-index"),tooltipToToggle=wrapper.querySelector(`.tooltip[data-index='${index}']`);if(tooltipToToggle){const isVisible=tooltipToToggle.style.display==="block";wrapper.querySelectorAll(".tooltip").forEach(function(tooltip){tooltip.style.display="none"}),tooltipToToggle.style.display=isVisible?"none":"block"}event.stopPropagation()}}),wrapper.querySelectorAll(".tooltip").forEach(function(tooltip){tooltip.addEventListener("click",function(event){event.stopPropagation()})}),document.addEventListener("click",function(){wrapper.querySelectorAll(".tooltip").forEach(function(tooltip){tooltip.style.display="none"})})}),document.querySelectorAll(".block__sub_colection_info_icon_wrapper").forEach(function(subicon){let iconCol=subicon.querySelector(".block__sub_collection_info_icon_col"),textCol=subicon.querySelector(".block__sub_collection_info_text_col");iconCol.addEventListener("click",function(){textCol.classList.add("active"),setTimeout(()=>{textCol.classList.remove("active")},3e3)})});const subCollectionSlider=document.querySelectorAll(".block__sub_collection_flex_col.swiper");subCollectionSlider&&subCollectionSlider.forEach(sub_collection=>{new Swiper(sub_collection,{slidesPerView:5,spaceBetween:0,loop:!1,navigation:{nextEl:".block__sub_collection_next_icon",prevEl:".block__sub_collection_prev_icon"},breakpoints:{320:{slidesPerView:2.5,spaceBetween:6},569:{slidesPerView:3,spaceBetween:12},768:{slidesPerView:3,spaceBetween:13},992:{slidesPerView:3,spaceBetween:13},1200:{slidesPerView:4,spaceBetween:13},1300:{slidesPerView:5,spaceBetween:13}}})})},500),window.scrollTo(0,0)}static initQuantitySelectors(html){document.querySelectorAll(".quantity-selector").forEach(function(selector){let decreaseButton=selector.querySelector(".quantity-decrease"),increaseButton=selector.querySelector(".quantity-increase"),input=selector.querySelector(".quantity-input");decreaseButton.addEventListener("click",function(){parseInt(input.value)>1&&(input.value=parseInt(input.value)-1)}),increaseButton.addEventListener("click",function(){input.value=parseInt(input.value)+1})})}static renderProductCount(html){const count=new DOMParser().parseFromString(html,"text/html").getElementById("ProductCount").innerHTML,container=document.getElementById("ProductCount"),containerDesktop=document.getElementById("ProductCountDesktop");container.innerHTML=count,container.classList.remove("loading"),containerDesktop&&(containerDesktop.innerHTML=count,containerDesktop.classList.remove("loading")),document.querySelectorAll(".facets-container .loading__spinner, facet-filters-form .loading__spinner").forEach(spinner=>spinner.classList.add("hidden"))}static renderFilters(html,event){const parsedHTML=new DOMParser().parseFromString(html,"text/html"),facetDetailsElementsFromFetch=parsedHTML.querySelectorAll("#FacetFiltersForm .js-filter, #FacetFiltersFormMobile .js-filter, #FacetFiltersPillsForm .js-filter"),facetDetailsElementsFromDom=document.querySelectorAll("#FacetFiltersForm .js-filter, #FacetFiltersFormMobile .js-filter, #FacetFiltersPillsForm .js-filter");Array.from(facetDetailsElementsFromDom).forEach(currentElement=>{Array.from(facetDetailsElementsFromFetch).some(({id})=>currentElement.id===id)||currentElement.remove()});const matchesId=element=>
1{const jsFilter=event?event.target.closest(".js-filter"):void 0;return jsFilter?element.id===jsFilter.id:!1},facetsToRender=Array.from(facetDetailsElementsFromFetch).filter(element=>!matchesId(element)),countsToRender=Array.from(facetDetailsElementsFromFetch).find(matchesId);if(facetsToRender.forEach((elementToRender,index)=>{if(document.getElementById(elementToRender.id))document.getElementById(elementToRender.id).innerHTML=elementToRender.innerHTML;else{if(index>0){const{className:previousElementClassName,id:previousElementId}=facetsToRender[index-1];if(elementToRender.className===previousElementClassName){document.getElementById(previousElementId).after(elementToRender);return}}elementToRender.parentElement&&document.querySelector(`#${elementToRender.parentElement.id} .js-filter`).before(elementToRender)}}),FacetFiltersForm.renderActiveFacets(parsedHTML),FacetFiltersForm.renderAdditionalElements(parsedHTML),countsToRender){const closestJSFilterID=event.target.closest(".js-filter").id;if(closestJSFilterID){FacetFiltersForm.renderCounts(countsToRender,event.target.closest(".js-filter")),FacetFiltersForm.renderMobileCounts(countsToRender,document.getElementById(closestJSFilterID));const newFacetDetailsElement=document.getElementById(closestJSFilterID),newElementSelector=newFacetDetailsElement.classList.contains("mobile-facets__details")?".mobile-facets__close-button":".facets__summary",newElementToActivate=newFacetDetailsElement.querySelector(newElementSelector),isTextInput=event.target.getAttribute("type")==="text";newElementToActivate&&!isTextInput&&newElementToActivate.focus()}}}static renderActiveFacets(html){[".active-facets-mobile",".active-facets-desktop"].forEach(selector=>{const activeFacetsElement=html.querySelector(selector);activeFacetsElement&&(document.querySelector(selector).innerHTML=activeFacetsElement.innerHTML)}),FacetFiltersForm.toggleActiveFacets(!1)}static renderAdditionalElements(html){[".mobile-facets__open",".mobile-facets__count",".sorting"].forEach(selector=>{html.querySelector(selector)&&(document.querySelector(selector).innerHTML=html.querySelector(selector).innerHTML)}),document.getElementById("FacetFiltersFormMobile").closest("menu-drawer").bindEvents()}static renderCounts(source,target){const targetSummary=target.querySelector(".facets__summary"),sourceSummary=source.querySelector(".facets__summary");
1sourceSummary&&targetSummary&&(targetSummary.outerHTML=sourceSummary.outerHTML);const targetHeaderElement=target.querySelector(".facets__header"),sourceHeaderElement=source.querySelector(".facets__header");sourceHeaderElement&&targetHeaderElement&&(targetHeaderElement.outerHTML=sourceHeaderElement.outerHTML);const targetWrapElement=target.querySelector(".facets-wrap"),sourceWrapElement=source.querySelector(".facets-wrap");sourceWrapElement&&targetWrapElement&&(target.querySelector("show-more-button .label-show-more.hidden")&&sourceWrapElement.querySelectorAll(".facets__item.hidden").forEach(hiddenItem=>hiddenItem.classList.replace("hidden","show-more-item")),targetWrapElement.outerHTML=sourceWrapElement.outerHTML)}static renderMobileCounts(source,target){const targetFacetsList=target.querySelector(".mobile-facets__list"),sourceFacetsList=source.querySelector(".mobile-facets__list");sourceFacetsList&&targetFacetsList&&(targetFacetsList.outerHTML=sourceFacetsList.outerHTML)}static updateURLHash(searchParams){history.pushState({searchParams},"",`${window.location.pathname}${searchParams&&"?".concat(searchParams)}`)}static getSections(){return[{section:document.getElementById("product-grid").dataset.id}]}createSearchParams(form){const formData=new FormData(form);return new URLSearchParams(formData).toString()}onSubmitForm(searchParams,event){FacetFiltersForm.renderPage(searchParams,event)}onSubmitHandler(event){event.preventDefault();const sortFilterForms=document.querySelectorAll("facet-filters-form form");if(event.srcElement.className=="mobile-facets__checkbox"){const searchParams=this.createSearchParams(event.target.closest("form"));this.onSubmitForm(searchParams,event)}else{const forms=[],isMobile=event.target.closest("form").id==="FacetFiltersFormMobile";sortFilterForms.forEach(form=>{isMobile?form.id==="FacetFiltersFormMobile"&&forms.push(this.createSearchParams(form)):(form.id==="FacetSortForm"||form.id==="FacetFiltersForm"||form.id==="FacetSortDrawerForm")&&forms.push(this.createSearchParams(form))}),this.onSubmitForm(forms.join("&"),event)}}onActiveFilterClick(event){event.preventDefault(),FacetFiltersForm.toggleActiveFacets();const url=event.currentTarget.href.indexOf("?")==-1?"":event.currentTarget.href.slice(event.currentTarget.href.indexOf("?")+1);FacetFiltersForm.renderPage(url)}}FacetFiltersForm.filterData=[],FacetFiltersForm.searchParamsInitial=window.location.search.slice(1),FacetFiltersForm.searchParamsPrev=window.location.search.slice(1),customElements.define("facet-filters-form",FacetFiltersForm),FacetFiltersForm.setListeners();class PriceRange extends HTMLElement{constructor(){super(),this.querySelectorAll("input").forEach(element=>{element.addEventListener("change",this.onRangeChange.bind(this)),element.addEventListener("keydown",this.onKeyDown.bind(this))}),this.setMinAndMaxValues()}onRangeChange(event){this.adjustToValidValues(event.currentTarget),this.setMinAndMaxValues()}onKeyDown(event){if(event.metaKey)return;const pattern=/[0-9]|\.|,|'| |Tab|Backspace|Enter|ArrowUp|ArrowDown|ArrowLeft|ArrowRight|Delete|Escape/;event.key.match(pattern)||event.preventDefault()}setMinAndMaxValues(){const inputs=this.querySelectorAll("input"),minInput=inputs[0],maxInput=inputs[1];maxInput.value&&minInput.setAttribute("data-max",maxInput.value),minInput.value&&maxInput.setAttribute("data-min",minInput.value),minInput.value===""&&maxInput.setAttribute("data-min",0),maxInput.value===""&&minInput.setAttribute("data-max",maxInput.getAttribute("data-max"))}adjustToValidValues(input){const value=Number(input.value),min=Number(input.getAttribute("data-min")),max=Number(input.getAttribute("data-max"));value<min&&(input.value=min),value>max&&(input.value=max)}}customElements.define("price-range",PriceRange);class FacetRemove extends HTMLElement{constructor(){super();const facetLink=this.querySelector("a");facetLink.setAttribute("role","button"),facetLink.addEventListener("click",this.closeFilter.bind(this)),facetLink.addEventListener("keyup",event=>{event.preventDefault(),event.code.toUpperCase()==="SPACE"&&this.closeFilter(event)})}closeFilter(event){event.preventDefault(),(this.closest("facet-filters-form")||document.querySelector("facet-filters-form")).onActiveFilterClick(event)}}customElements.define("facet-remove",FacetRemove),document.addEventListener("DOMContentLoaded",function(){document.querySelectorAll(".facets__summary-toggle-inner").forEach(toggleInner=>{const mainInput=toggleInner.querySelector('input[type="checkbox"]');mainInput&&(document.querySelectorAll(".facets__disclosure-vertical").forEach(vertical=>{const matchingInput=vertical.querySelector('.facets__item input[type="checkbox"][data-value="'+mainInput.value+'"]');matchingInput&&(matchingInput.checked&&(mainInput.checked=!0),matchingInput.disabled&&(mainInput.disabled=!0))}),toggleInner.addEventListener("click",()=>{const valueToMatch=mainInput.value;console.log(valueToMatch,"valueToMatchvalueToMatch"),document.querySelectorAll(".facets__disclosure-vertical").forEach(vertical=>{const matchingInput=vertical.querySelector('.facets__item input[type="checkbox"][data-value="'+valueToMatch+'"]');console.log(matchingInput,"matchingInput"),matchingInput&&matchingInput!==mainInput&&matchingInput.checked!==mainInput.checked&&matchingInput.click()})}))}),document.querySelectorAll(".facets__summary-toggle-inner-mobile").forEach(toggleInner=>{const mainInput=toggleInner.querySelector('input[type="checkbox"]');mainInput&&(document.querySelectorAll(".mobile-facets__item").forEach(item=>{const matchingInput=item.querySelector('.mobile-facets__label input[type="checkbox"][data-value="'+mainInput.value+'"]');matchingInput&&(matchingInput.checked&&(mainInput.checked=!0),matchingInput.disabled&&(mainInput.disabled=!0))}),toggleInner.addEventListener("click",()=>{const valueToMatch=mainInput.value;document.querySelectorAll(".mobile-facets__item").forEach(item=>{const matchingInput=item.querySelector('.mobile-facets__label input[type="checkbox"][data-value="'+valueToMatch+'"]');matchingInput&&matchingInput!==mainInput&&matchingInput.checked!==mainInput.checked&&matchingInput.click()})}))})}),document.addEventListener("DOMContentLoaded",function(){const toggleBtn=document.querySelector(".custom-mobile-sort-toggle"),drawer2
1=document.getElementById("custom-mobile-sort-drawer"),closeBtn=document.querySelector(".block__mobile-facet-filter-close-icon"),drawerContent=document.querySelector(".block__sort_by_filter_drawer_col");toggleBtn&&drawer2&&toggleBtn.addEventListener("click",function(){drawer2.classList.toggle("open");const isOpen=drawer2.classList.contains("open");toggleBtn.setAttribute("aria-expanded",isOpen),document.querySelector("body").classList.add("overflow-hidden-mobile")}),closeBtn&&drawer2&&closeBtn.addEventListener("click",function(){drawer2.classList.remove("open"),toggleBtn.setAttribute("aria-expanded","false"),document.querySelector("body").classList.remove("overflow-hidden-mobile")}),drawer2&&drawerContent&&drawer2.addEventListener("click",function(e){drawerContent.contains(e.target)||(drawer2.classList.remove("open"),toggleBtn.setAttribute("aria-expanded","false"),document.querySelector("body").classList.remove("overflow-hidden-mobile"))});const sortItems=document.querySelectorAll(".custom-sort-item"),sortSelect=document.getElementById("SortBy"),form=document.getElementById("FacetSortForm");!sortItems.length||!sortSelect||!form||(sortItems.forEach(item=>{item.addEventListener("click",function(){const selectedValue=item.getAttribute("data-value");sortSelect.value=selectedValue,form.submit()})}),document.querySelector(".custom-mobile-facets__close").addEventListener("click",function(){document.querySelectorAll(".mobile-facets__disclosure.disclosure-has-popup").forEach(function(el){el.removeAttribute("open"),document.querySelector("body").classList.remove("overflow-hidden-mobile")})}))});function handleMobileFacetsToggle(){const facet=document.querySelector(".mobile-facets__disclosure");if(!facet)return;new MutationObserver(()=>{window.innerWidth<991&&facet.hasAttribute("open")?document.body.classList.add("overflow-hidden"):document.body.classList.remove("overflow-hidden")}).observe(facet,{attributes:!0,attributeFilter:["open"]}),window.addEventListener("resize",()=>{window.innerWidth>=991&&document.body.classList.remove("overflow-hidden")})}document.addEventListener("DOMContentLoaded",handleMobileFacetsToggle);function toggleBodyOverflow(){const drawer2=document.querySelector(".block__sort_by_filter_drawer_wrapper");if(!drawer2)return;const isMobile=window.innerWidth<991,isOpen=drawer2.classList.contains("open");isMobile&&isOpen?document.body.classList.add("overflow-hidden"):document.body.classList.remove("overflow-hidden")}window.addEventListener("load",toggleBodyOverflow),window.addEventListener("resize",toggleBodyOverflow);const drawer=document.querySelector(".block__sort_by_filter_drawer_wrapper");drawer&&new MutationObserver(toggleBodyOverflow).observe(drawer,{attributes:!0,attributeFilter:["class"]}); 2//# sourceMappingURL=/cdn/shop/t/169/assets/facets.js.map?v=107477685222150017221777973084
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.