PageSourceSearch

https://shop.halleckvineyard.com/cdn/shop/t/21/assets/sticky-header.js?v=13809312170286991091689014672

js halleckvineyard.com collected 2026-09-26 02:35:32 UTC 2,122 bytes, 2 lines download raw bytes

1customElements.get("sticky-header")||customElements.define("sticky-header",class extends HTMLElement{constructor(){super()}connectedCallback(){this.header=document.getElementById(this.dataset.stickyElementId),this.scrollPastElement=document.getElementById(this.dataset.scrollElementId),this.siteHeader=document.getElementById("site-header"),this.headerBounds={},this.currentScrollTop=0,this.onScrollHandler=this.onScroll.bind(this),window.addEventListener("scroll",this.onScrollHandler,!1),this.createObserver()}disconnectedCallback(){window.removeEventListener("scroll",this.onScrollHandler)}createObserver(){new IntersectionObserver((entries,observer2)=>{this.headerBounds=entries[0].intersectionRect,observer2.disconnect()}).observe(this.header)}onScroll(){const scrollTop=window.pageYOffset||document.documentElement.scrollTop,siteHeaderHeight=this.siteHeader.offsetHeight;let offsetPosition=siteHeaderHeight;if(this.dataset.stickyElementId==="ProductQuickAdd"){const productHeroHeight=this.scrollPastElement.offsetHeight;offsetPosition=siteHeaderHeight+productHeroHeight}scrollTop>this.currentScrollTop&&scrollTop>offsetPosition?requestAnimationFrame(this.scrolledPast.bind(this)):scrollTop<this.currentScrollTop&&scrollTop>offsetPosition?requestAnimationFrame(this.scrollingUp.bind(this)):scrollTop<=0&&requestAnimationFrame(this.reset.bind(this)),this.currentScrollTop=scrollTop}scrolledPast(){this.header.classList.add("scrolled-past","sticky","motion-reduce"),this.closeMenuDisclosure(),this.closeSearchModal()}scrollingUp(){this.header.classList.add("sticky","scrolling-up","motion-reduce"),this.header.classList.remove("scrolled-past")}reset(){this.header.classList.remove("scrolled-past","sticky","scrolling-up")}closeMenuDisclosure(){this.disclosures=this.disclosures||this.siteHeader.querySelectorAll("details-disclosure"),this.disclosures.forEach(disclosure=>disclosure.close())}closeSearchModal(){this.searchModal=this.searchModal||this.siteHeader.querySelector("details-modal"),this.searchModal.close(!1)}});
2//# sourceMappingURL=/cdn/shop/t/21/assets/sticky-header.js.map?v=13809312170286991091689014672

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.