{"version":3,"file":"LineDrawAnimation.DIOdFSMT.mjs","names":["useState"],"sources":["https:/framerusercontent.com/modules/vaDnIN2SlRXp9YJtoWao/zI5E5C3SE3S47W20aZWp/LineDrawAnimation.js"],"sourcesContent":["// Loop animation of a line drawing from top to bottom, then disappearing and repeating\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{useEffect,useState,startTransition}from\"react\";import{motion}from\"framer-motion\";import{addPropertyControls,ControlType}from\"framer\";/**\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */export default function LineDrawAnimation(props){const{startX=50,startY=10,endX=50,endY=90,lineColor=\"#FFFFFF\",lineWidth=2,duration=2,pauseDuration=.5}=props;const[key,setKey]=useState(0);const[isAnimating,setIsAnimating]=useState(true);// Calculate line length for dasharray\nconst lineLength=Math.sqrt(Math.pow(endX-startX,2)+Math.pow(endY-startY,2));useEffect(()=>{setIsAnimating(true);const animationTimeout=setTimeout(()=>{startTransition(()=>{setIsAnimating(false);});},duration*1e3);const totalDuration=(duration+pauseDuration)*1e3;const interval=setInterval(()=>{startTransition(()=>{setKey(prev=>prev+1);setIsAnimating(true);});},totalDuration);return()=>{clearInterval(interval);clearTimeout(animationTimeout);};},[duration,pauseDuration]);return /*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",height:\"100%\",position:\"relative\",overflow:\"hidden\"},children:/*#__PURE__*/_jsx(\"svg\",{width:\"100%\",height:\"100%\",style:{position:\"absolute\",top:0,left:0},children:isAnimating&&/*#__PURE__*/_jsx(motion.line,{x1:`${startX}%`,y1:`${startY}%`,x2:`${endX}%`,y2:`${endY}%`,stroke:lineColor,strokeWidth:lineWidth,strokeLinecap:\"round\",strokeDasharray:lineLength,initial:{strokeDashoffset:lineLength},animate:{strokeDashoffset:[lineLength,0,0,-lineLength]},transition:{strokeDashoffset:{duration:duration,times:[0,.4,.6,1],ease:\"easeInOut\"}}},key)})});}addPropertyControls(LineDrawAnimation,{startX:{type:ControlType.Number,title:\"Start X\",defaultValue:50,min:0,max:100,unit:\"%\",step:1},startY:{type:ControlType.Number,title:\"Start Y\",defaultValue:10,min:0,max:100,unit:\"%\",step:1},endX:{type:ControlType.Number,title:\"End X\",defaultValue:50,min:0,max:100,unit:\"%\",step:1},endY:{type:ControlType.Number,title:\"End Y\",defaultValue:90,min:0,max:100,unit:\"%\",step:1},lineColor:{type:ControlType.Color,title:\"Line Color\",defaultValue:\"#FFFFFF\"},lineWidth:{type:ControlType.Number,title:\"Line Width\",defaultValue:2,min:1,max:20,step:1,unit:\"px\"},duration:{type:ControlType.Number,title:\"Draw Duration\",defaultValue:2,min:.5,max:10,step:.1,unit:\"s\"},pauseDuration:{type:ControlType.Number,title:\"Pause Duration\",defaultValue:.5,min:0,max:5,step:.1,unit:\"s\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"LineDrawAnimation\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerSupportedLayoutHeight\":\"fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./LineDrawAnimation.map"],"mappings":"oOAIG,SAAwB,EAAkB,EAAM,CAAC,GAAK,CAAC,SAAO,GAAG,SAAO,GAAG,OAAK,GAAG,OAAK,GAAG,YAAU,UAAU,YAAU,EAAE,WAAS,EAAE,gBAAc,IAAI,EAAW,CAAC,EAAI,GAAQA,EAAS,EAAE,CAAM,CAAC,EAAY,GAAgBA,EAAS,GAAK,CACzO,EAAW,KAAK,MAAc,EAAK,IAAO,GAAY,EAAK,IAAO,EAAG,CAA8Y,OAA7Y,MAAc,CAAC,EAAe,GAAK,CAAC,IAAM,EAAiB,eAAe,CAAC,MAAoB,CAAC,EAAe,GAAM,EAAG,EAAG,EAAS,IAAI,CAAO,GAAe,EAAS,GAAe,IAAU,EAAS,gBAAgB,CAAC,MAAoB,CAAC,EAAO,GAAM,EAAK,EAAE,CAAC,EAAe,GAAK,EAAG,EAAG,EAAc,CAAC,UAAU,CAAC,cAAc,EAAS,CAAC,aAAa,EAAiB,GAAK,CAAC,EAAS,EAAc,CAAC,CAAqB,EAAK,MAAM,CAAC,MAAM,CAAC,MAAM,OAAO,OAAO,OAAO,SAAS,WAAW,SAAS,SAAS,CAAC,SAAsB,EAAK,MAAM,CAAC,MAAM,OAAO,OAAO,OAAO,MAAM,CAAC,SAAS,WAAW,IAAI,EAAE,KAAK,EAAE,CAAC,SAAS,GAA0B,EAAK,EAAO,KAAK,CAAC,GAAG,GAAG,EAAO,GAAG,GAAG,GAAG,EAAO,GAAG,GAAG,GAAG,EAAK,GAAG,GAAG,GAAG,EAAK,GAAG,OAAO,EAAU,YAAY,EAAU,cAAc,QAAQ,gBAAgB,EAAW,QAAQ,CAAC,iBAAiB,EAAW,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAW,EAAE,EAAE,CAAC,EAAW,CAAC,CAAC,WAAW,CAAC,iBAAiB,CAAU,WAAS,MAAM,CAAC,EAAE,GAAG,GAAG,EAAE,CAAC,KAAK,YAAY,CAAC,CAAC,CAAC,EAAI,CAAC,CAAC,CAAC,CAAC,kBAJlgC,IAAsD,IAAkC,IAAoD,CAIw3B,EAAoB,EAAkB,CAAC,OAAO,CAAC,KAAK,EAAY,OAAO,MAAM,UAAU,aAAa,GAAG,IAAI,EAAE,IAAI,IAAI,KAAK,IAAI,KAAK,EAAE,CAAC,OAAO,CAAC,KAAK,EAAY,OAAO,MAAM,UAAU,aAAa,GAAG,IAAI,EAAE,IAAI,IAAI,KAAK,IAAI,KAAK,EAAE,CAAC,KAAK,CAAC,KAAK,EAAY,OAAO,MAAM,QAAQ,aAAa,GAAG,IAAI,EAAE,IAAI,IAAI,KAAK,IAAI,KAAK,EAAE,CAAC,KAAK,CAAC,KAAK,EAAY,OAAO,MAAM,QAAQ,aAAa,GAAG,IAAI,EAAE,IAAI,IAAI,KAAK,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,KAAK,EAAY,MAAM,MAAM,aAAa,aAAa,UAAU,CAAC,UAAU,CAAC,KAAK,EAAY,OAAO,MAAM,aAAa,aAAa,EAAE,IAAI,EAAE,IAAI,GAAG,KAAK,EAAE,KAAK,KAAK,CAAC,SAAS,CAAC,KAAK,EAAY,OAAO,MAAM,gBAAgB,aAAa,EAAE,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,KAAK,IAAI,CAAC,cAAc,CAAC,KAAK,EAAY,OAAO,MAAM,iBAAiB,aAAa,GAAG,IAAI,EAAE,IAAI,EAAE,KAAK,GAAG,KAAK,IAAI,CAAC,CAAC"}