{"version":3,"file":"AnimatedArrowSVG.Bf31-R8g.mjs","names":["React.useId","React.useRef","React.useMemo","React.useState","point","nextPoint","angle"],"sources":["https:/framerusercontent.com/modules/qlCetdC1vGC9myKpObyI/91tD0INTgvl9zveC0zYE/AnimatedArrowSVG.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{useReducedMotion,motion,useMotionValue}from\"framer-motion\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";/**\n * @framerDisableUnlink\n * @framerIntrinsicWidth 200\n * @framerIntrinsicHeight 500\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */export default function AnimatedPath(props){const{pathData,numberOfDashes,strokeColor,strokeStyle,animation,startDistance,backgroundColorForGradient}=props;// Get stroke width based on style\nconst strokeWidth=strokeStyle===\"thick\"?10:5;// Generate unique ID for this instance\nconst maskId=`pathMask-${React.useId()}`;const pathRef=React.useRef(null);// Check if we're in the canvas (design mode)\nconst isOnCanvas=RenderTarget.current()===RenderTarget.canvas;// Check accessibility settings\nconst prefersReducedMotion=useReducedMotion();// Create a key that changes ONLY when important properties actually change\n// This prevents unnecessary resets when values are identical\nconst animationKey=React.useMemo(()=>{return`${pathData}-${numberOfDashes}-${strokeStyle}-${startDistance}-${JSON.stringify(animation)}`;},[pathData,numberOfDashes,strokeStyle,startDistance,animation]);// Track previous key to detect actual changes\nconst previousKeyRef=React.useRef(animationKey);const hasKeyChanged=previousKeyRef.current!==animationKey;// Update previous key after checking\nReact.useEffect(()=>{previousKeyRef.current=animationKey;},[animationKey]);// Motion values for path length and arrow position\nconst pathLength=useMotionValue(isOnCanvas?1:0);const[totalLength,setTotalLength]=React.useState(0);const[arrowPosition,setArrowPosition]=React.useState({x:0,y:0,angle:0});const[gradientCoords,setGradientCoords]=React.useState({x1:0,y1:0,x2:100,y2:0});const[actualColor,setActualColor]=React.useState(strokeColor);const[actualBackgroundColor,setActualBackgroundColor]=React.useState(backgroundColorForGradient);// State to control initial visibility to prevent flash\nconst[shouldAnimate,setShouldAnimate]=React.useState(isOnCanvas);const[showArrow,setShowArrow]=React.useState(isOnCanvas);// Ensure arrow is always visible in canvas mode\nReact.useEffect(()=>{if(isOnCanvas){setShowArrow(true);}},[isOnCanvas]);// Reset animation only when key actually changes\nReact.useEffect(()=>{if(!isOnCanvas&&hasKeyChanged){// Hide arrow immediately\nsetShowArrow(false);setShouldAnimate(false);pathLength.set(0);const timer=setTimeout(()=>{setShouldAnimate(true);setShowArrow(true);},50);return()=>clearTimeout(timer);}else if(!isOnCanvas&&!hasKeyChanged){setShouldAnimate(true);setShowArrow(true);}},[hasKeyChanged,isOnCanvas,pathLength]);// Update total path length when component mounts or path changes\nReact.useEffect(()=>{if(pathRef.current){const length=pathRef.current.getTotalLength();setTotalLength(length);// Calculate gradient coordinates for start distance\nif(startDistance>0){const path=pathRef.current;const startPoint=path.getPointAtLength(0);const endPoint=path.getPointAtLength(Math.min(startDistance,length));// Extract actual color values from CSS variables if needed\nlet resolvedStrokeColor=strokeColor;let resolvedBackgroundColor=backgroundColorForGradient;if(typeof window!==\"undefined\"){if(strokeColor.includes(\"var(\")){const tempEl=document.createElement(\"div\");tempEl.style.color=strokeColor;document.body.appendChild(tempEl);resolvedStrokeColor=window.getComputedStyle(tempEl).color;document.body.removeChild(tempEl);}if(backgroundColorForGradient.includes(\"var(\")){const tempEl=document.createElement(\"div\");tempEl.style.color=backgroundColorForGradient;document.body.appendChild(tempEl);resolvedBackgroundColor=window.getComputedStyle(tempEl).color;document.body.removeChild(tempEl);}}setActualColor(resolvedStrokeColor);setActualBackgroundColor(resolvedBackgroundColor);setGradientCoords({x1:startPoint.x,y1:startPoint.y,x2:endPoint.x,y2:endPoint.y});}}},[pathData,startDistance,strokeColor,backgroundColorForGradient]);// Set initial arrow position for canvas mode\nReact.useEffect(()=>{if(!pathRef.current||totalLength===0)return;// In canvas mode, show arrow at final position\nif(isOnCanvas){const path=pathRef.current;const targetLength=Math.max(0,totalLength-5);const point=path.getPointAtLength(targetLength);// Get a point slightly behind to calculate direction\nconst prevLength=Math.max(0,targetLength-1);const prevPoint=path.getPointAtLength(prevLength);// Calculate angle based on direction, add 180 degrees to flip the arrow\nconst angle=Math.atan2(point.y-prevPoint.y,point.x-prevPoint.x)*(180/Math.PI)+180;setArrowPosition({x:point.x,y:point.y,angle:angle});}},[totalLength,isOnCanvas]);// Update arrow position based on path progress (only for preview/published)\nReact.useEffect(()=>{if(!pathRef.current||totalLength===0||isOnCanvas)return;// Set initial position immediately for delay period\nconst path=pathRef.current;const point=path.getPointAtLength(0);const nextPoint=path.getPointAtLength(Math.min(1,totalLength));const angle=Math.atan2(nextPoint.y-point.y,nextPoint.x-point.x)*(180/Math.PI)+180;setArrowPosition({x:point.x,y:point.y,angle:angle});const unsubscribe=pathLength.on(\"change\",latest=>{if(!path)return;// Calculate position along path, stopping 5px before the end\nconst targetLength=Math.max(0,(totalLength-5)*latest);if(targetLength<=0){// At the start of the path\nconst point=path.getPointAtLength(0);const nextPoint=path.getPointAtLength(Math.min(1,totalLength));const angle=Math.atan2(nextPoint.y-point.y,nextPoint.x-point.x)*(180/Math.PI)+180;setArrowPosition({x:point.x,y:point.y,angle:angle});return;}const point=path.getPointAtLength(targetLength);const prevLength=Math.max(0,targetLength-1);const prevPoint=path.getPointAtLength(prevLength);const angle=Math.atan2(point.y-prevPoint.y,point.x-prevPoint.x)*(180/Math.PI)+180;setArrowPosition({x:point.x,y:point.y,angle:angle});});return unsubscribe;},[pathLength,totalLength,isOnCanvas]);// Generate dash array based on number of dashes and start distance\nconst generateDashArray=(numDashes,startDist,gapSize=10,baseLength=15)=>{const dashes=[];// First dash is the start distance (creates solid line before dashes begin)\nif(startDist>0){dashes.push(startDist,gapSize);}// Generate progressive dashes after the start distance\nlet currentLength=baseLength;for(let i=0;i<numDashes;i++){dashes.push(currentLength,gapSize);// Increment by increasing amounts: +baseLength, +(baseLength+5), +(baseLength+10), etc.\n// Thick: 10, 20, 35, 55, 80, etc. (increments: +10, +15, +20, +25...)\n// Narrow: 5, 10, 17.5, 27.5, 40, etc. (increments: +5, +7.5, +10, +12.5...)\ncurrentLength+=baseLength+i*5;}// Add final long dash to fill the rest\ndashes.push(1e4,0);return dashes.join(\" \");};const dashArray=generateDashArray(numberOfDashes,startDistance,strokeStyle===\"thick\"?10:5,strokeStyle===\"thick\"?10:5);// Animation properties - only animate in preview/published\nconst animationProps=isOnCanvas?{initial:{pathLength:1},animate:{pathLength:1}}:{key:hasKeyChanged?animationKey:undefined,initial:{pathLength:0},animate:shouldAnimate?{pathLength:1}:{pathLength:0},transition:shouldAnimate&&!prefersReducedMotion?{...animation.transition,repeat:animation.loop?Infinity:0,repeatType:animation.loop?animation.loopType:undefined}:{duration:0},onUpdate:latest=>{pathLength.set(latest.pathLength||0);}};// Arrow transform calculations based on style\nconst arrowTransform=strokeStyle===\"thick\"?`translate(${arrowPosition.x}, ${arrowPosition.y}) rotate(${arrowPosition.angle}) translate(-17.5, -22.5)`:`translate(${arrowPosition.x}, ${arrowPosition.y}) rotate(${arrowPosition.angle}) translate(-9, -12)`;return /*#__PURE__*/_jsxs(\"svg\",{width:\"100%\",height:\"100%\",style:{overflow:\"visible\"},\"aria-hidden\":\"true\",children:[/*#__PURE__*/_jsxs(\"defs\",{children:[/*#__PURE__*/_jsxs(\"linearGradient\",{id:`gradient-${maskId}`,gradientUnits:\"userSpaceOnUse\",x1:gradientCoords.x1,y1:gradientCoords.y1,x2:gradientCoords.x2,y2:gradientCoords.y2,children:[/*#__PURE__*/_jsx(\"stop\",{offset:\"0%\",stopColor:actualBackgroundColor}),/*#__PURE__*/_jsx(\"stop\",{offset:\"100%\",stopColor:actualColor})]}),/*#__PURE__*/_jsx(\"mask\",{id:maskId,children:/*#__PURE__*/_jsx(motion.path,{d:pathData,stroke:\"white\",strokeWidth:strokeWidth+5,fill:\"none\",...animationProps})}),/*#__PURE__*/_jsx(\"g\",{id:`arrow-thick-${maskId}`,children:/*#__PURE__*/_jsx(\"path\",{d:\"M27.9539 35.2759C30.9672 39.0728 33.6934 43.543 34.2343 44.6909C34.3005 44.8344 34.1901 45 34.0356 45L21.8171 45C21.7398 45 21.6736 44.9669 21.6405 44.9117C21.1879 44.2274 19.8303 41.3907 14.6537 35.6954C10.5919 31.2252 4.98485 26.181 0.19456 22.8477H0.183528H0.17248C-0.0593079 22.6711 -0.0592972 22.3179 0.183528 22.1523C4.98485 18.819 10.5809 13.7859 14.6537 9.30464C19.8303 3.60927 21.1879 0.772629 21.6405 0.0883022C21.6736 0.0331146 21.7398 0 21.8171 0L34.0356 0C34.1901 0 34.3005 0.15453 34.2343 0.298018C33.7045 1.43488 31.2873 5.48565 27.9539 9.72406C23.1968 15.7726 17.1372 20.894 15.5588 22.1854C15.3601 22.351 15.3601 22.649 15.5588 22.8256C17.1372 24.128 23.1968 29.2936 27.9539 35.287V35.2759Z\",fill:strokeColor})}),/*#__PURE__*/_jsx(\"g\",{id:`arrow-narrow-${maskId}`,children:/*#__PURE__*/_jsx(\"path\",{d:\"M14.6894 18.5371C16.2729 20.5323 17.7055 22.8813 17.9897 23.4845C18.0245 23.5599 17.9665 23.6469 17.8853 23.6469H11.4646C11.424 23.6469 11.3892 23.6295 11.3718 23.6005C11.134 23.2409 10.4206 21.7503 7.70035 18.7575C5.56592 16.4084 2.61947 13.7578 0.102238 12.0062H0.0964414H0.0906356C-0.0311661 11.9134 -0.0311604 11.7278 0.0964414 11.6408C2.61948 9.88914 5.56012 7.24431 7.70035 4.88947C10.4206 1.89663 11.134 0.406007 11.3718 0.0464017C11.3892 0.0174013 11.424 0 11.4646 0L17.8853 0C17.9665 0 18.0245 0.0812037 17.9897 0.156605C17.7113 0.754013 16.4411 2.88264 14.6894 5.10987C12.1896 8.28832 9.00538 10.9796 8.17596 11.6582C8.07156 11.7452 8.07156 11.9018 8.17596 11.9946C9.00538 12.679 12.1896 15.3934 14.6894 18.5429L14.6894 18.5371Z\",fill:strokeColor})})]}),/*#__PURE__*/_jsx(\"path\",{ref:pathRef,d:pathData,stroke:\"none\",fill:\"none\",style:{pointerEvents:\"none\",visibility:\"hidden\"}}),/*#__PURE__*/_jsx(\"path\",{d:pathData,stroke:strokeColor,strokeWidth:strokeWidth,fill:\"none\",strokeDasharray:dashArray,mask:`url(#${maskId})`}),startDistance>0&&/*#__PURE__*/_jsx(\"path\",{d:pathData,stroke:`url(#gradient-${maskId})`,strokeWidth:strokeWidth,fill:\"none\",strokeDasharray:`${startDistance} ${1e4}`,mask:`url(#${maskId})`}),/*#__PURE__*/_jsx(\"g\",{transform:arrowTransform,style:{opacity:showArrow?1:0},children:/*#__PURE__*/_jsx(\"use\",{href:strokeStyle===\"thick\"?`#arrow-thick-${maskId}`:`#arrow-narrow-${maskId}`})})]});}AnimatedPath.displayName=\"🚀 Animated Arrow\";AnimatedPath.defaultProps={pathData:\"M 145.5 0 L 145.5 402.5 C 145.5 430.114 123.114 452.5 95.4998 452.5 L 0.5 452.5\",numberOfDashes:5,strokeColor:\"#003047\",strokeStyle:\"thick\",startDistance:0,backgroundColorForGradient:\"#FFFFFF\",animation:{loop:false,loopType:\"repeat\",transition:{type:\"tween\",ease:[.44,0,.56,1],duration:3,delay:0}}};addPropertyControls(AnimatedPath,{pathData:{title:\"SVG Path\",type:ControlType.String,defaultValue:AnimatedPath.defaultProps.pathData,displayTextArea:true},strokeStyle:{title:\"Style\",type:ControlType.Enum,options:[\"thick\",\"narrow\"],optionTitles:[\"Thick\",\"Narrow\"],defaultValue:\"thick\",displaySegmentedControl:true},strokeColor:{title:\"Color\",type:ControlType.Color,defaultValue:\"#003047\"},numberOfDashes:{title:\"Dashes\",type:ControlType.Number,defaultValue:5,min:1,max:15,step:1,displayStepper:true,description:\"The distance between dashes will automatically increase\"},startDistance:{title:\"Start Distance\",type:ControlType.Number,defaultValue:0,min:0,max:2e3,step:10,displayStepper:true,description:\"Distance in pixels before dashes begin (creates solid line first)\"},backgroundColorForGradient:{title:\"Gradient Start Color\",type:ControlType.Color,defaultValue:\"#FFFFFF\",description:\"Color at the beginning of the gradient (usually match your page background)\",hidden:props=>props.startDistance===0},animation:{type:ControlType.Object,title:\"Animation\",icon:\"effect\",controls:{loop:{type:ControlType.Boolean,title:\"Loop\",defaultValue:false,enabledTitle:\"Yes\",disabledTitle:\"No\"},loopType:{type:ControlType.Enum,title:\"Type\",options:[\"repeat\",\"mirror\"],optionTitles:[\"Repeat\",\"Mirror\"],displaySegmentedControl:true,defaultValue:\"repeat\",hidden:props=>!props.loop},transition:{type:ControlType.Transition,title:\"Transition\",defaultValue:{type:\"tween\",ease:[.44,0,.56,1],duration:3,delay:0}}}}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"AnimatedPath\",\"slots\":[],\"annotations\":{\"framerDisableUnlink\":\"* @framerIntrinsicWidth 200\",\"framerIntrinsicHeight\":\"500\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./AnimatedArrowSVG.map"],"mappings":"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"}