{"version":3,"file":"TextMagnifier_Prod.AwZnUBYK.mjs","names":["useState","useRef","useMemo","lines","_Fragment","lineIndex","useId"],"sources":["https:/framerusercontent.com/modules/FiiQ0BKlVUNzxXjo8hFs/BDeIULpeB9kBv3zq3U1w/RollingTextHover_Prod.js","https:/framerusercontent.com/modules/pYGJbktLS5nZG5gcVsy0/rrCcSnsX0Ghwk1FVmlDD/TextMagnifier_Prod.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useState}from\"react\";import{addPropertyControls,ControlType}from\"framer\";import{motion}from\"framer-motion\";// --- Helper Functions ---\nconst uuidv4=()=>{return\"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g,c=>{const r=Math.random()*16|0;const v=c===\"x\"?r:r&3|8;return v.toString(16);});};// --- Component ---\n/**\n * @framerIntrinsicWidth 200\n * @framerIntrinsicHeight 50\n * @framerDisableUnlink\n */export default function RollingText({text,transition,stagger,reverse,font,color,textTransform,tag,padding}){const[isHovered,setIsHovered]=useState(false);const innerClassName=`rolling-text-inner-${uuidv4()}`;const Tag=tag;const fontSizeStr=font?.fontSize??\"16px\";const letterSpacingStr=font?.letterSpacing??\"0px\";const rawLineHeight=font?.lineHeight;const fontFamily=font?.fontFamily??\"Inter\";const fontSizeNum=parseInt(fontSizeStr,10)||16;let absoluteLineHeightPx;if(typeof rawLineHeight===\"number\"){absoluteLineHeightPx=fontSizeNum*rawLineHeight;}else if(typeof rawLineHeight===\"string\"&&rawLineHeight.includes(\"em\")){const emValue=parseFloat(rawLineHeight)||1.2;absoluteLineHeightPx=fontSizeNum*emValue;}else if(typeof rawLineHeight===\"string\"){const pxValue=parseFloat(rawLineHeight);absoluteLineHeightPx=isNaN(pxValue)?rawLineHeight:`${pxValue}px`;}else{absoluteLineHeightPx=fontSizeNum*1.2;}const absoluteLineHeightStr=typeof absoluteLineHeightPx===\"number\"?`${absoluteLineHeightPx}px`:absoluteLineHeightPx;const yOffset=`-${absoluteLineHeightStr}`;const styles=`\n    .${innerClassName} {\n      --font-size: ${fontSizeStr};\n      --text: ${color};\n      --line-height-abs: ${absoluteLineHeightStr};\n      box-sizing: border-box; margin: 0; padding: 0; vertical-align: top;\n      display: flex; overflow: hidden; width: max-content;\n      font-family: ${fontFamily}; font-size: ${fontSizeStr};\n      text-transform: ${textTransform}; user-select: none;\n      text-shadow: 0 var(--line-height-abs) 0 var(--text);\n    }\n    .${innerClassName} span {\n      display: block; -webkit-backface-visibility: hidden; backface-visibility: hidden;\n      white-space: pre; flex-shrink: 0;\n      font-family: inherit; font-weight: inherit; font-style: inherit;\n      font-size: inherit; letter-spacing: inherit;\n      line-height: ${rawLineHeight??1.2};\n      color: var(--text);\n    }\n  `;const wrapperStyle={display:\"flex\",alignItems:\"center\",justifyContent:\"center\",width:\"100%\",height:\"100%\",overflow:\"hidden\",padding:padding,boxSizing:\"border-box\"};const spanVariants={initial:{y:\"0%\"},hover:{y:yOffset}};const baseDuration=typeof transition?.duration===\"number\"?transition.duration:.5;// Convert stagger percentage (0-100) to a factor (0-1)\nconst staggerFactor=stagger/100;return /*#__PURE__*/_jsxs(\"div\",{style:wrapperStyle,onMouseEnter:()=>setIsHovered(true),onMouseLeave:()=>setIsHovered(false),children:[/*#__PURE__*/_jsx(Tag,{className:innerClassName,children:[...text].map((str,index)=>{const charIndex=reverse?text.length-1-index:index;// Apply staggerFactor to the delay calculation\nconst delay=text.length>0?baseDuration/text.length*charIndex*staggerFactor// Multiply by factor\n:0;const motionSpanStyle={display:\"block\",...font};return /*#__PURE__*/_jsx(motion.span,{variants:spanVariants,initial:\"initial\",animate:isHovered?\"hover\":\"initial\",transition:{...transition,delay:delay},style:motionSpanStyle,children:str===\" \"?\"\\xa0\":str},index);})}),/*#__PURE__*/_jsx(\"style\",{children:styles})]});}// --- Component Display Name ---\nRollingText.displayName=\"Rolling Text\";// --- Default Properties ---\nconst defaultFont={fontFamily:\"Inter\",fontWeight:\"400\",fontSize:\"16px\",fontStyle:\"normal\",letterSpacing:\"0px\",lineHeight:1.2};const defaultTransition={type:\"spring\",duration:.4,bounce:0};// --- Framer Property Controls ---\naddPropertyControls(RollingText,{text:{type:ControlType.String,title:\"Text\",defaultValue:\"Rolling Text\"},font:{type:ControlType.Font,title:\"Font\",controls:\"extended\",defaultValue:defaultFont},color:{type:ControlType.Color,title:\"Color\",defaultValue:\"#808080\"},transition:{type:ControlType.Transition,title:\"Transition\",defaultValue:defaultTransition},// Added Stagger control\nstagger:{title:\"Stagger\",type:ControlType.Number,min:0,max:100,step:1,defaultValue:35,unit:\"%\"},padding:{title:\"Padding\",type:ControlType.Padding,defaultValue:\"0px\"},reverse:{type:ControlType.Boolean,title:\"Reverse\",defaultValue:false,enabledTitle:\"Yes\",disabledTitle:\"No\"},textTransform:{title:\"Transform\",type:ControlType.Enum,defaultValue:\"none\",options:[\"none\",\"uppercase\",\"lowercase\",\"capitalize\"],optionTitles:[\"None\",\"Uppercase\",\"Lowercase\",\"Capitalize\"]},tag:{type:ControlType.Enum,title:\"Tag\",options:[\"p\",\"span\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\"],optionTitles:[\"p\",\"span\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\"],defaultValue:\"p\",description:\"More components at [Framer University](https://frameruni.link/cc).\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"RollingText\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"50\",\"framerDisableUnlink\":\"\",\"framerIntrinsicWidth\":\"200\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./RollingTextHover_Prod.map","import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{useSpring,useMotionValue,useMotionValueEvent}from\"framer-motion\";import{useRef,useId,useMemo,useEffect}from\"react\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";/**\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n *\n * @framerDisableUnlink\n *\n * @framerIntrinsicWidth 400\n * @framerIntrinsicHeight 200\n */export default function MagneticText({text,color,font,transform,balance,userSelect,tag,style,range,smoothing,boldness}){const id=useInstanceId();const isCanvas=RenderTarget.current()===RenderTarget.canvas;const spanClassName=`${id}-span`;const Tag=tag;const textAlign=font?.textAlign||\"center\";const springTransition={damping:100,stiffness:mapRange(smoothing,0,100,2e3,50)};const hasSpring=smoothing!==0;const mouseX=useMotionValue(0);const mouseY=useMotionValue(0);const mouseXSpring=useSpring(mouseX,springTransition);const mouseYSpring=useSpring(mouseY,springTransition);const elementsRef=useRef([]);const initializedRef=useRef(false);const spanWidthsRef=useRef([]);useEffect(()=>{const handleMouseMove=e=>{mouseX.set(e.clientX);mouseY.set(e.clientY);if(!initializedRef.current){mouseXSpring.jump(e.clientX);mouseYSpring.jump(e.clientY);initializedRef.current=true;}};window.addEventListener(\"mousemove\",handleMouseMove);return()=>window.removeEventListener(\"mousemove\",handleMouseMove);},[]);const lines=useMemo(()=>{const textLines=text.split(\"\\n\");const lines=[];for(let i=0;i<textLines.length;i++){const line=textLines[i].split(/[ \\t]+/);lines.push(line);}return lines;},[text]);let index=0;const createLineChildren=(lineIndex,lineWords)=>{return lineWords.map((word,wordIndex)=>/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"span\",{className:`${id}-word-wrapper`,children:word.split(\"\").map((char,charIndex)=>{const savedIndex=index;index++;return /*#__PURE__*/_jsx(\"span\",{ref:el=>{if(el)elementsRef.current[savedIndex]=el;},className:spanClassName,children:char},`${lineIndex}-${wordIndex}-${charIndex}`);})},`${lineIndex}-${wordIndex}`),wordIndex<lineWords.length-1&&\" \"]}));};const updateScale=(mx,my)=>{let cumulativeOffset=0;let elementOffset=[];let prevYPosition=0;const elementLineMap=new Map;const elementScaleMap=new Map;const lineOffsets=[];let lineIndex=-1;for(let i=0;i<elementsRef.current.length;i++){const element=elementsRef.current[i];if(!element)continue;const rect=element.getBoundingClientRect();const characterCenterX=rect.left+rect.width/2;const characterCenterY=rect.top+rect.height/2;const distance=Math.sqrt(Math.pow(characterCenterX-mx,2)+Math.pow(characterCenterY-my,2));const d=clamp01(mapRange(distance,range/2,0,0,1));const yPosition=rect.y+rect.height/2;if(Math.abs(yPosition-prevYPosition)>2){lineIndex++;if(lineIndex>0){lineOffsets[lineIndex-1]=cumulativeOffset;}cumulativeOffset=0;}prevYPosition=yPosition;elementLineMap.set(element,lineIndex);if(d<=0){element.style[\"-webkit-text-stroke-width\"]=\"\";elementOffset[i]=cumulativeOffset;}else{const scaleX=mapRange(d,0,1,1,mapRange(boldness,0,1,1,1.285))// 1.2\n;const scaleY=mapRange(d,0,1,1,mapRange(boldness,0,1,1,.928))// 0.95\n;const w=mapRange(d,0,1,0,boldness/10);const halfOffset=spanWidthsRef.current[i]*(scaleX-1)/2;elementScaleMap.set(element,[scaleX,scaleY]);cumulativeOffset+=halfOffset;elementOffset[i]=cumulativeOffset;cumulativeOffset+=halfOffset;element.style[\"-webkit-text-stroke-width\"]=`${w}em`;}if(i===elementsRef.current.length-1){lineOffsets[lineIndex]=cumulativeOffset;}}for(let i=0;i<elementsRef.current.length;i++){const element=elementsRef.current[i];if(!element)continue;const scaleValue=elementScaleMap.get(element);const scale=scaleValue?`scale(${scaleValue[0]}, ${scaleValue[1]})`:\"\";const offset=elementOffset[i];const lineIndex=elementLineMap.get(element)||0;const lineOffset=lineOffsets[lineIndex];let offsetValue=offset;switch(textAlign){case\"center\":offsetValue-=lineOffset/2;break;case\"right\":offsetValue-=lineOffset;break;}const translate=Math.abs(offsetValue)>.1?`translateX(${offsetValue}px)`:\"\";element.style.transform=translate&&scale?`${translate} ${scale}`:translate||scale;}};useMotionValueEvent(hasSpring?mouseXSpring:mouseX,\"change\",mx=>{if(mouseY){updateScale(mx,hasSpring?mouseYSpring.get():mouseY.get());}});useMotionValueEvent(hasSpring?mouseYSpring:mouseY,\"change\",my=>{if(mouseX){updateScale(hasSpring?mouseXSpring.get():mouseX.get(),my);}});useEffect(()=>{if(!isCanvas){elementsRef.current.forEach((el,i)=>{if(el){spanWidthsRef.current[i]=el.getBoundingClientRect().width;}});}},[isCanvas,text,font]);return /*#__PURE__*/_jsxs(Tag,{style:{position:\"relative\",cursor:\"default\",margin:0,whiteSpace:style?.width?\"pre\":\"nowrap\",fontWeight:400,textAlign,userSelect:userSelect?\"auto\":\"none\",textWrap:balance?\"balance\":undefined,textTransform:transform,color,...font,...style},children:[/*#__PURE__*/_jsx(\"style\",{children:`\n\t.${id}-line {\n\t\twidth: 100%;\n\t\tdisplay: block;\n\t\ttransform-style: preserve-3d;\n\t}\n\t.${id}-word-wrapper {\n\t\tdisplay: inline-block;\n\t\ttransform-style: preserve-3d;\n\t\twhite-space: pre;\n\t}\n\t.${id}-span {\n\t\tdisplay: inline-block;\n\t\ttransform-style: preserve-3d;\n\t\twhite-space: pre;\n\t\twill-change: transform, -webkit-text-stroke-width, padding-inline;\n\t\ttransform-origin: 50% 50%};\n\t\t-webkit-text-stroke-color: currentColor;\n\t}\n`}),lines.length===1?createLineChildren(0,lines[0]):lines.map((lineWords,lineIndex)=>/*#__PURE__*/_jsx(\"span\",{className:`${id}-line`,children:createLineChildren(lineIndex,lineWords)},lineIndex))]});}MagneticText.displayName=\"Text Magnifier\";addPropertyControls(MagneticText,{text:{type:ControlType.String,defaultValue:\"Learn Framer With Framer University\",displayTextArea:true},range:{type:ControlType.Number,defaultValue:200},smoothing:{type:ControlType.Number,defaultValue:50,min:0,max:100,step:1},boldness:{type:ControlType.Number,defaultValue:.7,min:0,max:1,step:.1},font:{type:\"font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:32,lineHeight:1.2}},color:{type:ControlType.Color,defaultValue:\"#999999\"},transform:{type:ControlType.Enum,defaultValue:\"none\",options:[\"none\",\"uppercase\",\"lowercase\"],optionTitles:[\"None\",\"Uppercase\",\"Lowercase\"]},balance:{type:ControlType.Boolean,defaultValue:false},userSelect:{type:ControlType.Boolean,defaultValue:false},tag:{type:ControlType.Enum,defaultValue:\"p\",displaySegmentedControl:true,options:[\"h1\",\"h2\",\"h3\",\"p\"],optionTitles:[\"H1\",\"H2\",\"H3\",\"P\"],description:\"More components at [Framer University](https://frameruni.link/cc).\"}});const useInstanceId=()=>{const id=useId();const cleanId=id.replace(/:/g,\"\");const instanceId=`frameruni-${cleanId}`;return instanceId;};function mapRange(value,fromLow,fromHigh,toLow,toHigh){if(fromLow===fromHigh){return toLow;}const percentage=(value-fromLow)/(fromHigh-fromLow);return toLow+percentage*(toHigh-toLow);}function clamp01(value){return Math.max(0,Math.min(value,1));}\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"MagneticText\",\"slots\":[],\"annotations\":{\"framerIntrinsicWidth\":\"400\",\"framerContractVersion\":\"1\",\"framerDisableUnlink\":\"*\",\"framerIntrinsicHeight\":\"200\",\"framerSupportedLayoutWidth\":\"any\",\"framerSupportedLayoutHeight\":\"any\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./TextMagnifier_Prod.map"],"mappings":"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"}