@teaui/core 1.10.8 → 1.11.9

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.
Files changed (180) hide show
  1. package/.dist/Buffer.d.ts +5 -0
  2. package/.dist/Buffer.js +150 -7
  3. package/.dist/Buffer.js.map +1 -1
  4. package/.dist/HeadlessProgram.d.ts +24 -0
  5. package/.dist/HeadlessProgram.js +41 -0
  6. package/.dist/HeadlessProgram.js.map +1 -0
  7. package/.dist/{Theme.d.ts → Palette.d.ts} +16 -15
  8. package/.dist/{Theme.js → Palette.js} +43 -28
  9. package/.dist/Palette.js.map +1 -0
  10. package/.dist/Screen.d.ts +43 -24
  11. package/.dist/Screen.js +102 -90
  12. package/.dist/Screen.js.map +1 -1
  13. package/.dist/Style.js +11 -10
  14. package/.dist/Style.js.map +1 -1
  15. package/.dist/TestProgram.d.ts +28 -0
  16. package/.dist/TestProgram.js +52 -0
  17. package/.dist/TestProgram.js.map +1 -0
  18. package/.dist/{testing.d.ts → TestScreen.d.ts} +4 -6
  19. package/.dist/TestScreen.js +99 -0
  20. package/.dist/TestScreen.js.map +1 -0
  21. package/.dist/TestTerminal.js +5 -23
  22. package/.dist/TestTerminal.js.map +1 -1
  23. package/.dist/UI.d.ts +2 -2
  24. package/.dist/UI.js +20 -20
  25. package/.dist/UI.js.map +1 -1
  26. package/.dist/View.d.ts +12 -7
  27. package/.dist/View.js +17 -10
  28. package/.dist/View.js.map +1 -1
  29. package/.dist/Viewport.d.ts +26 -0
  30. package/.dist/Viewport.js +57 -7
  31. package/.dist/Viewport.js.map +1 -1
  32. package/.dist/components/AbstractLegend.d.ts +30 -0
  33. package/.dist/components/AbstractLegend.js +195 -0
  34. package/.dist/components/AbstractLegend.js.map +1 -0
  35. package/.dist/components/Accordion.js +1 -1
  36. package/.dist/components/Accordion.js.map +1 -1
  37. package/.dist/components/Alert.d.ts +1 -1
  38. package/.dist/components/Alert.js +1 -1
  39. package/.dist/components/At.d.ts +57 -0
  40. package/.dist/components/At.js +182 -0
  41. package/.dist/components/At.js.map +1 -0
  42. package/.dist/components/AutoLegend.d.ts +21 -0
  43. package/.dist/components/AutoLegend.js +68 -0
  44. package/.dist/components/AutoLegend.js.map +1 -0
  45. package/.dist/components/Badge.d.ts +16 -0
  46. package/.dist/components/Badge.js +54 -0
  47. package/.dist/components/Badge.js.map +1 -0
  48. package/.dist/components/Box.d.ts +1 -1
  49. package/.dist/components/Box.js +4 -5
  50. package/.dist/components/Box.js.map +1 -1
  51. package/.dist/components/Breadcrumb.js +1 -1
  52. package/.dist/components/Breadcrumb.js.map +1 -1
  53. package/.dist/components/Button.d.ts +3 -2
  54. package/.dist/components/Button.js +13 -7
  55. package/.dist/components/Button.js.map +1 -1
  56. package/.dist/components/Calendar.d.ts +3 -1
  57. package/.dist/components/Calendar.js +34 -24
  58. package/.dist/components/Calendar.js.map +1 -1
  59. package/.dist/components/Callout.js +16 -16
  60. package/.dist/components/Callout.js.map +1 -1
  61. package/.dist/components/Canvas.js +1 -1
  62. package/.dist/components/Canvas.js.map +1 -1
  63. package/.dist/components/Checkbox.d.ts +3 -1
  64. package/.dist/components/Checkbox.js +11 -5
  65. package/.dist/components/Checkbox.js.map +1 -1
  66. package/.dist/components/Collapsible.js +1 -1
  67. package/.dist/components/Collapsible.js.map +1 -1
  68. package/.dist/components/CollapsibleText.js +1 -1
  69. package/.dist/components/CollapsibleText.js.map +1 -1
  70. package/.dist/components/Digits.d.ts +1 -1
  71. package/.dist/components/Digits.js +1 -1
  72. package/.dist/components/Digits.js.map +1 -1
  73. package/.dist/components/Drawer.d.ts +5 -3
  74. package/.dist/components/Drawer.js +20 -14
  75. package/.dist/components/Drawer.js.map +1 -1
  76. package/.dist/components/Dropdown.d.ts +1 -1
  77. package/.dist/components/Dropdown.js +25 -15
  78. package/.dist/components/Dropdown.js.map +1 -1
  79. package/.dist/components/HotKey.d.ts +7 -4
  80. package/.dist/components/HotKey.js +12 -4
  81. package/.dist/components/HotKey.js.map +1 -1
  82. package/.dist/components/Input.d.ts +3 -1
  83. package/.dist/components/Input.js +369 -45
  84. package/.dist/components/Input.js.map +1 -1
  85. package/.dist/components/Legend.d.ts +7 -13
  86. package/.dist/components/Legend.js +15 -163
  87. package/.dist/components/Legend.js.map +1 -1
  88. package/.dist/components/Log.d.ts +1 -0
  89. package/.dist/components/Log.js +5 -2
  90. package/.dist/components/Log.js.map +1 -1
  91. package/.dist/components/Modal.d.ts +2 -1
  92. package/.dist/components/Modal.js +2 -2
  93. package/.dist/components/Modal.js.map +1 -1
  94. package/.dist/components/Notification.d.ts +1 -1
  95. package/.dist/components/Notification.js +3 -3
  96. package/.dist/components/Notification.js.map +1 -1
  97. package/.dist/components/Page.js +5 -14
  98. package/.dist/components/Page.js.map +1 -1
  99. package/.dist/components/Pane.js +13 -10
  100. package/.dist/components/Pane.js.map +1 -1
  101. package/.dist/components/Plot.js +1 -1
  102. package/.dist/components/Plot.js.map +1 -1
  103. package/.dist/components/Progress.js +2 -2
  104. package/.dist/components/Progress.js.map +1 -1
  105. package/.dist/components/Scrollable.js +4 -4
  106. package/.dist/components/Scrollable.js.map +1 -1
  107. package/.dist/components/ScrollableList.js +4 -4
  108. package/.dist/components/ScrollableList.js.map +1 -1
  109. package/.dist/components/Separator.js +1 -1
  110. package/.dist/components/Separator.js.map +1 -1
  111. package/.dist/components/Slider.d.ts +3 -2
  112. package/.dist/components/Slider.js +14 -4
  113. package/.dist/components/Slider.js.map +1 -1
  114. package/.dist/components/Space.d.ts +1 -1
  115. package/.dist/components/Space.js +1 -1
  116. package/.dist/components/Space.js.map +1 -1
  117. package/.dist/components/Spinner.d.ts +3 -1
  118. package/.dist/components/Spinner.js +11 -1
  119. package/.dist/components/Spinner.js.map +1 -1
  120. package/.dist/components/Table.d.ts +1 -2
  121. package/.dist/components/Table.js +5 -5
  122. package/.dist/components/Table.js.map +1 -1
  123. package/.dist/components/Tabs.d.ts +3 -2
  124. package/.dist/components/Tabs.js +42 -3
  125. package/.dist/components/Tabs.js.map +1 -1
  126. package/.dist/components/Text.d.ts +1 -1
  127. package/.dist/components/Text.js +8 -1
  128. package/.dist/components/Text.js.map +1 -1
  129. package/.dist/components/Toggle.d.ts +26 -0
  130. package/.dist/components/Toggle.js +151 -0
  131. package/.dist/components/Toggle.js.map +1 -0
  132. package/.dist/components/ToggleGroup.d.ts +1 -1
  133. package/.dist/components/ToggleGroup.js +22 -4
  134. package/.dist/components/ToggleGroup.js.map +1 -1
  135. package/.dist/components/ZStack.js +3 -1
  136. package/.dist/components/ZStack.js.map +1 -1
  137. package/.dist/components/charts/BarChart.js +2 -2
  138. package/.dist/components/charts/BarChart.js.map +1 -1
  139. package/.dist/components/index.d.ts +6 -2
  140. package/.dist/components/index.js +6 -2
  141. package/.dist/components/index.js.map +1 -1
  142. package/.dist/components/utility/TrackMouse.d.ts +3 -5
  143. package/.dist/components/utility/TrackMouse.js +1 -2
  144. package/.dist/components/utility/TrackMouse.js.map +1 -1
  145. package/.dist/events/key.d.ts +10 -6
  146. package/.dist/events/key.js +29 -6
  147. package/.dist/events/key.js.map +1 -1
  148. package/.dist/events/mouse.d.ts +1 -1
  149. package/.dist/events/translate.js +6 -6
  150. package/.dist/events/translate.js.map +1 -1
  151. package/.dist/iTerm2.d.ts +1 -1
  152. package/.dist/iTerm2.js +1 -1
  153. package/.dist/iTerm2.js.map +1 -1
  154. package/.dist/index.d.ts +6 -5
  155. package/.dist/index.js +6 -5
  156. package/.dist/index.js.map +1 -1
  157. package/.dist/log.d.ts +7 -2
  158. package/.dist/log.js +10 -3
  159. package/.dist/log.js.map +1 -1
  160. package/.dist/managers/FocusManager.d.ts +5 -2
  161. package/.dist/managers/FocusManager.js +58 -46
  162. package/.dist/managers/FocusManager.js.map +1 -1
  163. package/.dist/managers/MouseManager.js +1 -1
  164. package/.dist/managers/MouseManager.js.map +1 -1
  165. package/.dist/managers/TickManager.d.ts +1 -1
  166. package/.dist/managers/TickManager.js +4 -4
  167. package/.dist/managers/TickManager.js.map +1 -1
  168. package/.dist/renderToAnsi.d.ts +0 -7
  169. package/.dist/renderToAnsi.js +7 -36
  170. package/.dist/renderToAnsi.js.map +1 -1
  171. package/.dist/terminal.d.ts +1 -0
  172. package/.dist/types.d.ts +32 -0
  173. package/.dist/types.js.map +1 -1
  174. package/package.json +8 -4
  175. package/.dist/Theme.js.map +0 -1
  176. package/.dist/inspect.d.ts +0 -14
  177. package/.dist/inspect.js +0 -172
  178. package/.dist/inspect.js.map +0 -1
  179. package/.dist/testing.js +0 -190
  180. package/.dist/testing.js.map +0 -1
package/.dist/Screen.d.ts CHANGED
@@ -1,16 +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.
11
- * Provides a blessed-compatible `.key()` helper and implements SGRTerminal.
10
+ * Translates low-level terminal input into SystemEvents that Screen can consume.
12
11
  */
13
- export declare class TerminalProgram implements SGRTerminal {
12
+ export declare class TerminalProgram implements Program {
14
13
  #private;
15
14
  constructor();
16
15
  get terminal(): TermTerminal;
@@ -19,39 +18,51 @@ export declare class TerminalProgram implements SGRTerminal {
19
18
  move(x: number, y: number): void;
20
19
  write(str: string): void;
21
20
  flush(): void;
22
- enterFullscreen(): void;
23
- exitFullscreen(): void;
24
- clear(): void;
25
- startInput(screen: Screen): void;
26
- stopInput(): void;
21
+ setup(): void;
22
+ teardown(): void;
27
23
  /**
28
- * Register a key binding (blessed-compatible).
29
- * Pattern: 'escape', 'C-c', 'C-q', 'return', etc.
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.
30
31
  */
31
- key(pattern: string | string[], fn: KeyListener): void;
32
+ onResize(listener: () => void): () => void;
32
33
  /**
33
- * Provide raw data listener (for iTerm2 etc.)
34
+ * Listen for raw data once (for iTerm2 proprietary escape sequences, etc.)
34
35
  */
35
- once(event: string, fn: (...args: any[]) => void): void;
36
+ onceRawData(fn: (...args: any[]) => void): void;
36
37
  }
37
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;
38
44
  export interface ScreenOptions {
39
45
  quitChar?: 'C-c' | 'C-q' | '' | undefined | false;
40
46
  emoji?: boolean;
41
47
  }
48
+ export type ScreenEventUnsubscribe = () => void;
49
+ interface ScreenEventMap {
50
+ focusChange: (view: View | undefined) => void;
51
+ }
42
52
  export declare class Screen {
43
53
  #private;
44
54
  rootView: View;
45
- /**
46
- * A helper function that puts the terminal into a "known good" state. I use this
47
- * during debugging, if the app crashes and I need to get the terminal CLI working
48
- * again.
49
- */
50
- static reset(): void;
51
55
  static start(): Promise<[Screen, TerminalProgram, Window]>;
52
56
  static start<T extends View>(viewConstructor: T | ViewConstructor<T>, opts?: Partial<ScreenOptions>): Promise<[Screen, TerminalProgram, T]>;
53
- constructor(program: TerminalProgram, rootView: View);
57
+ constructor(program: Program, rootView: View, { isFocused }?: {
58
+ isFocused?: boolean;
59
+ });
54
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;
55
66
  /**
56
67
  * Called from Screen.start(). Don't call this yourself unless you wanted
57
68
  * to construct your own 'program'. I recommend starting with a
@@ -80,8 +91,12 @@ export declare class Screen {
80
91
  registerHotKey(view: View, key: HotKeyDef): void;
81
92
  registerKeyboard(view: View): void;
82
93
  requestFocus(view: View): boolean;
83
- nextFocus(): void;
84
- prevFocus(): void;
94
+ get currentFocusView(): View | undefined;
95
+ get hotKeyViews(): [View, HotKeyDef][];
96
+ /**
97
+ * Subscribe to a screen event. Returns an unsubscribe function.
98
+ */
99
+ on<K extends keyof ScreenEventMap>(event: K, listener: ScreenEventMap[K]): ScreenEventUnsubscribe;
85
100
  triggerKeyboard(event: KeyEvent): void;
86
101
  triggerPaste(text: string): void;
87
102
  /**
@@ -91,7 +106,11 @@ export declare class Screen {
91
106
  checkMouse(view: View, x: number, y: number): void;
92
107
  triggerMouse(systemEvent: SystemMouseEvent): void;
93
108
  registerTick(view: View): void;
94
- triggerTick(dt: number): void;
109
+ /**
110
+ * Manually advance tick animations by `dt` milliseconds.
111
+ * Useful for testing animations without real timers.
112
+ */
113
+ tick(dt: number): void;
95
114
  preRender(view: View): void;
96
115
  /**
97
116
  * @return boolean Whether or not to rerender the view due to focus or mouse change
package/.dist/Screen.js CHANGED
@@ -9,16 +9,14 @@ import { ModalManager } from './managers/ModalManager.js';
9
9
  import { MouseManager } from './managers/MouseManager.js';
10
10
  import { TickManager } from './managers/TickManager.js';
11
11
  import { Window } from './components/Window.js';
12
- import { Theme } from './Theme.js';
13
12
  import { UnboundSystem } from './System.js';
13
+ // --- TerminalProgram: adapter wrapping @teaui/term's Terminal ---
14
14
  /**
15
15
  * Wraps @teaui/term's Terminal for use by Screen and the public API.
16
- * Provides a blessed-compatible `.key()` helper and implements SGRTerminal.
16
+ * Translates low-level terminal input into SystemEvents that Screen can consume.
17
17
  */
18
18
  export class TerminalProgram {
19
19
  #terminal;
20
- #keyListeners = [];
21
- #cleanupInput;
22
20
  constructor() {
23
21
  this.#terminal = new TermTerminal();
24
22
  this.#terminal.enableWriteBuffer();
@@ -43,99 +41,76 @@ export class TerminalProgram {
43
41
  this.#terminal.flushWrites();
44
42
  }
45
43
  // --- Lifecycle ---
46
- enterFullscreen() {
44
+ setup() {
47
45
  this.#terminal.enterFullscreen({
48
46
  mouse: true,
49
47
  hideCursor: true,
50
48
  focusEvents: true,
51
49
  });
50
+ this.#terminal.clear();
52
51
  }
53
- exitFullscreen() {
54
- this.#terminal.exitFullscreen();
55
- }
56
- clear() {
52
+ teardown() {
57
53
  this.#terminal.clear();
54
+ this.#terminal.exitFullscreen();
58
55
  }
59
- // --- Input ---
60
- startInput(screen) {
61
- this.#cleanupInput = this.#terminal.onInput((event) => {
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) => {
62
63
  if (isFocusEvent(event)) {
63
- screen.trigger({ type: event.focused ? 'focus' : 'blur' });
64
+ listener({ type: event.focused ? 'focus' : 'blur' });
64
65
  return;
65
66
  }
66
67
  if (isKeyEvent(event)) {
67
- const keyEvent = translateTermKeyEvent(event);
68
- // Check .key() listeners
69
- for (const { pattern, fn } of this.#keyListeners) {
70
- if (matchKeyPattern(pattern, keyEvent)) {
71
- fn(keyEvent.char, keyEvent);
72
- }
73
- }
74
- screen.trigger(keyEvent);
68
+ listener(translateTermKeyEvent(event));
75
69
  return;
76
70
  }
77
71
  if (isPasteEvent(event)) {
78
- screen.trigger({ type: 'paste', text: event.text });
72
+ listener({ type: 'paste', text: event.text });
79
73
  return;
80
74
  }
81
75
  if (isMouseEvent(event)) {
82
76
  const mouseEvent = translateTermMouseEvent(event);
83
77
  if (mouseEvent) {
84
- screen.trigger(mouseEvent);
78
+ listener(mouseEvent);
85
79
  }
86
80
  return;
87
81
  }
88
82
  });
89
- this.#terminal.onResize(() => {
90
- screen.trigger({ type: 'resize' });
91
- });
92
- }
93
- stopInput() {
94
- this.#cleanupInput?.();
95
- this.#cleanupInput = undefined;
96
83
  }
97
84
  /**
98
- * Register a key binding (blessed-compatible).
99
- * Pattern: 'escape', 'C-c', 'C-q', 'return', etc.
85
+ * Subscribe to terminal resize events.
86
+ * Returns an unsubscribe function.
100
87
  */
101
- key(pattern, fn) {
102
- const patterns = Array.isArray(pattern) ? pattern : [pattern];
103
- for (const p of patterns) {
104
- this.#keyListeners.push({ pattern: p, fn });
105
- }
88
+ onResize(listener) {
89
+ return this.#terminal.onResize(() => listener());
106
90
  }
107
91
  /**
108
- * Provide raw data listener (for iTerm2 etc.)
92
+ * Listen for raw data once (for iTerm2 proprietary escape sequences, etc.)
109
93
  */
110
- once(event, fn) {
111
- if (event === 'data') {
112
- this.#terminal.onceRawData(fn);
113
- }
94
+ onceRawData(fn) {
95
+ this.#terminal.onceRawData(fn);
114
96
  }
115
97
  }
116
98
  export class Screen {
117
99
  #program;
118
100
  #onExit;
101
+ #keyListeners = [];
102
+ #cleanupEvents;
103
+ #cleanupResize;
104
+ #isFocused;
119
105
  rootView;
120
106
  #buffer;
121
107
  #focusManager = new FocusManager();
122
108
  #modalManager = new ModalManager();
123
109
  #mouseManager = new MouseManager();
124
110
  #tickManager = new TickManager(() => this.render());
125
- /**
126
- * A helper function that puts the terminal into a "known good" state. I use this
127
- * during debugging, if the app crashes and I need to get the terminal CLI working
128
- * again.
129
- */
130
- static reset() {
131
- const program = new TerminalProgram();
132
- program.clear();
133
- program.terminal.showCursor();
134
- program.exitFullscreen();
135
- setTimeout(() => {
136
- process.exit(0);
137
- }, 0);
138
- }
111
+ #eventListeners = {
112
+ focusChange: new Set(),
113
+ };
139
114
  /**
140
115
  * Start the TeaUI application. Expects a root node (I recommend Window, it
141
116
  * consumes all the available screen space) *or* an async function that creates the
@@ -151,48 +126,30 @@ export class Screen {
151
126
  ...opts,
152
127
  };
153
128
  const program = new TerminalProgram();
154
- program.enterFullscreen();
155
- program.clear();
129
+ program.setup();
156
130
  const rootView = viewConstructor instanceof View
157
131
  ? viewConstructor
158
132
  : await viewConstructor(program);
159
133
  if (opts.emoji !== undefined) {
160
- const currentTheme = rootView.theme;
161
- rootView.theme = new Theme({
162
- text: currentTheme.textColor,
163
- contrastText: currentTheme.contrastTextColor,
164
- dimText: currentTheme.dimTextColor,
165
- dimBackground: currentTheme.dimBackgroundColor,
166
- background: currentTheme.backgroundColor,
167
- textBackground: currentTheme.textBackgroundColor,
168
- highlight: currentTheme.highlightColor,
169
- darken: currentTheme.darkenColor,
170
- tableChecked: currentTheme.tableCheckedColor,
171
- tableCheckedHighlight: currentTheme.tableCheckedHighlightColor,
172
- emoji: opts.emoji,
173
- });
134
+ rootView.purpose = rootView.purpose.merge({ emoji: opts.emoji });
174
135
  }
175
136
  const screen = new Screen(program, rootView);
176
137
  screen.onExit(() => {
177
- program.clear();
178
- program.exitFullscreen();
138
+ program.teardown();
179
139
  });
180
140
  if (opts.quitChar) {
181
- program.key(opts.quitChar, () => {
141
+ screen.key(opts.quitChar, () => {
182
142
  screen.exit();
183
143
  });
184
144
  }
185
- program.startInput(screen);
186
145
  screen.start();
187
146
  return [screen, program, rootView];
188
147
  }
189
- constructor(program, rootView) {
148
+ constructor(program, rootView, { isFocused = true } = {}) {
190
149
  this.#program = program;
191
150
  this.#buffer = new Buffer();
192
151
  this.rootView = rootView;
193
- Object.defineProperty(this, 'program', {
194
- enumerable: false,
195
- });
152
+ this.#isFocused = isFocused;
196
153
  }
197
154
  onExit(callback) {
198
155
  if (this.#onExit) {
@@ -206,6 +163,16 @@ export class Screen {
206
163
  this.#onExit = callback;
207
164
  }
208
165
  }
166
+ /**
167
+ * Register a key binding on the screen.
168
+ * Pattern: 'escape', 'C-c', 'C-q', 'return', etc.
169
+ */
170
+ key(pattern, fn) {
171
+ const patterns = Array.isArray(pattern) ? pattern : [pattern];
172
+ for (const p of patterns) {
173
+ this.#keyListeners.push({ pattern: p, fn });
174
+ }
175
+ }
209
176
  /**
210
177
  * Called from Screen.start(). Don't call this yourself unless you wanted
211
178
  * to construct your own 'program'. I recommend starting with a
@@ -213,6 +180,19 @@ export class Screen {
213
180
  */
214
181
  start() {
215
182
  this.rootView.moveToScreen(this);
183
+ this.#cleanupEvents = this.#program.onEvents(event => {
184
+ if (event.type === 'key') {
185
+ for (const { pattern, fn } of this.#keyListeners) {
186
+ if (matchKeyPattern(pattern, event)) {
187
+ fn(event.char, event);
188
+ }
189
+ }
190
+ }
191
+ this.trigger(event);
192
+ });
193
+ this.#cleanupResize = this.#program.onResize(() => {
194
+ this.trigger({ type: 'resize' });
195
+ });
216
196
  this.render();
217
197
  }
218
198
  /**
@@ -221,7 +201,10 @@ export class Screen {
221
201
  stop() {
222
202
  this.#tickManager.stop();
223
203
  this.rootView.moveToScreen(undefined);
224
- this.#program.stopInput();
204
+ this.#cleanupEvents?.();
205
+ this.#cleanupResize?.();
206
+ this.#cleanupEvents = undefined;
207
+ this.#cleanupResize = undefined;
225
208
  this.#onExit?.();
226
209
  }
227
210
  /**
@@ -275,11 +258,26 @@ export class Screen {
275
258
  requestFocus(view) {
276
259
  return this.#focusManager.requestFocus(view);
277
260
  }
278
- nextFocus() {
279
- this.#focusManager.nextFocus();
261
+ get currentFocusView() {
262
+ return this.#focusManager.currentFocusView;
263
+ }
264
+ get hotKeyViews() {
265
+ return this.#focusManager.hotKeyViews;
266
+ }
267
+ /**
268
+ * Subscribe to a screen event. Returns an unsubscribe function.
269
+ */
270
+ on(event, listener) {
271
+ this.#eventListeners[event].add(listener);
272
+ return () => {
273
+ this.#eventListeners[event].delete(listener);
274
+ };
280
275
  }
281
- prevFocus() {
282
- this.#focusManager.prevFocus();
276
+ #emit(event, ...args) {
277
+ for (const listener of this.#eventListeners[event]) {
278
+ ;
279
+ listener(...args);
280
+ }
283
281
  }
284
282
  triggerKeyboard(event) {
285
283
  event = translateKeyEvent(event);
@@ -304,12 +302,24 @@ export class Screen {
304
302
  registerTick(view) {
305
303
  this.#tickManager.registerTick(view);
306
304
  }
307
- triggerTick(dt) { }
305
+ /**
306
+ * Manually advance tick animations by `dt` milliseconds.
307
+ * Useful for testing animations without real timers.
308
+ */
309
+ tick(dt) {
310
+ this.#tickManager.triggerTick(dt);
311
+ }
308
312
  preRender(view) {
313
+ if (this.#focusManager.determineFocus()) {
314
+ this.#emit('focusChange', this.#focusManager.currentFocusView);
315
+ }
309
316
  this.#modalManager.reset();
310
317
  this.#tickManager.reset();
311
318
  this.#mouseManager.reset();
312
319
  this.#focusManager.reset(view === this.rootView);
320
+ if (!this.#isFocused) {
321
+ this.#focusManager.unfocus();
322
+ }
313
323
  }
314
324
  /**
315
325
  * @return boolean Whether or not to rerender the view due to focus or mouse change
@@ -318,6 +328,9 @@ export class Screen {
318
328
  const system = new UnboundSystem(this.#focusManager);
319
329
  const focusNeedsRender = this.#focusManager.commit();
320
330
  const mouseNeedsRender = this.#mouseManager.commit(system);
331
+ if (focusNeedsRender) {
332
+ this.#emit('focusChange', this.#focusManager.currentFocusView);
333
+ }
321
334
  return focusNeedsRender || mouseNeedsRender;
322
335
  }
323
336
  needsRender() {
@@ -328,8 +341,7 @@ export class Screen {
328
341
  this.#buffer.resize(screenSize);
329
342
  // this may be called again by renderModals, before the last modal renders
330
343
  this.preRender(this.rootView);
331
- const size = this.rootView.naturalSize(screenSize).max(screenSize);
332
- const viewport = new Viewport(this, this.#buffer, size);
344
+ const viewport = new Viewport(this, this.#buffer, screenSize);
333
345
  this.rootView.render(viewport);
334
346
  const rerenderView = this.#modalManager.renderModals(this, viewport);
335
347
  const needsRerender = this.commit();
@@ -356,7 +368,7 @@ function translateKeyEvent(event) {
356
368
  name: 'left',
357
369
  ctrl: false,
358
370
  alt: true,
359
- meta: false,
371
+ gui: false,
360
372
  shift: false,
361
373
  char: '1;9D',
362
374
  };
@@ -368,7 +380,7 @@ function translateKeyEvent(event) {
368
380
  name: 'right',
369
381
  ctrl: false,
370
382
  alt: true,
371
- meta: false,
383
+ gui: false,
372
384
  shift: false,
373
385
  char: '1;9C',
374
386
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Screen.js","sourceRoot":"","sources":["../lib/Screen.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Screen.js","sourceRoot":"","sources":["../lib/Screen.ts"],"names":[],"mappings":"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"}
package/.dist/Style.js CHANGED
@@ -71,16 +71,17 @@ export class Style {
71
71
  });
72
72
  }
73
73
  isEqual(style) {
74
- return (this.underline === style.underline &&
75
- this.inverse === style.inverse &&
76
- this.bold === style.bold &&
77
- this.dim === style.dim &&
78
- this.italic === style.italic &&
79
- this.strikeout === style.strikeout &&
80
- this.blink === style.blink &&
81
- this.invisible === style.invisible &&
82
- this.foreground === style.foreground &&
83
- this.background === style.background);
74
+ return (this === style ||
75
+ (this.underline === style.underline &&
76
+ this.inverse === style.inverse &&
77
+ this.bold === style.bold &&
78
+ this.dim === style.dim &&
79
+ this.italic === style.italic &&
80
+ this.strikeout === style.strikeout &&
81
+ this.blink === style.blink &&
82
+ this.invisible === style.invisible &&
83
+ this.foreground === style.foreground &&
84
+ this.background === style.background));
84
85
  }
85
86
  /**
86
87
  * @return a more easily debuggable object
@@ -1 +1 @@
1
- {"version":3,"file":"Style.js","sourceRoot":"","sources":["../lib/Style.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Style.js","sourceRoot":"","sources":["../lib/Style.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import type { Program } from './types.js';
2
+ import type { SystemEvent } from './events/index.js';
3
+ import { TestTerminal } from './TestTerminal.js';
4
+ /**
5
+ * A headless Program for testing. Wraps a TestTerminal for output assertions,
6
+ * and allows pushing events programmatically via sendEvent().
7
+ */
8
+ export declare class TestProgram implements Program {
9
+ #private;
10
+ constructor({ cols, rows }: {
11
+ cols: number;
12
+ rows: number;
13
+ });
14
+ get terminal(): TestTerminal;
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
+ /**
25
+ * Push a system event into the Screen's event pipeline.
26
+ */
27
+ sendEvent(event: SystemEvent): void;
28
+ }