1class ParallaxVideo extends HTMLElement{connectedCallback(){Shopify.designMode||(this.isTicking=!1,this.lastKnownY=window.scrollY,this.requestTick=this.requestTick.bind(this),this.updateEl=this.updateEl.bind(this),this.updateEl(),window.setTimeout(()=>{this.setAttribute("active","")},500),this.setupListeners())}setupListeners(){this.onScroll=this.onScroll.bind(this),window.addEventListener("scroll",this.onScroll,{passive:!0})}onScroll(){this.lastKnownY=window.scrollY,this.requestTick()}requestTick(){this.isTicking||requestAnimationFrame(this.updateEl),this.isTicking=!0}updateEl(){this.isTicking=!1,this.moveParallaxItem()}moveParallaxItem(){if(!this.offsetHeight)return;const amountToMoveY=30,elementHeight=this.offsetHeight,heightDifference=elementHeight+amountToMoveY-elementHeight,elementStartPoint=this.offsetTop-window.innerHeight,elementEndPoint=this.offsetTop+elementHeight;if(this.lastKnownY<=elementStartPoint){this.style.transform=`translateY(${amountToMoveY/-2}px)`;return}if(this.lastKnownY>elementEndPoint){this.style.transform=`translateY(${amountToMoveY/2}px)`;return}const totalScrollAmount=elementEndPoint-elementStartPoint,scrollYAsAPercentageOfJourney=(this.lastKnownY-elementStartPoint)/totalScrollAmount,transformAmountY=heightDifference*scrollYAsAPercentageOfJourney-heightDifference/2;this.style.transform=`translateY(${transformAmountY}px)`}}customElements.get("parallax-video")||customElements.define("parallax-video",ParallaxVideo); 2//# sourceMappingURL=/cdn/shop/t/727/assets/parallax-video.js.map?v=12729471150856429721790329175
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.