@opentui/core 0.1.23 → 0.1.25
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 +1 -1
- package/3d.js.map +1 -1
- package/Renderable.d.ts +32 -23
- package/ansi.d.ts +2 -17
- package/buffer.d.ts +3 -1
- package/{index-a6ydv6yb.js → index-6kvgbzah.js} +1279 -618
- package/index-6kvgbzah.js.map +39 -0
- package/index.d.ts +1 -0
- package/index.js +376 -151
- package/index.js.map +11 -11
- package/lib/KeyHandler.d.ts +10 -3
- package/lib/env.d.ts +41 -0
- package/lib/index.d.ts +1 -1
- package/lib/parse.keypress-kitty.d.ts +2 -0
- package/lib/parse.keypress.d.ts +11 -1
- package/lib/renderable.validations.d.ts +12 -0
- package/package.json +14 -12
- package/renderables/ASCIIFont.d.ts +1 -1
- package/renderables/Input.d.ts +2 -2
- package/renderables/ScrollBox.d.ts +3 -1
- package/renderables/Slider.d.ts +24 -11
- package/renderables/Text.d.ts +18 -3
- package/renderables/TextNode.d.ts +13 -4
- package/renderer.d.ts +17 -2
- package/testing/mock-keys.d.ts +1 -0
- package/testing/mock-mouse.d.ts +38 -0
- package/testing/test-renderer.d.ts +16 -3
- package/testing.d.ts +3 -0
- package/testing.js +353 -0
- package/testing.js.map +12 -0
- package/text-buffer.d.ts +8 -9
- package/types.d.ts +5 -0
- package/utils.d.ts +2 -0
- package/zig.d.ts +16 -10
- package/index-a6ydv6yb.js.map +0 -37
- package/lib/TrackedNode.d.ts +0 -36
- /package/{singleton.d.ts → lib/singleton.d.ts} +0 -0
package/Renderable.d.ts
CHANGED
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
import { EventEmitter } from "events";
|
|
2
|
+
import { type Node as YogaNode } from "yoga-layout";
|
|
2
3
|
import { OptimizedBuffer } from "./buffer";
|
|
3
|
-
import { type KeyHandler } from "./lib/KeyHandler";
|
|
4
|
-
import { TrackedNode } from "./lib/TrackedNode";
|
|
5
4
|
import type { ParsedKey } from "./lib/parse.keypress";
|
|
5
|
+
import type { Selection } from "./lib/selection";
|
|
6
6
|
import { type AlignString, type FlexDirectionString, type JustifyString, type OverflowString, type PositionTypeString, type WrapString } from "./lib/yoga.options";
|
|
7
|
+
import { type VNode } from "./renderables/composition/vnode";
|
|
7
8
|
import type { MouseEvent } from "./renderer";
|
|
8
9
|
import type { RenderContext } from "./types";
|
|
9
|
-
import { type VNode } from "./renderables/composition/vnode";
|
|
10
|
-
import type { Selection } from "./lib/selection";
|
|
11
10
|
declare const BrandedRenderable: unique symbol;
|
|
12
11
|
export declare enum LayoutEvents {
|
|
13
12
|
LAYOUT_CHANGED = "layout-changed",
|
|
@@ -78,35 +77,36 @@ export interface RenderableOptions<T extends BaseRenderable = BaseRenderable> ex
|
|
|
78
77
|
onMouseOver?: (this: T, event: MouseEvent) => void;
|
|
79
78
|
onMouseOut?: (this: T, event: MouseEvent) => void;
|
|
80
79
|
onMouseScroll?: (this: T, event: MouseEvent) => void;
|
|
80
|
+
onPaste?: (this: T, text: string) => void;
|
|
81
81
|
onKeyDown?: (key: ParsedKey) => void;
|
|
82
82
|
onSizeChange?: (this: T) => void;
|
|
83
83
|
}
|
|
84
|
-
export declare function isValidPercentage(value: any): value is `${number}%`;
|
|
85
|
-
export declare function isMarginType(value: any): value is number | "auto" | `${number}%`;
|
|
86
|
-
export declare function isPaddingType(value: any): value is number | `${number}%`;
|
|
87
|
-
export declare function isPositionType(value: any): value is number | "auto" | `${number}%`;
|
|
88
|
-
export declare function isPositionTypeType(value: any): value is PositionTypeString;
|
|
89
|
-
export declare function isOverflowType(value: any): value is OverflowString;
|
|
90
|
-
export declare function isDimensionType(value: any): value is number | "auto" | `${number}%`;
|
|
91
|
-
export declare function isFlexBasisType(value: any): value is number | "auto" | undefined;
|
|
92
|
-
export declare function isSizeType(value: any): value is number | `${number}%` | undefined;
|
|
93
84
|
export declare function isRenderable(obj: any): obj is Renderable;
|
|
94
85
|
export declare abstract class BaseRenderable extends EventEmitter {
|
|
95
86
|
[BrandedRenderable]: boolean;
|
|
96
87
|
private static renderableNumber;
|
|
97
|
-
|
|
88
|
+
protected _id: string;
|
|
98
89
|
readonly num: number;
|
|
99
90
|
protected _dirty: boolean;
|
|
91
|
+
parent: BaseRenderable | null;
|
|
92
|
+
protected _visible: boolean;
|
|
100
93
|
constructor(options: BaseRenderableOptions);
|
|
101
94
|
abstract add(obj: BaseRenderable | unknown, index?: number): number;
|
|
102
95
|
abstract remove(id: string): void;
|
|
96
|
+
abstract insertBefore(obj: BaseRenderable | unknown, anchor: BaseRenderable | unknown): void;
|
|
103
97
|
abstract getChildren(): BaseRenderable[];
|
|
104
98
|
abstract getChildrenCount(): number;
|
|
105
99
|
abstract getRenderable(id: string): BaseRenderable | undefined;
|
|
106
100
|
abstract requestRender(): void;
|
|
101
|
+
get id(): string;
|
|
102
|
+
set id(value: string);
|
|
107
103
|
get isDirty(): boolean;
|
|
108
104
|
protected markClean(): void;
|
|
109
105
|
protected markDirty(): void;
|
|
106
|
+
destroy(): void;
|
|
107
|
+
destroyRecursively(): void;
|
|
108
|
+
get visible(): boolean;
|
|
109
|
+
set visible(value: boolean);
|
|
110
110
|
}
|
|
111
111
|
export declare abstract class Renderable extends BaseRenderable {
|
|
112
112
|
static renderablesByNumber: Map<number, Renderable>;
|
|
@@ -121,34 +121,38 @@ export declare abstract class Renderable extends BaseRenderable {
|
|
|
121
121
|
protected _widthValue: number;
|
|
122
122
|
protected _heightValue: number;
|
|
123
123
|
private _zIndex;
|
|
124
|
-
protected _visible: boolean;
|
|
125
124
|
selectable: boolean;
|
|
126
125
|
protected buffered: boolean;
|
|
127
126
|
protected frameBuffer: OptimizedBuffer | null;
|
|
128
127
|
protected _focusable: boolean;
|
|
129
128
|
protected _focused: boolean;
|
|
130
|
-
protected keyHandler: KeyHandler;
|
|
131
129
|
protected keypressHandler: ((key: ParsedKey) => void) | null;
|
|
130
|
+
protected pasteHandler: ((text: string) => void) | null;
|
|
132
131
|
private _live;
|
|
133
132
|
protected _liveCount: number;
|
|
134
133
|
private _sizeChangeListener;
|
|
135
134
|
private _mouseListener;
|
|
136
135
|
private _mouseListeners;
|
|
136
|
+
private _pasteListener;
|
|
137
137
|
private _keyListeners;
|
|
138
|
-
protected
|
|
138
|
+
protected yogaNode: YogaNode;
|
|
139
139
|
protected _positionType: PositionTypeString;
|
|
140
140
|
protected _overflow: OverflowString;
|
|
141
141
|
protected _position: Position;
|
|
142
|
-
private
|
|
143
|
-
protected
|
|
142
|
+
private renderableMapById;
|
|
143
|
+
protected _childrenInLayoutOrder: Renderable[];
|
|
144
|
+
protected _childrenInZIndexOrder: Renderable[];
|
|
144
145
|
private needsZIndexSort;
|
|
145
146
|
parent: Renderable | null;
|
|
146
147
|
private childrenPrimarySortDirty;
|
|
147
148
|
private childrenSortedByPrimaryAxis;
|
|
148
149
|
private _newChildren;
|
|
150
|
+
onLifecyclePass: (() => void) | null;
|
|
149
151
|
renderBefore?: (this: Renderable, buffer: OptimizedBuffer, deltaTime: number) => void;
|
|
150
152
|
renderAfter?: (this: Renderable, buffer: OptimizedBuffer, deltaTime: number) => void;
|
|
151
153
|
constructor(ctx: RenderContext, options: RenderableOptions<any>);
|
|
154
|
+
get id(): string;
|
|
155
|
+
set id(value: string);
|
|
152
156
|
get focusable(): boolean;
|
|
153
157
|
get ctx(): RenderContext;
|
|
154
158
|
get visible(): boolean;
|
|
@@ -166,6 +170,7 @@ export declare abstract class Renderable extends BaseRenderable {
|
|
|
166
170
|
set live(value: boolean);
|
|
167
171
|
protected propagateLiveCount(delta: number): void;
|
|
168
172
|
handleKeyPress?(key: ParsedKey | string): boolean;
|
|
173
|
+
handlePaste?(text: string): void;
|
|
169
174
|
findDescendantById(id: string): Renderable | undefined;
|
|
170
175
|
requestRender(): void;
|
|
171
176
|
get translateX(): number;
|
|
@@ -222,11 +227,16 @@ export declare abstract class Renderable extends BaseRenderable {
|
|
|
222
227
|
set paddingRight(padding: number | `${number}%` | undefined);
|
|
223
228
|
set paddingBottom(padding: number | `${number}%` | undefined);
|
|
224
229
|
set paddingLeft(padding: number | `${number}%` | undefined);
|
|
225
|
-
getLayoutNode():
|
|
230
|
+
getLayoutNode(): YogaNode;
|
|
226
231
|
updateFromLayout(): void;
|
|
227
232
|
protected onLayoutResize(width: number, height: number): void;
|
|
228
233
|
protected handleFrameBufferResize(width: number, height: number): void;
|
|
229
234
|
protected createFrameBuffer(): void;
|
|
235
|
+
/**
|
|
236
|
+
* This will be called during a render pass.
|
|
237
|
+
* Requesting a render during a render pass will drop the requested render.
|
|
238
|
+
* If you need to request a render during a render pass, use process.nextTick.
|
|
239
|
+
*/
|
|
230
240
|
protected onResize(width: number, height: number): void;
|
|
231
241
|
private replaceParent;
|
|
232
242
|
private _forceLayoutUpdateFor;
|
|
@@ -264,6 +274,8 @@ export declare abstract class Renderable extends BaseRenderable {
|
|
|
264
274
|
set onMouseOver(handler: ((event: MouseEvent) => void) | undefined);
|
|
265
275
|
set onMouseOut(handler: ((event: MouseEvent) => void) | undefined);
|
|
266
276
|
set onMouseScroll(handler: ((event: MouseEvent) => void) | undefined);
|
|
277
|
+
set onPaste(handler: ((text: string) => void) | undefined);
|
|
278
|
+
get onPaste(): ((text: string) => void) | undefined;
|
|
267
279
|
set onKeyDown(handler: ((key: ParsedKey) => void) | undefined);
|
|
268
280
|
get onKeyDown(): ((key: ParsedKey) => void) | undefined;
|
|
269
281
|
set onSizeChange(handler: (() => void) | undefined);
|
|
@@ -289,14 +301,11 @@ interface RenderCommandRender extends RenderCommandBase {
|
|
|
289
301
|
}
|
|
290
302
|
export type RenderCommand = RenderCommandPushScissorRect | RenderCommandPopScissorRect | RenderCommandRender;
|
|
291
303
|
export declare class RootRenderable extends Renderable {
|
|
292
|
-
private yogaConfig;
|
|
293
304
|
private renderList;
|
|
294
305
|
constructor(ctx: RenderContext);
|
|
295
306
|
render(buffer: OptimizedBuffer, deltaTime: number): void;
|
|
296
307
|
protected propagateLiveCount(delta: number): void;
|
|
297
308
|
calculateLayout(): void;
|
|
298
309
|
resize(width: number, height: number): void;
|
|
299
|
-
protected onUpdate(deltaTime: number): void;
|
|
300
|
-
protected destroySelf(): void;
|
|
301
310
|
}
|
|
302
311
|
export {};
|
package/ansi.d.ts
CHANGED
|
@@ -2,27 +2,12 @@ export declare const ANSI: {
|
|
|
2
2
|
switchToAlternateScreen: string;
|
|
3
3
|
switchToMainScreen: string;
|
|
4
4
|
reset: string;
|
|
5
|
-
hideCursor: string;
|
|
6
|
-
showCursor: string;
|
|
7
|
-
resetCursorColor: string;
|
|
8
|
-
saveCursorState: string;
|
|
9
|
-
restoreCursorState: string;
|
|
10
|
-
queryPixelSize: string;
|
|
11
5
|
scrollDown: (lines: number) => string;
|
|
12
6
|
scrollUp: (lines: number) => string;
|
|
13
7
|
moveCursor: (row: number, col: number) => string;
|
|
14
8
|
moveCursorAndClear: (row: number, col: number) => string;
|
|
15
|
-
clearFromCursor: string;
|
|
16
9
|
setRgbBackground: (r: number, g: number, b: number) => string;
|
|
17
10
|
resetBackground: string;
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
enableButtonEventTracking: string;
|
|
21
|
-
disableButtonEventTracking: string;
|
|
22
|
-
enableAnyEventTracking: string;
|
|
23
|
-
disableAnyEventTracking: string;
|
|
24
|
-
enableSGRMouseMode: string;
|
|
25
|
-
disableSGRMouseMode: string;
|
|
26
|
-
makeRoomForRenderer: (height: number) => string;
|
|
27
|
-
clearRendererSpace: (height: number) => string;
|
|
11
|
+
bracketedPasteStart: string;
|
|
12
|
+
bracketedPasteEnd: string;
|
|
28
13
|
};
|
package/buffer.d.ts
CHANGED
|
@@ -13,7 +13,9 @@ export declare class OptimizedBuffer {
|
|
|
13
13
|
private _height;
|
|
14
14
|
respectAlpha: boolean;
|
|
15
15
|
private _rawBuffers;
|
|
16
|
+
private _destroyed;
|
|
16
17
|
get ptr(): Pointer;
|
|
18
|
+
private guard;
|
|
17
19
|
get buffers(): {
|
|
18
20
|
char: Uint32Array;
|
|
19
21
|
fg: Float32Array;
|
|
@@ -28,11 +30,11 @@ export declare class OptimizedBuffer {
|
|
|
28
30
|
respectAlpha?: boolean;
|
|
29
31
|
id?: string;
|
|
30
32
|
}): OptimizedBuffer;
|
|
31
|
-
private coordsToIndex;
|
|
32
33
|
get width(): number;
|
|
33
34
|
get height(): number;
|
|
34
35
|
setRespectAlpha(respectAlpha: boolean): void;
|
|
35
36
|
getNativeId(): string;
|
|
37
|
+
getRealCharBytes(addLineBreaks?: boolean): Uint8Array;
|
|
36
38
|
clear(bg?: RGBA): void;
|
|
37
39
|
setCell(x: number, y: number, char: string, fg: RGBA, bg: RGBA, attributes?: number): void;
|
|
38
40
|
setCellWithAlphaBlending(x: number, y: number, char: string, fg: RGBA, bg: RGBA, attributes?: number): void;
|