PageSourceSearch

https://redscout.com/cdn/shop/t/3/assets/footer-text-ticker-up.js?v=50103392796481389611737485857

js redscout.com collected 2026-10-02 05:03:04 UTC 3,143 bytes, 43 lines download raw bytes

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.