@nick-skriabin/glyph 0.1.63 → 0.1.64
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +15 -15
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
import se,{createContext,forwardRef,useState,useContext,useRef,useEffect,useLayoutEffect,useMemo,useCallback}from'react';import Tr from'react-reconciler';import Se from'string-width';import Hn,{FlexDirection,Justify,Align,Direction,Edge,Wrap,Gutter,PositionType,Overflow,MeasureMode}from'yoga-layout';import {writeFileSync,existsSync,readFileSync,unlinkSync,mkdirSync}from'fs';import {createHash}from'crypto';import {join,basename}from'path';import {tmpdir,platform}from'os';import {execSync,spawn,exec}from'child_process';var Pr=0;function pn(){return `glyph-focus-${Pr++}`}function dn(e,t){let n=t.style??{};return {type:e,props:t,style:n,children:[],rawTextChildren:[],parent:null,yogaNode:null,text:null,layout:{x:0,y:0,width:0,height:0,innerX:0,innerY:0,innerWidth:0,innerHeight:0},focusId:e==="input"||t.focusable?pn():null,hidden:false}}function It(e,t){t.parent=e,e.children.push(t);}function mn(e,t){let n=e.children.indexOf(t);n!==-1&&(e.children.splice(n,1),t.parent=null);}function hn(e,t,n){t.parent=e;let r=e.children.indexOf(n);r!==-1?e.children.splice(r,0,t):e.children.push(t);}function it(e){let t={},n=e;for(;n;){let r=n.style;t.color===void 0&&r.color!==void 0&&(t.color=r.color),t.bg===void 0&&r.bg!==void 0&&(t.bg=r.bg),t.bold===void 0&&r.bold!==void 0&&(t.bold=r.bold),t.dim===void 0&&r.dim!==void 0&&(t.dim=r.dim),t.italic===void 0&&r.italic!==void 0&&(t.italic=r.italic),t.underline===void 0&&r.underline!==void 0&&(t.underline=r.underline),n=n.parent;}return t}function vt(e){if(e.text!=null)return e.text;let t="";for(let n of e.children)t+=vt(n);return t}var Rt=32,gn={supportsMutation:true,supportsPersistence:false,supportsHydration:false,isPrimaryRenderer:true,scheduleTimeout:setTimeout,cancelTimeout:clearTimeout,noTimeout:-1,supportsMicrotasks:true,scheduleMicrotask:queueMicrotask,getCurrentUpdatePriority:()=>Rt,setCurrentUpdatePriority:e=>{},resolveUpdatePriority:()=>Rt,getCurrentEventPriority:()=>Rt,resolveEventType:()=>null,resolveEventTimeStamp:()=>-1.1,shouldAttemptEagerTransition:()=>false,getInstanceFromNode:()=>null,beforeActiveInstanceBlur:()=>{},afterActiveInstanceBlur:()=>{},prepareScopeUpdate:()=>{},getInstanceFromScope:()=>null,detachDeletedInstance:()=>{},requestPostPaintCallback:e=>{},maySuspendCommit:(e,t)=>false,preloadInstance:(e,t)=>true,startSuspendingCommit:()=>{},suspendInstance:(e,t)=>{},waitForCommitToBeReady:()=>null,NotPendingTransition:null,HostTransitionContext:{$$typeof:Symbol.for("react.context"),_currentValue:null},resetFormInstance:e=>{},bindToConsole:(e,t,n)=>Function.prototype.bind.call(console[e],console,...t),supportsResources:false,isHostHoistableType:(e,t)=>false,supportsSingletons:false,isHostSingletonType:e=>false,supportsTestSelectors:false,createInstance(e,t,n,r,o){return dn(e,t)},createTextInstance(e,t,n,r){return {type:"raw-text",text:e,parent:null}},appendInitialChild(e,t){if(t.type==="raw-text"){let n=t;n.parent=e,e.rawTextChildren.push(n),e.text=e.rawTextChildren.map(r=>r.text).join("");}else It(e,t);},finalizeInitialChildren(e,t,n,r,o){return false},shouldSetTextContent(e,t){return false},getRootHostContext(e){return {}},getChildHostContext(e,t,n){return e},getPublicInstance(e){return e},prepareForCommit(e){return null},resetAfterCommit(e){e.onCommit();},preparePortalMount(){},appendChild(e,t){if(t.type==="raw-text"){let n=t;n.parent=e,e.rawTextChildren.push(n),e.text=e.rawTextChildren.map(r=>r.text).join("");}else It(e,t);},appendChildToContainer(e,t){if(t.type==="raw-text")return;let n=t;n.parent=null,e.children.push(n);},insertBefore(e,t,n){t.type==="raw-text"||n.type==="raw-text"||hn(e,t,n);},insertInContainerBefore(e,t,n){if(t.type==="raw-text"||n.type==="raw-text")return;let r=t,o=n,s=e.children.indexOf(o);s!==-1?e.children.splice(s,0,r):e.children.push(r);},removeChild(e,t){if(t.type==="raw-text"){let n=t;n.parent=null;let r=e.rawTextChildren.indexOf(n);r!==-1&&e.rawTextChildren.splice(r,1),e.text=e.rawTextChildren.map(o=>o.text).join("")||null;return}mn(e,t);},removeChildFromContainer(e,t){if(t.type==="raw-text")return;let n=t,r=e.children.indexOf(n);r!==-1&&e.children.splice(r,1);},commitTextUpdate(e,t,n){e.text=n,e.parent&&(e.parent.text=e.parent.rawTextChildren.map(r=>r.text).join(""));},commitUpdate(e,t,n,r,o){e.props=r,e.style=r.style??{},r.focusable&&!e.focusId&&(e.focusId=`focus-${Math.random().toString(36).slice(2,9)}`);},hideInstance(e){e.hidden=true;},hideTextInstance(e){e.text="";},unhideInstance(e,t){e.hidden=false;},unhideTextInstance(e,t){e.text=t;},clearContainer(e){e.children.length=0;},resetTextContent(e){e.text=null;}};var De=Tr(gn);De.injectIntoDevTools({bundleType:process.env.NODE_ENV==="production"?0:1,version:"0.1.0",rendererPackageName:"glyph"});var lt=class{stdout;stdin;wasRaw=false;cleanedUp=false;dataHandlers=new Set;stdinAttached=false;oscState="normal";oscAccum="";escFlushTimer=null;palette=new Map;paletteResolve=null;constructor(t=process.stdout,n=process.stdin){this.stdout=t,this.stdin=n;}get columns(){return this.stdout.columns||80}get rows(){return this.stdout.rows||24}enterRawMode(){this.stdin.isTTY&&(this.wasRaw=this.stdin.isRaw,this.stdin.setRawMode(true),this.stdin.resume(),this.stdin.setEncoding("utf-8"));}exitRawMode(){this.stdin.isTTY&&!this.wasRaw&&(this.stdin.setRawMode(false),this.stdin.pause());}write(t){this.stdout.write(t);}hideCursor(){this.write("\x1B[?25l");}showCursor(){this.write("\x1B[?25h");}moveCursor(t,n){this.write(`\x1B[${n+1};${t+1}H`);}setCursorColor(t){this.write(`\x1B]12;${t}\x07`);}resetCursorColor(){this.write("\x1B]112\x07");}enterAltScreen(){this.write("\x1B[?1049h");}exitAltScreen(){this.write("\x1B[?1049l");}clearScreen(){this.write("\x1B[2J\x1B[H");}resetStyles(){this.write("\x1B[0m");}enableKittyKeyboard(){this.write("\x1B[>1u");}disableKittyKeyboard(){this.write("\x1B[<u");}setup(){this.enterRawMode(),this.enterAltScreen(),this.enableKittyKeyboard(),this.hideCursor(),this.clearScreen(),this.attachStdinListener(),this.installCleanupHandlers();}cleanup(){this.cleanedUp||(this.cleanedUp=true,this.escFlushTimer!==null&&(clearTimeout(this.escFlushTimer),this.escFlushTimer=null),this.resetStyles(),this.resetCursorColor(),this.disableKittyKeyboard(),this.showCursor(),this.exitAltScreen(),this.exitRawMode());}suspend(){this.escFlushTimer!==null&&(clearTimeout(this.escFlushTimer),this.escFlushTimer=null),this.oscState="normal",this.oscAccum="",this.resetStyles(),this.resetCursorColor(),this.disableKittyKeyboard(),this.showCursor(),this.exitAltScreen(),this.exitRawMode();}resume(){this.enterRawMode(),this.enterAltScreen(),this.enableKittyKeyboard(),this.hideCursor(),this.clearScreen();}attachStdinListener(){this.stdinAttached||(this.stdinAttached=true,this.stdin.on("data",t=>{let n=typeof t=="string"?t:t.toString("utf-8");this.dispatchFiltered(n);}));}onData(t){return this.dataHandlers.add(t),()=>{this.dataHandlers.delete(t);}}dispatchFiltered(t){this.escFlushTimer!==null&&(clearTimeout(this.escFlushTimer),this.escFlushTimer=null);let n=this.filterOsc(t);if(n.length>0)for(let r of this.dataHandlers)r(n);this.oscState==="esc"&&(this.escFlushTimer=setTimeout(()=>{this.escFlushTimer=null,this.oscState="normal";for(let r of this.dataHandlers)r("\x1B");},50));}filterOsc(t){let n="";for(let r=0;r<t.length;r++){let o=t[r],s=t.charCodeAt(r);switch(this.oscState){case "normal":s===27?this.oscState="esc":n+=o;break;case "esc":o==="]"?(this.oscState="osc",this.oscAccum=""):(n+="\x1B"+o,this.oscState="normal");break;case "osc":s===7?(this.handleOscResponse(this.oscAccum),this.oscAccum="",this.oscState="normal"):s===27?this.oscState="osc_esc":this.oscAccum+=o;break;case "osc_esc":o==="\\"?(this.handleOscResponse(this.oscAccum),this.oscAccum="",this.oscState="normal"):(this.oscAccum+="\x1B"+o,this.oscState="osc");break}}return n}handleOscResponse(t){let n=t.match(/^4;(\d+);rgb:([0-9a-fA-F]+)\/([0-9a-fA-F]+)\/([0-9a-fA-F]+)/);if(n){let r=parseInt(n[1],10),o=parseInt(n[2].substring(0,2),16),s=parseInt(n[3].substring(0,2),16),i=parseInt(n[4].substring(0,2),16);this.palette.set(r,[o,s,i]),this.palette.size>=16&&this.paletteResolve&&(this.paletteResolve(),this.paletteResolve=null);}}queryPalette(){return new Promise(t=>{let n=()=>t(this.palette),r=setTimeout(n,200);this.paletteResolve=()=>{clearTimeout(r),n();};let o="";for(let s=0;s<16;s++)o+=`\x1B]4;${s};?\x07`;this.write(o);})}onResize(t){return this.stdout.on("resize",t),()=>{this.stdout.off("resize",t);}}installCleanupHandlers(){let t=()=>this.cleanup();process.on("exit",t);let n=r=>{t(),process.kill(process.pid,r);};process.once("SIGINT",()=>n("SIGINT")),process.once("SIGTERM",()=>n("SIGTERM")),process.on("uncaughtException",r=>{t(),console.error(r),process.exit(1);}),process.on("unhandledRejection",r=>{t(),console.error(r),process.exit(1);});}};function yn(e){switch(e){case 9:return "tab";case 13:return "return";case 27:return "escape";case 32:return "space";case 127:return "backspace";case 57358:return "capslock";case 57359:return "scrolllock";case 57360:return "numlock";case 57361:return "printscreen";case 57362:return "pause";case 57363:return "menu";case 57364:return "f13";case 57365:return "f14";case 57366:return "f15";case 57367:return "f16";case 57368:return "f17";case 57369:return "f18";case 57370:return "f19";case 57371:return "f20";case 57372:return "f21";case 57373:return "f22";case 57374:return "f23";case 57375:return "f24";case 57376:return "f25";case 57399:return "kp0";case 57400:return "kp1";case 57401:return "kp2";case 57402:return "kp3";case 57403:return "kp4";case 57404:return "kp5";case 57405:return "kp6";case 57406:return "kp7";case 57407:return "kp8";case 57408:return "kp9";case 57409:return "kpdecimal";case 57410:return "kpdivide";case 57411:return "kpmultiply";case 57412:return "kpminus";case 57413:return "kpplus";case 57414:return "kpenter";case 57415:return "kpequal";case 57416:return "kpleft";case 57417:return "kpright";case 57418:return "kpup";case 57419:return "kpdown";case 57420:return "kppageup";case 57421:return "kppagedown";case 57422:return "kphome";case 57423:return "kpend";case 57424:return "kpinsert";case 57425:return "kpdelete";case 57428:return "mediaplaypause";case 57429:return "mediastop";case 57430:return "mediaprev";case 57431:return "medianext";case 57432:return "mediarewind";case 57433:return "mediafastforward";case 57434:return "mediamute";case 57435:return "volumedown";case 57436:return "volumeup";default:return e>=32&&e<=126?String.fromCharCode(e).toLowerCase():"unknown"}}function Er(e){switch(e.split(";")[0]){case "1":return "home";case "2":return "insert";case "3":return "delete";case "4":return "end";case "5":return "pageup";case "6":return "pagedown";case "7":return "home";case "8":return "end";case "11":return "f1";case "12":return "f2";case "13":return "f3";case "14":return "f4";case "15":return "f5";case "17":return "f6";case "18":return "f7";case "19":return "f8";case "20":return "f9";case "21":return "f10";case "23":return "f11";case "24":return "f12";case "25":return "f13";case "26":return "f14";case "28":return "f15";case "29":return "f16";case "31":return "f17";case "32":return "f18";case "33":return "f19";case "34":return "f20";default:return "unknown"}}function ct(e,t){let n=t-1;n&1&&(e.shift=true),n&2&&(e.alt=true),n&4&&(e.ctrl=true),n&8&&(e.meta=true);}function xn(e){let t=[],n=0;for(;n<e.length;){let r=e[n],o=e.charCodeAt(n);if(r==="\x1B"){if(e[n+1]==="["){let s=Br(e,n);if(s){t.push(s.key),n=s.end;continue}}if(e[n+1]==="O"){let s=Nr(e,n);if(s){t.push(s.key),n=s.end;continue}}if(n+1<e.length&&e.charCodeAt(n+1)>=32){let s=e[n+1];t.push({name:s===" "?"space":s.toLowerCase(),sequence:e.substring(n,n+2),alt:true}),n+=2;continue}t.push({name:"escape",sequence:"\x1B"}),n++;continue}if(o>=1&&o<=26){let s=String.fromCharCode(o+96);o===13?t.push({name:"return",sequence:"\r"}):o===9?t.push({name:"tab",sequence:" "}):o===8?t.push({name:"backspace",sequence:"\b"}):t.push({name:s,sequence:r,ctrl:true}),n++;continue}if(o===127){t.push({name:"backspace",sequence:r}),n++;continue}t.push({name:r===" "?"space":r,sequence:r}),n++;}return t}function Nr(e,t){if(t+2>=e.length)return null;let n=e[t+2],r=e.substring(t,t+3),o;switch(n){case "A":o={name:"up",sequence:r};break;case "B":o={name:"down",sequence:r};break;case "C":o={name:"right",sequence:r};break;case "D":o={name:"left",sequence:r};break;case "H":o={name:"home",sequence:r};break;case "F":o={name:"end",sequence:r};break;case "P":o={name:"f1",sequence:r};break;case "Q":o={name:"f2",sequence:r};break;case "R":o={name:"f3",sequence:r};break;case "S":o={name:"f4",sequence:r};break;case "j":o={name:"kpmultiply",sequence:r};break;case "k":o={name:"kpplus",sequence:r};break;case "l":o={name:"kpcomma",sequence:r};break;case "m":o={name:"kpminus",sequence:r};break;case "n":o={name:"kpdecimal",sequence:r};break;case "o":o={name:"kpdivide",sequence:r};break;case "p":o={name:"kp0",sequence:r};break;case "q":o={name:"kp1",sequence:r};break;case "r":o={name:"kp2",sequence:r};break;case "s":o={name:"kp3",sequence:r};break;case "t":o={name:"kp4",sequence:r};break;case "u":o={name:"kp5",sequence:r};break;case "v":o={name:"kp6",sequence:r};break;case "w":o={name:"kp7",sequence:r};break;case "x":o={name:"kp8",sequence:r};break;case "y":o={name:"kp9",sequence:r};break;case "M":o={name:"kpenter",sequence:r};break;default:return null}return {key:o,end:t+3}}function Br(e,t){let n=t+2,r="";for(;n<e.length;){let c=e.charCodeAt(n);if(c>=48&&c<=63)r+=e[n],n++;else break}if(n>=e.length)return null;let o=e[n],s=e.substring(t,n+1);n++;let i;switch(o){case "A":i={name:"up",sequence:s};break;case "B":i={name:"down",sequence:s};break;case "C":i={name:"right",sequence:s};break;case "D":i={name:"left",sequence:s};break;case "H":i={name:"home",sequence:s};break;case "F":i={name:"end",sequence:s};break;case "Z":i={name:"tab",sequence:s,shift:true};break;case "P":i={name:"f1",sequence:s};break;case "Q":i={name:"f2",sequence:s};break;case "R":i={name:"f3",sequence:s};break;case "S":i={name:"f4",sequence:s};break;case "~":{if(r.startsWith("27;")){let c=r.split(";"),l=parseInt(c[1]??"1",10),u=parseInt(c[2]??"0",10);i={name:yn(u),sequence:s},ct(i,l);break}if(i={name:Er(r),sequence:s},r.includes(";")){let c=r.split(";"),l=parseInt(c[1]??"1",10);ct(i,l);}break}case "u":{let c=r.split(";"),l=parseInt(c[0]??"0",10),u=parseInt(c[1]??"1",10);i={name:yn(l),sequence:s},ct(i,u);break}case "I":i={name:"focus",sequence:s};break;case "O":i={name:"blur",sequence:s};break;default:i={name:"unknown",sequence:s};}if(r.includes(";")&&!["~","u"].includes(o)){let c=r.split(";"),l=parseInt(c[c.length-1]??"1",10);l>=1&&l<=16&&ct(i,l);}return {key:i,end:n}}var Gr={black:"\x1B[30m",red:"\x1B[31m",green:"\x1B[32m",yellow:"\x1B[33m",blue:"\x1B[34m",magenta:"\x1B[35m",cyan:"\x1B[36m",white:"\x1B[37m",blackBright:"\x1B[90m",redBright:"\x1B[91m",greenBright:"\x1B[92m",yellowBright:"\x1B[93m",blueBright:"\x1B[94m",magentaBright:"\x1B[95m",cyanBright:"\x1B[96m",whiteBright:"\x1B[97m"},Fr={black:"\x1B[40m",red:"\x1B[41m",green:"\x1B[42m",yellow:"\x1B[43m",blue:"\x1B[44m",magenta:"\x1B[45m",cyan:"\x1B[46m",white:"\x1B[47m",blackBright:"\x1B[100m",redBright:"\x1B[101m",greenBright:"\x1B[102m",yellowBright:"\x1B[103m",blueBright:"\x1B[104m",magentaBright:"\x1B[105m",cyanBright:"\x1B[106m",whiteBright:"\x1B[107m"};function kt(e){let t=e.replace("#",""),n=parseInt(t.substring(0,2),16),r=parseInt(t.substring(2,4),16),o=parseInt(t.substring(4,6),16);return {r:n,g:r,b:o}}function bn(e){if(typeof e=="string"){if(e.startsWith("#")){let{r:o,g:s,b:i}=kt(e);return `\x1B[38;2;${o};${s};${i}m`}return Gr[e]??"\x1B[39m"}if(typeof e=="number")return `\x1B[38;5;${e}m`;let{r:t,g:n,b:r}=e;return `\x1B[38;2;${t};${n};${r}m`}function Cn(e){if(typeof e=="string"){if(e.startsWith("#")){let{r:o,g:s,b:i}=kt(e);return `\x1B[48;2;${o};${s};${i}m`}return Fr[e]??"\x1B[49m"}if(typeof e=="number")return `\x1B[48;5;${e}m`;let{r:t,g:n,b:r}=e;return `\x1B[48;2;${t};${n};${r}m`}var Sn={black:[0,0,0],red:[170,0,0],green:[0,170,0],yellow:[170,170,0],blue:[0,0,170],magenta:[170,0,170],cyan:[0,170,170],white:[170,170,170],blackBright:[85,85,85],redBright:[255,85,85],greenBright:[85,255,85],yellowBright:[255,255,85],blueBright:[85,85,255],magentaBright:[255,85,255],cyanBright:[85,255,255],whiteBright:[255,255,255]},wn=["black","red","green","yellow","blue","magenta","cyan","white","blackBright","redBright","greenBright","yellowBright","blueBright","magentaBright","cyanBright","whiteBright"],Ke=null;function In(e){e.size>0&&(Ke=e);}function Lr(e){if(Ke){let t=wn.indexOf(e);if(t!==-1){let n=Ke.get(t);if(n)return n}}return Sn[e]??null}function Mr(e){if(typeof e=="string"){if(e.startsWith("#")){let t=kt(e);return [t.r,t.g,t.b]}return Lr(e)}if(typeof e=="number"){if(e<16){if(Ke){let s=Ke.get(e);if(s)return s}return Sn[wn[e]]}if(e>=232){let s=(e-232)*10+8;return [s,s,s]}let t=e-16,n=t%6*51,r=Math.floor(t/6)%6*51;return [Math.floor(t/36)*51,r,n]}return [e.r,e.g,e.b]}function at(e){let t=Mr(e);if(!t)return false;let[n,r,o]=t.map(i=>{let c=i/255;return c<=.03928?c/12.92:Math.pow((c+.055)/1.055,2.4)});return .2126*n+.7152*r+.0722*o>.4}function Pt(e,t){return e===t?true:e==null||t==null?false:typeof e=="object"&&typeof t=="object"?e.r===t.r&&e.g===t.g&&e.b===t.b:false}function vn(e){return e&&at(e)?"black":"white"}var We=class e{width;height;cells;constructor(t,n){this.width=t,this.height=n,this.cells=new Array(t*n),this.clear();}clear(){for(let t=0;t<this.cells.length;t++)this.cells[t]={ch:" "};}resize(t,n){this.width=t,this.height=n,this.cells=new Array(t*n),this.clear();}get(t,n){if(!(t<0||t>=this.width||n<0||n>=this.height))return this.cells[n*this.width+t]}set(t,n,r){t<0||t>=this.width||n<0||n>=this.height||(this.cells[n*this.width+t]=r);}setChar(t,n,r,o,s,i,c,l,u){t<0||t>=this.width||n<0||n>=this.height||(this.cells[n*this.width+t]={ch:r,fg:o,bg:s,bold:i,dim:c,italic:l,underline:u});}fillRect(t,n,r,o,s,i,c){for(let l=n;l<n+o;l++)for(let u=t;u<t+r;u++)this.setChar(u,l,s,i,c);}clone(){let t=new e(this.width,this.height);for(let n=0;n<this.cells.length;n++){let r=this.cells[n];t.cells[n]={...r};}return t}cellsEqual(t,n){return t.ch===n.ch&&Pt(t.fg,n.fg)&&Pt(t.bg,n.bg)&&(t.bold??false)===(n.bold??false)&&(t.dim??false)===(n.dim??false)&&(t.italic??false)===(n.italic??false)&&(t.underline??false)===(n.underline??false)}};var Ar={single:{topLeft:"\u250C",topRight:"\u2510",bottomLeft:"\u2514",bottomRight:"\u2518",horizontal:"\u2500",vertical:"\u2502"},double:{topLeft:"\u2554",topRight:"\u2557",bottomLeft:"\u255A",bottomRight:"\u255D",horizontal:"\u2550",vertical:"\u2551"},round:{topLeft:"\u256D",topRight:"\u256E",bottomLeft:"\u2570",bottomRight:"\u256F",horizontal:"\u2500",vertical:"\u2502"},ascii:{topLeft:"+",topRight:"+",bottomLeft:"+",bottomRight:"+",horizontal:"-",vertical:"|"}};function Rn(e){return e==="none"?null:Ar[e]}function kn(e,t,n,r){if(e.length===0)return {width:0,height:0};let o=e.split(`
|
|
2
|
-
`);if(n===MeasureMode.Undefined||r==="none"){let l=0;for(let u of o){let f=Se(u);f>l&&(l=f);}return {width:l,height:o.length}}let s=Math.max(1,Math.floor(t)),i=de(o,s,r),c=0;for(let l of i){let u=Se(l);u>c&&(c=u);}return {width:c,height:i.length}}function de(e,t,n){let r=[];for(let o of e){if(Se(o)<=t){r.push(o);continue}if(n==="truncate"){r.push(
|
|
3
|
-
`),I=w.map(d=>
|
|
4
|
-
`),F=de(E,l,B),C=0,b=0;if(O){let h=o.position,H=0,_=h,D=0;for(let q=0;q<E.length;q++){let j=E[q].length;if(h<=D+j){H=q,_=h-D;break}D+=j+1;}let M=0;for(let q=0;q<H;q++)M+=de([E[q]],l,B).length;let X=de([E[H]],l,B),W=0,K=0;for(let q=0;q<X.length;q++){let j=X[q];if(_<=W+j.length){K=q;break}W+=j.length;}C=M+K,b=Se(E[H].slice(W,W+(_-W)));}let S=Math.max(0,C-u+1);for(let h=0;h<u;h++){let H=S+h;if(H>=F.length)break;let _=F[H],D=0;for(let M of _){if(D>=l)break;let X=Se(M);X>0&&me(t,n,i+D,c+h,M,R,d.bg,d.bold,$,d.italic,d.underline),D+=X;}}if(O){let h=C-S;if(h>=0&&h<u){let H=Math.min(b,l-1),_=i+H,D=c+h;if(ut(_,D,n)&&_<i+l)if(s)N={cursorPosition:{x:_,y:D,bg:d.bg}};else {let M=t.get(_,D),X=M?.ch&&M.ch!==" "?M.ch:"\u258C",W=d.bg??"black",K=d.color??"white";t.setChar(_,D,X,W,K,M?.bold,M?.dim,M?.italic,false);}}}}else {let B=0;for(let E of w){if(B>=l)break;let F=Se(E);F>0&&me(t,n,i+B,c,E,R,d.bg,d.bold,$,d.italic,d.underline),B+=F;}if(O){let E=Math.min(o.position,l-1),F=i+E;if(ut(F,c,n)&&F<i+l)if(s)N={cursorPosition:{x:F,y:c,bg:d.bg}};else {let C=t.get(F,c),b=C?.ch&&C.ch!==" "?C.ch:"\u258C",S=d.bg??"black",h=d.color??"white";t.setChar(F,c,b,S,h,C?.bold,C?.dim,C?.italic,false);}}}return N}var _r="\x1B",ke=`${_r}[`;function qr(e,t){return `${ke}${t+1};${e+1}H`}function zr(e){let t=`${ke}0m`;return e.bold&&(t+=`${ke}1m`),e.dim&&(t+=`${ke}2m`),e.italic&&(t+=`${ke}3m`),e.underline&&(t+=`${ke}4m`),e.fg!=null&&(t+=bn(e.fg)),e.bg!=null&&(t+=Cn(e.bg)),t}function Fn(e,t,n){let r="",o=-1,s=-1,i="";for(let c=0;c<t.height;c++)for(let l=0;l<t.width;l++){let u=t.get(l,c);if(!n){let g=e.get(l,c);if(g&&t.cellsEqual(u,g))continue}(s!==c||o!==l)&&(r+=qr(l,c));let f=zr(u);f!==i&&(r+=f,i=f),r+=u.ch,o=l+1,s=c;}return r.length>0&&(r+=`${ke}0m`),r}var Yr={row:FlexDirection.Row,column:FlexDirection.Column},Qr={"flex-start":Justify.FlexStart,center:Justify.Center,"flex-end":Justify.FlexEnd,"space-between":Justify.SpaceBetween,"space-around":Justify.SpaceAround},Zr={"flex-start":Align.FlexStart,center:Align.Center,"flex-end":Align.FlexEnd,stretch:Align.Stretch};function An(e,t,n){n!==void 0&&(typeof n=="string"&&n.endsWith("%"),t(n));}function we(e,t,n){n!==void 0&&(typeof n=="string"&&n.endsWith("%")?e.setPositionPercent(t,parseFloat(n)):e.setPosition(t,n));}function eo(e,t,n){An(e,o=>e.setWidth(o),t.width),An(e,o=>e.setHeight(o),t.height),t.minWidth!==void 0&&e.setMinWidth(t.minWidth),t.minHeight!==void 0&&e.setMinHeight(t.minHeight),t.maxWidth!==void 0&&e.setMaxWidth(t.maxWidth),t.maxHeight!==void 0&&e.setMaxHeight(t.maxHeight),t.padding!==void 0&&e.setPadding(Edge.All,t.padding),t.paddingX!==void 0&&e.setPadding(Edge.Horizontal,t.paddingX),t.paddingY!==void 0&&e.setPadding(Edge.Vertical,t.paddingY),t.paddingTop!==void 0&&e.setPadding(Edge.Top,t.paddingTop),t.paddingRight!==void 0&&e.setPadding(Edge.Right,t.paddingRight),t.paddingBottom!==void 0&&e.setPadding(Edge.Bottom,t.paddingBottom),t.paddingLeft!==void 0&&e.setPadding(Edge.Left,t.paddingLeft);let r=t.border!=null&&t.border!=="none";e.setBorder(Edge.All,r?1:0),t.flexDirection&&e.setFlexDirection(Yr[t.flexDirection]??FlexDirection.Column),t.flexWrap&&e.setFlexWrap(t.flexWrap==="wrap"?Wrap.Wrap:Wrap.NoWrap),t.justifyContent&&e.setJustifyContent(Qr[t.justifyContent]??Justify.FlexStart),t.alignItems&&e.setAlignItems(Zr[t.alignItems]??Align.Stretch),t.flexGrow!==void 0&&e.setFlexGrow(t.flexGrow),t.flexShrink!==void 0&&e.setFlexShrink(t.flexShrink),t.gap!==void 0&&e.setGap(Gutter.All,t.gap),t.position==="absolute"?e.setPositionType(PositionType.Absolute):e.setPositionType(PositionType.Relative),t.inset!==void 0&&(we(e,Edge.Top,t.inset),we(e,Edge.Right,t.inset),we(e,Edge.Bottom,t.inset),we(e,Edge.Left,t.inset)),we(e,Edge.Top,t.top),we(e,Edge.Right,t.right),we(e,Edge.Bottom,t.bottom),we(e,Edge.Left,t.left),t.clip&&e.setOverflow(Overflow.Hidden);}function jn(e){let t=Hn.Node.create();if(e.yogaNode=t,eo(t,e.style,e.type),e.type==="text"||e.type==="input")t.setMeasureFunc((n,r,o,s)=>{let i;return e.type==="input"?(i=e.props.value??e.props.defaultValue??e.props.placeholder??"",i.length===0&&(i=" ")):i=$n(e),kn(i,n,r,e.style.wrap??"wrap")});else for(let n=0;n<e.children.length;n++){let r=e.children[n];r.hidden||(jn(r),t.insertChild(r.yogaNode,t.getChildCount()));}}function $n(e){if(e.text!=null)return e.text;let t="";for(let n of e.children)t+=$n(n);if(t===""&&e.props.children!=null){if(typeof e.props.children=="string")return e.props.children;if(typeof e.props.children=="number")return String(e.props.children)}return t}function Vn(e,t,n){let r=e.yogaNode,o=r.getComputedLayout(),s=t+o.left,i=n+o.top,c=o.width,l=o.height,u=e.style.border&&e.style.border!=="none"?1:0,f=r.getComputedPadding(Edge.Top),g=r.getComputedPadding(Edge.Right),w=r.getComputedPadding(Edge.Bottom),I=r.getComputedPadding(Edge.Left),P=s+u+I,d=i+u+f,m=Math.max(0,c-u*2-I-g),x=Math.max(0,l-u*2-f-w),k=e.layout;(!k||k.x!==s||k.y!==i||k.width!==c||k.height!==l||k.innerX!==P||k.innerY!==d||k.innerWidth!==m||k.innerHeight!==x)&&(e.layout={x:s,y:i,width:c,height:l,innerX:P,innerY:d,innerWidth:m,innerHeight:x});for(let R of e.children)R.hidden||!R.yogaNode||Vn(R,s,i);}function On(e,t,n){let r=Hn.Node.create();r.setWidth(t),r.setHeight(n),r.setFlexDirection(FlexDirection.Column);for(let o of e)o.hidden||(jn(o),r.insertChild(o.yogaNode,r.getChildCount()));r.calculateLayout(t,n,Direction.LTR);for(let o of e)o.hidden||!o.yogaNode||Vn(o,0,0);r.freeRecursive(),Dn(e);}function Dn(e){for(let t of e)t.yogaNode=null,Dn(t.children);}var J=createContext(null),z=createContext(null),le=createContext(null),Me=createContext(null),Ae=createContext(null),pt=createContext(null);var te=null;function qe(e=false){if(te)return te;let t=process.env.TERM||"",n=process.env.TERM_PROGRAM||"",r=process.env.KITTY_WINDOW_ID,o=process.env.GHOSTTY_RESOURCES_DIR,s=process.env.WEZTERM_PANE,i=process.env.LC_TERMINAL||"",c=process.env.KONSOLE_VERSION;return r||t==="xterm-kitty"?(te={name:"kitty",supportsKittyGraphics:true,supportsIterm2Images:false,supportsSixel:false},te):o||t.includes("ghostty")?(te={name:"ghostty",supportsKittyGraphics:true,supportsIterm2Images:false,supportsSixel:false},te):s||n==="WezTerm"?(te={name:"wezterm",supportsKittyGraphics:true,supportsIterm2Images:true,supportsSixel:true},te):n==="iTerm.app"||i==="iTerm2"?(te={name:"iterm2",supportsKittyGraphics:false,supportsIterm2Images:true,supportsSixel:false},te):c?(te={name:"konsole",supportsKittyGraphics:false,supportsIterm2Images:false,supportsSixel:true},te):n==="vscode"?(te={name:"vscode",supportsKittyGraphics:false,supportsIterm2Images:false,supportsSixel:false},te):(te={name:"unknown",supportsKittyGraphics:false,supportsIterm2Images:false,supportsSixel:false},te)}function Nt(){let e=qe();return e.supportsKittyGraphics||e.supportsIterm2Images||e.supportsSixel}var oe="\x1B";function dt(){return !!process.env.TMUX}function Bt(e){if(!dt())return e;let t=e.replace(/\x1b/g,"\x1B\x1B");return `${oe}Ptmux;${t}${oe}\\`}function Kn(e){let t=qe();return t.supportsKittyGraphics?to(e):t.supportsIterm2Images?no(e):null}function Gt(e){if(qe().supportsKittyGraphics){let n;return e!==void 0?n=`${oe}_Ga=d,d=i,i=${e}${oe}\\`:n=`${oe}_Ga=d,d=a${oe}\\`,Bt(n)}return null}function to(e){let{data:t,width:n,height:r,x:o,y:s,id:i}=e,c=t.toString("base64"),l=`${oe}[${s+1};${o+1}H`,u=Ft(t),f="a=T,f=100";i!==void 0&&(f+=`,i=${i}`),u&&(f+=`,s=${u.width},v=${u.height}`),f+=`,c=${n},r=${r}`;let g=4096,w=[l];dt()&&w.unshift(`${oe}[?25l`);for(let I=0;I<c.length;I+=g){let P=c.slice(I,I+g),m=I+g>=c.length?"m=0":"m=1",x;I===0?x=`${oe}_G${f},${m},q=2;${P}${oe}\\`:x=`${oe}_G${m};${P}${oe}\\`,w.push(Bt(x));}return dt()&&w.push(`${oe}[?25h`),w.join("")}function no(e){let{data:t,width:n,height:r,x:o,y:s}=e,i=t.toString("base64"),c=`${oe}[${s+1};${o+1}H`,l=[`width=${n}`,`height=${r}`,"preserveAspectRatio=1","inline=1"].join(";"),u=`${oe}]1337;File=${l}:${i}\x07`;return c+(dt()?Bt(u):u)}function Ft(e){if(e[0]===137&&e[1]===80&&e[2]===78&&e[3]===71&&e.length>=24){let t=e.readUInt32BE(16),n=e.readUInt32BE(20);return {width:t,height:n}}if(e[0]===255&&e[1]===216&&e[2]===255){let t=2;for(;t<e.length-8;){if(e[t]!==255){t++;continue}let n=e[t+1];if(n!==void 0&&(n>=192&&n<=195||n>=197&&n<=199||n>=201&&n<=203||n>=205&&n<=207)){let o=e.readUInt16BE(t+5);return {width:e.readUInt16BE(t+7),height:o}}let r=e.readUInt16BE(t+2);t+=2+r;}}if(e[0]===71&&e[1]===73&&e[2]===70&&e.length>=10){let t=e.readUInt16LE(6),n=e.readUInt16LE(8);return {width:t,height:n}}return null}function ro(e,t={}){let n=t.stdout??process.stdout,r=t.stdin??process.stdin,o=t.debug??false,s=t.useNativeCursor??true,i=new lt(n,r);i.setup();let c=false;i.queryPalette().then(a=>{In(a),f=true,M();});let l=new We(i.columns,i.rows),u=new We(i.columns,i.rows),f=true,g=new Set,w=new Set,I=new Map,P={subscribe(a){return g.add(a),()=>g.delete(a)},subscribePriority(a){return w.add(a),()=>w.delete(a)},registerInputHandler(a,y){return I.set(a,y),()=>I.delete(a)}},d=new Map,m=new Map,x={registerImage(a){let y=d.get(a.id);(!y||y.x!==a.x||y.y!==a.y||y.width!==a.width||y.height!==a.height)&&(m.set(a.id,a),M());},unregisterImage(a){d.delete(a),m.delete(a);let y=Gt(a);y&&i.write(y),M();}};function k(){for(let a of m.values()){let y=Kn({data:a.data,width:a.width,height:a.height,x:a.x,y:a.y,id:a.id});y&&(i.write(y),d.set(a.id,{x:a.x,y:a.y,width:a.width,height:a.height}));}m.clear();}let R=null,$=new Map,O=[],N=new Set,B=[],E=new Set;function F(a){if(R!==a){R=a,M();for(let y of E)y(R);}}function C(){let a=[...O];if(B.length>0){let y=B[B.length-1];a=a.filter(v=>y.has(v));}return a=a.filter(y=>!N.has(y)),a.sort((y,v)=>{let G=$.get(y),p=$.get(v);if(!G||!p)return 0;let L=G.layout,V=p.layout;return L.y!==V.y?L.y-V.y:L.x-V.x}),a}let b={get focusedId(){return R},register(a,y){if($.set(a,y),O.includes(a)||O.push(a),B.length>0&&B[B.length-1].add(a),R===null){let v=C();v.length>0&&F(v[0]);}return ()=>{$.delete(a);let v=O.indexOf(a);if(v!==-1&&O.splice(v,1),R===a){let G=C();F(G[0]??null);}}},requestFocus(a){F(a);},focusNext(){let a=C();if(a.length===0)return;let v=((R?a.indexOf(R):-1)+1)%a.length;F(a[v]);},focusPrev(){let a=C();if(a.length===0)return;let v=((R?a.indexOf(R):0)-1+a.length)%a.length;F(a[v]);},setSkippable(a,y){if(y){if(N.add(a),R===a){let v=C();v.length>0&&F(v[0]);}}else N.delete(a);},trapIds:null,pushTrap(a){return B.push(a),()=>{let y=B.indexOf(a);y!==-1&&B.splice(y,1);}},onFocusChange(a){return E.add(a),()=>{E.delete(a);}},getRegisteredElements(){let a=[];for(let y of O){if(N.has(y))continue;let v=$.get(y);v&&a.push({id:y,node:v});}return a},getActiveElements(){let a=C(),y=[];for(let v of a){if(N.has(v))continue;let G=$.get(v);G&&y.push({id:v,node:G});}return y}},S=new Map,h={getLayout(a){return a.layout},subscribe(a,y){return S.has(a)||S.set(a,new Set),S.get(a).add(y),()=>{let v=S.get(a);v&&(v.delete(y),v.size===0&&S.delete(a));}}},H={registerNode(){},unregisterNode(){},scheduleRender:M,exit(a){T.exit(a);},get columns(){return i.columns},get rows(){return i.rows}},_={type:"root",children:[],onCommit(){M();}},D=false;function M(){D||(D=true,queueMicrotask(()=>{D=false,X();}));}function X(){let a=i.columns,y=i.rows;(u.width!==a||u.height!==y)&&(u.resize(a,y),l.resize(a,y),f=true),On(_.children,a,y),W(_.children);let v;if(R){let L=$.get(R);L?.type==="input"&&(v={nodeId:R,position:L.props.cursorPosition??L.props.value?.length??0});}let G=Nn(_.children,u,{cursorInfo:v,useNativeCursor:s}),p=Fn(l,u,f);if(p.length>0&&i.write(p),m.size>0&&c&&(i.hideCursor(),c=false),k(),s)if(G.cursorPosition){let L=vn(G.cursorPosition.bg);i.setCursorColor(L),i.moveCursor(G.cursorPosition.x,G.cursorPosition.y),c||(i.showCursor(),c=true);}else i.hideCursor(),c=false;for(let L=0;L<u.cells.length;L++)l.cells[L]={...u.cells[L]};f=false;}function W(a){for(let y of a){let v=S.get(y);if(v)for(let G of v)G(y.layout);W(y.children);}}let K=i.onData(a=>{let y=xn(a);for(let v of y){if(v.ctrl&&v.name==="c"){T.exit();return}if(v.ctrl&&v.name==="z"){i.suspend(),process.kill(0,"SIGSTOP");return}let G=false;for(let p of w)if(p(v)){G=true;break}if(!G&&R){let p=I.get(R);p&&(G=p(v));}if(!G&&v.name==="tab"&&!v.ctrl&&!v.alt){v.shift?b.focusPrev():b.focusNext();continue}if(!G)for(let p of g)p(v);}}),q=i.onResize(()=>{f=true,M();}),j=()=>{i.resume(),f=true,M();};process.on("SIGCONT",j);let Z=se.createElement(Me.Provider,{value:H},se.createElement(J.Provider,{value:P},se.createElement(z.Provider,{value:b},se.createElement(le.Provider,{value:h},se.createElement(pt.Provider,{value:x},e))))),be=a=>{o&&console.error("Uncaught error:",a);},ne=a=>{o&&console.error("Error caught by boundary:",a);},pe=a=>{o&&console.error("Recoverable error:",a);},U=De.createContainer(_,0,null,false,null,"",be,ne,pe,null);De.updateContainer(Z,U,null,null);let T={unmount(){De.updateContainer(null,U,null,null),K(),q(),process.off("SIGCONT",j);let a=Gt();a&&i.write(a),i.cleanup();},exit(a){T.unmount(),process.exit(a??0);}};return T}var io=forwardRef(function({children:t,style:n,focusable:r},o){return se.createElement("box",{style:n,focusable:r,ref:o},t)});var ao=forwardRef(function({children:t,style:n,wrap:r},o){let s=r?{...n,wrap:r}:n;return se.createElement("text",{style:s,ref:o},t)});function Wn(e,t,n){if(n<=0)return {visualLine:0,visualCol:t,totalVisualLines:1,lineStartOffset:0,lineLength:e.length};let r=e.split(`
|
|
5
|
-
`),o=[],s=0;for(let l of r){let u=de([l],n,"wrap"),f=0;for(let g of u)o.push({text:g,logicalOffset:s+f}),f+=g.length;s+=l.length+1;}let i=0;for(let l=0;l<o.length;l++){let u=o[l],f=u.text.length,g=l+1<o.length&&o[l+1].logicalOffset!==u.logicalOffset+f,w=f+(g?1:0);if(t<i+f||l===o.length-1)return {visualLine:l,visualCol:Math.min(t-i,f),totalVisualLines:o.length,lineStartOffset:i,lineLength:f};i+=w;}let c=o.length-1;return {visualLine:c,visualCol:o[c].text.length,totalVisualLines:o.length,lineStartOffset:i-o[c].text.length,lineLength:o[c].text.length}}function
|
|
6
|
-
`),s=[],i=0;for(let f of o){let g=de([f],r,"wrap"),w=0;for(let I of g)s.push({text:I,startOffset:i+w}),w+=I.length;i+=f.length+1;}let c=Math.max(0,Math.min(t,s.length-1)),l=s[c],u=Math.min(n,l.text.length);return l.startOffset+u}function
|
|
7
|
-
`),r=t;for(let s=0;s<n.length;s++){if(r<=n[s].length)return {line:s,col:r,lines:n};r-=n[s].length+1;}let o=n.length-1;return {line:o,col:n[o].length,lines:n}}function
|
|
8
|
-
`+
|
|
9
|
-
`);)p--;let
|
|
10
|
-
`;)p--;return v(p),true}if(j.name==="right"||j.name==="f"){let p=a;for(;p<
|
|
11
|
-
`;)p++;for(;p<
|
|
12
|
-
`;)p--;let
|
|
13
|
-
`;)p++;for(;p<
|
|
14
|
-
`)))))}function Wt({count:e,renderItem:t,selectedIndex:n,onSelectionChange:r,onSelect:o,defaultSelectedIndex:s=0,disabledIndices:i,style:c,focusable:l=true}){let u=n!==void 0,[f,g]=useState(s),w=u?n:f,I=useContext(z),P=useContext(J),d=useRef(null),m=useRef(null),x=useRef(o);x.current=o;let[k,R]=useState(false),[$,O]=useState(false),N=useRef(null),B=useCallback(b=>{let S=Math.max(0,Math.min(b,e-1));u?r?.(S):g(S);},[u,r,e]),E=useCallback((b,S)=>{if(!i||i.size===0)return Math.max(0,Math.min(b+S,e-1));let h=b+S;for(;h>=0&&h<e&&i.has(h);)h+=S;return h<0||h>=e?b:h},[i,e]);useEffect(()=>{if(!(!I||!m.current||!d.current||!l))return I.register(m.current,d.current)},[I,l,k]),useEffect(()=>{if(!I||!m.current)return;let b=m.current;return O(I.focusedId===b),I.onFocusChange(S=>{O(S===b);})},[I,k]);let F=useCallback(b=>{let S=b?e-1:0,h=b?-1:1,H=S;for(;H>=0&&H<e&&i?.has(H);)H+=h;return H>=0&&H<e?H:b?e-1:0},[i,e]);useEffect(()=>{if(!P||!m.current||!l)return;let b=m.current,S=h=>I?.focusedId!==b?false:h.name==="g"&&!h.ctrl&&!h.alt?N.current==="g"?(B(F(false)),N.current=null,true):(N.current="g",true):h.name==="G"||h.name==="g"&&h.shift?(N.current=null,B(F(true)),true):(N.current=null,h.name==="up"||h.name==="k"?(B(E(w,-1)),true):h.name==="down"||h.name==="j"?(B(E(w,1)),true):h.name==="return"?(i?.has(w)||x.current?.(w),true):false);return P.registerInputHandler(b,S)},[P,I,l,w,B,E,F,i,k]);let C=[];for(let b=0;b<e;b++)C.push(se.createElement(se.Fragment,{key:b},t({index:b,selected:b===w,focused:$})));return se.createElement("box",{style:{flexDirection:"column",...c},focusable:l,ref:b=>{b?(d.current=b,m.current=b.focusId,R(true)):(d.current=null,m.current=null,R(false));}},...C)}function Fo({items:e,selectedIndex:t,onSelectionChange:n,onSelect:r,defaultSelectedIndex:o=0,style:s,highlightColor:i="cyan",focusable:c=true}){let l=new Set;for(let f=0;f<e.length;f++)e[f].disabled&&l.add(f);let u=f=>{let g=e[f];g&&!g.disabled&&r?.(g.value,f);};return se.createElement(Wt,{count:e.length,selectedIndex:t,onSelectionChange:n,onSelect:u,defaultSelectedIndex:o,disabledIndices:l.size>0?l:void 0,style:s,focusable:c,renderItem:({index:f,selected:g,focused:w})=>{let I=e[f],P=I.disabled,d=g&&w,m=g?">":" ";return se.createElement("box",{style:{flexDirection:"row",...d?{bg:i}:{}}},se.createElement("text",{style:d?{bold:true,color:"black"}:P?{dim:true}:{}},`${m} ${I.label}`))}})}function Ho({value:e,indeterminate:t=false,width:n="100%",label:r,showPercent:o=false,style:s,filled:i="\u2588",empty:c="\u2591"}){let l=useRef(null),f=ve(l).innerWidth,[g,w]=useState(0);useEffect(()=>{if(!t)return;let x=setInterval(()=>{w(k=>(k+1)%Math.max(1,f+6));},100);return ()=>clearInterval(x)},[t,f]);let I=Math.max(0,Math.min(1,e??0)),P=o?` ${Math.round(I*100)}%`:"",d="";if(f>0)if(t&&e===void 0){let x=Math.max(1,Math.min(3,Math.floor(f/4))),k=[];for(let R=0;R<f;R++)R>=g-x&&R<g?k.push(i):k.push(c);d=k.join("");}else {let x=Math.round(I*f);d=i.repeat(x)+c.repeat(f-x);}let m=[];return r&&m.push(se.createElement("text",{key:"label",style:{bold:true}},r+" ")),m.push(se.createElement("box",{key:"track",style:{flexGrow:1,flexShrink:1},ref:x=>{l.current=x??null;}},se.createElement("text",{key:"bar",style:{}},d))),o&&m.push(se.createElement("text",{key:"pct",style:{bold:true}},P)),se.createElement("box",{style:{flexDirection:"row",width:n,...s}},...m)}var Vo=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"];function Oo({frames:e=Vo,intervalMs:t=80,label:n,style:r}){let[o,s]=useState(0);useEffect(()=>{let c=setInterval(()=>{s(l=>(l+1)%e.length);},t);return ()=>clearInterval(c)},[e.length,t]);let i=[se.createElement("text",{key:"frame",style:r},e[o])];return n&&i.push(se.createElement("text",{key:"label",style:{}}," "+n)),se.createElement("box",{style:{flexDirection:"row"}},...i)}var or=createContext(null),zo=0;function Xo(){let e=useContext(or);if(!e)throw new Error("useToast must be used within a <ToastHost>");return e.push}var Uo={info:{bg:"blackBright",title:"cyanBright",text:"white"},success:{bg:"blackBright",title:"greenBright",text:"white"},warning:{bg:"blackBright",title:"yellowBright",text:"white"},error:{bg:"blackBright",title:"redBright",text:"white"}};function Jo({position:e="bottom-right",maxVisible:t=5,children:n}){let[r,o]=useState([]),s=useRef(new Map),i=useCallback(I=>{let P=`toast-${zo++}`,d={id:P,durationMs:3e3,variant:"info",...I};if(o(m=>[...m,d]),d.durationMs&&d.durationMs>0){let m=setTimeout(()=>{s.current.delete(P),o(x=>x.filter(k=>k.id!==P));},d.durationMs);s.current.set(P,m);}},[]);useEffect(()=>()=>{for(let I of s.current.values())clearTimeout(I);s.current.clear();},[]);let c=useRef({push:i});c.current.push=i;let l=e.startsWith("top"),u=e.endsWith("right"),f={position:"absolute",top:0,left:0,width:"100%",height:"100%",zIndex:900,flexDirection:"column",justifyContent:l?"flex-start":"flex-end",alignItems:u?"flex-end":"flex-start",padding:1},w=r.slice(-t).map(I=>{let P=I.variant??"info",d=Uo[P],m=[];return I.title&&m.push(se.createElement("text",{key:"title",style:{bold:true,color:d.title}},I.title)),m.push(se.createElement("text",{key:"msg",style:{color:d.text}},I.message)),se.createElement("box",{key:I.id,style:{bg:d.bg,paddingX:1,flexDirection:"column",minWidth:20,maxWidth:50}},...m)});return se.createElement(or.Provider,{value:c.current},n,w.length>0?se.createElement("box",{style:f},...w):null)}function Qo({items:e,value:t,onChange:n,placeholder:r="Select...",style:o,focusedStyle:s,dropdownStyle:i,highlightColor:c="cyan",maxVisible:l=8,searchable:u=true,disabled:f}){let g=useContext(z),w=useContext(J),I=useContext(Me),P=useContext(Ae),d=useRef(null),m=useRef(null),x=useRef(n);x.current=n;let[k,R]=useState(false),[$,O]=useState(false),[N,B]=useState(false),[E,F]=useState(0),[C,b]=useState(""),[S,h]=useState(0),H=ve(d),_=I?.rows??24,D=P?.getBounds(),X=e.find(y=>y.value===t)?.label??"",W=useMemo(()=>{if(!C)return e;let y=C.toLowerCase();return e.filter(v=>v.label.toLowerCase().includes(y))},[e,C]),K=Math.min(l,W.length),q=W.slice(S,S+K);useEffect(()=>{F(0),h(0);},[C]),useEffect(()=>{!$&&N&&(B(false),b(""));},[$,N]),useEffect(()=>{if(!(!g||!m.current||!d.current))return g.register(m.current,d.current)},[g,k]),useEffect(()=>{!g||!m.current||g.setSkippable(m.current,!!f);},[g,f,k]),useEffect(()=>{if(!g||!m.current)return;let y=m.current;return O(g.focusedId===y),g.onFocusChange(v=>{O(v===y);})},[g,k]);let j=useCallback((y,v)=>{let G=y+v;for(;G>=0&&G<W.length;){if(!W[G].disabled)return G;G+=v;}return y},[W]),Z=useCallback(y=>{y<S?h(y):y>=S+K&&h(y-K+1);},[S,K]);useEffect(()=>{if(!w||!m.current||f)return;let y=m.current,v=G=>{if(g?.focusedId!==y)return false;if(!N){if(G.name==="return"||G.name===" "||G.sequence===" "||G.name==="down"){B(true),b("");let p=W.findIndex(V=>V.value===t),L=p>=0?p:0;return F(L),h(Math.max(0,L-Math.floor(l/2))),true}return false}if(G.name==="tab")return B(false),b(""),false;if(G.name==="escape")return B(false),b(""),true;if(G.name==="return"){let p=W[E];return p&&!p.disabled&&(x.current?.(p.value),B(false),b("")),true}if(G.name==="up"){let p=j(E,-1);return F(p),Z(p),true}if(G.name==="down"){let p=j(E,1);return F(p),Z(p),true}if(G.name==="backspace")return u&&C.length>0&&b(p=>p.slice(0,-1)),true;if(G.name==="home"){let p=j(-1,1);return F(p),Z(p),true}if(G.name==="end"){let p=j(W.length,-1);return F(p),Z(p),true}if(u&&G.sequence&&G.sequence.length===1&&!G.ctrl&&!G.alt){let p=G.sequence;if(p>=" "&&p<="~")return b(L=>L+p),true}return true};return w.registerInputHandler(y,v)},[w,g,f,N,E,W,t,l,u,C,j,Z,k]);let ne={flexDirection:"row",width:"100%",...!o?.bg&&o?.border===void 0?{border:"single"}:{},...o,...$&&s?s:{}},pe=X?o?.color??void 0:"blackBright",U=[se.createElement("text",{key:"label",style:{flexGrow:1,flexShrink:1,color:pe,wrap:"ellipsis",...X?{}:{dim:true}}},X||r),se.createElement("text",{key:"arrow",style:{flexShrink:0,color:$?c:"blackBright"}},N?" \u25B2":" \u25BC")],T=null;if(N){let y=[];u&&C&&y.push(se.createElement("box",{key:"search",style:{paddingX:1}},se.createElement("text",{style:{color:"blackBright",dim:true}},`/${C}`))),W.length===0&&y.push(se.createElement("box",{key:"empty",style:{paddingX:1}},se.createElement("text",{style:{dim:true,color:"blackBright"}},"No matches"))),S>0&&y.push(se.createElement("box",{key:"scroll-up",style:{justifyContent:"center",alignItems:"center"}},se.createElement("text",{style:{dim:true,color:"blackBright"}},"\u25B2"))),q.forEach((ie,Ne)=>{let ge=S+Ne===E,ye=ie.disabled,Oe={paddingX:1,...ge&&!ye?{bg:c}:{}},Ce={...ge&&!ye?{color:"black",bold:true}:{},...ye?{dim:true,color:"blackBright"}:{}};y.push(se.createElement("box",{key:`item-${ie.value}`,style:Oe},se.createElement("text",{style:Ce},ie.label)));}),S+K<W.length&&y.push(se.createElement("box",{key:"scroll-down",style:{justifyContent:"center",alignItems:"center"}},se.createElement("text",{style:{dim:true,color:"blackBright"}},"\u25BC")));let v=S>0,G=S+K<W.length,p=u&&C,L=W.length===0,V=!i?.bg&&i?.border===void 0,A=K+(V?2:0);v&&(A+=1),G&&(A+=1),p&&(A+=1),L&&(A+=1);let ee=H.y+H.height,re,fe;D?(re=D.visibleBottom-ee,fe=H.y-D.visibleTop):(re=_-ee,fe=H.y);let ae=re<A&&fe>=A?-A:H.height||1;T=se.createElement("box",{style:{position:"absolute",top:ae,left:0,right:0,zIndex:9999,...V?{border:"single"}:{},bg:"black",flexDirection:"column",...i}},...y);}let a={flexDirection:"column",width:ne.width??"100%",minWidth:ne.minWidth,maxWidth:ne.maxWidth,flexGrow:ne.flexGrow,flexShrink:ne.flexShrink??1};return se.createElement("box",{style:a},se.createElement("box",{style:ne,focusable:true,ref:y=>{y?(d.current=y,m.current=y.focusId,R(true)):(d.current=null,m.current=null,R(false));}},...U),T)}function Zo({checked:e,onChange:t,label:n,style:r,focusedStyle:o,disabled:s,checkedChar:i="\u2713",uncheckedChar:c=" "}){let l=useContext(z),u=useContext(J),f=useRef(null),g=useRef(null),w=useRef(t);w.current=t;let I=useRef(e);I.current=e;let[P,d]=useState(false),[m,x]=useState(false);useEffect(()=>{if(!(!l||!g.current||!f.current||s))return l.register(g.current,f.current)},[l,s,P]),useEffect(()=>{if(!l||!g.current)return;let N=g.current;return x(l.focusedId===N),l.onFocusChange(B=>{x(B===N);})},[l,P]),useEffect(()=>{if(!u||!g.current||s)return;let N=g.current,B=E=>l?.focusedId!==N?false:E.name==="return"||E.name===" "||E.sequence===" "?(w.current(!I.current),true):false;return u.registerInputHandler(N,B)},[u,l,s,P]);let k={flexDirection:"row",gap:1,...r,...m&&o?o:{}},R=e?i:c,$={color:s?"blackBright":m?"white":r?.color},O={color:s?"blackBright":r?.color};return se.createElement("box",{style:k,focusable:!s,ref:N=>{N?(f.current=N,g.current=N.focusId,d(true)):(f.current=null,g.current=null,d(false));}},se.createElement("text",{key:"box",style:$},`[${R}]`),n?se.createElement("text",{key:"label",style:O},n):null)}function ts({items:e,value:t,onChange:n,style:r,itemStyle:o,focusedItemStyle:s,selectedItemStyle:i,disabled:c,direction:l="column",gap:u=0,selectedChar:f="\u25CF",unselectedChar:g="\u25CB"}){let w=useContext(z),I=useContext(J),P=useRef(null),d=useRef(null),m=useRef(n);m.current=n;let[x,k]=useState(false),[R,$]=useState(false),[O,N]=useState(()=>{let C=e.findIndex(b=>b.value===t);return C>=0?C:e.findIndex(b=>!b.disabled)}),B=useCallback((C,b)=>{let S=C;for(let h=0;h<e.length;h++)if(S=(S+b+e.length)%e.length,!e[S]?.disabled)return S;return C},[e]);useEffect(()=>{if(!(!w||!d.current||!P.current||c))return w.register(d.current,P.current)},[w,c,x]),useEffect(()=>{if(!w||!d.current)return;let C=d.current;return $(w.focusedId===C),w.onFocusChange(b=>{$(b===C);})},[w,x]),useEffect(()=>{if(!I||!d.current||c)return;let C=d.current,b=S=>{if(w?.focusedId!==C)return false;if(S.name==="up"||S.name==="left"||S.name==="k"||S.name==="tab"&&S.shift)return N(h=>B(h,-1)),true;if(S.name==="down"||S.name==="right"||S.name==="j"||S.name==="tab"&&!S.shift)return N(h=>B(h,1)),true;if(S.name==="return"||S.name===" "||S.sequence===" "){let h=e[O];return h&&!h.disabled&&m.current(h.value),true}return false};return I.registerInputHandler(C,b)},[I,w,c,e,O,B,x]),useEffect(()=>{let C=e.findIndex(b=>b.value===t);C>=0&&N(C);},[t,e]);let E={flexDirection:l,gap:u,...r},F=e.map((C,b)=>{let S=C.value===t,h=b===O,H=c||C.disabled,_=S?f:g,D={flexDirection:"row",gap:1,...o};S&&i&&(D={...D,...i}),R&&h&&s&&(D={...D,...s});let M=H?"blackBright":R&&h?s?.color??"white":S?i?.color??o?.color:o?.color;return se.createElement("box",{key:b,style:D},se.createElement("text",{key:"radio",style:{color:M}},`(${_})`),se.createElement("text",{key:"label",style:{color:M}},C.label))});return se.createElement("box",{style:E,focusable:!c,ref:C=>{C?(P.current=C,d.current=C.focusId,k(true)):(P.current=null,d.current=null,k(false));}},...F)}var fr=createContext(null);function rs(){let e=useContext(fr);if(!e)throw new Error("useDialog must be used within a DialogHost");return e}function os({children:e}){let[t,n]=useState([]),r=useRef(0),o=useCallback((u,f)=>new Promise(g=>{let w=++r.current;n(I=>[...I,{id:w,type:"alert",content:u,okText:f?.okText??"OK",cancelText:"",style:f?.style,buttonStyle:f?.buttonStyle,okButtonStyle:f?.okButtonStyle,focusedButtonStyle:f?.focusedButtonStyle,backdropStyle:f?.backdropStyle,resolve:()=>g()}]);}),[]),s=useCallback((u,f)=>new Promise(g=>{let w=++r.current;n(I=>[...I,{id:w,type:"confirm",content:u,okText:f?.okText??"OK",cancelText:f?.cancelText??"Cancel",style:f?.style,buttonStyle:f?.buttonStyle,okButtonStyle:f?.okButtonStyle,cancelButtonStyle:f?.cancelButtonStyle,focusedButtonStyle:f?.focusedButtonStyle,backdropStyle:f?.backdropStyle,resolve:g}]);}),[]),i=useCallback((u,f)=>{n(g=>{let w=g.find(I=>I.id===u);return w&&w.resolve(f),g.filter(I=>I.id!==u)});},[]),c={alert:o,confirm:s},l=t[t.length-1];return se.createElement(fr.Provider,{value:c},e,l&&se.createElement(ss,{key:l.id,dialog:l,onDismiss:i}))}function ss({dialog:e,onDismiss:t}){let n=useContext(z),r=useRef(null),o=useRef(null),s=useRef(null),i=useRef(null),[c,l]=useState("ok"),[u,f]=useState(0);useEffect(()=>{if(!n||u===0)return;let x=[];return r.current&&s.current&&x.push(n.register(s.current,r.current)),o.current&&i.current&&x.push(n.register(i.current,o.current)),s.current&&n.requestFocus(s.current),()=>x.forEach(k=>k())},[n,u]),useEffect(()=>{if(n)return n.onFocusChange(x=>{x===s.current?l("ok"):x===i.current&&l("cancel");})},[n]),Ye(x=>{if(x.name==="return"||x.name==="space"){e.type==="alert"?t(e.id,true):t(e.id,c==="ok");return}if(x.name==="escape"){t(e.id,false);return}e.type==="confirm"&&n&&(x.name==="left"||x.name==="right")&&(c==="ok"&&i.current?n.requestFocus(i.current):s.current&&n.requestFocus(s.current));},[e,c,n,t]);let g=typeof e.content=="string",w=g?e.content.length:0,P={minWidth:Math.max(20,g?Math.min(w+6,50):30),maxWidth:50,bg:"black",border:"round",borderColor:"white",padding:1,flexDirection:"column",gap:1,...e.style},d=(x,k)=>{let R={paddingX:2,bg:"blackBright",color:"white"},$={bg:"white",color:"black",bold:true},O=x==="ok"?e.okButtonStyle:e.cancelButtonStyle;return {...R,...e.buttonStyle,...O,...k?{...$,...e.focusedButtonStyle}:{}}},m={position:"absolute",top:0,left:0,right:0,bottom:0,zIndex:999,...e.backdropStyle};return se.createElement(Mt,{trap:true},se.createElement("box",{style:m}),se.createElement("box",{style:{position:"absolute",top:0,left:0,right:0,bottom:0,justifyContent:"center",alignItems:"center",zIndex:1e3}},se.createElement("box",{style:P},se.createElement("box",{style:{flexDirection:"column"}},typeof e.content=="string"?se.createElement("text",null,e.content):e.content),se.createElement("box",{style:{flexDirection:"row",justifyContent:"flex-end",gap:1}},e.type==="confirm"&&se.createElement("box",{style:d("cancel",c==="cancel"),focusable:true,ref:x=>{x&&x.focusId&&!i.current&&(o.current=x,i.current=x.focusId,f(k=>k+1));}},se.createElement("text",null,e.cancelText)),se.createElement("box",{style:d("ok",c==="ok"),focusable:true,ref:x=>{x&&x.focusId&&!s.current&&(r.current=x,s.current=x.focusId,f(k=>k+1));}},se.createElement("text",null,e.okText))))))}function cs(e,t){let n=[],r=t.split("");if(e<=r.length)for(let o=0;o<e;o++)n.push(r[o]);else for(let o=0;o<r.length&&n.length<e;o++)for(let s=0;s<r.length&&n.length<e;s++)n.push(r[o]+r[s]);return n}function as({children:e,activationKey:t="ctrl+o",hintStyle:n,hintBg:r="yellow",hintFg:o="black",hintChars:s="asdfghjklqwertyuiopzxcvbnm",enabled:i=true,debug:c=false}){let l=c?(...C)=>console.error("[JumpNav]",...C):()=>{},[u,f]=useState(false),[g,w]=useState(""),[I,P]=useState([]),d=useContext(J),m=useContext(z),x=useContext(le);useEffect(()=>{l("Mounted, inputCtx:",!!d,"focusCtx:",!!m,"enabled:",i);},[]);let R=useCallback(C=>{let b=C.toLowerCase().split("+");return {ctrl:b.includes("ctrl"),alt:b.includes("alt"),shift:b.includes("shift"),meta:b.includes("meta"),name:b[b.length-1]??""}},[])(t),$=useCallback(()=>{if(!m?.getActiveElements){l("refreshElements: no getActiveElements");return}let C=m.getActiveElements();l("getActiveElements returned",C.length,"elements");let b=C.map(({id:S,node:h})=>({id:S,node:h,layout:x?.getLayout(h)??h.layout}));b.sort((S,h)=>S.layout.y!==h.layout.y?S.layout.y-h.layout.y:S.layout.x-h.layout.x),P(b);},[m,x,l]),O=useRef(false);useEffect(()=>{u&&!O.current&&(l("Activated! Refreshing elements..."),$()),O.current=u;},[u,$,l]);let N=I.filter(C=>C.layout.width>0&&C.layout.height>0),B=cs(N.length,s),E=useMemo(()=>{let C=new Map;return N.forEach((b,S)=>{B[S]&&C.set(B[S],b.id);}),C},[N,B]);useEffect(()=>{if(!d||!i){l("Not subscribing - inputCtx:",!!d,"enabled:",i);return}l("Subscribing to priority input, activation key:",t);let C=b=>{let S=b.name===R.name,h=!!b.ctrl===R.ctrl,H=!!b.alt===R.alt,_=!!b.shift===R.shift,D=!!b.meta===R.meta;if(!u&&S&&h&&H&&_&&D)return l("Activation key matched! Activating..."),f(true),w(""),true;if(u){if(b.name==="escape")return l("Escape pressed, deactivating"),f(false),w(""),true;if(b.name==="backspace")return w(""),true;if(b.sequence&&b.sequence.length===1&&/[a-z]/i.test(b.sequence)){let M=g+b.sequence.toLowerCase();l("Buffer:",M);let X=E.get(M);return X?(l("Jumping to",X),m?.requestFocus(X),f(false),w(""),true):[...E.keys()].some(K=>K.startsWith(M))?(w(M),true):(w(""),true)}return true}return false};return d.subscribePriority(C)},[d,i,u,R,g,E,m,t,l]);let F=u?se.createElement("box",{style:{position:"absolute",top:0,left:0,width:"100%",height:"100%",zIndex:99998}},...N.map((C,b)=>{let S=B[b];if(!S)return null;let{x:h,y:H}=C.layout,_=S.startsWith(g)&&g.length>0;return se.createElement("box",{key:C.id,style:{position:"absolute",top:H,left:Math.max(0,h-S.length-2),bg:_?"cyan":r,color:o,paddingX:1,zIndex:99999,...n}},se.createElement("text",{style:{bold:true,color:o}},S))}),se.createElement("box",{style:{position:"absolute",bottom:0,left:0,right:0,bg:"blackBright",paddingX:1,zIndex:99999}},se.createElement("text",{style:{color:"white"}},g?`Jump: ${g}_`:"Press a key to jump \u2022 ESC to cancel"))):null;return se.createElement(se.Fragment,null,e,F)}var $e=join(tmpdir(),"glyph-image-cache");function Ct(e){return e.startsWith("http://")||e.startsWith("https://")}function ds(e,t){let n=createHash("md5").update(e).digest("hex"),r=t?hs(t):ms(e)||".png";return join($e,`${n}${r}`)}function ms(e){try{let r=new URL(e).pathname.match(/\.(png|jpg|jpeg|gif|webp|bmp|ico)/i);if(r){let o=r[0].toLowerCase();return o===".jpg"?".jpeg":o}return ""}catch{return ""}}function hs(e){switch(e){case "png":return ".png";case "jpeg":return ".jpeg";case "gif":return ".gif";case "webp":return ".webp";default:return ".png"}}function ln(e){if(Ct(e))try{let t=new URL(e),n=t.pathname;return basename(n)||t.hostname}catch{return "remote-image"}return basename(e)}function hr(){existsSync($e)||mkdirSync($e,{recursive:true});}async function gr(e){let t=ln(e);return Ct(e)?ys(e,t):gs(e,t)}async function gs(e,t){if(!existsSync(e))throw new Error(`Image not found: ${e}`);return {data:readFileSync(e),name:t,localPath:e,isRemote:false}}async function ys(e,t){hr();let n=createHash("md5").update(e).digest("hex"),r=[".png",".jpeg",".gif",".webp"];for(let u of r){let f=join($e,`${n}${u}`);if(existsSync(f))return {data:readFileSync(f),name:t,localPath:f,isRemote:true}}let o=await fetch(e);if(!o.ok)throw new Error(`Failed to download image: ${o.status} ${o.statusText}`);let s=await o.arrayBuffer(),i=Buffer.from(s);if(!xs(i))throw new Error(`Invalid image data from: ${e}`);let c=St(i),l=ds(e,c);return writeFileSync(l,i),{data:i,name:t,localPath:l,isRemote:true}}function xs(e){return e.length<4?false:e[0]===137&&e[1]===80&&e[2]===78&&e[3]===71||e[0]===255&&e[1]===216&&e[2]===255||e[0]===71&&e[1]===73&&e[2]===70||e[0]===66&&e[1]===77||e[0]===82&&e[1]===73&&e[2]===70&&e[3]===70&&e.length>=12&&e[8]===87&&e[9]===69&&e[10]===66&&e[11]===80||e[0]===0&&e[1]===0&&e[2]===1&&e[3]===0}function St(e){return e.length<4?"unknown":e[0]===137&&e[1]===80&&e[2]===78&&e[3]===71?"png":e[0]===255&&e[1]===216&&e[2]===255?"jpeg":e[0]===71&&e[1]===73&&e[2]===70?"gif":e[0]===82&&e[1]===73&&e[2]===70&&e[3]===70&&e.length>=12&&e[8]===87&&e[9]===69&&e[10]===66&&e[11]===80?"webp":"unknown"}function yr(e,t){let n=St(e);if(n==="png")return e;hr();let r=createHash("md5").update(e).digest("hex"),o=join($e,`${r}.${n}`),s=join($e,`${r}.png`);try{writeFileSync(o,e);let i=platform(),c=!1;if(i==="darwin")try{execSync(`sips -s format png "${o}" --out "${s}" 2>/dev/null`,{stdio:"pipe"}),c=!0;}catch{}if(!c)try{execSync(`magick "${o}" "${s}" 2>/dev/null`,{stdio:"pipe"}),c=!0;}catch{}if(!c)try{execSync(`convert "${o}" "${s}" 2>/dev/null`,{stdio:"pipe"}),c=!0;}catch{}if(c&&existsSync(s)){let l=readFileSync(s);try{unlinkSync(o);}catch{}try{unlinkSync(s);}catch{}return l}try{unlinkSync(o);}catch{}return null}catch{try{unlinkSync(o);}catch{}try{unlinkSync(s);}catch{}return null}}function Cs(){let e=platform();return e==="darwin"?"quicklook":e==="linux"||e==="win32"?"open":"none"}async function cn(e){switch(Cs()){case "quicklook":return Ss(e);case "open":return Is(e);case "none":throw new Error("No preview method available on this platform")}}function Ss(e){return new Promise((t,n)=>{let r=spawn("qlmanage",["-p",e],{detached:false,stdio:["ignore","ignore","ignore"]});r.on("error",o=>{n(new Error(`Failed to open Quick Look: ${o.message}`));}),setTimeout(()=>{ws();},50),r.on("close",o=>{t();});})}function ws(){exec(`osascript -e '
|
|
1
|
+
import ne,{createContext,forwardRef,useState,useContext,useRef,useEffect,useLayoutEffect,useMemo,useCallback}from'react';import kr from'react-reconciler';import Se from'string-width';import Mn,{FlexDirection,Justify,Align,Direction,Edge,Wrap,Gutter,PositionType,Overflow,MeasureMode}from'yoga-layout';import {writeFileSync,existsSync,readFileSync,unlinkSync,mkdirSync}from'fs';import {createHash}from'crypto';import {join,basename}from'path';import {tmpdir,platform}from'os';import {execSync,spawn,exec}from'child_process';var Rr=0;function un(){return `glyph-focus-${Rr++}`}function fn(e,t){let n=t.style??{};return {type:e,props:t,style:n,children:[],rawTextChildren:[],parent:null,yogaNode:null,text:null,layout:{x:0,y:0,width:0,height:0,innerX:0,innerY:0,innerWidth:0,innerHeight:0},focusId:e==="input"||t.focusable?un():null,hidden:false}}function wt(e,t){t.parent=e,e.children.push(t);}function pn(e,t){let n=e.children.indexOf(t);n!==-1&&(e.children.splice(n,1),t.parent=null);}function dn(e,t,n){t.parent=e;let r=e.children.indexOf(n);r!==-1?e.children.splice(r,0,t):e.children.push(t);}function st(e){let t={},n=e;for(;n;){let r=n.style;t.color===void 0&&r.color!==void 0&&(t.color=r.color),t.bg===void 0&&r.bg!==void 0&&(t.bg=r.bg),t.bold===void 0&&r.bold!==void 0&&(t.bold=r.bold),t.dim===void 0&&r.dim!==void 0&&(t.dim=r.dim),t.italic===void 0&&r.italic!==void 0&&(t.italic=r.italic),t.underline===void 0&&r.underline!==void 0&&(t.underline=r.underline),n=n.parent;}return t}function It(e){if(e.text!=null)return e.text;let t="";for(let n of e.children)t+=It(n);return t}var vt=32,mn={supportsMutation:true,supportsPersistence:false,supportsHydration:false,isPrimaryRenderer:true,scheduleTimeout:setTimeout,cancelTimeout:clearTimeout,noTimeout:-1,supportsMicrotasks:true,scheduleMicrotask:queueMicrotask,getCurrentUpdatePriority:()=>vt,setCurrentUpdatePriority:e=>{},resolveUpdatePriority:()=>vt,getCurrentEventPriority:()=>vt,resolveEventType:()=>null,resolveEventTimeStamp:()=>-1.1,shouldAttemptEagerTransition:()=>false,getInstanceFromNode:()=>null,beforeActiveInstanceBlur:()=>{},afterActiveInstanceBlur:()=>{},prepareScopeUpdate:()=>{},getInstanceFromScope:()=>null,detachDeletedInstance:()=>{},requestPostPaintCallback:e=>{},maySuspendCommit:(e,t)=>false,preloadInstance:(e,t)=>true,startSuspendingCommit:()=>{},suspendInstance:(e,t)=>{},waitForCommitToBeReady:()=>null,NotPendingTransition:null,HostTransitionContext:{$$typeof:Symbol.for("react.context"),_currentValue:null},resetFormInstance:e=>{},bindToConsole:(e,t,n)=>Function.prototype.bind.call(console[e],console,...t),supportsResources:false,isHostHoistableType:(e,t)=>false,supportsSingletons:false,isHostSingletonType:e=>false,supportsTestSelectors:false,createInstance(e,t,n,r,o){return fn(e,t)},createTextInstance(e,t,n,r){return {type:"raw-text",text:e,parent:null}},appendInitialChild(e,t){if(t.type==="raw-text"){let n=t;n.parent=e,e.rawTextChildren.push(n),e.text=e.rawTextChildren.map(r=>r.text).join("");}else wt(e,t);},finalizeInitialChildren(e,t,n,r,o){return false},shouldSetTextContent(e,t){return false},getRootHostContext(e){return {}},getChildHostContext(e,t,n){return e},getPublicInstance(e){return e},prepareForCommit(e){return null},resetAfterCommit(e){e.onCommit();},preparePortalMount(){},appendChild(e,t){if(t.type==="raw-text"){let n=t;n.parent=e,e.rawTextChildren.push(n),e.text=e.rawTextChildren.map(r=>r.text).join("");}else wt(e,t);},appendChildToContainer(e,t){if(t.type==="raw-text")return;let n=t;n.parent=null,e.children.push(n);},insertBefore(e,t,n){t.type==="raw-text"||n.type==="raw-text"||dn(e,t,n);},insertInContainerBefore(e,t,n){if(t.type==="raw-text"||n.type==="raw-text")return;let r=t,o=n,s=e.children.indexOf(o);s!==-1?e.children.splice(s,0,r):e.children.push(r);},removeChild(e,t){if(t.type==="raw-text"){let n=t;n.parent=null;let r=e.rawTextChildren.indexOf(n);r!==-1&&e.rawTextChildren.splice(r,1),e.text=e.rawTextChildren.map(o=>o.text).join("")||null;return}pn(e,t);},removeChildFromContainer(e,t){if(t.type==="raw-text")return;let n=t,r=e.children.indexOf(n);r!==-1&&e.children.splice(r,1);},commitTextUpdate(e,t,n){e.text=n,e.parent&&(e.parent.text=e.parent.rawTextChildren.map(r=>r.text).join(""));},commitUpdate(e,t,n,r,o){e.props=r,e.style=r.style??{},r.focusable&&!e.focusId&&(e.focusId=`focus-${Math.random().toString(36).slice(2,9)}`);},hideInstance(e){e.hidden=true;},hideTextInstance(e){e.text="";},unhideInstance(e,t){e.hidden=false;},unhideTextInstance(e,t){e.text=t;},clearContainer(e){e.children.length=0;},resetTextContent(e){e.text=null;}};var Ve=kr(mn);Ve.injectIntoDevTools({bundleType:process.env.NODE_ENV==="production"?0:1,version:"0.1.0",rendererPackageName:"glyph"});var it=class{stdout;stdin;wasRaw=false;cleanedUp=false;dataHandlers=new Set;stdinAttached=false;oscState="normal";oscAccum="";escFlushTimer=null;palette=new Map;paletteResolve=null;constructor(t=process.stdout,n=process.stdin){this.stdout=t,this.stdin=n;}get columns(){return this.stdout.columns||80}get rows(){return this.stdout.rows||24}enterRawMode(){this.stdin.isTTY&&(this.wasRaw=this.stdin.isRaw,this.stdin.setRawMode(true),this.stdin.resume(),this.stdin.setEncoding("utf-8"));}exitRawMode(){this.stdin.isTTY&&!this.wasRaw&&(this.stdin.setRawMode(false),this.stdin.pause());}write(t){this.stdout.write(t);}hideCursor(){this.write("\x1B[?25l");}showCursor(){this.write("\x1B[?25h");}moveCursor(t,n){this.write(`\x1B[${n+1};${t+1}H`);}setCursorColor(t){this.write(`\x1B]12;${t}\x07`);}resetCursorColor(){this.write("\x1B]112\x07");}enterAltScreen(){this.write("\x1B[?1049h");}exitAltScreen(){this.write("\x1B[?1049l");}clearScreen(){this.write("\x1B[2J\x1B[H");}resetStyles(){this.write("\x1B[0m");}enableKittyKeyboard(){this.write("\x1B[>1u");}disableKittyKeyboard(){this.write("\x1B[<u");}setup(){this.enterRawMode(),this.enterAltScreen(),this.enableKittyKeyboard(),this.hideCursor(),this.clearScreen(),this.attachStdinListener(),this.installCleanupHandlers();}cleanup(){this.cleanedUp||(this.cleanedUp=true,this.escFlushTimer!==null&&(clearTimeout(this.escFlushTimer),this.escFlushTimer=null),this.resetStyles(),this.resetCursorColor(),this.disableKittyKeyboard(),this.showCursor(),this.exitAltScreen(),this.exitRawMode());}suspend(){this.escFlushTimer!==null&&(clearTimeout(this.escFlushTimer),this.escFlushTimer=null),this.oscState="normal",this.oscAccum="",this.resetStyles(),this.resetCursorColor(),this.disableKittyKeyboard(),this.showCursor(),this.exitAltScreen(),this.exitRawMode();}resume(){this.enterRawMode(),this.enterAltScreen(),this.enableKittyKeyboard(),this.hideCursor(),this.clearScreen();}attachStdinListener(){this.stdinAttached||(this.stdinAttached=true,this.stdin.on("data",t=>{let n=typeof t=="string"?t:t.toString("utf-8");this.dispatchFiltered(n);}));}onData(t){return this.dataHandlers.add(t),()=>{this.dataHandlers.delete(t);}}dispatchFiltered(t){this.escFlushTimer!==null&&(clearTimeout(this.escFlushTimer),this.escFlushTimer=null);let n=this.filterOsc(t);if(n.length>0)for(let r of this.dataHandlers)r(n);this.oscState==="esc"&&(this.escFlushTimer=setTimeout(()=>{this.escFlushTimer=null,this.oscState="normal";for(let r of this.dataHandlers)r("\x1B");},50));}filterOsc(t){let n="";for(let r=0;r<t.length;r++){let o=t[r],s=t.charCodeAt(r);switch(this.oscState){case "normal":s===27?this.oscState="esc":n+=o;break;case "esc":o==="]"?(this.oscState="osc",this.oscAccum=""):(n+="\x1B"+o,this.oscState="normal");break;case "osc":s===7?(this.handleOscResponse(this.oscAccum),this.oscAccum="",this.oscState="normal"):s===27?this.oscState="osc_esc":this.oscAccum+=o;break;case "osc_esc":o==="\\"?(this.handleOscResponse(this.oscAccum),this.oscAccum="",this.oscState="normal"):(this.oscAccum+="\x1B"+o,this.oscState="osc");break}}return n}handleOscResponse(t){let n=t.match(/^4;(\d+);rgb:([0-9a-fA-F]+)\/([0-9a-fA-F]+)\/([0-9a-fA-F]+)/);if(n){let r=parseInt(n[1],10),o=parseInt(n[2].substring(0,2),16),s=parseInt(n[3].substring(0,2),16),i=parseInt(n[4].substring(0,2),16);this.palette.set(r,[o,s,i]),this.palette.size>=16&&this.paletteResolve&&(this.paletteResolve(),this.paletteResolve=null);}}queryPalette(){return new Promise(t=>{let n=()=>t(this.palette),r=setTimeout(n,200);this.paletteResolve=()=>{clearTimeout(r),n();};let o="";for(let s=0;s<16;s++)o+=`\x1B]4;${s};?\x07`;this.write(o);})}onResize(t){return this.stdout.on("resize",t),()=>{this.stdout.off("resize",t);}}installCleanupHandlers(){let t=()=>this.cleanup();process.on("exit",t);let n=r=>{t(),process.kill(process.pid,r);};process.once("SIGINT",()=>n("SIGINT")),process.once("SIGTERM",()=>n("SIGTERM")),process.on("uncaughtException",r=>{t(),console.error(r),process.exit(1);}),process.on("unhandledRejection",r=>{t(),console.error(r),process.exit(1);});}};function hn(e){switch(e){case 9:return "tab";case 13:return "return";case 27:return "escape";case 32:return "space";case 127:return "backspace";case 57358:return "capslock";case 57359:return "scrolllock";case 57360:return "numlock";case 57361:return "printscreen";case 57362:return "pause";case 57363:return "menu";case 57364:return "f13";case 57365:return "f14";case 57366:return "f15";case 57367:return "f16";case 57368:return "f17";case 57369:return "f18";case 57370:return "f19";case 57371:return "f20";case 57372:return "f21";case 57373:return "f22";case 57374:return "f23";case 57375:return "f24";case 57376:return "f25";case 57399:return "kp0";case 57400:return "kp1";case 57401:return "kp2";case 57402:return "kp3";case 57403:return "kp4";case 57404:return "kp5";case 57405:return "kp6";case 57406:return "kp7";case 57407:return "kp8";case 57408:return "kp9";case 57409:return "kpdecimal";case 57410:return "kpdivide";case 57411:return "kpmultiply";case 57412:return "kpminus";case 57413:return "kpplus";case 57414:return "kpenter";case 57415:return "kpequal";case 57416:return "kpleft";case 57417:return "kpright";case 57418:return "kpup";case 57419:return "kpdown";case 57420:return "kppageup";case 57421:return "kppagedown";case 57422:return "kphome";case 57423:return "kpend";case 57424:return "kpinsert";case 57425:return "kpdelete";case 57428:return "mediaplaypause";case 57429:return "mediastop";case 57430:return "mediaprev";case 57431:return "medianext";case 57432:return "mediarewind";case 57433:return "mediafastforward";case 57434:return "mediamute";case 57435:return "volumedown";case 57436:return "volumeup";default:return e>=32&&e<=126?String.fromCharCode(e).toLowerCase():"unknown"}}function Pr(e){switch(e.split(";")[0]){case "1":return "home";case "2":return "insert";case "3":return "delete";case "4":return "end";case "5":return "pageup";case "6":return "pagedown";case "7":return "home";case "8":return "end";case "11":return "f1";case "12":return "f2";case "13":return "f3";case "14":return "f4";case "15":return "f5";case "17":return "f6";case "18":return "f7";case "19":return "f8";case "20":return "f9";case "21":return "f10";case "23":return "f11";case "24":return "f12";case "25":return "f13";case "26":return "f14";case "28":return "f15";case "29":return "f16";case "31":return "f17";case "32":return "f18";case "33":return "f19";case "34":return "f20";default:return "unknown"}}function lt(e,t){let n=t-1;n&1&&(e.shift=true),n&2&&(e.alt=true),n&4&&(e.ctrl=true),n&8&&(e.meta=true);}function gn(e){let t=[],n=0;for(;n<e.length;){let r=e[n],o=e.charCodeAt(n);if(r==="\x1B"){if(e[n+1]==="["){let s=Er(e,n);if(s){t.push(s.key),n=s.end;continue}}if(e[n+1]==="O"){let s=Tr(e,n);if(s){t.push(s.key),n=s.end;continue}}if(n+1<e.length&&e.charCodeAt(n+1)>=32){let s=e[n+1];t.push({name:s===" "?"space":s.toLowerCase(),sequence:e.substring(n,n+2),alt:true}),n+=2;continue}t.push({name:"escape",sequence:"\x1B"}),n++;continue}if(o>=1&&o<=26){let s=String.fromCharCode(o+96);o===13?t.push({name:"return",sequence:"\r"}):o===9?t.push({name:"tab",sequence:" "}):o===8?t.push({name:"backspace",sequence:"\b"}):t.push({name:s,sequence:r,ctrl:true}),n++;continue}if(o===127){t.push({name:"backspace",sequence:r}),n++;continue}t.push({name:r===" "?"space":r,sequence:r}),n++;}return t}function Tr(e,t){if(t+2>=e.length)return null;let n=e[t+2],r=e.substring(t,t+3),o;switch(n){case "A":o={name:"up",sequence:r};break;case "B":o={name:"down",sequence:r};break;case "C":o={name:"right",sequence:r};break;case "D":o={name:"left",sequence:r};break;case "H":o={name:"home",sequence:r};break;case "F":o={name:"end",sequence:r};break;case "P":o={name:"f1",sequence:r};break;case "Q":o={name:"f2",sequence:r};break;case "R":o={name:"f3",sequence:r};break;case "S":o={name:"f4",sequence:r};break;case "j":o={name:"kpmultiply",sequence:r};break;case "k":o={name:"kpplus",sequence:r};break;case "l":o={name:"kpcomma",sequence:r};break;case "m":o={name:"kpminus",sequence:r};break;case "n":o={name:"kpdecimal",sequence:r};break;case "o":o={name:"kpdivide",sequence:r};break;case "p":o={name:"kp0",sequence:r};break;case "q":o={name:"kp1",sequence:r};break;case "r":o={name:"kp2",sequence:r};break;case "s":o={name:"kp3",sequence:r};break;case "t":o={name:"kp4",sequence:r};break;case "u":o={name:"kp5",sequence:r};break;case "v":o={name:"kp6",sequence:r};break;case "w":o={name:"kp7",sequence:r};break;case "x":o={name:"kp8",sequence:r};break;case "y":o={name:"kp9",sequence:r};break;case "M":o={name:"kpenter",sequence:r};break;default:return null}return {key:o,end:t+3}}function Er(e,t){let n=t+2,r="";for(;n<e.length;){let c=e.charCodeAt(n);if(c>=48&&c<=63)r+=e[n],n++;else break}if(n>=e.length)return null;let o=e[n],s=e.substring(t,n+1);n++;let i;switch(o){case "A":i={name:"up",sequence:s};break;case "B":i={name:"down",sequence:s};break;case "C":i={name:"right",sequence:s};break;case "D":i={name:"left",sequence:s};break;case "H":i={name:"home",sequence:s};break;case "F":i={name:"end",sequence:s};break;case "Z":i={name:"tab",sequence:s,shift:true};break;case "P":i={name:"f1",sequence:s};break;case "Q":i={name:"f2",sequence:s};break;case "R":i={name:"f3",sequence:s};break;case "S":i={name:"f4",sequence:s};break;case "~":{if(r.startsWith("27;")){let c=r.split(";"),l=parseInt(c[1]??"1",10),u=parseInt(c[2]??"0",10);i={name:hn(u),sequence:s},lt(i,l);break}if(i={name:Pr(r),sequence:s},r.includes(";")){let c=r.split(";"),l=parseInt(c[1]??"1",10);lt(i,l);}break}case "u":{let c=r.split(";"),l=parseInt(c[0]??"0",10),u=parseInt(c[1]??"1",10);i={name:hn(l),sequence:s},lt(i,u);break}case "I":i={name:"focus",sequence:s};break;case "O":i={name:"blur",sequence:s};break;default:i={name:"unknown",sequence:s};}if(r.includes(";")&&!["~","u"].includes(o)){let c=r.split(";"),l=parseInt(c[c.length-1]??"1",10);l>=1&&l<=16&<(i,l);}return {key:i,end:n}}var Nr={black:"\x1B[30m",red:"\x1B[31m",green:"\x1B[32m",yellow:"\x1B[33m",blue:"\x1B[34m",magenta:"\x1B[35m",cyan:"\x1B[36m",white:"\x1B[37m",blackBright:"\x1B[90m",redBright:"\x1B[91m",greenBright:"\x1B[92m",yellowBright:"\x1B[93m",blueBright:"\x1B[94m",magentaBright:"\x1B[95m",cyanBright:"\x1B[96m",whiteBright:"\x1B[97m"},Br={black:"\x1B[40m",red:"\x1B[41m",green:"\x1B[42m",yellow:"\x1B[43m",blue:"\x1B[44m",magenta:"\x1B[45m",cyan:"\x1B[46m",white:"\x1B[47m",blackBright:"\x1B[100m",redBright:"\x1B[101m",greenBright:"\x1B[102m",yellowBright:"\x1B[103m",blueBright:"\x1B[104m",magentaBright:"\x1B[105m",cyanBright:"\x1B[106m",whiteBright:"\x1B[107m"};function Rt(e){let t=e.replace("#",""),n=parseInt(t.substring(0,2),16),r=parseInt(t.substring(2,4),16),o=parseInt(t.substring(4,6),16);return {r:n,g:r,b:o}}function yn(e){if(typeof e=="string"){if(e.startsWith("#")){let{r:o,g:s,b:i}=Rt(e);return `\x1B[38;2;${o};${s};${i}m`}return Nr[e]??"\x1B[39m"}if(typeof e=="number")return `\x1B[38;5;${e}m`;let{r:t,g:n,b:r}=e;return `\x1B[38;2;${t};${n};${r}m`}function xn(e){if(typeof e=="string"){if(e.startsWith("#")){let{r:o,g:s,b:i}=Rt(e);return `\x1B[48;2;${o};${s};${i}m`}return Br[e]??"\x1B[49m"}if(typeof e=="number")return `\x1B[48;5;${e}m`;let{r:t,g:n,b:r}=e;return `\x1B[48;2;${t};${n};${r}m`}var bn={black:[0,0,0],red:[170,0,0],green:[0,170,0],yellow:[170,170,0],blue:[0,0,170],magenta:[170,0,170],cyan:[0,170,170],white:[170,170,170],blackBright:[85,85,85],redBright:[255,85,85],greenBright:[85,255,85],yellowBright:[255,255,85],blueBright:[85,85,255],magentaBright:[255,85,255],cyanBright:[85,255,255],whiteBright:[255,255,255]},Cn=["black","red","green","yellow","blue","magenta","cyan","white","blackBright","redBright","greenBright","yellowBright","blueBright","magentaBright","cyanBright","whiteBright"],Oe=null;function Sn(e){e.size>0&&(Oe=e);}function Gr(e){if(Oe){let t=Cn.indexOf(e);if(t!==-1){let n=Oe.get(t);if(n)return n}}return bn[e]??null}function Fr(e){if(typeof e=="string"){if(e.startsWith("#")){let t=Rt(e);return [t.r,t.g,t.b]}return Gr(e)}if(typeof e=="number"){if(e<16){if(Oe){let s=Oe.get(e);if(s)return s}return bn[Cn[e]]}if(e>=232){let s=(e-232)*10+8;return [s,s,s]}let t=e-16,n=t%6*51,r=Math.floor(t/6)%6*51;return [Math.floor(t/36)*51,r,n]}return [e.r,e.g,e.b]}function ct(e){let t=Fr(e);if(!t)return false;let[n,r,o]=t.map(i=>{let c=i/255;return c<=.03928?c/12.92:Math.pow((c+.055)/1.055,2.4)});return .2126*n+.7152*r+.0722*o>.4}function kt(e,t){return e===t?true:e==null||t==null?false:typeof e=="object"&&typeof t=="object"?e.r===t.r&&e.g===t.g&&e.b===t.b:false}function wn(e){return e&&ct(e)?"black":"white"}var De=class e{width;height;cells;constructor(t,n){this.width=t,this.height=n,this.cells=new Array(t*n),this.clear();}clear(){for(let t=0;t<this.cells.length;t++)this.cells[t]={ch:" "};}resize(t,n){this.width=t,this.height=n,this.cells=new Array(t*n),this.clear();}get(t,n){if(!(t<0||t>=this.width||n<0||n>=this.height))return this.cells[n*this.width+t]}set(t,n,r){t<0||t>=this.width||n<0||n>=this.height||(this.cells[n*this.width+t]=r);}setChar(t,n,r,o,s,i,c,l,u){t<0||t>=this.width||n<0||n>=this.height||(this.cells[n*this.width+t]={ch:r,fg:o,bg:s,bold:i,dim:c,italic:l,underline:u});}fillRect(t,n,r,o,s,i,c){for(let l=n;l<n+o;l++)for(let u=t;u<t+r;u++)this.setChar(u,l,s,i,c);}clone(){let t=new e(this.width,this.height);for(let n=0;n<this.cells.length;n++){let r=this.cells[n];t.cells[n]={...r};}return t}cellsEqual(t,n){return t.ch===n.ch&&kt(t.fg,n.fg)&&kt(t.bg,n.bg)&&(t.bold??false)===(n.bold??false)&&(t.dim??false)===(n.dim??false)&&(t.italic??false)===(n.italic??false)&&(t.underline??false)===(n.underline??false)}};var Lr={single:{topLeft:"\u250C",topRight:"\u2510",bottomLeft:"\u2514",bottomRight:"\u2518",horizontal:"\u2500",vertical:"\u2502"},double:{topLeft:"\u2554",topRight:"\u2557",bottomLeft:"\u255A",bottomRight:"\u255D",horizontal:"\u2550",vertical:"\u2551"},round:{topLeft:"\u256D",topRight:"\u256E",bottomLeft:"\u2570",bottomRight:"\u256F",horizontal:"\u2500",vertical:"\u2502"},ascii:{topLeft:"+",topRight:"+",bottomLeft:"+",bottomRight:"+",horizontal:"-",vertical:"|"}};function In(e){return e==="none"?null:Lr[e]}function vn(e,t,n,r){if(e.length===0)return {width:0,height:0};let o=e.split(`
|
|
2
|
+
`);if(n===MeasureMode.Undefined||r==="none"){let l=0;for(let u of o){let f=Se(u);f>l&&(l=f);}return {width:l,height:o.length}}let s=Math.max(1,Math.floor(t)),i=de(o,s,r),c=0;for(let l of i){let u=Se(l);u>c&&(c=u);}return {width:c,height:i.length}}function de(e,t,n){let r=[];for(let o of e){if(Se(o)<=t){r.push(o);continue}if(n==="truncate"){r.push(Rn(o,t));continue}if(n==="ellipsis"){r.push(Ar(o,t));continue}let i=Hr(o,t);r.push(...i);}return r}function Rn(e,t){let n="",r=0;for(let o of e){let s=Se(o);if(r+s>t)break;n+=o,r+=s;}return n}function Ar(e,t){if(t<=1)return t===1?"\u2026":"";let n=Rn(e,t-1);return Se(n)<Se(e)?n+"\u2026":e}function Hr(e,t){let n=[],r="",o=0,s="",i=0;for(let c=0;c<=e.length;c++){let l=e[c],u=c===e.length,f=l===" ";if(u||f){if(s.length>0){if(o+i<=t)r+=s,o+=i;else if(i<=t)r.length>0&&n.push(r),r=s,o=i;else for(let g of s){let w=Se(g);o+w>t&&r.length>0&&(n.push(r),r="",o=0),r+=g,o+=w;}s="",i=0;}f&&(o+1<=t?(r+=" ",o+=1):(r.length>0&&n.push(r),r=" ",o=1));}else l&&(s+=l,i+=Se(l));}return r.length>0&&n.push(r),n.length>0?n:[""]}var kn={30:"black",31:"red",32:"green",33:"yellow",34:"blue",35:"magenta",36:"cyan",37:"white",90:"blackBright",91:"redBright",92:"greenBright",93:"yellowBright",94:"blueBright",95:"magentaBright",96:"cyanBright",97:"whiteBright"},Pn={40:"black",41:"red",42:"green",43:"yellow",44:"blue",45:"magenta",46:"cyan",47:"white",100:"blackBright",101:"redBright",102:"greenBright",103:"yellowBright",104:"blueBright",105:"magentaBright",106:"cyanBright",107:"whiteBright"};function jr(e,t){let n=0;for(;n<e.length;){let r=e[n];switch(r){case 0:t.fg=void 0,t.bg=void 0,t.bold=false,t.dim=false,t.italic=false,t.underline=false;break;case 1:t.bold=true;break;case 2:t.dim=true;break;case 3:t.italic=true;break;case 4:t.underline=true;break;case 22:t.bold=false,t.dim=false;break;case 23:t.italic=false;break;case 24:t.underline=false;break;case 39:t.fg=void 0;break;case 49:t.bg=void 0;break;case 38:if(e[n+1]===5&&e[n+2]!==void 0)t.fg=e[n+2],n+=2;else if(e[n+1]===2&&e[n+4]!==void 0){let o=e[n+2]??0,s=e[n+3]??0,i=e[n+4]??0;t.fg=`#${o.toString(16).padStart(2,"0")}${s.toString(16).padStart(2,"0")}${i.toString(16).padStart(2,"0")}`,n+=4;}break;case 48:if(e[n+1]===5&&e[n+2]!==void 0)t.bg=e[n+2],n+=2;else if(e[n+1]===2&&e[n+4]!==void 0){let o=e[n+2]??0,s=e[n+3]??0,i=e[n+4]??0;t.bg=`#${o.toString(16).padStart(2,"0")}${s.toString(16).padStart(2,"0")}${i.toString(16).padStart(2,"0")}`,n+=4;}break;default:kn[r]?t.fg=kn[r]:Pn[r]&&(t.bg=Pn[r]);break}n++;}}function Pt(e){let t=[],n={},r="",o=/\x1b\[([0-9;]*)m/g,s=0,i;for(;(i=o.exec(e))!==null;){let l=e.slice(s,i.index);l&&(r+=l),r&&(t.push({text:r,style:{...n}}),r="");let f=(i[1]||"0").split(";").map(g=>parseInt(g,10)||0);jr(f,n),s=o.lastIndex;}let c=e.slice(s);return c&&(r+=c),r&&t.push({text:r,style:{...n}}),t}function Tt(e){return e.replace(/\x1b\[[0-9;]*m/g,"")}function Tn(e,t,n={}){t.clear();let r={},o=[],s={x:0,y:0,width:t.width,height:t.height};for(let i of e)i.hidden||En(i,s,i.style.zIndex??0,o);o.sort((i,c)=>i.zIndex-c.zIndex);for(let i of o){let c=Vr(i.node,t,i.clip,n);c?.cursorPosition&&(r.cursorPosition=c.cursorPosition);}return r}function En(e,t,n,r){if(e.hidden)return;let o=e.style.zIndex??n,s=e.style.clip?$r(t,{x:e.layout.innerX,y:e.layout.innerY,width:e.layout.innerWidth,height:e.layout.innerHeight}):t;if(r.push({node:e,clip:t,zIndex:o}),e.type!=="text"&&e.type!=="input")for(let i of e.children)En(i,s,o,r);}function $r(e,t){let n=Math.max(e.x,t.x),r=Math.max(e.y,t.y),o=Math.min(e.x+e.width,t.x+t.width),s=Math.min(e.y+e.height,t.y+t.height);return {x:n,y:r,width:Math.max(0,o-n),height:Math.max(0,s-r)}}function at(e,t,n){return e>=n.x&&e<n.x+n.width&&t>=n.y&&t<n.y+n.height}function Vr(e,t,n,r={}){let{x:o,y:s,width:i,height:c,innerX:l,innerY:u,innerWidth:f,innerHeight:g}=e.layout,w=e.style;if(i<=0||c<=0)return;let T=st(e).bg;if(w.bg)for(let m=s;m<s+c;m++)for(let y=o;y<o+i;y++)at(y,m,n)&&t.setChar(y,m," ",void 0,w.bg);let d=w.border?In(w.border):null;if(d&&i>=2&&c>=2){let m=w.borderColor,y=T;me(t,n,o,s,d.topLeft,m,y);for(let k=o+1;k<o+i-1;k++)me(t,n,k,s,d.horizontal,m,y);me(t,n,o+i-1,s,d.topRight,m,y),me(t,n,o,s+c-1,d.bottomLeft,m,y);for(let k=o+1;k<o+i-1;k++)me(t,n,k,s+c-1,d.horizontal,m,y);me(t,n,o+i-1,s+c-1,d.bottomRight,m,y);for(let k=s+1;k<s+c-1;k++)me(t,n,o,k,d.vertical,m,y),me(t,n,o+i-1,k,d.vertical,m,y);}if(e.type==="text")Or(e,t,n);else if(e.type==="input")return Dr(e,t,n,r)}function me(e,t,n,r,o,s,i,c,l,u,f){at(n,r,t)&&e.setChar(n,r,o,s,i,c,l,u,f);}function Nn(e,t){if(e!==void 0)return e;if(t!==void 0)return ct(t)?"black":"white"}function Or(e,t,n){let{innerX:r,innerY:o,innerWidth:s,innerHeight:i}=e.layout,c=st(e),l=It(e);if(!l)return;let u=Nn(c.color,c.bg),f=e.style.wrap??"wrap",g=e.style.textAlign??"left",w=l.split(`
|
|
3
|
+
`),I=w.map(d=>Tt(d)),T=de(I,s,f);for(let d=0;d<T.length&&d<i;d++){let m=0,y=0;for(let h=0;h<I.length;h++){let H=de([I[h]],s,f).length;if(d<y+H){m=h;break}y+=H;}let k=T[d],R=Se(k),$=0;g==="center"?$=Math.max(0,Math.floor((s-R)/2)):g==="right"&&($=Math.max(0,s-R));let V=w[m],B=Pt(V),G=d-y,N=de([I[m]],s,f),F=0;for(let h=0;h<G;h++)F+=N[h].length;let b=F+k.length,x=0,S=0;for(let h of B)for(let H of h.text){if(S>=F&&S<b){if(Se(H)>0){let O=h.style.fg??u,A=h.style.bg??c.bg,U=h.style.bold??c.bold,W=h.style.dim??c.dim,D=h.style.italic??c.italic,K=h.style.underline??c.underline;me(t,n,r+$+x,o+d,H,O,A,U,W,D,K);}x+=Se(H);}S++;}}}function Dr(e,t,n,r={}){let{cursorInfo:o,useNativeCursor:s}=r,{innerX:i,innerY:c,innerWidth:l,innerHeight:u}=e.layout;if(l<=0||u<=0)return;let f=e.props.value??e.props.defaultValue??"",g=e.props.placeholder??"",w=f||g,I=!f&&!!g,T=e.props.multiline??false,d=st(e),m=Nn(d.color,d.bg),y=d.bg?ct(d.bg)?"blackBright":"whiteBright":"blackBright",k=I?y:m??d.color??e.style.color,R=I?y:k,$=I?true:d.dim,V=o&&o.nodeId===e.focusId,B;if(T&&!I){let G=e.style.wrap??"wrap",N=w.split(`
|
|
4
|
+
`),F=de(N,l,G),b=0,x=0;if(V){let h=o.position,H=0,_=h,O=0;for(let K=0;K<N.length;K++){let j=N[K].length;if(h<=O+j){H=K,_=h-O;break}O+=j+1;}let A=0;for(let K=0;K<H;K++)A+=de([N[K]],l,G).length;let U=de([N[H]],l,G),W=0,D=0;for(let K=0;K<U.length;K++){let j=U[K];if(_<=W+j.length){D=K;break}W+=j.length;}b=A+D,x=Se(N[H].slice(W,W+(_-W)));}let S=Math.max(0,b-u+1);for(let h=0;h<u;h++){let H=S+h;if(H>=F.length)break;let _=F[H],O=0;for(let A of _){if(O>=l)break;let U=Se(A);U>0&&me(t,n,i+O,c+h,A,R,d.bg,d.bold,$,d.italic,d.underline),O+=U;}}if(V){let h=b-S;if(h>=0&&h<u){let H=Math.min(x,l-1),_=i+H,O=c+h;if(at(_,O,n)&&_<i+l)if(s)B={cursorPosition:{x:_,y:O,bg:d.bg}};else {let A=t.get(_,O),U=A?.ch&&A.ch!==" "?A.ch:"\u258C",W=d.bg??"black",D=d.color??"white";t.setChar(_,O,U,W,D,A?.bold,A?.dim,A?.italic,false);}}}}else {let G=0;for(let N of w){if(G>=l)break;let F=Se(N);F>0&&me(t,n,i+G,c,N,R,d.bg,d.bold,$,d.italic,d.underline),G+=F;}if(V){let N=Math.min(o.position,l-1),F=i+N;if(at(F,c,n)&&F<i+l)if(s)B={cursorPosition:{x:F,y:c,bg:d.bg}};else {let b=t.get(F,c),x=b?.ch&&b.ch!==" "?b.ch:"\u258C",S=d.bg??"black",h=d.color??"white";t.setChar(F,c,x,S,h,b?.bold,b?.dim,b?.italic,false);}}}return B}var Kr="\x1B",Pe=`${Kr}[`;function Wr(e,t){return `${Pe}${t+1};${e+1}H`}function _r(e){let t=`${Pe}0m`;return e.bold&&(t+=`${Pe}1m`),e.dim&&(t+=`${Pe}2m`),e.italic&&(t+=`${Pe}3m`),e.underline&&(t+=`${Pe}4m`),e.fg!=null&&(t+=yn(e.fg)),e.bg!=null&&(t+=xn(e.bg)),t}function Bn(e,t,n){let r="",o=-1,s=-1,i="";for(let c=0;c<t.height;c++)for(let l=0;l<t.width;l++){let u=t.get(l,c);if(!n){let g=e.get(l,c);if(g&&t.cellsEqual(u,g))continue}(s!==c||o!==l)&&(r+=Wr(l,c));let f=_r(u);f!==i&&(r+=f,i=f),r+=u.ch,o=l+1,s=c;}return r.length>0&&(r+=`${Pe}0m`),r}var Ur={row:FlexDirection.Row,column:FlexDirection.Column},Jr={"flex-start":Justify.FlexStart,center:Justify.Center,"flex-end":Justify.FlexEnd,"space-between":Justify.SpaceBetween,"space-around":Justify.SpaceAround},Yr={"flex-start":Align.FlexStart,center:Align.Center,"flex-end":Align.FlexEnd,stretch:Align.Stretch};function Ln(e,t,n){n!==void 0&&(typeof n=="string"&&n.endsWith("%"),t(n));}function we(e,t,n){n!==void 0&&(typeof n=="string"&&n.endsWith("%")?e.setPositionPercent(t,parseFloat(n)):e.setPosition(t,n));}function Qr(e,t,n){Ln(e,o=>e.setWidth(o),t.width),Ln(e,o=>e.setHeight(o),t.height),t.minWidth!==void 0&&e.setMinWidth(t.minWidth),t.minHeight!==void 0&&e.setMinHeight(t.minHeight),t.maxWidth!==void 0&&e.setMaxWidth(t.maxWidth),t.maxHeight!==void 0&&e.setMaxHeight(t.maxHeight),t.padding!==void 0&&e.setPadding(Edge.All,t.padding),t.paddingX!==void 0&&e.setPadding(Edge.Horizontal,t.paddingX),t.paddingY!==void 0&&e.setPadding(Edge.Vertical,t.paddingY),t.paddingTop!==void 0&&e.setPadding(Edge.Top,t.paddingTop),t.paddingRight!==void 0&&e.setPadding(Edge.Right,t.paddingRight),t.paddingBottom!==void 0&&e.setPadding(Edge.Bottom,t.paddingBottom),t.paddingLeft!==void 0&&e.setPadding(Edge.Left,t.paddingLeft);let r=t.border!=null&&t.border!=="none";e.setBorder(Edge.All,r?1:0),t.flexDirection&&e.setFlexDirection(Ur[t.flexDirection]??FlexDirection.Column),t.flexWrap&&e.setFlexWrap(t.flexWrap==="wrap"?Wrap.Wrap:Wrap.NoWrap),t.justifyContent&&e.setJustifyContent(Jr[t.justifyContent]??Justify.FlexStart),t.alignItems&&e.setAlignItems(Yr[t.alignItems]??Align.Stretch),t.flexGrow!==void 0&&e.setFlexGrow(t.flexGrow),t.flexShrink!==void 0&&e.setFlexShrink(t.flexShrink),t.gap!==void 0&&e.setGap(Gutter.All,t.gap),t.position==="absolute"?e.setPositionType(PositionType.Absolute):e.setPositionType(PositionType.Relative),t.inset!==void 0&&(we(e,Edge.Top,t.inset),we(e,Edge.Right,t.inset),we(e,Edge.Bottom,t.inset),we(e,Edge.Left,t.inset)),we(e,Edge.Top,t.top),we(e,Edge.Right,t.right),we(e,Edge.Bottom,t.bottom),we(e,Edge.Left,t.left),t.clip&&e.setOverflow(Overflow.Hidden);}function An(e){let t=Mn.Node.create();if(e.yogaNode=t,Qr(t,e.style,e.type),e.type==="text"||e.type==="input")t.setMeasureFunc((n,r,o,s)=>{let i;return e.type==="input"?(i=e.props.value??e.props.defaultValue??e.props.placeholder??"",i.length===0&&(i=" ")):i=Hn(e),vn(i,n,r,e.style.wrap??"wrap")});else for(let n=0;n<e.children.length;n++){let r=e.children[n];r.hidden||(An(r),t.insertChild(r.yogaNode,t.getChildCount()));}}function Hn(e){if(e.text!=null)return e.text;let t="";for(let n of e.children)t+=Hn(n);if(t===""&&e.props.children!=null){if(typeof e.props.children=="string")return e.props.children;if(typeof e.props.children=="number")return String(e.props.children)}return t}function jn(e,t,n){let r=e.yogaNode,o=r.getComputedLayout(),s=t+o.left,i=n+o.top,c=o.width,l=o.height,u=e.style.border&&e.style.border!=="none"?1:0,f=r.getComputedPadding(Edge.Top),g=r.getComputedPadding(Edge.Right),w=r.getComputedPadding(Edge.Bottom),I=r.getComputedPadding(Edge.Left),T=s+u+I,d=i+u+f,m=Math.max(0,c-u*2-I-g),y=Math.max(0,l-u*2-f-w),k=e.layout;(!k||k.x!==s||k.y!==i||k.width!==c||k.height!==l||k.innerX!==T||k.innerY!==d||k.innerWidth!==m||k.innerHeight!==y)&&(e.layout={x:s,y:i,width:c,height:l,innerX:T,innerY:d,innerWidth:m,innerHeight:y});for(let R of e.children)R.hidden||!R.yogaNode||jn(R,s,i);}function $n(e,t,n){let r=Mn.Node.create();r.setWidth(t),r.setHeight(n),r.setFlexDirection(FlexDirection.Column);for(let o of e)o.hidden||(An(o),r.insertChild(o.yogaNode,r.getChildCount()));r.calculateLayout(t,n,Direction.LTR);for(let o of e)o.hidden||!o.yogaNode||jn(o,0,0);r.freeRecursive(),Vn(e);}function Vn(e){for(let t of e)t.yogaNode=null,Vn(t.children);}var Y=createContext(null),z=createContext(null),ie=createContext(null),Fe=createContext(null),Le=createContext(null),ft=createContext(null);var ee=null;function We(e=false){if(ee)return ee;let t=process.env.TERM||"",n=process.env.TERM_PROGRAM||"",r=process.env.KITTY_WINDOW_ID,o=process.env.GHOSTTY_RESOURCES_DIR,s=process.env.WEZTERM_PANE,i=process.env.LC_TERMINAL||"",c=process.env.KONSOLE_VERSION;return r||t==="xterm-kitty"?(ee={name:"kitty",supportsKittyGraphics:true,supportsIterm2Images:false,supportsSixel:false},ee):o||t.includes("ghostty")?(ee={name:"ghostty",supportsKittyGraphics:true,supportsIterm2Images:false,supportsSixel:false},ee):s||n==="WezTerm"?(ee={name:"wezterm",supportsKittyGraphics:true,supportsIterm2Images:true,supportsSixel:true},ee):n==="iTerm.app"||i==="iTerm2"?(ee={name:"iterm2",supportsKittyGraphics:false,supportsIterm2Images:true,supportsSixel:false},ee):c?(ee={name:"konsole",supportsKittyGraphics:false,supportsIterm2Images:false,supportsSixel:true},ee):n==="vscode"?(ee={name:"vscode",supportsKittyGraphics:false,supportsIterm2Images:false,supportsSixel:false},ee):(ee={name:"unknown",supportsKittyGraphics:false,supportsIterm2Images:false,supportsSixel:false},ee)}function Et(){let e=We();return e.supportsKittyGraphics||e.supportsIterm2Images||e.supportsSixel}var te="\x1B";function pt(){return !!process.env.TMUX}function Nt(e){if(!pt())return e;let t=e.replace(/\x1b/g,"\x1B\x1B");return `${te}Ptmux;${t}${te}\\`}function On(e){let t=We();return t.supportsKittyGraphics?Zr(e):t.supportsIterm2Images?eo(e):null}function Bt(e){if(We().supportsKittyGraphics){let n;return e!==void 0?n=`${te}_Ga=d,d=i,i=${e}${te}\\`:n=`${te}_Ga=d,d=a${te}\\`,Nt(n)}return null}function Zr(e){let{data:t,width:n,height:r,x:o,y:s,id:i}=e,c=t.toString("base64"),l=`${te}[${s+1};${o+1}H`,u=Gt(t),f="a=T,f=100";i!==void 0&&(f+=`,i=${i}`),u&&(f+=`,s=${u.width},v=${u.height}`),f+=`,c=${n},r=${r}`;let g=4096,w=[l];pt()&&w.unshift(`${te}[?25l`);for(let I=0;I<c.length;I+=g){let T=c.slice(I,I+g),m=I+g>=c.length?"m=0":"m=1",y;I===0?y=`${te}_G${f},${m},q=2;${T}${te}\\`:y=`${te}_G${m};${T}${te}\\`,w.push(Nt(y));}return pt()&&w.push(`${te}[?25h`),w.join("")}function eo(e){let{data:t,width:n,height:r,x:o,y:s}=e,i=t.toString("base64"),c=`${te}[${s+1};${o+1}H`,l=[`width=${n}`,`height=${r}`,"preserveAspectRatio=1","inline=1"].join(";"),u=`${te}]1337;File=${l}:${i}\x07`;return c+(pt()?Nt(u):u)}function Gt(e){if(e[0]===137&&e[1]===80&&e[2]===78&&e[3]===71&&e.length>=24){let t=e.readUInt32BE(16),n=e.readUInt32BE(20);return {width:t,height:n}}if(e[0]===255&&e[1]===216&&e[2]===255){let t=2;for(;t<e.length-8;){if(e[t]!==255){t++;continue}let n=e[t+1];if(n!==void 0&&(n>=192&&n<=195||n>=197&&n<=199||n>=201&&n<=203||n>=205&&n<=207)){let o=e.readUInt16BE(t+5);return {width:e.readUInt16BE(t+7),height:o}}let r=e.readUInt16BE(t+2);t+=2+r;}}if(e[0]===71&&e[1]===73&&e[2]===70&&e.length>=10){let t=e.readUInt16LE(6),n=e.readUInt16LE(8);return {width:t,height:n}}return null}function to(e,t={}){let n=t.stdout??process.stdout,r=t.stdin??process.stdin,o=t.debug??false,s=t.useNativeCursor??true,i=new it(n,r);i.setup();let c=false;i.queryPalette().then(a=>{Sn(a),f=true,A();});let l=new De(i.columns,i.rows),u=new De(i.columns,i.rows),f=true,g=new Set,w=new Set,I=new Map,T={subscribe(a){return g.add(a),()=>g.delete(a)},subscribePriority(a){return w.add(a),()=>w.delete(a)},registerInputHandler(a,C){return I.set(a,C),()=>I.delete(a)}},d=new Map,m=new Map,y={registerImage(a){let C=d.get(a.id);(!C||C.x!==a.x||C.y!==a.y||C.width!==a.width||C.height!==a.height)&&(m.set(a.id,a),A());},unregisterImage(a){d.delete(a),m.delete(a);let C=Bt(a);C&&i.write(C),A();}};function k(){for(let a of m.values()){let C=On({data:a.data,width:a.width,height:a.height,x:a.x,y:a.y,id:a.id});C&&(i.write(C),d.set(a.id,{x:a.x,y:a.y,width:a.width,height:a.height}));}m.clear();}let R=null,$=new Map,V=[],B=new Set,G=[],N=new Set;function F(a){if(R!==a){R=a,A();for(let C of N)C(R);}}function b(){let a=[...V];if(G.length>0){let C=G[G.length-1];a=a.filter(v=>C.has(v));}return a=a.filter(C=>!B.has(C)),a.sort((C,v)=>{let L=$.get(C),p=$.get(v);if(!L||!p)return 0;let M=L.layout,P=p.layout;return M.y!==P.y?M.y-P.y:M.x-P.x}),a}let x={get focusedId(){return R},register(a,C){if($.set(a,C),V.includes(a)||V.push(a),G.length>0&&G[G.length-1].add(a),R===null){let v=b();v.length>0&&F(v[0]);}return ()=>{$.delete(a);let v=V.indexOf(a);if(v!==-1&&V.splice(v,1),R===a){let L=b();F(L[0]??null);}}},requestFocus(a){F(a);},focusNext(){let a=b();if(a.length===0)return;let v=((R?a.indexOf(R):-1)+1)%a.length;F(a[v]);},focusPrev(){let a=b();if(a.length===0)return;let v=((R?a.indexOf(R):0)-1+a.length)%a.length;F(a[v]);},setSkippable(a,C){if(C){if(B.add(a),R===a){let v=b();v.length>0&&F(v[0]);}}else B.delete(a);},trapIds:null,pushTrap(a){return G.push(a),()=>{let C=G.indexOf(a);C!==-1&&G.splice(C,1);}},onFocusChange(a){return N.add(a),()=>{N.delete(a);}},getRegisteredElements(){let a=[];for(let C of V){if(B.has(C))continue;let v=$.get(C);v&&a.push({id:C,node:v});}return a},getActiveElements(){let a=b(),C=[];for(let v of a){if(B.has(v))continue;let L=$.get(v);L&&C.push({id:v,node:L});}return C}},S=new Map,h={getLayout(a){return a.layout},subscribe(a,C){return S.has(a)||S.set(a,new Set),S.get(a).add(C),()=>{let v=S.get(a);v&&(v.delete(C),v.size===0&&S.delete(a));}}},H={registerNode(){},unregisterNode(){},scheduleRender:A,exit(a){E.exit(a);},get columns(){return i.columns},get rows(){return i.rows}},_={type:"root",children:[],onCommit(){A();}},O=false;function A(){O||(O=true,queueMicrotask(()=>{O=false,U();}));}function U(){let a=i.columns,C=i.rows;(u.width!==a||u.height!==C)&&(u.resize(a,C),l.resize(a,C),f=true),$n(_.children,a,C),W(_.children);let v;if(R){let M=$.get(R);M?.type==="input"&&(v={nodeId:R,position:M.props.cursorPosition??M.props.value?.length??0});}let L=Tn(_.children,u,{cursorInfo:v,useNativeCursor:s}),p=Bn(l,u,f);if(p.length>0&&i.write(p),m.size>0&&c&&(i.hideCursor(),c=false),k(),s)if(L.cursorPosition){let M=wn(L.cursorPosition.bg);i.setCursorColor(M),i.moveCursor(L.cursorPosition.x,L.cursorPosition.y),c||(i.showCursor(),c=true);}else i.hideCursor(),c=false;for(let M=0;M<u.cells.length;M++)l.cells[M]={...u.cells[M]};f=false;}function W(a){for(let C of a){let v=S.get(C);if(v)for(let L of v)L(C.layout);W(C.children);}}let D=i.onData(a=>{let C=gn(a);for(let v of C){if(v.ctrl&&v.name==="c"){E.exit();return}if(v.ctrl&&v.name==="z"){i.suspend(),process.kill(0,"SIGSTOP");return}let L=false;for(let p of w)if(p(v)){L=true;break}if(!L&&R){let p=I.get(R);p&&(L=p(v));}if(!L&&v.name==="tab"&&!v.ctrl&&!v.alt){v.shift?x.focusPrev():x.focusNext();continue}if(!L)for(let p of g)p(v);}}),K=i.onResize(()=>{f=true,A();}),j=()=>{i.resume(),f=true,A();};process.on("SIGCONT",j);let fe=ne.createElement(Fe.Provider,{value:H},ne.createElement(Y.Provider,{value:T},ne.createElement(z.Provider,{value:x},ne.createElement(ie.Provider,{value:h},ne.createElement(ft.Provider,{value:y},e))))),he=a=>{o&&console.error("Uncaught error:",a);},J=a=>{o&&console.error("Error caught by boundary:",a);},re=a=>{o&&console.error("Recoverable error:",a);},Q=Ve.createContainer(_,0,null,false,null,"",he,J,re,null);Ve.updateContainer(fe,Q,null,null);let E={unmount(){Ve.updateContainer(null,Q,null,null),D(),K(),process.off("SIGCONT",j);let a=Bt();a&&i.write(a),i.cleanup();},exit(a){E.unmount(),process.exit(a??0);}};return E}var oo=forwardRef(function({children:t,style:n,focusable:r},o){return ne.createElement("box",{style:n,focusable:r,ref:o},t)});var lo=forwardRef(function({children:t,style:n,wrap:r},o){let s=r?{...n,wrap:r}:n;return ne.createElement("text",{style:s,ref:o},t)});function Dn(e,t,n){if(n<=0)return {visualLine:0,visualCol:t,totalVisualLines:1,lineStartOffset:0,lineLength:e.length};let r=e.split(`
|
|
5
|
+
`),o=[],s=0;for(let l of r){let u=de([l],n,"wrap"),f=0;for(let g of u)o.push({text:g,logicalOffset:s+f}),f+=g.length;s+=l.length+1;}let i=0;for(let l=0;l<o.length;l++){let u=o[l],f=u.text.length,g=l+1<o.length&&o[l+1].logicalOffset!==u.logicalOffset+f,w=f+(g?1:0);if(t<i+f||l===o.length-1)return {visualLine:l,visualCol:Math.min(t-i,f),totalVisualLines:o.length,lineStartOffset:i,lineLength:f};i+=w;}let c=o.length-1;return {visualLine:c,visualCol:o[c].text.length,totalVisualLines:o.length,lineStartOffset:i-o[c].text.length,lineLength:o[c].text.length}}function Kn(e,t,n,r){if(r<=0)return Math.min(n,e.length);let o=e.split(`
|
|
6
|
+
`),s=[],i=0;for(let f of o){let g=de([f],r,"wrap"),w=0;for(let I of g)s.push({text:I,startOffset:i+w}),w+=I.length;i+=f.length+1;}let c=Math.max(0,Math.min(t,s.length-1)),l=s[c],u=Math.min(n,l.text.length);return l.startOffset+u}function ze(e,t){let n=e.split(`
|
|
7
|
+
`),r=t;for(let s=0;s<n.length;s++){if(r<=n[s].length)return {line:s,col:r,lines:n};r-=n[s].length+1;}let o=n.length-1;return {line:o,col:n[o].length,lines:n}}function Xe(e,t,n){let r=0;for(let o=0;o<t&&o<e.length;o++)r+=e[o].length+1;return r+Math.min(n,e[t]?.length??0)}function ao(e){let{value:t,defaultValue:n="",onChange:r,onKeyPress:o,onBeforeChange:s,placeholder:i,style:c,focusedStyle:l,multiline:u,autoFocus:f,type:g="text"}=e,[w,I]=useState(n),[T,d]=useState(n.length),[m,y]=useState(0),[k,R]=useState(false),[$,V]=useState(false),B=useContext(Y),G=useContext(z),N=useContext(ie),F=useRef(null),b=useRef(null),x=t!==void 0,S=x?t:w;useEffect(()=>{if(!N||!F.current)return;let D=N.getLayout(F.current);return y(D.innerWidth),N.subscribe(F.current,K=>{y(K.innerWidth);})},[N]);let h=useRef(S),H=useRef(T),_=useRef(S),O=useRef(T);useEffect(()=>{S!==_.current&&(h.current=S,_.current=S,H.current=S.length,O.current=S.length,d(S.length));},[S]),useEffect(()=>{T!==O.current&&(H.current=T,O.current=T);},[T]);let A=useRef({isControlled:x,onChange:r,onKeyPress:o,onBeforeChange:s,multiline:u??false,innerWidth:m,type:g});A.current={isControlled:x,onChange:r,onKeyPress:o,onBeforeChange:s,multiline:u??false,innerWidth:m,type:g},useEffect(()=>{if(!(!G||!b.current||!F.current))return G.register(b.current,F.current)},[G,$]);let U=useRef(false);useEffect(()=>{if(!$){U.current=false;return}if(f&&!U.current&&G&&b.current){U.current=true;let D=b.current,K=setTimeout(()=>{G.requestFocus(D);},0);return ()=>clearTimeout(K)}},[f,G,$]),useEffect(()=>{if(!G||!b.current)return;let D=b.current;return R(G.focusedId===D),G.onFocusChange(K=>{R(K===D);})},[G,$]),useEffect(()=>{if(!B||!b.current)return;let D=b.current,K=j=>{let{isControlled:fe,onChange:he,onKeyPress:J,onBeforeChange:re,multiline:Q}=A.current;if(J?.(j)===true)return true;let E=h.current,a=H.current;if(j.name==="escape")return false;let C=(p,M)=>{let P=p,X=M;if(re){let q=re(p,E);if(q===false)return;typeof q=="string"&&(P=q,X=q.length);}h.current=P,H.current=X,_.current=P,O.current=X,fe||I(P),he?.(P),d(X);},v=p=>{H.current=p,O.current=p,d(p);};if(j.name==="return"){if(Q){let p=E.slice(0,a)+`
|
|
8
|
+
`+E.slice(a);return C(p,a+1),true}return false}if(j.ctrl){if(j.name==="w"){if(a>0){let p=a;for(;p>0&&E[p-1]===" ";)p--;for(;p>0&&E[p-1]!==" "&&(!Q||E[p-1]!==`
|
|
9
|
+
`);)p--;let M=E.slice(0,p)+E.slice(a);C(M,p);}return true}if(j.name==="a"){if(Q){let{line:p,lines:M}=ze(E,a);v(Xe(M,p,0));}else v(0);return true}if(j.name==="e"){if(Q){let{line:p,lines:M}=ze(E,a);v(Xe(M,p,M[p].length));}else v(E.length);return true}if(j.name==="k"){if(Q){let{line:p,lines:M}=ze(E,a),P=Xe(M,p,M[p].length);if(a<P){let X=E.slice(0,a)+E.slice(P);C(X,a);}}else if(a<E.length){let p=E.slice(0,a);C(p,a);}return true}return false}if(j.alt){if(j.name==="left"||j.name==="b"){let p=a;for(;p>0&&E[p-1]===" ";)p--;for(;p>0&&E[p-1]!==" "&&E[p-1]!==`
|
|
10
|
+
`;)p--;return v(p),true}if(j.name==="right"||j.name==="f"){let p=a;for(;p<E.length&&E[p]!==" "&&E[p]!==`
|
|
11
|
+
`;)p++;for(;p<E.length&&E[p]===" ";)p++;return v(p),true}if(j.name==="backspace"||j.name==="d")if(j.name==="backspace"){if(a>0){let p=a;for(;p>0&&E[p-1]===" ";)p--;for(;p>0&&E[p-1]!==" "&&E[p-1]!==`
|
|
12
|
+
`;)p--;let M=E.slice(0,p)+E.slice(a);C(M,p);}return true}else {if(a<E.length){let p=a;for(;p<E.length&&E[p]!==" "&&E[p]!==`
|
|
13
|
+
`;)p++;for(;p<E.length&&E[p]===" ";)p++;let M=E.slice(0,a)+E.slice(p);C(M,a);}return true}return false}if(j.name==="left")return v(Math.max(0,a-1)),true;if(j.name==="right")return v(Math.min(E.length,a+1)),true;if(j.name==="up"){let{innerWidth:p}=A.current,M=Dn(E,a,p);return M.visualLine>0&&v(Kn(E,M.visualLine-1,M.visualCol,p)),true}if(j.name==="down"){let{innerWidth:p}=A.current,M=Dn(E,a,p);return M.visualLine<M.totalVisualLines-1&&v(Kn(E,M.visualLine+1,M.visualCol,p)),true}if(j.name==="home"){if(Q){let{line:p,lines:M}=ze(E,a);v(Xe(M,p,0));}else v(0);return true}if(j.name==="end"){if(Q){let{line:p,lines:M}=ze(E,a);v(Xe(M,p,M[p].length));}else v(E.length);return true}if(j.name==="backspace"){if(a>0){let p=E.slice(0,a-1)+E.slice(a);C(p,a-1);}return true}if(j.name==="delete"){if(a<E.length){let p=E.slice(0,a)+E.slice(a+1);C(p,a);}return true}if(j.name.length>1)return false;let L=j.sequence;if(L.length===1&&L.charCodeAt(0)>=32){let{type:p}=A.current;if(p==="number"){let P=/[0-9]/.test(L),X=L==="."&&!E.includes("."),q=L==="-"&&a===0&&!E.includes("-");if(!P&&!X&&!q)return true}let M=E.slice(0,a)+L+E.slice(a);return C(M,a+1),true}return false};return B.registerInputHandler(D,K)},[B,$]);let W={...c,...k&&l?l:{}};return ne.createElement("input",{style:W,value:S,defaultValue:n,placeholder:i,onChange:r,cursorPosition:H.current,multiline:u??false,focused:k,ref:D=>{D?(F.current=D,b.current=D.focusId,V(true)):(F.current=null,b.current=null,V(false));}})}function Lt({trap:e=false,children:t}){let n=useContext(z),r=useRef(null),o=useRef(new Set);return useLayoutEffect(()=>{if(!e||!n)return;r.current=n.focusedId;let s=n.pushTrap(o.current);return ()=>{s(),r.current&&n.requestFocus(r.current);}},[e,n]),useEffect(()=>{if(!(!e||!n)&&o.current.size>0){let s=o.current.values().next().value;s&&n.requestFocus(s);}},[e,n]),ne.createElement(ne.Fragment,null,t)}function ho({size:e}){return ne.createElement("box",{style:{flexGrow:e??1}})}function Xn(e){let t=e.toLowerCase().split("+");return {name:t[t.length-1],ctrl:t.includes("ctrl"),alt:t.includes("alt"),shift:t.includes("shift"),meta:t.includes("meta")||t.includes("cmd")||t.includes("super")||t.includes("win")}}function Un(e,t){return !(t.name!==e.name||e.ctrl!==!!t.ctrl||e.alt!==!!t.alt||e.shift!==!!t.shift||e.meta!==!!t.meta)}function yo({keypress:e,onPress:t,whenFocused:n,priority:r,disabled:o}){let s=useContext(Y),i=useContext(z),c=useRef(t);c.current=t;let l=useRef(Xn(e));return l.current=Xn(e),useEffect(()=>{if(!(!s||o))if(r){let u=f=>!Un(l.current,f)||n&&i?.focusedId!==n?false:(c.current(),true);return s.subscribePriority(u)}else {let u=f=>{Un(l.current,f)&&(n&&i?.focusedId!==n||c.current());};return s.subscribe(u)}},[s,i,n,r,o]),null}function bo({children:e,zIndex:t=1e3}){return ne.createElement("box",{style:{position:"absolute",top:0,left:0,width:"100%",height:"100%",zIndex:t}},e)}function So({onPress:e,style:t,focusedStyle:n,children:r,disabled:o}){let s=useContext(z),i=useContext(Y),c=useRef(null),l=useRef(null),u=useRef(e);u.current=e;let[f,g]=useState(false),[w,I]=useState(false);useEffect(()=>{if(!(!s||!l.current||!c.current||o))return s.register(l.current,c.current)},[s,o,f]),useEffect(()=>{if(!s||!l.current)return;let d=l.current;return I(s.focusedId===d),s.onFocusChange(m=>{I(m===d);})},[s,f]),useEffect(()=>{if(!i||!l.current||o)return;let d=l.current,m=y=>s?.focusedId!==d?false:y.name==="return"||y.name===" "||y.sequence===" "?(u.current?.(),true):false;return i.registerInputHandler(d,m)},[i,s,o,f]);let T={...t,...w&&n?n:{}};return ne.createElement("box",{style:T,focusable:!o,ref:d=>{d?(c.current=d,l.current=d.focusId,g(true)):(c.current=null,l.current=null,g(false));}},r)}var Ro={x:0,y:0,width:0,height:0,innerX:0,innerY:0,innerWidth:0,innerHeight:0};function ve(e){let t=useContext(ie),[n,r]=useState(Ro);return useEffect(()=>{if(!(!t||!e?.current))return r(t.getLayout(e.current)),t.subscribe(e.current,r)},[t,e]),n}function Ue(e,t=[]){let n=useContext(Y);useEffect(()=>{if(n)return n.subscribe(e)},[n,...t]);}function No({children:e,style:t,scrollOffset:n,onScroll:r,defaultScrollOffset:o=0,scrollStep:s=1,disableKeyboard:i,scrollToFocus:c=true,showScrollbar:l=true,focusable:u=true,focusedStyle:f}){let g=n!==void 0,[w,I]=useState(o),T=g?n:w,d=useRef(null),m=useRef(null),y=ve(d),k=ve(m),R=useContext(z),$=useContext(ie),V=useRef(null);u&&!V.current&&(V.current=`scrollview-${Math.random().toString(36).slice(2,9)}`);let B=u?V.current:null;useEffect(()=>{if(!(!u||!B||!R||!d.current))return R.register(B,d.current)},[u,B,R]);let G=u&&B&&R?.focusedId===B,N=y.innerHeight,F=k.height,b=Math.max(0,F-N),x=Math.max(0,Math.min(T,b)),S=useMemo(()=>({getBounds:()=>{let P=y.y;return {visibleTop:P,visibleBottom:P+N,viewportHeight:N,scrollOffset:x}}}),[y.y,N,x]),h=useCallback(P=>{let X=Math.max(0,Math.min(P,b));g?r?.(X):I(X);},[g,r,b]);useEffect(()=>{T>b&&b>=0&&h(b);},[T,b,h]),useEffect(()=>!c||!R||!$||!m.current?void 0:R.onFocusChange(X=>{if(!X||!m.current)return;let q=ke=>{if(ke.focusId===X)return ke;for(let be of ke.children){let ae=q(be);if(ae)return ae}return null},oe=q(m.current);if(!oe)return;let pe=$.getLayout(oe),se=m.current.layout?.y??0,ce=pe.y-se,Re=ce+pe.height,xe=T,ge=T+N;ce<xe?h(ce):Re>ge&&h(Re-N);}),[c,R,$,T,N,h]);let H=useCallback(()=>{if(!R)return false;let P=R.focusedId;if(!P)return false;if(u&&B&&P===B)return true;if(!m.current)return false;let X=q=>{if(q.focusId===P)return true;for(let oe of q.children)if(X(oe))return true;return false};return X(m.current)},[R,u,B]);Ue(P=>{if(i||!H())return;let X=Math.max(1,Math.floor(N/2)),q=Math.max(1,N);switch(P.name){case "pageup":h(T-q);break;case "pagedown":h(T+q);break;default:P.ctrl&&(P.name==="d"?h(T+X):P.name==="u"?h(T-X):P.name==="f"?h(T+q):P.name==="b"&&h(T-q));break}},[T,s,N,b,i,h,H]);let{padding:_,paddingX:O,paddingY:A,paddingTop:U,paddingRight:W,paddingBottom:D,paddingLeft:K,...j}=t??{},he=j.border!=null&&j.border!=="none"?2:0,J=F>0?F+he:void 0,re={...j,...G?f:{},clip:true,...j.height===void 0&&J!==void 0?{height:J,flexShrink:j.flexShrink??1,minHeight:j.minHeight??0}:{}},Q={position:"absolute",top:-x,left:0,right:0,flexDirection:"column",..._!==void 0&&{padding:_},...O!==void 0&&{paddingX:O},...A!==void 0&&{paddingY:A},...U!==void 0&&{paddingTop:U},...W!==void 0&&{paddingRight:W},...D!==void 0&&{paddingBottom:D},...K!==void 0&&{paddingLeft:K}},E=F>N&&N>0,a=l&&E,C=Math.max(1,Math.floor(N/F*N)),v=F-N,L=v>0?Math.floor(x/v*(N-C)):0,p=[];if(a)for(let P=0;P<N;P++)P>=L&&P<L+C?p.push("\u2588"):p.push("\u2591");let M={position:"absolute",top:0,right:0,width:1,height:N,flexDirection:"column"};return ne.createElement(Le.Provider,{value:S},ne.createElement("box",{style:re,ref:P=>{d.current=P??null;},...u?{focusable:true,focusId:B}:{}},ne.createElement("box",{style:{...Q,paddingRight:a?(Q.paddingRight??0)+1:Q.paddingRight},ref:P=>{m.current=P??null;}},e),a&&ne.createElement("box",{style:M},ne.createElement("text",{style:{color:"blackBright"}},p.join(`
|
|
14
|
+
`)))))}function Kt({count:e,renderItem:t,selectedIndex:n,onSelectionChange:r,onSelect:o,defaultSelectedIndex:s=0,disabledIndices:i,style:c,focusable:l=true}){let u=n!==void 0,[f,g]=useState(s),w=u?n:f,I=useContext(z),T=useContext(Y),d=useRef(null),m=useRef(null),y=useRef(o);y.current=o;let[k,R]=useState(false),[$,V]=useState(false),B=useRef(null),G=useCallback(x=>{let S=Math.max(0,Math.min(x,e-1));u?r?.(S):g(S);},[u,r,e]),N=useCallback((x,S)=>{if(!i||i.size===0)return Math.max(0,Math.min(x+S,e-1));let h=x+S;for(;h>=0&&h<e&&i.has(h);)h+=S;return h<0||h>=e?x:h},[i,e]);useEffect(()=>{if(!(!I||!m.current||!d.current||!l))return I.register(m.current,d.current)},[I,l,k]),useEffect(()=>{if(!I||!m.current)return;let x=m.current;return V(I.focusedId===x),I.onFocusChange(S=>{V(S===x);})},[I,k]);let F=useCallback(x=>{let S=x?e-1:0,h=x?-1:1,H=S;for(;H>=0&&H<e&&i?.has(H);)H+=h;return H>=0&&H<e?H:x?e-1:0},[i,e]);useEffect(()=>{if(!T||!m.current||!l)return;let x=m.current,S=h=>I?.focusedId!==x?false:h.name==="g"&&!h.ctrl&&!h.alt?B.current==="g"?(G(F(false)),B.current=null,true):(B.current="g",true):h.name==="G"||h.name==="g"&&h.shift?(B.current=null,G(F(true)),true):(B.current=null,h.name==="up"||h.name==="k"?(G(N(w,-1)),true):h.name==="down"||h.name==="j"?(G(N(w,1)),true):h.name==="return"?(i?.has(w)||y.current?.(w),true):false);return T.registerInputHandler(x,S)},[T,I,l,w,G,N,F,i,k]);let b=[];for(let x=0;x<e;x++)b.push(ne.createElement(ne.Fragment,{key:x},t({index:x,selected:x===w,focused:$})));return ne.createElement("box",{style:{flexDirection:"column",...c},focusable:l,ref:x=>{x?(d.current=x,m.current=x.focusId,R(true)):(d.current=null,m.current=null,R(false));}},...b)}function Bo({items:e,selectedIndex:t,onSelectionChange:n,onSelect:r,defaultSelectedIndex:o=0,style:s,highlightColor:i="cyan",focusable:c=true}){let l=new Set;for(let f=0;f<e.length;f++)e[f].disabled&&l.add(f);let u=f=>{let g=e[f];g&&!g.disabled&&r?.(g.value,f);};return ne.createElement(Kt,{count:e.length,selectedIndex:t,onSelectionChange:n,onSelect:u,defaultSelectedIndex:o,disabledIndices:l.size>0?l:void 0,style:s,focusable:c,renderItem:({index:f,selected:g,focused:w})=>{let I=e[f],T=I.disabled,d=g&&w,m=g?">":" ";return ne.createElement("box",{style:{flexDirection:"row",...d?{bg:i}:{}}},ne.createElement("text",{style:d?{bold:true,color:"black"}:T?{dim:true}:{}},`${m} ${I.label}`))}})}function Mo({value:e,indeterminate:t=false,width:n="100%",label:r,showPercent:o=false,style:s,filled:i="\u2588",empty:c="\u2591"}){let l=useRef(null),f=ve(l).innerWidth,[g,w]=useState(0);useEffect(()=>{if(!t)return;let y=setInterval(()=>{w(k=>(k+1)%Math.max(1,f+6));},100);return ()=>clearInterval(y)},[t,f]);let I=Math.max(0,Math.min(1,e??0)),T=o?` ${Math.round(I*100)}%`:"",d="";if(f>0)if(t&&e===void 0){let y=Math.max(1,Math.min(3,Math.floor(f/4))),k=[];for(let R=0;R<f;R++)R>=g-y&&R<g?k.push(i):k.push(c);d=k.join("");}else {let y=Math.round(I*f);d=i.repeat(y)+c.repeat(f-y);}let m=[];return r&&m.push(ne.createElement("text",{key:"label",style:{bold:true}},r+" ")),m.push(ne.createElement("box",{key:"track",style:{flexGrow:1,flexShrink:1},ref:y=>{l.current=y??null;}},ne.createElement("text",{key:"bar",style:{}},d))),o&&m.push(ne.createElement("text",{key:"pct",style:{bold:true}},T)),ne.createElement("box",{style:{flexDirection:"row",width:n,...s}},...m)}var jo=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"];function $o({frames:e=jo,intervalMs:t=80,label:n,style:r}){let[o,s]=useState(0);useEffect(()=>{let c=setInterval(()=>{s(l=>(l+1)%e.length);},t);return ()=>clearInterval(c)},[e.length,t]);let i=[ne.createElement("text",{key:"frame",style:r},e[o])];return n&&i.push(ne.createElement("text",{key:"label",style:{}}," "+n)),ne.createElement("box",{style:{flexDirection:"row"}},...i)}var nr=createContext(null),_o=0;function qo(){let e=useContext(nr);if(!e)throw new Error("useToast must be used within a <ToastHost>");return e.push}var zo={info:{bg:"blackBright",title:"cyanBright",text:"white"},success:{bg:"blackBright",title:"greenBright",text:"white"},warning:{bg:"blackBright",title:"yellowBright",text:"white"},error:{bg:"blackBright",title:"redBright",text:"white"}};function Xo({position:e="bottom-right",maxVisible:t=5,children:n}){let[r,o]=useState([]),s=useRef(new Map),i=useCallback(I=>{let T=`toast-${_o++}`,d={id:T,durationMs:3e3,variant:"info",...I};if(o(m=>[...m,d]),d.durationMs&&d.durationMs>0){let m=setTimeout(()=>{s.current.delete(T),o(y=>y.filter(k=>k.id!==T));},d.durationMs);s.current.set(T,m);}},[]);useEffect(()=>()=>{for(let I of s.current.values())clearTimeout(I);s.current.clear();},[]);let c=useRef({push:i});c.current.push=i;let l=e.startsWith("top"),u=e.endsWith("right"),f={position:"absolute",top:0,left:0,width:"100%",height:"100%",zIndex:900,flexDirection:"column",justifyContent:l?"flex-start":"flex-end",alignItems:u?"flex-end":"flex-start",padding:1},w=r.slice(-t).map(I=>{let T=I.variant??"info",d=zo[T],m=[];return I.title&&m.push(ne.createElement("text",{key:"title",style:{bold:true,color:d.title}},I.title)),m.push(ne.createElement("text",{key:"msg",style:{color:d.text}},I.message)),ne.createElement("box",{key:I.id,style:{bg:d.bg,paddingX:1,flexDirection:"column",minWidth:20,maxWidth:50}},...m)});return ne.createElement(nr.Provider,{value:c.current},n,w.length>0?ne.createElement("box",{style:f},...w):null)}function Jo({items:e,value:t,onChange:n,placeholder:r="Select...",style:o,focusedStyle:s,dropdownStyle:i,highlightColor:c="cyan",maxVisible:l=8,searchable:u=true,disabled:f}){let g=useContext(z),w=useContext(Y),I=useContext(Fe),T=useContext(Le),d=useRef(null),m=useRef(null),y=useRef(n);y.current=n;let[k,R]=useState(false),[$,V]=useState(false),[B,G]=useState(false),[N,F]=useState(0),[b,x]=useState(""),[S,h]=useState(0),H=ve(d),_=I?.rows??24,O=T?.getBounds(),U=e.find(C=>C.value===t)?.label??"",W=useMemo(()=>{if(!b)return e;let C=b.toLowerCase();return e.filter(v=>v.label.toLowerCase().includes(C))},[e,b]),D=Math.min(l,W.length),K=W.slice(S,S+D);useEffect(()=>{F(0),h(0);},[b]),useEffect(()=>{!$&&B&&(G(false),x(""));},[$,B]),useEffect(()=>{if(!(!g||!m.current||!d.current))return g.register(m.current,d.current)},[g,k]),useEffect(()=>{!g||!m.current||g.setSkippable(m.current,!!f);},[g,f,k]),useEffect(()=>{if(!g||!m.current)return;let C=m.current;return V(g.focusedId===C),g.onFocusChange(v=>{V(v===C);})},[g,k]);let j=useCallback((C,v)=>{let L=C+v;for(;L>=0&&L<W.length;){if(!W[L].disabled)return L;L+=v;}return C},[W]),fe=useCallback(C=>{C<S?h(C):C>=S+D&&h(C-D+1);},[S,D]);useEffect(()=>{if(!w||!m.current||f)return;let C=m.current,v=L=>{if(g?.focusedId!==C)return false;if(!B){if(L.name==="return"||L.name===" "||L.sequence===" "||L.name==="down"){G(true),x("");let p=W.findIndex(P=>P.value===t),M=p>=0?p:0;return F(M),h(Math.max(0,M-Math.floor(l/2))),true}return false}if(L.name==="tab")return G(false),x(""),false;if(L.name==="escape")return G(false),x(""),true;if(L.name==="return"){let p=W[N];return p&&!p.disabled&&(y.current?.(p.value),G(false),x("")),true}if(L.name==="up"){let p=j(N,-1);return F(p),fe(p),true}if(L.name==="down"){let p=j(N,1);return F(p),fe(p),true}if(L.name==="backspace")return u&&b.length>0&&x(p=>p.slice(0,-1)),true;if(L.name==="home"){let p=j(-1,1);return F(p),fe(p),true}if(L.name==="end"){let p=j(W.length,-1);return F(p),fe(p),true}if(u&&L.sequence&&L.sequence.length===1&&!L.ctrl&&!L.alt){let p=L.sequence;if(p>=" "&&p<="~")return x(M=>M+p),true}return true};return w.registerInputHandler(C,v)},[w,g,f,B,N,W,t,l,u,b,j,fe,k]);let J={flexDirection:"row",width:"100%",...!o?.bg&&o?.border===void 0?{border:"single"}:{},...o,...$&&s?s:{}},re=U?o?.color??void 0:"blackBright",Q=[ne.createElement("text",{key:"label",style:{flexGrow:1,flexShrink:1,color:re,wrap:"ellipsis",...U?{}:{dim:true}}},U||r),ne.createElement("text",{key:"arrow",style:{flexShrink:0,color:$?c:"blackBright"}},B?" \u25B2":" \u25BC")],E=null;if(B){let C=[];u&&b&&C.push(ne.createElement("box",{key:"search",style:{paddingX:1}},ne.createElement("text",{style:{color:"blackBright",dim:true}},`/${b}`))),W.length===0&&C.push(ne.createElement("box",{key:"empty",style:{paddingX:1}},ne.createElement("text",{style:{dim:true,color:"blackBright"}},"No matches"))),S>0&&C.push(ne.createElement("box",{key:"scroll-up",style:{justifyContent:"center",alignItems:"center"}},ne.createElement("text",{style:{dim:true,color:"blackBright"}},"\u25B2"))),K.forEach((xe,ge)=>{let be=S+ge===N,ae=xe.disabled,Ce={paddingX:1,...be&&!ae?{bg:c}:{}},ot={...be&&!ae?{color:"black",bold:true}:{},...ae?{dim:true,color:"blackBright"}:{}};C.push(ne.createElement("box",{key:`item-${xe.value}`,style:Ce},ne.createElement("text",{style:ot},xe.label)));}),S+D<W.length&&C.push(ne.createElement("box",{key:"scroll-down",style:{justifyContent:"center",alignItems:"center"}},ne.createElement("text",{style:{dim:true,color:"blackBright"}},"\u25BC")));let v=S>0,L=S+D<W.length,p=u&&b,M=W.length===0,P=!i?.bg&&i?.border===void 0,q=D+(P?2:0);v&&(q+=1),L&&(q+=1),p&&(q+=1),M&&(q+=1);let oe=H.y+H.height,pe,se;O?(pe=O.visibleBottom-oe,se=H.y-O.visibleTop):(pe=_-oe,se=H.y);let Re=pe<q&&se>=q?-q:H.height||1;E=ne.createElement("box",{style:{position:"absolute",top:Re,left:0,right:0,zIndex:9999,...P?{border:"single"}:{},bg:"black",flexDirection:"column",...i}},...C);}let a={flexDirection:"column",width:J.width??"100%",minWidth:J.minWidth,maxWidth:J.maxWidth,flexGrow:J.flexGrow,flexShrink:J.flexShrink??1};return ne.createElement("box",{style:a},ne.createElement("box",{style:J,focusable:true,ref:C=>{C?(d.current=C,m.current=C.focusId,R(true)):(d.current=null,m.current=null,R(false));}},...Q),E)}function Yo({checked:e,onChange:t,label:n,style:r,focusedStyle:o,disabled:s,checkedChar:i="\u2713",uncheckedChar:c=" "}){let l=useContext(z),u=useContext(Y),f=useRef(null),g=useRef(null),w=useRef(t);w.current=t;let I=useRef(e);I.current=e;let[T,d]=useState(false),[m,y]=useState(false);useEffect(()=>{if(!(!l||!g.current||!f.current||s))return l.register(g.current,f.current)},[l,s,T]),useEffect(()=>{if(!l||!g.current)return;let B=g.current;return y(l.focusedId===B),l.onFocusChange(G=>{y(G===B);})},[l,T]),useEffect(()=>{if(!u||!g.current||s)return;let B=g.current,G=N=>l?.focusedId!==B?false:N.name==="return"||N.name===" "||N.sequence===" "?(w.current(!I.current),true):false;return u.registerInputHandler(B,G)},[u,l,s,T]);let k={flexDirection:"row",gap:1,...r,...m&&o?o:{}},R=e?i:c,$={color:s?"blackBright":m?"white":r?.color},V={color:s?"blackBright":r?.color};return ne.createElement("box",{style:k,focusable:!s,ref:B=>{B?(f.current=B,g.current=B.focusId,d(true)):(f.current=null,g.current=null,d(false));}},ne.createElement("text",{key:"box",style:$},`[${R}]`),n?ne.createElement("text",{key:"label",style:V},n):null)}function Zo({items:e,value:t,onChange:n,style:r,itemStyle:o,focusedItemStyle:s,selectedItemStyle:i,disabled:c,direction:l="column",gap:u=0,selectedChar:f="\u25CF",unselectedChar:g="\u25CB"}){let w=useContext(z),I=useContext(Y),T=useRef(null),d=useRef(null),m=useRef(n);m.current=n;let[y,k]=useState(false),[R,$]=useState(false),[V,B]=useState(()=>{let b=e.findIndex(x=>x.value===t);return b>=0?b:e.findIndex(x=>!x.disabled)}),G=useCallback((b,x)=>{let S=b;for(let h=0;h<e.length;h++)if(S=(S+x+e.length)%e.length,!e[S]?.disabled)return S;return b},[e]);useEffect(()=>{if(!(!w||!d.current||!T.current||c))return w.register(d.current,T.current)},[w,c,y]),useEffect(()=>{if(!w||!d.current)return;let b=d.current;return $(w.focusedId===b),w.onFocusChange(x=>{$(x===b);})},[w,y]),useEffect(()=>{if(!I||!d.current||c)return;let b=d.current,x=S=>{if(w?.focusedId!==b)return false;if(S.name==="up"||S.name==="left"||S.name==="k"||S.name==="tab"&&S.shift)return B(h=>G(h,-1)),true;if(S.name==="down"||S.name==="right"||S.name==="j"||S.name==="tab"&&!S.shift)return B(h=>G(h,1)),true;if(S.name==="return"||S.name===" "||S.sequence===" "){let h=e[V];return h&&!h.disabled&&m.current(h.value),true}return false};return I.registerInputHandler(b,x)},[I,w,c,e,V,G,y]),useEffect(()=>{let b=e.findIndex(x=>x.value===t);b>=0&&B(b);},[t,e]);let N={flexDirection:l,gap:u,...r},F=e.map((b,x)=>{let S=b.value===t,h=x===V,H=c||b.disabled,_=S?f:g,O={flexDirection:"row",gap:1,...o};S&&i&&(O={...O,...i}),R&&h&&s&&(O={...O,...s});let A=H?"blackBright":R&&h?s?.color??"white":S?i?.color??o?.color:o?.color;return ne.createElement("box",{key:x,style:O},ne.createElement("text",{key:"radio",style:{color:A}},`(${_})`),ne.createElement("text",{key:"label",style:{color:A}},b.label))});return ne.createElement("box",{style:N,focusable:!c,ref:b=>{b?(T.current=b,d.current=b.focusId,k(true)):(T.current=null,d.current=null,k(false));}},...F)}var ar=createContext(null);function ts(){let e=useContext(ar);if(!e)throw new Error("useDialog must be used within a DialogHost");return e}function ns({children:e}){let[t,n]=useState([]),r=useRef(0),o=useCallback((u,f)=>new Promise(g=>{let w=++r.current;n(I=>[...I,{id:w,type:"alert",content:u,okText:f?.okText??"OK",cancelText:"",style:f?.style,buttonStyle:f?.buttonStyle,okButtonStyle:f?.okButtonStyle,focusedButtonStyle:f?.focusedButtonStyle,backdropStyle:f?.backdropStyle,resolve:()=>g()}]);}),[]),s=useCallback((u,f)=>new Promise(g=>{let w=++r.current;n(I=>[...I,{id:w,type:"confirm",content:u,okText:f?.okText??"OK",cancelText:f?.cancelText??"Cancel",style:f?.style,buttonStyle:f?.buttonStyle,okButtonStyle:f?.okButtonStyle,cancelButtonStyle:f?.cancelButtonStyle,focusedButtonStyle:f?.focusedButtonStyle,backdropStyle:f?.backdropStyle,resolve:g}]);}),[]),i=useCallback((u,f)=>{n(g=>{let w=g.find(I=>I.id===u);return w&&w.resolve(f),g.filter(I=>I.id!==u)});},[]),c={alert:o,confirm:s},l=t[t.length-1];return ne.createElement(ar.Provider,{value:c},e,l&&ne.createElement(rs,{key:l.id,dialog:l,onDismiss:i}))}function rs({dialog:e,onDismiss:t}){let n=useContext(z),r=useRef(null),o=useRef(null),s=useRef(null),i=useRef(null),[c,l]=useState("ok"),[u,f]=useState(0);useEffect(()=>{if(!n||u===0)return;let y=[];return r.current&&s.current&&y.push(n.register(s.current,r.current)),o.current&&i.current&&y.push(n.register(i.current,o.current)),s.current&&n.requestFocus(s.current),()=>y.forEach(k=>k())},[n,u]),useEffect(()=>{if(n)return n.onFocusChange(y=>{y===s.current?l("ok"):y===i.current&&l("cancel");})},[n]),Ue(y=>{if(y.name==="return"||y.name==="space"){e.type==="alert"?t(e.id,true):t(e.id,c==="ok");return}if(y.name==="escape"){t(e.id,false);return}e.type==="confirm"&&n&&(y.name==="left"||y.name==="right")&&(c==="ok"&&i.current?n.requestFocus(i.current):s.current&&n.requestFocus(s.current));},[e,c,n,t]);let g=typeof e.content=="string",w=g?e.content.length:0,T={minWidth:Math.max(20,g?Math.min(w+6,50):30),maxWidth:50,bg:"black",border:"round",borderColor:"white",padding:1,flexDirection:"column",gap:1,...e.style},d=(y,k)=>{let R={paddingX:2,bg:"blackBright",color:"white"},$={bg:"white",color:"black",bold:true},V=y==="ok"?e.okButtonStyle:e.cancelButtonStyle;return {...R,...e.buttonStyle,...V,...k?{...$,...e.focusedButtonStyle}:{}}},m={position:"absolute",top:0,left:0,right:0,bottom:0,zIndex:999,...e.backdropStyle};return ne.createElement(Lt,{trap:true},ne.createElement("box",{style:m}),ne.createElement("box",{style:{position:"absolute",top:0,left:0,right:0,bottom:0,justifyContent:"center",alignItems:"center",zIndex:1e3}},ne.createElement("box",{style:T},ne.createElement("box",{style:{flexDirection:"column"}},typeof e.content=="string"?ne.createElement("text",null,e.content):e.content),ne.createElement("box",{style:{flexDirection:"row",justifyContent:"flex-end",gap:1}},e.type==="confirm"&&ne.createElement("box",{style:d("cancel",c==="cancel"),focusable:true,ref:y=>{y&&y.focusId&&!i.current&&(o.current=y,i.current=y.focusId,f(k=>k+1));}},ne.createElement("text",null,e.cancelText)),ne.createElement("box",{style:d("ok",c==="ok"),focusable:true,ref:y=>{y&&y.focusId&&!s.current&&(r.current=y,s.current=y.focusId,f(k=>k+1));}},ne.createElement("text",null,e.okText))))))}function is(e,t){let n=[],r=t.split("");if(e<=r.length)for(let o=0;o<e;o++)n.push(r[o]);else for(let o=0;o<r.length&&n.length<e;o++)for(let s=0;s<r.length&&n.length<e;s++)n.push(r[o]+r[s]);return n}function ls({children:e,activationKey:t="ctrl+o",hintStyle:n,hintBg:r="yellow",hintFg:o="black",hintChars:s="asdfghjklqwertyuiopzxcvbnm",enabled:i=true,debug:c=false}){let l=c?(...b)=>console.error("[JumpNav]",...b):()=>{},[u,f]=useState(false),[g,w]=useState(""),[I,T]=useState([]),d=useContext(Y),m=useContext(z),y=useContext(ie);useEffect(()=>{l("Mounted, inputCtx:",!!d,"focusCtx:",!!m,"enabled:",i);},[]);let R=useCallback(b=>{let x=b.toLowerCase().split("+");return {ctrl:x.includes("ctrl"),alt:x.includes("alt"),shift:x.includes("shift"),meta:x.includes("meta"),name:x[x.length-1]??""}},[])(t),$=useCallback(()=>{if(!m?.getActiveElements){l("refreshElements: no getActiveElements");return}let b=m.getActiveElements();l("getActiveElements returned",b.length,"elements");let x=b.map(({id:S,node:h})=>({id:S,node:h,layout:y?.getLayout(h)??h.layout}));x.sort((S,h)=>S.layout.y!==h.layout.y?S.layout.y-h.layout.y:S.layout.x-h.layout.x),T(x);},[m,y,l]),V=useRef(false);useEffect(()=>{u&&!V.current&&(l("Activated! Refreshing elements..."),$()),V.current=u;},[u,$,l]);let B=I.filter(b=>b.layout.width>0&&b.layout.height>0),G=is(B.length,s),N=useMemo(()=>{let b=new Map;return B.forEach((x,S)=>{G[S]&&b.set(G[S],x.id);}),b},[B,G]);useEffect(()=>{if(!d||!i){l("Not subscribing - inputCtx:",!!d,"enabled:",i);return}l("Subscribing to priority input, activation key:",t);let b=x=>{let S=x.name===R.name,h=!!x.ctrl===R.ctrl,H=!!x.alt===R.alt,_=!!x.shift===R.shift,O=!!x.meta===R.meta;if(!u&&S&&h&&H&&_&&O)return l("Activation key matched! Activating..."),f(true),w(""),true;if(u){if(x.name==="escape")return l("Escape pressed, deactivating"),f(false),w(""),true;if(x.name==="backspace")return w(""),true;if(x.sequence&&x.sequence.length===1&&/[a-z]/i.test(x.sequence)){let A=g+x.sequence.toLowerCase();l("Buffer:",A);let U=N.get(A);return U?(l("Jumping to",U),m?.requestFocus(U),f(false),w(""),true):[...N.keys()].some(D=>D.startsWith(A))?(w(A),true):(w(""),true)}return true}return false};return d.subscribePriority(b)},[d,i,u,R,g,N,m,t,l]);let F=u?ne.createElement("box",{style:{position:"absolute",top:0,left:0,width:"100%",height:"100%",zIndex:99998}},...B.map((b,x)=>{let S=G[x];if(!S)return null;let{x:h,y:H}=b.layout,_=S.startsWith(g)&&g.length>0;return ne.createElement("box",{key:b.id,style:{position:"absolute",top:H,left:Math.max(0,h-S.length-2),bg:_?"cyan":r,color:o,paddingX:1,zIndex:99999,...n}},ne.createElement("text",{style:{bold:true,color:o}},S))}),ne.createElement("box",{style:{position:"absolute",bottom:0,left:0,right:0,bg:"blackBright",paddingX:1,zIndex:99999}},ne.createElement("text",{style:{color:"white"}},g?`Jump: ${g}_`:"Press a key to jump \u2022 ESC to cancel"))):null;return ne.createElement(ne.Fragment,null,e,F)}var He=join(tmpdir(),"glyph-image-cache");function bt(e){return e.startsWith("http://")||e.startsWith("https://")}function fs(e,t){let n=createHash("md5").update(e).digest("hex"),r=t?ds(t):ps(e)||".png";return join(He,`${n}${r}`)}function ps(e){try{let r=new URL(e).pathname.match(/\.(png|jpg|jpeg|gif|webp|bmp|ico)/i);if(r){let o=r[0].toLowerCase();return o===".jpg"?".jpeg":o}return ""}catch{return ""}}function ds(e){switch(e){case "png":return ".png";case "jpeg":return ".jpeg";case "gif":return ".gif";case "webp":return ".webp";default:return ".png"}}function sn(e){if(bt(e))try{let t=new URL(e),n=t.pathname;return basename(n)||t.hostname}catch{return "remote-image"}return basename(e)}function dr(){existsSync(He)||mkdirSync(He,{recursive:true});}async function mr(e){let t=sn(e);return bt(e)?hs(e,t):ms(e,t)}async function ms(e,t){if(!existsSync(e))throw new Error(`Image not found: ${e}`);return {data:readFileSync(e),name:t,localPath:e,isRemote:false}}async function hs(e,t){dr();let n=createHash("md5").update(e).digest("hex"),r=[".png",".jpeg",".gif",".webp"];for(let u of r){let f=join(He,`${n}${u}`);if(existsSync(f))return {data:readFileSync(f),name:t,localPath:f,isRemote:true}}let o=await fetch(e);if(!o.ok)throw new Error(`Failed to download image: ${o.status} ${o.statusText}`);let s=await o.arrayBuffer(),i=Buffer.from(s);if(!gs(i))throw new Error(`Invalid image data from: ${e}`);let c=Ct(i),l=fs(e,c);return writeFileSync(l,i),{data:i,name:t,localPath:l,isRemote:true}}function gs(e){return e.length<4?false:e[0]===137&&e[1]===80&&e[2]===78&&e[3]===71||e[0]===255&&e[1]===216&&e[2]===255||e[0]===71&&e[1]===73&&e[2]===70||e[0]===66&&e[1]===77||e[0]===82&&e[1]===73&&e[2]===70&&e[3]===70&&e.length>=12&&e[8]===87&&e[9]===69&&e[10]===66&&e[11]===80||e[0]===0&&e[1]===0&&e[2]===1&&e[3]===0}function Ct(e){return e.length<4?"unknown":e[0]===137&&e[1]===80&&e[2]===78&&e[3]===71?"png":e[0]===255&&e[1]===216&&e[2]===255?"jpeg":e[0]===71&&e[1]===73&&e[2]===70?"gif":e[0]===82&&e[1]===73&&e[2]===70&&e[3]===70&&e.length>=12&&e[8]===87&&e[9]===69&&e[10]===66&&e[11]===80?"webp":"unknown"}function hr(e,t){let n=Ct(e);if(n==="png")return e;dr();let r=createHash("md5").update(e).digest("hex"),o=join(He,`${r}.${n}`),s=join(He,`${r}.png`);try{writeFileSync(o,e);let i=platform(),c=!1;if(i==="darwin")try{execSync(`sips -s format png "${o}" --out "${s}" 2>/dev/null`,{stdio:"pipe"}),c=!0;}catch{}if(!c)try{execSync(`magick "${o}" "${s}" 2>/dev/null`,{stdio:"pipe"}),c=!0;}catch{}if(!c)try{execSync(`convert "${o}" "${s}" 2>/dev/null`,{stdio:"pipe"}),c=!0;}catch{}if(c&&existsSync(s)){let l=readFileSync(s);try{unlinkSync(o);}catch{}try{unlinkSync(s);}catch{}return l}try{unlinkSync(o);}catch{}return null}catch{try{unlinkSync(o);}catch{}try{unlinkSync(s);}catch{}return null}}function xs(){let e=platform();return e==="darwin"?"quicklook":e==="linux"||e==="win32"?"open":"none"}async function ln(e){switch(xs()){case "quicklook":return bs(e);case "open":return Ss(e);case "none":throw new Error("No preview method available on this platform")}}function bs(e){return new Promise((t,n)=>{let r=spawn("qlmanage",["-p",e],{detached:false,stdio:["ignore","ignore","ignore"]});r.on("error",o=>{n(new Error(`Failed to open Quick Look: ${o.message}`));}),setTimeout(()=>{Cs();},50),r.on("close",o=>{t();});})}function Cs(){exec(`osascript -e '
|
|
15
15
|
tell application "System Events"
|
|
16
16
|
set frontmost of (first process whose name is "qlmanage") to true
|
|
17
17
|
end tell
|
|
18
|
-
'`,()=>{});}function
|
|
18
|
+
'`,()=>{});}function Ss(e){return new Promise((t,n)=>{let r=platform(),o,s;r==="linux"?(o="xdg-open",s=[e]):r==="win32"?(o="cmd",s=["/c","start",'""',e]):(o="open",s=[e]);let i=spawn(o,s,{detached:true,stdio:["ignore","ignore","ignore"]});i.unref(),i.on("error",c=>{n(new Error(`Failed to open preview: ${c.message}`));}),setTimeout(t,100);})}function ws({src:e,width:t,height:n,unloadTrigger:r,style:o,focusedStyle:s,placeholderStyle:i,focusable:c=true,inline:l=true,placeholder:u,onStateChange:f,onError:g,autoLoad:w=false,autoSize:I=false,maxWidth:T,maxHeight:d}){let m=useContext(z),y=useContext(Y),k=useContext(ie),R=useContext(ft),$=useContext(Le),V=useRef(null),B=useRef(null),G=useRef(Math.floor(Math.random()*1e6)),N=useRef(null),[F,b]=useState(false),[x,S]=useState(false),[h,H]=useState("placeholder"),[_,O]=useState(null),[A,U]=useState(null),[W,D]=useState(null),K=useRef(null),j=u||sn(e),fe=bt(e),he=useRef(r);useEffect(()=>{r!==void 0&&r!==he.current&&h==="loaded"&&(K.current=null,D(null),H("placeholder")),he.current=r;},[r,h]);let J=useCallback(P=>{H(P),f?.(P);},[f]);useEffect(()=>{if(!(!m||!B.current||!V.current||!c))return m.register(B.current,V.current)},[m,c,F]),useEffect(()=>{if(!m||!B.current)return;let P=B.current;return S(m.focusedId===P),m.onFocusChange(X=>{S(X===P);})},[m,F]),useEffect(()=>{if(!(!k||!V.current))return U(k.getLayout(V.current)),k.subscribe(V.current,U)},[k,F]);let re=$?.getBounds().scrollOffset??0;useEffect(()=>{if($){if(N.current===null){N.current=re;return}if(h!=="loaded"){N.current=re;return}re!==N.current&&(N.current=re,K.current=null,D(null),H("placeholder"));}},[$,re,h]),useEffect(()=>{if(!R||h!=="loaded"||!K.current||!A)return;let{data:P,cellWidth:X,cellHeight:q}=K.current,oe=G.current,pe=setTimeout(()=>{R.registerImage({id:oe,data:P,x:A.innerX,y:A.innerY,width:X,height:q});},0);return ()=>{clearTimeout(pe),R.unregisterImage(oe);}},[R,h,A,$]);let Q=useCallback(async()=>{if(h!=="loading"){J("loading"),O(null);try{let P=await mr(e);if(l&&Et()&&A){let q=Ct(P.data),oe=P.data;if(q!=="png"){let ge=hr(P.data);if(!ge){J("preview"),await ln(P.localPath),J("placeholder");return}oe=ge;}let pe=Gt(oe),se,ce;if(I&&pe){let ae=Math.ceil(pe.width/8),Ce=Math.ceil(pe.height/16),ot=T??80,cn=d??24;if(ae>ot||Ce>cn){let Ir=ot/ae,vr=cn/Ce,an=Math.min(Ir,vr);ae=Math.max(1,Math.round(ae*an)),Ce=Math.max(1,Math.round(Ce*an));}se=ae,ce=Ce,D({width:ae,height:Ce});}else se=t??A.innerWidth,ce=n??A.innerHeight;if(se<=0||ce<=0)throw new Error("Image area too small");let Re=30,xe=6;if(se>Re||ce>xe){let ge=Re/se,ke=xe/ce,be=Math.min(ge,ke);se=Math.max(1,Math.round(se*be)),ce=Math.max(1,Math.round(ce*be));}K.current={data:oe,localPath:P.localPath,cellWidth:se,cellHeight:ce},J("loaded");}else J("preview"),await ln(P.localPath),J("placeholder");}catch(P){let X=P instanceof Error?P:new Error(String(P));O(X.message),J("error"),g?.(X);}}},[e,h,l,A,t,n,I,T,d,J,g]);useEffect(()=>{if(!y||!B.current||!c)return;let P=B.current,X=q=>m?.focusedId!==P?false:q.name==="space"||q.name==="return"||q.name==="r"&&K.current?(Q(),true):q.name==="escape"&&h==="loaded"?(K.current=null,D(null),J("placeholder"),true):false;return y.registerInputHandler(P,X)},[y,m,c,F,Q,h,J]),useEffect(()=>{w&&h==="placeholder"&&A&&A.innerWidth>0&&Q();},[w,h,A,Q]),useEffect(()=>{let P=G.current;return ()=>{R?.unregisterImage(P);}},[R]);let E,a;switch(h){case "placeholder":a=fe?"\u{1F310}":"\u{1F5BC}\uFE0F",E=`${a} ${j}`;break;case "loading":a="\u23F3",E=`${a} Loading...`;break;case "loaded":E=null;break;case "preview":a="\u{1F441}\uFE0F",E=`${a} Previewing...`;break;case "error":a="\u274C",E=`${a} ${_||"Error"}`;break}let C=I&&W?W.width:t,v=I&&W?W.height:n,p={...{border:"round",borderColor:"blackBright",justifyContent:"center",alignItems:"center",...o,...C!==void 0?{width:C}:{},...v!==void 0?{height:v}:{}},...x?{borderColor:"cyan"}:{},...x&&s?s:{}},M={color:"blackBright",...i,...x?{color:"cyan"}:{}};return ne.createElement("box",{style:p,focusable:c,ref:P=>{P?(V.current=P,B.current=P.focusId,b(true)):(V.current=null,B.current=null,b(false));}},E!==null?ne.createElement("text",{style:M},E):null)}function Ps(e){let t=useContext(z),[n]=useState(()=>`focus-${Math.random().toString(36).slice(2,9)}`),r=t?t.focusedId===n:false;useEffect(()=>{if(!(!t||!e?.current))return e.current.focusId=n,t.register(n,e.current)},[t,n,e]);let o=useMemo(()=>()=>{t?.requestFocus(n);},[t,n]);return {focused:r,focus:o}}function Es(e={}){let{disabled:t,onFocus:n,onBlur:r,onKeyPress:o}=e,s=useContext(z),i=useContext(Y),c=useRef(null),l=useRef(null),[u,f]=useState(false),g=useRef(n),w=useRef(r),I=useRef(o);g.current=n,w.current=r,I.current=o;let T=useCallback(m=>{c.current=m,m?l.current=m.focusId??null:l.current=null;},[]);useEffect(()=>{if(!(!s||!l.current||!c.current))return s.register(l.current,c.current)},[s]),useEffect(()=>{!s||!l.current||s.setSkippable(l.current,!!t);},[s,t]),useEffect(()=>{if(!s||!l.current)return;let m=l.current,y=s.focusedId===m;return f(y),s.onFocusChange(k=>{let R=k===m;f($=>(R&&!$?g.current?.():!R&&$&&w.current?.(),R));})},[s]),useEffect(()=>{if(!i||!l.current||t)return;let m=l.current,y=k=>s?.focusedId!==m?false:I.current?.(k)===true;return i.registerInputHandler(m,y)},[i,s,t]);let d=useCallback(()=>{s&&l.current&&s.requestFocus(l.current);},[s]);return {ref:T,isFocused:u,focus:d,focusId:l.current}}function Bs(){let e=useContext(Fe);if(!e)throw new Error("useApp must be used within a Glyph render tree");return {exit:e.exit,get columns(){return e.columns},get rows(){return e.rows}}}function As(){let e=useContext(z),t=useContext(ie),[n,r]=useState([]),o=useRef(()=>{}),s=useCallback(()=>{if(!e)return;let c=(e.getActiveElements?.()??e.getRegisteredElements?.()??[]).map(({id:l,node:u})=>({id:l,node:u,layout:t?.getLayout(u)??u.layout,type:u.type}));c.sort((l,u)=>l.layout.y!==u.layout.y?l.layout.y-u.layout.y:l.layout.x-u.layout.x),r(c);},[e,t]);return o.current=s,useEffect(()=>{if(!e)return;s();let i=e.onFocusChange(()=>{s();}),c=setTimeout(s,50);return ()=>{i(),clearTimeout(c);}},[e,t,s]),e?{elements:n,focusedId:e.focusedId,requestFocus:e.requestFocus,focusNext:e.focusNext,focusPrev:e.focusPrev,refresh:()=>o.current()}:null}function Hs(e){let t=[];for(let n of e)switch(n){case "9":t.push({type:"digit",char:n});break;case "a":t.push({type:"letter",char:n});break;case "*":t.push({type:"alphanumeric",char:n});break;default:t.push({type:"literal",char:n});break}return t}function js(e,t){switch(t){case "digit":return /\d/.test(e);case "letter":return /[a-zA-Z]/.test(e);case "alphanumeric":return /[a-zA-Z0-9]/.test(e);case "literal":return true}}function le(e){let t=typeof e=="string"?{mask:e}:e,{mask:n,placeholder:r="_",showPlaceholder:o=false}=t,s=Hs(n);return (i,c)=>{let l=[];for(let g of i)(g!==r&&!/[\s\-\(\)\/\.\:]/.test(g)||/[a-zA-Z0-9]/.test(g))&&/[a-zA-Z0-9]/.test(g)&&l.push(g);let u="",f=0;for(let g of s)if(g.type==="literal")(f<l.length||o)&&(u+=g.char);else if(f<l.length){let w=l[f];if(js(w,g.type))u+=w,f++;else {f++;continue}}else o&&(u+=r);return u}}var $s={usPhone:le("(999) 999-9999"),intlPhone:le("+9 999 999 9999"),dateUS:le("99/99/9999"),dateEU:le("99/99/9999"),dateISO:le("9999-99-99"),time:le("99:99"),timeFull:le("99:99:99"),creditCard:le("9999 9999 9999 9999"),ssn:le("999-99-9999"),zip:le("99999"),zipPlus4:le("99999-9999"),ipv4:le("999.999.999.999"),mac:le("**:**:**:**:**:**")};export{oo as Box,So as Button,Yo as Checkbox,ns as DialogHost,Lt as FocusScope,ws as Image,ao as Input,ls as JumpNav,yo as Keybind,Kt as List,Bo as Menu,bo as Portal,Mo as Progress,Zo as Radio,No as ScrollView,Jo as Select,ho as Spacer,$o as Spinner,lo as Text,Xo as ToastHost,le as createMask,We as detectTerminalCapabilities,$s as masks,Pt as parseAnsi,to as render,Tt as stripAnsi,Et as supportsInlineImages,Bs as useApp,ts as useDialog,Ps as useFocus,As as useFocusRegistry,Es as useFocusable,Ue as useInput,ve as useLayout,qo as useToast};//# sourceMappingURL=index.js.map
|
|
19
19
|
//# sourceMappingURL=index.js.map
|