1class TextTickerUp extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"}),this.phrases=this.getAttribute("phrases")?.split("|")||[],this.intervalTime=parseInt(this.getAttribute("interval"))||3e3,this.currentIndex=0,this.shadowRoot.innerHTML=` 2 <style> 3 :host { 4 display: inline-block; 5 overflow: hidden; 6 height: 13px; 7 position: relative; 8 width: fit-content; 9 min-width: 160px; 10 top: 1px; 11 } 12 .ticker-container { 13 display: flex; 14 flex-direction: column; 15 gap: 4px; 16 position: absolute; 17 top: 0px; 18 transform: translateY(0); 19 transition: transform 0.6s ease-in-out; 20 } 21 .phrase { 22 font-family: Agipo, sans-serif; 23 font-size: 1rem; 24 font-weight: 400; 25 text-transform: uppercase; 26 line-height: .85; 27 margin: 0; 28 height: 12px; 29 color: #DEFC52; 30 } 31 @media (max-width: 767px){ 32 :host, 33 .phrase { 34 height: 10px; 35 } 36 .phrase { 37 font-size: .75rem; 38 } 39 } 40 </style> 41 <div class="ticker-container"></div> 42 `}connectedCallback(){this.phrases.length>0&&this.startTicker()}startTicker(){const container=this.shadowRoot.querySelector(".ticker-container");this.renderPhrases(container),this.duplicatePhrases(container),this.interval=setInterval(()=>this.tick(container),this.intervalTime)}renderPhrases(container){this.phrases.forEach((phrase,i)=>{const phraseElement=document.createElement("span");phraseElement.className="phrase",phraseElement.textContent=phrase,i!==0&&(phraseElement.style.opacity=0),container.appendChild(phraseElement)})}duplicatePhrases(container){this.phrases.forEach(phrase=>{const duplicatePhrase=document.createElement("span");duplicatePhrase.className="phrase",duplicatePhrase.textContent=phrase,container.appendChild(duplicatePhrase)})}tick(container){this.currentIndex++;const totalPhrases=this.phrases.length;container.querySelectorAll(".phrase")[this.currentIndex].style.opacity=1;const phraseHeight=window.innerWidth<=767?10:12,translateY=-(this.currentIndex*(phraseHeight+4));container.style.transform=`translateY(${translateY}px)`,setTimeout(()=>{container.querySelectorAll(".phrase").forEach((p,i)=>{i!==this.currentIndex?p.style.opacity=0:p.style.opacity=1})},600),this.currentIndex===totalPhrases&&setTimeout(()=>{container.style.transition="none",this.currentIndex=0,container.style.transform="translateY(0)",container.querySelectorAll(".phrase")[this.currentIndex].style.opacity=1,requestAnimationFrame(()=>{setTimeout(()=>{container.style.transition="transform 0.6s ease-in-out"},300)})},this.interval+600)}disconnectedCallback(){clearInterval(this.interval)}}window.customElements.get("text-ticker-up")||customElements.define("text-ticker-up",TextTickerUp); 43//# sourceMappingURL=/cdn/shop/t/3/assets/footer-text-ticker-up.js.map?v=50103392796481389611737485857
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.