{"version":3,"file":"UnderlineText.BafOB0tb.mjs","names":["useState","useRef"],"sources":["https:/framerusercontent.com/modules/KVmEp5HpyWGfWCW83QYQ/T5q6EtSg4e3s42ezVmhk/UnderlineText.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useEffect,useRef,useState}from\"react\";import{addPropertyControls,ControlType}from\"framer\";// Generate dynamic handdrawn path based on width\nfunction generateHanddrawnPath(width,thickness=3,withComeBack=false,withArc=false,seed=1){const pathData=[];// Use seeded random for consistent paths\nconst seededRandom=index=>{const x=Math.sin(seed*9999+index*1337)*1e4;return x-Math.floor(x);};if(withArc){// Create one BIG confident arc across the entire width\nconst startY=thickness*1.8// Start lower\n;const midY=thickness*.4// Peak higher\n;const endY=thickness*1.1// End in middle\n;// Starting point\nconst startOffsetX=(seededRandom(0)-.5)*thickness*.1;const startOffsetY=(seededRandom(1)-.5)*thickness*.1;pathData.push(`M${0+startOffsetX} ${startY+startOffsetY}`);// One smooth curve across the entire width\nconst cp1X=width*.25+(seededRandom(2)-.5)*width*.02;const cp1Y=midY+(seededRandom(3)-.5)*thickness*.1;const cp2X=width*.75+(seededRandom(4)-.5)*width*.02;const cp2Y=midY+(seededRandom(5)-.5)*thickness*.1;const endX=width+(seededRandom(6)-.5)*thickness*.1;const finalEndY=endY+(seededRandom(7)-.5)*thickness*.1;pathData.push(`C ${cp1X},${cp1Y} ${cp2X},${cp2Y} ${endX},${finalEndY}`);}else{// Original segmented approach for flat style\nconst segments=Math.max(3,Math.floor(width/80));// Starting point with slight offset\nconst startY=thickness;const startOffsetX=(seededRandom(0)-.5)*thickness*.1;const startOffsetY=(seededRandom(1)-.5)*thickness*.05;pathData.push(`M${0+startOffsetX} ${startY+startOffsetY}`);// Generate curved segments (left to right)\nfor(let i=1;i<=segments;i++){const x=width*i/segments;const prevX=width*(i-1)/segments;// Original flat variation\nconst yVariation=Math.sin(i*.5)*(thickness*.15)+(seededRandom(i*2)-.5)*(thickness*.1)-thickness*.05;const y=thickness+yVariation;// Control points for smooth curves with subtle, confident variation\nconst cp1X=prevX+(x-prevX)*.3+(seededRandom(i*3)-.5)*3;const cp1Y=thickness+(seededRandom(i*3+1)-.5)*(thickness*.2);const cp2X=prevX+(x-prevX)*.7+(seededRandom(i*3+2)-.5)*3;const cp2Y=thickness+(seededRandom(i*3+3)-.5)*(thickness*.2);pathData.push(`C ${cp1X},${cp1Y} ${cp2X},${cp2Y} ${x},${y}`);}}// Add the \"come-back\" stroke if enabled\nif(withComeBack){const currentEndY=withArc?thickness*1.1:thickness+(seededRandom(100)-.5)*(thickness*.2);// Come back just a tiny amount (1-3% of width) - very subtle\nconst comeBackDistance=width*(.01+seededRandom(101)*.02);const comeBackX=width-comeBackDistance;// Very subtle drop down - just enough to be visible\nconst dropAmount=thickness*.3+seededRandom(102)*thickness*.2;const comeBackY=thickness+dropAmount;// Control points for the return stroke - create a subtle downward arc\nconst cp1X=width-comeBackDistance*.2;const cp1Y=currentEndY+dropAmount*.3+(seededRandom(103)-.5)*(thickness*.1);const cp2X=width-comeBackDistance*.6+(seededRandom(104)-.5)*2;const cp2Y=comeBackY-dropAmount*.2+(seededRandom(105)-.5)*(thickness*.08);pathData.push(`C ${cp1X},${cp1Y} ${cp2X},${cp2Y} ${comeBackX},${comeBackY}`);}return pathData.join(\" \");}// Main Underline Text Component\nexport default function UnderlineText(props){const{text,textColor,underlineColor,underlineThickness,fontSize,fontWeight,fontFamily,letterSpacing,lineHeight,width,height,animationDuration,animationDelay,handdrawnStyle,comeBackStroke,artisticArc,verticalOffset,layerPosition}=props;const[isVisible,setIsVisible]=useState(false);const[isAnimated,setIsAnimated]=useState(false);const[textWidth,setTextWidth]=useState(0);const[svgPath,setSvgPath]=useState(\"\");const elementRef=useRef(null);const[pathSeed]=useState(()=>Math.random()*1e4)// Generate once for stable paths\n;const textRef=useRef(null);// Measure text width and generate path\nuseEffect(()=>{if(textRef.current&&handdrawnStyle){document.fonts.ready.then(()=>{if(textRef.current){const measuredWidth=textRef.current.offsetWidth;setTextWidth(measuredWidth);setSvgPath(generateHanddrawnPath(measuredWidth,underlineThickness,comeBackStroke,artisticArc,pathSeed));}});}},[text,fontSize,fontFamily,fontWeight,letterSpacing,underlineThickness,handdrawnStyle,comeBackStroke,artisticArc,pathSeed]);// Intersection Observer for scroll-triggered animation\nuseEffect(()=>{const observer=new IntersectionObserver(([entry])=>{if(entry.isIntersecting&&!isAnimated){setTimeout(()=>{setIsVisible(true);setIsAnimated(true);},animationDelay*1e3);}},{threshold:.1,rootMargin:\"-50px 0px\"});if(elementRef.current){observer.observe(elementRef.current);}return()=>observer.disconnect();},[animationDelay,isAnimated]);const containerStyle={width:width||\"auto\",height:height||\"auto\",display:\"flex\",alignItems:\"flex-start\",justifyContent:\"flex-start\",position:\"relative\"};const textStyle={color:textColor,fontSize:fontSize,fontWeight:fontWeight,fontFamily:fontFamily,letterSpacing:letterSpacing,lineHeight:lineHeight,margin:0,padding:0,display:\"inline-block\",position:\"relative\",flexShrink:0};// Regular CSS underline style\nconst underlineStyle={content:'\"\"',position:\"absolute\",left:0,bottom:\"-2px\",width:\"100%\",height:`${underlineThickness}px`,background:underlineColor,borderRadius:`${underlineThickness/2}px`,transform:isVisible?\"scaleX(1)\":\"scaleX(0)\",transformOrigin:\"left\",transition:`transform ${animationDuration}s cubic-bezier(0.4, 0, 0.2, 1)`,boxShadow:\"0 1px 2px rgba(0,0,0,0.1)\",display:handdrawnStyle?\"none\":\"block\"};// SVG underline style\nconst svgStyle={position:\"absolute\",left:0,bottom:`${-underlineThickness-2-verticalOffset}px`,width:textWidth,height:underlineThickness*(comeBackStroke?4:3),overflow:\"visible\",display:handdrawnStyle?\"block\":\"none\"};const pathLength=textWidth*(comeBackStroke?1.4:1.2)// Longer path for come-back stroke\n;return /*#__PURE__*/_jsxs(\"div\",{ref:elementRef,style:containerStyle,children:[layerPosition===\"behind\"&&handdrawnStyle&&textWidth>0&&/*#__PURE__*/_jsx(\"svg\",{style:svgStyle,children:/*#__PURE__*/_jsx(\"path\",{d:svgPath,fill:\"none\",stroke:underlineColor,strokeWidth:underlineThickness,strokeLinecap:\"round\",strokeLinejoin:\"round\",vectorEffect:\"non-scaling-stroke\",strokeDasharray:pathLength,strokeDashoffset:isVisible?0:pathLength,style:{transition:`stroke-dashoffset ${animationDuration}s cubic-bezier(0.4, 0, 0.2, 1)`,filter:\"drop-shadow(0 1px 1px rgba(0,0,0,0.1))\"}})}),/*#__PURE__*/_jsxs(\"span\",{ref:textRef,style:textStyle,children:[text,/*#__PURE__*/_jsx(\"span\",{style:underlineStyle})]}),layerPosition===\"front\"&&handdrawnStyle&&textWidth>0&&/*#__PURE__*/_jsx(\"svg\",{style:{...svgStyle,zIndex:10},children:/*#__PURE__*/_jsx(\"path\",{d:svgPath,fill:\"none\",stroke:underlineColor,strokeWidth:underlineThickness,strokeLinecap:\"round\",strokeLinejoin:\"round\",vectorEffect:\"non-scaling-stroke\",strokeDasharray:pathLength,strokeDashoffset:isVisible?0:pathLength,style:{transition:`stroke-dashoffset ${animationDuration}s cubic-bezier(0.4, 0, 0.2, 1)`,filter:\"drop-shadow(0 1px 1px rgba(0,0,0,0.1))\"}})})]});}// Framer Property Controls\naddPropertyControls(UnderlineText,{text:{type:ControlType.String,title:\"Text\",defaultValue:\"Underlined Text\",placeholder:\"Enter your text...\"},textColor:{type:ControlType.Color,title:\"Text Color\",defaultValue:\"#000000\"},underlineColor:{type:ControlType.Color,title:\"Underline Color\",defaultValue:\"#3b82f6\"},underlineThickness:{type:ControlType.Number,title:\"Underline Thickness\",defaultValue:3,min:1,max:10,step:1,unit:\"px\",displayStepper:true},handdrawnStyle:{type:ControlType.Boolean,title:\"Handdrawn Style\",defaultValue:false,enabledTitle:\"Handdrawn\",disabledTitle:\"Clean\"},comeBackStroke:{type:ControlType.Boolean,title:\"Come-Back Stroke\",defaultValue:false,enabledTitle:\"With Come-Back\",disabledTitle:\"Single Pass\",hidden:props=>!props.handdrawnStyle},artisticArc:{type:ControlType.Boolean,title:\"Artistic Arc\",defaultValue:false,enabledTitle:\"Arc Style\",disabledTitle:\"Flat Style\",hidden:props=>!props.handdrawnStyle},verticalOffset:{type:ControlType.Number,title:\"Vertical Offset\",defaultValue:0,min:-20,max:50,step:1,unit:\"px\",displayStepper:true,description:\"Move underline up (-) or down (+)\"},layerPosition:{type:ControlType.Enum,title:\"Layer Position\",options:[\"behind\",\"front\"],optionTitles:[\"Behind Text\",\"In Front of Text\"],defaultValue:\"behind\"},fontSize:{type:ControlType.Number,title:\"Font Size\",defaultValue:24,min:8,max:200,step:1,unit:\"px\",displayStepper:true},fontWeight:{type:ControlType.Enum,title:\"Font Weight\",options:[\"100\",\"200\",\"300\",\"400\",\"500\",\"600\",\"700\",\"800\",\"900\"],optionTitles:[\"Thin\",\"Extra Light\",\"Light\",\"Regular\",\"Medium\",\"Semi Bold\",\"Bold\",\"Extra Bold\",\"Black\"],defaultValue:\"400\"},fontFamily:{type:ControlType.String,title:\"Font Family\",defaultValue:\"Inter, system-ui, sans-serif\",placeholder:\"Font family...\"},letterSpacing:{type:ControlType.Number,title:\"Letter Spacing\",defaultValue:0,min:-2,max:10,step:.1,unit:\"px\"},lineHeight:{type:ControlType.Number,title:\"Line Height\",defaultValue:1.2,min:.8,max:3,step:.1},animationDuration:{type:ControlType.Number,title:\"Animation Duration\",defaultValue:.8,min:.1,max:3,step:.1,unit:\"s\"},animationDelay:{type:ControlType.Number,title:\"Animation Delay\",defaultValue:0,min:0,max:5,step:.1,unit:\"s\"}});// Default Props\nUnderlineText.defaultProps={text:\"Underlined Text\",textColor:\"#000000\",underlineColor:\"#3b82f6\",underlineThickness:3,handdrawnStyle:false,comeBackStroke:false,artisticArc:false,verticalOffset:0,layerPosition:\"behind\",fontSize:24,fontWeight:\"400\",fontFamily:\"Inter, system-ui, sans-serif\",letterSpacing:0,lineHeight:1.2,width:\"auto\",height:\"auto\",animationDuration:.8,animationDelay:0};\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"UnderlineText\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./UnderlineText.map"],"mappings":"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"}