{"version":3,"file":"Matrix.CFIOj6rZ.mjs","names":["React.useRef"],"sources":["https:/framerusercontent.com/modules/9rn5aYzb5AN6PWJzABs9/3ZAu5WRZHvmdGSvMgYzR/Matrix.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType}from\"framer\";import{motion}from\"framer-motion\";/**\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n * @framerDisableUnlink\n */ export function MatrixEffect(props){const canvasRef=React.useRef(null);const{fontSize,color,speed}=props;React.useEffect(()=>{if(canvasRef.current){const canvas=canvasRef.current;const ctx=canvas.getContext(\"2d\");canvas.width=window.innerWidth;canvas.height=window.innerHeight;const letters=\"ABCDEFGHIJKLMNOPQRSTUVXYZABCDEFGHIJKLMNOPQRSTUVXYZABCDEFGHIJKLMNOPQRSTUVXYZABCDEFGHIJKLMNOPQRSTUVXYZABCDEFGHIJKLMNOPQRSTUVXYZABCDEFGHIJKLMNOPQRSTUVXYZ\".split(\"\");const columns=canvas.width/fontSize;const drops=[];for(let i=0;i<columns;i++){drops[i]=1;}function draw(){ctx.fillStyle=\"rgba(0, 0, 0, .1)\";ctx.fillRect(0,0,canvas.width,canvas.height);for(let i=0;i<drops.length;i++){const text=letters[Math.floor(Math.random()*letters.length)];ctx.fillStyle=color;ctx.fillText(text,i*fontSize,drops[i]*fontSize);drops[i]++;if(drops[i]*fontSize>canvas.height&&Math.random()>.95){drops[i]=0;}}}const intervalId=setInterval(draw,speed);return()=>{clearInterval(intervalId);};}},[canvasRef,fontSize,color,speed]);return /*#__PURE__*/ _jsx(motion.canvas,{ref:canvasRef});}MatrixEffect.defaultProps={fontSize:10,color:\"#0f0\",speed:33};addPropertyControls(MatrixEffect,{fontSize:{type:ControlType.Number,title:\"Font Size\",defaultValue:10,min:5,max:20,step:1},color:{type:ControlType.Color,title:\"Color\",defaultValue:\"#0f0\"},speed:{type:ControlType.Number,title:\"Speed\",defaultValue:33,min:1,max:100,step:1}});\nexport const __FramerMetadata__ = {\"exports\":{\"MatrixEffect\":{\"type\":\"reactComponent\",\"name\":\"MatrixEffect\",\"slots\":[],\"annotations\":{\"framerDisableUnlink\":\"\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerSupportedLayoutHeight\":\"fixed\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Matrix.map"],"mappings":"gPAII,SAAgB,EAAa,EAAM,CAAC,IAAM,EAAUA,EAAa,KAAK,CAAM,CAAC,WAAS,QAAM,SAAO,EAAk4B,OAA53B,MAAoB,CAAC,GAAG,EAAU,QAAQ,CAAC,IAAM,EAAO,EAAU,QAAc,EAAI,EAAO,WAAW,KAAK,CAAC,EAAO,MAAM,EAAO,WAAW,EAAO,OAAO,EAAO,YAAY,IAAM,EAAQ,yJAAyJ,MAAM,GAAG,CAAO,EAAQ,EAAO,MAAM,EAAe,EAAM,EAAE,CAAC,IAAI,IAAI,EAAE,EAAE,EAAE,EAAQ,IAAK,EAAM,GAAG,EAAG,SAAS,GAAM,CAAC,EAAI,UAAU,oBAAoB,EAAI,SAAS,EAAE,EAAE,EAAO,MAAM,EAAO,OAAO,CAAC,IAAI,IAAI,EAAE,EAAE,EAAE,EAAM,OAAO,IAAI,CAAC,IAAM,EAAK,EAAQ,KAAK,MAAM,KAAK,QAAQ,CAAC,EAAQ,OAAO,EAAE,EAAI,UAAU,EAAM,EAAI,SAAS,EAAK,EAAE,EAAS,EAAM,GAAG,EAAS,CAAC,EAAM,KAAQ,EAAM,GAAG,EAAS,EAAO,QAAQ,KAAK,QAAQ,CAAC,MAAK,EAAM,GAAG,IAAK,IAAM,EAAW,YAAY,EAAK,EAAM,CAAC,UAAU,CAAC,cAAc,EAAW,IAAM,CAAC,EAAU,EAAS,EAAM,EAAM,CAAC,CAAsB,EAAK,EAAO,OAAO,CAAC,IAAI,EAAU,CAAC,sBAJt/B,IAA4B,IAAoD,IAAkC,CAIs4B,EAAa,aAAa,CAAC,SAAS,GAAG,MAAM,OAAO,MAAM,GAAG,CAAC,EAAoB,EAAa,CAAC,SAAS,CAAC,KAAK,EAAY,OAAO,MAAM,YAAY,aAAa,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,EAAE,CAAC,MAAM,CAAC,KAAK,EAAY,MAAM,MAAM,QAAQ,aAAa,OAAO,CAAC,MAAM,CAAC,KAAK,EAAY,OAAO,MAAM,QAAQ,aAAa,GAAG,IAAI,EAAE,IAAI,IAAI,KAAK,EAAE,CAAC,CAAC"}