@code-yeongyu/senpi-tui 2026.9.12-3 → 2026.9.12
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/README.md +4 -53
- package/dist/alt-screen-search.d.ts +1 -21
- package/dist/alt-screen-search.d.ts.map +1 -1
- package/dist/alt-screen-search.js +42 -199
- package/dist/alt-screen-search.js.map +1 -1
- package/dist/components/box.d.ts +1 -3
- package/dist/components/box.d.ts.map +1 -1
- package/dist/components/box.js +0 -28
- package/dist/components/box.js.map +1 -1
- package/dist/components/editor.d.ts +1 -6
- package/dist/components/editor.d.ts.map +1 -1
- package/dist/components/editor.js +18 -98
- package/dist/components/editor.js.map +1 -1
- package/dist/components/input.d.ts +1 -12
- package/dist/components/input.d.ts.map +1 -1
- package/dist/components/input.js +6 -40
- package/dist/components/input.js.map +1 -1
- package/dist/components/latex.d.ts.map +1 -1
- package/dist/components/latex.js +0 -7
- package/dist/components/latex.js.map +1 -1
- package/dist/components/loader.d.ts +0 -3
- package/dist/components/loader.d.ts.map +1 -1
- package/dist/components/loader.js +8 -20
- package/dist/components/loader.js.map +1 -1
- package/dist/components/scroll-view.d.ts +3 -6
- package/dist/components/scroll-view.d.ts.map +1 -1
- package/dist/components/scroll-view.js +1 -6
- package/dist/components/scroll-view.js.map +1 -1
- package/dist/components/select-list.d.ts +1 -4
- package/dist/components/select-list.d.ts.map +1 -1
- package/dist/components/select-list.js +2 -48
- package/dist/components/select-list.js.map +1 -1
- package/dist/components/settings-list.d.ts +1 -5
- package/dist/components/settings-list.d.ts.map +1 -1
- package/dist/components/settings-list.js +5 -54
- package/dist/components/settings-list.js.map +1 -1
- package/dist/index.d.ts +1 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -3
- package/dist/index.js.map +1 -1
- package/dist/layout.d.ts +1 -3
- package/dist/layout.d.ts.map +1 -1
- package/dist/layout.js +9 -32
- package/dist/layout.js.map +1 -1
- package/dist/native-modifiers.d.ts +1 -2
- package/dist/native-modifiers.d.ts.map +1 -1
- package/dist/native-modifiers.js +44 -3
- package/dist/native-modifiers.js.map +1 -1
- package/dist/terminal.d.ts.map +1 -1
- package/dist/terminal.js +20 -2
- package/dist/terminal.js.map +1 -1
- package/dist/tui-alt-screen.d.ts +1 -31
- package/dist/tui-alt-screen.d.ts.map +1 -1
- package/dist/tui-alt-screen.js +41 -335
- package/dist/tui-alt-screen.js.map +1 -1
- package/dist/tui.d.ts +5 -83
- package/dist/tui.d.ts.map +1 -1
- package/dist/tui.js +4 -118
- package/dist/tui.js.map +1 -1
- package/dist/utils.d.ts +0 -2
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +0 -9
- package/dist/utils.js.map +1 -1
- package/native/darwin/README.md +6 -8
- package/native/darwin/build.sh +5 -12
- package/native/darwin/prebuilds/darwin-arm64/{darwin-platform.node → darwin-modifiers.node} +0 -0
- package/native/darwin/prebuilds/darwin-x64/{darwin-platform.node → darwin-modifiers.node} +0 -0
- package/native/darwin/src/darwin-modifiers.c +70 -0
- package/native/win32/README.md +7 -18
- package/native/win32/build.mjs +4 -7
- package/native/win32/prebuilds/win32-arm64/win32-console-mode.node +0 -0
- package/native/win32/prebuilds/win32-x64/win32-console-mode.node +0 -0
- package/native/win32/src/win32-console-mode.c +119 -0
- package/package.json +3 -10
- package/dist/components/mouse-region.d.ts +0 -12
- package/dist/components/mouse-region.d.ts.map +0 -1
- package/dist/components/mouse-region.js +0 -19
- package/dist/components/mouse-region.js.map +0 -1
- package/dist/native-platform.d.ts +0 -18
- package/dist/native-platform.d.ts.map +0 -1
- package/dist/native-platform.js +0 -42
- package/dist/native-platform.js.map +0 -1
- package/native/clipboard.h +0 -170
- package/native/darwin/src/darwin-platform.m +0 -93
- package/native/linux/README.md +0 -23
- package/native/linux/build.sh +0 -65
- package/native/linux/prebuilds/linux-arm64/linux-platform-x11.node +0 -0
- package/native/linux/prebuilds/linux-x64/linux-platform-x11.node +0 -0
- package/native/linux/src/clipboard-worker.h +0 -70
- package/native/linux/src/linux-platform-x11.c +0 -274
- package/native/napi.h +0 -89
- package/native/win32/prebuilds/win32-arm64/win32-platform.node +0 -0
- package/native/win32/prebuilds/win32-x64/win32-platform.node +0 -0
- package/native/win32/src/win32-platform.c +0 -241
package/dist/tui.d.ts
CHANGED
|
@@ -7,64 +7,6 @@ import { visibleWidth } from "./utils.ts";
|
|
|
7
7
|
/**
|
|
8
8
|
* Component interface - all components must implement this
|
|
9
9
|
*/
|
|
10
|
-
export type TuiMouseEventType = "press" | "release" | "move" | "drag" | "click" | "wheel";
|
|
11
|
-
export type TuiMouseButton = "left" | "middle" | "right" | "none";
|
|
12
|
-
/** Normalized cell-based mouse event. Coordinates are zero-based. */
|
|
13
|
-
export interface TuiMouseEvent {
|
|
14
|
-
type: TuiMouseEventType;
|
|
15
|
-
button: TuiMouseButton;
|
|
16
|
-
/** Coordinates local to the receiving component. */
|
|
17
|
-
x: number;
|
|
18
|
-
y: number;
|
|
19
|
-
/** Absolute terminal coordinates. */
|
|
20
|
-
screenX: number;
|
|
21
|
-
screenY: number;
|
|
22
|
-
/** Current component bounds. */
|
|
23
|
-
width: number;
|
|
24
|
-
height: number;
|
|
25
|
-
shift: boolean;
|
|
26
|
-
alt: boolean;
|
|
27
|
-
ctrl: boolean;
|
|
28
|
-
/** Logical lines. Negative values scroll up. */
|
|
29
|
-
wheelDelta?: number;
|
|
30
|
-
/** Consecutive click count when type is click. */
|
|
31
|
-
clickCount?: number;
|
|
32
|
-
}
|
|
33
|
-
export interface TuiMouseEventResult {
|
|
34
|
-
/** Stop propagation and suppress renderer-level fallback behavior. */
|
|
35
|
-
handled?: boolean;
|
|
36
|
-
/** Route subsequent drag/release events to this component. Implies handled. */
|
|
37
|
-
capture?: boolean;
|
|
38
|
-
/** Give keyboard focus to this component. Implies handled. */
|
|
39
|
-
focus?: boolean;
|
|
40
|
-
/**
|
|
41
|
-
* Explicitly request or suppress a render. Move and release default to false;
|
|
42
|
-
* press, click, drag, and wheel default to true.
|
|
43
|
-
*/
|
|
44
|
-
render?: boolean;
|
|
45
|
-
}
|
|
46
|
-
/** Internal target metadata used by containers and alternate-screen dispatch. */
|
|
47
|
-
export interface TuiMouseDispatchTarget {
|
|
48
|
-
component: Component;
|
|
49
|
-
originX: number;
|
|
50
|
-
originY: number;
|
|
51
|
-
width: number;
|
|
52
|
-
height: number;
|
|
53
|
-
}
|
|
54
|
-
/** Result of dispatching to a concrete component. */
|
|
55
|
-
export interface TuiMouseDispatchResult extends TuiMouseEventResult {
|
|
56
|
-
handled: true;
|
|
57
|
-
target: TuiMouseDispatchTarget;
|
|
58
|
-
/** Keyboard focus target, which may be a delegating parent container. */
|
|
59
|
-
focusTarget?: Component;
|
|
60
|
-
}
|
|
61
|
-
/**
|
|
62
|
-
* Dispatch an event to a component and retain the exact target and coordinate
|
|
63
|
-
* transform. Containers use this when forwarding events to nested children.
|
|
64
|
-
*/
|
|
65
|
-
export declare function dispatchMouseEvent(component: Component, event: TuiMouseEvent): TuiMouseDispatchResult | undefined;
|
|
66
|
-
/** Recreate local coordinates for a previously dispatched mouse target. */
|
|
67
|
-
export declare function retargetMouseEvent(event: TuiMouseEvent, target: TuiMouseDispatchTarget): TuiMouseEvent;
|
|
68
10
|
export interface Component {
|
|
69
11
|
/**
|
|
70
12
|
* Render the component to lines for the given viewport width
|
|
@@ -72,10 +14,10 @@ export interface Component {
|
|
|
72
14
|
* @returns Array of strings, each representing a line
|
|
73
15
|
*/
|
|
74
16
|
render(width: number): string[];
|
|
75
|
-
/**
|
|
17
|
+
/**
|
|
18
|
+
* Optional handler for keyboard input when component has focus
|
|
19
|
+
*/
|
|
76
20
|
handleInput?(data: string): void;
|
|
77
|
-
/** Optional normalized mouse handler. */
|
|
78
|
-
handleMouse?(event: TuiMouseEvent): TuiMouseEventResult | undefined;
|
|
79
21
|
/**
|
|
80
22
|
* If true, component receives key release events (Kitty protocol).
|
|
81
23
|
* Default is false - release events are filtered out.
|
|
@@ -181,13 +123,6 @@ export interface OverlayUnfocusOptions {
|
|
|
181
123
|
/** Explicit target to focus after releasing this overlay. */
|
|
182
124
|
target: Component | null;
|
|
183
125
|
}
|
|
184
|
-
/** Last rendered terminal-relative overlay rectangle. */
|
|
185
|
-
export interface OverlayBounds {
|
|
186
|
-
row: number;
|
|
187
|
-
col: number;
|
|
188
|
-
width: number;
|
|
189
|
-
height: number;
|
|
190
|
-
}
|
|
191
126
|
/**
|
|
192
127
|
* Handle returned by showOverlay for controlling the overlay
|
|
193
128
|
*/
|
|
@@ -204,8 +139,6 @@ export interface OverlayHandle {
|
|
|
204
139
|
unfocus(options?: OverlayUnfocusOptions): void;
|
|
205
140
|
/** Check if this overlay currently has focus */
|
|
206
141
|
isFocused(): boolean;
|
|
207
|
-
/** Get the most recent rendered bounds for a visible overlay. */
|
|
208
|
-
getBounds(): OverlayBounds | undefined;
|
|
209
142
|
}
|
|
210
143
|
type TuiConstructorOptions = {
|
|
211
144
|
showHardwareCursor?: boolean;
|
|
@@ -217,7 +150,6 @@ type TuiConstructorOptions = {
|
|
|
217
150
|
export declare class Container implements Component {
|
|
218
151
|
children: Component[];
|
|
219
152
|
private disposed;
|
|
220
|
-
private mouseLayout?;
|
|
221
153
|
addChild(component: Component): void;
|
|
222
154
|
removeChild(component: Component): void;
|
|
223
155
|
detachChild(component: Component): void;
|
|
@@ -225,7 +157,6 @@ export declare class Container implements Component {
|
|
|
225
157
|
detachAll(): void;
|
|
226
158
|
dispose(): void;
|
|
227
159
|
invalidate(): void;
|
|
228
|
-
handleMouse(event: TuiMouseEvent): TuiMouseDispatchResult | undefined;
|
|
229
160
|
render(width: number): string[];
|
|
230
161
|
}
|
|
231
162
|
/** Composite overlay content into a terminal line at a fixed column. */
|
|
@@ -280,11 +211,9 @@ export declare abstract class TuiBase extends Container {
|
|
|
280
211
|
private pendingOsc11BackgroundQueries;
|
|
281
212
|
private terminalColorSchemeListeners;
|
|
282
213
|
private terminalColorSchemeNotificationsEnabled;
|
|
283
|
-
/** Directory for debug/crash logs. The fork keeps a concrete default (`~/.senpi/agent`) so PI_DEBUG_REDRAW and crash dumps stay in the agent directory. */
|
|
284
214
|
protected readonly logDirectory: string;
|
|
285
215
|
private focusOrderCounter;
|
|
286
216
|
private overlayStack;
|
|
287
|
-
private renderedOverlayLayouts;
|
|
288
217
|
get hasOverlayEntries(): boolean;
|
|
289
218
|
private overlayFocusRestore;
|
|
290
219
|
constructor(terminal: Terminal, options?: boolean | TuiConstructorOptions, logDirectory?: string);
|
|
@@ -300,8 +229,8 @@ export declare abstract class TuiBase extends Container {
|
|
|
300
229
|
getClearOnShrink(): boolean;
|
|
301
230
|
/**
|
|
302
231
|
* Set whether to trigger full re-render when content shrinks.
|
|
303
|
-
* When true, empty rows are cleared when content shrinks.
|
|
304
|
-
* When false
|
|
232
|
+
* When true (default), empty rows are cleared when content shrinks.
|
|
233
|
+
* When false, empty rows remain (reduces redraws on slower terminals).
|
|
305
234
|
*/
|
|
306
235
|
setClearOnShrink(enabled: boolean): void;
|
|
307
236
|
getFocusedComponent(): Component | null;
|
|
@@ -327,13 +256,6 @@ export declare abstract class TuiBase extends Container {
|
|
|
327
256
|
hasOverlay(): boolean;
|
|
328
257
|
/** Check if the focused component is a visible overlay */
|
|
329
258
|
protected isOverlayFocused(): boolean;
|
|
330
|
-
/** Keep overlay containers as keyboard focus owners when a nested control is clicked. */
|
|
331
|
-
protected resolveMouseFocusTarget(component: Component): Component;
|
|
332
|
-
/** Dispatch to the visually topmost overlay under the pointer. */
|
|
333
|
-
protected dispatchMouseToOverlay(event: TuiMouseEvent): {
|
|
334
|
-
hit: boolean;
|
|
335
|
-
result?: TuiMouseDispatchResult;
|
|
336
|
-
};
|
|
337
259
|
/** Check if an overlay entry is currently visible */
|
|
338
260
|
private isOverlayVisible;
|
|
339
261
|
/** Find the visual-frontmost visible capturing overlay, if any */
|
package/dist/tui.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tui.d.ts","sourceRoot":"","sources":["../src/tui.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tui.d.ts","sourceRoot":"","sources":["../src/tui.ts"],"names":[],"mappings":"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"}
|
package/dist/tui.js
CHANGED
|
@@ -60,41 +60,6 @@ function extractKittyImageRows(line) {
|
|
|
60
60
|
function isTermuxSession() {
|
|
61
61
|
return Boolean(process.env.TERMUX_VERSION);
|
|
62
62
|
}
|
|
63
|
-
/**
|
|
64
|
-
* Dispatch an event to a component and retain the exact target and coordinate
|
|
65
|
-
* transform. Containers use this when forwarding events to nested children.
|
|
66
|
-
*/
|
|
67
|
-
export function dispatchMouseEvent(component, event) {
|
|
68
|
-
const result = component.handleMouse?.(event);
|
|
69
|
-
if (!result)
|
|
70
|
-
return undefined;
|
|
71
|
-
if ("target" in result)
|
|
72
|
-
return result;
|
|
73
|
-
if (!result.handled && !result.capture && !result.focus)
|
|
74
|
-
return undefined;
|
|
75
|
-
return {
|
|
76
|
-
...result,
|
|
77
|
-
handled: true,
|
|
78
|
-
...(result.focus ? { focusTarget: component } : {}),
|
|
79
|
-
target: {
|
|
80
|
-
component,
|
|
81
|
-
originX: event.screenX - event.x,
|
|
82
|
-
originY: event.screenY - event.y,
|
|
83
|
-
width: event.width,
|
|
84
|
-
height: event.height,
|
|
85
|
-
},
|
|
86
|
-
};
|
|
87
|
-
}
|
|
88
|
-
/** Recreate local coordinates for a previously dispatched mouse target. */
|
|
89
|
-
export function retargetMouseEvent(event, target) {
|
|
90
|
-
return {
|
|
91
|
-
...event,
|
|
92
|
-
x: event.screenX - target.originX,
|
|
93
|
-
y: event.screenY - target.originY,
|
|
94
|
-
width: target.width,
|
|
95
|
-
height: target.height,
|
|
96
|
-
};
|
|
97
|
-
}
|
|
98
63
|
/** Type guard to check if a component implements Focusable */
|
|
99
64
|
export function isFocusable(component) {
|
|
100
65
|
return component !== null && "focused" in component;
|
|
@@ -285,31 +250,8 @@ export class Container {
|
|
|
285
250
|
child.invalidate?.();
|
|
286
251
|
}
|
|
287
252
|
}
|
|
288
|
-
handleMouse(event) {
|
|
289
|
-
if (event.y < 0 || event.y >= event.height)
|
|
290
|
-
return undefined;
|
|
291
|
-
const mouseChildren = this.mouseLayout?.width === event.width
|
|
292
|
-
? this.mouseLayout.children
|
|
293
|
-
: this.children.map((component) => ({ component, height: component.render(event.width).length }));
|
|
294
|
-
let childY = 0;
|
|
295
|
-
for (const { component: child, height: childHeight } of mouseChildren) {
|
|
296
|
-
if (event.y >= childY && event.y < childY + childHeight) {
|
|
297
|
-
const result = dispatchMouseEvent(child, {
|
|
298
|
-
...event,
|
|
299
|
-
y: event.y - childY,
|
|
300
|
-
height: childHeight,
|
|
301
|
-
});
|
|
302
|
-
if (result?.focus && this.handleInput)
|
|
303
|
-
return { ...result, focusTarget: this };
|
|
304
|
-
return result;
|
|
305
|
-
}
|
|
306
|
-
childY += childHeight;
|
|
307
|
-
}
|
|
308
|
-
return undefined;
|
|
309
|
-
}
|
|
310
253
|
render(width) {
|
|
311
254
|
const lines = [];
|
|
312
|
-
const mouseChildren = [];
|
|
313
255
|
for (const child of this.children) {
|
|
314
256
|
let childLines;
|
|
315
257
|
try {
|
|
@@ -321,12 +263,10 @@ export class Container {
|
|
|
321
263
|
// Focus ownership stays unchanged; render containment must not steal or clear focus implicitly.
|
|
322
264
|
childLines = [`[render error: ${componentName}]`];
|
|
323
265
|
}
|
|
324
|
-
mouseChildren.push({ component: child, height: childLines.length });
|
|
325
266
|
for (const line of childLines) {
|
|
326
267
|
lines.push(line);
|
|
327
268
|
}
|
|
328
269
|
}
|
|
329
|
-
this.mouseLayout = { width, children: mouseChildren };
|
|
330
270
|
return lines;
|
|
331
271
|
}
|
|
332
272
|
}
|
|
@@ -412,7 +352,6 @@ export class TuiBase extends Container {
|
|
|
412
352
|
// Overlay stack for modal components rendered on top of base content
|
|
413
353
|
this.focusOrderCounter = 0;
|
|
414
354
|
this.overlayStack = [];
|
|
415
|
-
this.renderedOverlayLayouts = [];
|
|
416
355
|
this.overlayFocusRestore = { status: "inactive" };
|
|
417
356
|
this.terminal = terminal;
|
|
418
357
|
// Preserve existing positional boolean callers while allowing explicit render-policy overrides.
|
|
@@ -448,8 +387,8 @@ export class TuiBase extends Container {
|
|
|
448
387
|
}
|
|
449
388
|
/**
|
|
450
389
|
* Set whether to trigger full re-render when content shrinks.
|
|
451
|
-
* When true, empty rows are cleared when content shrinks.
|
|
452
|
-
* When false
|
|
390
|
+
* When true (default), empty rows are cleared when content shrinks.
|
|
391
|
+
* When false, empty rows remain (reduces redraws on slower terminals).
|
|
453
392
|
*/
|
|
454
393
|
setClearOnShrink(enabled) {
|
|
455
394
|
this.clearOnShrink = enabled;
|
|
@@ -669,11 +608,6 @@ export class TuiBase extends Container {
|
|
|
669
608
|
this.requestRender();
|
|
670
609
|
},
|
|
671
610
|
isFocused: () => this.focusedComponent === component,
|
|
672
|
-
getBounds: () => {
|
|
673
|
-
if (!this.overlayStack.includes(entry) || !this.isOverlayVisible(entry) || !entry.bounds)
|
|
674
|
-
return undefined;
|
|
675
|
-
return { ...entry.bounds };
|
|
676
|
-
},
|
|
677
611
|
};
|
|
678
612
|
}
|
|
679
613
|
/** Hide the topmost overlay and restore previous focus. */
|
|
@@ -701,42 +635,6 @@ export class TuiBase extends Container {
|
|
|
701
635
|
isOverlayFocused() {
|
|
702
636
|
return this.overlayStack.some((entry) => entry.component === this.focusedComponent && this.isOverlayVisible(entry));
|
|
703
637
|
}
|
|
704
|
-
/** Keep overlay containers as keyboard focus owners when a nested control is clicked. */
|
|
705
|
-
resolveMouseFocusTarget(component) {
|
|
706
|
-
for (let index = this.overlayStack.length - 1; index >= 0; index--) {
|
|
707
|
-
const overlay = this.overlayStack[index];
|
|
708
|
-
if (this.isOverlayVisible(overlay) && this.containsComponent(overlay.component, component)) {
|
|
709
|
-
return overlay.component;
|
|
710
|
-
}
|
|
711
|
-
}
|
|
712
|
-
return component;
|
|
713
|
-
}
|
|
714
|
-
/** Dispatch to the visually topmost overlay under the pointer. */
|
|
715
|
-
dispatchMouseToOverlay(event) {
|
|
716
|
-
for (let index = this.renderedOverlayLayouts.length - 1; index >= 0; index--) {
|
|
717
|
-
const layout = this.renderedOverlayLayouts[index];
|
|
718
|
-
if (event.screenX < layout.col ||
|
|
719
|
-
event.screenX >= layout.col + layout.width ||
|
|
720
|
-
event.screenY < layout.row ||
|
|
721
|
-
event.screenY >= layout.row + layout.height) {
|
|
722
|
-
continue;
|
|
723
|
-
}
|
|
724
|
-
const result = dispatchMouseEvent(layout.entry.component, {
|
|
725
|
-
...event,
|
|
726
|
-
x: event.screenX - layout.col,
|
|
727
|
-
y: event.screenY - layout.row,
|
|
728
|
-
width: layout.width,
|
|
729
|
-
height: layout.height,
|
|
730
|
-
});
|
|
731
|
-
return result
|
|
732
|
-
? {
|
|
733
|
-
hit: true,
|
|
734
|
-
result: result.focus ? { ...result, focusTarget: layout.entry.component } : result,
|
|
735
|
-
}
|
|
736
|
-
: { hit: true };
|
|
737
|
-
}
|
|
738
|
-
return { hit: false };
|
|
739
|
-
}
|
|
740
638
|
/** Check if an overlay entry is currently visible */
|
|
741
639
|
isOverlayVisible(entry) {
|
|
742
640
|
if (entry.hidden)
|
|
@@ -1231,13 +1129,9 @@ export class TuiBase extends Container {
|
|
|
1231
1129
|
}
|
|
1232
1130
|
/** Composite all overlays into content lines (sorted by focusOrder, higher = on top). */
|
|
1233
1131
|
compositeOverlays(lines, termWidth, termHeight) {
|
|
1234
|
-
if (this.overlayStack.length === 0)
|
|
1235
|
-
this.renderedOverlayLayouts = [];
|
|
1132
|
+
if (this.overlayStack.length === 0)
|
|
1236
1133
|
return lines;
|
|
1237
|
-
}
|
|
1238
1134
|
const result = [...lines];
|
|
1239
|
-
for (const entry of this.overlayStack)
|
|
1240
|
-
entry.bounds = undefined;
|
|
1241
1135
|
// Pre-render all visible overlays and calculate positions
|
|
1242
1136
|
const rendered = [];
|
|
1243
1137
|
let minLinesNeeded = result.length;
|
|
@@ -1256,17 +1150,9 @@ export class TuiBase extends Container {
|
|
|
1256
1150
|
}
|
|
1257
1151
|
// Get final row/col with actual overlay height
|
|
1258
1152
|
const { row, col } = this.resolveOverlayLayout(options, overlayLines.length, termWidth, termHeight);
|
|
1259
|
-
|
|
1260
|
-
rendered.push({ entry, overlayLines, row, col, w: width });
|
|
1153
|
+
rendered.push({ overlayLines, row, col, w: width });
|
|
1261
1154
|
minLinesNeeded = Math.max(minLinesNeeded, row + overlayLines.length);
|
|
1262
1155
|
}
|
|
1263
|
-
this.renderedOverlayLayouts = rendered.map(({ entry, row, col, w, overlayLines }) => ({
|
|
1264
|
-
entry,
|
|
1265
|
-
row,
|
|
1266
|
-
col,
|
|
1267
|
-
width: w,
|
|
1268
|
-
height: overlayLines.length,
|
|
1269
|
-
}));
|
|
1270
1156
|
// Pad to at least terminal height so overlays have screen-relative positions.
|
|
1271
1157
|
// Excludes maxLinesRendered: the historical high-water mark caused self-reinforcing
|
|
1272
1158
|
// inflation that pushed content into scrollback on terminal widen.
|