{"version":3,"file":"ImagePathEffect.C1BWdmBo.mjs","names":["useRef","useCallback"],"sources":["https:/framerusercontent.com/modules/XLXIkEJsLv3EjsrV85yn/ZVTItKs6E4srSJyt4oRP/ImagePathEffect.js"],"sourcesContent":["// Image Trail Effect - Creates a mouse trail of images that follow cursor movement\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useRef,useCallback,useEffect}from\"react\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";/**\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */export default function ImageTrail(props){const{images=[{src:\"https://framerusercontent.com/images/GfGkADagM4KEibNcIiRUWlfrR0.jpg\",alt:\"Trail Image 1\"},{src:\"https://framerusercontent.com/images/aNsAT3jCvt4zglbWCUoFe33Q.jpg\",alt:\"Trail Image 2\"},{src:\"https://framerusercontent.com/images/BYnxEV1zjYb9bhWh1IwBZ1ZoS60.jpg\",alt:\"Trail Image 3\"},{src:\"https://framerusercontent.com/images/2uTNEj5aTl2K3NJaEFWMbnrA.jpg\",alt:\"Trail Image 4\"},{src:\"https://framerusercontent.com/images/f9RiWoNpmlCMqVRIHz8l8wYfeI.jpg\",alt:\"Trail Image 5\"}],content=\"Move your mouse to see the Image Path effect\",trailPattern=\"follow\",triggerDistance=20,maxTrailImages=5,useFadeEffect=true,fadeDelay=1500,imageWidth=160,imageHeight=192,backgroundColor=\"#000000\",textColor=\"#FFFFFF\",font,borderRadius=8}=props;const wrapperRef=useRef(null);const imageRefs=useRef([]);const zIndexCounterRef=useRef(1);const imageIndexRef=useRef(0);const lastPositionRef=useRef({x:0,y:0});const fadeTimeoutsRef=useRef(new Map);const patternStateRef=useRef({time:0,centerX:0,centerY:0});const isStatic=useIsStaticRenderer();const calculatePatternPosition=useCallback((baseX,baseY,imageIndex)=>{const container=wrapperRef.current;if(!container)return{x:baseX,y:baseY};const containerBounds=container.getBoundingClientRect();const centerX=containerBounds.width/2;const centerY=containerBounds.height/2;switch(trailPattern){case\"circular\":{const radius=80;const angle=imageIndex*.5+patternStateRef.current.time*.02;const offsetX=Math.cos(angle)*radius;const offsetY=Math.sin(angle)*radius;return{x:baseX+offsetX,y:baseY+offsetY};}case\"wavy\":{const amplitude=60;const frequency=.1;const phase=imageIndex*.3;const waveOffset=Math.sin(patternStateRef.current.time*frequency+phase)*amplitude;return{x:baseX+waveOffset,y:baseY+Math.cos(phase)*20};}case\"random\":{const randomRange=40;const seed=imageIndex+Math.floor(patternStateRef.current.time/100);const randomX=Math.sin(seed*12.9898)*43758.5453%1;const randomY=Math.sin(seed*78.233)*43758.5453%1;return{x:baseX+(randomX*randomRange-randomRange/2),y:baseY+(randomY*randomRange-randomRange/2)};}case\"spiral\":{const spiralRadius=20+imageIndex*8;const angle=imageIndex*.8+patternStateRef.current.time*.01;const offsetX=Math.cos(angle)*spiralRadius;const offsetY=Math.sin(angle)*spiralRadius;return{x:baseX+offsetX,y:baseY+offsetY};}case\"grid\":{const gridSize=60;const cols=3;const gridX=imageIndex%cols*gridSize-gridSize;const gridY=Math.floor(imageIndex/cols)*gridSize-gridSize;const wobble=Math.sin(patternStateRef.current.time*.005+imageIndex)*10;return{x:baseX+gridX+wobble,y:baseY+gridY+wobble};}case\"heart\":{const t=imageIndex*.3+patternStateRef.current.time*.01;const scale=30;const heartX=16*Math.pow(Math.sin(t),3);const heartY=-(13*Math.cos(t)-5*Math.cos(2*t)-2*Math.cos(3*t)-Math.cos(4*t));return{x:baseX+heartX*scale/16,y:baseY+heartY*scale/16};}case\"star\":{const angle=imageIndex*(2*Math.PI/5)+patternStateRef.current.time*.01;const radius=imageIndex%2===0?80:40;const offsetX=Math.cos(angle)*radius;const offsetY=Math.sin(angle)*radius;return{x:baseX+offsetX,y:baseY+offsetY};}case\"figure8\":{const t=imageIndex*.2+patternStateRef.current.time*.01;const scale=60;const figure8X=Math.sin(t)*scale;const figure8Y=Math.sin(2*t)*scale/2;return{x:baseX+figure8X,y:baseY+figure8Y};}default:return{x:baseX,y:baseY};}},[trailPattern]);const activateImage=useCallback((imgIndex,x,y)=>{const img=imageRefs.current[imgIndex];const container=wrapperRef.current;if(!img||!container)return;const containerBounds=container.getBoundingClientRect();const relativeX=x-containerBounds.left;const relativeY=y-containerBounds.top;// Update pattern state\npatternStateRef.current.time=Date.now();patternStateRef.current.centerX=relativeX;patternStateRef.current.centerY=relativeY;// Calculate pattern-based position\nconst patternPos=calculatePatternPosition(relativeX,relativeY,imgIndex);// Clear any existing fade timeout for this image\nconst existingTimeout=fadeTimeoutsRef.current.get(imgIndex);if(existingTimeout){clearTimeout(existingTimeout);fadeTimeoutsRef.current.delete(imgIndex);}img.style.left=`${patternPos.x}px`;img.style.top=`${patternPos.y}px`;if(zIndexCounterRef.current>40){zIndexCounterRef.current=1;}img.style.zIndex=String(zIndexCounterRef.current++);img.style.transform=\"translate(-50%, -50%) scale(1)\";img.style.opacity=\"1\";if(useFadeEffect){const timeoutId=setTimeout(()=>{if(img){img.style.transform=\"translate(-50%, -50%) scale(0)\";img.style.opacity=\"0\";}fadeTimeoutsRef.current.delete(imgIndex);},fadeDelay);fadeTimeoutsRef.current.set(imgIndex,timeoutId);}lastPositionRef.current={x,y};},[useFadeEffect,fadeDelay,calculatePatternPosition]);const deactivateImage=useCallback(imgIndex=>{const img=imageRefs.current[imgIndex];if(!img)return;// Clear any existing fade timeout\nconst existingTimeout=fadeTimeoutsRef.current.get(imgIndex);if(existingTimeout){clearTimeout(existingTimeout);fadeTimeoutsRef.current.delete(imgIndex);}img.style.transform=\"translate(-50%, -50%) scale(0)\";img.style.opacity=\"0\";},[]);const calculateDistance=useCallback((x,y)=>{const container=wrapperRef.current;if(!container)return 0;const containerBounds=container.getBoundingClientRect();const relativeX=x-containerBounds.left;const relativeY=y-containerBounds.top;return Math.hypot(relativeX-lastPositionRef.current.x,relativeY-lastPositionRef.current.y);},[]);const handleMouseMove=useCallback(e=>{if(isStatic||images.length===0)return;const clientX=\"touches\"in e?e.touches[0]?.clientX:e.clientX;const clientY=\"touches\"in e?e.touches[0]?.clientY:e.clientY;if(!clientX||!clientY)return;const distance=calculateDistance(clientX,clientY);const threshold=typeof window!==\"undefined\"?window.innerWidth/triggerDistance:50;if(distance>threshold){const leadImageIndex=imageIndexRef.current%images.length;activateImage(leadImageIndex,clientX,clientY);// Only deactivate tail image if we have more images than maxTrailImages\nif(imageIndexRef.current>=maxTrailImages){const tailImageIndex=(imageIndexRef.current-maxTrailImages)%images.length;// Handle negative modulo properly\nconst normalizedTailIndex=tailImageIndex<0?tailImageIndex+images.length:tailImageIndex;deactivateImage(normalizedTailIndex);}imageIndexRef.current++;}},[images.length,triggerDistance,maxTrailImages,activateImage,deactivateImage,calculateDistance,isStatic]);// Initialize image refs and cleanup timeouts\nuseEffect(()=>{imageRefs.current=imageRefs.current.slice(0,images.length);// Cleanup function\nreturn()=>{fadeTimeoutsRef.current.forEach(timeoutId=>clearTimeout(timeoutId));fadeTimeoutsRef.current.clear();};},[images.length]);// Reset component state when key props change\nuseEffect(()=>{imageIndexRef.current=0;lastPositionRef.current={x:0,y:0};zIndexCounterRef.current=1;// Clear all active images\nimageRefs.current.forEach((img,index)=>{if(img){img.style.transform=\"translate(-50%, -50%) scale(0)\";img.style.opacity=\"0\";}});// Clear all timeouts\nfadeTimeoutsRef.current.forEach(timeoutId=>clearTimeout(timeoutId));fadeTimeoutsRef.current.clear();},[triggerDistance,maxTrailImages,useFadeEffect,fadeDelay]);return /*#__PURE__*/_jsxs(\"div\",{ref:wrapperRef,onMouseMove:handleMouseMove,onTouchMove:handleMouseMove,style:{position:\"relative\",width:\"100%\",height:\"100%\",backgroundColor,borderRadius,overflow:\"hidden\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",cursor:isStatic?\"default\":\"none\",...font},children:[images.map((image,i)=>/*#__PURE__*/_jsx(\"img\",{ref:el=>imageRefs.current[i]=el,src:image.src,alt:image.alt,style:{position:\"absolute\",width:imageWidth,height:imageHeight,objectFit:\"cover\",borderRadius:borderRadius*.5,transform:\"translate(-50%, -50%) scale(0)\",opacity:0,transition:\"transform 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.275), opacity 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94)\",pointerEvents:\"none\",zIndex:1}},i)),/*#__PURE__*/_jsx(\"div\",{style:{color:textColor,textAlign:\"center\",zIndex:0,pointerEvents:\"none\",padding:\"20px\"},children:content})]});}addPropertyControls(ImageTrail,{images:{type:ControlType.Array,title:\"Trail Images\",control:{type:ControlType.ResponsiveImage},defaultValue:[{src:\"https://framerusercontent.com/images/GfGkADagM4KEibNcIiRUWlfrR0.jpg\",alt:\"Trail Image 1\"},{src:\"https://framerusercontent.com/images/aNsAT3jCvt4zglbWCUoFe33Q.jpg\",alt:\"Trail Image 2\"},{src:\"https://framerusercontent.com/images/BYnxEV1zjYb9bhWh1IwBZ1ZoS60.jpg\",alt:\"Trail Image 3\"},{src:\"https://framerusercontent.com/images/2uTNEj5aTl2K3NJaEFWMbnrA.jpg\",alt:\"Trail Image 4\"},{src:\"https://framerusercontent.com/images/f9RiWoNpmlCMqVRIHz8l8wYfeI.jpg\",alt:\"Trail Image 5\"}],maxCount:500},content:{type:ControlType.String,title:\"Content Text\",defaultValue:\"Move your mouse to see the Image Path effect\",displayTextArea:true},trailPattern:{type:ControlType.Enum,title:\"Trail Pattern\",options:[\"follow\",\"circular\",\"wavy\",\"random\",\"spiral\",\"grid\",\"heart\",\"star\",\"figure8\"],optionTitles:[\"Follow\",\"Circular\",\"Wavy\",\"Random\",\"Spiral\",\"Grid\",\"Heart\",\"Star\",\"Figure 8\"],defaultValue:\"wavy\"},triggerDistance:{type:ControlType.Number,title:\"Trigger Distance\",defaultValue:20,min:5,max:100,step:1},maxTrailImages:{type:ControlType.Number,title:\"Max Trail Images\",defaultValue:500,min:1,max:500,step:1},useFadeEffect:{type:ControlType.Boolean,title:\"Auto Fade\",defaultValue:true,enabledTitle:\"On\",disabledTitle:\"Off\"},fadeDelay:{type:ControlType.Number,title:\"Fade Delay\",defaultValue:500,min:500,max:5e3,step:100,unit:\"ms\",hidden:({useFadeEffect})=>!useFadeEffect},imageWidth:{type:ControlType.Number,title:\"Image Width\",defaultValue:200,min:50,max:400,step:10,unit:\"px\"},imageHeight:{type:ControlType.Number,title:\"Image Height\",defaultValue:200,min:50,max:400,step:10,unit:\"px\"},backgroundColor:{type:ControlType.Color,title:\"Background Color\",defaultValue:\"#000000\"},textColor:{type:ControlType.Color,title:\"Text Color\",defaultValue:\"#FFFFFF\"},font:{type:ControlType.Font,title:\"Font\",defaultValue:{fontSize:\"18px\",variant:\"Medium\",letterSpacing:\"-0.01em\",lineHeight:\"1.4em\",textAlign:\"center\"},controls:\"extended\",defaultFontType:\"sans-serif\"},borderRadius:{type:ControlType.Number,title:\"Border Radius\",defaultValue:12,min:0,max:32,step:1,unit:\"px\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"ImageTrail\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"fixed\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ImagePathEffect.map"],"mappings":"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"}