@teaui/core 1.11.8 → 1.11.10
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/Buffer.d.ts +5 -0
- package/.dist/Buffer.js +150 -7
- package/.dist/Buffer.js.map +1 -1
- package/.dist/HeadlessProgram.d.ts +24 -0
- package/.dist/HeadlessProgram.js +41 -0
- package/.dist/HeadlessProgram.js.map +1 -0
- package/.dist/{Theme.d.ts → Palette.d.ts} +13 -13
- package/.dist/{Theme.js → Palette.js} +16 -16
- package/.dist/Palette.js.map +1 -0
- package/.dist/Screen.d.ts +33 -23
- package/.dist/Screen.js +75 -75
- package/.dist/Screen.js.map +1 -1
- package/.dist/Style.js +11 -10
- package/.dist/Style.js.map +1 -1
- package/.dist/TestProgram.d.ts +28 -0
- package/.dist/TestProgram.js +52 -0
- package/.dist/TestProgram.js.map +1 -0
- package/.dist/{testing.d.ts → TestScreen.d.ts} +2 -4
- package/.dist/TestScreen.js +99 -0
- package/.dist/TestScreen.js.map +1 -0
- package/.dist/TestTerminal.js +1 -1
- package/.dist/TestTerminal.js.map +1 -1
- package/.dist/UI.d.ts +2 -2
- package/.dist/UI.js +19 -19
- package/.dist/UI.js.map +1 -1
- package/.dist/View.d.ts +7 -8
- package/.dist/View.js +10 -10
- package/.dist/View.js.map +1 -1
- package/.dist/Viewport.d.ts +26 -0
- package/.dist/Viewport.js +57 -7
- package/.dist/Viewport.js.map +1 -1
- package/.dist/components/AbstractLegend.d.ts +30 -0
- package/.dist/components/AbstractLegend.js +195 -0
- package/.dist/components/AbstractLegend.js.map +1 -0
- package/.dist/components/Accordion.js +1 -1
- package/.dist/components/Accordion.js.map +1 -1
- package/.dist/components/Alert.d.ts +1 -1
- package/.dist/components/Alert.js +1 -1
- package/.dist/components/At.d.ts +57 -0
- package/.dist/components/At.js +182 -0
- package/.dist/components/At.js.map +1 -0
- package/.dist/components/AutoLegend.d.ts +6 -4
- package/.dist/components/AutoLegend.js +27 -10
- package/.dist/components/AutoLegend.js.map +1 -1
- package/.dist/components/Badge.d.ts +16 -0
- package/.dist/components/Badge.js +54 -0
- package/.dist/components/Badge.js.map +1 -0
- package/.dist/components/Box.d.ts +1 -1
- package/.dist/components/Box.js +4 -5
- package/.dist/components/Box.js.map +1 -1
- package/.dist/components/Breadcrumb.js +1 -1
- package/.dist/components/Breadcrumb.js.map +1 -1
- package/.dist/components/Button.d.ts +2 -3
- package/.dist/components/Button.js +6 -6
- package/.dist/components/Button.js.map +1 -1
- package/.dist/components/Calendar.d.ts +2 -2
- package/.dist/components/Calendar.js +24 -24
- package/.dist/components/Calendar.js.map +1 -1
- package/.dist/components/Callout.js +14 -14
- package/.dist/components/Callout.js.map +1 -1
- package/.dist/components/Canvas.js +1 -1
- package/.dist/components/Canvas.js.map +1 -1
- package/.dist/components/Checkbox.d.ts +2 -2
- package/.dist/components/Checkbox.js +4 -4
- package/.dist/components/Checkbox.js.map +1 -1
- package/.dist/components/Collapsible.js +1 -1
- package/.dist/components/Collapsible.js.map +1 -1
- package/.dist/components/CollapsibleText.js +1 -1
- package/.dist/components/CollapsibleText.js.map +1 -1
- package/.dist/components/Digits.d.ts +1 -1
- package/.dist/components/Digits.js +1 -1
- package/.dist/components/Digits.js.map +1 -1
- package/.dist/components/Drawer.d.ts +4 -4
- package/.dist/components/Drawer.js +13 -13
- package/.dist/components/Drawer.js.map +1 -1
- package/.dist/components/Dropdown.d.ts +1 -1
- package/.dist/components/Dropdown.js +12 -6
- package/.dist/components/Dropdown.js.map +1 -1
- package/.dist/components/HotKey.d.ts +4 -4
- package/.dist/components/HotKey.js +3 -3
- package/.dist/components/HotKey.js.map +1 -1
- package/.dist/components/Input.d.ts +1 -2
- package/.dist/components/Input.js +3 -3
- package/.dist/components/Input.js.map +1 -1
- package/.dist/components/Legend.d.ts +7 -13
- package/.dist/components/Legend.js +15 -187
- package/.dist/components/Legend.js.map +1 -1
- package/.dist/components/Log.d.ts +1 -0
- package/.dist/components/Log.js +5 -2
- package/.dist/components/Log.js.map +1 -1
- package/.dist/components/Modal.d.ts +2 -1
- package/.dist/components/Modal.js +2 -2
- package/.dist/components/Modal.js.map +1 -1
- package/.dist/components/Notification.d.ts +1 -1
- package/.dist/components/Notification.js +3 -3
- package/.dist/components/Notification.js.map +1 -1
- package/.dist/components/Page.js +5 -14
- package/.dist/components/Page.js.map +1 -1
- package/.dist/components/Pane.js +13 -10
- package/.dist/components/Pane.js.map +1 -1
- package/.dist/components/Plot.js +1 -1
- package/.dist/components/Plot.js.map +1 -1
- package/.dist/components/Progress.js +2 -2
- package/.dist/components/Progress.js.map +1 -1
- package/.dist/components/Scrollable.js +4 -4
- package/.dist/components/Scrollable.js.map +1 -1
- package/.dist/components/ScrollableList.js +4 -4
- package/.dist/components/ScrollableList.js.map +1 -1
- package/.dist/components/Separator.js +1 -1
- package/.dist/components/Separator.js.map +1 -1
- package/.dist/components/Slider.d.ts +2 -3
- package/.dist/components/Slider.js +8 -5
- package/.dist/components/Slider.js.map +1 -1
- package/.dist/components/Space.d.ts +1 -1
- package/.dist/components/Space.js +1 -1
- package/.dist/components/Space.js.map +1 -1
- package/.dist/components/Spinner.d.ts +3 -1
- package/.dist/components/Spinner.js +11 -1
- package/.dist/components/Spinner.js.map +1 -1
- package/.dist/components/Table.d.ts +1 -2
- package/.dist/components/Table.js +5 -5
- package/.dist/components/Table.js.map +1 -1
- package/.dist/components/Tabs.d.ts +3 -2
- package/.dist/components/Tabs.js +42 -3
- package/.dist/components/Tabs.js.map +1 -1
- package/.dist/components/Text.d.ts +1 -1
- package/.dist/components/Text.js +8 -1
- package/.dist/components/Text.js.map +1 -1
- package/.dist/components/Toggle.d.ts +26 -0
- package/.dist/components/Toggle.js +151 -0
- package/.dist/components/Toggle.js.map +1 -0
- package/.dist/components/ToggleGroup.d.ts +1 -1
- package/.dist/components/ToggleGroup.js +22 -4
- package/.dist/components/ToggleGroup.js.map +1 -1
- package/.dist/components/ZStack.js +3 -1
- package/.dist/components/ZStack.js.map +1 -1
- package/.dist/components/charts/BarChart.js +2 -2
- package/.dist/components/charts/BarChart.js.map +1 -1
- package/.dist/components/index.d.ts +5 -2
- package/.dist/components/index.js +5 -2
- package/.dist/components/index.js.map +1 -1
- package/.dist/iTerm2.d.ts +1 -1
- package/.dist/iTerm2.js +1 -1
- package/.dist/iTerm2.js.map +1 -1
- package/.dist/index.d.ts +6 -5
- package/.dist/index.js +6 -5
- package/.dist/index.js.map +1 -1
- package/.dist/log.d.ts +7 -2
- package/.dist/log.js +10 -3
- package/.dist/log.js.map +1 -1
- package/.dist/managers/FocusManager.d.ts +3 -2
- package/.dist/managers/FocusManager.js +51 -47
- package/.dist/managers/FocusManager.js.map +1 -1
- package/.dist/managers/TickManager.d.ts +1 -1
- package/.dist/managers/TickManager.js +4 -4
- package/.dist/managers/TickManager.js.map +1 -1
- package/.dist/renderToAnsi.d.ts +0 -7
- package/.dist/renderToAnsi.js +7 -45
- package/.dist/renderToAnsi.js.map +1 -1
- package/.dist/terminal.d.ts +1 -0
- package/.dist/types.d.ts +32 -0
- package/.dist/types.js.map +1 -1
- package/package.json +16 -11
- package/.dist/Theme.js.map +0 -1
- package/.dist/inspect.d.ts +0 -14
- package/.dist/inspect.js +0 -172
- package/.dist/inspect.js.map +0 -1
- package/.dist/testing.js +0 -208
- package/.dist/testing.js.map +0 -1
package/.dist/Buffer.d.ts
CHANGED
|
@@ -18,6 +18,11 @@ export declare class Buffer implements Terminal {
|
|
|
18
18
|
* wrapping behavior).
|
|
19
19
|
*/
|
|
20
20
|
writeChar(char: string, x: number, y: number, style: Style): void;
|
|
21
|
+
/**
|
|
22
|
+
* Fills a rectangular region with BG_DRAW cells lazily.
|
|
23
|
+
* The cells are materialized during flush or when overwritten by writeChar.
|
|
24
|
+
*/
|
|
25
|
+
paintRect(style: Style, minX: number, minY: number, maxX: number, maxY: number): void;
|
|
21
26
|
/**
|
|
22
27
|
* Replaces the style of an existing cell without changing its character.
|
|
23
28
|
* If no cell exists at (x, y), writes a space with the given style.
|
package/.dist/Buffer.js
CHANGED
|
@@ -2,11 +2,17 @@ import * as unicode from '@teaui/term';
|
|
|
2
2
|
import { BG_DRAW } from './ansi.js';
|
|
3
3
|
import { Style } from './Style.js';
|
|
4
4
|
import { Size } from './geometry.js';
|
|
5
|
+
const EMPTY_CELL = { char: ' ', style: Style.NONE, width: 1 };
|
|
5
6
|
export class Buffer {
|
|
6
7
|
size = Size.zero;
|
|
7
8
|
#meta = '';
|
|
8
9
|
#canvas = new Map();
|
|
9
10
|
#prev = new Map();
|
|
11
|
+
#paintRects = [];
|
|
12
|
+
#prevPaintRects = [];
|
|
13
|
+
#dirtyRows = new Set();
|
|
14
|
+
#prevDirtyRows = new Set();
|
|
15
|
+
#mergeCache = new Map();
|
|
10
16
|
setForeground(fg) { }
|
|
11
17
|
setBackground(bg) { }
|
|
12
18
|
resize(size) {
|
|
@@ -39,16 +45,17 @@ export class Buffer {
|
|
|
39
45
|
if (x < 0 || x >= this.size.width || y < 0 || y >= this.size.height) {
|
|
40
46
|
return;
|
|
41
47
|
}
|
|
48
|
+
this.#dirtyRows.add(y);
|
|
42
49
|
let line = this.#canvas.get(y);
|
|
43
50
|
if (line) {
|
|
44
51
|
const prev = line.get(x);
|
|
45
52
|
if (prev?.char === BG_DRAW) {
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
if (
|
|
51
|
-
style = style
|
|
53
|
+
style = this.#mergeBackgroundStyle(style, prev.style);
|
|
54
|
+
}
|
|
55
|
+
else if (!prev) {
|
|
56
|
+
const paintStyle = this.#paintStyleAt(x, y);
|
|
57
|
+
if (paintStyle) {
|
|
58
|
+
style = this.#mergeBackgroundStyle(style, paintStyle);
|
|
52
59
|
}
|
|
53
60
|
}
|
|
54
61
|
const leftChar = line.get(x - 1);
|
|
@@ -80,10 +87,95 @@ export class Buffer {
|
|
|
80
87
|
}
|
|
81
88
|
}
|
|
82
89
|
else {
|
|
90
|
+
const paintStyle = this.#paintStyleAt(x, y);
|
|
91
|
+
if (paintStyle) {
|
|
92
|
+
style = this.#mergeBackgroundStyle(style, paintStyle);
|
|
93
|
+
}
|
|
83
94
|
line = new Map([[x, { char, width, style }]]);
|
|
84
95
|
this.#canvas.set(y, line);
|
|
85
96
|
}
|
|
86
97
|
}
|
|
98
|
+
/**
|
|
99
|
+
* Merges foreground/background from a background style into a text style,
|
|
100
|
+
* only when the text style is missing those properties. Single merge call.
|
|
101
|
+
*/
|
|
102
|
+
#mergeBackgroundStyle(style, bgStyle) {
|
|
103
|
+
const needsFg = style.foreground === undefined && bgStyle.foreground !== undefined;
|
|
104
|
+
const needsBg = style.background === undefined && bgStyle.background !== undefined;
|
|
105
|
+
if (!needsFg && !needsBg) {
|
|
106
|
+
return style;
|
|
107
|
+
}
|
|
108
|
+
// Check cache
|
|
109
|
+
let bgCache = this.#mergeCache.get(bgStyle);
|
|
110
|
+
if (bgCache) {
|
|
111
|
+
const cached = bgCache.get(style);
|
|
112
|
+
if (cached)
|
|
113
|
+
return cached;
|
|
114
|
+
}
|
|
115
|
+
else {
|
|
116
|
+
bgCache = new Map();
|
|
117
|
+
this.#mergeCache.set(bgStyle, bgCache);
|
|
118
|
+
}
|
|
119
|
+
const merged = style.merge({
|
|
120
|
+
foreground: needsFg ? bgStyle.foreground : undefined,
|
|
121
|
+
background: needsBg ? bgStyle.background : undefined,
|
|
122
|
+
});
|
|
123
|
+
bgCache.set(style, merged);
|
|
124
|
+
return merged;
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Fills a rectangular region with BG_DRAW cells lazily.
|
|
128
|
+
* The cells are materialized during flush or when overwritten by writeChar.
|
|
129
|
+
*/
|
|
130
|
+
paintRect(style, minX, minY, maxX, maxY) {
|
|
131
|
+
const rMinX = Math.max(0, ~~minX);
|
|
132
|
+
const rMinY = Math.max(0, ~~minY);
|
|
133
|
+
const rMaxX = Math.min(this.size.width, ~~maxX);
|
|
134
|
+
const rMaxY = Math.min(this.size.height, ~~maxY);
|
|
135
|
+
// Clear canvas cells in this region so the lazy paint rect takes priority
|
|
136
|
+
// over content that was rendered before this paint call.
|
|
137
|
+
for (let y = rMinY; y < rMaxY; y++) {
|
|
138
|
+
const line = this.#canvas.get(y);
|
|
139
|
+
if (!line)
|
|
140
|
+
continue;
|
|
141
|
+
for (let x = rMinX; x < rMaxX; x++) {
|
|
142
|
+
line.delete(x);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
this.#paintRects.push({
|
|
146
|
+
style,
|
|
147
|
+
cell: { char: BG_DRAW, width: 1, style },
|
|
148
|
+
minX: rMinX,
|
|
149
|
+
minY: rMinY,
|
|
150
|
+
maxX: rMaxX,
|
|
151
|
+
maxY: rMaxY,
|
|
152
|
+
});
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Returns the paint style for coordinates that fall within a paint rect,
|
|
156
|
+
* checking most recent rects first.
|
|
157
|
+
*/
|
|
158
|
+
#paintStyleAt(x, y) {
|
|
159
|
+
for (let i = this.#paintRects.length - 1; i >= 0; i--) {
|
|
160
|
+
const r = this.#paintRects[i];
|
|
161
|
+
if (x >= r.minX && x < r.maxX && y >= r.minY && y < r.maxY) {
|
|
162
|
+
return r.style;
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
return undefined;
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Returns a pre-allocated Char for coordinates in a paint rect.
|
|
169
|
+
*/
|
|
170
|
+
#paintCellAt(x, y) {
|
|
171
|
+
for (let i = this.#paintRects.length - 1; i >= 0; i--) {
|
|
172
|
+
const r = this.#paintRects[i];
|
|
173
|
+
if (x >= r.minX && x < r.maxX && y >= r.minY && y < r.maxY) {
|
|
174
|
+
return r.cell;
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
return undefined;
|
|
178
|
+
}
|
|
87
179
|
/**
|
|
88
180
|
* Replaces the style of an existing cell without changing its character.
|
|
89
181
|
* If no cell exists at (x, y), writes a space with the given style.
|
|
@@ -94,6 +186,7 @@ export class Buffer {
|
|
|
94
186
|
if (x < 0 || x >= this.size.width || y < 0 || y >= this.size.height) {
|
|
95
187
|
return;
|
|
96
188
|
}
|
|
189
|
+
this.#dirtyRows.add(y);
|
|
97
190
|
let line = this.#canvas.get(y);
|
|
98
191
|
if (!line) {
|
|
99
192
|
line = new Map();
|
|
@@ -117,15 +210,34 @@ export class Buffer {
|
|
|
117
210
|
if (this.#meta) {
|
|
118
211
|
terminal.write(this.#meta);
|
|
119
212
|
}
|
|
213
|
+
// Check if paint rects changed since last flush
|
|
214
|
+
const paintRectsChanged = !this.#paintRectsEqual(this.#paintRects, this.#prevPaintRects);
|
|
120
215
|
let prevStyle = Style.NONE;
|
|
121
216
|
for (let y = 0; y < this.size.height; y++) {
|
|
217
|
+
// Skip rows with no canvas writes (now or previously) and unchanged paint rects
|
|
218
|
+
if (!this.#dirtyRows.has(y) &&
|
|
219
|
+
!this.#prevDirtyRows.has(y) &&
|
|
220
|
+
!paintRectsChanged &&
|
|
221
|
+
this.#prev.has(y)) {
|
|
222
|
+
continue;
|
|
223
|
+
}
|
|
122
224
|
const line = this.#canvas.get(y) ?? new Map();
|
|
123
225
|
const prevLine = this.#prev.get(y) ?? new Map();
|
|
124
226
|
this.#prev.set(y, prevLine);
|
|
227
|
+
// Pre-compute paint rects applicable to this row, newest first. There
|
|
228
|
+
// can be multiple disjoint paint rects on the same row (e.g. multiple
|
|
229
|
+
// themed calendars in a horizontal stack), so choose per-cell below.
|
|
230
|
+
const rowPaintRects = [];
|
|
231
|
+
for (let i = this.#paintRects.length - 1; i >= 0; i--) {
|
|
232
|
+
const r = this.#paintRects[i];
|
|
233
|
+
if (y >= r.minY && y < r.maxY) {
|
|
234
|
+
rowPaintRects.push(r);
|
|
235
|
+
}
|
|
236
|
+
}
|
|
125
237
|
let didWrite = false;
|
|
126
238
|
let dx = 1;
|
|
127
239
|
for (let x = 0; x < this.size.width; x += dx) {
|
|
128
|
-
const chrInfo = line.get(x) ??
|
|
240
|
+
const chrInfo = line.get(x) ?? paintCellAt(rowPaintRects, x) ?? EMPTY_CELL;
|
|
129
241
|
const prevInfo = prevLine.get(x);
|
|
130
242
|
dx = chrInfo.width;
|
|
131
243
|
if (prevInfo && isCharEqual(chrInfo, prevInfo)) {
|
|
@@ -145,6 +257,10 @@ export class Buffer {
|
|
|
145
257
|
prevStyle = style;
|
|
146
258
|
}
|
|
147
259
|
terminal.write(char);
|
|
260
|
+
if (unicode.isAnnoyingWidth(char) &&
|
|
261
|
+
x + chrInfo.width < this.size.width) {
|
|
262
|
+
terminal.move(x + chrInfo.width, y);
|
|
263
|
+
}
|
|
148
264
|
prevLine.set(x, chrInfo);
|
|
149
265
|
if (chrInfo.width === 2) {
|
|
150
266
|
prevLine.delete(x + 1);
|
|
@@ -156,6 +272,33 @@ export class Buffer {
|
|
|
156
272
|
}
|
|
157
273
|
terminal.flush();
|
|
158
274
|
this.#canvas = new Map();
|
|
275
|
+
this.#prevDirtyRows = this.#dirtyRows;
|
|
276
|
+
this.#dirtyRows = new Set();
|
|
277
|
+
this.#prevPaintRects = this.#paintRects;
|
|
278
|
+
this.#paintRects = [];
|
|
279
|
+
}
|
|
280
|
+
#paintRectsEqual(a, b) {
|
|
281
|
+
if (a.length !== b.length)
|
|
282
|
+
return false;
|
|
283
|
+
for (let i = 0; i < a.length; i++) {
|
|
284
|
+
const ra = a[i];
|
|
285
|
+
const rb = b[i];
|
|
286
|
+
if (ra.minX !== rb.minX ||
|
|
287
|
+
ra.minY !== rb.minY ||
|
|
288
|
+
ra.maxX !== rb.maxX ||
|
|
289
|
+
ra.maxY !== rb.maxY ||
|
|
290
|
+
!ra.style.isEqual(rb.style)) {
|
|
291
|
+
return false;
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
return true;
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
function paintCellAt(rects, x) {
|
|
298
|
+
for (const r of rects) {
|
|
299
|
+
if (x >= r.minX && x < r.maxX) {
|
|
300
|
+
return r.cell;
|
|
301
|
+
}
|
|
159
302
|
}
|
|
160
303
|
}
|
|
161
304
|
function isCharEqual(lhs, rhs) {
|
package/.dist/Buffer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Buffer.js","sourceRoot":"","sources":["../lib/Buffer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Buffer.js","sourceRoot":"","sources":["../lib/Buffer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { Program } from './types.js';
|
|
2
|
+
import type { SystemEvent } from './events/index.js';
|
|
3
|
+
import { StringTerminal } from './StringTerminal.js';
|
|
4
|
+
/**
|
|
5
|
+
* A headless Program for offscreen rendering (screenshots, ANSI export).
|
|
6
|
+
* Wraps a StringTerminal and no-ops everything else.
|
|
7
|
+
*/
|
|
8
|
+
export declare class HeadlessProgram implements Program {
|
|
9
|
+
#private;
|
|
10
|
+
constructor({ cols, rows }: {
|
|
11
|
+
cols: number;
|
|
12
|
+
rows: number;
|
|
13
|
+
});
|
|
14
|
+
get terminal(): StringTerminal;
|
|
15
|
+
get cols(): number;
|
|
16
|
+
get rows(): number;
|
|
17
|
+
move(x: number, y: number): void;
|
|
18
|
+
write(str: string): void;
|
|
19
|
+
flush(): void;
|
|
20
|
+
setup(): void;
|
|
21
|
+
teardown(): void;
|
|
22
|
+
onEvents(_listener: (event: SystemEvent) => void): () => void;
|
|
23
|
+
onResize(_listener: () => void): () => void;
|
|
24
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { StringTerminal } from './StringTerminal.js';
|
|
2
|
+
/**
|
|
3
|
+
* A headless Program for offscreen rendering (screenshots, ANSI export).
|
|
4
|
+
* Wraps a StringTerminal and no-ops everything else.
|
|
5
|
+
*/
|
|
6
|
+
export class HeadlessProgram {
|
|
7
|
+
#terminal;
|
|
8
|
+
constructor({ cols, rows }) {
|
|
9
|
+
this.#terminal = new StringTerminal({ cols, rows });
|
|
10
|
+
}
|
|
11
|
+
get terminal() {
|
|
12
|
+
return this.#terminal;
|
|
13
|
+
}
|
|
14
|
+
// --- SGRTerminal interface ---
|
|
15
|
+
get cols() {
|
|
16
|
+
return this.#terminal.cols;
|
|
17
|
+
}
|
|
18
|
+
get rows() {
|
|
19
|
+
return this.#terminal.rows;
|
|
20
|
+
}
|
|
21
|
+
move(x, y) {
|
|
22
|
+
this.#terminal.move(x, y);
|
|
23
|
+
}
|
|
24
|
+
write(str) {
|
|
25
|
+
this.#terminal.write(str);
|
|
26
|
+
}
|
|
27
|
+
flush() {
|
|
28
|
+
this.#terminal.flush();
|
|
29
|
+
}
|
|
30
|
+
// --- Program lifecycle ---
|
|
31
|
+
setup() { }
|
|
32
|
+
teardown() { }
|
|
33
|
+
// --- Events ---
|
|
34
|
+
onEvents(_listener) {
|
|
35
|
+
return () => { };
|
|
36
|
+
}
|
|
37
|
+
onResize(_listener) {
|
|
38
|
+
return () => { };
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=HeadlessProgram.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HeadlessProgram.js","sourceRoot":"","sources":["../lib/HeadlessProgram.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,cAAc,EAAC,MAAM,qBAAqB,CAAA;AAElD;;;GAGG;AACH,MAAM,OAAO,eAAe;IAC1B,SAAS,CAAgB;IAEzB,YAAY,EAAC,IAAI,EAAE,IAAI,EAA+B;QACpD,IAAI,CAAC,SAAS,GAAG,IAAI,cAAc,CAAC,EAAC,IAAI,EAAE,IAAI,EAAC,CAAC,CAAA;IACnD,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,SAAS,CAAA;IACvB,CAAC;IAED,gCAAgC;IAEhC,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAA;IAC5B,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAA;IAC5B,CAAC;IAED,IAAI,CAAC,CAAS,EAAE,CAAS;QACvB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IAC3B,CAAC;IAED,KAAK,CAAC,GAAW;QACf,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC3B,CAAC;IAED,KAAK;QACH,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAA;IACxB,CAAC;IAED,4BAA4B;IAE5B,KAAK,KAAU,CAAC;IAChB,QAAQ,KAAU,CAAC;IAEnB,iBAAiB;IAEjB,QAAQ,CAAC,SAAuC;QAC9C,OAAO,GAAG,EAAE,GAAE,CAAC,CAAA;IACjB,CAAC;IAED,QAAQ,CAAC,SAAqB;QAC5B,OAAO,GAAG,EAAE,GAAE,CAAC,CAAA;IACjB,CAAC;CACF"}
|
|
@@ -14,7 +14,7 @@ interface Props {
|
|
|
14
14
|
tableCheckedHighlight?: Color;
|
|
15
15
|
emoji?: boolean;
|
|
16
16
|
}
|
|
17
|
-
export declare class
|
|
17
|
+
export declare class Palette {
|
|
18
18
|
textColor: Color;
|
|
19
19
|
contrastTextColor: Color;
|
|
20
20
|
dimTextColor: Color;
|
|
@@ -26,16 +26,16 @@ export declare class Theme {
|
|
|
26
26
|
tableCheckedColor: Color;
|
|
27
27
|
tableCheckedHighlightColor: Color;
|
|
28
28
|
emoji: boolean;
|
|
29
|
-
static plain:
|
|
30
|
-
static primary:
|
|
31
|
-
static secondary:
|
|
32
|
-
static proceed:
|
|
33
|
-
static cancel:
|
|
34
|
-
static selected:
|
|
35
|
-
static red:
|
|
36
|
-
static green:
|
|
37
|
-
static blue:
|
|
38
|
-
static orange:
|
|
29
|
+
static plain: Palette;
|
|
30
|
+
static primary: Palette;
|
|
31
|
+
static secondary: Palette;
|
|
32
|
+
static proceed: Palette;
|
|
33
|
+
static cancel: Palette;
|
|
34
|
+
static selected: Palette;
|
|
35
|
+
static red: Palette;
|
|
36
|
+
static green: Palette;
|
|
37
|
+
static blue: Palette;
|
|
38
|
+
static orange: Palette;
|
|
39
39
|
constructor({ text, contrastText, dimText, dimBackground, controlBackground, textBackground, highlight, darken, tableChecked, tableCheckedHighlight, emoji, }: Props);
|
|
40
40
|
/**
|
|
41
41
|
* "Ornament" is meant to draw decorative characters that disappear on hover/press
|
|
@@ -46,7 +46,7 @@ export declare class Theme {
|
|
|
46
46
|
isOrnament?: boolean;
|
|
47
47
|
}): Style;
|
|
48
48
|
/**
|
|
49
|
-
* Creates a text style using the current
|
|
49
|
+
* Creates a text style using the current purpose.
|
|
50
50
|
*
|
|
51
51
|
* Not all combinations are supported:
|
|
52
52
|
* - isSelected and isPlaceholder revert to just isPlaceholder
|
|
@@ -58,6 +58,6 @@ export declare class Theme {
|
|
|
58
58
|
isPlaceholder?: boolean;
|
|
59
59
|
hasFocus?: boolean;
|
|
60
60
|
}): Style;
|
|
61
|
-
merge(props: Partial<Props>):
|
|
61
|
+
merge(props: Partial<Props>): Palette;
|
|
62
62
|
}
|
|
63
63
|
export {};
|
|
@@ -3,7 +3,7 @@ const defaultText = 'default';
|
|
|
3
3
|
const defaultContrastText = '#FFF(16)';
|
|
4
4
|
const defaultDimText = '#808080(239)';
|
|
5
5
|
const defaultDimBackground = '#434343(238)';
|
|
6
|
-
export class
|
|
6
|
+
export class Palette {
|
|
7
7
|
textColor;
|
|
8
8
|
contrastTextColor;
|
|
9
9
|
dimTextColor;
|
|
@@ -15,7 +15,7 @@ export class Theme {
|
|
|
15
15
|
tableCheckedColor;
|
|
16
16
|
tableCheckedHighlightColor;
|
|
17
17
|
emoji;
|
|
18
|
-
static plain = new
|
|
18
|
+
static plain = new Palette({
|
|
19
19
|
controlBackground: '#4F4F4F(239)',
|
|
20
20
|
textBackground: 'default',
|
|
21
21
|
highlight: '#616161(241)',
|
|
@@ -23,7 +23,7 @@ export class Theme {
|
|
|
23
23
|
tableChecked: '#3a2040',
|
|
24
24
|
tableCheckedHighlight: '#4d2a55',
|
|
25
25
|
});
|
|
26
|
-
static primary = new
|
|
26
|
+
static primary = new Palette({
|
|
27
27
|
controlBackground: '#3B5EA7',
|
|
28
28
|
textBackground: '#273F70',
|
|
29
29
|
highlight: '#5A7AC2',
|
|
@@ -34,7 +34,7 @@ export class Theme {
|
|
|
34
34
|
contrastText: '#5A7AC2',
|
|
35
35
|
dimText: '#314F8C',
|
|
36
36
|
});
|
|
37
|
-
static secondary = new
|
|
37
|
+
static secondary = new Palette({
|
|
38
38
|
controlBackground: '#D0851C',
|
|
39
39
|
textBackground: '#805211',
|
|
40
40
|
highlight: '#D0924B',
|
|
@@ -45,7 +45,7 @@ export class Theme {
|
|
|
45
45
|
contrastText: '#D0924B',
|
|
46
46
|
dimText: '#A66A16',
|
|
47
47
|
});
|
|
48
|
-
static proceed = new
|
|
48
|
+
static proceed = new Palette({
|
|
49
49
|
controlBackground: '#4A7A5B',
|
|
50
50
|
textBackground: '#2E4E3A',
|
|
51
51
|
highlight: '#58A877',
|
|
@@ -56,7 +56,7 @@ export class Theme {
|
|
|
56
56
|
contrastText: '#58A877',
|
|
57
57
|
dimText: '#3D664C',
|
|
58
58
|
});
|
|
59
|
-
static cancel = new
|
|
59
|
+
static cancel = new Palette({
|
|
60
60
|
controlBackground: '#A04A4C',
|
|
61
61
|
textBackground: '#5B282A',
|
|
62
62
|
highlight: '#C46264',
|
|
@@ -67,7 +67,7 @@ export class Theme {
|
|
|
67
67
|
contrastText: '#C46264',
|
|
68
68
|
dimText: '#853D3F',
|
|
69
69
|
});
|
|
70
|
-
static selected = new
|
|
70
|
+
static selected = new Palette({
|
|
71
71
|
text: '#383838(236)',
|
|
72
72
|
controlBackground: '#BDBDBD(250)',
|
|
73
73
|
textBackground: '#BDBDBD(250)',
|
|
@@ -76,10 +76,10 @@ export class Theme {
|
|
|
76
76
|
tableChecked: '#8fa1c8',
|
|
77
77
|
tableCheckedHighlight: '#a7b8dc',
|
|
78
78
|
});
|
|
79
|
-
static red =
|
|
80
|
-
static green =
|
|
81
|
-
static blue =
|
|
82
|
-
static orange =
|
|
79
|
+
static red = Palette.cancel;
|
|
80
|
+
static green = Palette.proceed;
|
|
81
|
+
static blue = Palette.primary;
|
|
82
|
+
static orange = Palette.secondary;
|
|
83
83
|
constructor({ text, contrastText, dimText, dimBackground, controlBackground, textBackground, highlight, darken, tableChecked, tableCheckedHighlight, emoji, }) {
|
|
84
84
|
this.textColor = text ?? defaultText;
|
|
85
85
|
this.contrastTextColor = contrastText ?? defaultContrastText;
|
|
@@ -89,9 +89,9 @@ export class Theme {
|
|
|
89
89
|
this.textBackgroundColor = textBackground ?? controlBackground;
|
|
90
90
|
this.highlightColor = highlight;
|
|
91
91
|
this.darkenColor = darken;
|
|
92
|
-
this.tableCheckedColor = tableChecked ??
|
|
92
|
+
this.tableCheckedColor = tableChecked ?? Palette.plain.tableCheckedColor;
|
|
93
93
|
this.tableCheckedHighlightColor =
|
|
94
|
-
tableCheckedHighlight ??
|
|
94
|
+
tableCheckedHighlight ?? Palette.plain.tableCheckedHighlightColor;
|
|
95
95
|
this.emoji = emoji ?? true;
|
|
96
96
|
}
|
|
97
97
|
/**
|
|
@@ -124,7 +124,7 @@ export class Theme {
|
|
|
124
124
|
}
|
|
125
125
|
}
|
|
126
126
|
/**
|
|
127
|
-
* Creates a text style using the current
|
|
127
|
+
* Creates a text style using the current purpose.
|
|
128
128
|
*
|
|
129
129
|
* Not all combinations are supported:
|
|
130
130
|
* - isSelected and isPlaceholder revert to just isPlaceholder
|
|
@@ -169,7 +169,7 @@ export class Theme {
|
|
|
169
169
|
});
|
|
170
170
|
}
|
|
171
171
|
merge(props) {
|
|
172
|
-
return new
|
|
172
|
+
return new Palette({
|
|
173
173
|
text: props.text ?? this.textColor,
|
|
174
174
|
contrastText: props.contrastText ?? this.contrastTextColor,
|
|
175
175
|
dimText: props.dimText ?? this.dimTextColor,
|
|
@@ -184,4 +184,4 @@ export class Theme {
|
|
|
184
184
|
});
|
|
185
185
|
}
|
|
186
186
|
}
|
|
187
|
-
//# sourceMappingURL=
|
|
187
|
+
//# sourceMappingURL=Palette.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Palette.js","sourceRoot":"","sources":["../lib/Palette.ts"],"names":[],"mappings":"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"}
|
package/.dist/Screen.d.ts
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { Terminal as TermTerminal } from '@teaui/term';
|
|
2
|
-
import type { SGRTerminal } from './terminal.js';
|
|
3
2
|
import type { Rect, Point } from './geometry.js';
|
|
3
|
+
import { type Program } from './types.js';
|
|
4
4
|
import { View } from './View.js';
|
|
5
5
|
import type { HotKeyDef, KeyEvent, MouseEventListenerName, SystemEvent, SystemMouseEvent } from './events/index.js';
|
|
6
6
|
import type { Modal } from './components/Modal.js';
|
|
7
7
|
import { Window } from './components/Window.js';
|
|
8
|
-
type KeyListener = (char: string, key: KeyEvent) => void;
|
|
9
8
|
/**
|
|
10
9
|
* Wraps @teaui/term's Terminal for use by Screen and the public API.
|
|
10
|
+
* Translates low-level terminal input into SystemEvents that Screen can consume.
|
|
11
11
|
*/
|
|
12
|
-
export declare class TerminalProgram implements
|
|
12
|
+
export declare class TerminalProgram implements Program {
|
|
13
13
|
#private;
|
|
14
14
|
constructor();
|
|
15
15
|
get terminal(): TermTerminal;
|
|
@@ -18,22 +18,29 @@ export declare class TerminalProgram implements SGRTerminal {
|
|
|
18
18
|
move(x: number, y: number): void;
|
|
19
19
|
write(str: string): void;
|
|
20
20
|
flush(): void;
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
clear(): void;
|
|
24
|
-
startInput(screen: Screen): void;
|
|
25
|
-
stopInput(): void;
|
|
21
|
+
setup(): void;
|
|
22
|
+
teardown(): void;
|
|
26
23
|
/**
|
|
27
|
-
*
|
|
28
|
-
*
|
|
24
|
+
* Subscribe to translated system events from terminal input.
|
|
25
|
+
* Returns an unsubscribe function.
|
|
26
|
+
*/
|
|
27
|
+
onEvents(listener: (event: SystemEvent) => void): () => void;
|
|
28
|
+
/**
|
|
29
|
+
* Subscribe to terminal resize events.
|
|
30
|
+
* Returns an unsubscribe function.
|
|
29
31
|
*/
|
|
30
|
-
|
|
32
|
+
onResize(listener: () => void): () => void;
|
|
31
33
|
/**
|
|
32
|
-
*
|
|
34
|
+
* Listen for raw data once (for iTerm2 proprietary escape sequences, etc.)
|
|
33
35
|
*/
|
|
34
|
-
|
|
36
|
+
onceRawData(fn: (...args: any[]) => void): void;
|
|
35
37
|
}
|
|
36
38
|
type ViewConstructor<T extends View> = (program: TerminalProgram) => T | Promise<T>;
|
|
39
|
+
/**
|
|
40
|
+
* A ViewConstructor that receives a Program (for use with Screen constructor directly).
|
|
41
|
+
*/
|
|
42
|
+
export type ProgramViewConstructor<T extends View> = (program: Program) => T | Promise<T>;
|
|
43
|
+
type ScreenKeyListener = (char: string, key: KeyEvent) => void;
|
|
37
44
|
export interface ScreenOptions {
|
|
38
45
|
quitChar?: 'C-c' | 'C-q' | '' | undefined | false;
|
|
39
46
|
emoji?: boolean;
|
|
@@ -45,16 +52,17 @@ interface ScreenEventMap {
|
|
|
45
52
|
export declare class Screen {
|
|
46
53
|
#private;
|
|
47
54
|
rootView: View;
|
|
48
|
-
/**
|
|
49
|
-
* A helper function that puts the terminal into a "known good" state. I use this
|
|
50
|
-
* during debugging, if the app crashes and I need to get the terminal CLI working
|
|
51
|
-
* again.
|
|
52
|
-
*/
|
|
53
|
-
static reset(): void;
|
|
54
55
|
static start(): Promise<[Screen, TerminalProgram, Window]>;
|
|
55
56
|
static start<T extends View>(viewConstructor: T | ViewConstructor<T>, opts?: Partial<ScreenOptions>): Promise<[Screen, TerminalProgram, T]>;
|
|
56
|
-
constructor(program:
|
|
57
|
+
constructor(program: Program, rootView: View, { isFocused }?: {
|
|
58
|
+
isFocused?: boolean;
|
|
59
|
+
});
|
|
57
60
|
onExit(callback: () => void): void;
|
|
61
|
+
/**
|
|
62
|
+
* Register a key binding on the screen.
|
|
63
|
+
* Pattern: 'escape', 'C-c', 'C-q', 'return', etc.
|
|
64
|
+
*/
|
|
65
|
+
key(pattern: string | string[], fn: ScreenKeyListener): void;
|
|
58
66
|
/**
|
|
59
67
|
* Called from Screen.start(). Don't call this yourself unless you wanted
|
|
60
68
|
* to construct your own 'program'. I recommend starting with a
|
|
@@ -89,8 +97,6 @@ export declare class Screen {
|
|
|
89
97
|
* Subscribe to a screen event. Returns an unsubscribe function.
|
|
90
98
|
*/
|
|
91
99
|
on<K extends keyof ScreenEventMap>(event: K, listener: ScreenEventMap[K]): ScreenEventUnsubscribe;
|
|
92
|
-
nextFocus(): void;
|
|
93
|
-
prevFocus(): void;
|
|
94
100
|
triggerKeyboard(event: KeyEvent): void;
|
|
95
101
|
triggerPaste(text: string): void;
|
|
96
102
|
/**
|
|
@@ -100,7 +106,11 @@ export declare class Screen {
|
|
|
100
106
|
checkMouse(view: View, x: number, y: number): void;
|
|
101
107
|
triggerMouse(systemEvent: SystemMouseEvent): void;
|
|
102
108
|
registerTick(view: View): void;
|
|
103
|
-
|
|
109
|
+
/**
|
|
110
|
+
* Manually advance tick animations by `dt` milliseconds.
|
|
111
|
+
* Useful for testing animations without real timers.
|
|
112
|
+
*/
|
|
113
|
+
tick(dt: number): void;
|
|
104
114
|
preRender(view: View): void;
|
|
105
115
|
/**
|
|
106
116
|
* @return boolean Whether or not to rerender the view due to focus or mouse change
|