PageSourceSearch

https://www.prestigewicker.co.uk/cdn/shop/t/29/assets/list.filter-…?v=63107918996786963331765290119

js prestigewicker.co.uk collected 2026-09-26 16:17:55 UTC 2,927 bytes, 2 lines download raw bytes

1import{unlockMobileScrolling,lockMobileScrolling}from"util.a11y";import{EVENTS}from"util.events";import{prepareTransition,executeJSmodules}from"util.misc";class CollectionMobileFilters extends HTMLElement{connectedCallback(){this.selectors={filters:".filter-wrapper",inlineWrapper:"#CollectionInlineFilterWrap",sortBtn:".filter-sort",filterForm:".filter-form"},this.config={mobileFiltersInPlace:!1,isOpen:!1},this.mobileMediaQuery=window.matchMedia("(max-width: 768px)"),this.handleMediaQueryChange=this.handleMediaQueryChange.bind(this),this.mobileMediaQuery.addListener(this.handleMediaQueryChange),this.handleMediaQueryChange(this.mobileMediaQuery),this.abortController=new AbortController,document.addEventListener(EVENTS.toggleMobileFilters,this.toggle.bind(this),{signal:this.abortController.signal}),document.addEventListener("filter:selected",this.close.bind(this),{signal:this.abortController.signal})}disconnectedCallback(){this.abortController.abort()}processHTML(filters){const filterForm=filters.querySelector(this.selectors.filterForm);Array.from(filterForm.elements).forEach(el=>{const id=el.getAttribute("id");if(id){const newId=`${id}-mobile`;el.setAttribute("id",newId);const label=el.closest(`label[for="${id}"]`);label&&label.setAttribute("for",newId)}})}async renderFiltersOnMobile(){if(this.config.mobileFiltersInPlace)return;const filters=await this.getFilters(),inlineWrapper=this.querySelector(this.selectors.inlineWrapper);this.processHTML(filters),inlineWrapper.innerHTML="",inlineWrapper.append(filters);const scripts=inlineWrapper.querySelectorAll('script[type="module"]');executeJSmodules(scripts),this.config.mobileFiltersInPlace=!0}handleMediaQueryChange(mql){mql.matches&&setTimeout(()=>{this.renderFiltersOnMobile()},100)}toggle(){this.config.isOpen?this.close():this.open()}open(){const filters=this.querySelector(this.selectors.filters);prepareTransition(filters,()=>filters.classList.add("is-active")),this.config.isOpen=!0,lockMobileScrolling(),this._keyupHandler=evt=>{evt.keyCode===27&&this.close()},window.addEventListener("keyup",this._keyupHandler,{signal:this.abortController.signal})}close(){const filters=this.querySelector(this.selectors.filters);filters&&(prepareTransition(filters,()=>filters.classList.remove("is-active")),this.config.isOpen=!1,unlockMobileScrolling(),window.removeEventListener("keyup",this._keyupHandler))}async getFilters(){const searchParams=window.location.search.slice(1),url=`${window.location.pathname}?section_id=item-grid-filters&${searchParams}`,response=await fetch(url);if(!response.ok)throw response;const responseText=await response.text();return new DOMParser().parseFromString(responseText,"text/html").querySelector(this.selectors.filters)}}customElements.define("collection-mobile-filters",CollectionMobileFilters);
2//# sourceMappingURL=/cdn/shop/t/29/assets/list.filter-grid.collection-mobile-filters.js.map?v=63107918996786963331765290119

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.