@opentui/core 0.0.0-20250908-4906ddad → 0.0.0-20250912-12c969f4
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/Renderable.d.ts +60 -18
- package/buffer.d.ts +2 -1
- package/{index-d6kwx5pm.js → index-mh94hn7d.js} +328 -155
- package/index-mh94hn7d.js.map +37 -0
- package/index.js +647 -84
- package/index.js.map +14 -13
- package/lib/objects-in-viewport.d.ts +10 -0
- package/lib/styled-text.d.ts +4 -0
- package/package.json +7 -7
- package/renderables/Input.d.ts +1 -1
- package/renderables/ScrollBar.d.ts +1 -1
- package/renderables/ScrollBox.d.ts +17 -2
- package/renderables/Select.d.ts +1 -1
- package/renderables/Slider.d.ts +24 -11
- package/renderables/TabSelect.d.ts +1 -1
- package/renderables/Text.d.ts +12 -1
- package/renderables/TextNode.d.ts +64 -0
- package/renderables/composition/constructs.d.ts +30 -9
- package/renderables/composition/vnode.d.ts +1 -1
- package/renderables/index.d.ts +1 -0
- package/renderer.d.ts +10 -2
- package/testing/mock-keys.d.ts +67 -0
- package/testing/mock-mouse.d.ts +38 -0
- package/testing/test-renderer.d.ts +15 -0
- package/text-buffer.d.ts +3 -2
- package/types.d.ts +6 -0
- package/utils.d.ts +2 -0
- package/zig.d.ts +3 -1
- package/index-d6kwx5pm.js.map +0 -36
package/3d.js
CHANGED
package/Renderable.d.ts
CHANGED
|
@@ -3,11 +3,11 @@ import { OptimizedBuffer } from "./buffer";
|
|
|
3
3
|
import { type KeyHandler } from "./lib/KeyHandler";
|
|
4
4
|
import { TrackedNode } from "./lib/TrackedNode";
|
|
5
5
|
import type { ParsedKey } from "./lib/parse.keypress";
|
|
6
|
+
import type { Selection } from "./lib/selection";
|
|
6
7
|
import { type AlignString, type FlexDirectionString, type JustifyString, type OverflowString, type PositionTypeString, type WrapString } from "./lib/yoga.options";
|
|
7
|
-
import type { MouseEvent } from "./renderer";
|
|
8
|
-
import type { RenderContext, ViewportBounds } from "./types";
|
|
9
8
|
import { type VNode } from "./renderables/composition/vnode";
|
|
10
|
-
import type {
|
|
9
|
+
import type { MouseEvent } from "./renderer";
|
|
10
|
+
import type { RenderContext } from "./types";
|
|
11
11
|
declare const BrandedRenderable: unique symbol;
|
|
12
12
|
export declare enum LayoutEvents {
|
|
13
13
|
LAYOUT_CHANGED = "layout-changed",
|
|
@@ -25,7 +25,10 @@ export interface Position {
|
|
|
25
25
|
bottom?: number | "auto" | `${number}%`;
|
|
26
26
|
left?: number | "auto" | `${number}%`;
|
|
27
27
|
}
|
|
28
|
-
export interface
|
|
28
|
+
export interface BaseRenderableOptions {
|
|
29
|
+
id?: string;
|
|
30
|
+
}
|
|
31
|
+
export interface LayoutOptions extends BaseRenderableOptions {
|
|
29
32
|
flexGrow?: number;
|
|
30
33
|
flexShrink?: number;
|
|
31
34
|
flexDirection?: FlexDirectionString;
|
|
@@ -56,8 +59,7 @@ export interface LayoutOptions {
|
|
|
56
59
|
paddingLeft?: number | `${number}%`;
|
|
57
60
|
enableLayout?: boolean;
|
|
58
61
|
}
|
|
59
|
-
export interface RenderableOptions<T extends
|
|
60
|
-
id?: string;
|
|
62
|
+
export interface RenderableOptions<T extends BaseRenderable = BaseRenderable> extends Partial<LayoutOptions> {
|
|
61
63
|
width?: number | "auto" | `${number}%`;
|
|
62
64
|
height?: number | "auto" | `${number}%`;
|
|
63
65
|
zIndex?: number;
|
|
@@ -89,12 +91,32 @@ export declare function isDimensionType(value: any): value is number | "auto" |
|
|
|
89
91
|
export declare function isFlexBasisType(value: any): value is number | "auto" | undefined;
|
|
90
92
|
export declare function isSizeType(value: any): value is number | `${number}%` | undefined;
|
|
91
93
|
export declare function isRenderable(obj: any): obj is Renderable;
|
|
92
|
-
export declare abstract class
|
|
94
|
+
export declare abstract class BaseRenderable extends EventEmitter {
|
|
93
95
|
[BrandedRenderable]: boolean;
|
|
94
96
|
private static renderableNumber;
|
|
95
|
-
static renderablesByNumber: Map<number, Renderable>;
|
|
96
97
|
readonly id: string;
|
|
97
98
|
readonly num: number;
|
|
99
|
+
protected _dirty: boolean;
|
|
100
|
+
parent: BaseRenderable | null;
|
|
101
|
+
protected _visible: boolean;
|
|
102
|
+
constructor(options: BaseRenderableOptions);
|
|
103
|
+
abstract add(obj: BaseRenderable | unknown, index?: number): number;
|
|
104
|
+
abstract remove(id: string): void;
|
|
105
|
+
abstract insertBefore(obj: BaseRenderable | unknown, anchor: BaseRenderable | unknown): void;
|
|
106
|
+
abstract getChildren(): BaseRenderable[];
|
|
107
|
+
abstract getChildrenCount(): number;
|
|
108
|
+
abstract getRenderable(id: string): BaseRenderable | undefined;
|
|
109
|
+
abstract requestRender(): void;
|
|
110
|
+
get isDirty(): boolean;
|
|
111
|
+
protected markClean(): void;
|
|
112
|
+
protected markDirty(): void;
|
|
113
|
+
destroy(): void;
|
|
114
|
+
destroyRecursively(): void;
|
|
115
|
+
get visible(): boolean;
|
|
116
|
+
set visible(value: boolean);
|
|
117
|
+
}
|
|
118
|
+
export declare abstract class Renderable extends BaseRenderable {
|
|
119
|
+
static renderablesByNumber: Map<number, Renderable>;
|
|
98
120
|
private _isDestroyed;
|
|
99
121
|
protected _ctx: RenderContext;
|
|
100
122
|
protected _translateX: number;
|
|
@@ -106,12 +128,10 @@ export declare abstract class Renderable extends EventEmitter {
|
|
|
106
128
|
protected _widthValue: number;
|
|
107
129
|
protected _heightValue: number;
|
|
108
130
|
private _zIndex;
|
|
109
|
-
protected _visible: boolean;
|
|
110
131
|
selectable: boolean;
|
|
111
132
|
protected buffered: boolean;
|
|
112
133
|
protected frameBuffer: OptimizedBuffer | null;
|
|
113
|
-
|
|
114
|
-
protected focusable: boolean;
|
|
134
|
+
protected _focusable: boolean;
|
|
115
135
|
protected _focused: boolean;
|
|
116
136
|
protected keyHandler: KeyHandler;
|
|
117
137
|
protected keypressHandler: ((key: ParsedKey) => void) | null;
|
|
@@ -131,11 +151,15 @@ export declare abstract class Renderable extends EventEmitter {
|
|
|
131
151
|
parent: Renderable | null;
|
|
132
152
|
private childrenPrimarySortDirty;
|
|
133
153
|
private childrenSortedByPrimaryAxis;
|
|
154
|
+
private _newChildren;
|
|
155
|
+
onLifecyclePass: (() => void) | null;
|
|
134
156
|
renderBefore?: (this: Renderable, buffer: OptimizedBuffer, deltaTime: number) => void;
|
|
135
157
|
renderAfter?: (this: Renderable, buffer: OptimizedBuffer, deltaTime: number) => void;
|
|
136
158
|
constructor(ctx: RenderContext, options: RenderableOptions<any>);
|
|
159
|
+
get focusable(): boolean;
|
|
137
160
|
get ctx(): RenderContext;
|
|
138
161
|
get visible(): boolean;
|
|
162
|
+
get primaryAxis(): "row" | "column";
|
|
139
163
|
set visible(value: boolean);
|
|
140
164
|
hasSelection(): boolean;
|
|
141
165
|
onSelectionChanged(selection: Selection | null): boolean;
|
|
@@ -149,9 +173,7 @@ export declare abstract class Renderable extends EventEmitter {
|
|
|
149
173
|
set live(value: boolean);
|
|
150
174
|
protected propagateLiveCount(delta: number): void;
|
|
151
175
|
handleKeyPress?(key: ParsedKey | string): boolean;
|
|
152
|
-
protected get isDirty(): boolean;
|
|
153
176
|
findDescendantById(id: string): Renderable | undefined;
|
|
154
|
-
private markClean;
|
|
155
177
|
requestRender(): void;
|
|
156
178
|
get translateX(): number;
|
|
157
179
|
set translateX(value: number);
|
|
@@ -177,8 +199,7 @@ export declare abstract class Renderable extends EventEmitter {
|
|
|
177
199
|
set zIndex(value: number);
|
|
178
200
|
private requestZIndexSort;
|
|
179
201
|
private ensureZIndexSorted;
|
|
180
|
-
|
|
181
|
-
protected getChildrenSortedByPrimaryAxis(): Renderable[];
|
|
202
|
+
getChildrenSortedByPrimaryAxis(): Renderable[];
|
|
182
203
|
private setupYogaProperties;
|
|
183
204
|
private setupMarginAndPadding;
|
|
184
205
|
set position(positionType: PositionTypeString);
|
|
@@ -215,13 +236,15 @@ export declare abstract class Renderable extends EventEmitter {
|
|
|
215
236
|
protected createFrameBuffer(): void;
|
|
216
237
|
protected onResize(width: number, height: number): void;
|
|
217
238
|
private replaceParent;
|
|
218
|
-
|
|
219
|
-
|
|
239
|
+
private _forceLayoutUpdateFor;
|
|
240
|
+
add(obj: Renderable | VNode<any, any[]> | unknown, index?: number): number;
|
|
241
|
+
insertBefore(obj: Renderable | VNode<any, any[]> | unknown, anchor?: Renderable | unknown): number;
|
|
220
242
|
getRenderable(id: string): Renderable | undefined;
|
|
221
243
|
remove(id: string): void;
|
|
222
244
|
protected onRemove(): void;
|
|
223
245
|
getChildren(): Renderable[];
|
|
224
246
|
getChildrenCount(): number;
|
|
247
|
+
updateLayout(deltaTime: number, renderList?: RenderCommand[]): void;
|
|
225
248
|
render(buffer: OptimizedBuffer, deltaTime: number): void;
|
|
226
249
|
protected _getChildren(): Renderable[];
|
|
227
250
|
protected onUpdate(deltaTime: number): void;
|
|
@@ -254,13 +277,32 @@ export declare abstract class Renderable extends EventEmitter {
|
|
|
254
277
|
get onSizeChange(): (() => void) | undefined;
|
|
255
278
|
private applyEventOptions;
|
|
256
279
|
}
|
|
280
|
+
interface RenderCommandBase {
|
|
281
|
+
action: "render" | "pushScissorRect" | "popScissorRect";
|
|
282
|
+
}
|
|
283
|
+
interface RenderCommandPushScissorRect extends RenderCommandBase {
|
|
284
|
+
action: "pushScissorRect";
|
|
285
|
+
x: number;
|
|
286
|
+
y: number;
|
|
287
|
+
width: number;
|
|
288
|
+
height: number;
|
|
289
|
+
}
|
|
290
|
+
interface RenderCommandPopScissorRect extends RenderCommandBase {
|
|
291
|
+
action: "popScissorRect";
|
|
292
|
+
}
|
|
293
|
+
interface RenderCommandRender extends RenderCommandBase {
|
|
294
|
+
action: "render";
|
|
295
|
+
renderable: Renderable;
|
|
296
|
+
}
|
|
297
|
+
export type RenderCommand = RenderCommandPushScissorRect | RenderCommandPopScissorRect | RenderCommandRender;
|
|
257
298
|
export declare class RootRenderable extends Renderable {
|
|
258
299
|
private yogaConfig;
|
|
300
|
+
private renderList;
|
|
259
301
|
constructor(ctx: RenderContext);
|
|
302
|
+
render(buffer: OptimizedBuffer, deltaTime: number): void;
|
|
260
303
|
protected propagateLiveCount(delta: number): void;
|
|
261
304
|
calculateLayout(): void;
|
|
262
305
|
resize(width: number, height: number): void;
|
|
263
|
-
protected onUpdate(): void;
|
|
264
306
|
protected destroySelf(): void;
|
|
265
307
|
}
|
|
266
308
|
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,7 +30,6 @@ 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;
|