PageSourceSearch

https://societystudios.co.uk/wp-content/themes/society/assets/dist/scripts/5290.3c1726677ac4ecc2db7f.js

js societystudios.co.uk collected 2026-10-05 19:18:16 UTC 3,212 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunkcdrs_wp_theme=self.webpackChunkcdrs_wp_theme||[]).push([[5290],{5290:function(e,t,s){s.r(t),s.d(t,{default:function(){return r}});var i=s(1590);class n{constructor(e){let{container:t,children:s,repeat:i=2,speed:n=1,scrollVelocity:r=!0,reversed:a=!1,pauseOnHover:o=!1,innerClass:h="marquee-part",onMouseEnter:l,onMouseLeave:m}=e;this.container=t,this.children=s,this.repeat=i,this.speed=n,this.scrollVelocity=r,this.reversed=a,this.pauseOnHover=o,this.innerClass=h,this.onMouseEnter=l,this.onMouseLeave=m,this.rect=null,this.elements=[],this.transformValue=0,this.isHovered=!1,this.animationFrame=null,this.init()}init(){this.setupElements(),this.setupEventListeners()}setupElements(){this.container.classList.add("js-marquee");const e=document.createElement("div");e.classList.add(this.innerClass),e.innerHTML=this.children,this.container.appendChild(e);const t=e.querySelectorAll("img");Promise.all(Array.from(t).map((e=>e.complete?Promise.resolve():new Promise((t=>{e.onload=t,e.onerror=t}))))).then((()=>{const t=e.children;this.totalItemWidth=Array.from(t).reduce(((e,t)=>{const s=window.getComputedStyle(t);return e+t.offsetWidth+parseFloat(s.marginRight)}),0);for(let e=1;e<this.repeat;e++){const e=document.createElement("div");e.classList.add(this.innerClass),e.innerHTML=this.children,this.container.appendChild(e)}this.elements=Array.from(this.container.children),this.rect=e.getBoundingClientRect(),this.startAnimation()}))}setupEventListeners(){this.pauseOnHover&&(this.handleMouseEnter=e=>{this.isHovered=!0,this.onMouseEnter&&this.onMouseEnter(e)},this.handleMouseLeave=e=>{this.isHovered=!1,this.onMouseLeave&&this.onMouseLeave(e)},this.container.addEventListener("mouseenter",this.handleMouseEnter),this.container.addEventListener("mouseleave",this.handleMouseLeave))}startAnimation(){const e=t=>{const s=t-(this.lastTimestamp||t);if(this.lastTimestamp=t,!this.rect||this.isHovered)return void(this.animationFrame=requestAnimationFrame(e));let n=0;i.A&&(n=i.A?i.A.velocity:0),this.scrollVelocity||(n=0),n=1+Math.abs(n/5);const r=s*(.1*this.speed*n);this.reversed?(this.transformValue-=r,this.transformValue<0&&(this.transformValue+=this.totalItemWidth)):(this.transformValue+=r,this.transformValue=this.transformValue%this.totalItemWidth),this.elements.forEach((e=>{e.style.transform=`translate3d(${-this.transformValue}px,0,0)`})),this.animationFrame=requestAnimationFrame(e)};this.animationFrame=requestAnimationFrame(e)}setReversed(e){this.reversed=e}cleanup(){this.pauseOnHover&&(this.container.removeEventListener("mouseenter",this.handleMouseEnter),this.container.removeEventListener("mouseleave",this.handleMouseLeave)),this.animationFrame&&cancelAnimationFrame(this.animationFrame),this.elements.forEach((e=>{this.container.removeChild(e)})),this.elements=[]}}var r={mount(e){this.marquees=[];const t=e.ref("marquee");(()=>{t.forEach((e=>{const t=e.innerHTML;e.innerHTML="";
1const s=new n({container:e,children:t,repeat:4,speed:.5,scrollVelocity:!0,reversed:e.hasAttribute("data-reverse")??!1,pauseOnHover:!1});this.marquees.push(s)}))})()},unmount(e){this.marquees.forEach((e=>{e.cleanup()})),this.marquees=[]},update(e){this.unmount(e),this.mount(e)}}}}]);

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.