PageSourceSearch

https://krugmann.com/cdn/shop/t/6/assets/component-scrolling-text.js?v=169250935156642713831789409930

js krugmann.com collected 2026-10-10 00:49:35 UTC 4,164 bytes, 2 lines download raw bytes

1if(typeof ScrollingText!="function"){class ScrollingText2 extends HTMLElement{constructor(){super()}connectedCallback(){requestAnimationFrame(()=>this.init())}disconnectedCallback(){this.stop(),this._intersectionObserver&&this._intersectionObserver.disconnect(),this._resizeObserver&&this._resizeObserver.disconnect(),window.removeEventListener("blur",this._onBlur),window.removeEventListener("focus",this._onFocus),this.removeEventListener("mouseover",this._onMouseOver),this.removeEventListener("mouseout",this._onMouseOut)}init(){if(this._running=!1,this._position=0,this._speed=window.innerWidth>768?parseFloat(this.dataset.scrollingSpeed):parseFloat(this.dataset.scrollingSpeed)/1.5,this._direction=this.dataset.scrollingDirection||"ltr",this._pauseOnHover=this.dataset.pauseOnHover==="true",this._hoverEaseDuration=this.dataset.pauseOnHoverEase==="true"?1:0,this._lastTime=null,this._velocityMultiplier=1,this._targetMultiplier=1,this._loop=this._loop.bind(this),this._onMouseOver=this._onMouseOver.bind(this),this._onMouseOut=this._onMouseOut.bind(this),this._onResize=this._onResize.bind(this),this._base=this.children[0],!!this._base){this._base.style.position="relative";for(const child of this.children)child.style.willChange="transform",child.style.transform="translate3d(0,0,0)";this._template=this._base.cloneNode(!0),this.#readSizes(),this.#setupChildren(),this.#setupHoverPause(),this.#setupIntersectionObserver(),this.#setupResizeObserver(),this.start()}}#readSizes(){const rectBox=this.getBoundingClientRect(),rectChild=this._base.getBoundingClientRect();this._boxWidth=rectBox.width,this._itemWidth=rectChild.width}#neededChildren(){return Math.ceil(this._boxWidth/this._itemWidth)+1}#setupChildren(){const needed=this.#neededChildren(),current=this.children.length;if(needed>current)for(let i=current;i<needed;i++){const clone=this._template.cloneNode(!0);clone.style.willChange="transform",clone.style.transform="translate3d(0,0,0)",this.appendChild(clone)}else if(needed<current)for(let i=current;i>needed;i--)this.removeChild(this.lastElementChild)}start(){this._running||(this._running=!0,this._lastTime=null,requestAnimationFrame(this._loop))}stop(){this._running=!1}_loop(timestamp){if(!this._running)return;this._lastTime||(this._lastTime=timestamp);const delta=timestamp-this._lastTime;if(this._lastTime=timestamp,this._velocityMultiplier!==this._targetMultiplier){const easeDelta=delta/(this._hoverEaseDuration*1e3);this._targetMultiplier<this._velocityMultiplier?this._velocityMultiplier=Math.max(this._targetMultiplier,this._velocityMultiplier-easeDelta):this._velocityMultiplier=Math.min(this._targetMultiplier,this._velocityMultiplier+easeDelta)}const p=this._position,transformValue=this._direction==="rtl"?`translate3d(${p}px, 0, 0)`:`translate3d(${-p}px, 0, 0)`;for(const el of this.children)el.style.transform=transformValue;this._position+=this._speed*this._velocityMultiplier*delta/1e3,this._position>=this._itemWidth&&(this._position=this._position%this._itemWidth),requestAnimationFrame(this._loop)}#setupHoverPause(){this._pauseOnHover&&(this._windowInFocus=!0,this._onBlur=()=>this._windowInFocus=!1,this._onFocus=()=>this._windowInFocus=!0,window.addEventListener("blur",this._onBlur),window.addEventListener("focus",this._onFocus),this.addEventListener("mouseover",this._onMouseOver),this.addEventListener("mouseout",this._onMouseOut))}_onMouseOver(){this._windowInFocus&&(this._hoverEaseDuration>0?this._targetMultiplier=0:this.stop())}_onMouseOut(){this._windowInFocus&&(this._hoverEaseDuration>0?this._targetMultiplier=1:this.start())}#setupIntersectionObserver(){this._intersectionObserver=new IntersectionObserver(entries=>{entries[0].isIntersecting?this.start():this.stop()}),this._intersectionObserver.observe(this)}#setupResizeObserver(){this._resizeObserver=new ResizeObserver(this._onResize),this._resizeObserver.observe(this)}_onResize(){this._running&&(this.#readSizes(),this.#setupChildren())}}typeof customElements.get("scrolling-text")>"u"&&customElements.define("scrolling-text",ScrollingText2)}
2//# sourceMappingURL=/cdn/shop/t/6/assets/component-scrolling-text.js.map?v=169250935156642713831789409930

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.