{"version":3,"file":"ScrollText.DjmrIBFX.mjs","names":["React","useState","_Fragment","useRef","characters"],"sources":["https:/framerusercontent.com/modules/pRWtEPwVCjINEuPeeaiu/2hAdgLWfJ38dUTNBIrSy/ScrollText.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{useRef,useState,useEffect,startTransition}from\"react\";import{motion,useScroll,useTransform,useMotionValueEvent,useInView}from\"framer-motion\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";import React from\"react\";function AnimatedElement({element,index,totalElements,scrollYProgress,effect,color,accentColor,visibleCount,fontLetterSpacing,isLastWord,isStatic,scrambleTrigger,magicMixIntensity=50,handwriteSmoothness=50,kernTightSpacing=.15,scaleUpHeight=20,blurRevealIntensity=.6,smartTypeCaretSpeed=.8,smartTypeShowCaret=true,scrambleSpeed=30,typewriterCaretSpace=.05,typewriterCaretSpeed=.8,typewriterShowCaret=true}){const elementProgress=useTransform(scrollYProgress,[index/totalElements,(index+1)/totalElements],[0,1]);const opacity=useTransform(elementProgress,[0,1],[.2,1]);const y=useTransform(elementProgress,[0,1],[scaleUpHeight,0]);const blurValue=useTransform(elementProgress,[0,1],[4,0]);const blurOpacity=useTransform(elementProgress,[0,1],[.4,1]);const scaleValue=useTransform(elementProgress,[0,1],[.8,1]);const letterSpacingValue=useTransform(elementProgress,[0,1],[`${kernTightSpacing}em`,\"0em\"]);const translateY=useTransform(y,v=>`${v}px`);// 3D scale effect transforms\nconst rotateXValue=useTransform(elementProgress,[0,1],[45,0]);const rotateYValue=useTransform(elementProgress,[0,1],[0,0]);const translateZValue=useTransform(elementProgress,[0,1],[-100,0]);const shadowOpacity=useTransform(elementProgress,[0,1],[.3,0]);const textShadowValue=useTransform(shadowOpacity,v=>`0 ${4+v*10}px ${15+v*20}px rgba(0,0,0,${v*.4})`);const scale3DTransform=useTransform([scaleValue,rotateXValue,rotateYValue,translateZValue],values=>{const[latestScale,latestRotateX,latestRotateY,latestTranslateZ]=values;return`scale(${latestScale}) rotateX(${latestRotateX}deg) rotateY(${latestRotateY}deg) translateZ(${latestTranslateZ}px)`;});// Progressive depth blur for blur effect - uses blurRevealIntensity\nconst depthBlur=useTransform(scrollYProgress,[0,1],[index*blurRevealIntensity,0]);const depthOpacity=useTransform(scrollYProgress,[0,1],[.4+index/totalElements*.2,1]);const depthFilter=useTransform(depthBlur,v=>`blur(${Math.max(0,v)}px)`);// Random offset based on character index for consistent but varied starting positions\nconst randomOffset=React.useMemo(()=>({x:Math.sin(index*123.45)*magicMixIntensity+Math.cos(index*67.89)*magicMixIntensity*.6,y:Math.cos(index*234.56)*magicMixIntensity*.8+Math.sin(index*45.67)*magicMixIntensity*.7,rotate:Math.sin(index*89.01)*magicMixIntensity*.6}),[index,magicMixIntensity]);// Scramble effect state\nconst scrambleChars=\"!@#$%^&*()_+-=[]{}|;:,.<>?/~`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\";const[displayChar,setDisplayChar]=useState(element);const isVisibleScramble=scrambleTrigger>0;useEffect(()=>{if(effect!==\"scramble\")return;if(!isVisibleScramble){startTransition(()=>setDisplayChar(scrambleChars[Math.floor(Math.random()*scrambleChars.length)]));return;}let iteration=0;const maxIterations=10;startTransition(()=>setDisplayChar(scrambleChars[Math.floor(Math.random()*scrambleChars.length)]));const interval=window.setInterval(()=>{if(iteration>=maxIterations){startTransition(()=>setDisplayChar(element));clearInterval(interval);return;}startTransition(()=>setDisplayChar(scrambleChars[Math.floor(Math.random()*scrambleChars.length)]));iteration++;},scrambleSpeed);return()=>clearInterval(interval);},[isVisibleScramble,scrambleTrigger,element,effect,scrambleSpeed]);// Magic effect state\nconst[isHovered,setIsHovered]=useState(false);const[hasBeenHovered,setHasBeenHovered]=useState(false);const isVisibleMagic=index<visibleCount;const handleMouseEnter=()=>{startTransition(()=>setIsHovered(true));startTransition(()=>setHasBeenHovered(true));};const handleMouseLeave=()=>{startTransition(()=>setIsHovered(false));};// In static renderer (canvas), show everything fully visible\nif(isStatic){return /*#__PURE__*/_jsx(\"span\",{style:{display:\"inline-block\",whiteSpace:\"pre\",color,letterSpacing:fontLetterSpacing||\"inherit\"},children:element});}if(effect===\"kerning\"){return /*#__PURE__*/_jsx(motion.span,{style:{display:\"inline-block\",whiteSpace:\"pre\",color,letterSpacing:letterSpacingValue},children:element});}if(effect===\"blur\"){return /*#__PURE__*/_jsx(\"span\",{style:{display:\"inline-block\",whiteSpace:\"pre\",willChange:\"filter, opacity\"},children:/*#__PURE__*/_jsx(motion.span,{style:{display:\"inline-block\",color,filter:depthFilter,opacity:depthOpacity},children:element})});}if(effect===\"scale\"){return /*#__PURE__*/_jsx(\"span\",{style:{display:\"inline-block\",whiteSpace:\"pre\",perspective:\"1000px\",transformStyle:\"preserve-3d\"},children:/*#__PURE__*/_jsx(motion.span,{style:{display:\"inline-block\",color,opacity,transform:scale3DTransform,transformStyle:\"preserve-3d\",willChange:\"transform, opacity\"},children:/*#__PURE__*/_jsx(motion.span,{style:{display:\"inline-block\",textShadow:textShadowValue},children:element})})});}if(effect===\"typewriter\"){const isVisible=index<visibleCount;const isCaretPosition=index===visibleCount-1;return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(motion.span,{initial:{opacity:0,y:3},animate:{opacity:isVisible?1:0,y:isVisible?0:3},transition:{duration:.15,ease:\"easeOut\"},style:{display:\"inline-block\",whiteSpace:\"pre\",color,letterSpacing:fontLetterSpacing||\"inherit\"},children:element}),isCaretPosition&&typewriterShowCaret&&/*#__PURE__*/_jsx(motion.span,{initial:{opacity:1},animate:{opacity:[1,0,1]},transition:{duration:typewriterCaretSpeed,repeat:Infinity,ease:\"easeInOut\"},style:{display:\"inline-block\",color,marginLeft:`-${typewriterCaretSpace}em`,fontWeight:\"100\",position:\"relative\"},children:\"|\"})]});}if(effect===\"smarttypewriter\"){const isVisible=index<visibleCount;const isCaretPosition=index===visibleCount-1;const textColor=isLastWord&&isVisible?accentColor:color;return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(motion.span,{initial:{opacity:0},animate:{opacity:isVisible?1:0},transition:{duration:.05},style:{display:\"inline-block\",whiteSpace:\"pre\",color:textColor,letterSpacing:fontLetterSpacing||\"inherit\"},children:element}),isCaretPosition&&smartTypeShowCaret&&/*#__PURE__*/_jsx(motion.span,{animate:{opacity:[1,.3,1]},transition:{duration:smartTypeCaretSpeed,repeat:Infinity,ease:\"easeInOut\"},style:{display:\"inline-block\",color:accentColor,marginLeft:\"0.02em\",fontWeight:\"300\",transform:\"translateY(0.05em)\"},children:\"_\"})]});}if(effect===\"handwrite\"){const isVisible=index<visibleCount;// Calculate spring parameters based on smoothness (0-100)\n// Higher smoothness = lower stiffness, higher damping for smoother/slower animation\n// Lower smoothness = higher stiffness, lower damping for snappier/faster animation\nconst stiffness=100+(100-handwriteSmoothness)*6// 100 to 700\n;const damping=10+handwriteSmoothness*.4// 10 to 50\n;return /*#__PURE__*/_jsx(motion.span,{initial:{opacity:0,x:-8,rotate:-5},animate:{opacity:isVisible?1:0,x:isVisible?0:-8,rotate:isVisible?0:-5},transition:{type:\"spring\",stiffness:stiffness,damping:damping,mass:.8},style:{display:\"inline-block\",whiteSpace:\"pre\",color,letterSpacing:fontLetterSpacing||\"inherit\",transformOrigin:\"left center\"},children:element});}if(effect===\"scramble\"){return /*#__PURE__*/_jsx(motion.span,{initial:{opacity:0},animate:{opacity:isVisibleScramble?1:.3},transition:{duration:.1},style:{display:\"inline-block\",whiteSpace:\"pre\",color,letterSpacing:fontLetterSpacing||\"inherit\"},children:displayChar});}if(effect===\"magic\"){return /*#__PURE__*/_jsx(motion.span,{initial:{opacity:0,x:randomOffset.x,y:randomOffset.y,rotate:randomOffset.rotate},animate:{opacity:isVisibleMagic?1:.2,x:isVisibleMagic?0:randomOffset.x,y:isVisibleMagic?0:randomOffset.y,rotate:isVisibleMagic?0:randomOffset.rotate,scale:isHovered?1.15:1},transition:{opacity:{duration:.5,ease:[.4,0,.2,1]},x:{type:\"spring\",stiffness:120,damping:25,mass:1.2},y:{type:\"spring\",stiffness:120,damping:25,mass:1.2},rotate:{type:\"spring\",stiffness:100,damping:20,mass:1.2},scale:{type:\"spring\",stiffness:300,damping:25}},onMouseEnter:handleMouseEnter,onMouseLeave:handleMouseLeave,style:{display:\"inline-block\",whiteSpace:\"pre\",color:hasBeenHovered?accentColor:color,letterSpacing:fontLetterSpacing||\"inherit\",cursor:\"default\"},children:element});}return /*#__PURE__*/_jsx(\"span\",{style:{display:\"inline-block\",whiteSpace:\"pre\"},children:/*#__PURE__*/_jsx(motion.span,{style:{display:\"inline-block\",color,opacity,transform:translateY},children:element})});}/**\n * Text Scroll Effects Pack\n *\n * A text component that animates as you scroll through it.\n * Characters, words, or lines reveal progressively based on scroll position.\n *\n * @framerIntrinsicWidth 400\n * @framerIntrinsicHeight 100\n *\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight auto\n */export default function TextScrollEffectsPack(props){const{text=\"Scroll to reveal this text animation\",font={fontSize:\"32px\",variant:\"Bold\",letterSpacing:\"-0.02em\",lineHeight:\"1.2em\"},effect=\"blur\",color=\"#000000\",accentColor=\"#FF5500\",magicMixIntensity=50,handwriteSmoothness=50,kernTightSpacing=.15,scaleUpHeight=20,blurRevealIntensity=.6,smartTypeCaretSpeed=.8,smartTypeShowCaret=true,scrambleSpeed=30,typewriterCaretSpace=.05,typewriterCaretSpeed=.8,typewriterShowCaret=true}=props;const containerRef=useRef(null);const[visibleCount,setVisibleCount]=useState(0);const isStatic=useIsStaticRenderer();const{scrollYProgress}=useScroll({target:containerRef,offset:[\"start end\",\"center center\"]});useMotionValueEvent(scrollYProgress,\"change\",latest=>{if(effect===\"scramble\")return;const characters=text.split(\"\");const newVisibleCount=Math.max(0,Math.ceil(latest*characters.length));startTransition(()=>setVisibleCount(newVisibleCount));});useEffect(()=>{startTransition(()=>setVisibleCount(0));},[effect,text]);const isInView=useInView(containerRef,{amount:.25,once:true});const[scrambleTrigger,setScrambleTrigger]=useState(0);useEffect(()=>{startTransition(()=>setVisibleCount(0));startTransition(()=>setScrambleTrigger(0));},[effect,text]);useEffect(()=>{if(effect!==\"scramble\")return;if(!isInView)return;startTransition(()=>setScrambleTrigger(t=>t+1));startTransition(()=>setVisibleCount(text.length));},[effect,isInView,text]);const characters=text.split(\"\");const wordBoundaries=React.useMemo(()=>{const boundaries=[];let wordStart=0;for(let i=0;i<=characters.length;i++){if(i===characters.length||characters[i]===\" \"){if(i>wordStart){boundaries.push({start:wordStart,end:i-1});}wordStart=i+1;}}return boundaries;},[characters]);const lastVisibleWord=React.useMemo(()=>{if(visibleCount===0)return{start:-1,end:-1};const lastVisibleCharIndex=visibleCount-1;for(const word of wordBoundaries){if(lastVisibleCharIndex>=word.start&&lastVisibleCharIndex<=word.end){return word;}}return{start:-1,end:-1};},[visibleCount,wordBoundaries]);return /*#__PURE__*/_jsx(\"div\",{ref:containerRef,style:{width:\"100%\",minHeight:\"100%\",display:\"flex\",alignItems:\"center\",justifyContent:\"flex-start\",flexWrap:\"wrap\",...font,lineHeight:\"1.4em\",cursor:effect===\"magic\"?\"pointer\":\"default\"},children:characters.map((char,index)=>/*#__PURE__*/_jsx(AnimatedElement,{element:char,index:index,totalElements:characters.length,scrollYProgress:scrollYProgress,effect:effect,color:color,accentColor:accentColor,visibleCount:visibleCount,fontLetterSpacing:font?.letterSpacing,isLastWord:effect===\"smarttypewriter\"&&index>=lastVisibleWord.start&&index<=lastVisibleWord.end,isStatic:isStatic,scrambleTrigger:scrambleTrigger,magicMixIntensity:magicMixIntensity,handwriteSmoothness:handwriteSmoothness,kernTightSpacing:kernTightSpacing,scaleUpHeight:scaleUpHeight,blurRevealIntensity:blurRevealIntensity,smartTypeCaretSpeed:smartTypeCaretSpeed,smartTypeShowCaret:smartTypeShowCaret,scrambleSpeed:scrambleSpeed,typewriterCaretSpace:typewriterCaretSpace,typewriterCaretSpeed:typewriterCaretSpeed,typewriterShowCaret:typewriterShowCaret},index))});}addPropertyControls(TextScrollEffectsPack,{text:{type:ControlType.String,title:\"Text\",defaultValue:\"Scroll to reveal this text animation\",displayTextArea:true},font:{type:ControlType.Font,title:\"Font Style\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:\"32px\",variant:\"Bold\",letterSpacing:\"-0.02em\",lineHeight:\"1.2em\"}},effect:{type:ControlType.Enum,title:\"Effect\",options:[\"blur\",\"scale\",\"kerning\",\"typewriter\",\"smarttypewriter\",\"handwrite\",\"scramble\",\"magic\"],optionTitles:[\"Blur Reveal\",\"Scale Up\",\"Kern Tight\",\"Type Writer\",\"Smart Type\",\"Hand Write\",\"Scramble In\",\"Magic Text\"],defaultValue:\"blur\"},color:{type:ControlType.Color,title:\"Text Color\",defaultValue:\"#000000\"},accentColor:{type:ControlType.Color,title:\"Accent Color\",defaultValue:\"#FF5500\",hidden:({effect})=>effect!==\"smarttypewriter\"&&effect!==\"magic\"},magicMixIntensity:{type:ControlType.Number,title:\"Mix Intensity\",defaultValue:50,min:10,max:150,step:5,unit:\"px\",hidden:({effect})=>effect!==\"magic\"},handwriteSmoothness:{type:ControlType.Number,title:\"Smoothness\",defaultValue:50,min:0,max:100,step:5,unit:\"%\",hidden:({effect})=>effect!==\"handwrite\"},kernTightSpacing:{type:ControlType.Number,title:\"Start Spacing\",defaultValue:.15,min:.05,max:.5,step:.01,unit:\"em\",hidden:({effect})=>effect!==\"kerning\"},scaleUpHeight:{type:ControlType.Number,title:\"Height Offset\",defaultValue:20,min:0,max:100,step:5,unit:\"px\",hidden:({effect})=>effect!==\"scale\"},blurRevealIntensity:{type:ControlType.Number,title:\"Blur Intensity\",defaultValue:.6,min:.1,max:2,step:.1,unit:\"x\",hidden:({effect})=>effect!==\"blur\"},smartTypeCaretSpeed:{type:ControlType.Number,title:\"Caret Speed\",defaultValue:.8,min:.1,max:2,step:.1,unit:\"s\",hidden:({effect})=>effect!==\"smarttypewriter\"},smartTypeShowCaret:{type:ControlType.Boolean,title:\"Show Caret\",defaultValue:true,enabledTitle:\"On\",disabledTitle:\"Off\",hidden:({effect})=>effect!==\"smarttypewriter\"},scrambleSpeed:{type:ControlType.Number,title:\"Scramble Speed\",defaultValue:30,min:10,max:100,step:5,unit:\"ms\",hidden:({effect})=>effect!==\"scramble\"},typewriterCaretSpace:{type:ControlType.Number,title:\"Caret Space\",defaultValue:.05,min:0,max:.5,step:.01,unit:\"em\",hidden:({effect})=>effect!==\"typewriter\"},typewriterCaretSpeed:{type:ControlType.Number,title:\"Blink Speed\",defaultValue:.8,min:.1,max:2,step:.1,unit:\"s\",hidden:({effect})=>effect!==\"typewriter\"},typewriterShowCaret:{type:ControlType.Boolean,title:\"Show Caret\",defaultValue:true,enabledTitle:\"On\",disabledTitle:\"Off\",hidden:({effect})=>effect!==\"typewriter\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"TextScrollEffectsPack\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"400\",\"framerSupportedLayoutHeight\":\"auto\",\"framerIntrinsicHeight\":\"100\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ScrollText.map"],"mappings":"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"}