PageSourceSearch

https://adriasolapastor.com/wp-content/plugins/nextbricks/elements/js/bc_observer.min.js?ver=1.10.1

js adriasolapastor.com collected 2026-10-04 13:27:46 UTC 1,227 bytes, 4 lines download raw bytes

1function observer(){let e=document.querySelectorAll(".bc-observer"),t={};e.forEach((e)=>{let r=e.getAttribute("data-observe")||"body";t[r]||(t[r]=[]),t[r].push(e)}),Object.keys(t).forEach((e)=>{let r=t[e],o=document.querySelectorAll(e),n=r[0].getAttribute("data-constrain"),a=r[0].getAttribute("data-perspective"),c=parseFloat(n),maxRotateX=20,maxRotateY=20;function i(e,t,r){let o=r.getBoundingClientRect(),rotateX=-(t-o.y-o.height/2)/c,rotateY=(e-o.x-o.width/2)/c;rotateX=Math.max(-maxRotateX,Math.min(maxRotateX,rotateX));rotateY=Math.max(-maxRotateY,Math.min(maxRotateY,rotateY));return `perspective(${a}px) rotateX(${rotateX}deg) rotateY(${rotateY}deg)`}
2function updateTransform(e){r.forEach((t)=>{let coords=[e.clientX,e.clientY].concat([t]);window.requestAnimationFrame(()=>{t.style.transform=i.apply(null,coords)})})}
3o.forEach((e)=>{e.onmousemove=updateTransform});window.addEventListener("scroll",(e)=>{let pointerEvent=new MouseEvent("mousemove",{clientX:window.lastClientX||0,clientY:window.lastClientY||0});updateTransform(pointerEvent)});window.addEventListener("mousemove",(e)=>{window.lastClientX=e.clientX;window.lastClientY=e.clientY})})}
4document.addEventListener("DOMContentLoaded",function(e){observer()})

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.