@opentui/core 0.1.14 → 0.1.16
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/3d.js +3 -3
- package/3d.js.map +3 -3
- package/Renderable.d.ts +20 -9
- package/buffer.d.ts +5 -27
- package/console.d.ts +1 -1
- package/{index-rv93tneq.js → index-sw194bbj.js} +489 -766
- package/index-sw194bbj.js.map +36 -0
- package/index.js +856 -47
- package/index.js.map +8 -5
- package/lib/selection.d.ts +31 -38
- package/lib/styled-text.d.ts +0 -3
- package/package.json +7 -7
- package/renderables/ASCIIFont.d.ts +4 -2
- package/renderables/ScrollBar.d.ts +77 -0
- package/renderables/ScrollBox.d.ts +82 -0
- package/renderables/Slider.d.ts +31 -0
- package/renderables/Text.d.ts +9 -5
- package/renderables/index.d.ts +2 -0
- package/renderer.d.ts +8 -5
- package/text-buffer.d.ts +9 -10
- package/types.d.ts +23 -12
- package/zig.d.ts +13 -23
- package/index-rv93tneq.js.map +0 -36
package/Renderable.d.ts
CHANGED
|
@@ -5,8 +5,10 @@ import { TrackedNode } from "./lib/TrackedNode";
|
|
|
5
5
|
import type { ParsedKey } from "./lib/parse.keypress";
|
|
6
6
|
import { type AlignString, type FlexDirectionString, type JustifyString, type OverflowString, type PositionTypeString, type WrapString } from "./lib/yoga.options";
|
|
7
7
|
import type { MouseEvent } from "./renderer";
|
|
8
|
-
import type { RenderContext,
|
|
8
|
+
import type { RenderContext, ViewportBounds } from "./types";
|
|
9
9
|
import { type VNode } from "./renderables/composition/vnode";
|
|
10
|
+
import type { Selection } from "./lib/selection";
|
|
11
|
+
declare const BrandedRenderable: unique symbol;
|
|
10
12
|
export declare enum LayoutEvents {
|
|
11
13
|
LAYOUT_CHANGED = "layout-changed",
|
|
12
14
|
ADDED = "added",
|
|
@@ -75,6 +77,7 @@ export interface RenderableOptions<T extends Renderable = Renderable> extends Pa
|
|
|
75
77
|
onMouseOut?: (this: T, event: MouseEvent) => void;
|
|
76
78
|
onMouseScroll?: (this: T, event: MouseEvent) => void;
|
|
77
79
|
onKeyDown?: (key: ParsedKey) => void;
|
|
80
|
+
onSizeChange?: (this: T) => void;
|
|
78
81
|
}
|
|
79
82
|
export declare function isValidPercentage(value: any): value is `${number}%`;
|
|
80
83
|
export declare function isMarginType(value: any): value is number | "auto" | `${number}%`;
|
|
@@ -85,7 +88,9 @@ export declare function isOverflowType(value: any): value is OverflowString;
|
|
|
85
88
|
export declare function isDimensionType(value: any): value is number | "auto" | `${number}%`;
|
|
86
89
|
export declare function isFlexBasisType(value: any): value is number | "auto" | undefined;
|
|
87
90
|
export declare function isSizeType(value: any): value is number | `${number}%` | undefined;
|
|
91
|
+
export declare function isRenderable(obj: any): obj is Renderable;
|
|
88
92
|
export declare abstract class Renderable extends EventEmitter {
|
|
93
|
+
[BrandedRenderable]: boolean;
|
|
89
94
|
private static renderableNumber;
|
|
90
95
|
static renderablesByNumber: Map<number, Renderable>;
|
|
91
96
|
readonly id: string;
|
|
@@ -111,6 +116,7 @@ export declare abstract class Renderable extends EventEmitter {
|
|
|
111
116
|
protected keypressHandler: ((key: ParsedKey) => void) | null;
|
|
112
117
|
private _live;
|
|
113
118
|
protected _liveCount: number;
|
|
119
|
+
private _sizeChangeListener;
|
|
114
120
|
private _mouseListener;
|
|
115
121
|
private _mouseListeners;
|
|
116
122
|
private _keyListeners;
|
|
@@ -118,11 +124,12 @@ export declare abstract class Renderable extends EventEmitter {
|
|
|
118
124
|
protected _positionType: PositionTypeString;
|
|
119
125
|
protected _overflow: OverflowString;
|
|
120
126
|
protected _position: Position;
|
|
121
|
-
private _childHostOverride;
|
|
122
127
|
private renderableMap;
|
|
123
|
-
|
|
128
|
+
protected renderableArray: Renderable[];
|
|
124
129
|
private needsZIndexSort;
|
|
125
130
|
parent: Renderable | null;
|
|
131
|
+
private childrenPrimarySortDirty;
|
|
132
|
+
private childrenSortedByPrimaryAxis;
|
|
126
133
|
renderBefore?: (this: Renderable, buffer: OptimizedBuffer, deltaTime: number) => void;
|
|
127
134
|
renderAfter?: (this: Renderable, buffer: OptimizedBuffer, deltaTime: number) => void;
|
|
128
135
|
constructor(ctx: RenderContext, options: RenderableOptions<any>);
|
|
@@ -130,7 +137,7 @@ export declare abstract class Renderable extends EventEmitter {
|
|
|
130
137
|
get visible(): boolean;
|
|
131
138
|
set visible(value: boolean);
|
|
132
139
|
hasSelection(): boolean;
|
|
133
|
-
onSelectionChanged(selection:
|
|
140
|
+
onSelectionChanged(selection: Selection | null): boolean;
|
|
134
141
|
getSelectedText(): string;
|
|
135
142
|
shouldStartSelection(x: number, y: number): boolean;
|
|
136
143
|
focus(): void;
|
|
@@ -142,10 +149,7 @@ export declare abstract class Renderable extends EventEmitter {
|
|
|
142
149
|
protected propagateLiveCount(delta: number): void;
|
|
143
150
|
handleKeyPress?(key: ParsedKey | string): boolean;
|
|
144
151
|
protected get isDirty(): boolean;
|
|
145
|
-
get childHost(): Renderable;
|
|
146
|
-
set childHost(host: Renderable | null);
|
|
147
152
|
findDescendantById(id: string): Renderable | undefined;
|
|
148
|
-
setChildHostById(id: string): boolean;
|
|
149
153
|
private markClean;
|
|
150
154
|
requestRender(): void;
|
|
151
155
|
get translateX(): number;
|
|
@@ -172,6 +176,8 @@ export declare abstract class Renderable extends EventEmitter {
|
|
|
172
176
|
set zIndex(value: number);
|
|
173
177
|
private requestZIndexSort;
|
|
174
178
|
private ensureZIndexSorted;
|
|
179
|
+
getChildrenInViewport(viewport: ViewportBounds, padding?: number, minTriggerSize?: number): Renderable[];
|
|
180
|
+
protected getChildrenSortedByPrimaryAxis(): Renderable[];
|
|
175
181
|
private setupYogaProperties;
|
|
176
182
|
private setupMarginAndPadding;
|
|
177
183
|
set position(positionType: PositionTypeString);
|
|
@@ -214,8 +220,10 @@ export declare abstract class Renderable extends EventEmitter {
|
|
|
214
220
|
remove(id: string): void;
|
|
215
221
|
protected onRemove(): void;
|
|
216
222
|
getChildren(): Renderable[];
|
|
223
|
+
getChildrenCount(): number;
|
|
217
224
|
render(buffer: OptimizedBuffer, deltaTime: number): void;
|
|
218
|
-
protected
|
|
225
|
+
protected _getChildren(): Renderable[];
|
|
226
|
+
protected onUpdate(deltaTime: number): void;
|
|
219
227
|
protected getScissorRect(): {
|
|
220
228
|
x: number;
|
|
221
229
|
y: number;
|
|
@@ -240,6 +248,8 @@ export declare abstract class Renderable extends EventEmitter {
|
|
|
240
248
|
set onMouseScroll(handler: ((event: MouseEvent) => void) | undefined);
|
|
241
249
|
set onKeyDown(handler: ((key: ParsedKey) => void) | undefined);
|
|
242
250
|
get onKeyDown(): ((key: ParsedKey) => void) | undefined;
|
|
251
|
+
set onSizeChange(handler: (() => void) | undefined);
|
|
252
|
+
get onSizeChange(): (() => void) | undefined;
|
|
243
253
|
private applyEventOptions;
|
|
244
254
|
}
|
|
245
255
|
export declare class RootRenderable extends Renderable {
|
|
@@ -248,6 +258,7 @@ export declare class RootRenderable extends Renderable {
|
|
|
248
258
|
protected propagateLiveCount(delta: number): void;
|
|
249
259
|
calculateLayout(): void;
|
|
250
260
|
resize(width: number, height: number): void;
|
|
251
|
-
protected
|
|
261
|
+
protected onUpdate(): void;
|
|
252
262
|
protected destroySelf(): void;
|
|
253
263
|
}
|
|
264
|
+
export {};
|
package/buffer.d.ts
CHANGED
|
@@ -9,18 +9,18 @@ export declare class OptimizedBuffer {
|
|
|
9
9
|
id: string;
|
|
10
10
|
lib: RenderLib;
|
|
11
11
|
private bufferPtr;
|
|
12
|
-
private buffer;
|
|
13
12
|
private _width;
|
|
14
13
|
private _height;
|
|
15
14
|
respectAlpha: boolean;
|
|
16
|
-
private
|
|
15
|
+
private _rawBuffers;
|
|
17
16
|
get ptr(): Pointer;
|
|
18
|
-
|
|
17
|
+
get buffers(): {
|
|
19
18
|
char: Uint32Array;
|
|
20
19
|
fg: Float32Array;
|
|
21
20
|
bg: Float32Array;
|
|
22
21
|
attributes: Uint8Array;
|
|
23
|
-
}
|
|
22
|
+
};
|
|
23
|
+
constructor(lib: RenderLib, ptr: Pointer, width: number, height: number, options: {
|
|
24
24
|
respectAlpha?: boolean;
|
|
25
25
|
id?: string;
|
|
26
26
|
});
|
|
@@ -28,28 +28,14 @@ export declare class OptimizedBuffer {
|
|
|
28
28
|
respectAlpha?: boolean;
|
|
29
29
|
id?: string;
|
|
30
30
|
}): OptimizedBuffer;
|
|
31
|
-
get buffers(): {
|
|
32
|
-
char: Uint32Array;
|
|
33
|
-
fg: Float32Array;
|
|
34
|
-
bg: Float32Array;
|
|
35
|
-
attributes: Uint8Array;
|
|
36
|
-
};
|
|
37
31
|
private coordsToIndex;
|
|
38
32
|
get width(): number;
|
|
39
33
|
get height(): number;
|
|
40
34
|
setRespectAlpha(respectAlpha: boolean): void;
|
|
41
35
|
getNativeId(): string;
|
|
42
|
-
clear(bg?: RGBA
|
|
43
|
-
clearLocal(bg?: RGBA, clearChar?: string): void;
|
|
36
|
+
clear(bg?: RGBA): void;
|
|
44
37
|
setCell(x: number, y: number, char: string, fg: RGBA, bg: RGBA, attributes?: number): void;
|
|
45
|
-
get(x: number, y: number): {
|
|
46
|
-
char: number;
|
|
47
|
-
fg: RGBA;
|
|
48
|
-
bg: RGBA;
|
|
49
|
-
attributes: number;
|
|
50
|
-
} | null;
|
|
51
38
|
setCellWithAlphaBlending(x: number, y: number, char: string, fg: RGBA, bg: RGBA, attributes?: number): void;
|
|
52
|
-
setCellWithAlphaBlendingLocal(x: number, y: number, char: string, fg: RGBA, bg: RGBA, attributes?: number): void;
|
|
53
39
|
drawText(text: string, x: number, y: number, fg: RGBA, bg?: RGBA, attributes?: number, selection?: {
|
|
54
40
|
start: number;
|
|
55
41
|
end: number;
|
|
@@ -57,9 +43,7 @@ export declare class OptimizedBuffer {
|
|
|
57
43
|
fgColor?: RGBA;
|
|
58
44
|
} | null): void;
|
|
59
45
|
fillRect(x: number, y: number, width: number, height: number, bg: RGBA): void;
|
|
60
|
-
fillRectLocal(x: number, y: number, width: number, height: number, bg: RGBA): void;
|
|
61
46
|
drawFrameBuffer(destX: number, destY: number, frameBuffer: OptimizedBuffer, sourceX?: number, sourceY?: number, sourceWidth?: number, sourceHeight?: number): void;
|
|
62
|
-
drawFrameBufferLocal(destX: number, destY: number, frameBuffer: OptimizedBuffer, sourceX?: number, sourceY?: number, sourceWidth?: number, sourceHeight?: number): void;
|
|
63
47
|
destroy(): void;
|
|
64
48
|
drawTextBuffer(textBuffer: TextBuffer, x: number, y: number, clipRect?: {
|
|
65
49
|
x: number;
|
|
@@ -68,14 +52,8 @@ export declare class OptimizedBuffer {
|
|
|
68
52
|
height: number;
|
|
69
53
|
}): void;
|
|
70
54
|
drawSuperSampleBuffer(x: number, y: number, pixelDataPtr: Pointer, pixelDataLength: number, format: "bgra8unorm" | "rgba8unorm", alignedBytesPerRow: number): void;
|
|
71
|
-
drawSuperSampleBufferFFI(x: number, y: number, pixelDataPtr: Pointer, pixelDataLength: number, format: "bgra8unorm" | "rgba8unorm", alignedBytesPerRow: number): void;
|
|
72
55
|
drawPackedBuffer(dataPtr: Pointer, dataLen: number, posX: number, posY: number, terminalWidthCells: number, terminalHeightCells: number): void;
|
|
73
|
-
setCellWithAlphaBlendingFFI(x: number, y: number, char: string, fg: RGBA, bg: RGBA, attributes?: number): void;
|
|
74
|
-
fillRectFFI(x: number, y: number, width: number, height: number, bg: RGBA): void;
|
|
75
56
|
resize(width: number, height: number): void;
|
|
76
|
-
clearFFI(bg?: RGBA): void;
|
|
77
|
-
drawTextFFI(text: string, x: number, y: number, fg?: RGBA, bg?: RGBA, attributes?: number): void;
|
|
78
|
-
drawFrameBufferFFI(destX: number, destY: number, frameBuffer: OptimizedBuffer, sourceX?: number, sourceY?: number, sourceWidth?: number, sourceHeight?: number): void;
|
|
79
57
|
drawBox(options: {
|
|
80
58
|
x: number;
|
|
81
59
|
y: number;
|
package/console.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { CliRenderer, ColorInput } from ".";
|
|
2
1
|
import { EventEmitter } from "events";
|
|
2
|
+
import type { CliRenderer, ColorInput } from ".";
|
|
3
3
|
import { OptimizedBuffer } from "./buffer";
|
|
4
4
|
import { Capture } from "./lib/output.capture";
|
|
5
5
|
export declare const capture: Capture;
|