{"version":3,"file":"Highlight.D-GIctrZ.mjs","names":["useState","useRef","useCallback","__esmMin","init_npm_react_18_3_1","window","_e","ne","p","ce","de","init_ssg_sandbox_shims","init_framer_CaDWdxiz","addPropertyControls","ControlType","generateRoughPath","length","endX","startX","avgY","startY","endY","segments","pathData","seededRandom","x","seed","index","startOffsetX","roughness","startOffsetY","i","progress","targetX","roughnessX","roughnessY","y","getTextLineBoxes","element","svgElement","elementRects","svgRect","boxes","rect","RoughHighlight","props","isVisible","setIsVisible","isAnimated","setIsAnimated","lineBoxes","setLineBoxes","highlightPaths","setHighlightPaths","isResizing","setIsResizing","elementRef","textRef","pathSeed","svgRef","handleResize","updateHighlights","paths","highlightY","box","padding","text","fontSize","fontFamily","fontWeight","letterSpacing","lineHeight","resizeObserver","entry","entries","observer","animationDelay","containerStyle","width","height","textStyle","textColor","highlightColor","roundedCaps","animationDuration","init_Highlight","init_jsx_runtime"],"sources":["https:/framerusercontent.com/modules/WgnNHqRsIBlLSeJJUTL9/pmsjnf1JGjNW93rsWoY6/Highlight.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useEffect,useRef,useState,useCallback}from\"react\";import{addPropertyControls,ControlType}from\"framer\";// Generate rough/sketchy path with seeded randomness for consistency\nfunction generateRoughPath(startX,startY,endX,endY,roughness=1,seed=1){const length=Math.abs(endX-startX);// Keep paths mostly horizontal for highlights\nconst avgY=(startY+endY)/2;// Number of segments based on length\nconst segments=Math.max(2,Math.floor(length/40));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);};// Starting point with minimal vertical randomness\nconst startOffsetX=(seededRandom(0)-.5)*roughness*1;const startOffsetY=(seededRandom(1)-.5)*roughness*.5;pathData.push(`M${startX+startOffsetX} ${avgY+startOffsetY}`);// Generate rough segments - keep mostly horizontal\nfor(let i=1;i<=segments;i++){const progress=i/segments;const targetX=startX+(endX-startX)*progress;// Very minimal vertical variation to keep it looking like a highlight\nconst roughnessX=(seededRandom(i*2)-.5)*roughness*2;const roughnessY=(seededRandom(i*2+1)-.5)*roughness*.8;const x=targetX+roughnessX;const y=avgY+roughnessY;// Use lines for more consistent highlights\npathData.push(`L${x} ${y}`);}return pathData.join(\" \");}// Detect text lines and their bounding boxes (using rough-notation approach)\nfunction getTextLineBoxes(element,svgElement){if(!element||!svgElement)return[];// Get all client rects (one for each line) - this is exactly how rough-notation does it\nconst elementRects=element.getClientRects();const svgRect=svgElement.getBoundingClientRect();const boxes=[];for(let i=0;i<elementRects.length;i++){const rect=elementRects[i];// Convert to SVG coordinate space (like rough-notation's svgRect function)\nboxes.push({x:(rect.x||rect.left)-(svgRect.x||svgRect.left),y:(rect.y||rect.top)-(svgRect.y||svgRect.top),w:rect.width,h:rect.height});}return boxes;}// Main Highlight Component\nexport default function RoughHighlight(props){const{text,textColor,highlightColor,strokeWidth,roughness,fontSize,fontWeight,fontFamily,letterSpacing,lineHeight,width,height,animationDuration,animationDelay,padding,heightOffset,heightPadding,roundedCaps,textTransform,textAlign}=props;const[isVisible,setIsVisible]=useState(false);const[isAnimated,setIsAnimated]=useState(false);const[lineBoxes,setLineBoxes]=useState([]);const[highlightPaths,setHighlightPaths]=useState([]);const[isResizing,setIsResizing]=useState(false);const elementRef=useRef(null);const textRef=useRef(null);const[pathSeed]=useState(()=>Math.random()*1e4)// Generate once and keep stable\n;const svgRef=useRef(null);// Resize handler with debouncing (like rough-notation)\nconst handleResize=useCallback(()=>{if(!isResizing){setIsResizing(true);setTimeout(()=>{setIsResizing(false);if(textRef.current&&isAnimated){updateHighlights();}},400);}},[isResizing,isAnimated]);// Update highlights function\nconst updateHighlights=useCallback(()=>{if(textRef.current&&svgRef.current){const boxes=getTextLineBoxes(textRef.current,svgRef.current);setLineBoxes(boxes);// Generate paths for each line\nconst paths=boxes.map((box,index)=>{// Position highlight properly - more centered like rough-notation\nconst highlightY=box.y+box.h*.4// Higher up, like rough-notation positioning\n;const path1=generateRoughPath(box.x-padding,highlightY,box.x+box.w+padding,highlightY,roughness);const path2=generateRoughPath(box.x+box.w+padding,highlightY,box.x-padding,highlightY,roughness);const pathLength1=(box.w+padding*2)*1.1;const pathLength2=(box.w+padding*2)*1.1;return{path1,path2,pathLength1,pathLength2,delay:index*.4};});setHighlightPaths(paths);}},[padding,roughness]);// Measure text and generate paths\nuseEffect(()=>{if(textRef.current&&svgRef.current){// Small delay to ensure text is rendered\nsetTimeout(()=>{updateHighlights();},100);}},[text,fontSize,fontFamily,fontWeight,letterSpacing,lineHeight,updateHighlights]);// Resize observer (like rough-notation)\nuseEffect(()=>{let resizeObserver;if(textRef.current){// Window resize listener\nwindow.addEventListener(\"resize\",handleResize,{passive:true});// ResizeObserver if available\nif(\"ResizeObserver\"in window){resizeObserver=new ResizeObserver(entries=>{for(const entry of entries){if(entry.contentRect){handleResize();}}});resizeObserver.observe(textRef.current);}}return()=>{window.removeEventListener(\"resize\",handleResize);if(resizeObserver){resizeObserver.disconnect();}};},[handleResize]);// 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:\"block\",position:\"relative\",textAlign:textAlign};const textStyle={color:textColor,fontSize:fontSize,fontWeight:fontWeight,fontFamily:fontFamily,letterSpacing:letterSpacing,lineHeight:lineHeight,textTransform:textTransform,margin:0,padding:0,display:\"inline\",position:\"relative\",zIndex:2};const svgStyle={position:\"absolute\",top:0,left:0,width:\"100px\",height:\"100px\",overflow:\"visible\",pointerEvents:\"none\",zIndex:1};return /*#__PURE__*/_jsxs(\"div\",{ref:elementRef,style:containerStyle,children:[/*#__PURE__*/_jsx(\"svg\",{ref:svgRef,style:svgStyle,children:highlightPaths.map((pathData,index)=>/*#__PURE__*/_jsxs(\"g\",{children:[/*#__PURE__*/_jsx(\"path\",{d:pathData.path1,fill:\"none\",stroke:highlightColor,strokeWidth:strokeWidth,strokeLinecap:roundedCaps?\"round\":\"butt\",strokeLinejoin:roundedCaps?\"round\":\"miter\",strokeDasharray:pathData.pathLength1,strokeDashoffset:isVisible?0:pathData.pathLength1,style:{transition:`stroke-dashoffset ${animationDuration}s ease-out ${pathData.delay}s`}}),/*#__PURE__*/_jsx(\"path\",{d:pathData.path2,fill:\"none\",stroke:highlightColor,strokeWidth:strokeWidth,strokeLinecap:roundedCaps?\"round\":\"butt\",strokeLinejoin:roundedCaps?\"round\":\"miter\",strokeDasharray:pathData.pathLength2,strokeDashoffset:isVisible?0:pathData.pathLength2,style:{transition:`stroke-dashoffset ${animationDuration}s ease-out ${pathData.delay+animationDuration}s`}})]},index))}),/*#__PURE__*/_jsx(\"span\",{ref:textRef,style:textStyle,children:text})]});}// Framer Property Controls\naddPropertyControls(RoughHighlight,{text:{type:ControlType.String,title:\"Text\",defaultValue:\"Highlight this text\",placeholder:\"Enter your text...\",displayTextArea:true},textColor:{type:ControlType.Color,title:\"Text Color\",defaultValue:\"#000000\"},highlightColor:{type:ControlType.Color,title:\"Highlight Color\",defaultValue:\"#FFD54F\"},strokeWidth:{type:ControlType.Number,title:\"Highlight Thickness\",defaultValue:20,min:5,max:50,step:1,unit:\"px\",displayStepper:true},roughness:{type:ControlType.Number,title:\"Roughness\",defaultValue:1.5,min:.5,max:4,step:.1},padding:{type:ControlType.Number,title:\"Horizontal Padding\",defaultValue:4,min:0,max:20,step:1,unit:\"px\",displayStepper:true},heightOffset:{type:ControlType.Number,title:\"Height Offset\",defaultValue:.4,min:0,max:1,step:.05,description:\"Vertical position (0 = top, 1 = bottom)\"},heightPadding:{type:ControlType.Number,title:\"Height Padding\",defaultValue:0,min:0,max:20,step:1,unit:\"px\",displayStepper:true,description:\"Extends highlight vertically\"},roundedCaps:{type:ControlType.Boolean,title:\"Rounded Caps\",defaultValue:true,enabledTitle:\"Rounded\",disabledTitle:\"Square\"},textTransform:{type:ControlType.Enum,title:\"Text Transform\",options:[\"none\",\"uppercase\",\"lowercase\",\"capitalize\"],optionTitles:[\"None\",\"ALL CAPS\",\"lowercase\",\"Capitalize\"],defaultValue:\"none\"},textAlign:{type:ControlType.Enum,title:\"Text Alignment\",options:[\"left\",\"center\",\"right\"],optionTitles:[\"Left\",\"Center\",\"Right\"],defaultValue:\"left\"},fontSize:{type:ControlType.Number,title:\"Font Size\",defaultValue:18,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.4,min:.8,max:3,step:.1},animationDuration:{type:ControlType.Number,title:\"Animation Duration\",defaultValue:.6,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\nRoughHighlight.defaultProps={text:\"Highlight this text\",textColor:\"#000000\",highlightColor:\"#FFD54F\",strokeWidth:20,roughness:1.5,padding:4,heightOffset:.4,heightPadding:0,roundedCaps:true,textTransform:\"none\",textAlign:\"left\",fontSize:18,fontWeight:\"400\",fontFamily:\"Inter, system-ui, sans-serif\",letterSpacing:0,lineHeight:1.4,width:\"auto\",height:\"auto\",animationDuration:.6,animationDelay:0};\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"RoughHighlight\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Highlight.map"],"mappings":"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"}