{"version":3,"file":"TextLoop_Typer_Pro.rzpgAtTQ.mjs","names":["React.useState"],"sources":["https:/framerusercontent.com/modules/CvG5QpV25VLZZOQV4LYZ/TiFl3bqgRrVD8PcBR1gu/TextLoop_Typer_Pro.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";import{motion,AnimatePresence}from\"framer-motion\";//@framerDisableUnlink\nexport default function TypingEffect(props){const{texts,typingSpeed,deleteSpeed,pauseDuration,transitionDuration,loop,cursorStyle,cursorBlink,color,cursorColor,fontSize,style,animationType,highlightColor,highlightLength,fontFamily,textAlign,customCursor,letterSpacing,lineHeight}=props;const isStatic=useIsStaticRenderer();const[currentTextIndex,setCurrentTextIndex]=React.useState(0);const[currentText,setCurrentText]=React.useState(\"\");const[isDeleting,setIsDeleting]=React.useState(false);const[isVisible,setIsVisible]=React.useState(true);const isTypingMode=animationType===\"Typing\";const isSlideUp=animationType===\"Slide Up\";React.useEffect(()=>{if(isStatic)return;if(!texts||texts.length===0)return;const fullText=texts[currentTextIndex];if(fullText===undefined){setCurrentTextIndex(0);if(isTypingMode)setCurrentText(\"\");setIsDeleting(false);setIsVisible(true);return;}let timeout;if(isTypingMode){if(isDeleting){timeout=setTimeout(()=>{setCurrentText(fullText.substring(0,currentText.length-1));if(currentText.length<=1){setIsDeleting(false);setCurrentTextIndex(prev=>(prev+1)%texts.length);}},deleteSpeed);}else{if(currentText===fullText){if(!loop&&currentTextIndex===texts.length-1)return;timeout=setTimeout(()=>{setIsDeleting(true);},pauseDuration);}else{timeout=setTimeout(()=>{setCurrentText(fullText.substring(0,currentText.length+1));},typingSpeed);}}}else{if(isVisible){if(!loop&&currentTextIndex===texts.length-1)return;timeout=setTimeout(()=>{setIsVisible(false);},pauseDuration);}else{timeout=setTimeout(()=>{setCurrentTextIndex(prev=>(prev+1)%texts.length);setIsVisible(true);},transitionDuration);}}return()=>clearTimeout(timeout);},[isStatic,currentText,isDeleting,currentTextIndex,texts,typingSpeed,deleteSpeed,pauseDuration,transitionDuration,loop,animationType,isVisible]);const cursorChar=customCursor!==\"\"?customCursor:cursorStyle===\"Block\"?\"█\":\"|\";const alignMap={left:\"flex-start\",center:\"center\",right:\"flex-end\"};const containerStyle={...defaultContainerStyle,...style,color,fontSize,fontFamily:fontFamily===\"inherit\"?\"inherit\":fontFamily,letterSpacing:`${letterSpacing}px`,lineHeight:lineHeight,justifyContent:alignMap[textAlign]||\"flex-start\",textAlign:textAlign};const firstText=texts&&texts.length>0?texts[0]:\"\";// Static fallback\nif(isStatic){return /*#__PURE__*/_jsxs(\"div\",{style:containerStyle,children:[/*#__PURE__*/_jsx(\"span\",{style:{whiteSpace:\"pre-wrap\"},children:firstText}),/*#__PURE__*/_jsx(\"span\",{style:{color:cursorColor,display:\"inline-block\",marginLeft:cursorStyle===\"Block\"&&!customCursor?\"4px\":\"2px\"},children:cursorChar})]});}let normalText=currentText;let highlightedText=\"\";if(isTypingMode&&highlightColor&&highlightColor!==\"\"&&highlightLength>0&&currentText.length>0){const splitIndex=Math.max(0,currentText.length-highlightLength);normalText=currentText.substring(0,splitIndex);highlightedText=currentText.substring(splitIndex);}return /*#__PURE__*/_jsxs(\"div\",{style:containerStyle,children:[isTypingMode?/*#__PURE__*/_jsxs(\"span\",{style:{whiteSpace:\"pre-wrap\"},children:[/*#__PURE__*/_jsx(\"span\",{style:{color:\"inherit\"},children:normalText}),highlightColor&&highlightLength>0&&/*#__PURE__*/_jsx(\"span\",{style:{color:highlightColor},children:highlightedText})]}):/*#__PURE__*/_jsx(AnimatePresence,{mode:\"wait\",children:isVisible&&/*#__PURE__*/_jsx(motion.span,{initial:{opacity:0,y:isSlideUp?20:0},animate:{opacity:1,y:0},exit:{opacity:0,y:isSlideUp?-20:0},transition:{duration:transitionDuration/1e3},style:{display:\"inline-block\",whiteSpace:\"pre-wrap\"},children:texts[currentTextIndex]},currentTextIndex)}),/*#__PURE__*/_jsx(motion.span,{animate:{opacity:cursorBlink?[1,1,0,0]:1},transition:{repeat:Infinity,duration:1,times:[0,.5,.5,1]},style:{color:cursorColor,display:\"inline-block\",marginLeft:cursorStyle===\"Block\"&&!customCursor?\"4px\":\"2px\"},children:cursorChar})]});}const defaultContainerStyle={display:\"flex\",alignItems:\"center\",justifyContent:\"flex-start\",fontFamily:\"monospace\",width:\"100%\",height:\"100%\",overflow:\"hidden\"};TypingEffect.defaultProps={texts:[\"Hello, World!\",\"Welcome to Framer.\",\"Build something great.\"],typingSpeed:80,deleteSpeed:40,pauseDuration:2e3,transitionDuration:600,loop:true,cursorStyle:\"Line\",cursorBlink:true,color:\"#e8e8f0\",cursorColor:\"#5c5cf0\",fontSize:32,animationType:\"Typing\",highlightColor:\"\",highlightLength:1,fontFamily:\"monospace\",textAlign:\"left\",customCursor:\"\",letterSpacing:0,lineHeight:1.2};addPropertyControls(TypingEffect,{texts:{type:ControlType.Array,control:{type:ControlType.String},defaultValue:[\"Hello, World!\",\"Welcome to Framer.\",\"Build something great.\"],title:\"Texts\"},animationType:{type:ControlType.Enum,options:[\"Typing\",\"Fade\",\"Slide Up\"],defaultValue:\"Typing\",title:\"Animation\"},typingSpeed:{type:ControlType.Number,defaultValue:80,min:10,max:500,unit:\"ms\",title:\"Typing Speed\",hidden(props){return props.animationType!==\"Typing\";}},deleteSpeed:{type:ControlType.Number,defaultValue:40,min:10,max:500,unit:\"ms\",title:\"Delete Speed\",hidden(props){return props.animationType!==\"Typing\";}},pauseDuration:{type:ControlType.Number,defaultValue:2e3,max:1e4,unit:\"ms\",title:\"Pause Duration\"},transitionDuration:{type:ControlType.Number,defaultValue:600,min:100,max:3e3,unit:\"ms\",title:\"Trans Duration\",hidden(props){return props.animationType===\"Typing\";}},loop:{type:ControlType.Boolean,defaultValue:true,title:\"Loop\"},highlightColor:{type:ControlType.Color,defaultValue:\"\",title:\"Highlight Color\",hidden(props){return props.animationType!==\"Typing\";}},highlightLength:{type:ControlType.Number,defaultValue:1,title:\"Highlight Len\",hidden(props){return props.animationType!==\"Typing\";}},cursorStyle:{type:ControlType.Enum,options:[\"Line\",\"Block\"],defaultValue:\"Line\",title:\"Cursor Style\",hidden(props){return props.customCursor!==\"\";}},customCursor:{type:ControlType.String,defaultValue:\"\",title:\"Custom Cursor\"},cursorBlink:{type:ControlType.Boolean,defaultValue:true,title:\"Cursor Blink\"},color:{type:ControlType.Color,defaultValue:\"#e8e8f0\",title:\"Color\"},cursorColor:{type:ControlType.Color,defaultValue:\"#5c5cf0\",title:\"Cursor Color\"},fontSize:{type:ControlType.Number,defaultValue:32,unit:\"px\",title:\"Font Size\"},fontFamily:{type:ControlType.Enum,options:[\"monospace\",\"sans-serif\",\"serif\",\"inherit\"],defaultValue:\"monospace\",title:\"Font Family\"},textAlign:{type:ControlType.Enum,options:[\"left\",\"center\",\"right\"],defaultValue:\"left\",title:\"Align\"},letterSpacing:{type:ControlType.Number,defaultValue:0,unit:\"px\",title:\"Letter Spacing\"},lineHeight:{type:ControlType.Number,defaultValue:1.2,step:.1,title:\"Line Height\"}});TypingEffect.framerSupportedLayoutWidth=\"any\";TypingEffect.framerSupportedLayoutHeight=\"auto\";TypingEffect.framerIntrinsicWidth=300;TypingEffect.framerIntrinsicHeight=60;\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"TypingEffect\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerDisableUnlink\":\"\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./TextLoop_Typer_Pro.map"],"mappings":"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"}