PageSourceSearch

https://cubanbest.com/wp-content/plugins/nextbricks/elements/js/next_proximity_hover.min.js?ver=2.3.1

js cubanbest.com collected 2026-09-26 18:36:45 UTC 2,510 bytes, 8 lines download raw bytes

1function next_proximity_hover(){class ProximityHover{constructor(element,settings={}){this.element=element;this.settings={radius:settings.radius,type:settings.type,minWeight:settings.minWeight,maxWeight:settings.maxWeight,minScale:settings.minScale,maxScale:settings.maxScale,...settings};this.letters=[];this.mousePosition={x:0,y:0};this.rafId=null;this.init()}
2init(){this.splitter=new SplitText(this.element,{type:"chars",charsClass:"next-proximity-hover__char"});this.splitter.chars.forEach(char=>{this.letters.push(char)});this.handleMouseMove=this.handleMouseMove.bind(this);this.animate=this.animate.bind(this);window.addEventListener('mousemove',this.handleMouseMove);this.rafId=requestAnimationFrame(this.animate)}
3handleMouseMove(e){const rect=this.element.getBoundingClientRect();this.mousePosition.x=e.clientX-rect.left;this.mousePosition.y=e.clientY-rect.top}
4animate(){const rect=this.element.getBoundingClientRect();this.letters.forEach(letter=>{const letterRect=letter.getBoundingClientRect();const letterX=letterRect.left+letterRect.width/2-rect.left;const letterY=letterRect.top+letterRect.height/2-rect.top;const distance=Math.sqrt(Math.pow(this.mousePosition.x-letterX,2)+Math.pow(this.mousePosition.y-letterY,2));const falloff=Math.max(0,Math.min(1,1-distance/this.settings.radius));if(this.settings.type==='weight'){const weight=this.settings.minWeight+falloff*(this.settings.maxWeight-this.settings.minWeight);letter.style.transform='scale(1)';letter.style.fontVariationSettings=`'wght' ${weight}`}else if(this.settings.type==='size'){const scale=this.settings.minScale+falloff*(this.settings.maxScale-this.settings.minScale);letter.style.fontVariationSettings='';letter.style.transform=`scale(${scale})`}});this.rafId=requestAnimationFrame(this.animate)}
5destroy(){if(this.rafId){cancelAnimationFrame(this.rafId)}
6window.removeEventListener('mousemove',this.handleMouseMove);this.splitter.revert()}}
7document.querySelectorAll('.next-proximity-hover__inner').forEach(element=>{new ProximityHover(element,{type:element.getAttribute('data-type'),radius:parseFloat(element.getAttribute('data-radius')),minWeight:parseFloat(element.getAttribute('data-min-weight')),maxWeight:parseFloat(element.getAttribute('data-max-weight')),minScale:parseFloat(element.getAttribute('data-min-scale')),maxScale:parseFloat(element.getAttribute('data-max-scale')),})})}
8document.addEventListener("DOMContentLoaded",function(t){document.fonts.ready.then(function(){bricksIsFrontend&&next_proximity_hover()})})

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.