- Remove old TUI implementation and components (LoadingAnimation, MarkdownComponent, TextComponent, TextEditor, WhitespaceComponent) - Rename components-new to components with new API (Loader, Markdown, Text, Editor, Spacer) - Move Text and Input components to separate files in src/components/ - Add render caching to Text component (similar to Markdown) - Add proper ANSI code handling in Text component using stripVTControlCharacters - Update coding-agent to use new TUI API (requires ProcessTerminal, uses custom Editor subclass for key handling) - Remove old test files, keep only chat-simple.ts and virtual-terminal.ts - Update README.md with new minimal API documentation - Switch from tsc to tsgo for type checking - Update package dependencies across monorepo
25 lines
439 B
TypeScript
25 lines
439 B
TypeScript
import type { Component } from "../tui.js";
|
|
|
|
/**
|
|
* Spacer component that renders empty lines
|
|
*/
|
|
export class Spacer implements Component {
|
|
private lines: number;
|
|
|
|
constructor(lines: number = 1) {
|
|
this.lines = lines;
|
|
}
|
|
|
|
setLines(lines: number): void {
|
|
this.lines = lines;
|
|
}
|
|
|
|
render(_width: number): string[] {
|
|
const result: string[] = [];
|
|
for (let i = 0; i < this.lines; i++) {
|
|
result.push("");
|
|
}
|
|
return result;
|
|
}
|
|
}
|