1import"@theme/utilities";const MD_BREAKPOINT=768,DISPLAY_DURATION=3e3,TRANSITION_DURATION=400,TRANSITION_TIMING="cubic-bezier(0.65, 0, 0.35, 1)";class HeroAnimation extends HTMLElement{constructor(){super(),this.currentIndex=0,this.animationFrameId=null,this.startTime=null,this.isAnimating=!1,this.childElements=[],this.handleResize=this.#onResize.bind(this)}connectedCallback(){this.childElements=Array.from(this.children).filter(child=>child.hasAttribute("data-animate")),window.addEventListener("resize",this.handleResize),this.#checkAndInit()}disconnectedCallback(){window.removeEventListener("resize",this.handleResize),this.#stopAnimation()}#onResize(){this.#checkAndInit()}#checkAndInit(){const isMobile=window.innerWidth<MD_BREAKPOINT;isMobile&&!this.isAnimating?this.#init():!isMobile&&this.isAnimating&&(this.#stopAnimation(),this.#resetStyles())}#stopAnimation(){this.animationFrameId&&(cancelAnimationFrame(this.animationFrameId),this.animationFrameId=null),this.isAnimating=!1}#resetStyles(){this.childElements.forEach(child=>{child.style.opacity="",child.style.transform="",child.style.transition="",child.style.position="",child.style.left="",child.style.right=""}),this.style.position="",this.style.minHeight=""}#init(){this.childElements.length!==0&&(this.isAnimating=!0,this.childElements.forEach(child=>{child.style.opacity="0",child.style.transform="translateY(20px)",child.style.transition=`opacity ${TRANSITION_DURATION}ms ${TRANSITION_TIMING}, transform ${TRANSITION_DURATION}ms ${TRANSITION_TIMING}`,child.style.position="absolute",child.style.left="0",child.style.right="0"}),this.style.position="relative",this.style.minHeight="40px",this.#startAnimation())}#startAnimation(){if(!this.isAnimating)return;const currentChild=this.childElements[this.currentIndex];currentChild.style.opacity="1",currentChild.style.transform="translateY(0)",this.startTime=performance.now(),this.#animate()}#animate(){if(!this.isAnimating)return;performance.now()-this.startTime>=DISPLAY_DURATION?this.#transition():this.animationFrameId=requestAnimationFrame(()=>this.#animate())}#transition(){if(!this.isAnimating)return;const currentChild=this.childElements[this.currentIndex],nextIndex=(this.currentIndex+1)%this.childElements.length,nextChild=this.childElements[nextIndex];nextChild.style.transition="none",nextChild.style.transform="translateY(20px)",nextChild.style.opacity="0",nextChild.offsetHeight,nextChild.style.transition=`opacity ${TRANSITION_DURATION}ms ${TRANSITION_TIMING}, transform ${TRANSITION_DURATION}ms ${TRANSITION_TIMING}`,requestAnimationFrame(()=>{if(!this.isAnimating)return;currentChild.style.opacity="0",currentChild.style.transform="translateY(-20px)",nextChild.style.opacity="1",nextChild.style.transform="translateY(0)",this.currentIndex=nextIndex;const transitionStartTime=performance.now(),waitForTransition=()=>{if(!this.isAnimating)return;performance.now()-transitionStartTime>=TRANSITION_DURATION?(currentChild.style.transform="translateY(20px)",this.#startAnimation()):this.animationFrameId=requestAnimationFrame(waitForTransition)};this.animationFrameId=requestAnimationFrame(waitForTransition)})}}customElements.get("hero-animation")||customElements.define("hero-animation",HeroAnimation); 2//# sourceMappingURL=/cdn/shop/t/58/assets/hero-animation.js.map?v=157721081014956816381782829554
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.