{"version":3,"file":"TextEffectOnScroll_Prod.Cl7DaPU1.mjs","names":["useMemo","useRef"],"sources":["https:/framerusercontent.com/modules/al7tHO15Oyq9AxBfST8y/uoWcA11u5SdzqY0Oz7hQ/TextEffectOnScroll_Prod.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{useEffect,forwardRef,useRef,useMemo,memo}from\"react\";import{cubicBezier}from\"framer-motion\";const DEFAULT_ANIMATE_PROPS={opacity:1,scale:1,blur:0,rotate:0,rotateX:0,rotateY:0,rotateZ:0,skewX:0,skewY:0,x:0,y:0};const TOP=0;const BOTTOM=1;const CENTER=.5;const VIEWPORT_OFFSETS={bottomToCenter:[BOTTOM,CENTER],bottomToTop:[BOTTOM,TOP],centerToTop:[TOP,CENTER],topToBottom:[TOP,BOTTOM]};const easeInOut=cubicBezier(.44,0,.56,1);/**\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any\n *\n * @framerDisableUnlink\n *\n * @framerIntrinsicWidth 400\n */export default function TextEffectOnScroll(props){var _effect_rotate;const{effect}=props;const id=useMemo(generateRandomString,[]);const isCanvas=RenderTarget.current()===RenderTarget.canvas;const ref=useRef(null);const animate={};const initial={};let willChangeOpacity=false;let willChangeTransform=false;let willChangeFilter=false;if(effect.opacity!==1){animate.opacity=1;initial.opacity=effect.opacity;willChangeOpacity=true;}if(effect.scale!==1){animate.scale=1;initial.scale=effect.scale;willChangeTransform=true;}if(effect.blur!==0){animate.blur=0;initial.blur=effect.blur;willChangeFilter=true;}if(effect.rotate){if(effect.rotate.type===\"3d\"){if(effect.rotate.x!==0){animate.rotateX=0;initial.rotateX=effect.rotate.x;willChangeTransform=true;}if(effect.rotate.y!==0){animate.rotateY=0;initial.rotateY=effect.rotate.y;willChangeTransform=true;}if(effect.rotate.z!==0){animate.rotateZ=0;initial.rotateZ=effect.rotate.z;willChangeTransform=true;}}else{if(effect.rotate.rotation!==0){animate.rotate=0;initial.rotate=effect.rotate.rotation;willChangeTransform=true;}}}if(effect.skew){if(effect.skew.x!==0){animate.skewX=0;initial.skewX=effect.skew.x;willChangeTransform=true;}if(effect.skew.y!==0){animate.skewY=0;initial.skewY=effect.skew.y;willChangeTransform=true;}}if(effect.offset){var _effect_offset,_effect_offset1;if(((_effect_offset=effect.offset)===null||_effect_offset===void 0?void 0:_effect_offset.x)!==0){var _effect_offset2;animate.x=0;initial.x=(_effect_offset2=effect.offset)===null||_effect_offset2===void 0?void 0:_effect_offset2.x;willChangeTransform=true;}if(((_effect_offset1=effect.offset)===null||_effect_offset1===void 0?void 0:_effect_offset1.y)!==0){var _effect_offset3;animate.y=0;initial.y=(_effect_offset3=effect.offset)===null||_effect_offset3===void 0?void 0:_effect_offset3.y;willChangeTransform=true;}}let willChangeProps=[];if(willChangeOpacity)willChangeProps.push(\"opacity\");if(willChangeTransform)willChangeProps.push(\"transform\");if(willChangeFilter)willChangeProps.push(\"filter\");const willChange=willChangeProps.join(\", \");return /*#__PURE__*/_jsx(SplitText,{ref:ref,id:id,style:{color:props.color,userSelect:props.userSelect?\"auto\":\"none\",margin:0,perspective:((_effect_rotate=effect.rotate)===null||_effect_rotate===void 0?void 0:_effect_rotate.type)===\"3d\"?`${effect.rotate.perspective}px`:undefined,...props.font,...props.style},text:props.text,animate:isCanvas?{}:animate,initial:isCanvas?{}:initial,animation:props.animation,offset:props.offset,gap:props.lineGap,willChange:willChange,noTransformEffects:!willChangeTransform,splitCharacters:props.per===\"character\",tag:props.tag,origin:effect.origin});}TextEffectOnScroll.displayName=\"Text Effect on Scroll\";addPropertyControls(TextEffectOnScroll,{text:{type:ControlType.String,defaultValue:\"Learn Framer With Framer University\",placeholder:\"Text\",displayTextArea:true},effect:{type:ControlType.Object,icon:\"effect\",controls:{opacity:{type:ControlType.Number,defaultValue:1,min:0,max:1,step:.01},scale:{type:ControlType.Number,defaultValue:1,min:0,max:10,step:.1},blur:{type:ControlType.Number,defaultValue:0,min:0,step:1},rotate:{type:ControlType.Object,optional:true,controls:{type:{type:ControlType.Enum,options:[\"2d\",\"3d\"],optionTitles:[\"2D\",\"3D\"],displaySegmentedControl:true},rotation:{type:ControlType.Number,defaultValue:0,min:-360,max:360,step:1,unit:\"\\xb0\",hidden:props=>props.type!==\"2d\"},x:{type:ControlType.Number,defaultValue:0,min:-360,max:360,step:1,unit:\"\\xb0\",hidden:props=>props.type!==\"3d\"},y:{type:ControlType.Number,defaultValue:0,min:-360,max:360,step:1,unit:\"\\xb0\",hidden:props=>props.type!==\"3d\"},z:{type:ControlType.Number,defaultValue:0,min:-360,max:360,step:1,unit:\"\\xb0\",hidden:props=>props.type!==\"3d\"},perspective:{type:ControlType.Number,defaultValue:1200,min:1,max:1e4,step:1,hidden:props=>props.type!==\"3d\"}}},skew:{type:ControlType.Object,optional:true,controls:{x:{type:ControlType.Number,defaultValue:0,min:-90,max:90,step:1,unit:\"\\xb0\"},y:{type:ControlType.Number,defaultValue:0,min:-90,max:90,step:1,unit:\"\\xb0\"}}},offset:{type:ControlType.Object,optional:true,controls:{x:{type:ControlType.Number,defaultValue:0,min:-500,max:500,step:1,unit:\"px\"},y:{type:ControlType.Number,defaultValue:0,min:-500,max:500,step:1,unit:\"px\"}}},origin:{type:ControlType.Object,controls:{x:{type:ControlType.Number,defaultValue:50,min:0,max:100,step:1,unit:\"%\"},y:{type:ControlType.Number,defaultValue:50,min:0,max:100,step:1,unit:\"%\"}}}}},animation:{type:ControlType.Enum,options:[\"bottomToCenter\",\"bottomToTop\",\"centerToTop\",\"topToBottom\",\"inAndOutQuick\",\"inAndOutSlow\"],optionTitles:[\"In (Quick)\",\"In (Slow)\",\"Out (Quick)\",\"Out (Slow)\",\"In and Out (Quick)\",\"In and Out (Slow)\"]},per:{type:ControlType.Enum,options:[\"character\",\"word\"],optionTitles:[\"Letter\",\"Word\"],displaySegmentedControl:true},offset:{type:ControlType.Number,defaultValue:10,min:0,max:100,step:.1,unit:\"%\"},font:{type:\"font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:14,lineHeight:1}},color:{type:ControlType.Color,defaultValue:\"#000\"},lineGap:{type:ControlType.Number,defaultValue:0,min:0,step:1,displayStepper:true},userSelect:{type:ControlType.Boolean,defaultValue:false},tag:{type:ControlType.Enum,title:\"Tag\",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 SplitText=/*#__PURE__*/memo(/*#__PURE__*/forwardRef(function SplitText({id,text,className,style,animate,initial,animation,offset,gap,willChange,noTransformEffects,splitCharacters=false,tag,origin},ref){const isCanvas=RenderTarget.current()===RenderTarget.canvas;const elementsRef=useRef([]);const Tag=tag;const spanClassName=noTransformEffects?`${id}-span-no`:`${id}-span-yes`;const lines=useMemo(()=>{const textLines=text.split(\"\\n\");const lines=[];for(let i=0;i<textLines.length;i++){lines.push(textLines[i].split(/[ \\t]+/));}return lines;},[text]);useEffect(()=>{if(isCanvas){return;}const updateElements=topPosition=>{const viewportOffset=VIEWPORT_OFFSETS[animation];const viewportHeight=window.innerHeight;const totalElements=elementsRef.current.length;const updates=[];for(let i=0;i<totalElements;i++){const element=elementsRef.current[i];if(!element){continue;}const scrollY=(topPosition+(offset||0)*(i-totalElements/2))/viewportHeight;let progress=1;if(animation===\"inAndOutQuick\"){if(scrollY<=.3){progress=mapRange(scrollY,0,.3,0,1);}else if(scrollY>=.7){progress=mapRange(scrollY,.7,1,1,0);}}else if(animation===\"inAndOutSlow\"){if(scrollY<=.5){progress=mapRange(scrollY,0,.5,0,1);}else{progress=mapRange(scrollY,.5,1,1,0);}}else{progress=mapRange(scrollY,viewportOffset[0],viewportOffset[1],0,1);}progress=Math.max(0,Math.min(1,easeInOut(progress)));const transforms=[];const styles={};const opacity=getValue(animate,initial,\"opacity\",progress);if(opacity!==undefined){styles.opacity=String(opacity);}const scale=getValue(animate,initial,\"scale\",progress);if(scale!==undefined){transforms.push(`scale(${scale})`);}const blur=getValue(animate,initial,\"blur\",progress);if(blur!==undefined){element.style.filter=`blur(${blur}px)`;}const rotate=getValue(animate,initial,\"rotate\",progress);if(rotate!==undefined){transforms.push(`rotate(${rotate}deg)`);}const rotateX=getValue(animate,initial,\"rotateX\",progress);if(rotateX!==undefined){transforms.push(`rotateX(${rotateX}deg)`);}const rotateY=getValue(animate,initial,\"rotateY\",progress);if(rotateY!==undefined){transforms.push(`rotateY(${rotateY}deg)`);}const rotateZ=getValue(animate,initial,\"rotateZ\",progress);if(rotateZ!==undefined){transforms.push(`rotateZ(${rotateZ}deg)`);}const skewX=getValue(animate,initial,\"skewX\",progress);if(skewX!==undefined){transforms.push(`skewX(${skewX}deg)`);}const skewY=getValue(animate,initial,\"skewY\",progress);if(skewY!==undefined){transforms.push(`skewY(${skewY}deg)`);}const offsetX=getValue(animate,initial,\"x\",progress);if(offsetX!==undefined){transforms.push(`translateX(${offsetX}px)`);}const offsetY=getValue(animate,initial,\"y\",progress);if(offsetY!==undefined){transforms.push(`translateY(${offsetY}px)`);}if(transforms.length){styles.transform=transforms.join(\" \");}updates.push({element,styles});}// Batch DOM writes\nrequestAnimationFrame(()=>{updates.forEach(update=>{if(!update)return;const{element,styles}=update;Object.assign(element.style,styles);});});};const cleanup=trackElementPosition(ref,updateElements);return cleanup;},[animate,initial]);let index=0;const createLineChildren=(lineIndex,lineWords)=>{return lineWords.map((word,wordIndex)=>{if(splitCharacters){return /*#__PURE__*/_jsx(\"span\",{className:`${id}-word-wrapper`,children:(word+(wordIndex<lineWords.length-1?\" \":\"\")).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}`);}const savedIndex=index;index++;return /*#__PURE__*/_jsx(\"span\",{ref:el=>{if(el)elementsRef.current[savedIndex]=el;},className:spanClassName,children:word+(wordIndex<lineWords.length-1?\" \":\"\")},`${lineIndex}-${wordIndex}`);});};var _origin_x,_origin_y;return /*#__PURE__*/_jsxs(Tag,{className:className,ref:ref,style:{...style,...lines.length===1?{}:{display:\"flex\",flexDirection:\"column\",gap:gap},transformStyle:\"preserve-3d\",whiteSpace:(style===null||style===void 0?void 0:style.width)?undefined:\"nowrap\"},children:[/*#__PURE__*/_jsx(\"style\",{children:`\n\t\t\t\t.${id}-line {\n\t\t\t\t\twidth: 100%;\n\t\t\t\t\tdisplay: block;\n\t\t\t\t\ttransform-style: preserve-3d;\n\t\t\t\t}\n\t\t\t\t.${id}-word-wrapper {\n\t\t\t\t\tdisplay: inline-block;\n\t\t\t\t\ttransform-style: preserve-3d;\n\t\t\t\t\twhite-space: pre;\n\t\t\t\t}\n\t\t\t\t.${id}-span-no {\n\t\t\t\t\tdisplay: inline-block;\n\t\t\t\t\ttransform-style: preserve-3d;\n\t\t\t\t\twhite-space: pre;\n\t\t\t\t}\n\t\t\t\t.${id}-span-yes {\n\t\t\t\t\tdisplay: inline-block;\n\t\t\t\t\ttransform-style: preserve-3d;\n\t\t\t\t\twhite-space: pre;\n\t\t\t\t}\n\t\t\t\t.${id}-span-no,\n\t\t\t\t.${id}-span-yes {\n\t\t\t\t\twill-change: ${willChange};\n\t\t\t\t\ttransform-origin: ${(_origin_x=origin===null||origin===void 0?void 0:origin.x)!==null&&_origin_x!==void 0?_origin_x:50}% ${(_origin_y=origin===null||origin===void 0?void 0:origin.y)!==null&&_origin_y!==void 0?_origin_y:50}%;\n\t\t\t\t}\n\t\t\t\t`}),lines.length===1?createLineChildren(0,lines[0]):lines.map((lineWords,lineIndex)=>/*#__PURE__*/_jsx(\"span\",{className:`${id}-line`,children:createLineChildren(lineIndex,lineWords)},lineIndex))]});}));function getValue(animate,initial,key,progress){if(!animate||!initial||!animate.hasOwnProperty(key)){return undefined;}const value=animate[key];var _initial_key,_ref;const initialValue=(_ref=(_initial_key=initial===null||initial===void 0?void 0:initial[key])!==null&&_initial_key!==void 0?_initial_key:DEFAULT_ANIMATE_PROPS[key])!==null&&_ref!==void 0?_ref:0;if(progress<=0){return initialValue;}else if(progress>=1){return value;}else{return initialValue+(value-initialValue)*progress;}}const trackElementPosition=(ref,callback)=>{let rafId=null;let lastPosition=null;let throttleTimeout=null;const updatePosition=()=>{if(ref.current){const element=ref.current;const rect=element.getBoundingClientRect();// Add throttling to reduce updates\nif(throttleTimeout===null){throttleTimeout=window.setTimeout(()=>{if(lastPosition!==rect.top){lastPosition=rect.top;callback(rect.top);}throttleTimeout=null;},16)// Approximately 60fps\n;}}rafId=requestAnimationFrame(updatePosition);};// Start the animation frame loop\nrafId=requestAnimationFrame(updatePosition);// Return a cleanup function\nreturn()=>{if(rafId!==null){cancelAnimationFrame(rafId);}};};function mapRange(value,fromLow,fromHigh,toLow,toHigh){if(fromLow===fromHigh){return toLow;}const percentage=(value-fromLow)/(fromHigh-fromLow);return toLow+percentage*(toHigh-toLow);}const CHARACTERS=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\";function generateRandomString(){let result=\"\";for(let i=0;i<8;i++){const randomIndex=Math.floor(Math.random()*CHARACTERS.length);result+=CHARACTERS.charAt(randomIndex);}return result;}\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"TextEffectOnScroll\",\"slots\":[],\"annotations\":{\"framerIntrinsicWidth\":\"400\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerDisableUnlink\":\"*\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"any\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./TextEffectOnScroll_Prod.map"],"mappings":"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"}