{"version":3,"file":"TextTyper.DkO4D888.mjs","names":["React.useState","React.useMemo","useState","useRef","_Fragment","React"],"sources":["https:/framerusercontent.com/modules/4NaUwiFwDTQHSBu5wifY/TCTd9OcBE91E6AYTdYgG/Circular_Text.js","https:/framerusercontent.com/modules/jPS3Nt0fsty35OR1XOlV/KDckXYlJbkMK2hYevFCx/TextTyper.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType}from\"framer\";/** @framerDisableUnlink\n *\n * */export default function CircularText(props){const{text=\"FRAMER CIRCULAR TEXT • \",color=\"#111\",direction=\"clockwise\",motion={radius:90,startAngle:-90,rotateSpeed:6},font={fontFamily:\"Inter\",fontSize:14,fontWeight:600,lineHeight:1.2,letterSpacing:0},hoverEffect={type:\"none\",speedMode:\"faster\",speedValue:2,scale:1.1,color:color,transitionSpeed:.25}}=props;const radius=motion?.radius??90;const startAngle=motion?.startAngle??-90;const rotateSpeed=motion?.rotateSpeed??6;const[isHovered,setIsHovered]=React.useState(false);const effectiveRotateSpeed=hoverEffect.type===\"speed\"&&isHovered?hoverEffect.speedMode===\"faster\"?rotateSpeed/hoverEffect.speedValue:rotateSpeed*hoverEffect.speedValue:rotateSpeed;const resolvedFont=React.useMemo(()=>{const f=font||{};const normalizeUnit=(v,unit)=>{if(v===undefined||v===null||v===\"\")return undefined;if(typeof v===\"number\")return`${v}${unit}`;return v;};return{...f,// Framer sometimes returns number values; CSS needs units for these.\nfontSize:normalizeUnit(f.fontSize,\"px\"),// Framer Font control uses pixel-based tracking; keep it in px\nletterSpacing:normalizeUnit(f.letterSpacing,\"px\"),lineHeight:typeof f.lineHeight===\"number\"?`${f.lineHeight}em`:f.lineHeight};},[font]);const safeText=(text?.length?text:\" \").toString();const repeatedText=safeText.length<14?safeText.repeat(4):safeText.repeat(2);const chars=Array.from(repeatedText);// Angular letter spacing (mapped from Font → letterSpacing)\n// Treat letterSpacing as a percentage-based angular multiplier\nconst rawLetterSpacing=typeof font?.letterSpacing===\"number\"?font.letterSpacing:0;// Normalize: 0 = normal, positive = more spacing, negative = tighter\nconst spacingMultiplier=Math.max(.1,1+rawLetterSpacing/100);const step=360/chars.length*spacingMultiplier;const angles=chars.map((_,i)=>startAngle+i*step);const clockwise=direction===\"clockwise\";const hoverTransform=isHovered&&(hoverEffect.type===\"expand\"||hoverEffect.type===\"shrink\")?hoverEffect.type===\"expand\"?`scale(${hoverEffect.scale})`:`scale(${Math.max(.01,2-hoverEffect.scale)})`:\"scale(1)\";const rotateKeyframesName=direction===\"clockwise\"?\"circularTextRotateCW\":\"circularTextRotateCCW\";return /*#__PURE__*/_jsxs(\"div\",{style:{width:radius*2+\"px\",height:radius*2+\"px\",display:\"flex\",alignItems:\"center\",position:\"relative\",overflow:\"visible\"},children:[/*#__PURE__*/_jsx(\"style\",{children:`\n  @keyframes circularTextRotateCW {\n    from { transform: rotate(0deg); }\n    to { transform: rotate(360deg); }\n  }\n\n  @keyframes circularTextRotateCCW {\n    from { transform: rotate(0deg); }\n    to { transform: rotate(-360deg); }\n  }\n`}),/*#__PURE__*/_jsx(\"div\",{style:{width:radius*2+\"px\",height:radius*2+\"px\",position:\"relative\",transition:`transform ${hoverEffect.transitionSpeed}s ease`,transform:`${hoverTransform}`},onMouseEnter:()=>setIsHovered(true),onMouseLeave:()=>setIsHovered(false),children:/*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",height:\"100%\",position:\"relative\",borderRadius:\"50%\",transformOrigin:\"50% 50%\",WebkitTransformOrigin:\"50% 50%\",animationName:rotateKeyframesName,animationTimingFunction:\"linear\",animationIterationCount:\"infinite\",animationDuration:`${Math.max(.05,effectiveRotateSpeed)}s`,animationPlayState:hoverEffect.type===\"pause\"&&isHovered?\"paused\":\"running\",willChange:\"transform\"},children:chars.map((char,i)=>{const angle=angles[i];return /*#__PURE__*/_jsx(\"span\",{style:{position:\"absolute\",inset:0,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",textAlign:\"center\",transformOrigin:\"50% 50%\",WebkitTransformOrigin:\"50% 50%\",// Reference-like circular placement\ntransform:`rotateZ(${angle}deg) translate3d(0, -${radius}px, 0)`,WebkitTransform:`rotateZ(${angle}deg) translate3d(0, -${radius}px, 0)`,...resolvedFont,color:hoverEffect.type===\"color\"&&isHovered?hoverEffect.color:color,transition:`color ${hoverEffect.transitionSpeed}s ease`,whiteSpace:\"pre\",userSelect:\"none\",pointerEvents:\"none\"},children:char===\" \"?\"\\xa0\":char},i);})})})]});}/* ===========================\n   Framer Property Controls\n   =========================== */addPropertyControls(CircularText,{text:{type:ControlType.String,title:\"Text\",defaultValue:\"FRAMER CIRCULAR TEXT • \",description:\"Type any text. Short text auto-repeats.\"},motion:{type:ControlType.Object,title:\"Motion\",controls:{radius:{type:ControlType.Number,title:\"Radius\",defaultValue:90,min:30,max:400,step:1},startAngle:{type:ControlType.Number,title:\"Start Angle\",defaultValue:-90,min:-360,max:360,step:1},rotateSpeed:{type:ControlType.Number,title:\"Speed (s)\",defaultValue:6,min:.1,max:60,step:.1,description:\"Lower = faster rotation\"}}},hoverEffect:{type:ControlType.Object,title:\"Hover Effect\",controls:{type:{type:ControlType.Enum,displaySegmentedControl:true,segmentedControlDirection:\"vertical\",title:\"Effect\",options:[\"none\",\"speed\",\"expand\",\"shrink\",\"color\",\"pause\"],optionTitles:[\"None\",\"Speed\",\"Expand\",\"Shrink\",\"Color\",\"Pause\"],defaultValue:\"none\"},speedMode:{type:ControlType.Enum,title:\"Speed Mode\",options:[\"faster\",\"slower\"],optionTitles:[\"Increase\",\"Decrease\"],hidden:props=>props.type!==\"speed\"},speedValue:{type:ControlType.Number,title:\"Speed Factor\",defaultValue:2,min:1.1,max:10,step:.1,hidden:props=>props.type!==\"speed\"},scale:{type:ControlType.Number,title:\"Scale\",defaultValue:1.1,min:.8,max:2,step:.01,hidden:props=>![\"expand\",\"shrink\"].includes(props.type)},color:{type:ControlType.Color,title:\"Hover Color\",defaultValue:\"#000000\",hidden:props=>props.type!==\"color\"},transitionSpeed:{type:ControlType.Number,title:\"Transition Speed (s)\",defaultValue:.25,min:.05,max:2,step:.05,hidden:props=>props.type===\"none\"}}},direction:{type:ControlType.Enum,title:\"Direction\",defaultValue:\"clockwise\",options:[\"clockwise\",\"anticlockwise\"],optionTitles:[\"Clockwise\",\"Anti-clockwise\"]},color:{type:ControlType.Color,title:\"Color\",defaultValue:\"#111111\"},font:{type:ControlType.Font,title:\"Font\",controls:\"extended\",defaultValue:{fontFamily:\"Inter\",fontSize:14,fontWeight:600,lineHeight:1.2,letterSpacing:0}}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"CircularText\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerDisableUnlink\":\"*\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Circular_Text.map","/**\n * @framerDisableUnlink\n */import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import React,{useState,useEffect,useRef}from\"react\";import{motion,useInView}from\"framer-motion\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";export default function TextTyper(props){const{text,characters,speed,letters,color,scrambledColor,tag,textTransform,userSelect,font,showCursor,cursorPreset,customCursor,cursorColor,cursorBlinkSpeed,hideCursorOnFinish,isActive,previewOnCanvas}=props;const isCanvas=RenderTarget.current()===RenderTarget.canvas;const shouldSkipAnimation=isCanvas&&!previewOnCanvas;const getStaticTextState=rawText=>{return rawText.split(\"\").map(char=>({char,isScrambled:false,isVisible:true}));};const[displayText,setDisplayText]=useState(()=>shouldSkipAnimation?getStaticTextState(text):[]);const[isFinished,setIsFinished]=useState(shouldSkipAnimation);const[cursorIndex,setCursorIndex]=useState(()=>shouldSkipAnimation?text.length:0);const containerRef=useRef(null);const isInView=useInView(containerRef,{once:true,margin:\"-50px\"});const shouldAnimate=!shouldSkipAnimation&&isInView&&isActive;const MotionTag=motion[tag]||motion.p;const getCursorChar=()=>{const presets={pipe:\"|\",underscore:\"_\",doubleBar:\"‖\",block:\"█\",leftHalf:\"▌\",rightHalf:\"▐\",fullBlock:\"█\"};return cursorPreset===\"custom\"?customCursor:presets[cursorPreset]||\"|\";};useEffect(()=>{if(shouldSkipAnimation){setDisplayText(getStaticTextState(text));setIsFinished(true);setCursorIndex(text.length);}},[text,shouldSkipAnimation]);useEffect(()=>{if(!shouldAnimate){if(!shouldSkipAnimation){setDisplayText([]);setIsFinished(false);setCursorIndex(0);}return;}setIsFinished(false);let iteration=0;const charArray=text.split(\"\");const totalLength=charArray.length;const intervalTime=(1.1-speed)*80;const interval=setInterval(()=>{const result=charArray.map((char,index)=>{if(index<iteration){return{char:char,isScrambled:false,isVisible:true};}if(index>=iteration&&index<iteration+letters){if(char===\"\\n\")return{char:\"\\n\",isScrambled:false,isVisible:true};const randomChar=characters[Math.floor(Math.random()*characters.length)];return{char:randomChar,isScrambled:true,isVisible:true};}return{char:char,isScrambled:false,isVisible:false};});setDisplayText(result);setCursorIndex(Math.floor(iteration));if(iteration>=totalLength){setIsFinished(true);setCursorIndex(totalLength);clearInterval(interval);}iteration+=.5;},intervalTime);return()=>clearInterval(interval);},[shouldAnimate,text,characters,speed,letters,shouldSkipAnimation]);const cursorVariants={blinking:{opacity:[1,0],transition:{duration:cursorBlinkSpeed,repeat:Infinity,ease:\"steps(2, start)\"}}};const Cursor=()=>/*#__PURE__*/_jsx(motion.span,{variants:cursorVariants,animate:\"blinking\",style:{display:\"inline-block\",verticalAlign:\"baseline\",color:cursorColor,marginLeft:\"1px\",lineHeight:\"1\"},children:getCursorChar()});return /*#__PURE__*/_jsx(MotionTag,{ref:containerRef,style:{...font,textTransform:textTransform,color:color,userSelect:userSelect?\"auto\":\"none\",whiteSpace:\"pre-wrap\",wordBreak:\"break-word\",overflowWrap:\"anywhere\",margin:0,width:\"100%\",minHeight:\"1em\"},children:displayText.length>0?/*#__PURE__*/_jsxs(_Fragment,{children:[displayText.map((item,i)=>/*#__PURE__*/_jsxs(React.Fragment,{children:[/*#__PURE__*/_jsx(\"span\",{style:{color:item.isScrambled?scrambledColor:color,opacity:item.isVisible?1:0},children:item.char}),showCursor&&i===cursorIndex-1&&!isFinished&&/*#__PURE__*/_jsx(Cursor,{})]},i)),showCursor&&isFinished&&!hideCursorOnFinish&&/*#__PURE__*/_jsx(Cursor,{})]}):shouldAnimate&&showCursor&&/*#__PURE__*/_jsx(Cursor,{})});}TextTyper.defaultProps={previewOnCanvas:false,isActive:true,text:\"Output: System audit report\\nwith identified automation opportunities\",characters:\"ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()_+[]{}|;:,.<>?~\",speed:.75,letters:5,color:\"#000000\",scrambledColor:\"rgba(0,0,0,0.3)\",tag:\"p\",textTransform:\"none\",userSelect:true,showCursor:true,cursorPreset:\"pipe\",customCursor:\"|\",cursorColor:\"#000000\",cursorBlinkSpeed:.6,hideCursorOnFinish:false,font:{fontFamily:\"JetBrains Mono\",fontSize:\"14px\",fontWeight:\"500\",lineHeight:\"1.4em\"}};addPropertyControls(TextTyper,{previewOnCanvas:{type:ControlType.Boolean,title:\"Canvas Animate\",defaultValue:false},isActive:{type:ControlType.Boolean,title:\"Is Active\",defaultValue:true},text:{type:ControlType.String,title:\"Text\",displayTextArea:true},characters:{type:ControlType.String,title:\"Characters\",displayTextArea:true},tag:{type:ControlType.Enum,title:\"Tag\",options:[\"h1\",\"h2\",\"h3\",\"p\",\"div\"],optionTitles:[\"H1\",\"H2\",\"H3\",\"P\",\"Div\"]},font:{type:ControlType.Font,controls:\"extended\",title:\"Font\"},textTransform:{type:ControlType.Enum,title:\"Text Transform\",options:[\"none\",\"capitalize\",\"uppercase\",\"lowercase\",\"full-width\"],optionTitles:[\"None\",\"Capitalize\",\"Uppercase\",\"Lowercase\",\"Full Width\"]},color:{type:ControlType.Color,title:\"Color\"},scrambledColor:{type:ControlType.Color,title:\"Scrambled\"},speed:{type:ControlType.Number,title:\"Speed\",min:.1,max:1,step:.01},letters:{type:ControlType.Number,title:\"Tail Length\",min:0,max:50},userSelect:{type:ControlType.Boolean,title:\"User Select\"},showCursor:{type:ControlType.Boolean,title:\"Show Cursor\"},cursorPreset:{type:ControlType.Enum,title:\"Cursor Preset\",options:[\"pipe\",\"underscore\",\"doubleBar\",\"block\",\"leftHalf\",\"rightHalf\",\"fullBlock\",\"custom\"],optionTitles:[\"Pipe |\",\"Underscore _\",\"Double Bar ‖\",\"Block █\",\"Left Half ▌\",\"Right Half ▐\",\"Full Block █\",\"Custom\"]},customCursor:{type:ControlType.String,title:\"Custom Symbol\"},cursorColor:{type:ControlType.Color,title:\"Cursor Color\"},cursorBlinkSpeed:{type:ControlType.Number,title:\"Blink (s)\",min:.1,max:2,step:.1},hideCursorOnFinish:{type:ControlType.Boolean,title:\"Hide when done\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"TextTyper\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./TextTyper.map"],"mappings":"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"}