{"version":3,"file":"TravelInSpace_Prod.B7HZNmcS.mjs","names":["useRef","useCallback","star"],"sources":["https:/framerusercontent.com/modules/05lDpbfhSrvfTaeYNr0M/vSBDigBqVLWmhghwvENS/TravelInSpace_Prod.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import{useEffect,useRef,useCallback}from\"react\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";// CSS variable token and color parsing (hex/rgba/var())\nconst cssVariableRegex=/var\\s*\\(\\s*(--[\\w-]+)(?:\\s*,\\s*((?:[^)(]+|\\((?:[^)(]+|\\([^)(]*\\))*\\))*))?\\s*\\)/;function extractDefaultValue(cssVar){if(!cssVar||!cssVar.startsWith(\"var(\"))return cssVar;const match=cssVariableRegex.exec(cssVar);if(!match)return cssVar;const fallback=(match[2]||\"\").trim();if(fallback.startsWith(\"var(\"))return extractDefaultValue(fallback);return fallback||cssVar;}function resolveTokenColor(input){if(typeof input!==\"string\")return input;if(!input.startsWith(\"var(\"))return input;return extractDefaultValue(input);}function parseColorToRgba(input){if(!input)return{r:1,g:1,b:1,a:1};const str=input.trim();// rgba(R,G,B,A)\nconst rgbaMatch=str.match(/rgba?\\(\\s*([\\d.]+)\\s*,\\s*([\\d.]+)\\s*,\\s*([\\d.]+)\\s*(?:,\\s*([\\d.]+)\\s*)?\\)/i);if(rgbaMatch){const r=Math.max(0,Math.min(255,parseFloat(rgbaMatch[1])))/255;const g=Math.max(0,Math.min(255,parseFloat(rgbaMatch[2])))/255;const b=Math.max(0,Math.min(255,parseFloat(rgbaMatch[3])))/255;const a=rgbaMatch[4]!==undefined?Math.max(0,Math.min(1,parseFloat(rgbaMatch[4]))):1;return{r,g,b,a};}// #RRGGBBAA or #RRGGBB\nconst hex=str.replace(/^#/,\"\");if(hex.length===8){const r=parseInt(hex.slice(0,2),16)/255;const g=parseInt(hex.slice(2,4),16)/255;const b=parseInt(hex.slice(4,6),16)/255;const a=parseInt(hex.slice(6,8),16)/255;return{r,g,b,a};}if(hex.length===6){const r=parseInt(hex.slice(0,2),16)/255;const g=parseInt(hex.slice(2,4),16)/255;const b=parseInt(hex.slice(4,6),16)/255;return{r,g,b,a:1};}if(hex.length===4){// #RGBA\nconst r=parseInt(hex[0]+hex[0],16)/255;const g=parseInt(hex[1]+hex[1],16)/255;const b=parseInt(hex[2]+hex[2],16)/255;const a=parseInt(hex[3]+hex[3],16)/255;return{r,g,b,a};}if(hex.length===3){// #RGB\nconst r=parseInt(hex[0]+hex[0],16)/255;const g=parseInt(hex[1]+hex[1],16)/255;const b=parseInt(hex[2]+hex[2],16)/255;return{r,g,b,a:1};}return{r:1,g:1,b:1,a:1};}// Prepare color palette from colors object\nfunction prepareColorPalette(colors,legacyColor){const palette=[];if(colors){const paletteCount=Math.max(1,Math.min(5,colors.paletteCount||1));const colorInputs=[colors.color1,colors.color2,colors.color3,colors.color4,colors.color5];for(let i=0;i<paletteCount;i++){const colorInput=colorInputs[i];if(colorInput){const resolved=resolveTokenColor(colorInput);const rgba=parseColorToRgba(resolved);// Convert to RGB string for canvas, preserve alpha separately\nconst r=Math.round(rgba.r*255);const g=Math.round(rgba.g*255);const b=Math.round(rgba.b*255);palette.push({color:`rgb(${r}, ${g}, ${b})`,alpha:rgba.a});}}}// Fallback to legacy color or default white\nif(palette.length===0){const fallbackColor=legacyColor||\"#FFFFFF\";const resolved=resolveTokenColor(fallbackColor);const rgba=parseColorToRgba(resolved);const r=Math.round(rgba.r*255);const g=Math.round(rgba.g*255);const b=Math.round(rgba.b*255);palette.push({color:`rgb(${r}, ${g}, ${b})`,alpha:rgba.a});}return palette;}/**\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n * @framerIntrinsicWidth 800\n * @framerIntrinsicHeight 600\n * @framerDisableUnlink\n */export default function TravelInSpace({paused=false,star={count:150,speed:.5,thickness:2,opacity:.8,length:8,color:\"#FFFFFF\",centerThinning:.5,centerShortening:.5},innerRadius=50,outerRadius=300,backgroundColor=\"#000000\",colors={paletteCount:1,color1:\"#FFFFFF\"}}){// Destructure star properties for easier access\nconst{count:starCount=150,speed:starSpeed=.5,thickness:starThickness=2,opacity:starOpacity=.8,length:starLength=8,color:starColor=\"#FFFFFF\",centerThinning:centerThinning=.5,centerShortening:centerShortening=.5}=star;// Prepare color palette\nconst colorPalette=prepareColorPalette(colors,starColor);const canvasRef=useRef(null);const animationRef=useRef();const starsRef=useRef([]);const lastTimeRef=useRef(0);const lastSpawnTimeRef=useRef(0);const canvasSizeRef=useRef({width:0,height:0});const isVisibleRef=useRef(true);const containerRef=useRef(null);// Calculate optimal spawn rate based on system parameters\nconst getSpawnInterval=useCallback(()=>{// Balanced spawning to match paused state without being too aggressive\n// Base spawn rate - moderate speed to reach target\nconst baseSpawnRate=30// stars per second\n;// Scale with star count - higher counts need faster spawning\nconst countMultiplier=Math.max(1,starCount/200)// Less aggressive scaling\n;const adjustedSpawnRate=baseSpawnRate*countMultiplier;// Convert to spawn interval in milliseconds\nconst spawnInterval=1e3/adjustedSpawnRate;// Balanced spawning - not too fast, not too slow\nreturn Math.max(10,Math.min(50,spawnInterval));},[starCount]);// Create a single star\nconst createStar=useCallback((centerX,centerY)=>{// SPAWN VARIATIONS THAT CAUSE SPEED INCONSISTENCY:\n// Stars spawn at different distances and depths, creating different travel distances\n// Spawn stars in a ring around the outer edge to prevent center spawning\nconst theta=Math.random()*Math.PI*2;const minSpawnRadius=outerRadius*.9// Always spawn at least 120% of outer radius\n;const maxSpawnRadius=outerRadius*1.2// Up to 200% of outer radius\n;const spawnRadius=minSpawnRadius+Math.random()*(maxSpawnRadius-minSpawnRadius);const offsetX=spawnRadius*Math.cos(theta);const offsetY=spawnRadius*Math.sin(theta);const offsetZ=Math.random()*300-150// Small Z variation for depth\n;const baseZ=200+Math.random()*800// Z varies from 200 to 1000 (much larger range)\n;const x=centerX+offsetX;const y=centerY+offsetY;const z=baseZ+offsetZ;// STAR VELOCITY CALCULATION\n// Each star gets a random speed jitter for natural variation\nconst speedJitter=.7+Math.random()*.6// Random factor between 0.7-1.3\n;const baseSpeed=starSpeed*.1*speedJitter// Base 3D speed with jitter\n;// Calculate 3D direction vector from star position to center (0,0,0)\nconst dx=centerX-x// X distance to center\n;const dy=centerY-y// Y distance to center\n;const dz=0-z// Z distance to center (center is at z=0)\n;const distance3D=Math.sqrt(dx*dx+dy*dy+dz*dz);// CONSTANT VELOCITY: No perspective compensation - stars maintain constant 3D velocity\n// Randomize base opacity for more natural variation\nconst randomOpacity=starOpacity*(.6+Math.random()*.4);// Assign color from palette with equal distribution\nconst colorIndex=Math.floor(Math.random()*colorPalette.length);const colorData=colorPalette[colorIndex];// Calculate spawn size based on actual spawn radius (not distance from center)\n// Stars that spawn further out (larger spawnRadius) should be smaller initially\nconst spawnDistanceFactor=Math.max(.3,Math.min(1.2,1-(spawnRadius-minSpawnRadius)/(maxSpawnRadius-minSpawnRadius)));// Stars that spawn further out should be smaller initially\nconst baseSize=starThickness*(.5+Math.random()*1.5);const spawnSize=baseSize*spawnDistanceFactor;// Calculate fade-in distance based on star speed - faster stars need more distance to fade in\nconst fadeInDistance=Math.max(50,baseSpeed*100)// Scale with speed, minimum 50px\n;return{x,y,z,// 3D velocity components: normalized direction * speed (constant velocity)\nvx:dx/distance3D*baseSpeed,vy:dy/distance3D*baseSpeed,vz:dz/distance3D*baseSpeed,opacity:0,baseOpacity:randomOpacity,size:spawnSize,age:0,maxAge:Math.random()*10+15,fadeInProgress:0,fadeInSpeed:1,color:colorData.color,colorAlpha:colorData.alpha,colorIndex:colorIndex,spawnX:x,spawnY:y,fadeInDistance:fadeInDistance};},[starSpeed,starThickness,starOpacity,outerRadius,colorPalette]);// Initialize stars - start with empty canvas for smooth buildup\nconst initStars=useCallback((width,height)=>{// Start with empty star array - stars will spawn gradually\nstarsRef.current=[];canvasSizeRef.current={width,height};// Reset spawn timer to start spawning immediately\nlastSpawnTimeRef.current=0;// Check if we're in Canvas mode and preview is off\nconst isCanvas=RenderTarget.current()===RenderTarget.canvas;const isPaused=!paused&&isCanvas;const centerX=width/2;const centerY=height/2;if(isPaused){// If paused, create a full distributed starfield immediately\nfor(let i=0;i<starCount;i++){const newStar=createStar(centerX,centerY);// Simulate different travel distances for natural distribution\nconst travelProgress=Math.random();const maxTravelDistance=Math.sqrt((centerX-newStar.x)**2+(centerY-newStar.y)**2);const travelDistance=maxTravelDistance*travelProgress;// Move star along its trajectory\nconst directionX=newStar.vx/Math.sqrt(newStar.vx**2+newStar.vy**2);const directionY=newStar.vy/Math.sqrt(newStar.vx**2+newStar.vy**2);newStar.x=newStar.spawnX+directionX*travelDistance;newStar.y=newStar.spawnY+directionY*travelDistance;// Set fade-in based on distance traveled\nconst distanceTraveled=Math.sqrt((newStar.x-newStar.spawnX)**2+(newStar.y-newStar.spawnY)**2);newStar.fadeInProgress=Math.min(1,distanceTraveled/newStar.fadeInDistance);newStar.age=travelProgress*newStar.maxAge;starsRef.current.push(newStar);}}else{// Normal initialization - pre-spawn some stars to get started\nconst initialStars=Math.min(starCount*.4,Math.max(30,starCount*.3))// 30-40% of target, min 30\n;for(let i=0;i<initialStars;i++){const newStar=createStar(centerX,centerY);starsRef.current.push(newStar);}}},[starCount,createStar,paused]);// Update and render stars\nconst updateAndRender=useCallback((ctx,width,height,deltaTime,currentTime)=>{const centerX=width/2;const centerY=height/2;// Clear canvas completely first\nctx.clearRect(0,0,width,height);// Draw background color with opacity support\nconst bgRgba=parseColorToRgba(backgroundColor);const bgR=Math.round(bgRgba.r*255);const bgG=Math.round(bgRgba.g*255);const bgB=Math.round(bgRgba.b*255);ctx.fillStyle=`rgba(${bgR}, ${bgG}, ${bgB}, ${bgRgba.a})`;ctx.fillRect(0,0,width,height);// Pre-calculate frequently used values - lower perspective for more dramatic effect\nconst perspective=600;const fadeOutStartDistance=innerRadius*2.5// Start fading much earlier\n;const fadeOutEndDistance=innerRadius*1// Fade to center\n;const fadeOutRange=fadeOutStartDistance-fadeOutEndDistance;const viewportCenterX=centerX;const viewportCenterY=centerY;const maxAngularDistance=Math.sqrt((width/2)**2+(height/2)**2);const deltaTimeSeconds=deltaTime*.001;const stars=starsRef.current;// Update existing stars and remove dead ones\nfor(let i=stars.length-1;i>=0;i--){const star=stars[i];star.age+=deltaTimeSeconds;// Update 3D position with perspective-compensated x/y to stabilize on-screen speed\nconst perspectiveScalePre=perspective/(perspective+star.z);const compensation=1/perspectiveScalePre;star.x+=star.vx*deltaTime*compensation;star.y+=star.vy*deltaTime*compensation;star.z+=star.vz*deltaTime;// OPTIMIZED PERSPECTIVE PROJECTION:\n// Cache perspective calculation and use fast division\nconst perspectiveScale=perspective/(perspective+star.z);const screenX=centerX+(star.x-centerX)*perspectiveScale;const screenY=centerY+(star.y-centerY)*perspectiveScale;// Fast distance calculation using cached values\nconst dx=star.x-centerX;const dy=star.y-centerY;const distanceFromCenter=Math.sqrt(dx*dx+dy*dy);// Check if star should be removed (hard boundaries)\n// For perspective-compensated movement, check world-space distance from center\nconst worldDistanceFromCenter=Math.sqrt(dx*dx+dy*dy);const shouldRemove=star.z<50||star.age>star.maxAge||worldDistanceFromCenter<innerRadius*.8// Remove when close to center in world space\n;if(shouldRemove){stars.splice(i,1);continue;}// Update fade-in progress based on distance traveled from spawn point\nif(star.fadeInProgress<1){const distanceTraveled=Math.sqrt((star.x-star.spawnX)**2+(star.y-star.spawnY)**2);star.fadeInProgress=Math.min(1,distanceTraveled/star.fadeInDistance);}// OPTIMIZED opacity calculation using cached values\nlet positionOpacity=1;if(distanceFromCenter<fadeOutStartDistance){// Use cached fadeOutRange for faster calculation\nconst fadeOutProgress=Math.max(0,(distanceFromCenter-fadeOutEndDistance)/fadeOutRange);positionOpacity=Math.sqrt(fadeOutProgress)// Faster than Math.pow(x, 0.5)\n;}// Apply both fade-in and position-based opacity, then multiply by color alpha\nstar.opacity=star.baseOpacity*star.fadeInProgress*positionOpacity*star.colorAlpha;// Only render if star has some opacity\nif(star.opacity>.01){// OPTIMIZED: Reuse perspective scale from earlier calculation\nconst currentSize=star.size*perspectiveScale;const currentOpacity=star.opacity;// Only render if star is visible and large enough\nif(currentOpacity>.05&&currentSize>.3){// OPTIMIZED perspective-based star length calculation\n// Reuse screen coordinates and cached maxAngularDistance\nconst angularDistanceFromCenter=Math.sqrt((screenX-viewportCenterX)**2+(screenY-viewportCenterY)**2);// Fast normalization using pre-calculated max distance\nconst normalizedAngularDistance=Math.min(1,angularDistanceFromCenter/maxAngularDistance);// Apply perspective shortening and center shortening\nconst perspectiveFactor=.3+normalizedAngularDistance*.7;const centerShorteningFactor=Math.max(.2,Math.min(1,distanceFromCenter/outerRadius));const shorteningFactor=1-centerShortening+centerShorteningFactor*centerShortening;const streakLength=Math.max(2,starLength*perspectiveFactor*shorteningFactor);// OPTIMIZED direction calculation\nconst directionLength=Math.sqrt(star.vx*star.vx+star.vy*star.vy);if(directionLength>0&&streakLength>1){// Fast normalize without intermediate variables\nconst invDirLength=1/directionLength;const normalizedX=star.vx*invDirLength;const normalizedY=star.vy*invDirLength;// Calculate streak endpoints\nconst streakOffset=streakLength*.3;const startX=screenX-normalizedX*streakOffset;const startY=screenY-normalizedY*streakOffset;const endX=screenX+normalizedX*streakLength;const endY=screenY+normalizedY*streakLength;// OPTIMIZED thickness calculation using cached distance and centerThinning control\nconst thicknessFactor=Math.max(.2,Math.min(1,distanceFromCenter/outerRadius));const lineWidth=Math.max(.2,starThickness*(1-centerThinning+thicknessFactor*centerThinning));// Apply thickness-based opacity reduction\nconst thicknessOpacityFactor=Math.max(.3,thicknessFactor);star.opacity*=thicknessOpacityFactor;// OPTIMIZED canvas operations - set properties once\nctx.lineWidth=lineWidth;ctx.lineCap=\"round\";// Use the star's assigned color with the calculated opacity (already includes color alpha)\nconst baseColor=star.color.replace(\"rgb(\",\"\").replace(\")\",\"\");ctx.strokeStyle=`rgba(${baseColor}, ${currentOpacity})`;// Draw the streak\nctx.beginPath();ctx.moveTo(startX,startY);ctx.lineTo(endX,endY);ctx.stroke();}}}}// Spawn new stars continuously using calculated optimal rate\nconst spawnInterval=getSpawnInterval();// Spawn multiple stars if we're far below target count\nconst starsNeeded=starCount-stars.length;if(starsNeeded>0){const timeSinceLastSpawn=currentTime-lastSpawnTimeRef.current;if(timeSinceLastSpawn>spawnInterval){// Spawn a moderate number of stars to reach target at a good pace\nconst baseSpawnCount=Math.min(8,Math.max(2,Math.floor(starCount/100)))// More balanced\n;const starsToSpawn=Math.min(baseSpawnCount,starsNeeded);for(let i=0;i<starsToSpawn;i++){const newStar=createStar(centerX,centerY);stars.push(newStar);}lastSpawnTimeRef.current=currentTime;}}starsRef.current=stars;},[backgroundColor,innerRadius,starCount,createStar,getSpawnInterval,starOpacity,starThickness,starLength,outerRadius]);// Animation loop\nconst animate=useCallback(currentTime=>{const canvas=canvasRef.current;if(!canvas)return;const ctx=canvas.getContext(\"2d\");if(!ctx)return;// Check if we're in Canvas mode and preview is off\nconst isCanvas=RenderTarget.current()===RenderTarget.canvas;const isPaused=!paused&&isCanvas;// Skip animation if not visible on screen (performance optimization)\nif(!isVisibleRef.current){animationRef.current=requestAnimationFrame(animate);return;}// If paused in Canvas mode, ensure we have stars and render them statically\nif(isPaused){// Ensure we have stars to render\nif(starsRef.current.length===0){const centerX=canvas.width/2;const centerY=canvas.height/2;// Create a distributed starfield for the paused state\nfor(let i=0;i<starCount;i++){const newStar=createStar(centerX,centerY);// Simulate different travel distances for natural distribution\nconst travelProgress=Math.random();const maxTravelDistance=Math.sqrt((centerX-newStar.x)**2+(centerY-newStar.y)**2);const travelDistance=maxTravelDistance*travelProgress;// Move star along its trajectory\nconst directionX=newStar.vx/Math.sqrt(newStar.vx**2+newStar.vy**2);const directionY=newStar.vy/Math.sqrt(newStar.vx**2+newStar.vy**2);newStar.x=newStar.spawnX+directionX*travelDistance;newStar.y=newStar.spawnY+directionY*travelDistance;// Set fade-in based on distance traveled\nconst distanceTraveled=Math.sqrt((newStar.x-newStar.spawnX)**2+(newStar.y-newStar.spawnY)**2);newStar.fadeInProgress=Math.min(1,distanceTraveled/newStar.fadeInDistance);newStar.age=travelProgress*newStar.maxAge;starsRef.current.push(newStar);}}// Render stars without updating them (deltaTime = 0)\nupdateAndRender(ctx,canvas.width,canvas.height,0,currentTime);}else{// Normal animation when not paused\nconst deltaTime=currentTime-lastTimeRef.current;lastTimeRef.current=currentTime;updateAndRender(ctx,canvas.width,canvas.height,deltaTime,currentTime);}// Always continue the animation loop\nanimationRef.current=requestAnimationFrame(animate);},[paused,updateAndRender,starCount,createStar]);// Handle resize\nconst handleResize=useCallback(()=>{const canvas=canvasRef.current;if(!canvas)return;const container=canvas.parentElement;if(!container)return;// Use clientWidth/clientHeight for more reliable sizing in Framer Canvas\nconst width=Math.max(container.clientWidth,2);const height=Math.max(container.clientHeight,2);// Set canvas dimensions to match container exactly\ncanvas.width=width;canvas.height=height;canvas.style.width=`${width}px`;canvas.style.height=`${height}px`;initStars(width,height);},[initStars]);useEffect(()=>{const canvas=canvasRef.current;const container=containerRef.current;if(!canvas||!container)return;const ctx=canvas.getContext(\"2d\");if(!ctx)return;// Set up canvas\nctx.imageSmoothingEnabled=false;ctx.lineCap=\"round\";ctx.lineJoin=\"round\";// Enable alpha blending for proper transparency\nctx.globalCompositeOperation=\"source-over\";handleResize();// Set up Intersection Observer for visibility optimization\nconst intersectionObserver=new IntersectionObserver(entries=>{const entry=entries[0];isVisibleRef.current=entry.isIntersecting;},{rootMargin:\"100px\",threshold:0});intersectionObserver.observe(container);// Start animation\nanimationRef.current=requestAnimationFrame(animate);// Handle resize\nconst resizeObserver=new ResizeObserver(handleResize);resizeObserver.observe(canvas.parentElement);// CRITICAL: Canvas mode specific handling\nif(RenderTarget.current()===RenderTarget.canvas){setTimeout(handleResize,50);setTimeout(handleResize,150);}return()=>{if(animationRef.current){cancelAnimationFrame(animationRef.current);}resizeObserver.disconnect();intersectionObserver.disconnect();};},[handleResize,animate]);return /*#__PURE__*/_jsx(\"div\",{ref:containerRef,style:{width:\"100%\",height:\"100%\",position:\"relative\",overflow:\"hidden\"},children:/*#__PURE__*/_jsx(\"canvas\",{ref:canvasRef,style:{width:\"100%\",height:\"100%\",display:\"block\",position:\"absolute\",top:0,left:0,background:\"transparent\"}})});}TravelInSpace.defaultProps={paused:false,star:{count:150,speed:.5,thickness:2,opacity:.8,length:8,color:\"#FFFFFF\",centerThinning:.5,centerShortening:.5},innerRadius:50,outerRadius:300,backgroundColor:\"#000000\",colors:{paletteCount:1,color1:\"#FFFFFF\"}};addPropertyControls(TravelInSpace,{paused:{type:ControlType.Boolean,title:\"Preview\",defaultValue:true,enabledTitle:\"Yes\",disabledTitle:\"No\"},star:{type:ControlType.Object,title:\"Stars\",controls:{count:{type:ControlType.Number,title:\"Count\",min:10,max:1e3,step:10,defaultValue:500},speed:{type:ControlType.Number,title:\"Speed\",min:.1,max:10,step:.1,defaultValue:.5},thickness:{type:ControlType.Number,title:\"Thickness\",min:1,max:10,step:1,defaultValue:2},opacity:{type:ControlType.Number,title:\"Opacity\",min:.1,max:1,step:.1,defaultValue:.8},length:{type:ControlType.Number,title:\"Length\",min:1,max:100,step:5,defaultValue:8},centerThinning:{type:ControlType.Number,title:\"Thinning\",min:0,max:1,step:.1,defaultValue:.5},centerShortening:{type:ControlType.Number,title:\"Shortening\",min:0,max:1,step:.1,defaultValue:.5}}},innerRadius:{type:ControlType.Number,title:\"Radius in\",min:10,max:500,step:5,defaultValue:50,unit:\"px\"},outerRadius:{type:ControlType.Number,title:\"Radius out\",min:500,max:1500,step:100,defaultValue:1e3,unit:\"px\"},backgroundColor:{type:ControlType.Color,title:\"Background\",defaultValue:\"#000000\"},colors:{type:ControlType.Object,title:\"Colors\",description:\"More components at [Framer University](https://frameruni.link/cc).\",controls:{paletteCount:{type:ControlType.Number,title:\"Palette Size\",min:1,max:5,step:1,defaultValue:1},color1:{type:ControlType.Color,title:\"Color 1\",defaultValue:\"#FFFFFF\"},color2:{type:ControlType.Color,title:\"Color 2\",defaultValue:\"#FF6B6B\",hidden:props=>(props?.paletteCount??1)<2},color3:{type:ControlType.Color,title:\"Color 3\",defaultValue:\"#4ECDC4\",hidden:props=>(props?.paletteCount??1)<3},color4:{type:ControlType.Color,title:\"Color 4\",defaultValue:\"#45B7D1\",hidden:props=>(props?.paletteCount??1)<4},color5:{type:ControlType.Color,title:\"Color 5\",defaultValue:\"#96CEB4\",hidden:props=>(props?.paletteCount??1)<5}}}});TravelInSpace.displayName=\"Travel In Space\";\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"TravelInSpace\",\"slots\":[],\"annotations\":{\"framerIntrinsicWidth\":\"800\",\"framerDisableUnlink\":\"\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerIntrinsicHeight\":\"600\",\"framerSupportedLayoutHeight\":\"fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./TravelInSpace_Prod.map"],"mappings":"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"}