{"version":3,"file":"FloatingParticles.CMULJszT.mjs","names":["useRef","useState","useRef","useState"],"sources":["https:/framerusercontent.com/modules/vbaJXlyVEeIvuEevvudG/5KEDwcNqhEmNmVhXoIHT/UnicornStudioEmbed.js","https:/framerusercontent.com/modules/c4lWLVEytZ4jRcDJM7mT/OwKpQxjO9imjfgTzo18n/FloatingParticles.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useEffect,useRef,useState}from\"react\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";const VERSION=\"2.1.3\";/**\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n * @framerIntrinsicHeight 400\n * @framerIntrinsicWidth 800\n */export default function UnicornStudioEmbed(props){const{sdkVersion=VERSION}=props;const elementRef=useRef(null);const sceneRef=useRef(null);const scriptId=useRef(`unicorn-project-${Math.random().toString(36).substr(2,9)}`);const[versionError,setVersionError]=useState(null);// simple semver check: 1.2.3\nconst isValidVersion=v=>/^\\d+\\.\\d+\\.\\d+(-beta|-\\d+)?$/.test(v.trim());useEffect(()=>{const isEditingOrPreviewing=[\"CANVAS\",\"PREVIEW\"].includes(RenderTarget.current());// validate version first\nif(!isValidVersion(sdkVersion)){console.error(`[UnicornStudioEmbed] Invalid SDK version \"${sdkVersion}\". Expected format: x.y.z (e.g. 1.5.3)`);setVersionError(`Invalid SDK version \"${sdkVersion}\". Use x.y.z (e.g. 1.5.3).`);return;}else{setVersionError(null);}if(RenderTarget.current()===\"CANVAS\"){return;}const initializeScript=callback=>{const cdnPrefix=\"https://cdn.jsdelivr.net/gh/hiunicornstudio/unicornstudio.js\";const scriptSrc=`${cdnPrefix}@v${sdkVersion}/dist/unicornStudio.umd.js`;// check if any unicornstudio.js script is already on the page\nconst existingScript=document.querySelector('script[src^=\"https://cdn.jsdelivr.net/gh/hiunicornstudio/unicornstudio.js\"]');// IMPORTANT:\n// If there is already a script but it's for a different version,\n// we might want to load the desired one anyway. For now, if it's\n// present AND window.UnicornStudio exists, we just use it.\nif(!existingScript){const script=document.createElement(\"script\");script.src=scriptSrc;script.onload=callback;script.onerror=()=>console.error(\"Failed to load UnicornStudio script at \"+scriptSrc);document.body.appendChild(script);}else{if(window.UnicornStudio){callback();}else{const waitForLoad=setInterval(()=>{if(window.UnicornStudio){clearInterval(waitForLoad);callback();}},100);}}};const initializeUnicornStudio=()=>{if(props.projectJSON){try{// Create script element for JSON data\nconst dataScript=document.createElement(\"script\");dataScript.id=scriptId.current;dataScript.type=\"application/json\";dataScript.textContent=props.projectJSON;document.body.appendChild(dataScript);elementRef.current?.setAttribute(\"data-us-project-src\",`${scriptId.current}`);}catch(e){console.error(\"Failed to parse project JSON:\",e);return;}}else if(props.projectId){const query=props.projectId.split(\"?\");const projectId=query[0];const production=query[1]&&query[1].includes(\"production\");const cacheBuster=isEditingOrPreviewing?\"?update=\"+Math.random():\"\";elementRef.current?.setAttribute(\"data-us-project\",projectId+cacheBuster);if(production){elementRef.current?.setAttribute(\"data-us-production\",\"1\");}}const US=window.UnicornStudio;if(!US||!elementRef.current)return;// 1) Clean up only our previous scene\nUS.scenes?.find(s=>s.element===elementRef.current)?.destroy();// 2) Prepare args\nconst args={element:elementRef.current,dpi:props.dpi,scale:props.scale,fps:props.fps,lazyLoad:!!props.lazyLoad,fixed:!!props.fixed,altText:props.altText,ariaLabel:props.ariaLabel};// If you passed JSON via a <script type=\"application/json\" id=...>\nif(props.projectJSON){// ensure script tag exists (your current code already does this)\nargs.filePath=scriptId.current;}else{args.projectId=props.projectId// your parsed id\n;}// 3) Create only this scene\nUS.addScene(args).then(scene=>{sceneRef.current=scene;});};if(props.projectId||props.projectJSON){if(window.UnicornStudio){initializeUnicornStudio();}else{initializeScript(initializeUnicornStudio);}}return()=>{if(sceneRef.current){sceneRef.current.destroy();sceneRef.current=null;}// Clean up JSON script if it exists\nconst dataScript=document.getElementById(scriptId.current);if(dataScript){dataScript.remove();}};},[props.projectId,props.projectJSON,sdkVersion]);// CANVAS mode stays the same\nif(RenderTarget.current()===\"CANVAS\"){return /*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",alignItems:\"center\",justifyContent:\"center\",width:\"100%\",height:\"100%\",backgroundColor:\"rgba(0, 0, 0, 0.15)\",color:\"#4B5563\",fontWeight:500,textAlign:\"center\",padding:\"16px\"},children:[/*#__PURE__*/_jsx(\"p\",{style:{fontSize:\"1.25rem\",marginBottom:\"12px\"},children:\"Scene will render in Preview and on your published site.\"}),!props.projectId&&!props.projectJSON?/*#__PURE__*/_jsx(\"p\",{style:{fontSize:\"1rem\",color:\"#EF4444\"},children:\"No project ID, please export your scene and add its project ID in the detail panel.\"}):\" \"]});}// runtime render\nreturn /*#__PURE__*/_jsxs(\"div\",{style:{width:\"100%\",height:\"100%\",position:\"relative\"},children:[/*#__PURE__*/_jsx(\"div\",{ref:elementRef,\"data-us-dpi\":props.dpi,\"data-us-scale\":props.scale,\"data-us-fps\":props.fps,\"data-us-altText\":props.altText,\"data-us-ariaLabel\":props.ariaLabel,...props.lazyLoad?{\"data-us-lazyload\":\"true\"}:{},style:{width:\"100%\",height:\"100%\",...props.style},children:props.header&&/*#__PURE__*/_jsx(\"h1\",{style:{width:\"1px\",height:\"1px\",margin:\"-1px\",padding:\"0\",overflow:\"hidden\",clip:\"rect(0, 0, 0, 0)\",border:\"0\"},children:props.header})}),versionError?/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:8,background:\"rgba(239, 68, 68, 0.12)\",border:\"1px solid rgba(239, 68, 68, 0.5)\",borderRadius:6,padding:\"8px 10px\",fontSize:12,color:\"#991B1B\",pointerEvents:\"none\"},children:versionError}):null]});}UnicornStudioEmbed.displayName=\"Unicorn Studio Embed\";addPropertyControls(UnicornStudioEmbed,{projectId:{type:ControlType.String,title:\"Project ID\"},projectJSON:{type:ControlType.String,title:\"Project JSON\"},sdkVersion:{type:ControlType.String,title:\"SDK version\",defaultValue:VERSION,placeholder:VERSION},scale:{type:ControlType.Number,title:\"Scale\",defaultValue:1,min:.25,max:1,step:.01},dpi:{type:ControlType.Number,title:\"DPI\",defaultValue:1.5,min:.5,max:2,step:.1},fps:{type:ControlType.Number,title:\"FPS\",defaultValue:60,min:10,max:120,step:5},header:{type:ControlType.String,title:\"H1 text\"},altText:{type:ControlType.String,title:\"Alt text\"},ariaLabel:{type:ControlType.String,title:\"Aria label\"},lazyLoad:{type:ControlType.Boolean,title:\"Lazy Load\",defaultValue:false},fixed:{type:ControlType.Boolean,title:\"Fixed\",defaultValue:false}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"UnicornStudioEmbed\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"800\",\"framerIntrinsicHeight\":\"400\",\"framerSupportedLayoutHeight\":\"fixed\",\"framerSupportedLayoutWidth\":\"fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./UnicornStudioEmbed.map","// Floating particles that smoothly hover and move around\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{useEffect,useRef,useState,startTransition}from\"react\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";import{motion,useInView}from\"framer-motion\";/**\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */export default function FloatingParticles(props){const{particleCount=20,particleSize=4,particleColor1=\"#FFFFFF\",particleColor2=\"#CCCCCC\",particleColor3=\"#999999\",speed=1,opacity=.8,blur=false}=props;const containerRef=useRef(null);const animationRef=useRef();const[particles,setParticles]=useState([]);const[dimensions,setDimensions]=useState({width:400,height:300});const isStatic=useIsStaticRenderer();const isInView=useInView(containerRef,{once:false});// Initialize particles\nuseEffect(()=>{if(isStatic)return;const colors=[particleColor1,particleColor2,particleColor3];const newParticles=[];for(let i=0;i<particleCount;i++){newParticles.push({id:i,x:Math.random()*dimensions.width,y:Math.random()*dimensions.height,vx:(Math.random()-.5)*speed*.5,vy:(Math.random()-.5)*speed*.5,size:particleSize+Math.random()*particleSize*.5,opacity:opacity*(.5+Math.random()*.5),color:colors[Math.floor(Math.random()*colors.length)]});}startTransition(()=>setParticles(newParticles));},[particleCount,particleSize,particleColor1,particleColor2,particleColor3,speed,opacity,dimensions,isStatic]);// Update dimensions when container size changes\nuseEffect(()=>{if(!containerRef.current||isStatic)return;const updateDimensions=()=>{const rect=containerRef.current?.getBoundingClientRect();if(rect){startTransition(()=>setDimensions({width:rect.width,height:rect.height}));}};updateDimensions();if(typeof window!==\"undefined\"){window.addEventListener(\"resize\",updateDimensions);return()=>window.removeEventListener(\"resize\",updateDimensions);}},[isStatic]);// Animation loop\nuseEffect(()=>{if(isStatic||!isInView||particles.length===0)return;const animate=()=>{startTransition(()=>{setParticles(prevParticles=>prevParticles.map(particle=>{let newX=particle.x+particle.vx*speed;let newY=particle.y+particle.vy*speed;let newVx=particle.vx;let newVy=particle.vy;// Bounce off edges with some randomness\n    if(newX<=0||newX>=dimensions.width){newVx=-newVx+(Math.random()-.5)*.1;newX=Math.max(0,Math.min(dimensions.width,newX));}if(newY<=0||newY>=dimensions.height){newVy=-newVy+(Math.random()-.5)*.1;newY=Math.max(0,Math.min(dimensions.height,newY));}// Add slight random movement for floating effect\n    newVx+=(Math.random()-.5)*.02;newVy+=(Math.random()-.5)*.02;// Limit velocity\n    const maxVel=speed*.8;newVx=Math.max(-maxVel,Math.min(maxVel,newVx));newVy=Math.max(-maxVel,Math.min(maxVel,newVy));return{...particle,x:newX,y:newY,vx:newVx,vy:newVy};}));});if(isInView){animationRef.current=requestAnimationFrame(animate);}};animationRef.current=requestAnimationFrame(animate);return()=>{if(animationRef.current){cancelAnimationFrame(animationRef.current);}};},[isStatic,isInView,particles.length,speed,dimensions]);if(isStatic){// Static preview with some particles\nconst colors=[particleColor1,particleColor2,particleColor3];const staticParticles=Array.from({length:Math.min(particleCount,10)},(_,i)=>({id:i,x:(i*50+30)%300,y:(i*30+40)%200,size:particleSize,opacity:opacity,color:colors[i%colors.length]}));return /*#__PURE__*/_jsx(\"div\",{ref:containerRef,style:{width:\"100%\",height:\"100%\",position:\"relative\",overflow:\"hidden\",backgroundColor:\"transparent\"},children:staticParticles.map(particle=>/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",left:particle.x,top:particle.y,width:particle.size,height:particle.size,backgroundColor:particle.color,borderRadius:\"50%\",opacity:particle.opacity,filter:blur?\"blur(1px)\":\"none\"}},particle.id))});}return /*#__PURE__*/_jsx(\"div\",{ref:containerRef,style:{width:\"100%\",height:\"100%\",position:\"relative\",overflow:\"hidden\",backgroundColor:\"transparent\"},children:particles.map(particle=>/*#__PURE__*/_jsx(motion.div,{style:{position:\"absolute\",left:particle.x,top:particle.y,width:particle.size,height:particle.size,backgroundColor:particle.color,borderRadius:\"50%\",opacity:particle.opacity,filter:blur?\"blur(1px)\":\"none\"},animate:{scale:[1,1.2,1],opacity:[particle.opacity,particle.opacity*.7,particle.opacity]},transition:{duration:3+Math.random()*2,repeat:Infinity,ease:\"easeInOut\"}},particle.id))});}addPropertyControls(FloatingParticles,{particleCount:{type:ControlType.Number,title:\"Particle Count\",defaultValue:20,min:5,max:300,step:1},particleSize:{type:ControlType.Number,title:\"Particle Size\",defaultValue:4,min:1,max:20,step:1,unit:\"px\"},particleColor1:{type:ControlType.Color,title:\"Particle Color 1\",defaultValue:\"#FFFFFF\"},particleColor2:{type:ControlType.Color,title:\"Particle Color 2\",defaultValue:\"#CCCCCC\"},particleColor3:{type:ControlType.Color,title:\"Particle Color 3\",defaultValue:\"#999999\"},speed:{type:ControlType.Number,title:\"Speed\",defaultValue:1,min:.1,max:5,step:.1},opacity:{type:ControlType.Number,title:\"Opacity\",defaultValue:.8,min:.1,max:1,step:.1},blur:{type:ControlType.Boolean,title:\"Blur Effect\",defaultValue:false,enabledTitle:\"On\",disabledTitle:\"Off\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FloatingParticles\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"fixed\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./FloatingParticles.map"],"mappings":"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"}