@opentui/core 0.1.22 → 0.1.24
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 +22 -21
- package/buffer.d.ts +3 -1
- package/{index-443j38eh.js → index-0yx9rnxg.js} +981 -543
- package/index-0yx9rnxg.js.map +38 -0
- package/index.d.ts +1 -0
- package/index.js +447 -139
- package/index.js.map +10 -10
- package/lib/KeyHandler.d.ts +7 -3
- package/lib/index.d.ts +0 -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/ScrollBox.d.ts +18 -1
- package/renderables/Slider.d.ts +24 -11
- package/renderables/Text.d.ts +15 -3
- package/renderables/TextNode.d.ts +13 -4
- package/renderer.d.ts +16 -1
- package/testing/mock-mouse.d.ts +38 -0
- package/testing/test-renderer.d.ts +15 -3
- package/testing.d.ts +3 -0
- package/testing.js +343 -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 +15 -10
- package/index-443j38eh.js.map +0 -37
- package/lib/TrackedNode.d.ts +0 -36
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",
|
|
@@ -81,32 +80,32 @@ export interface RenderableOptions<T extends BaseRenderable = BaseRenderable> ex
|
|
|
81
80
|
onKeyDown?: (key: ParsedKey) => void;
|
|
82
81
|
onSizeChange?: (this: T) => void;
|
|
83
82
|
}
|
|
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
83
|
export declare function isRenderable(obj: any): obj is Renderable;
|
|
94
84
|
export declare abstract class BaseRenderable extends EventEmitter {
|
|
95
85
|
[BrandedRenderable]: boolean;
|
|
96
86
|
private static renderableNumber;
|
|
97
|
-
|
|
87
|
+
protected _id: string;
|
|
98
88
|
readonly num: number;
|
|
99
89
|
protected _dirty: boolean;
|
|
90
|
+
parent: BaseRenderable | null;
|
|
91
|
+
protected _visible: boolean;
|
|
100
92
|
constructor(options: BaseRenderableOptions);
|
|
101
93
|
abstract add(obj: BaseRenderable | unknown, index?: number): number;
|
|
102
94
|
abstract remove(id: string): void;
|
|
95
|
+
abstract insertBefore(obj: BaseRenderable | unknown, anchor: BaseRenderable | unknown): void;
|
|
103
96
|
abstract getChildren(): BaseRenderable[];
|
|
104
97
|
abstract getChildrenCount(): number;
|
|
105
98
|
abstract getRenderable(id: string): BaseRenderable | undefined;
|
|
106
99
|
abstract requestRender(): void;
|
|
100
|
+
get id(): string;
|
|
101
|
+
set id(value: string);
|
|
107
102
|
get isDirty(): boolean;
|
|
108
103
|
protected markClean(): void;
|
|
109
104
|
protected markDirty(): void;
|
|
105
|
+
destroy(): void;
|
|
106
|
+
destroyRecursively(): void;
|
|
107
|
+
get visible(): boolean;
|
|
108
|
+
set visible(value: boolean);
|
|
110
109
|
}
|
|
111
110
|
export declare abstract class Renderable extends BaseRenderable {
|
|
112
111
|
static renderablesByNumber: Map<number, Renderable>;
|
|
@@ -121,13 +120,11 @@ export declare abstract class Renderable extends BaseRenderable {
|
|
|
121
120
|
protected _widthValue: number;
|
|
122
121
|
protected _heightValue: number;
|
|
123
122
|
private _zIndex;
|
|
124
|
-
protected _visible: boolean;
|
|
125
123
|
selectable: boolean;
|
|
126
124
|
protected buffered: boolean;
|
|
127
125
|
protected frameBuffer: OptimizedBuffer | null;
|
|
128
126
|
protected _focusable: boolean;
|
|
129
127
|
protected _focused: boolean;
|
|
130
|
-
protected keyHandler: KeyHandler;
|
|
131
128
|
protected keypressHandler: ((key: ParsedKey) => void) | null;
|
|
132
129
|
private _live;
|
|
133
130
|
protected _liveCount: number;
|
|
@@ -135,20 +132,24 @@ export declare abstract class Renderable extends BaseRenderable {
|
|
|
135
132
|
private _mouseListener;
|
|
136
133
|
private _mouseListeners;
|
|
137
134
|
private _keyListeners;
|
|
138
|
-
protected
|
|
135
|
+
protected yogaNode: YogaNode;
|
|
139
136
|
protected _positionType: PositionTypeString;
|
|
140
137
|
protected _overflow: OverflowString;
|
|
141
138
|
protected _position: Position;
|
|
142
|
-
private
|
|
143
|
-
protected
|
|
139
|
+
private renderableMapById;
|
|
140
|
+
protected _childrenInLayoutOrder: Renderable[];
|
|
141
|
+
protected _childrenInZIndexOrder: Renderable[];
|
|
144
142
|
private needsZIndexSort;
|
|
145
143
|
parent: Renderable | null;
|
|
146
144
|
private childrenPrimarySortDirty;
|
|
147
145
|
private childrenSortedByPrimaryAxis;
|
|
148
146
|
private _newChildren;
|
|
147
|
+
onLifecyclePass: (() => void) | null;
|
|
149
148
|
renderBefore?: (this: Renderable, buffer: OptimizedBuffer, deltaTime: number) => void;
|
|
150
149
|
renderAfter?: (this: Renderable, buffer: OptimizedBuffer, deltaTime: number) => void;
|
|
151
150
|
constructor(ctx: RenderContext, options: RenderableOptions<any>);
|
|
151
|
+
get id(): string;
|
|
152
|
+
set id(value: string);
|
|
152
153
|
get focusable(): boolean;
|
|
153
154
|
get ctx(): RenderContext;
|
|
154
155
|
get visible(): boolean;
|
|
@@ -222,13 +223,14 @@ export declare abstract class Renderable extends BaseRenderable {
|
|
|
222
223
|
set paddingRight(padding: number | `${number}%` | undefined);
|
|
223
224
|
set paddingBottom(padding: number | `${number}%` | undefined);
|
|
224
225
|
set paddingLeft(padding: number | `${number}%` | undefined);
|
|
225
|
-
getLayoutNode():
|
|
226
|
+
getLayoutNode(): YogaNode;
|
|
226
227
|
updateFromLayout(): void;
|
|
227
228
|
protected onLayoutResize(width: number, height: number): void;
|
|
228
229
|
protected handleFrameBufferResize(width: number, height: number): void;
|
|
229
230
|
protected createFrameBuffer(): void;
|
|
230
231
|
protected onResize(width: number, height: number): void;
|
|
231
232
|
private replaceParent;
|
|
233
|
+
private _forceLayoutUpdateFor;
|
|
232
234
|
add(obj: Renderable | VNode<any, any[]> | unknown, index?: number): number;
|
|
233
235
|
insertBefore(obj: Renderable | VNode<any, any[]> | unknown, anchor?: Renderable | unknown): number;
|
|
234
236
|
getRenderable(id: string): Renderable | undefined;
|
|
@@ -295,7 +297,6 @@ export declare class RootRenderable extends Renderable {
|
|
|
295
297
|
protected propagateLiveCount(delta: number): void;
|
|
296
298
|
calculateLayout(): void;
|
|
297
299
|
resize(width: number, height: number): void;
|
|
298
|
-
protected onUpdate(deltaTime: number): void;
|
|
299
300
|
protected destroySelf(): void;
|
|
300
301
|
}
|
|
301
302
|
export {};
|
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;
|