{"version":3,"file":"Line_Draw_SVG.htGk9Jes.mjs","names":["useRef","useMemo","useCallback"],"sources":["https:/framerusercontent.com/modules/VTbnfgbFSna4agItpfMu/VEcBHWZvyI5UlaRUxyTf/Line_Draw_SVG.js"],"sourcesContent":["// User request: add appear-mode animation controls (appearDuration and appearEasing) while preserving existing section-scroll functionality and all current controls/behavior.\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{useCallback,useEffect,useMemo,useRef}from\"react\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";import{useMotionValue,useMotionValueEvent,useSpring}from\"framer-motion\";/**\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n */export default function LineDrawSVG(props){const{svgMarkup,overrideStrokeColor,strokeWidthMultiplier,smoothness,reverseOnScroll,animationTrigger,appearDuration,appearEasing,scaleMode,scrollSectionId,scrollSectionDuration,placeholderText,placeholderTextColor,placeholderFont,style}=props;const isStaticRenderer=useIsStaticRenderer();const hostRef=useRef(null);const drawableRef=useRef([]);const maxProgressRef=useRef(0);const hasAppearedRef=useRef(false);const rawProgress=useMotionValue(0);const springConfig=useMemo(()=>{const clamped=Math.max(0,Math.min(100,smoothness));return{stiffness:700-clamped*5.5,damping:20+clamped*.35,mass:.6+clamped*.005};},[smoothness]);const smoothProgress=useSpring(rawProgress,springConfig);const easingFunction=useCallback(t=>{const clamped=Math.max(0,Math.min(1,t));if(appearEasing===\"linear\")return clamped;if(appearEasing===\"easeIn\")return clamped*clamped*clamped;if(appearEasing===\"easeOut\")return 1-Math.pow(1-clamped,3);if(appearEasing===\"easeInOut\"){return clamped<.5?4*clamped*clamped*clamped:1-Math.pow(-2*clamped+2,3)/2;}const springy=1-Math.exp(-6*clamped)*Math.cos(10*clamped);return Math.max(0,Math.min(1,springy));},[appearEasing]);const applyProgress=useCallback(value=>{const progress=Math.max(0,Math.min(1,value));for(const item of drawableRef.current){if(item.mode===\"nativeStroke\"&&item.length>0){item.element.style.strokeDashoffset=`${item.length*(1-progress)}`;item.element.style.opacity=\"1\";}else if(item.mode===\"syntheticFillStroke\"&&item.length>0){const drawPhase=Math.min(progress/.8,1);const fillPhase=progress<=.8?0:(progress-.8)/.2;const clampedFillPhase=Math.max(0,Math.min(1,fillPhase));item.element.style.strokeDashoffset=`${item.length*(1-drawPhase)}`;item.element.style.fillOpacity=`${clampedFillPhase}`;item.element.style.strokeOpacity=`${1-clampedFillPhase}`;item.element.style.opacity=\"1\";}else{item.element.style.opacity=`${progress}`;}}},[]);const setupSvgElements=useCallback(()=>{if(typeof window===\"undefined\"||typeof document===\"undefined\")return;if(!hostRef.current)return;const svg=hostRef.current.querySelector(\"svg\");drawableRef.current=[];maxProgressRef.current=0;if(!svg)return;svg.setAttribute(\"width\",\"100%\");svg.setAttribute(\"height\",\"100%\");svg.setAttribute(\"preserveAspectRatio\",scaleMode===\"fill\"?\"none\":\"xMidYMid meet\");const drawableNodes=svg.querySelectorAll(\"path, line, polyline, polygon, circle, ellipse, rect\");drawableNodes.forEach(node=>{const element=node;const geometry=node;const strokeAttr=element.getAttribute(\"stroke\");const inlineStyleStroke=element.style.stroke;const hasExplicitStroke=strokeAttr!==null&&strokeAttr!==\"\"||inlineStyleStroke!==undefined&&inlineStyleStroke!==\"\";const computedStyle=window.getComputedStyle(element);const computedStroke=computedStyle.stroke;const computedStrokeWidth=Number.parseFloat(computedStyle.strokeWidth);const computedFill=computedStyle.fill;const attrStrokeWidth=element.getAttribute(\"stroke-width\");const attrWidthValue=attrStrokeWidth!==null?Number.parseFloat(attrStrokeWidth):NaN;const baseStrokeWidth=Number.isFinite(attrWidthValue)&&attrWidthValue>0?attrWidthValue:Number.isFinite(computedStrokeWidth)&&computedStrokeWidth>0?computedStrokeWidth:3;let length=0;if(typeof geometry.getTotalLength===\"function\"){try{length=geometry.getTotalLength();}catch{length=0;}}const isStrokeDrawable=length>0&&computedStroke!==\"none\"&&computedStrokeWidth>0&&Number.isFinite(computedStrokeWidth);const canCreateSyntheticStroke=length>0&&!isStrokeDrawable;const fillUsable=computedFill!==\"none\"&&computedFill!==\"transparent\"&&computedFill!==\"rgba(0, 0, 0, 0)\";if(isStrokeDrawable){if(overrideStrokeColor&&!hasExplicitStroke){element.style.stroke=overrideStrokeColor;}element.style.strokeWidth=`${baseStrokeWidth*strokeWidthMultiplier}`;element.style.strokeDasharray=`${length}`;element.style.strokeDashoffset=`${length}`;element.style.willChange=\"stroke-dashoffset\";element.style.opacity=\"1\";drawableRef.current.push({element,length,mode:\"nativeStroke\"});}else if(canCreateSyntheticStroke&&fillUsable){const syntheticStrokeColor=overrideStrokeColor||computedFill;element.style.fill=computedFill;element.style.fillOpacity=\"0\";element.style.stroke=syntheticStrokeColor;element.style.strokeWidth=`${baseStrokeWidth*strokeWidthMultiplier}`;element.style.strokeLinecap=\"round\";element.style.strokeLinejoin=\"round\";element.style.strokeOpacity=\"1\";element.style.strokeDasharray=`${length}`;element.style.strokeDashoffset=`${length}`;element.style.willChange=\"stroke-dashoffset, fill-opacity, stroke-opacity\";element.style.opacity=\"1\";drawableRef.current.push({element,length,mode:\"syntheticFillStroke\",fillColor:computedFill});}else{element.style.opacity=\"0\";element.style.willChange=\"opacity\";drawableRef.current.push({element,length,mode:\"fallbackOpacity\"});}});applyProgress(isStaticRenderer?1:0);},[applyProgress,isStaticRenderer,overrideStrokeColor,scaleMode,strokeWidthMultiplier]);useEffect(()=>{setupSvgElements();},[setupSvgElements,svgMarkup]);useEffect(()=>{if(typeof window===\"undefined\"||typeof document===\"undefined\")return;if(!hostRef.current)return;if(isStaticRenderer)return;const host=hostRef.current;if(animationTrigger===\"appear\"){rawProgress.set(hasAppearedRef.current?1:0);let appearRafId=0;let animationStart=0;const safeAppearDurationMs=Math.max(100,Math.min(1e4,appearDuration*1e3));const animateAppearProgress=timestamp=>{if(!animationStart){animationStart=timestamp;}const elapsed=timestamp-animationStart;const linearT=Math.max(0,Math.min(1,elapsed/safeAppearDurationMs));rawProgress.set(easingFunction(linearT));if(linearT<1){appearRafId=window.requestAnimationFrame(animateAppearProgress);}else{rawProgress.set(1);}};const observer=new window.IntersectionObserver(entries=>{const entry=entries[0];if(!entry||hasAppearedRef.current)return;if(!entry.isIntersecting)return;hasAppearedRef.current=true;animationStart=0;if(appearRafId){window.cancelAnimationFrame(appearRafId);}appearRafId=window.requestAnimationFrame(animateAppearProgress);observer.disconnect();},{root:null,threshold:0});observer.observe(host);return()=>{observer.disconnect();if(appearRafId){window.cancelAnimationFrame(appearRafId);}};}const getScrollTarget=()=>{const cleanId=scrollSectionId.trim();if(cleanId.length>0){const target=document.getElementById(cleanId);if(target)return target;}return host;};let rafId=0;let pending=false;let isActive=false;const computeProgress=()=>{pending=false;if(!host)return;const target=getScrollTarget();const rect=target.getBoundingClientRect();const viewportHeight=window.innerHeight||document.documentElement.clientHeight||1;const denominator=Math.max(1,viewportHeight+Math.max(1,rect.height));const baseProgress=(viewportHeight-rect.top)/denominator;const safeDuration=Math.max(.01,Math.min(1,scrollSectionDuration));const mappedProgress=baseProgress/safeDuration;const clampedProgress=Math.max(0,Math.min(1,mappedProgress));rawProgress.set(clampedProgress);};const scheduleCompute=()=>{if(!isActive||pending)return;pending=true;rafId=window.requestAnimationFrame(computeProgress);};const onScrollOrResize=()=>{scheduleCompute();};const observer=new window.IntersectionObserver(entries=>{const entry=entries[0];if(!entry)return;isActive=entry.isIntersecting;if(isActive){scheduleCompute();}},{root:null,rootMargin:\"20% 0px 20% 0px\",threshold:0});observer.observe(getScrollTarget());window.addEventListener(\"scroll\",onScrollOrResize,{passive:true});window.addEventListener(\"resize\",onScrollOrResize);isActive=true;scheduleCompute();return()=>{isActive=false;window.removeEventListener(\"scroll\",onScrollOrResize);window.removeEventListener(\"resize\",onScrollOrResize);observer.disconnect();if(rafId){window.cancelAnimationFrame(rafId);}};},[animationTrigger,appearDuration,appearEasing,easingFunction,isStaticRenderer,rawProgress,scrollSectionDuration,scrollSectionId,svgMarkup]);useMotionValueEvent(smoothProgress,\"change\",latest=>{if(isStaticRenderer)return;const current=Math.max(0,Math.min(1,latest));const effectiveProgress=reverseOnScroll?current:Math.max(maxProgressRef.current,current);if(!reverseOnScroll){maxProgressRef.current=effectiveProgress;}applyProgress(effectiveProgress);});const hasSvg=useMemo(()=>svgMarkup.trim().length>0,[svgMarkup]);if(!hasSvg){return /*#__PURE__*/_jsx(\"div\",{style:{...style,position:\"relative\",width:\"100%\",height:\"100%\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",background:\"transparent\",color:placeholderTextColor,fontFamily:placeholderFont.fontFamily,fontSize:placeholderFont.fontSize,fontWeight:placeholderFont.fontWeight,fontStyle:placeholderFont.fontStyle,lineHeight:placeholderFont.lineHeight,letterSpacing:placeholderFont.letterSpacing,textAlign:placeholderFont.textAlign,overflow:\"hidden\"},children:/*#__PURE__*/_jsx(\"span\",{style:{width:\"max-content\",maxWidth:\"100%\"},children:placeholderText})});}return /*#__PURE__*/_jsx(\"div\",{ref:hostRef,style:{...style,position:\"relative\",width:\"100%\",height:\"100%\",overflow:\"hidden\"},\"aria-label\":\"Scroll reactive line drawing SVG\",children:/*#__PURE__*/_jsx(\"div\",{style:{position:\"relative\",width:\"100%\",height:\"100%\"},dangerouslySetInnerHTML:{__html:svgMarkup}})});}addPropertyControls(LineDrawSVG,{svgMarkup:{type:ControlType.String,title:\"SVG Markup\",displayTextArea:true,defaultValue:\"\",placeholder:\"<svg viewBox='0 0 100 100'>...</svg>\"},overrideStrokeColor:{type:ControlType.Color,title:\"Override Stroke\",optional:true,defaultValue:\"#000000\"},strokeWidthMultiplier:{type:ControlType.Number,title:\"Stroke Width \\xd7\",defaultValue:1,min:.1,max:12,step:.1},smoothness:{type:ControlType.Number,title:\"Smoothness\",defaultValue:50,min:0,max:100,step:1},reverseOnScroll:{type:ControlType.Boolean,title:\"Reverse\",defaultValue:true,enabledTitle:\"Yes\",disabledTitle:\"No\"},animationTrigger:{type:ControlType.Enum,title:\"Animation Trigger\",options:[\"section\",\"appear\"],optionTitles:[\"Section Scroll\",\"On Appear\"],defaultValue:\"section\",displaySegmentedControl:true},appearDuration:{type:ControlType.Number,title:\"Appear Duration\",min:.1,max:10,defaultValue:1.2,step:.1,hidden:props=>props.animationTrigger!==\"appear\"},appearEasing:{type:ControlType.Enum,title:\"Appear Easing\",options:[\"linear\",\"easeIn\",\"easeOut\",\"easeInOut\",\"spring\"],optionTitles:[\"Linear\",\"Ease In\",\"Ease Out\",\"Ease In Out\",\"Spring\"],defaultValue:\"easeOut\",hidden:props=>props.animationTrigger!==\"appear\"},scaleMode:{type:ControlType.Enum,title:\"Scale Mode\",options:[\"contain\",\"fill\"],optionTitles:[\"Contain\",\"Fill\"],defaultValue:\"contain\",displaySegmentedControl:true},scrollSectionId:{type:ControlType.String,title:\"Section ID\",defaultValue:\"\",placeholder:\"about-section\",hidden:props=>props.animationTrigger!==\"section\"},scrollSectionDuration:{type:ControlType.Number,title:\"Section Duration\",min:.01,max:1,defaultValue:1,step:.01,displayStepper:false,hidden:props=>props.animationTrigger!==\"section\"},placeholderText:{type:ControlType.String,title:\"Placeholder\",defaultValue:\"Paste SVG markup to animate line drawing on scroll.\"},placeholderTextColor:{type:ControlType.Color,title:\"Placeholder Color\",defaultValue:\"#000000\"},placeholderFont:{type:ControlType.Font,title:\"Placeholder Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:\"15px\",variant:\"Medium\",letterSpacing:\"-0.01em\",lineHeight:\"1.3em\"}}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"LineDrawSVG\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Line_Draw_SVG.map"],"mappings":"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"}