PageSourceSearch

https://www.topbrandsplc.com/cdn/shop/t/4/assets/sticky-header.js?v=110028891547076727401732515750

js topbrandsplc.com collected 2026-10-04 04:52:19 UTC 2,526 bytes, 2 lines download raw bytes

1class StickyHeader extends HTMLElement{constructor(){super()}connectedCallback(){this.header=document.querySelector("sticky-header").parentElement,this.menu=document.querySelector("sticky-header .header__inline-menu"),this.headerIcons=document.querySelector("sticky-header .header__icons"),this.predictiveSearch=document.querySelector("predictive-search"),this.headerBounds={},this.currentScrollTop=0,this.onScrollHandler={scroll:this.onScroll.bind(this),resize:this.onResize.bind(this)},window.addEventListener("scroll",this.onScrollHandler.scroll,!1),window.addEventListener("resize",this.onScrollHandler.resize,!1),this.createObserver()}disconnectedCallback(){window.removeEventListener("scroll",this.onScrollHandler.scroll),window.removeEventListener("resize",this.onScrollHandler.resize)}createObserver(){new IntersectionObserver((entries,observer2)=>{this.headerBounds=entries[0].intersectionRect,observer2.disconnect()}).observe(this.header)}onResize(){return window.innerWidth}onScroll(){requestAnimationFrame(this.reveal.bind(this));const scrollTop=window.pageYOffset||document.documentElement.scrollTop,scrollTrigger=500;let updateHeaderHeightOnDesktop=this.header?.offsetHeight-this.menu?.offsetHeight-13,updateHeaderHeightOnMobile=this.header?.offsetHeight-this.headerIcons?.offsetHeight-24;if(this.onResize()>980&&this.menuHeight<60&&(updateHeaderHeightOnDesktop=updateHeaderHeightOnMobile),scrollTop<this.currentScrollTop)this.header.style.top="0";else{if(this.predictiveSearch?.hasAttribute("open"))return;this.onResize()>980?this.header.style.top=updateHeaderHeightOnDesktop>0?"-"+updateHeaderHeightOnDesktop+"px":"0":this.header.style.top=updateHeaderHeightOnMobile>0?"-"+updateHeaderHeightOnMobile+"px":"0"}this.currentScrollTop=scrollTop}reveal(){this.header.style.top=="0px"?this.reset():(this.header.classList.add("section-header-sticky"),this.header.classList.remove("sticky-animation"))}reset(){this.header.classList.add("sticky-animation"),this.header.classList.remove("section-header-sticky"),this.closeMenuDisclosure(),this.closeSearchModal()}closeMenuDisclosure(){this.disclosures=this.disclosures||this.header.querySelectorAll("details-disclosure"),this.disclosures.forEach(disclosure=>disclosure.close())}closeSearchModal(){this.searchModal=this.searchModal||this.header.querySelector("details-modal"),this.searchModal&&this.searchModal.close(!1)}}customElements.define("sticky-header",StickyHeader);
2//# sourceMappingURL=/cdn/shop/t/4/assets/sticky-header.js.map?v=110028891547076727401732515750

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.