https://www.portlandleathergoods.com/cdn/shop/t/3249/assets/header…?v=147568335925067833031790779479
1var l=Object.defineProperty;var d=(n,r,e)=>r in n?l(n,r,{enumerable:!0,configurable:!0,writable:!0,value:e}):n[r]=e;var o=(n,r,e)=>d(n,typeof r!="symbol"?r+"":r,e);import{t as u,r as c}from"main/theme";import{l as h}from"main/custom-element-utils";import"main/modulepreload-polyfill";function p({el:n,caller:r}){let e;return t=>{const s=n;if(s){if(t==="on"){if(s.dataset.visible==="true")return;n.dataset.caller=r,clearTimeout(e),s.classList.remove("hidden"),setTimeout(()=>{s.dataset.visible="true"},50)}if(t==="off"){if(n.dataset.caller!==r)return;delete s.dataset.visible,e=setTimeout(()=>{n.dataset.caller===r&&(delete n.dataset.caller,s.classList.add("hidden"))},500)}}}}const m=["megamenu","dropdown"];class f extends window.HTMLElement{constructor(){super();o(this,"detailsAPI");o(this,"subMenu");o(this,"overlay");o(this,"detailsElements");o(this,"dropdownStyle");o(this,"trapFocusWhenOpen");o(this,"closeButton");o(this,"timeout");o(this,"subMenuLinkToggles");o(this,"toggleOverlay");o(this,"removeLockScroll");o(this,"eventRouter",(e,t)=>{const s=e.type;let i;switch(!0){case e instanceof PointerEvent:{i=e.pointerType;break}case e instanceof MouseEvent:{i="mouse";break}}switch(s){case"pointerenter":{i==="mouse"&&t.open();break}case"pointerleave":{i==="mouse"&&t.close({delay:100});break}case"click":{t.element.open&&this.dropdownStyle==="megamenu"&&(e.preventDefault(),t.close({delay:1}));break}}});o(this,"onOpenCallback",(e,t=1)=>{clearTimeout(this.timeout),this.trapFocusWhenOpen&&u(e),window.setTimeout(()=>{this.dataset.expanded="true",this.setAttribute("aria-expanded","true"),e.dataset.active="true"},t)});o(this,"closeElementHandler",(e,t=100)=>{clearTimeout(this.timeout),this.timeout=window.setTimeout(()=>{this.trapFocusWhenOpen&&c(e),delete this.dataset.expanded,delete e.dataset.active,this.setAttribute("aria-expanded","false"),this.timeout=window.setTimeout(()=>e.open=!1,351)},t)});o(this,"detailsElementObserver",e=>{for(const t of e)if(t.type==="attributes"&&t.attributeName==="open"&&t.target instanceof HTMLDetailsElement){const s=t.target;s.open&&this.onOpenCallback(s)}});this.detailsElements=this.querySelectorAll("details"),this.subMenuLinkToggles=this.querySelectorAll("[data-toggle-dropdown]"),this.subMenu=this.querySelector("[data-details-menu-list]"),this.overlay=document.querySelector("[data-search-overlay"),this.closeButton=this.querySelector("[data-close-button]"),this.detailsAPI=[],this.timeout=void 0,this.toggleOverlay=p({el:this.overlay,caller:"header-menu-dropdown"}).bind(this),this.dropdownStyle=this.getDropdownStyle(),this.trapFocusWhenOpen=!!this.subMenu&&this.dropdownStyle==="megamenu";const e=new MutationObserver(this.detailsElementObserver);this.detailsElements.forEach(t=>{const s=this.initDetailsAPI(t);this.detailsAPI.push(s);const i=t.querySelector("summary");e.observe(t,{attributes:!0}),this.overlay?.addEventListener("click",a=>this.eventRouter(a,s)),i?.addEventListener("click",a=>this.eventRouter(a,s)),t.addEventListener("pointerleave",a=>this.eventRouter(a,s)),t.addEventListener("pointerenter",a=>this.eventRouter(a,s))}),this.subMenuLinkToggles.forEach(t=>{t.addEventListener("click",s=>{s.preventDefault();const i=this.querySelector(`[data-dropdown-menu="${t.dataset.toggleDropdown}"]`);i&&(i.classList.toggle("invisible"),i.classList.toggle("h-0"),t.querySelector("[data-icon]")?.classList.toggle("-rotate-90"))})}),this.closeButton&&this.closeButton.addEventListener("click",()=>{this.detailsAPI.forEach(t=>t.close({delay:1}))}),this.dataset.defaultOpen==="true"&&this.detailsAPI[0]?.open()}getDropdownStyle(){const e=this.dataset.dropdownStyle;return e&&m.includes(e)?e:"dropdown"}initDetailsAPI(e){return{open:()=>{e.open=!0},close:({delay:t})=>{const s=t??100;this.closeElementHandler(e,s)},element:e}}static get observedAttributes(){return["data-expanded"]}attributeChangedCallback(e,t,s){e==="data-expanded"&&s!==t&&(s==="true"?this.trapFocusWhenOpen&&(this.toggleOverlay("on"),this.removeLockScroll=h()):this.trapFocusWhenOpen&&(this.toggleOverlay("off"),this.removeLockScroll?.(),delete this.removeLockScroll))}connectedCallback(){if(this.subMenu&&this.dropdownStyle==="dropdown"){const e=this.checkWidth();typeof e=="boolean"&&e&&this.subMenu.querySelectorAll(".header__submenu__submenu").forEach(function(t){t.classList.remove("left-full"),t.classList.add("right-full")})}}checkWidth(){if(!this.subMenu||this.dropdownStyle!=="dropdown")return null;let e=!1;const t=window.innerWidth,s=this.subMenu.getBoundingClientRect().right;return this.subMenu.querySelectorAll(".header__submenu__submenu").forEach(function(i){i instanceof HTMLElement&&s+i.offsetWidth>t&&(e=!0)}),e}}window.customElements.define("header-menu-dropdown",f);
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.