{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/97Y0wCdGfvHTIMDOTPhg/6vV2fcIbOVUR5Ve6S8yG/Appear.js"],
  "sourcesContent": ["import{jsx as _jsx}from\"react/jsx-runtime\";import{useEffect,useState}from\"react\";import{motion}from\"framer-motion\";import{addPropertyControls,ControlType}from\"framer\";const TextAppearEffect=({text,speed,style,alignment,previewMode})=>{const[visibleChars,setVisibleChars]=useState(previewMode?text.length:0);useEffect(()=>{if(previewMode)return;// Skip animation in preview mode\nconst numChars=text.length;const interval=setInterval(()=>{setVisibleChars(prevVisibleChars=>{if(prevVisibleChars<numChars){return prevVisibleChars+1;}clearInterval(interval);return prevVisibleChars;});},1e3/speed);return()=>clearInterval(interval);},[text,speed,previewMode]);return /*#__PURE__*/_jsx(\"div\",{style:{...style,whiteSpace:\"pre-wrap\",hyphens:\"auto\",textAlign:alignment},children:Array.from(text).map((char,index)=>/*#__PURE__*/_jsx(motion.span,{initial:{opacity:previewMode?1:0},animate:{opacity:index<visibleChars?1:0},transition:{duration:.1},children:char},index))});};export default function TextAppear(props){const{tint,font,text,fsize,lheight,speed,alignment,previewMode}=props;const style={fontSize:`${fsize}px`,lineHeight:lheight,color:tint,fontFamily:font,hyphens:\"auto\",MozHyphens:\"auto\",WebkitHyphens:\"auto\",msHyphens:\"auto\",wordSpacing:\"normal\"};return /*#__PURE__*/_jsx(\"div\",{lang:\"en\",style:{maxWidth:\"100%\"},children:/*#__PURE__*/_jsx(TextAppearEffect,{text:text,speed:speed,style:style,alignment:alignment,previewMode:previewMode})});}TextAppear.defaultProps={tint:\"#000000\",fsize:18,lheight:\"normal\",text:\"This is the text that will appear slowly, simulating a typewriter effect. Enjoy the animation and the justified alignment!\",speed:50,alignment:\"justify\",previewMode:false};addPropertyControls(TextAppear,{lheight:{title:\"Line Height\",type:ControlType.Number,defaultValue:\"normal\",min:0,max:10,step:.1},fsize:{title:\"Font Size\",type:ControlType.Number,defaultValue:18},text:{title:\"Text\",type:ControlType.String,defaultValue:\"This is the text that will appear slowly, simulating a typewriter effect.\"},tint:{title:\"Color\",type:ControlType.Color,defaultValue:\"#000000\"},font:{title:\"Font Family\",type:ControlType.Enum,options:[\"Arial\",\"Times New Roman\",\"Courier\",\"sans-serif\"],defaultValue:\"sans-serif\"},speed:{title:\"Speed\",type:ControlType.Number,min:1,max:100,defaultValue:50},alignment:{title:\"Text Alignment\",type:ControlType.Enum,options:[\"left\",\"center\",\"right\",\"justify\"],optionTitles:[\"Left\",\"Center\",\"Right\",\"Justify\"],defaultValue:\"justify\"},previewMode:{title:\"Preview Mode\",type:ControlType.Boolean,defaultValue:false}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"TextAppear\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Appear.map"],
  "mappings": "6EAAuK,IAAMA,EAAiB,CAAC,CAAC,KAAAC,EAAK,MAAAC,EAAM,MAAAC,EAAM,UAAAC,EAAU,YAAAC,CAAW,IAAI,CAAC,GAAK,CAACC,EAAaC,CAAe,EAAEC,EAASH,EAAYJ,EAAK,OAAO,CAAC,EAAE,OAAAQ,EAAU,IAAI,CAAC,GAAGJ,EAAY,OACjV,IAAMK,EAAST,EAAK,OAAaU,EAAS,YAAY,IAAI,CAACJ,EAAgBK,GAAsBA,EAAiBF,EAAiBE,EAAiB,GAAG,cAAcD,CAAQ,EAASC,EAAkB,CAAE,EAAE,IAAIV,CAAK,EAAE,MAAM,IAAI,cAAcS,CAAQ,CAAE,EAAE,CAACV,EAAKC,EAAMG,CAAW,CAAC,EAAsBQ,EAAK,MAAM,CAAC,MAAM,CAAC,GAAGV,EAAM,WAAW,WAAW,QAAQ,OAAO,UAAUC,CAAS,EAAE,SAAS,MAAM,KAAKH,CAAI,EAAE,IAAI,CAACa,EAAKC,IAAqBF,EAAKG,EAAO,KAAK,CAAC,QAAQ,CAAC,QAAQX,EAAY,EAAE,CAAC,EAAE,QAAQ,CAAC,QAAQU,EAAMT,EAAa,EAAE,CAAC,EAAE,WAAW,CAAC,SAAS,EAAE,EAAE,SAASQ,CAAI,EAAEC,CAAK,CAAC,CAAC,CAAC,CAAE,EAAiB,SAARE,EAA4BC,EAAM,CAAC,GAAK,CAAC,KAAAC,EAAK,KAAAC,EAAK,KAAAnB,EAAK,MAAAoB,EAAM,QAAAC,EAAQ,MAAApB,EAAM,UAAAE,EAAU,YAAAC,CAAW,EAAEa,EAAYf,EAAM,CAAC,SAAS,GAAGkB,MAAU,WAAWC,EAAQ,MAAMH,EAAK,WAAWC,EAAK,QAAQ,OAAO,WAAW,OAAO,cAAc,OAAO,UAAU,OAAO,YAAY,QAAQ,EAAE,OAAoBP,EAAK,MAAM,CAAC,KAAK,KAAK,MAAM,CAAC,SAAS,MAAM,EAAE,SAAsBA,EAAKb,EAAiB,CAAC,KAAKC,EAAK,MAAMC,EAAM,MAAMC,EAAM,UAAUC,EAAU,YAAYC,CAAW,CAAC,CAAC,CAAC,CAAE,CAACY,EAAW,aAAa,CAAC,KAAK,UAAU,MAAM,GAAG,QAAQ,SAAS,KAAK,6HAA6H,MAAM,GAAG,UAAU,UAAU,YAAY,EAAK,EAAEM,EAAoBN,EAAW,CAAC,QAAQ,CAAC,MAAM,cAAc,KAAKO,EAAY,OAAO,aAAa,SAAS,IAAI,EAAE,IAAI,GAAG,KAAK,EAAE,EAAE,MAAM,CAAC,MAAM,YAAY,KAAKA,EAAY,OAAO,aAAa,EAAE,EAAE,KAAK,CAAC,MAAM,OAAO,KAAKA,EAAY,OAAO,aAAa,2EAA2E,EAAE,KAAK,CAAC,MAAM,QAAQ,KAAKA,EAAY,MAAM,aAAa,SAAS,EAAE,KAAK,CAAC,MAAM,cAAc,KAAKA,EAAY,KAAK,QAAQ,CAAC,QAAQ,kBAAkB,UAAU,YAAY,EAAE,aAAa,YAAY,EAAE,MAAM,CAAC,MAAM,QAAQ,KAAKA,EAAY,OAAO,IAAI,EAAE,IAAI,IAAI,aAAa,EAAE,EAAE,UAAU,CAAC,MAAM,iBAAiB,KAAKA,EAAY,KAAK,QAAQ,CAAC,OAAO,SAAS,QAAQ,SAAS,EAAE,aAAa,CAAC,OAAO,SAAS,QAAQ,SAAS,EAAE,aAAa,SAAS,EAAE,YAAY,CAAC,MAAM,eAAe,KAAKA,EAAY,QAAQ,aAAa,EAAK,CAAC,CAAC",
  "names": ["TextAppearEffect", "text", "speed", "style", "alignment", "previewMode", "visibleChars", "setVisibleChars", "ye", "ue", "numChars", "interval", "prevVisibleChars", "p", "char", "index", "motion", "TextAppear", "props", "tint", "font", "fsize", "lheight", "addPropertyControls", "ControlType"]
}
