@teaui/core 1.15.14 → 1.16.14

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.
@@ -32,9 +32,10 @@ export class Container extends View {
32
32
  }
33
33
  if (children.length) {
34
34
  const childrenSet = new Set(children);
35
- for (const child of this.#children) {
35
+ for (let index = this.#children.length - 1; index >= 0; index--) {
36
+ const child = this.#children[index];
36
37
  if (!childrenSet.has(child)) {
37
- this.#removeChild(child);
38
+ this.removeChild(child);
38
39
  }
39
40
  }
40
41
  for (const child of children) {
@@ -83,9 +84,11 @@ export class Container extends View {
83
84
  else {
84
85
  child.willMoveTo(this);
85
86
  if (child.parent && child.parent instanceof Container) {
86
- const index = child.parent.#children.indexOf(child);
87
+ const previousParent = child.parent;
88
+ const index = previousParent.#children.indexOf(child);
87
89
  if (~index) {
88
- child.parent.#children.splice(index, 1);
90
+ previousParent.#children.splice(index, 1);
91
+ previousParent.invalidateSize();
89
92
  }
90
93
  }
91
94
  }
@@ -109,8 +112,8 @@ export class Container extends View {
109
112
  child.moveToScreen(undefined);
110
113
  }
111
114
  removeAllChildren() {
112
- for (const child of this.#children) {
113
- this.removeChild(child);
115
+ while (this.#children.length) {
116
+ this.removeChild(this.#children[this.#children.length - 1]);
114
117
  }
115
118
  }
116
119
  removeChild(child) {
@@ -122,6 +125,7 @@ export class Container extends View {
122
125
  const child = this.#children[index];
123
126
  this.#children.splice(index, 1);
124
127
  this.#removeChild(child);
128
+ this.invalidateSize();
125
129
  }
126
130
  }
127
131
  moveToScreen(screen) {
@@ -1 +1 @@
1
- {"version":3,"file":"Container.js","sourceRoot":"","sources":["../lib/Container.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Container.js","sourceRoot":"","sources":["../lib/Container.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,8 @@ export declare class HeadlessProgram implements Program {
19
19
  flush(): void;
20
20
  setup(): void;
21
21
  teardown(): void;
22
+ refreshHeight(): Promise<boolean>;
23
+ get isUpdatingRegion(): boolean;
22
24
  onEvents(_listener: (event: SystemEvent) => void): () => void;
23
25
  onResize(_listener: () => void): () => void;
24
26
  }
@@ -30,6 +30,12 @@ export class HeadlessProgram {
30
30
  // --- Program lifecycle ---
31
31
  setup() { }
32
32
  teardown() { }
33
+ async refreshHeight() {
34
+ return false;
35
+ }
36
+ get isUpdatingRegion() {
37
+ return false;
38
+ }
33
39
  // --- Events ---
34
40
  onEvents(_listener) {
35
41
  return () => { };
@@ -1 +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"}
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;IACnB,KAAK,CAAC,aAAa;QACjB,OAAO,KAAK,CAAA;IACd,CAAC;IACD,IAAI,gBAAgB;QAClB,OAAO,KAAK,CAAA;IACd,CAAC;IAED,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"}
package/.dist/Screen.d.ts CHANGED
@@ -1,51 +1,16 @@
1
- import { Terminal as TermTerminal } from '@teaui/term';
2
1
  import type { Rect, Point } from './geometry.js';
3
- import { type Program } from './types.js';
2
+ import { type Program, type ScreenOptions, type Unsubscribe } from './types.js';
4
3
  import { View } from './View.js';
5
4
  import type { HotKeyDef, KeyEvent, MouseEventListenerName, SystemEvent, SystemMouseEvent } from './events/index.js';
5
+ import { TerminalProgram } from './TerminalProgram.js';
6
6
  import type { Modal } from './components/Modal.js';
7
7
  import { Window } from './components/Window.js';
8
- /**
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
- */
12
- export declare class TerminalProgram implements Program {
13
- #private;
14
- constructor();
15
- get terminal(): TermTerminal;
16
- get cols(): number;
17
- get rows(): number;
18
- move(x: number, y: number): void;
19
- write(str: string): void;
20
- flush(): void;
21
- setup(): void;
22
- teardown(): void;
23
- /**
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.
31
- */
32
- onResize(listener: () => void): () => void;
33
- /**
34
- * Listen for raw data once (for iTerm2 proprietary escape sequences, etc.)
35
- */
36
- onceRawData(fn: (...args: any[]) => void): void;
37
- }
38
8
  type ViewConstructor<T extends View> = (program: TerminalProgram) => T | Promise<T>;
39
9
  /**
40
10
  * A ViewConstructor that receives a Program (for use with Screen constructor directly).
41
11
  */
42
12
  export type ProgramViewConstructor<T extends View> = (program: Program) => T | Promise<T>;
43
13
  type ScreenKeyListener = (char: string, key: KeyEvent) => void;
44
- export interface ScreenOptions {
45
- quitChar?: 'C-c' | 'C-q' | '' | undefined | false;
46
- emoji?: boolean;
47
- }
48
- export type ScreenEventUnsubscribe = () => void;
49
14
  interface ScreenEventMap {
50
15
  focusChange: (view: View | undefined) => void;
51
16
  }
@@ -96,7 +61,7 @@ export declare class Screen {
96
61
  /**
97
62
  * Subscribe to a screen event. Returns an unsubscribe function.
98
63
  */
99
- on<K extends keyof ScreenEventMap>(event: K, listener: ScreenEventMap[K]): ScreenEventUnsubscribe;
64
+ on<K extends keyof ScreenEventMap>(event: K, listener: ScreenEventMap[K]): Unsubscribe;
100
65
  triggerKeyboard(event: KeyEvent): void;
101
66
  triggerPaste(text: string): void;
102
67
  /**
@@ -117,6 +82,7 @@ export declare class Screen {
117
82
  */
118
83
  commit(): boolean;
119
84
  needsRender(): void;
85
+ viewNaturalSizeDidChange(view: View): void;
120
86
  render(): void;
121
87
  }
122
88
  export {};
package/.dist/Screen.js CHANGED
@@ -1,100 +1,14 @@
1
- import { Terminal as TermTerminal, cursorTo, isKeyEvent, isMouseEvent, isPasteEvent, isFocusEvent, } from '@teaui/term';
2
1
  import { Size } from './geometry.js';
3
2
  import { View } from './View.js';
4
3
  import { Viewport } from './Viewport.js';
5
4
  import { Buffer } from './Buffer.js';
6
- import { translateTermKeyEvent, translateTermMouseEvent, } from './events/translate.js';
5
+ import { TerminalProgram } from './TerminalProgram.js';
7
6
  import { FocusManager } from './managers/FocusManager.js';
8
7
  import { ModalManager } from './managers/ModalManager.js';
9
8
  import { MouseManager } from './managers/MouseManager.js';
10
9
  import { TickManager } from './managers/TickManager.js';
11
10
  import { Window } from './components/Window.js';
12
11
  import { UnboundSystem } from './System.js';
13
- // --- TerminalProgram: adapter wrapping @teaui/term's Terminal ---
14
- /**
15
- * Wraps @teaui/term's Terminal for use by Screen and the public API.
16
- * Translates low-level terminal input into SystemEvents that Screen can consume.
17
- */
18
- export class TerminalProgram {
19
- #terminal;
20
- constructor() {
21
- this.#terminal = new TermTerminal();
22
- this.#terminal.enableWriteBuffer();
23
- }
24
- get terminal() {
25
- return this.#terminal;
26
- }
27
- // --- SGRTerminal interface ---
28
- get cols() {
29
- return this.#terminal.cols;
30
- }
31
- get rows() {
32
- return this.#terminal.rows;
33
- }
34
- move(x, y) {
35
- this.#terminal.write(cursorTo(x, y));
36
- }
37
- write(str) {
38
- this.#terminal.write(str);
39
- }
40
- flush() {
41
- this.#terminal.flushWrites();
42
- }
43
- // --- Lifecycle ---
44
- setup() {
45
- this.#terminal.enterFullscreen({
46
- mouse: true,
47
- hideCursor: true,
48
- focusEvents: true,
49
- });
50
- this.#terminal.clear();
51
- }
52
- teardown() {
53
- this.#terminal.clear();
54
- this.#terminal.exitFullscreen();
55
- }
56
- // --- Events ---
57
- /**
58
- * Subscribe to translated system events from terminal input.
59
- * Returns an unsubscribe function.
60
- */
61
- onEvents(listener) {
62
- return this.#terminal.onInput((event) => {
63
- if (isFocusEvent(event)) {
64
- listener({ type: event.focused ? 'focus' : 'blur' });
65
- return;
66
- }
67
- if (isKeyEvent(event)) {
68
- listener(translateTermKeyEvent(event));
69
- return;
70
- }
71
- if (isPasteEvent(event)) {
72
- listener({ type: 'paste', text: event.text });
73
- return;
74
- }
75
- if (isMouseEvent(event)) {
76
- const mouseEvent = translateTermMouseEvent(event);
77
- if (mouseEvent) {
78
- listener(mouseEvent);
79
- }
80
- return;
81
- }
82
- });
83
- }
84
- /**
85
- * Subscribe to terminal resize events.
86
- * Returns an unsubscribe function.
87
- */
88
- onResize(listener) {
89
- return this.#terminal.onResize(() => listener());
90
- }
91
- /**
92
- * Listen for raw data once (for iTerm2 proprietary escape sequences, etc.)
93
- */
94
- onceRawData(fn) {
95
- this.#terminal.onceRawData(fn);
96
- }
97
- }
98
12
  export class Screen {
99
13
  #program;
100
14
  #onExit;
@@ -102,6 +16,10 @@ export class Screen {
102
16
  #cleanupEvents;
103
17
  #cleanupResize;
104
18
  #isFocused;
19
+ #isRunning = false;
20
+ #didStop = false;
21
+ #naturalSizeRefreshState = 'idle';
22
+ #renderRequestedDuringRegionUpdate = false;
105
23
  rootView;
106
24
  #buffer;
107
25
  #focusManager = new FocusManager();
@@ -125,25 +43,37 @@ export class Screen {
125
43
  quitChar: 'C-c',
126
44
  ...opts,
127
45
  };
128
- const program = new TerminalProgram();
129
- program.setup();
130
- const rootView = viewConstructor instanceof View
131
- ? viewConstructor
132
- : await viewConstructor(program);
133
- if (opts.emoji !== undefined) {
134
- rootView.purpose = rootView.purpose.merge({ emoji: opts.emoji });
135
- }
136
- const screen = new Screen(program, rootView);
137
- screen.onExit(() => {
138
- program.teardown();
139
- });
140
- if (opts.quitChar) {
141
- screen.key(opts.quitChar, () => {
142
- screen.exit();
46
+ const program = new TerminalProgram(opts.display);
47
+ try {
48
+ await program.setup();
49
+ const rootView = viewConstructor instanceof View
50
+ ? viewConstructor
51
+ : await viewConstructor(program);
52
+ if (opts.emoji !== undefined) {
53
+ rootView.purpose = rootView.purpose.merge({ emoji: opts.emoji });
54
+ }
55
+ await program.setupRootView(rootView);
56
+ const screen = new Screen(program, rootView);
57
+ screen.onExit(() => {
58
+ program.teardown();
143
59
  });
60
+ if (opts.quitChar) {
61
+ screen.key(opts.quitChar, () => {
62
+ screen.exit();
63
+ });
64
+ }
65
+ screen.start();
66
+ return [screen, program, rootView];
67
+ }
68
+ catch (error) {
69
+ try {
70
+ program.teardown();
71
+ }
72
+ catch {
73
+ // Preserve the startup error after making a best effort to restore the terminal.
74
+ }
75
+ throw error;
144
76
  }
145
- screen.start();
146
- return [screen, program, rootView];
147
77
  }
148
78
  constructor(program, rootView, { isFocused = true } = {}) {
149
79
  this.#program = program;
@@ -179,18 +109,24 @@ export class Screen {
179
109
  * copy of the implementation of Screen.start.
180
110
  */
181
111
  start() {
112
+ this.#isRunning = true;
182
113
  this.rootView.moveToScreen(this);
183
114
  this.#cleanupEvents = this.#program.onEvents(event => {
184
115
  if (event.type === 'key') {
185
116
  for (const { pattern, fn } of this.#keyListeners) {
186
117
  if (matchKeyPattern(pattern, event)) {
187
118
  fn(event.char, event);
119
+ if (!this.#isRunning)
120
+ return;
188
121
  }
189
122
  }
190
123
  }
191
124
  this.trigger(event);
192
125
  });
193
126
  this.#cleanupResize = this.#program.onResize(() => {
127
+ // A resize can move an inline region without changing its logical size.
128
+ // Always discard the physical-frame diff so every logical cell repaints.
129
+ this.#buffer.invalidate();
194
130
  this.trigger({ type: 'resize' });
195
131
  });
196
132
  this.render();
@@ -199,6 +135,10 @@ export class Screen {
199
135
  * Puts the screen back in normal terminal mode, restores the normal buffer
200
136
  */
201
137
  stop() {
138
+ if (this.#didStop)
139
+ return;
140
+ this.#didStop = true;
141
+ this.#isRunning = false;
202
142
  this.#tickManager.stop();
203
143
  this.rootView.moveToScreen(undefined);
204
144
  this.#cleanupEvents?.();
@@ -213,9 +153,15 @@ export class Screen {
213
153
  */
214
154
  exit() {
215
155
  this.stop();
216
- setTimeout(() => {
217
- process.exit(0);
218
- }, 0);
156
+ const exitProcess = () => process.exit(0);
157
+ if (process.stdout.writable && !process.stdout.writableEnded) {
158
+ // Teardown may have queued cursor movement and erase sequences. Wait for
159
+ // stdout to process them before forcing the process to exit.
160
+ process.stdout.write('', exitProcess);
161
+ }
162
+ else {
163
+ setTimeout(exitProcess, 0);
164
+ }
219
165
  }
220
166
  trigger(event) {
221
167
  switch (event.type) {
@@ -336,7 +282,51 @@ export class Screen {
336
282
  needsRender() {
337
283
  this.#tickManager.needsRender();
338
284
  }
285
+ viewNaturalSizeDidChange(view) {
286
+ if (view !== this.rootView || !this.#isRunning)
287
+ return;
288
+ if (this.#naturalSizeRefreshState !== 'idle') {
289
+ this.#naturalSizeRefreshState = 'refreshing-dirty';
290
+ return;
291
+ }
292
+ this.#naturalSizeRefreshState = 'refreshing';
293
+ void this.#refreshNaturalHeight().catch(error => {
294
+ queueMicrotask(() => {
295
+ throw error;
296
+ });
297
+ });
298
+ }
299
+ async #refreshNaturalHeight() {
300
+ try {
301
+ while (this.#isRunning) {
302
+ this.#naturalSizeRefreshState = 'refreshing';
303
+ const didChangeHeight = await this.#program.refreshHeight();
304
+ if (this.#isRunning) {
305
+ if (didChangeHeight) {
306
+ this.#buffer.invalidate();
307
+ this.render();
308
+ }
309
+ else if (this.#renderRequestedDuringRegionUpdate) {
310
+ this.render();
311
+ }
312
+ }
313
+ if (!this.#isNaturalSizeRefreshDirty())
314
+ return;
315
+ }
316
+ }
317
+ finally {
318
+ this.#naturalSizeRefreshState = 'idle';
319
+ }
320
+ }
321
+ #isNaturalSizeRefreshDirty() {
322
+ return this.#naturalSizeRefreshState === 'refreshing-dirty';
323
+ }
339
324
  render() {
325
+ if (this.#program.isUpdatingRegion) {
326
+ this.#renderRequestedDuringRegionUpdate = true;
327
+ return;
328
+ }
329
+ this.#renderRequestedDuringRegionUpdate = false;
340
330
  const screenSize = new Size(this.#program.cols, this.#program.rows);
341
331
  this.#buffer.resize(screenSize);
342
332
  // this may be called again by renderModals, before the last modal renders
@@ -1 +1 @@
1
- {"version":3,"file":"Screen.js","sourceRoot":"","sources":["../lib/Screen.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,IAAI,YAAY,EACxB,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,YAAY,GAEb,MAAM,aAAa,CAAA;AAGpB,OAAO,EAAC,IAAI,EAAC,MAAM,eAAe,CAAA;AAElC,OAAO,EAAC,IAAI,EAAC,MAAM,WAAW,CAAA;AAC9B,OAAO,EAAC,QAAQ,EAAC,MAAM,eAAe,CAAA;AACtC,OAAO,EAAC,MAAM,EAAC,MAAM,aAAa,CAAA;AAQlC,OAAO,EACL,qBAAqB,EACrB,uBAAuB,GACxB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAC,YAAY,EAAC,MAAM,4BAA4B,CAAA;AAEvD,OAAO,EAAC,YAAY,EAAC,MAAM,4BAA4B,CAAA;AACvD,OAAO,EAAC,YAAY,EAAC,MAAM,4BAA4B,CAAA;AACvD,OAAO,EAAC,WAAW,EAAC,MAAM,2BAA2B,CAAA;AACrD,OAAO,EAAC,MAAM,EAAC,MAAM,wBAAwB,CAAA;AAC7C,OAAO,EAAC,aAAa,EAAC,MAAM,aAAa,CAAA;AAEzC,mEAAmE;AAEnE;;;GAGG;AACH,MAAM,OAAO,eAAe;IAC1B,SAAS,CAAc;IAEvB;QACE,IAAI,CAAC,SAAS,GAAG,IAAI,YAAY,EAAE,CAAA;QACnC,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAAE,CAAA;IACpC,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,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IACtC,CAAC;IAED,KAAK,CAAC,GAAW;QACf,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC3B,CAAC;IAED,KAAK;QACH,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAA;IAC9B,CAAC;IAED,oBAAoB;IAEpB,KAAK;QACH,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC;YAC7B,KAAK,EAAE,IAAI;YACX,UAAU,EAAE,IAAI;YAChB,WAAW,EAAE,IAAI;SAClB,CAAC,CAAA;QACF,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAA;IACxB,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAA;QACtB,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,CAAA;IACjC,CAAC;IAED,iBAAiB;IAEjB;;;OAGG;IACH,QAAQ,CAAC,QAAsC;QAC7C,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,KAAqB,EAAE,EAAE;YACtD,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;gBACxB,QAAQ,CAAC,EAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAC,CAAC,CAAA;gBAClD,OAAM;YACR,CAAC;YAED,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;gBACtB,QAAQ,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAA;gBACtC,OAAM;YACR,CAAC;YAED,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;gBACxB,QAAQ,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAC,CAAC,CAAA;gBAC3C,OAAM;YACR,CAAC;YAED,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;gBACxB,MAAM,UAAU,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAA;gBACjD,IAAI,UAAU,EAAE,CAAC;oBACf,QAAQ,CAAC,UAAU,CAAC,CAAA;gBACtB,CAAC;gBACD,OAAM;YACR,CAAC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAED;;;OAGG;IACH,QAAQ,CAAC,QAAoB;QAC3B,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAA;IAClD,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,EAA4B;QACtC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;IAChC,CAAC;CACF;AA4BD,MAAM,OAAO,MAAM;IACjB,QAAQ,CAAS;IACjB,OAAO,CAAa;IACpB,aAAa,GAA+C,EAAE,CAAA;IAC9D,cAAc,CAAa;IAC3B,cAAc,CAAa;IAC3B,UAAU,CAAS;IAEnB,QAAQ,CAAM;IAEd,OAAO,CAAQ;IACf,aAAa,GAAG,IAAI,YAAY,EAAE,CAAA;IAClC,aAAa,GAAG,IAAI,YAAY,EAAE,CAAA;IAClC,aAAa,GAAG,IAAI,YAAY,EAAE,CAAA;IAClC,YAAY,GAAG,IAAI,WAAW,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAA;IACnD,eAAe,GAEX;QACF,WAAW,EAAE,IAAI,GAAG,EAAE;KACvB,CAAA;IASD;;;;;;;OAOG;IACH,MAAM,CAAC,KAAK,CAAC,KAAK,CAChB,kBAA0C,IAAI,MAAM,EAAkB,EACtE,IAA6B;QAE7B,IAAI,KAAK,EAAE,CAAA;QACX,IAAI,GAAG;YACL,QAAQ,EAAE,KAAK;YACf,GAAG,IAAI;SACR,CAAA;QAED,MAAM,OAAO,GAAG,IAAI,eAAe,EAAE,CAAA;QACrC,OAAO,CAAC,KAAK,EAAE,CAAA;QAEf,MAAM,QAAQ,GACZ,eAAe,YAAY,IAAI;YAC7B,CAAC,CAAC,eAAe;YACjB,CAAC,CAAC,MAAM,eAAe,CAAC,OAAO,CAAC,CAAA;QAEpC,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC7B,QAAQ,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,EAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAC,CAAC,CAAA;QAChE,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;QAC5C,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE;YACjB,OAAO,CAAC,QAAQ,EAAE,CAAA;QACpB,CAAC,CAAC,CAAA;QAEF,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE;gBAC7B,MAAM,CAAC,IAAI,EAAE,CAAA;YACf,CAAC,CAAC,CAAA;QACJ,CAAC;QAED,MAAM,CAAC,KAAK,EAAE,CAAA;QAEd,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAA;IACpC,CAAC;IAED,YACE,OAAgB,EAChB,QAAc,EACd,EAAC,SAAS,GAAG,IAAI,KAA2B,EAAE;QAE9C,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAA;QACvB,IAAI,CAAC,OAAO,GAAG,IAAI,MAAM,EAAE,CAAA;QAC3B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC,UAAU,GAAG,SAAS,CAAA;IAC7B,CAAC;IAED,MAAM,CAAC,QAAoB;QACzB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAA;YACzB,IAAI,CAAC,OAAO,GAAG,GAAG,EAAE;gBAClB,IAAI,EAAE,CAAA;gBACN,QAAQ,EAAE,CAAA;YACZ,CAAC,CAAA;QACH,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAA;QACzB,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,GAAG,CAAC,OAA0B,EAAE,EAAqB;QACnD,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;QAC7D,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;YACzB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAC,OAAO,EAAE,CAAC,EAAE,EAAE,EAAC,CAAC,CAAA;QAC3C,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK;QACH,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;QAEhC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;YACnD,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;gBACzB,KAAK,MAAM,EAAC,OAAO,EAAE,EAAE,EAAC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;oBAC/C,IAAI,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC;wBACpC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;oBACvB,CAAC;gBACH,CAAC;YACH,CAAC;YAED,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QACrB,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE;YAChD,IAAI,CAAC,OAAO,CAAC,EAAC,IAAI,EAAE,QAAQ,EAAC,CAAC,CAAA;QAChC,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,MAAM,EAAE,CAAA;IACf,CAAC;IAED;;OAEG;IACH,IAAI;QACF,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAA;QACxB,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,SAAS,CAAC,CAAA;QACrC,IAAI,CAAC,cAAc,EAAE,EAAE,CAAA;QACvB,IAAI,CAAC,cAAc,EAAE,EAAE,CAAA;QACvB,IAAI,CAAC,cAAc,GAAG,SAAS,CAAA;QAC/B,IAAI,CAAC,cAAc,GAAG,SAAS,CAAA;QAC/B,IAAI,CAAC,OAAO,EAAE,EAAE,CAAA;IAClB,CAAC;IAED;;;OAGG;IACH,IAAI;QACF,IAAI,CAAC,IAAI,EAAE,CAAA;QACX,UAAU,CAAC,GAAG,EAAE;YACd,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC,EAAE,CAAC,CAAC,CAAA;IACP,CAAC;IAED,OAAO,CAAC,KAAkB;QACxB,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,QAAQ,CAAC;YACd,KAAK,OAAO,CAAC;YACb,KAAK,MAAM;gBACT,MAAK;YACP,KAAK,KAAK;gBACR,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAA;gBAC3B,MAAK;YACP,KAAK,OAAO;gBACV,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;gBAC7B,MAAK;YACP,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;gBACxB,MAAK;YACP,CAAC;QACH,CAAC;QAED,IAAI,CAAC,MAAM,EAAE,CAAA;IACf,CAAC;IAED;;;OAGG;IACH,YAAY,CAAC,KAAY,EAAE,IAAU;QACnC,OAAO,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;IACrD,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,IAAU,EAAE,SAAkB;QAC1C,OAAO,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;IAC1D,CAAC;IAED,cAAc,CAAC,IAAU,EAAE,GAAc;QACvC,OAAO,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;IACrD,CAAC;IAED,gBAAgB,CAAC,IAAU;QACzB,OAAO,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAA;IAClD,CAAC;IAED,YAAY,CAAC,IAAU;QACrB,OAAO,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;IAC9C,CAAC;IAED,IAAI,gBAAgB;QAClB,OAAO,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAA;IAC5C,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,aAAa,CAAC,WAAW,CAAA;IACvC,CAAC;IAED;;OAEG;IACH,EAAE,CACA,KAAQ,EACR,QAA2B;QAE3B,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QACzC,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QAC9C,CAAC,CAAA;IACH,CAAC;IAED,KAAK,CACH,KAAQ,EACR,GAAG,IAAmC;QAEtC,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;YACnD,CAAC;YAAC,QAAkC,CAAC,GAAG,IAAI,CAAC,CAAA;QAC/C,CAAC;IACH,CAAC;IAED,eAAe,CAAC,KAAe;QAC7B,KAAK,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAA;QAChC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IACnC,CAAC;IAED,YAAY,CAAC,IAAY;QACvB,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;IACvC,CAAC;IAED;;OAEG;IACH,aAAa,CACX,IAAU,EACV,MAAa,EACb,KAAY,EACZ,UAAoC;QAEpC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC,CAAA;IACnE,CAAC;IAED,UAAU,CAAC,IAAU,EAAE,CAAS,EAAE,CAAS;QACzC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IAC3C,CAAC;IAED,YAAY,CAAC,WAA6B;QACxC,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;QACpD,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,CAAA;IACjD,CAAC;IAED,YAAY,CAAC,IAAU;QACrB,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;IACtC,CAAC;IAED;;;OAGG;IACH,IAAI,CAAC,EAAU;QACb,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;IACnC,CAAC;IAED,SAAS,CAAC,IAAU;QAClB,IAAI,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE,EAAE,CAAC;YACxC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAA;QAChE,CAAC;QAED,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAA;QAC1B,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAA;QACzB,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAA;QAC1B,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,QAAQ,CAAC,CAAA;QAEhD,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAA;QAC9B,CAAC;IACH,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;QACpD,MAAM,gBAAgB,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAA;QACpD,MAAM,gBAAgB,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QAE1D,IAAI,gBAAgB,EAAE,CAAC;YACrB,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAA;QAChE,CAAC;QAED,OAAO,gBAAgB,IAAI,gBAAgB,CAAA;IAC7C,CAAC;IAED,WAAW;QACT,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAA;IACjC,CAAC;IAED,MAAM;QACJ,MAAM,UAAU,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QACnE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;QAE/B,0EAA0E;QAC1E,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAE7B,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;QAC7D,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QAC9B,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;QACpE,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,EAAE,CAAA;QAEnC,+EAA+E;QAC/E,IAAI,aAAa,EAAE,CAAC;YAClB,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QAC/B,CAAC;QAED,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAA;QAE7B,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACnC,CAAC;CACF;AAED,SAAS,eAAe,CAAC,OAAe,EAAE,KAAe;IACvD,OAAO,KAAK,CAAC,IAAI,KAAK,OAAO,CAAA;AAC/B,CAAC;AAED;;;GAGG;AACH,SAAS,iBAAiB,CAAC,KAAe;IACxC,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;QACzB,OAAO;YACL,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,KAAK;YACX,GAAG,EAAE,IAAI;YACT,GAAG,EAAE,KAAK;YACV,KAAK,EAAE,KAAK;YACZ,IAAI,EAAE,MAAM;SACb,CAAA;IACH,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;QACzB,OAAO;YACL,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,KAAK;YACX,GAAG,EAAE,IAAI;YACT,GAAG,EAAE,KAAK;YACV,KAAK,EAAE,KAAK;YACZ,IAAI,EAAE,MAAM;SACb,CAAA;IACH,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC"}
1
+ {"version":3,"file":"Screen.js","sourceRoot":"","sources":["../lib/Screen.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,46 @@
1
+ import { type Terminal as TermTerminal, type InlineRegion } from '@teaui/term';
2
+ import { type Program, type ScreenDisplay } from './types.js';
3
+ import type { View } from './View.js';
4
+ import type { SystemEvent } from './events/index.js';
5
+ export type ResolvedScreenDisplay = {
6
+ mode: 'fullscreen';
7
+ } | {
8
+ mode: 'inline';
9
+ region: InlineRegion;
10
+ clearOnExit: boolean;
11
+ };
12
+ /**
13
+ * Wraps @teaui/term's Terminal for use by Screen and the public API.
14
+ * Translates low-level terminal input into SystemEvents that Screen can consume.
15
+ */
16
+ export declare class TerminalProgram implements Program {
17
+ #private;
18
+ readonly display: ResolvedScreenDisplay;
19
+ constructor(display?: ScreenDisplay);
20
+ get terminal(): TermTerminal;
21
+ get cols(): number;
22
+ get rows(): number;
23
+ move(x: number, y: number): void;
24
+ write(str: string): void;
25
+ flush(): void;
26
+ setup(): void | Promise<void>;
27
+ /** Complete deferred inline setup once the root view is available to measure. */
28
+ setupRootView(rootView: View): void | Promise<void>;
29
+ teardown(): void;
30
+ get isUpdatingRegion(): boolean;
31
+ refreshHeight(): Promise<boolean>;
32
+ /**
33
+ * Subscribe to translated system events from terminal input.
34
+ * Returns an unsubscribe function.
35
+ */
36
+ onEvents(listener: (event: SystemEvent) => void): () => void;
37
+ /**
38
+ * Subscribe to terminal resize events.
39
+ * Returns an unsubscribe function.
40
+ */
41
+ onResize(listener: () => void): () => void;
42
+ /**
43
+ * Listen for raw data once (for iTerm2 proprietary escape sequences, etc.)
44
+ */
45
+ onceRawData(fn: (...args: any[]) => void): void;
46
+ }
@@ -0,0 +1,124 @@
1
+ import { FullscreenTerminal, InlineTerminal, isKeyEvent, isMouseEvent, isPasteEvent, isFocusEvent, } from '@teaui/term';
2
+ import { Size } from './geometry.js';
3
+ import { translateTermKeyEvent, translateTermMouseEvent, } from './events/translate.js';
4
+ /**
5
+ * Wraps @teaui/term's Terminal for use by Screen and the public API.
6
+ * Translates low-level terminal input into SystemEvents that Screen can consume.
7
+ */
8
+ export class TerminalProgram {
9
+ #terminal;
10
+ #naturalHeightView;
11
+ #usesNaturalHeight = false;
12
+ display;
13
+ constructor(display = { mode: 'fullscreen' }) {
14
+ if (display.mode === 'inline') {
15
+ const height = display.height;
16
+ this.#usesNaturalHeight = height === 'natural';
17
+ const terminal = new InlineTerminal({
18
+ height: height === 'natural'
19
+ ? ({ columns, rows }) => this.#naturalHeight(columns, rows)
20
+ : height,
21
+ clearOnExit: display.clearOnExit,
22
+ });
23
+ this.#terminal = terminal;
24
+ this.display = {
25
+ mode: 'inline',
26
+ region: terminal.region,
27
+ clearOnExit: terminal.clearOnExit,
28
+ };
29
+ }
30
+ else {
31
+ this.#terminal = new FullscreenTerminal();
32
+ this.display = { mode: 'fullscreen' };
33
+ }
34
+ this.#terminal.enableWriteBuffer();
35
+ }
36
+ get terminal() {
37
+ return this.#terminal;
38
+ }
39
+ // --- SGRTerminal interface ---
40
+ get cols() {
41
+ return this.#terminal.cols;
42
+ }
43
+ get rows() {
44
+ return this.#terminal.rows;
45
+ }
46
+ move(x, y) {
47
+ this.#terminal.moveTo(x, y);
48
+ }
49
+ write(str) {
50
+ this.#terminal.write(str);
51
+ }
52
+ flush() {
53
+ this.#terminal.flushWrites();
54
+ }
55
+ // --- Lifecycle ---
56
+ setup() {
57
+ if (this.#usesNaturalHeight)
58
+ return;
59
+ return this.#terminal.setup();
60
+ }
61
+ /** Complete deferred inline setup once the root view is available to measure. */
62
+ setupRootView(rootView) {
63
+ if (!this.#usesNaturalHeight)
64
+ return;
65
+ this.#naturalHeightView = rootView;
66
+ return this.#terminal.setup();
67
+ }
68
+ teardown() {
69
+ this.#terminal.teardown();
70
+ }
71
+ get isUpdatingRegion() {
72
+ return this.#terminal.isUpdatingRegion;
73
+ }
74
+ refreshHeight() {
75
+ return this.#terminal.refreshHeight();
76
+ }
77
+ // --- Events ---
78
+ /**
79
+ * Subscribe to translated system events from terminal input.
80
+ * Returns an unsubscribe function.
81
+ */
82
+ onEvents(listener) {
83
+ return this.#terminal.onInput((event) => {
84
+ if (isFocusEvent(event)) {
85
+ listener({ type: event.focused ? 'focus' : 'blur' });
86
+ return;
87
+ }
88
+ if (isKeyEvent(event)) {
89
+ listener(translateTermKeyEvent(event));
90
+ return;
91
+ }
92
+ if (isPasteEvent(event)) {
93
+ listener({ type: 'paste', text: event.text });
94
+ return;
95
+ }
96
+ if (isMouseEvent(event)) {
97
+ const mouseEvent = translateTermMouseEvent(event);
98
+ if (mouseEvent) {
99
+ listener(mouseEvent);
100
+ }
101
+ return;
102
+ }
103
+ });
104
+ }
105
+ /**
106
+ * Subscribe to terminal resize events.
107
+ * Returns an unsubscribe function.
108
+ */
109
+ onResize(listener) {
110
+ return this.#terminal.onResize(() => listener());
111
+ }
112
+ /**
113
+ * Listen for raw data once (for iTerm2 proprietary escape sequences, etc.)
114
+ */
115
+ onceRawData(fn) {
116
+ this.#terminal.onceRawData(fn);
117
+ }
118
+ #naturalHeight(columns, rows) {
119
+ const height = this.#naturalHeightView?.naturalSize(new Size(columns, rows)).height ??
120
+ rows;
121
+ return Math.max(1, Math.min(rows, Math.ceil(height)));
122
+ }
123
+ }
124
+ //# sourceMappingURL=TerminalProgram.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TerminalProgram.js","sourceRoot":"","sources":["../lib/TerminalProgram.ts"],"names":[],"mappings":"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"}
@@ -19,10 +19,14 @@ export declare class TestProgram implements Program {
19
19
  flush(): void;
20
20
  setup(): void;
21
21
  teardown(): void;
22
+ refreshHeight(): Promise<boolean>;
23
+ get isUpdatingRegion(): boolean;
22
24
  onEvents(listener: (event: SystemEvent) => void): () => void;
23
- onResize(_listener: () => void): () => void;
25
+ onResize(listener: () => void): () => void;
24
26
  /**
25
27
  * Push a system event into the Screen's event pipeline.
26
28
  */
27
29
  sendEvent(event: SystemEvent): void;
30
+ /** Trigger the resize lifecycle without changing the configured test size. */
31
+ sendResize(): void;
28
32
  }
@@ -6,6 +6,7 @@ import { TestTerminal } from './TestTerminal.js';
6
6
  export class TestProgram {
7
7
  #terminal;
8
8
  #eventListener;
9
+ #resizeListener;
9
10
  constructor({ cols, rows }) {
10
11
  this.#terminal = new TestTerminal({ cols, rows });
11
12
  }
@@ -31,6 +32,12 @@ export class TestProgram {
31
32
  // --- Program lifecycle ---
32
33
  setup() { }
33
34
  teardown() { }
35
+ async refreshHeight() {
36
+ return false;
37
+ }
38
+ get isUpdatingRegion() {
39
+ return false;
40
+ }
34
41
  // --- Events ---
35
42
  onEvents(listener) {
36
43
  this.#eventListener = listener;
@@ -38,9 +45,11 @@ export class TestProgram {
38
45
  this.#eventListener = undefined;
39
46
  };
40
47
  }
41
- onResize(_listener) {
42
- // No resize in tests — return no-op unsubscribe
43
- return () => { };
48
+ onResize(listener) {
49
+ this.#resizeListener = listener;
50
+ return () => {
51
+ this.#resizeListener = undefined;
52
+ };
44
53
  }
45
54
  /**
46
55
  * Push a system event into the Screen's event pipeline.
@@ -48,5 +57,9 @@ export class TestProgram {
48
57
  sendEvent(event) {
49
58
  this.#eventListener?.(event);
50
59
  }
60
+ /** Trigger the resize lifecycle without changing the configured test size. */
61
+ sendResize() {
62
+ this.#resizeListener?.();
63
+ }
51
64
  }
52
65
  //# sourceMappingURL=TestProgram.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TestProgram.js","sourceRoot":"","sources":["../lib/TestProgram.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,YAAY,EAAC,MAAM,mBAAmB,CAAA;AAE9C;;;GAGG;AACH,MAAM,OAAO,WAAW;IACtB,SAAS,CAAc;IACvB,cAAc,CAA+B;IAE7C,YAAY,EAAC,IAAI,EAAE,IAAI,EAA+B;QACpD,IAAI,CAAC,SAAS,GAAG,IAAI,YAAY,CAAC,EAAC,IAAI,EAAE,IAAI,EAAC,CAAC,CAAA;IACjD,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,QAAsC;QAC7C,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAA;QAC9B,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,cAAc,GAAG,SAAS,CAAA;QACjC,CAAC,CAAA;IACH,CAAC;IAED,QAAQ,CAAC,SAAqB;QAC5B,gDAAgD;QAChD,OAAO,GAAG,EAAE,GAAE,CAAC,CAAA;IACjB,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,KAAkB;QAC1B,IAAI,CAAC,cAAc,EAAE,CAAC,KAAK,CAAC,CAAA;IAC9B,CAAC;CACF"}
1
+ {"version":3,"file":"TestProgram.js","sourceRoot":"","sources":["../lib/TestProgram.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,YAAY,EAAC,MAAM,mBAAmB,CAAA;AAE9C;;;GAGG;AACH,MAAM,OAAO,WAAW;IACtB,SAAS,CAAc;IACvB,cAAc,CAA+B;IAC7C,eAAe,CAAa;IAE5B,YAAY,EAAC,IAAI,EAAE,IAAI,EAA+B;QACpD,IAAI,CAAC,SAAS,GAAG,IAAI,YAAY,CAAC,EAAC,IAAI,EAAE,IAAI,EAAC,CAAC,CAAA;IACjD,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;IACnB,KAAK,CAAC,aAAa;QACjB,OAAO,KAAK,CAAA;IACd,CAAC;IACD,IAAI,gBAAgB;QAClB,OAAO,KAAK,CAAA;IACd,CAAC;IAED,iBAAiB;IAEjB,QAAQ,CAAC,QAAsC;QAC7C,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAA;QAC9B,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,cAAc,GAAG,SAAS,CAAA;QACjC,CAAC,CAAA;IACH,CAAC;IAED,QAAQ,CAAC,QAAoB;QAC3B,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAA;QAC/B,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,eAAe,GAAG,SAAS,CAAA;QAClC,CAAC,CAAA;IACH,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,KAAkB;QAC1B,IAAI,CAAC,cAAc,EAAE,CAAC,KAAK,CAAC,CAAA;IAC9B,CAAC;IAED,8EAA8E;IAC9E,UAAU;QACR,IAAI,CAAC,eAAe,EAAE,EAAE,CAAA;IAC1B,CAAC;CACF"}
package/.dist/View.js CHANGED
@@ -156,7 +156,12 @@ export class View {
156
156
  invalidateSize() {
157
157
  this.#prevSizeCache = new Map();
158
158
  if (this.#invalidateParent) {
159
- this.parent?.invalidateSize();
159
+ if (this.parent) {
160
+ this.parent.invalidateSize();
161
+ }
162
+ else {
163
+ this.#screen?.viewNaturalSizeDidChange(this);
164
+ }
160
165
  }
161
166
  this.invalidateRender();
162
167
  }
package/.dist/View.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"View.js","sourceRoot":"","sources":["../lib/View.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"View.js","sourceRoot":"","sources":["../lib/View.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"AutoLegend.js","sourceRoot":"","sources":["../../lib/components/AutoLegend.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,cAAc,GAGf,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAC,MAAM,EAAC,MAAM,aAAa,CAAA;AAClC,OAAO,EAAC,cAAc,EAAC,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAC,IAAI,EAAC,MAAM,gBAAgB,CAAA;AAInC;;;;;;GAMG;AACH,MAAM,OAAO,UAAW,SAAQ,cAAc;IAC5C,YAAY,CAAyB;IACrC,YAAY,CAA4B;IAExC,YAAY,QAAe,EAAE;QAC3B,KAAK,CAAC,KAAK,CAAC,CAAA;IACd,CAAC;IAED,QAAQ,CAAC,MAAc;QACrB,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;QACtB,IAAI,CAAC,YAAY,EAAE,EAAE,CAAA;QACrB,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,EAAE,CAAC,aAAa,EAAE,GAAG,EAAE;YAChD,IAAI,CAAC,YAAY,GAAG,SAAS,CAAA;YAC7B,IAAI,CAAC,cAAc,EAAE,CAAA;QACvB,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,UAAU,CAAC,MAAc;QACvB,IAAI,CAAC,YAAY,EAAE,EAAE,CAAA;QACrB,IAAI,CAAC,YAAY,GAAG,SAAS,CAAA;QAC7B,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;IAC1B,CAAC;IAED,YAAY;QACV,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;QACtE,CAAC;QAED,OAAO,IAAI,CAAC,YAAY,CAAA;IAC1B,CAAC;IAED,WAAW,CAAC,SAAe;QACzB,MAAM,IAAI,GAAG,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,CAAA;QACzC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,OAAO,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QACvB,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,YAAY,CAAC,OAAyB;QACpC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;QAC1B,IAAI,KAAmB,CAAA;QAEvB,sCAAsC;QACtC,IAAI,OAAO,EAAE,CAAC;YACZ,KAAK,GAAG,OAAO,CAAC,WAAW,EAAE,CAAA;QAC/B,CAAC;aAAM,CAAC;YACN,KAAK,GAAG,EAAE,CAAA;QACZ,CAAC;QAED,8DAA8D;QAC9D,IAAI,MAAM,EAAE,CAAC;YACX,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;gBACxC,IAAI,IAAI,YAAY,MAAM,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;oBACzC,KAAK,CAAC,IAAI,CAAC;wBACT,GAAG,EAAE,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC;wBAChC,KAAK,EAAE,IAAI,CAAC,KAAK;qBAClB,CAAC,CAAA;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;IACjC,CAAC;CACF"}
1
+ {"version":3,"file":"AutoLegend.js","sourceRoot":"","sources":["../../lib/components/AutoLegend.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,cAAc,GAGf,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAC,MAAM,EAAC,MAAM,aAAa,CAAA;AAClC,OAAO,EAAC,cAAc,EAAC,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAC,IAAI,EAAC,MAAM,gBAAgB,CAAA;AAInC;;;;;;GAMG;AACH,MAAM,OAAO,UAAW,SAAQ,cAAc;IAC5C,YAAY,CAAc;IAC1B,YAAY,CAA4B;IAExC,YAAY,QAAe,EAAE;QAC3B,KAAK,CAAC,KAAK,CAAC,CAAA;IACd,CAAC;IAED,QAAQ,CAAC,MAAc;QACrB,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;QACtB,IAAI,CAAC,YAAY,EAAE,EAAE,CAAA;QACrB,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,EAAE,CAAC,aAAa,EAAE,GAAG,EAAE;YAChD,IAAI,CAAC,YAAY,GAAG,SAAS,CAAA;YAC7B,IAAI,CAAC,cAAc,EAAE,CAAA;QACvB,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,UAAU,CAAC,MAAc;QACvB,IAAI,CAAC,YAAY,EAAE,EAAE,CAAA;QACrB,IAAI,CAAC,YAAY,GAAG,SAAS,CAAA;QAC7B,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;IAC1B,CAAC;IAED,YAAY;QACV,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;QACtE,CAAC;QAED,OAAO,IAAI,CAAC,YAAY,CAAA;IAC1B,CAAC;IAED,WAAW,CAAC,SAAe;QACzB,MAAM,IAAI,GAAG,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,CAAA;QACzC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,OAAO,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QACvB,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,YAAY,CAAC,OAAyB;QACpC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;QAC1B,IAAI,KAAmB,CAAA;QAEvB,sCAAsC;QACtC,IAAI,OAAO,EAAE,CAAC;YACZ,KAAK,GAAG,OAAO,CAAC,WAAW,EAAE,CAAA;QAC/B,CAAC;aAAM,CAAC;YACN,KAAK,GAAG,EAAE,CAAA;QACZ,CAAC;QAED,8DAA8D;QAC9D,IAAI,MAAM,EAAE,CAAC;YACX,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;gBACxC,IAAI,IAAI,YAAY,MAAM,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;oBACzC,KAAK,CAAC,IAAI,CAAC;wBACT,GAAG,EAAE,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC;wBAChC,KAAK,EAAE,IAAI,CAAC,KAAK;qBAClB,CAAC,CAAA;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;IACjC,CAAC;CACF"}
package/.dist/index.d.ts CHANGED
@@ -11,6 +11,7 @@ export * from './components/index.js';
11
11
  export * from './geometry.js';
12
12
  export * from './log.js';
13
13
  export * from './Screen.js';
14
+ export * from './TerminalProgram.js';
14
15
  export * from './Style.js';
15
16
  export * from './Palette.js';
16
17
  export * from './types.js';
package/.dist/index.js CHANGED
@@ -9,6 +9,7 @@ export * from './components/index.js';
9
9
  export * from './geometry.js';
10
10
  export * from './log.js';
11
11
  export * from './Screen.js';
12
+ export * from './TerminalProgram.js';
12
13
  export * from './Style.js';
13
14
  export * from './Palette.js';
14
15
  export * from './types.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,cAAc,EAAC,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAC,YAAY,EAAC,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EAAC,YAAY,EAAC,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EAAC,WAAW,EAAC,MAAM,kBAAkB,CAAA;AAC5C,OAAO,EAAC,eAAe,EAAC,MAAM,sBAAsB,CAAA;AACpD,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAA;AAC1C,cAAc,YAAY,CAAA;AAC1B,cAAc,uBAAuB,CAAA;AACrC,cAAc,eAAe,CAAA;AAC7B,cAAc,UAAU,CAAA;AACxB,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,OAAO,EAAC,IAAI,EAAqB,MAAM,WAAW,CAAA;AAClD,OAAO,EAAC,SAAS,EAA0B,MAAM,gBAAgB,CAAA;AACjE,cAAc,WAAW,CAAA;AACzB,cAAc,mBAAmB,CAAA;AACjC,OAAO,EAKL,WAAW,EACX,cAAc,EACd,KAAK,IAAI,WAAW,EACpB,kBAAkB,GACnB,MAAM,iBAAiB,CAAA;AACxB,cAAc,aAAa,CAAA;AAC3B,OAAO,EAAC,MAAM,EAAC,MAAM,aAAa,CAAA;AAClC,OAAO,EACL,SAAS,EACT,SAAS,EACT,UAAU,EACV,cAAc,EACd,KAAK,EACL,aAAa,EACb,UAAU,EACV,eAAe,EACf,SAAS,EACT,SAAS,GACV,MAAM,aAAa,CAAA;AACpB,cAAc,WAAW,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,cAAc,EAAC,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAC,YAAY,EAAC,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EAAC,YAAY,EAAC,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EAAC,WAAW,EAAC,MAAM,kBAAkB,CAAA;AAC5C,OAAO,EAAC,eAAe,EAAC,MAAM,sBAAsB,CAAA;AACpD,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAA;AAC1C,cAAc,YAAY,CAAA;AAC1B,cAAc,uBAAuB,CAAA;AACrC,cAAc,eAAe,CAAA;AAC7B,cAAc,UAAU,CAAA;AACxB,cAAc,aAAa,CAAA;AAC3B,cAAc,sBAAsB,CAAA;AACpC,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,OAAO,EAAC,IAAI,EAAqB,MAAM,WAAW,CAAA;AAClD,OAAO,EAAC,SAAS,EAA0B,MAAM,gBAAgB,CAAA;AACjE,cAAc,WAAW,CAAA;AACzB,cAAc,mBAAmB,CAAA;AACjC,OAAO,EAKL,WAAW,EACX,cAAc,EACd,KAAK,IAAI,WAAW,EACpB,kBAAkB,GACnB,MAAM,iBAAiB,CAAA;AACxB,cAAc,aAAa,CAAA;AAC3B,OAAO,EAAC,MAAM,EAAC,MAAM,aAAa,CAAA;AAClC,OAAO,EACL,SAAS,EACT,SAAS,EACT,UAAU,EACV,cAAc,EACd,KAAK,EACL,aAAa,EACb,UAAU,EACV,eAAe,EACf,SAAS,EACT,SAAS,GACV,MAAM,aAAa,CAAA;AACpB,cAAc,WAAW,CAAA"}
package/.dist/types.d.ts CHANGED
@@ -16,21 +16,44 @@ export interface LegendItem {
16
16
  key: string | string[];
17
17
  label: string;
18
18
  }
19
+ export type ScreenDisplay = {
20
+ mode: 'fullscreen';
21
+ } | {
22
+ mode: 'inline';
23
+ /** `'natural'` sizes the region to the root view's natural height. */
24
+ height: number | 'natural';
25
+ clearOnExit?: boolean;
26
+ };
27
+ export interface ScreenOptions {
28
+ quitChar?: 'C-c' | 'C-q' | '' | undefined | false;
29
+ emoji?: boolean;
30
+ /** Defaults to fullscreen. Inline displays clear their reserved rows on exit by default. */
31
+ display?: ScreenDisplay;
32
+ }
33
+ export type Unsubscribe = () => void;
19
34
  /**
20
35
  * The abstract interface that Screen depends on. Any terminal backend
21
36
  * (real terminal, test harness, web adapter, etc.) can implement this.
22
37
  */
23
38
  export interface Program extends SGRTerminal {
24
39
  /**
25
- * Prepare the terminal for fullscreen app mode (e.g. enter alt buffer,
40
+ * Prepare the terminal for application mode (e.g. configure the display,
26
41
  * enable mouse, hide cursor). Called once before the first render.
27
42
  */
28
- setup(): void;
43
+ setup(): void | Promise<void>;
29
44
  /**
30
45
  * Restore the terminal to its original state (e.g. exit alt buffer,
31
46
  * show cursor). Called when the screen stops.
32
47
  */
33
48
  teardown(): void;
49
+ /**
50
+ * Returns whether the terminal is currently updating its region (e.g. resizing).
51
+ */
52
+ get isUpdatingRegion(): boolean;
53
+ /**
54
+ * Refresh the terminal height. Returns whether the height changed.
55
+ */
56
+ refreshHeight(): Promise<boolean>;
34
57
  /**
35
58
  * Subscribe to system events (key, mouse, paste, focus/blur).
36
59
  * Returns an unsubscribe function.
package/package.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "contributors": [
6
6
  "Shawn Chen <meishangchen@gmail.com>"
7
7
  ],
8
- "version": "1.15.14",
8
+ "version": "1.16.14",
9
9
  "license": "MIT",
10
10
  "type": "module",
11
11
  "preferGlobal": false,
@@ -38,11 +38,11 @@
38
38
  "node": ">= 18.12.0"
39
39
  },
40
40
  "dependencies": {
41
- "@teaui/inspect": "1.15.14",
42
- "@teaui/term": "1.15.14"
41
+ "@teaui/inspect": "1.16.14",
42
+ "@teaui/term": "1.16.14"
43
43
  },
44
44
  "devDependencies": {
45
- "@teaui/shared": "1.15.14"
45
+ "@teaui/shared": "1.16.14"
46
46
  },
47
47
  "publishConfig": {
48
48
  "access": "public"