{"version":3,"file":"Pixels.Bp-_AIqq.mjs","names":["getProps","X","React.useContext","React.useMemo","React.Fragment","useRef","React.useId","useState","useRef","useCallback","React.useRef","React.useState","React.useMemo","React.useCallback","x","p"],"sources":["https:/framerusercontent.com/modules/wbL0GysLpUpZOLelXsKU/7IhRlKXIvqCTv7OUjGRe/q95pf4lLL.js","https:/framerusercontent.com/modules/WPtYT7IrNxN1L0IYvDcd/kpTYwH4HIMeQqEAdC9RJ/NMX_0f8Rg.js","https:/framerusercontent.com/modules/g9bFbNnKOna76pvsCFqx/Q6t99uX5Z2G5m66OZ22q/Modal_Trigger.js","https:/framerusercontent.com/modules/nFvlPgW4fW6vyTUb6GNy/PwMVQKhh0x6oBRzAMXjU/Pixels.js"],"sourcesContent":["// Generated by Framer (6ca5d98)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,cx,motion,useSVGTemplate,withCSS}from\"framer\";import*as React from\"react\";import{forwardRef}from\"react\";const mask=\"var(--framer-icon-mask)\";const Base=/*#__PURE__*/forwardRef(function(props,ref){return /*#__PURE__*/_jsx(\"svg\",{...props,ref:ref,children:props.children});});const MotionSVG=motion.create(Base);const SVG=/*#__PURE__*/forwardRef((props,ref)=>{const{animated,layoutId,children,...rest}=props;return animated?/*#__PURE__*/_jsx(MotionSVG,{...rest,layoutId:layoutId,ref:ref,children:children}):/*#__PURE__*/_jsx(\"svg\",{...rest,ref:ref,children:children});});const svg='<svg display=\"block\" role=\"presentation\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M 1.5 16.5 C 0.672 16.5 0 15.828 0 15 L 0 1.5 C 0 0.672 0.672 0 1.5 0 L 15 0 C 15.828 0 16.5 0.672 16.5 1.5 L 16.5 15 C 16.5 15.828 15.828 16.5 15 16.5 Z\" fill-opacity=\"var(--1m6trwb, 0)\" fill=\"var(--21h8s6, rgb(0, 0, 0))\" height=\"16.5px\" id=\"LjE0Ycn76\" transform=\"translate(3.75 3.75)\" width=\"16.5px\"/><path d=\"M 13.5 0 L 0 13.5\" fill=\"var(--21h8s6, rgb(0, 0, 0))\" height=\"13.5px\" id=\"oSDwjLCvX\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(5.25 5.25)\" width=\"13.5px\"/><path d=\"M 13.5 13.5 L 0 0\" fill=\"var(--21h8s6, rgb(0, 0, 0))\" height=\"13.5px\" id=\"H9XwXWiXU\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(5.25 5.25)\" width=\"13.5px\"/></svg>';const getProps=({alpha,color,height,id,width,width1,...props})=>{return{...props,ezTt3ayMo:color??props.ezTt3ayMo??\"rgb(0, 0, 0)\",lschgej4H:width1??props.lschgej4H??1.5,qxTvv_EBh:alpha??props.qxTvv_EBh};};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{style,className,layoutId,variant,ezTt3ayMo,lschgej4H,qxTvv_EBh,...restProps}=getProps(props);const href=useSVGTemplate(\"2202960551\",svg);return /*#__PURE__*/_jsx(SVG,{...restProps,className:cx(\"framer-AhL2C\",className),layoutId:layoutId,ref:ref,role:\"presentation\",style:{\"--1m6trwb\":qxTvv_EBh,\"--21h8s6\":ezTt3ayMo,\"--pgex8v\":lschgej4H,...style},viewBox:\"0 0 24 24\",children:/*#__PURE__*/_jsx(\"use\",{href:href})});});const css=[`.framer-AhL2C { -webkit-mask: ${mask}; aspect-ratio: 1; display: block; mask: ${mask}; width: 24px; }`];/**\n * This is a generated Framer component.\n * @framerIntrinsicWidth 24\n * @framerIntrinsicHeight 24\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n * @framerVariables {\"ezTt3ayMo\":\"color\",\"lschgej4H\":\"width1\",\"qxTvv_EBh\":\"alpha\"}\n * @framerImmutableVariables true\n * @framerVector {\"name\":\"X\",\"color\":{\"type\":\"variable\",\"value\":\"21h8s6\"},\"set\":{\"localId\":\"vectorSet/NGVKdicsm\",\"id\":\"NGVKdicsm\",\"moduleId\":\"omX0gWFPqDwhaiWwf6ab\"}}\n * @framerDisableUnlink true\n */const Icon=withCSS(Component,css,\"framer-AhL2C\");Icon.displayName=\"X\";export default Icon;addPropertyControls(Icon,{ezTt3ayMo:{defaultValue:\"rgb(0, 0, 0)\",hidden:false,title:\"Color\",type:ControlType.Color},lschgej4H:{defaultValue:1.5,displayStepper:true,hidden:false,max:6,min:0,step:.5,title:\"Width\",type:ControlType.Number},qxTvv_EBh:{defaultValue:0,displayStepper:true,hidden:false,max:1,min:0,step:.1,title:\"Alpha\",type:ControlType.Number}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Icon\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerImmutableVariables\":\"true\",\"framerDisableUnlink\":\"true\",\"framerVector\":\"{\\\"name\\\":\\\"X\\\",\\\"color\\\":{\\\"type\\\":\\\"variable\\\",\\\"value\\\":\\\"21h8s6\\\"},\\\"set\\\":{\\\"localId\\\":\\\"vectorSet/NGVKdicsm\\\",\\\"id\\\":\\\"NGVKdicsm\\\",\\\"moduleId\\\":\\\"omX0gWFPqDwhaiWwf6ab\\\"}}\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerIntrinsicWidth\":\"24\",\"framerIntrinsicHeight\":\"24\",\"framerContractVersion\":\"1\",\"framerVariables\":\"{\\\"ezTt3ayMo\\\":\\\"color\\\",\\\"lschgej4H\\\":\\\"width1\\\",\\\"qxTvv_EBh\\\":\\\"alpha\\\"}\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (0f5ea8b)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ControlType,cx,getFonts,useActiveVariantCallback,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import X from\"https://framerusercontent.com/modules/wbL0GysLpUpZOLelXsKU/7IhRlKXIvqCTv7OUjGRe/q95pf4lLL.js\";const XFonts=getFonts(X);const enabledGestures={g_tsQjc2x:{hover:true}};const serializationHash=\"framer-dm5hV\";const variantClassNames={g_tsQjc2x:\"framer-v-juxnek\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const cbEXqUl3f=undefined;const transition1={bounce:.2,delay:0,duration:.4,type:\"spring\"};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const getProps=({click,height,id,width,...props})=>{return{...props,cbEXqUl3f:click??props.cbEXqUl3f};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,cbEXqUl3f,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({defaultVariant:\"g_tsQjc2x\",enabledGestures,ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const{activeVariantCallback,delay}=useActiveVariantCallback(baseVariant);const onTap1yqumjk=activeVariantCallback(async(...args)=>{setGestureState({isPressed:false});if(cbEXqUl3f){const res=await cbEXqUl3f(...args);if(res===false)return false;}});const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsx(motion.div,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-juxnek\",className,classNames),\"data-framer-name\":\"Variant 1\",\"data-highlight\":true,layoutDependency:layoutDependency,layoutId:\"g_tsQjc2x\",onTap:onTap1yqumjk,ref:refBinding,style:{...style},...addPropertyOverrides({\"g_tsQjc2x-hover\":{\"data-framer-name\":undefined}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(X,{animated:true,className:\"framer-qus642\",layoutDependency:layoutDependency,layoutId:\"rZ0t6xI0N\",style:{\"--1m6trwb\":0,\"--21h8s6\":\"var(--token-e4de7b85-7002-4c1e-aa38-ae1665210e7a, rgb(102, 102, 102))\",\"--pgex8v\":1.5},variants:{\"g_tsQjc2x-hover\":{\"--21h8s6\":\"rgb(51, 51, 51)\"}}})})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-dm5hV.framer-h5173o, .framer-dm5hV .framer-h5173o { display: block; }\",\".framer-dm5hV.framer-juxnek { align-content: center; align-items: center; cursor: pointer; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: center; overflow: var(--overflow-clip-fallback, clip); padding: 0px; position: relative; width: min-content; }\",\".framer-dm5hV .framer-qus642 { aspect-ratio: 1 / 1; flex: none; height: var(--framer-aspect-ratio-supported, 20px); position: relative; width: 20px; }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 20\n * @framerIntrinsicWidth 20\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"auto\",\"auto\"]},\"BzWJG4nal\":{\"layout\":[\"auto\",\"auto\"]}}}\n * @framerVariables {\"cbEXqUl3f\":\"click\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerNMX_0f8Rg=withCSS(Component,css,\"framer-dm5hV\");export default FramerNMX_0f8Rg;FramerNMX_0f8Rg.displayName=\"x\";FramerNMX_0f8Rg.defaultProps={height:20,width:20};addPropertyControls(FramerNMX_0f8Rg,{cbEXqUl3f:{title:\"Click\",type:ControlType.EventHandler}});addFonts(FramerNMX_0f8Rg,[{explicitInter:true,fonts:[]},...XFonts],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerNMX_0f8Rg\",\"slots\":[],\"annotations\":{\"framerImmutableVariables\":\"true\",\"framerVariables\":\"{\\\"cbEXqUl3f\\\":\\\"click\\\"}\",\"framerContractVersion\":\"1\",\"framerComponentViewportWidth\":\"true\",\"framerColorSyntax\":\"true\",\"framerIntrinsicWidth\":\"20\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"BzWJG4nal\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]}}}\",\"framerAutoSizeImages\":\"true\",\"framerIntrinsicHeight\":\"20\",\"framerDisplayContentsDiv\":\"false\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./NMX_0f8Rg.map","import{jsx as _jsx}from\"react/jsx-runtime\";import{useCallback,useEffect,useRef,useState}from\"react\";import{addPropertyControls,ControlType}from\"framer\";export default function ModalTrigger({showOnMouseLeave,delayConfig,scrollConfig}){const[hasBeenTriggered,setHasBeenTriggered]=useState(false);const triggerRef=useRef(null);const stateRef=useRef(false);const setTriggered=newState=>{stateRef.current=newState;setHasBeenTriggered(newState);if(typeof window!==\"undefined\"){window.__landingModalTriggered=newState;}};useEffect(()=>{if(typeof window===\"undefined\")return;const alreadyTriggered=!!window.__landingModalTriggered;stateRef.current=alreadyTriggered;setHasBeenTriggered(alreadyTriggered);},[]);const showModal=useCallback(node=>{if(stateRef.current)return;simulateClick(node);setTriggered(true);},[]);const triggerOnMouseOut=useCallback(node=>e=>{if(e.clientY<=0||e.clientX<=0||e.clientX>=window.innerWidth||e.clientY>=window.innerHeight){showModal(node);}},[showModal]);useEffect(()=>{if(hasBeenTriggered)return;const triggerNode=triggerRef.current;if(!triggerNode||!showOnMouseLeave)return;const handler=triggerOnMouseOut(triggerNode);window.addEventListener(\"mouseout\",handler);return()=>window.removeEventListener(\"mouseout\",handler);},[hasBeenTriggered,showOnMouseLeave,triggerOnMouseOut]);useEffect(()=>{if(hasBeenTriggered)return;const triggerNode=triggerRef.current;if(!triggerNode||!delayConfig.showOnDelay)return;const delay=window.setTimeout(()=>{showModal(triggerNode);},delayConfig.delaySeconds*1e3);return()=>window.clearTimeout(delay);},[hasBeenTriggered,delayConfig.showOnDelay,delayConfig.delaySeconds,showModal]);useEffect(()=>{const triggerNode=triggerRef.current;if(!triggerNode)return;const button=triggerNode.parentElement?.parentElement;if(!button)return;const preventTriggers=()=>setTriggered(true);button.addEventListener(\"keyup\",preventTriggers);button.addEventListener(\"mouseup\",preventTriggers);return()=>{button.removeEventListener(\"keyup\",preventTriggers);button.removeEventListener(\"mouseup\",preventTriggers);};},[]);useEffect(()=>{if(hasBeenTriggered)return;if(!scrollConfig.showOnScrollToPercentage)return;const initialYCoordBottomOfViewport=window.scrollY+window.innerHeight;const triggerNode=triggerRef.current;const body=document.body;if(!triggerNode||!body)return;const scrollListener=()=>{const scrollPositionOfBottomOfViewport=window.scrollY+window.innerHeight;const triggerPoint=body.scrollHeight*scrollConfig.scrollPercentage/100;if(scrollPositionOfBottomOfViewport>=triggerPoint&&initialYCoordBottomOfViewport<triggerPoint){showModal(triggerNode);}};window.addEventListener(\"scroll\",scrollListener);return()=>{window.removeEventListener(\"scroll\",scrollListener);};},[hasBeenTriggered,scrollConfig.showOnScrollToPercentage,scrollConfig.scrollPercentage,showModal]);return /*#__PURE__*/_jsx(\"div\",{ref:triggerRef,\"aria-hidden\":\"true\"});}const simulateClick=node=>{if(node.parentElement?.parentElement){const button=node.parentElement.parentElement;button.dispatchEvent(new FocusEvent(\"focus\"));button.dispatchEvent(new KeyboardEvent(\"keydown\",{key:\"Enter\"}));button.dispatchEvent(new KeyboardEvent(\"keyup\",{key:\"Enter\"}));}};addPropertyControls(ModalTrigger,{showOnMouseLeave:{type:ControlType.Boolean,title:\"MouseLeave\",defaultValue:true,enabledTitle:\"On\",disabledTitle:\"Off\"},delayConfig:{type:ControlType.Object,title:\"Delay\",buttonTitle:\"Configure\",controls:{showOnDelay:{type:ControlType.Boolean,title:\"Trigger\",defaultValue:true,enabledTitle:\"On\",disabledTitle:\"Off\"},delaySeconds:{type:ControlType.Number,title:\"Seconds\",defaultValue:10,min:0,max:300,step:5,displayStepper:true,unit:\" s\"}}},scrollConfig:{type:ControlType.Object,title:\"Scroll\",buttonTitle:\"Configure\",controls:{showOnScrollToPercentage:{type:ControlType.Boolean,title:\"Trigger\",defaultValue:true,enabledTitle:\"On\",disabledTitle:\"Off\"},scrollPercentage:{type:ControlType.Number,title:\"Scroll %\",defaultValue:50,min:0,max:100,step:1,displayStepper:true,unit:\" %\"}}}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"ModalTrigger\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Modal_Trigger.map","function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true});}else{obj[key]=value;}return obj;}import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType}from\"framer\";class Particle{update(cfg){this.vx+=this.noiseX*this.shakeAmount;this.vy+=this.noiseY*this.shakeAmount;this.vx+=(this.ox-this.x)*cfg.returnSpeed;this.vy+=(this.oy-this.y)*cfg.returnSpeed;this.vx*=cfg.friction;this.vy*=cfg.friction;this.x+=this.vx;this.y+=this.vy;if(Math.abs(this.x-this.ox)<.1&&Math.abs(this.vx)<.1){this.x=this.ox;this.vx=0;}if(Math.abs(this.y-this.oy)<.1&&Math.abs(this.vy)<.1){this.y=this.oy;this.vy=0;}this.shakeAmount*=.9;}draw(ctx,color,opacity){ctx.fillStyle=color;ctx.globalAlpha=this.alpha*opacity;ctx.fillRect(this.x-this.size/2,this.y-this.size/2,this.size,this.size);ctx.globalAlpha=1;}constructor(x,y,size,alpha){_define_property(this,\"ox\",void 0);_define_property(this,\"oy\",void 0);_define_property(this,\"x\",void 0);_define_property(this,\"y\",void 0);_define_property(this,\"vx\",void 0);_define_property(this,\"vy\",void 0);_define_property(this,\"size\",void 0);_define_property(this,\"alpha\",void 0);_define_property(this,\"noiseX\",void 0);_define_property(this,\"noiseY\",void 0);_define_property(this,\"shakeAmount\",void 0);this.ox=x;this.oy=y;this.x=x;this.y=y;this.vx=0;this.vy=0;this.size=size;this.alpha=alpha;this.noiseX=Math.random()*2-1;this.noiseY=Math.random()*2-1;this.shakeAmount=0;}}export default function PixelCanvas(props){const{src,color=\"#3758f9\",dotSpacing=6,opacity=1,renderWidth=1e3}=props;const wrapRef=React.useRef(null);const canvasRef=React.useRef(null);const imgRef=React.useRef(null);const[aspectRatio,setAspectRatio]=React.useState(1);const CFG=React.useMemo(()=>({alphaThresh:50,cursorRadius:150,cursorForce:4,idleTimeout:200,scrollDecay:.85,returnSpeed:.05,friction:.5,shakeIntensity:.05,maxShakePerFrame:2,maxParticleShake:1.5}),[]);const state=React.useRef({ctx:null,particles:[],animationId:0,scrollVelocity:0,lastScrollY:0,pointer:{x:-9999,y:-9999,active:false,idleTimer:null}});const setPointerFromClient=React.useCallback((clientX,clientY)=>{const canvas=canvasRef.current;if(!canvas)return;const rect=canvas.getBoundingClientRect();const{pointer}=state.current;pointer.x=clientX-rect.left;pointer.y=clientY-rect.top;pointer.active=true;if(pointer.idleTimer)clearTimeout(pointer.idleTimer);pointer.idleTimer=setTimeout(()=>{pointer.active=false;},CFG.idleTimeout);},[CFG.idleTimeout]);const clearPointer=React.useCallback(()=>{const{pointer}=state.current;pointer.active=false;pointer.x=-9999;pointer.y=-9999;if(pointer.idleTimer){clearTimeout(pointer.idleTimer);pointer.idleTimer=null;}},[]);const processImage=React.useCallback(img=>{const canvas=canvasRef.current;if(!canvas||!img||!img.naturalWidth||!img.naturalHeight)return;const natW=img.naturalWidth;const natH=img.naturalHeight;const ratio=natW/natH;setAspectRatio(ratio);const internalWidth=Math.max(1,Math.round(renderWidth));const internalHeight=Math.max(1,Math.round(internalWidth/ratio));canvas.width=internalWidth;canvas.height=internalHeight;const spacing=Math.max(2,dotSpacing);const cols=Math.max(1,Math.floor(internalWidth/spacing));const rows=Math.max(1,Math.floor(internalHeight/spacing));const off=document.createElement(\"canvas\");off.width=cols;off.height=rows;const oc=off.getContext(\"2d\",{willReadFrequently:true});if(!oc)return;oc.clearRect(0,0,cols,rows);oc.drawImage(img,0,0,cols,rows);let imgData;try{imgData=oc.getImageData(0,0,cols,rows);}catch(error){console.error(\"PixelCanvas: failed to read image data from canvas. This is usually a CORS issue on the published site.\",error);state.current.particles=[];return;}const d=imgData.data;const particles=[];for(let y=0;y<rows;y++){for(let x=0;x<cols;x++){const i=(y*cols+x)*4;const a=d[i+3];if(a<CFG.alphaThresh)continue;const brightness=(.299*d[i]+.587*d[i+1]+.114*d[i+2])/255;const size=Math.max(.75,brightness*spacing*.8);particles.push(new Particle(x*spacing+spacing/2,y*spacing+spacing/2,size,a/255));}}state.current.particles=particles;},[renderWidth,dotSpacing,CFG.alphaThresh]);const animate=React.useCallback(()=>{const{ctx,particles,pointer}=state.current;const canvas=canvasRef.current;if(!ctx||!canvas)return;state.current.scrollVelocity*=CFG.scrollDecay;ctx.clearRect(0,0,canvas.width,canvas.height);let pointerX=-9999;let pointerY=-9999;if(pointer.active){const rect=canvas.getBoundingClientRect();if(rect.width>0&&rect.height>0){pointerX=pointer.x/rect.width*canvas.width;pointerY=pointer.y/rect.height*canvas.height;}}for(const p of particles){if(pointer.active){const dx=p.x-pointerX;const dy=p.y-pointerY;const distSq=dx*dx+dy*dy;const r=CFG.cursorRadius;if(distSq<r*r&&distSq>0){const d=Math.sqrt(distSq);const force=((r-d)/r)**2*CFG.cursorForce;const angle=Math.atan2(dy,dx);p.vx+=Math.cos(angle)*force;p.vy+=Math.sin(angle)*force;}}if(Math.abs(state.current.scrollVelocity)>.3){p.vy+=state.current.scrollVelocity*.05;}p.update({returnSpeed:CFG.returnSpeed,friction:CFG.friction});p.draw(ctx,color,opacity);}state.current.animationId=requestAnimationFrame(animate);},[color,opacity,CFG]);React.useEffect(()=>{const canvas=canvasRef.current;const wrap=wrapRef.current;const img=imgRef.current;if(!canvas||!wrap||!img)return;state.current.ctx=canvas.getContext(\"2d\");state.current.lastScrollY=window.scrollY;const handlePointerMove=e=>{setPointerFromClient(e.clientX,e.clientY);};const handlePointerDown=e=>{setPointerFromClient(e.clientX,e.clientY);};const handlePointerLeave=()=>{clearPointer();};const handlePointerCancel=()=>{clearPointer();};const handleScroll=()=>{const scrollY=window.scrollY;const delta=scrollY-state.current.lastScrollY;state.current.scrollVelocity+=delta*.5;state.current.lastScrollY=scrollY;const shakeInjection=Math.min(Math.abs(delta)*CFG.shakeIntensity,CFG.maxShakePerFrame);for(const p of state.current.particles){p.shakeAmount+=shakeInjection*(Math.random()*.5+.5);if(p.shakeAmount>CFG.maxParticleShake){p.shakeAmount=CFG.maxParticleShake;}}};if(img.complete&&img.naturalWidth>0){processImage(img);}else{img.onload=()=>processImage(img);}wrap.addEventListener(\"pointermove\",handlePointerMove);wrap.addEventListener(\"pointerdown\",handlePointerDown);wrap.addEventListener(\"pointerleave\",handlePointerLeave);wrap.addEventListener(\"pointercancel\",handlePointerCancel);window.addEventListener(\"scroll\",handleScroll);animate();return()=>{cancelAnimationFrame(state.current.animationId);wrap.removeEventListener(\"pointermove\",handlePointerMove);wrap.removeEventListener(\"pointerdown\",handlePointerDown);wrap.removeEventListener(\"pointerleave\",handlePointerLeave);wrap.removeEventListener(\"pointercancel\",handlePointerCancel);window.removeEventListener(\"scroll\",handleScroll);clearPointer();};},[animate,processImage,setPointerFromClient,clearPointer,CFG]);React.useEffect(()=>{const img=imgRef.current;if(img&&img.complete&&img.naturalWidth>0){processImage(img);}},[src,renderWidth,dotSpacing,processImage]);return /*#__PURE__*/_jsxs(\"div\",{ref:wrapRef,style:{width:\"100%\",height:\"auto\",aspectRatio:String(aspectRatio),position:\"relative\",overflow:\"hidden\",minWidth:0,maxWidth:\"none\",minHeight:0,maxHeight:\"none\",touchAction:\"pan-y\"},children:[/*#__PURE__*/_jsx(\"canvas\",{ref:canvasRef,style:{display:\"block\",width:\"100%\",height:\"100%\",background:\"transparent\",minWidth:0,maxWidth:\"none\",minHeight:0,maxHeight:\"none\"}}),/*#__PURE__*/_jsx(\"img\",{ref:imgRef,src:src,crossOrigin:\"anonymous\",style:{display:\"none\"},alt:\"\"})]});}PixelCanvas.defaultProps={src:\"\",color:\"#3758f9\",dotSpacing:6,opacity:1,renderWidth:1e3};addPropertyControls(PixelCanvas,{src:{type:ControlType.Image,title:\"Image\"},color:{type:ControlType.Color,title:\"Color\"},dotSpacing:{type:ControlType.Number,title:\"Spacing\",min:2,max:20,step:1,defaultValue:6},opacity:{type:ControlType.Number,title:\"Opacity\",min:0,max:1,step:.05,defaultValue:1},renderWidth:{type:ControlType.Number,title:\"Render Width\",min:1,step:1,defaultValue:1e3,displayStepper:true}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"PixelCanvas\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Pixels.map"],"mappings":"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"}