{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/cgrobktIPwptUVNTpk9w/IXg6khLg9BkNIK9lyam5/Perlin_Distortion.js"],
  "sourcesContent": ["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useEffect,useRef,useState}from\"react\";import{addPropertyControls,ControlType}from\"framer\";export default function RefinedThreeCircleReveal(props){const uniqueID=Math.random().toString(36).substr(2,9);const[progress,setProgress]=useState(props.mode===\"hide\"?1:0);const[maxRadius,setMaxRadius]=useState(1e3)// Default to avoid SSR crash\n;const animationRef=useRef(null);useEffect(()=>{if(typeof window!==\"undefined\"){setMaxRadius(Math.min(Math.max(window.innerWidth,window.innerHeight)*1.5,2e3));}},[]);useEffect(()=>{let isMounted=true// Prevents memory leaks\n;const delay=props.startDelay*1e3;const duration=props.duration*1e3;const startAnimation=()=>{const startTime=performance.now();const animate=currentTime=>{if(!isMounted)return;// Stop updates if unmounted\nconst elapsed=currentTime-startTime;const linearProgress=Math.max(0,Math.min(elapsed/duration,1));setProgress(props.mode===\"hide\"?1-linearProgress:linearProgress);if(linearProgress<1){animationRef.current=requestAnimationFrame(animate);}};animationRef.current=requestAnimationFrame(animate);};const timeout=setTimeout(startAnimation,delay);return()=>{isMounted=false;clearTimeout(timeout);cancelAnimationFrame(animationRef.current);};},[props.duration,props.mode,props.startDelay]);return /*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",height:\"100%\",overflow:\"hidden\",position:\"relative\",background:props.backgroundColor},children:/*#__PURE__*/_jsxs(\"svg\",{style:{width:\"100%\",height:\"100%\"},children:[/*#__PURE__*/_jsxs(\"defs\",{children:[/*#__PURE__*/_jsxs(\"filter\",{id:`noise_${uniqueID}`,children:[/*#__PURE__*/_jsx(\"feTurbulence\",{type:\"fractalNoise\",baseFrequency:props.noiseFrequency,numOctaves:props.noiseLayers,seed:props.noiseSeed}),/*#__PURE__*/_jsx(\"feDisplacementMap\",{in:\"SourceGraphic\",scale:Math.min(progress*props.noiseScale,100)})]}),/*#__PURE__*/_jsxs(\"radialGradient\",{id:`fade_${uniqueID}`,cx:\"50%\",cy:\"50%\",r:\"50%\",children:[/*#__PURE__*/_jsx(\"stop\",{offset:\"40%\",stopColor:\"white\"}),/*#__PURE__*/_jsx(\"stop\",{offset:\"100%\",stopColor:\"black\"})]}),/*#__PURE__*/_jsx(\"mask\",{id:`mask_${uniqueID}`,maskUnits:\"userSpaceOnUse\",children:/*#__PURE__*/_jsx(\"circle\",{cx:\"50%\",cy:\"50%\",r:progress*maxRadius,fill:`url(#fade_${uniqueID})`,style:{filter:`url(#noise_${uniqueID})`}})})]}),/*#__PURE__*/_jsx(\"foreignObject\",{width:\"100%\",height:\"100%\",style:{mask:`url(#mask_${uniqueID})`,WebkitMask:`url(#mask_${uniqueID})`},children:/*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",height:\"100%\",display:\"flex\",justifyContent:\"center\",alignItems:\"center\",background:\"transparent\"},children:props.children||/*#__PURE__*/_jsx(\"div\",{style:{width:\"50%\",height:\"50%\",background:\"blue\",borderRadius:\"50%\"}})})})]})});}// Property Controls\naddPropertyControls(RefinedThreeCircleReveal,{children:{type:ControlType.ComponentInstance,title:\"Content\"},mode:{type:ControlType.Enum,title:\"Mode\",options:[\"reveal\",\"hide\"],optionTitles:[\"Reveal\",\"Hide\"],defaultValue:\"reveal\"},duration:{type:ControlType.Number,title:\"Duration\",defaultValue:5,min:1,max:20,step:.5},startDelay:{type:ControlType.Number,title:\"Start Delay\",defaultValue:0,min:0,max:10,step:.1},noiseFrequency:{type:ControlType.Number,title:\"Noise Frequency\",defaultValue:.02,min:.001,max:.1,step:.001},noiseScale:{type:ControlType.Number,title:\"Noise Scale\",defaultValue:50,min:1,max:200,step:1},noiseLayers:{type:ControlType.Number,title:\"Noise Layers\",defaultValue:3,min:1,max:10,step:1},noiseSeed:{type:ControlType.Number,title:\"Noise Seed\",defaultValue:1,min:1,max:1e3,step:1},backgroundColor:{type:ControlType.Color,title:\"Background Color\",defaultValue:\"#000\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"RefinedThreeCircleReveal\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Perlin_Distortion.map"],
  "mappings": "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",
  "names": ["init_ssg_sandbox_shims", "RefinedThreeCircleReveal", "props", "uniqueID", "progress", "setProgress", "ye", "maxRadius", "setMaxRadius", "animationRef", "pe", "ue", "isMounted", "delay", "duration", "timeout", "startTime", "animate", "currentTime", "elapsed", "linearProgress", "p", "u", "addPropertyControls", "ControlType"]
}
