{"version":3,"file":"HoverOutline.CYJGwQsh.mjs","names":["useState","useRef","useCallback","_Fragment"],"sources":["https:/framerusercontent.com/modules/pYE2G281T3ReBG7zi7so/CvfWotMElGb7lJ16BBmn/HoverOutline.js"],"sourcesContent":["// Simple outline component that shows outline on hover\nimport{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{useState,useRef,useCallback,useEffect,startTransition}from\"react\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";import{motion,useMotionValue,useSpring,useTransform}from\"framer-motion\";/**\n * Outline Component - Shows outline bubble that follows cursor\n *\n * @framerIntrinsicWidth 200\n * @framerIntrinsicHeight 100\n *\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n */export default function Outline(props){const{outlineColor,outlineWidth,backgroundColor,borderRadius,bubbleSize,fadeDistance,outlineTransition,followSpeed,fadeInTransition,enableRipple,enableHover,rippleDuration,autoPlayRipple,autoPlayPosition,autoPlayDelay}=props;// Motion values for pointer position (no re-renders on move)\nconst targetX=useMotionValue(0);const targetY=useMotionValue(0);// Map followSpeed (1-100) to spring config\n// Higher followSpeed = stiffer spring, more damping\nconst springConfig={stiffness:Math.max(50,followSpeed*8),damping:Math.max(10,followSpeed*1.5),mass:1};const smoothX=useSpring(targetX,springConfig);const smoothY=useSpring(targetY,springConfig);// Build mask-image strings reactively from motion values\nconst outlineMask=useTransform([smoothX,smoothY],([x,y])=>`radial-gradient(circle ${bubbleSize/2}px at ${x}px ${y}px, black 0%, black ${fadeDistance}%, transparent 100%)`);const fillMask=useTransform([smoothX,smoothY],([x,y])=>`radial-gradient(circle ${bubbleSize/2-outlineWidth}px at ${x}px ${y}px, black 0%, black ${fadeDistance}%, transparent 100%)`);const[outlineVisible,setOutlineVisible]=useState(false);const rippleIdRef=useRef(0);const[ripples,setRipples]=useState([]);const containerRef=useRef(null);const removeRipple=useCallback(id=>{startTransition(()=>{setRipples(prev=>prev.filter(r=>r.id!==id));});},[]);const isStatic=useIsStaticRenderer();const initialRippleRef=useRef(false);const hasMovedRef=useRef(false);// Auto-play ripple effect on load\nuseEffect(()=>{if(isStatic||!autoPlayRipple||initialRippleRef.current)return;const timer=setTimeout(()=>{if(containerRef.current&&enableRipple){const rect=containerRef.current.getBoundingClientRect();let x=rect.width/2;let y=rect.height/2;const centerX=rect.width/2;const centerY=rect.height/2;let vectorX=0;let vectorY=0;switch(autoPlayPosition){case\"top-left\":x=0;y=0;vectorX=centerX;vectorY=centerY;break;case\"top-right\":x=rect.width;y=0;vectorX=centerX-rect.width;vectorY=centerY;break;case\"bottom-left\":x=0;y=rect.height;vectorX=centerX;vectorY=centerY-rect.height;break;case\"bottom-right\":x=rect.width;y=rect.height;vectorX=centerX-rect.width;vectorY=centerY-rect.height;break;default:x=rect.width/2;y=rect.height/2;break;}if(autoPlayPosition!==\"center\"){const length=Math.sqrt(vectorX*vectorX+vectorY*vectorY);const normalizedX=vectorX/length;const normalizedY=vectorY/length;const edgeDistance=Math.min(centerX/Math.abs(normalizedX||.001),centerY/Math.abs(normalizedY||.001));x=centerX-normalizedX*edgeDistance;y=centerY-normalizedY*edgeDistance;}const id=++rippleIdRef.current;startTransition(()=>{setRipples(prev=>[...prev,{x,y,id}]);});initialRippleRef.current=true;}},autoPlayDelay*1e3);return()=>clearTimeout(timer);},[isStatic,enableRipple,rippleDuration,autoPlayRipple,autoPlayPosition,autoPlayDelay]);// Global mouse tracking — sets motion values directly, no state updates for position\nuseEffect(()=>{if(isStatic)return;const handleGlobalMouseMove=e=>{if(!containerRef.current)return;const rect=containerRef.current.getBoundingClientRect();const x=e.clientX-rect.left;const y=e.clientY-rect.top;targetX.set(x);targetY.set(y);if(!hasMovedRef.current){hasMovedRef.current=true;// Jump smooth values to initial position (no spring lag on first move)\nsmoothX.jump(x);smoothY.jump(y);setOutlineVisible(true);}};const handleGlobalClick=e=>{if(!containerRef.current||!enableRipple)return;const rect=containerRef.current.getBoundingClientRect();const x=e.clientX-rect.left;const y=e.clientY-rect.top;const centerX=rect.width/2;const centerY=rect.height/2;const vectorX=centerX-x;const vectorY=centerY-y;const length=Math.sqrt(vectorX*vectorX+vectorY*vectorY);const normalizedX=vectorX/length;const normalizedY=vectorY/length;const edgeDistance=Math.min(centerX/Math.abs(normalizedX||.001),centerY/Math.abs(normalizedY||.001));const startX=centerX-normalizedX*edgeDistance;const startY=centerY-normalizedY*edgeDistance;const id=++rippleIdRef.current;startTransition(()=>{setRipples(prev=>[...prev,{x:startX,y:startY,id}]);});};if(enableHover){window.addEventListener(\"mousemove\",handleGlobalMouseMove);}window.addEventListener(\"click\",handleGlobalClick);return()=>{window.removeEventListener(\"mousemove\",handleGlobalMouseMove);window.removeEventListener(\"click\",handleGlobalClick);};},[isStatic,enableRipple,enableHover,rippleDuration,targetX,targetY,smoothX,smoothY]);return /*#__PURE__*/_jsxs(\"div\",{ref:containerRef,style:{width:\"100%\",height:\"100%\",borderRadius,cursor:\"default\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",position:\"relative\",overflow:\"hidden\"},children:[enableHover&&/*#__PURE__*/_jsx(motion.div,{style:{position:\"absolute\",top:0,left:0,width:\"100%\",height:\"100%\",borderRadius,border:`${outlineWidth}px solid ${outlineColor}`,pointerEvents:\"none\",maskImage:outlineMask,WebkitMaskImage:outlineMask,opacity:outlineVisible?1:0,transition:`opacity ${fadeInTransition?.duration??.3}s ${fadeInTransition?.ease??\"ease\"}, border 0.2s`}}),enableHover&&/*#__PURE__*/_jsx(motion.div,{style:{position:\"absolute\",top:0,left:0,width:\"100%\",height:\"100%\",borderRadius,background:backgroundColor,pointerEvents:\"none\",maskImage:fillMask,WebkitMaskImage:fillMask,opacity:outlineVisible?1:0,transition:`opacity ${fadeInTransition?.duration??.3}s ${fadeInTransition?.ease??\"ease\"}, background 0.2s`,boxShadow:outlineVisible?`0 0 0 ${outlineWidth}px ${backgroundColor}`:\"none\"}}),ripples.map(ripple=>/*#__PURE__*/_jsx(RippleEffect,{x:ripple.x,y:ripple.y,id:ripple.id,onComplete:removeRipple,color:outlineColor,borderRadius:borderRadius,bubbleSize:bubbleSize,fadeDistance:fadeDistance,fadeInTransition:fadeInTransition,backgroundColor:backgroundColor,outlineWidth:outlineWidth,rippleDuration:rippleDuration},ripple.id))]});}function RippleEffect({x,y,id,onComplete,color,borderRadius,bubbleSize,fadeDistance,fadeInTransition,backgroundColor,outlineWidth,rippleDuration}){const[rippleProgress,setRippleProgress]=useState(0);const[ripplePosition,setRipplePosition]=useState({x,y});useEffect(()=>{let frame;let start=null;const duration=rippleDuration*1e3;const containerElement=document.querySelector('[data-framer-component-type=\"Outline\"]');let containerRect={left:0,top:0,width:300,height:150};if(containerElement){containerRect=containerElement.getBoundingClientRect();}const centerX=containerRect.width/2;const centerY=containerRect.height/2;const vectorX=centerX-x;const vectorY=centerY-y;const targetX=centerX+vectorX;const targetY=centerY+vectorY;function animate(ts){if(start===null)start=ts;const elapsed=ts-start;const progress=Math.min(1,elapsed/duration);const newX=x+(targetX-x)*progress;const newY=y+(targetY-y)*progress;setRippleProgress(progress);setRipplePosition({x:newX,y:newY});if(progress<1){frame=requestAnimationFrame(animate);}else{// Allow the CSS opacity transition to finish before removing\nsetTimeout(()=>onComplete(id),rippleDuration*1e3);}}frame=requestAnimationFrame(animate);return()=>cancelAnimationFrame(frame);},[x,y,id,onComplete,rippleDuration]);const maxRadius=bubbleSize*2;return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",top:0,left:0,width:\"100%\",height:\"100%\",borderRadius,pointerEvents:\"none\",border:`${outlineWidth}px solid ${color}`,maskImage:`radial-gradient(circle ${maxRadius*rippleProgress}px at ${ripplePosition.x}px ${ripplePosition.y}px, black 0%, black ${fadeDistance}%, transparent 100%)`,WebkitMaskImage:`radial-gradient(circle ${maxRadius*rippleProgress}px at ${ripplePosition.x}px ${ripplePosition.y}px, black 0%, black ${fadeDistance}%, transparent 100%)`,opacity:.8*(1-rippleProgress),transition:`opacity ${rippleDuration}s ${fadeInTransition?.ease??\"ease\"}, mask-image 0.2s, -webkit-mask-image 0.2s`}}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",top:0,left:0,width:\"100%\",height:\"100%\",borderRadius,pointerEvents:\"none\",background:backgroundColor,maskImage:`radial-gradient(circle ${(maxRadius-outlineWidth)*rippleProgress}px at ${ripplePosition.x}px ${ripplePosition.y}px, black 0%, black ${fadeDistance}%, transparent 100%)`,WebkitMaskImage:`radial-gradient(circle ${(maxRadius-outlineWidth)*rippleProgress}px at ${ripplePosition.x}px ${ripplePosition.y}px, black 0%, black ${fadeDistance}%, transparent 100%)`,opacity:.5*(1-rippleProgress),transition:`opacity ${rippleDuration}s ${fadeInTransition?.ease??\"ease\"}, mask-image 0.2s, -webkit-mask-image 0.2s`}})]});}addPropertyControls(Outline,{outlineColor:{type:ControlType.Color,title:\"Outline Color\",defaultValue:\"#4A90A4\"},outlineWidth:{type:ControlType.Number,title:\"Outline Width\",defaultValue:2,min:1,max:10,step:1,unit:\"px\"},backgroundColor:{type:ControlType.Color,title:\"Background\",defaultValue:\"#FFFFFF\"},borderRadius:{type:ControlType.Number,title:\"Border Radius\",defaultValue:8,min:0,max:50,step:1,unit:\"px\"},enableHover:{type:ControlType.Boolean,title:\"Hover Effect\",defaultValue:true,enabledTitle:\"On\",disabledTitle:\"Off\"},bubbleSize:{type:ControlType.Number,title:\"Bubble Size\",defaultValue:100,min:20,max:1e3,step:10,unit:\"px\",hidden:({enableHover})=>!enableHover},fadeDistance:{type:ControlType.Number,title:\"Fade Distance\",defaultValue:70,min:10,max:100,step:5,unit:\"%\",hidden:({enableHover})=>!enableHover},followSpeed:{type:ControlType.Number,title:\"Follow Speed\",defaultValue:60,min:1,max:100,step:1,unit:\"%\",hidden:({enableHover})=>!enableHover},fadeInTransition:{type:ControlType.Transition,title:\"Fade In Transition\",hidden:({enableHover,enableRipple})=>!enableHover&&!enableRipple},outlineTransition:{type:ControlType.Transition,title:\"Outline Transition\",hidden:({enableHover})=>!enableHover},enableRipple:{type:ControlType.Boolean,title:\"Ripple Effect\",defaultValue:true,enabledTitle:\"On\",disabledTitle:\"Off\"},rippleDuration:{type:ControlType.Number,title:\"Ripple Duration\",defaultValue:.6,min:.1,max:3,step:.1,unit:\"s\",hidden:({enableRipple})=>!enableRipple},autoPlayRipple:{type:ControlType.Boolean,title:\"Auto-Play Ripple\",defaultValue:true,enabledTitle:\"On\",disabledTitle:\"Off\",hidden:({enableRipple})=>!enableRipple},autoPlayDelay:{type:ControlType.Number,title:\"Auto-Play Delay\",defaultValue:.3,min:0,max:10,step:.1,unit:\"s\",hidden:({autoPlayRipple,enableRipple})=>!autoPlayRipple||!enableRipple},autoPlayPosition:{type:ControlType.Enum,title:\"Start Position\",options:[\"center\",\"top-left\",\"top-right\",\"bottom-left\",\"bottom-right\"],optionTitles:[\"Center\",\"Top Left\",\"Top Right\",\"Bottom Left\",\"Bottom Right\"],defaultValue:\"center\",hidden:({autoPlayRipple,enableRipple})=>!autoPlayRipple||!enableRipple}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Outline\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"100\",\"framerIntrinsicWidth\":\"200\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./HoverOutline.map"],"mappings":"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"}