PageSourceSearch

https://www.napapijri.com/cdn/shop/t/285/assets/filter-drawer.j_kjj2v7.min.js

js napapijri.com collected 2026-09-24 22:30:57 UTC 5,025 bytes, 1 lines download raw bytes

1import{c as y}from"./focus-trap.esm.DYjLEhSG.min.js";import{E as n}from"./events.CylfRtLc.min.js";import{d as E,e as v}from"./body-scroll.B--ZoFRz.min.js";import{S as w}from"./sections-api-service.CIHHOVpP.min.js";import{p as k}from"./parse-html.C-hh7jJd.min.js";class A extends HTMLElement{constructor(){super(),this.active=this.getAttribute("data-active")==="true",this.openTriggers=document.querySelectorAll("[data-filter-drawer-trigger]"),this.closeTriggers=this.querySelectorAll("[data-close]"),this.content=this.querySelector("[data-content]"),this.applyButton=this.querySelector("[data-filter-apply]"),this.resetButton=this.querySelector("[data-filter-reset]"),this.inputs=this.querySelectorAll("input"),this.applyButtonCountEl=this.applyButton.querySelector("[data-product-count]"),this.productCountWrapper=document.querySelector("[data-product-count-wrapper]"),this.trap=y(this,{allowOutsideClick:!0})}connectedCallback(){this.openTriggers.forEach(e=>e.addEventListener("click",this.open.bind(this))),this.closeTriggers.forEach(e=>e.addEventListener("click",this.close.bind(this))),document.addEventListener("keydown",e=>this.keyDown(e)),document.addEventListener(n.FILTER_UPDATE,this.render.bind(this)),this.applyButton.addEventListener("click",this.apply.bind(this)),this.resetButton.addEventListener("click",this.reset.bind(this))}disconnectedCallback(){this.openTriggers.forEach(e=>e.removeEventListener("click",this.open.bind(this))),this.closeTriggers.forEach(e=>e.removeEventListener("click",this.close.bind(this))),document.removeEventListener("keydown",e=>this.keyDown(e)),document.removeEventListener(n.FILTER_UPDATE,this.render.bind(this)),this.applyButton.removeEventListener("click",this.apply.bind(this)),this.resetButton.removeEventListener("click",this.reset.bind(this))}keyDown({key:e}){e&&(e==="Escape"||e==="Esc")&&this.close()}open(){this.active=!0,this.style.display="block",setTimeout(()=>{this.setAttribute("data-active",!0),this.setAttribute("aria-hidden",!1),this.setAttribute("aria-modal",!0),this.openTriggers.forEach(e=>e.setAttribute("aria-expanded",!0)),E(),setTimeout(this.trap.activate,100)},10)}close(){this.active=!1,this.trap.deactivate(),this.setAttribute("data-active",!1),this.setAttribute("aria-hidden",!0),this.setAttribute("aria-modal",!1),this.openTriggers.forEach(e=>e.setAttribute("aria-expanded",!1)),v(),setTimeout(()=>this.style.display="none",200)}apply(){const e=this.getBaseUrlWithPreservedParams(["q"]);this.inputs.forEach(s=>{const r=s.name,i=s.value,o=s.getAttribute("max");s.type==="checkbox"&&s.checked&&e.searchParams.append(r,i),s.type==="radio"&&s.checked&&e.searchParams.append(r,i),s.type==="number"&&(s.hasAttribute("data-min-input")&&i>0||s.hasAttribute("data-max-input")&&i!==o)&&e.searchParams.set(r,i)}),window.history.replaceState(null,"",e),this.close(),document.dispatchEvent(new CustomEvent(n.FILTER_UPDATE))}reset(){const e=this.getBaseUrlWithPreservedParams(["q"]);window.history.replaceState(null,"",e),document.dispatchEvent(new CustomEvent(n.FILTER_UPDATE)),this.close()}async render(){const e=new URL(window.location.href),s=await w.fetch(e,"main-product-grid"),r=k(s),i=r.querySelectorAll("filter-drawer input"),o=r.querySelector("[data-product-count]"),d=r.querySelector("[data-product-count-wrapper]"),h=r.querySelector("#filterCount").value,u=document.querySelector("#filterCountData");if(h=="0"?u.innerText="":u.innerText=`(${h})`,this.productCountWrapper){const t=d==null?void 0:d.classList.contains("hidden");this.productCountWrapper.classList.toggle("hidden",t)}this.applyButtonCountEl.innerText=(o==null?void 0:o.innerText)||0,this.inputs.forEach(t=>{var m,b;const p=(m=t.parentElement)==null?void 0:m.querySelector("[data-count]"),a=Array.from(i).find(c=>c.id===t.id),f=(b=a==null?void 0:a.parentElement)==null?void 0:b.querySelector("[data-count]");if(t.name.includes("size")&&(t.closest(".checkbox-wrapper__size").removeAttribute("data-checked"),t.closest(".checkbox-wrapper__size").removeAttribute("data-disabled")),!!a){if(p&&(p.innerText=f.innerText),t.name.includes("sort")){const c=t.closest("radio-button"),l=a.closest("radio-button");c.removeAttribute("data-checked"),l.hasAttribute("data-checked")&&c.setAttribute("data-checked","")}if(t.checked=a.checked,t.disabled=a.disabled,(t.type==="number"||t.type==="range")&&(t.value=a.value),t.name.includes("size")){const c=a.closest(".checkbox-wrapper__size").hasAttribute("data-checked"),l=a.closest(".checkbox-wrapper__size").hasAttribute("data-disabled");c&&t.closest(".checkbox-wrapper__size").setAttribute("data-checked",""),l&&t.closest(".checkbox-wrapper__size").setAttribute("data-disabled","")}}})}getBaseUrlWithPreservedParams(e=[]){const s=new URL(window.location.href),r=new URL(`${window.location.origin}${window.location.pathname}${window.location.search}`);return e.forEach(i=>
1{const o=s.searchParams.get(i);o!==null&&r.searchParams.set(i,o)}),r}}const q=()=>{customElements.get("filter-drawer")||customElements.define("filter-drawer",A)};export{q as default};

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.