{"version":3,"file":"TerminalText.BThOMopX.mjs","names":["useState","useRef","__esmMin","init_ssg_sandbox_shims","window","_e","de","p","init_npm_react_18_3_1","ce","useIsStaticRenderer","addPropertyControls","ControlType","init_framer_BWFVvmND","TerminalText","rawWords","props","words","isStatic","isIntro","mode","lines","setLines","done","setDone","reduced","setReduced","timer","alive","speed","later","fn","ms","full","li","ci","type","cur","wipe","hold","next","prev","erase","w","i","del","tick","s","loop","f","FONTS","isSys","caret","caretColor","Tag","tag","style","SR","l","init_TerminalText","init_jsx_runtime"],"sources":["https:/framerusercontent.com/modules/b3HrSnluHsGPZMldEUzT/gkasaEGEXkGPEZ5QoI8z/TerminalText.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useEffect,useRef,useState}from\"react\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";const FONTS={titular:{fontFamily:'\"Barlow Condensed\", \"Arial Narrow\", sans-serif',fontWeight:800,lineHeight:.92,textTransform:\"uppercase\"},intro:{fontFamily:'\"Barlow Condensed\", \"Arial Narrow\", sans-serif',fontWeight:800,lineHeight:.92,textTransform:\"uppercase\"},sistema:{fontFamily:'\"IBM Plex Mono\", ui-monospace, Menlo, monospace',fontWeight:400,lineHeight:\"20px\",textTransform:\"none\"}};const SR={position:\"absolute\",width:1,height:1,padding:0,margin:-1,overflow:\"hidden\",clip:\"rect(0,0,0,0)\",whiteSpace:\"nowrap\",border:0};/**\n * Texto de terminal (guía FAS · TerminalText).\n * titular / sistema: escribe y borra en rotación. intro: escribe cada frase en su línea, se mantiene, se borra y desaparece.\n *\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight auto\n */export default function TerminalText(props){const{words:rawWords,mode,tag,loop,speed,erase,hold,fontSize,color,caretColor,style}=props;const words=rawWords&&rawWords.length?rawWords:[\"FAS ROBOTICS\"];const isStatic=useIsStaticRenderer();const isIntro=mode===\"intro\";const[lines,setLines]=useState(isStatic?isIntro?words:[words[0]]:isIntro?[\"\"]:[words[0]]);const[done,setDone]=useState(false);const[reduced,setReduced]=useState(false);const timer=useRef(null);useEffect(()=>{if(isStatic||typeof window===\"undefined\")return;if(window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches){setReduced(true);setLines(isIntro?words:[words[0]]);return;}let alive=true;const t=speed||(mode===\"sistema\"?25:45);const later=(fn,ms)=>{timer.current=setTimeout(()=>alive&&fn(),ms);};if(isIntro){const full=[...words];let li=0,ci=0;setDone(false);setLines([\"\"]);const type=()=>{const cur=full.slice(0,li).concat(full[li].slice(0,++ci));setLines(cur);if(ci<full[li].length)return later(type,t*(.6+Math.random()*.8));if(li<full.length-1){li++;ci=0;return later(type,260);}later(wipe,hold);};const wipe=()=>{setLines(prev=>{const next=[...prev];while(next.length&&next[next.length-1].length===0)next.pop();if(!next.length)return[\"\"];next[next.length-1]=next[next.length-1].slice(0,-1);return next;});const remaining=timer.count=(timer.count??full.join(\"\").length)-1;if(remaining>0)return later(wipe,erase);later(()=>{setLines([\"\"]);setDone(true);},200);};timer.count=undefined;later(type,500);return()=>{alive=false;if(timer.current)clearTimeout(timer.current);};}let w=0,i=0,del=false;setLines([\"\"]);const tick=()=>{const s=words[w];if(!del){i++;setLines([s.slice(0,i)]);if(i<s.length)return later(tick,t*(.6+Math.random()*.8));if(!loop&&w===words.length-1)return;del=true;return later(tick,hold);}i--;setLines([s.slice(0,i)]);if(i>0)return later(tick,erase);del=false;w=(w+1)%words.length;later(tick,400);};later(tick,300);return()=>{alive=false;if(timer.current)clearTimeout(timer.current);};},[isStatic,JSON.stringify(words),mode,loop,speed,erase,hold]);const f=FONTS[mode]||FONTS.titular;const isSys=mode===\"sistema\";const caret={display:\"inline-block\",width:\"0.25em\",height:isSys?\"1em\":\"0.78em\",marginLeft:\"0.06em\",verticalAlign:isSys?\"-0.18em\":\"-0.02em\",background:caretColor,opacity:done?0:1,transition:\"opacity 200ms linear\",animation:reduced||isStatic||done?\"none\":\"fasBlink 1s steps(1) infinite\"};const Tag=tag||\"div\";const full=words.join(\". \").replace(/\\.\\.+/g,\".\");return /*#__PURE__*/_jsxs(Tag,{style:{...style,margin:0,color,fontSize,...f,minHeight:isIntro?`${.92*words.length}em`:\"0.92em\",position:\"relative\"},\"aria-label\":full,children:[/*#__PURE__*/_jsx(\"style\",{children:\"@keyframes fasBlink { 50% { opacity: 0 } }\"}),/*#__PURE__*/_jsx(\"span\",{style:SR,children:full}),lines.map((l,i)=>/*#__PURE__*/_jsxs(\"span\",{\"aria-hidden\":\"true\",style:{display:isIntro?\"block\":\"inline\"},children:[l,i===lines.length-1&&/*#__PURE__*/_jsx(\"span\",{\"aria-hidden\":\"true\",style:caret})]},i))]});}TerminalText.displayName=\"FAS/TerminalText\";addPropertyControls(TerminalText,{words:{type:ControlType.Array,title:\"Frases\",control:{type:ControlType.String},defaultValue:[\"FAS ROBOTICS\",\"TECNOLOG\\xcdAS AVANZADAS PARA LA DEFENSA.\"],maxCount:4},mode:{type:ControlType.Enum,title:\"Modo\",options:[\"titular\",\"sistema\",\"intro\"],optionTitles:[\"Titular en rotaci\\xf3n\",\"L\\xednea de sistema\",\"Presentaci\\xf3n (una vez)\"],defaultValue:\"titular\"},tag:{type:ControlType.Enum,title:\"Etiqueta\",options:[\"div\",\"h1\",\"h2\",\"p\"],defaultValue:\"div\"},fontSize:{type:ControlType.Number,title:\"Tama\\xf1o\",defaultValue:64,min:10,max:160,unit:\"px\"},loop:{type:ControlType.Boolean,title:\"Bucle\",defaultValue:true,hidden:p=>p.mode===\"intro\"},speed:{type:ControlType.Number,title:\"Escritura\",defaultValue:45,min:10,max:200,unit:\"ms\"},erase:{type:ControlType.Number,title:\"Borrado\",defaultValue:20,min:5,max:200,unit:\"ms\"},hold:{type:ControlType.Number,title:\"Pausa\",defaultValue:1800,min:200,max:8e3,step:100,unit:\"ms\"},color:{type:ControlType.Color,title:\"Color\",defaultValue:\"var(--token-55fce8bf-ab86-42dc-8b77-6335cf9cf588, #F2F2EE)\"},caretColor:{type:ControlType.Color,title:\"Cursor\",defaultValue:\"var(--token-fd5Htso3O, #C9FF31)\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"TerminalText\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerSupportedLayoutHeight\":\"auto\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./TerminalText.map"],"mappings":"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"}