{"version":3,"file":"ImagePath.CQmo1uOF.mjs","names":["useRef","useCallback"],"sources":["https:/framerusercontent.com/modules/MZujzu1PGvvhyUznu6N1/wXOjCFlWzqHx6NmomFE6/ImagePath.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=10,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 activeImagesRef=useRef(new Set);const lastTriggerTimeRef=useRef(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\";activeImagesRef.current.delete(imgIndex);},[]);const calculateDistance=useCallback((x,y)=>{return Math.hypot(x-lastPositionRef.current.x,y-lastPositionRef.current.y);},[]);const handleMouseMove=useCallback(e=>{if(isStatic||images.length===0)return;const clientX=e.clientX;const clientY=e.clientY;if(!clientX||!clientY)return;const distance=calculateDistance(clientX,clientY);const threshold=triggerDistance;// Add time-based throttle (minimum 200ms between triggers for mouse)\nconst now=Date.now();const timeSinceLastTrigger=now-lastTriggerTimeRef.current;const minTimeBetweenTriggers=200;const shouldTrigger=distance>threshold&&timeSinceLastTrigger>=minTimeBetweenTriggers;if(shouldTrigger){lastTriggerTimeRef.current=now;// Use the actual number of available images, not a cycling counter\nconst availableImageCount=images.length;const leadImageIndex=imageIndexRef.current%availableImageCount;activateImage(leadImageIndex,clientX,clientY);activeImagesRef.current.add(leadImageIndex);const effectiveMaxTrail=Math.min(maxTrailImages,10);// Only deactivate tail image if we have more active images than effectiveMaxTrail\nif(activeImagesRef.current.size>effectiveMaxTrail){// Calculate which image index should be removed (the oldest one)\nconst tailImageIndex=(imageIndexRef.current-effectiveMaxTrail)%availableImageCount;// Handle negative modulo properly\nconst normalizedTailIndex=tailImageIndex<0?tailImageIndex+availableImageCount:tailImageIndex;deactivateImage(normalizedTailIndex);}imageIndexRef.current++;}},[images.length,triggerDistance,maxTrailImages,activateImage,deactivateImage,calculateDistance,isStatic]);const handleTouch=useCallback(e=>{if(isStatic||images.length===0)return;const clientX=e.touches[0]?.clientX;const clientY=e.touches[0]?.clientY;if(!clientX||!clientY)return;// For touch events, always show exactly 1 image per tap\nconst availableImageCount=images.length;const leadImageIndex=imageIndexRef.current%availableImageCount;activateImage(leadImageIndex,clientX,clientY);activeImagesRef.current.add(leadImageIndex);// Limit to 1 image for touch\nconst effectiveMaxTrail=1;// Only deactivate tail image if we have more active images than effectiveMaxTrail\nif(activeImagesRef.current.size>effectiveMaxTrail){// Calculate which image index should be removed (the oldest one)\nconst tailImageIndex=(imageIndexRef.current-effectiveMaxTrail)%availableImageCount;// Handle negative modulo properly\nconst normalizedTailIndex=tailImageIndex<0?tailImageIndex+availableImageCount:tailImageIndex;deactivateImage(normalizedTailIndex);}imageIndexRef.current++;},[images.length,activateImage,deactivateImage,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;activeImagesRef.current.clear();// 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,onTouchStart:handleTouch,style:{position:\"relative\",width:\"100%\",height:\"100%\",backgroundColor,borderRadius,overflow:\"visible\",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 trail 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:\"follow\"},triggerDistance:{type:ControlType.Number,title:\"Trigger Distance\",defaultValue:80,min:10,max:200,step:5},maxTrailImages:{type:ControlType.Number,title:\"Max Trail Images\",defaultValue:10,min:1,max:10,step:1},useFadeEffect:{type:ControlType.Boolean,title:\"Auto Fade\",defaultValue:true,enabledTitle:\"On\",disabledTitle:\"Off\"},fadeDelay:{type:ControlType.Number,title:\"Fade Delay\",defaultValue:1500,min:500,max:5e3,step:100,unit:\"ms\",hidden:({useFadeEffect})=>!useFadeEffect},imageWidth:{type:ControlType.Number,title:\"Image Width\",defaultValue:160,min:50,max:400,step:10,unit:\"px\"},imageHeight:{type:ControlType.Number,title:\"Image Height\",defaultValue:192,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:8,min:0,max:32,step:1,unit:\"px\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"ImageTrail\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"fixed\",\"framerSupportedLayoutHeight\":\"fixed\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ImagePath.map"],"mappings":"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"}