{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/awJ7GONrnIslKgIQucCL/IiGNQASAJeMweEWaG2DW/TextTypewriter.js"],
  "sourcesContent": ["import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType}from\"framer\";import{motion}from\"framer-motion\";/**\n * @copyright \u00A9framersnippets.com\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n * @framerDisableUnlink\n **/export default function TextTypewriter(props){const migratedProps=migrateSpecificWords(props);const{content,specificWords,font,fontColor,cursor,effect,tag:Tag}=migratedProps;const[state,setState]=React.useState({displayedContent:\"\",wordIndex:0,isDeleting:false,isBlinking:false});const fullContent=React.useMemo(()=>{var _specificWords_state_wordIndex;return`${content} ${((_specificWords_state_wordIndex=specificWords[state.wordIndex])===null||_specificWords_state_wordIndex===void 0?void 0:_specificWords_state_wordIndex.text)||\"\"}`;},[content,specificWords,state.wordIndex]);const updateState=React.useCallback(()=>{setState(prevState=>{const{displayedContent,isDeleting,wordIndex}=prevState;if(!isDeleting&&displayedContent.length===fullContent.length){return{...prevState,isBlinking:true};}else if(isDeleting&&displayedContent.length===content.length){return{...prevState,wordIndex:(wordIndex+1)%specificWords.length,isDeleting:false,isBlinking:false};}return{...prevState,displayedContent:fullContent.substring(0,displayedContent.length+(isDeleting?-1:1))};});},[fullContent,content.length,specificWords.length]);React.useEffect(()=>{const timeoutId=setTimeout(updateState,effect.typingSpeed);return()=>clearTimeout(timeoutId);},[state.displayedContent,state.isDeleting,updateState,effect.typingSpeed]);React.useEffect(()=>{if(state.isBlinking){const timeoutId=setTimeout(()=>{setState(prevState=>({...prevState,isDeleting:true,isBlinking:false}));},effect.delay);return()=>clearTimeout(timeoutId);}},[state.isBlinking,effect.delay]);const renderContent=React.useCallback(()=>{var _specificWords_state_wordIndex;return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"span\",{children:state.displayedContent.substring(0,content.length)},\"content\"),/*#__PURE__*/_jsx(\"span\",{style:{color:(_specificWords_state_wordIndex=specificWords[state.wordIndex])===null||_specificWords_state_wordIndex===void 0?void 0:_specificWords_state_wordIndex.color},children:state.displayedContent.substring(content.length)},\"specific-word\")]});},[state.displayedContent,content.length,specificWords,state.wordIndex]);return /*#__PURE__*/_jsx(motion.div,{style:{...font,color:fontColor,whiteSpace:\"pre-wrap\",position:\"relative\",wordWrap:\"break-word\"},children:/*#__PURE__*/_jsxs(Tag,{style:{all:\"unset\",fontSize:font.fontSize},children:[renderContent(),/*#__PURE__*/_jsx(CursorComponent,{isBlinking:state.isBlinking,cursor:cursor,isMixedMargin:false},\"cursor\")]})});}TextTypewriter.defaultProps={content:\"Typewriter.\",specificWords:[{text:\"Cycle.\",color:\"#0599ff\"},{text:\"Content.\",color:\"#0599ff\"},{text:\"Color.\",color:\"#0599ff\"},{text:\"Cursor.\",color:\"#0599ff\"},{text:\"Blink.\",color:\"#0599ff\"},{text:\"Transition.\",color:\"#0599ff\"}],font:{fontSize:15,lineHeight:1,letterSpacing:0},fontColor:\"#000000\",cursor:{cursorColor:\"#0599ff\",cursorHeight:15,cursorWidth:2,verticalAlign:\"middle\",margin:0,blink:false},effect:{typingSpeed:100,delay:1500},tag:\"p\"};addPropertyControls(TextTypewriter,{font:{type:ControlType.Font,title:\"Font\",controls:\"extended\",displayTextAlignment:true,defaultFontType:\"sans-serif\",defaultValue:{fontSize:15,lineHeight:1,letterSpacing:0}},content:{type:ControlType.String,title:\"Content\",placeholder:\"Type something\u2026\",displayTextArea:true},fontColor:{type:ControlType.Color,title:\"\u200E\",defaultValue:\"#000000\"},specificWords:{type:ControlType.Array,title:\"Typewriter\",propertyControl:{type:ControlType.Object,controls:{text:{type:ControlType.String,title:\"Text\"},color:{type:ControlType.Color,title:\"Color\"}}}},cursor:{type:ControlType.Object,title:\"Cursor\",controls:{cursorColor:{type:ControlType.Color,title:\"Color\",defaultValue:\"#0599ff\"},cursorHeight:{type:ControlType.Number,title:\"Height\",displayStepper:true,defaultValue:18},cursorWidth:{type:ControlType.Number,title:\"Width\",displayStepper:true,defaultValue:2},verticalAlign:{type:ControlType.Enum,title:\"Align\",defaultValue:\"center\",options:[\"top\",\"middle\",\"bottom\"],optionTitles:[\"Top\",\"Center\",\"Bottom\"],displaySegmentedControl:true},margin:{type:ControlType.FusedNumber,title:\"Margin\",toggleKey:\"isMixedMargin\",toggleTitles:[\"All\",\"Individual\"],valueKeys:[\"topMargin\",\"rightMargin\",\"bottomMargin\",\"leftMargin\"],valueLabels:[\"T\",\"R\",\"B\",\"L\"],min:0},blink:{type:ControlType.Boolean,title:\"Blinking\",defaultValue:false,enabledTitle:\"On\",disabledTitle:\"Off\"}}},effect:{type:ControlType.Object,title:\"Transition\",controls:{typingSpeed:{type:ControlType.Number,title:\"Speed\",min:0,max:200,defaultValue:100,displayStepper:true,step:10},delay:{type:ControlType.Number,title:\"Delay\",min:0,max:5e3,defaultValue:2e3,displayStepper:true,step:100}}},tag:{type:ControlType.Enum,title:\"Tag\",options:[\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"p\",\"span\"],optionTitles:[\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"p\",\"span\"],defaultValue:\"p\"}});const CursorComponent=/*#__PURE__*/React.memo(({isBlinking,cursor,isMixedMargin=false})=>{const marginValue=isMixedMargin?`${cursor.margin}px`:`${cursor.topMargin}px ${cursor.rightMargin}px ${cursor.bottomMargin}px ${cursor.leftMargin}px`;const cursorStyle={display:\"inline-block\",width:cursor.cursorWidth,height:cursor.cursorHeight,backgroundColor:cursor.cursorColor,verticalAlign:cursor.verticalAlign,margin:marginValue,overflow:\"visible\"};return /*#__PURE__*/_jsx(motion.span,{style:cursorStyle,animate:{opacity:isBlinking&&cursor.blink?[0,1]:1},transition:{repeat:isBlinking&&cursor.blink?Infinity:0,duration:.6,repeatType:\"reverse\",type:\"spring\",delay:.2}});});function migrateSpecificWords(props){if(Array.isArray(props.specificWords)&&typeof props.specificWords[0]===\"string\"){return{...props,specificWords:props.specificWords.map(word=>({text:word,color:props.specificWordsColor||\"#0599ff\"}))};}return props;}\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"TextTypewriter\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"any\",\"framerDisableUnlink\":\"\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"any\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./TextTypewriter.map"],
  "mappings": "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",
  "names": ["TextTypewriter", "props", "migratedProps", "migrateSpecificWords", "content", "specificWords", "font", "fontColor", "cursor", "effect", "Tag", "state", "setState", "ye", "fullContent", "se", "_specificWords_state_wordIndex", "updateState", "te", "prevState", "displayedContent", "isDeleting", "wordIndex", "ue", "timeoutId", "renderContent", "u", "l", "p", "motion", "CursorComponent", "addPropertyControls", "ControlType", "X", "isBlinking", "isMixedMargin", "marginValue", "cursorStyle", "word"]
}
