PageSourceSearch

https://www.bludot.com/cdn/shop/t/128/assets/header.min.js?v=114255160814077069251790265391

js bludot.com collected 2026-09-24 22:17:42 UTC 15,999 bytes, 4 lines download raw bytes

1(()=>{var a=class extends HTMLElement{constructor(){super();let e=t=>{this.setAttribute("data-item-count",t),this.innerHTML=`
2      <span aria-hidden="true">${t>0?t:0}</span>
3      <span class="visually-hidden">${t===1?this.dataset.one:this.dataset.other.replace("[count]",t)}</span>`};window.cartData?.item_count&&e(window.cartData.item_count),document.addEventListener("cart:updated",t=>{e(t.detail.cartData.item_count)}),document.addEventListener("cart:updated",()=>{if(sessionStorage.getItem("firstVisitSubtle")===null)sessionStorage.setItem("firstVisitSubtle","true");else return;window.cartData.items.length!=0&&this.classList.add("header__cart-count--subtle-pulse")},{once:!0})}};customElements.get("cart-count")||customElements.define("cart-count",a);var c=class extends HTMLElement{constructor(){super(),this.toggle=this.querySelector("[data-mobile-menu-toggle]"),this.closeButton=this.querySelector("[data-mobile-menu-close]"),this.toggle.addEventListener("click",()=>{this._toggleOpen()}),this.closeButton&&this.closeButton.addEventListener("click",()=>{this._close()}),this.addEventListener("mobile-submenu:close",()=>{window.trapFocus(this)}),this.closeEsc=e=>{e.key==="Escape"&&this.classList.contains("open")&&!this.querySelector(".mobile-menu__main-mega-menu.open")&&this._close()},document.addEventListener("keydown",this.closeEsc),this.handleResize=()=>{!this._isMobile&&this.classList.contains("open")&&this._forceClose(),this._setMaxHeightVariable()},window.addEventListener("resize",this.handleResize),this.handleMobileSearchOpen=()=>{this._open(!0)},document.addEventListener("mobile-search:open",this.handleMobileSearchOpen)}disconnectedCallback(){document.removeEventListener("keydown",this.closeEsc),document.removeEventListener("mobile-search:open",this.handleMobileSearchOpen),window.removeEventListener("resize",this.handleResize)}_toggleOpen(){this.classList.contains("open")?this._close():this._open()}_forceClose(){this.classList.remove("open"),this.toggle.setAttribute("aria-expanded","false"),window.closeDimmer(this),window.removeTrapFocus(this.toggle),window.unlockScroll(this),this.removeEventListener("transitionend",this.onEnd)}_open(e){window.requestAnimationFrame(()=>{if(this.classList.add("open"),this.toggle.setAttribute("aria-expanded","true"),this.dispatchEvent(new CustomEvent("menu:open",{bubbles:!0})),window.lockScroll(this),window.openDimmer(this),this.style.setProperty("--mobile-menu-top",`${this.closest(".header").getBoundingClientRect().bottom}px`),this._setMaxHeightVariable(),e){let t=this.querySelector('input[name="q"]');t?.click(),t?.focus()}}),window.trapFocus(this)}_close(){this.classList.remove("open"),this.toggle.setAttribute("aria-expanded","false"),this.dispatchEvent(new CustomEvent("menu:close",{bubbles:!0})),window.removeTrapFocus(this.toggle);let e=t=>{"mobileMenuDrawer"in t.target.dataset&&(this.removeEventListener("transitionend",e),!this.classList.contains("open")&&(window.unlockScroll(this),window.closeDimmer(this),this.dispatchEvent(new CustomEvent("mobile-menu:closed",{bubbles:!0}))))};this.addEventListener("transitionend",e)}_setMaxHeightVariable(){let e=this.querySelector(".header__mobile-menu-content"),{height:t}=e.getBoundingClientRect();this.style.setProperty("--mobile-menu-max-content-height",`${t}px`)}get _isMobile(){return window.matchMedia("(max-width: 1023px)").matches}};customElements.get("mobile-menu")||customElements.define("mobile-menu",c);var h=class extends HTMLElement{constructor(){super(),this.summary=this.querySelector("summary"),this.details=this.querySelector("details"),this.content=this.querySelector("[data-mega-menu-content]"),this.menuContent=this.closest(".header__mobile-menu-content"),this.menuContentInner=this.closest(".header__mobile-menu-content-inner"),this.summary.addEventListener("click",e=>{e.target.closest("a")||(e.preventDefault(),this._toggle())}),this.closeButton=this.querySelector("[data-menu-close]"),this.closeButton.addEventListener("click",()=>this._close()),document.addEventListener("mobile-menu:closed",()=>{this.details.open=!1,this.details.classList.remove("open"),this.menuContent.classList.remove("submenu-open"),window.removeTrapFocus(),this.menuContentInner.removeEventListener("transitionend",this.onEnd)}),this.closeEsc=e=>{e.key==="Escape"&&this.details.classList.contains("open")&&this._close()},document.addEventListener("keydown",this.closeEsc)}disconnectedCallback(){document.removeEventListener("keydown",this.closeEsc)}
3_toggle(){this.details.open?this._close():this._open()}_open(){this.menuContent.style.overflow="hidden",this.details.open=!0,window.requestAnimationFrame(()=>{this.details.classList.add("open"),this.menuContent.classList.add("submenu-open"),this.onEnd=()=>{this.menuContentInner.removeEventListener("transitionend",this.onEnd),this.details.classList.contains("open")&&(window.trapFocus(this.content,this.closeButton),this.dispatchEvent(new CustomEvent("mobile-submenu:open",{bubbles:!0})),this.menuContent.style.overflow=null)},this.menuContentInner.addEventListener("transitionend",this.onEnd)})}_close(){this.menuContent.style.overflow="hidden",this.details.classList.remove("open"),this.menuContent.classList.remove("submenu-open"),this.onEnd=()=>{this.menuContentInner.removeEventListener("transitionend",this.onEnd),!this.details.classList.contains("open")&&(this.details.open=!1,window.removeTrapFocus(this.summary),this.dispatchEvent(new CustomEvent("mobile-submenu:close",{bubbles:!0})),this.menuContent.style.overflow=null)},this.menuContentInner.addEventListener("transitionend",this.onEnd)}};customElements.get("mobile-submenu")||customElements.define("mobile-submenu",h);var L="(min-width: 1024px)";function l(){return window.matchMedia(L).matches?39:0}var d=class extends HTMLElement{constructor(){super(),this.targets=document.querySelectorAll("[data-header-target]"),this.sticking=!1;let e=()=>{let o=l(),r=this.getBoundingClientRect().height+(this.sticking?o:0),w=document.documentElement.style;w.setProperty("--header-height",`${r}px`),w.setProperty("--header-height-sticking",`${r-o}px`)},t=()=>{this.classList.add("header--no-transition"),e(),this.classList.remove("header--no-transition")},s=null,i=()=>{s||(s=window.requestAnimationFrame(()=>{s=null,t()}))};window.requestAnimationFrame(e),window.addEventListener("resize",i),this._moveStickTarget(),this._initObserver()}_initObserver(){let e=s=>{s.forEach(i=>{switch(i.target.dataset.headerTarget){case"stick":this.sticking=!i.isIntersecting,this.classList.toggle("sticking",this.sticking),document.body.classList.toggle("header--sticking",this.sticking);break}})},t=new IntersectionObserver(e,{});this.targets.forEach(s=>t.observe(s))}_moveStickTarget(){if(Shopify?.designMode)return;let e=document.querySelector('[data-header-target="stick"]'),t=this.closest(".shopify-section--header");t.parentNode.insertBefore(e,t)}};customElements.get("sticky-header")||customElements.define("sticky-header",d);var u=class extends HTMLElement{constructor(){super(),this.addEventListener("click",()=>{document.dispatchEvent(new CustomEvent("mini-cart:open"))})}};customElements.get("mini-cart-button")||customElements.define("mini-cart-button",u);var m=class extends HTMLElement{constructor(){super(),this.closeTimeout=null,this.openTimeout=null,this.details=this.querySelector("details"),this.summary=this.querySelector("summary"),this.content=this.querySelector("[data-mega-menu-content]"),this.lastMousePosition=null,this.handleMousemove=e=>{this.newMousePosition={y:e.pageY,time:Date.now()},this.lastMousePosition&&(this.velocity=(this.newMousePosition.y-this.lastMousePosition.y)/(this.newMousePosition.time-this.lastMousePosition.time)),this.lastMousePosition=this.newMousePosition},document.addEventListener("mousemove",this.handleMousemove),this.addEventListener("mouseover",()=>{if(isFinite(this.velocity))if(Math.abs(this.velocity)>.1){if(this.openTimeout)return;this.openTimeout=setTimeout(()=>{this._open()},100)}else this._open()}),this.addEventListener("click",e=>{this.summary.contains(e.target)&&!e.target.closest("a")&&(e.preventDefault(),this.details.open?this._close():this._open())}),this.addEventListener("mouseleave",()=>{this._close()}),this.content.addEventListener("focusout",e=>{this.content.contains(e.relatedTarget)||this._close()}),this.closeEsc=e=>{e.key==="Escape"&&this.details.open&&(this._close(),this.summary.focus())},document.addEventListener("keydown",this.closeEsc)}disconnectedCallback(){document.removeEventListener("keydown",this.closeEsc),document.removeEventListener("mousemove",this.handleMousemove)}_open(){clearTimeout(this.closeTimeout),clearTimeout(this.openTimeout),this.removeEventListener("transitionend",this.onEnd),this.openTimeout=null,this.details.open=!0,this.details.classList.add("open"),window.openDimmer(this),this.dispatchEvent(new CustomEvent("menu:open",{bubbles:!0}))}_close(e){clearTimeout(this.closeTimeout),clearTimeout(this.openTimeout),this.removeEventListener("transitionend",this.onEnd),this.openTimeout=null,this.closeTimeout=setTimeout(()=>{this.dispatchEvent(new CustomEvent("menu:close",{bubbles:!0})),this.details.classList.remove("open"),window.closeDimmer(this),this.onEnd=t=>{t.target===this.content&&(this.removeEventListener("transitionend",this.onEnd),!this.classList.contains("open")&&(this.details.open=!1))},this.addEventListener("transitionend",this.onEnd)},e?0:250)}};customElements.get("mega-menu-opener")||customElements.define("mega-menu-opener",m);var p=class extends HTMLElement{constructor(){super(),this.select=this.querySelector("select"),this.form=this.querySelector("form"),this.select.addEventListener("change",()=>{this.form.submit()})}};customElements.get("mobile-localization-form")||customElements.define("mobile-localization-form",p);var v=class extends HTMLElement{static observedAttributes=["q"];constructor(){super(),this.currentQueryId=0}connectedCallback(){}disconnectedCallback(){}attributeChangedCallback(e,t,s){e==="q"&&this._fetchQuery(s)}_fetchQuery(e){if(e.trim()===""){this.results.innerHTML="",this.defaultContent.style.display=null;return}var t;this.currentQueryId++;let s=this.currentQueryId;fetch(`${this.url}?q=${e}&resources[type]=product,page,query,collection&resources[limit_scope]=each&resources[options][fields]=title,product_type,variants.title,vendor,body&section_id=predictive-search`).then(i=>(t=i,i.text())).then(i=>{if(!t.ok)throw new Error(`${t.status}: ${i}`);if(s!==this.currentQueryId)return;let o=new DOMParser().parseFromString(i,"text/html").querySelector("#shopify-section-predictive-search"),r=o.querySelector("[data-aria-live]")?.dataset.ariaLive||"";this.defaultContent.style.display="none",this.results.innerHTML=o.innerHTML,this.dispatchEvent(new CustomEvent("live-search:updated",{bubbles:!0,detail:{ariaLiveContent:r}}))}).catch(i=>{console.error(i)})}get url(){return this.getAttribute("url")}get results(){return this.querySelector("[data-results]")}get defaultContent(){return this.querySelector("[data-default-content]")}};customElements.get("live-search")||customElements.define("live-search",v);var E=class extends HTMLElement{constructor(){super()}connectedCallback(){if(this.input=this.querySelector('input[name="q"]'),this.liveSearch=this.querySelector("live-search"),this.clear=this.querySelector("[data-clear]"),!this.input||!this.liveSearch)return;this.toggleClearVisibility(),this.input.addEventListener("input",()=>{this.setAttribute("interacting",""),this.liveSearch.setAttribute("q",this.input.value),this.toggleClearVisibility(),this.input.value.length||this.updateAriaLiveContent("")}),this.input.addEventListener("click",()=>{this.setAttribute("interacting","")}),this.clearValue=()=>{this.input.value="",this.updateAriaLiveContent(""),this.liveSearch.setAttribute("q",""),this.toggleClearVisibility()};let e=()=>{this.dispatchEvent(new CustomEvent("header-search:close",{bubbles:!0})),this.removeAttribute("interacting"),this.clearValue()};this.clear?.addEventListener("click",e),this.addEventListener("live-search-wrapper:clear",this.clearValue),this.handleMenuClose=()=>{this.clearValue(),this.removeAttribute("interacting")},document.addEventListener("mobile-menu:closed",this.handleMenuClose),this.addEventListener("live-search:updated",t=>{let{ariaLiveContent:s}=t.detail;this.updateAriaLiveContent(s)})}disconnectedCallback(){document.removeEventListener("mobile-menu:closed",this.handleMenuClose)}toggleClearVisibility(){this.toggleAttribute("active",this.input.value.length)}updateAriaLiveContent(e){let t=this.querySelector('[aria-live="assertive"]');t&&(t.innerHTML=this.input.value.length?e:"")}};customElements.get("live-search-wrapper")||customElements.define("live-search-wrapper",E);var g=class extends HTMLElement{constructor(){super(),this.searchButton=this.querySelector("[data-search-button]"),this.searchForm=this.querySelector(".header__search"),this.searchFormClose=this.querySelector("[data-search-form-close]"),this.header=this.closest(".header"),this.promoBar=document.querySelector(".promo-bar"),this.searchButton.addEventListener("click",()=>{if(this._isMobile){this.dispatchEvent(new CustomEvent("mobile-search:open",{bubbles:!0}));return}this.searchForm.classList.contains("active")?this.closeSearchForm():this.openSearchForm()}),this.searchFormClose?.addEventListener("click",()=>{this.closeSearchForm()}),this.addEventListener("header-search:close",()=>this.closeSearchForm()),window.addEventListener("click",e=>{this.contains(e.target)||this.closeSearchForm()}),window.addEventListener("resize",()=>{this._isMobile&&this.closeSearchForm()}),this.closeEsc=e=>{e.key==="Escape"&&this.searchForm.classList.contains("active")&&this.closeSearchForm()},document.addEventListener("keydown",this.closeEsc)}disconnectedCallback(){document.removeEventListener("keydown",this.closeEsc)}openSearchForm(){if(this.searchForm.classList.contains("active"))return;let e=this.promoBar?.getBoundingClientRect().height||0,t=this.header.getBoundingClientRect().height;this.searchForm.style.setProperty("--search-form-max-height",`calc(100vh - ${e}px - ${t}px)`),this.searchForm.style.display="block",window.openDimmer(this),this.header&&this.header.classList.add("search-is-opened"),window.requestAnimationFrame(()=>{this.searchForm.classList.add("active"),window.trapFocus(this.searchForm,this.searchForm.querySelector('input[name="q"]'))})}closeSearchForm(){if(!this.searchForm.classList.contains("active"))return;let e=()=>{this.searchForm.style.display="none",this.searchForm.removeEventListener("transitionend",e),this.querySelector("live-search-wrapper")?.dispatchEvent(new CustomEvent("live-search-wrapper:clear")),window.removeTrapFocus(this.searchButton)};this.searchForm.addEventListener("transitionend",e),this.searchForm.classList.remove("active"),window.closeDimmer(this),this.header&&this.header.classList.remove("search-is-opened")}get _isMobile(){return window.matchMedia("(max-width: 1023px)").matches}};customElements.get("header-search")||customElements.define("header-search",g);var y="pdp-recently-viewed-v2",f=()=>{try{let n=JSON.parse(localStorage.getItem(y))||[],e=Date.now(),t=1e3*60*60*24*window.theme.recentlyViewedExpiry;return n.filter(s=>s.savedAt&&e-s.savedAt<t)}catch{return[]}};var _=4,b=class extends HTMLElement{constructor(){super(),this._populate=()=>{if(this.data=f(),this.data.length){let e=this.querySelector("template").cloneNode(!0),t=this.querySelector("[data-content-wrapper]"),s=e.content.querySelector("[data-container]"),i=this.data.slice(0,_);i.length&&(s.innerHTML=i.map(o=>o.predictiveSearchCardMarkup).join(""),t.innerHTML="",t.append(e.content),this.setAttribute("has-content",""))}},this._populate()}connectedCallback(){document.addEventListener("recently-viewed:refreshed",this._populate)}disconnectedCallback(){document.removeEventListener("recently-viewed:refreshed",this._populate)}};customElements.get("search-recently-viewed")||customElements.define("search-recently-viewed",b);})();
4//# sourceMappingURL=header.min.js.map

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.