@opentui/core 0.1.12 → 0.1.14
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 +30 -9
- package/animation/Timeline.d.ts +11 -0
- package/buffer.d.ts +6 -0
- package/console.d.ts +1 -1
- package/{index-bpwzbxgn.js → index-rv93tneq.js} +290 -99
- package/{index-bpwzbxgn.js.map → index-rv93tneq.js.map} +10 -10
- package/index.js +221 -106
- package/index.js.map +12 -13
- package/lib/KeyHandler.d.ts +6 -1
- package/package.json +7 -7
- package/renderables/Box.d.ts +7 -1
- package/renderables/Text.d.ts +13 -0
- package/renderables/composition/constructs.d.ts +1 -3
- package/renderables/composition/vnode.d.ts +13 -6
- package/renderables/index.d.ts +0 -1
- package/renderer.d.ts +3 -1
- package/types.d.ts +1 -1
- package/zig.d.ts +12 -1
- package/renderables/Group.d.ts +0 -5
package/lib/KeyHandler.d.ts
CHANGED
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
import { EventEmitter } from "events";
|
|
2
|
-
|
|
2
|
+
import { type ParsedKey } from "./parse.keypress";
|
|
3
|
+
type KeyHandlerEventMap = {
|
|
4
|
+
keypress: [ParsedKey];
|
|
5
|
+
};
|
|
6
|
+
export declare class KeyHandler extends EventEmitter<KeyHandlerEventMap> {
|
|
3
7
|
constructor();
|
|
4
8
|
destroy(): void;
|
|
5
9
|
}
|
|
6
10
|
export declare function getKeyHandler(): KeyHandler;
|
|
11
|
+
export {};
|
package/package.json
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"main": "index.js",
|
|
5
5
|
"types": "index.d.ts",
|
|
6
6
|
"type": "module",
|
|
7
|
-
"version": "0.1.
|
|
7
|
+
"version": "0.1.14",
|
|
8
8
|
"description": "OpenTUI is a TypeScript library for building terminal user interfaces (TUIs)",
|
|
9
9
|
"license": "MIT",
|
|
10
10
|
"repository": {
|
|
@@ -38,11 +38,11 @@
|
|
|
38
38
|
"bun-webgpu": "0.1.3",
|
|
39
39
|
"planck": "^1.4.2",
|
|
40
40
|
"three": "0.177.0",
|
|
41
|
-
"@opentui/core-darwin-x64": "0.1.
|
|
42
|
-
"@opentui/core-darwin-arm64": "0.1.
|
|
43
|
-
"@opentui/core-linux-x64": "0.1.
|
|
44
|
-
"@opentui/core-linux-arm64": "0.1.
|
|
45
|
-
"@opentui/core-win32-x64": "0.1.
|
|
46
|
-
"@opentui/core-win32-arm64": "0.1.
|
|
41
|
+
"@opentui/core-darwin-x64": "0.1.14",
|
|
42
|
+
"@opentui/core-darwin-arm64": "0.1.14",
|
|
43
|
+
"@opentui/core-linux-x64": "0.1.14",
|
|
44
|
+
"@opentui/core-linux-arm64": "0.1.14",
|
|
45
|
+
"@opentui/core-win32-x64": "0.1.14",
|
|
46
|
+
"@opentui/core-win32-arm64": "0.1.14"
|
|
47
47
|
}
|
|
48
48
|
}
|
package/renderables/Box.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ import type { OptimizedBuffer } from "../buffer";
|
|
|
3
3
|
import { type BorderCharacters, type BorderSides, type BorderSidesConfig, type BorderStyle } from "../lib";
|
|
4
4
|
import { type ColorInput, RGBA } from "../lib/RGBA";
|
|
5
5
|
import type { RenderContext } from "../types";
|
|
6
|
-
export interface BoxOptions extends RenderableOptions<
|
|
6
|
+
export interface BoxOptions<TRenderable extends Renderable = BoxRenderable> extends RenderableOptions<TRenderable> {
|
|
7
7
|
backgroundColor?: string | RGBA;
|
|
8
8
|
borderStyle?: BorderStyle;
|
|
9
9
|
border?: boolean | BorderSides[];
|
|
@@ -56,6 +56,12 @@ export declare class BoxRenderable extends Renderable {
|
|
|
56
56
|
get titleAlignment(): "left" | "center" | "right";
|
|
57
57
|
set titleAlignment(value: "left" | "center" | "right");
|
|
58
58
|
protected renderSelf(buffer: OptimizedBuffer): void;
|
|
59
|
+
protected getScissorRect(): {
|
|
60
|
+
x: number;
|
|
61
|
+
y: number;
|
|
62
|
+
width: number;
|
|
63
|
+
height: number;
|
|
64
|
+
};
|
|
59
65
|
private applyYogaBorders;
|
|
60
66
|
private applyYogaGap;
|
|
61
67
|
set gap(gap: number | `${number}%` | undefined);
|
package/renderables/Text.d.ts
CHANGED
|
@@ -24,11 +24,24 @@ export declare class TextRenderable extends Renderable {
|
|
|
24
24
|
private textBuffer;
|
|
25
25
|
private _plainText;
|
|
26
26
|
private _lineInfo;
|
|
27
|
+
protected _defaultOptions: {
|
|
28
|
+
content: string;
|
|
29
|
+
fg: RGBA;
|
|
30
|
+
bg: RGBA;
|
|
31
|
+
selectionBg: undefined;
|
|
32
|
+
selectionFg: undefined;
|
|
33
|
+
selectable: true;
|
|
34
|
+
attributes: number;
|
|
35
|
+
};
|
|
27
36
|
constructor(ctx: RenderContext, options: TextOptions);
|
|
28
37
|
get content(): StyledText;
|
|
29
38
|
set content(value: StyledText | string);
|
|
30
39
|
get fg(): RGBA;
|
|
31
40
|
set fg(value: RGBA | string | undefined);
|
|
41
|
+
get selectionBg(): RGBA | undefined;
|
|
42
|
+
set selectionBg(value: RGBA | string | undefined);
|
|
43
|
+
get selectionFg(): RGBA | undefined;
|
|
44
|
+
set selectionFg(value: RGBA | string | undefined);
|
|
32
45
|
get bg(): RGBA;
|
|
33
46
|
set bg(value: RGBA | string | undefined);
|
|
34
47
|
get attributes(): number;
|
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
import { ASCIIFontRenderable, BoxRenderable,
|
|
2
|
-
import type { RenderableOptions } from "../../Renderable";
|
|
1
|
+
import { ASCIIFontRenderable, BoxRenderable, InputRenderable, SelectRenderable, TabSelectRenderable, TextRenderable, VRenderable, type ASCIIFontOptions, type BoxOptions, type TextOptions, type VRenderableOptions, type InputRenderableOptions, type SelectRenderableOptions, type TabSelectRenderableOptions, FrameBufferRenderable, type FrameBufferOptions } from "../";
|
|
3
2
|
import { type VChild, type ProxiedVNode } from "./vnode";
|
|
4
3
|
export declare function Generic(props?: VRenderableOptions, ...children: VChild[]): ProxiedVNode<typeof VRenderable>;
|
|
5
|
-
export declare function Group(props?: RenderableOptions<any>, ...children: VChild[]): ProxiedVNode<typeof GroupRenderable>;
|
|
6
4
|
export declare function Box(props?: BoxOptions, ...children: VChild[]): ProxiedVNode<typeof BoxRenderable>;
|
|
7
5
|
export declare function Text(props?: TextOptions & {
|
|
8
6
|
content?: any;
|
|
@@ -28,11 +28,18 @@ export declare function h<P>(type: Construct<P>, props?: P, ...children: VChild[
|
|
|
28
28
|
export declare function isVNode(node: any): node is VNode;
|
|
29
29
|
export declare function ensureRenderable(ctx: RenderContext, node: Renderable | VNode<any, any[]>): Renderable;
|
|
30
30
|
export declare function wrapWithDelegates<T extends InstanceType<RenderableConstructor>>(instance: T, delegateMap: Record<string, string> | undefined): T;
|
|
31
|
-
export
|
|
31
|
+
export type InstantiateFn<NodeType extends VNode | Renderable> = Renderable & {
|
|
32
|
+
__node?: NodeType;
|
|
33
|
+
};
|
|
34
|
+
export declare function instantiate<NodeType extends VNode | Renderable>(ctx: RenderContext, node: NodeType): InstantiateFn<NodeType>;
|
|
32
35
|
export type DelegateMap<T> = Partial<Record<keyof T, string>>;
|
|
33
|
-
export
|
|
34
|
-
|
|
35
|
-
|
|
36
|
+
export type ValidateShape<Given, AllowedKeys> = {
|
|
37
|
+
[K in keyof Given]: K extends keyof AllowedKeys ? NonNullable<Given[K]> : never;
|
|
38
|
+
};
|
|
39
|
+
type InferNode<T> = T extends InstantiateFn<infer U> ? U : never;
|
|
40
|
+
export declare function delegate<Factory extends InstantiateFn<any>, InnerNode extends InferNode<Factory>, TargetMap extends Record<keyof InnerNode, string>, const Mapping extends Partial<TargetMap>>(mapping: ValidateShape<Mapping, TargetMap>, vnode: Factory): Renderable;
|
|
41
|
+
export declare function delegate<ConstructorType extends RenderableConstructor<any>, TargetMap extends Record<keyof InstanceType<ConstructorType>, string>, const Mapping extends Partial<TargetMap>>(mapping: ValidateShape<Mapping, TargetMap>, vnode: ProxiedVNode<ConstructorType>): ProxiedVNode<ConstructorType>;
|
|
42
|
+
export declare function delegate<ConstructorType extends RenderableConstructor<any>, const Mapping extends DelegateMap<InstanceType<ConstructorType>>>(mapping: ValidateShape<Mapping, string>, vnode: VNode & {
|
|
43
|
+
type: ConstructorType;
|
|
36
44
|
}): VNode;
|
|
37
|
-
export
|
|
38
|
-
export declare function delegate(mapping: Record<string, string>, renderable: Renderable): Renderable;
|
|
45
|
+
export {};
|
package/renderables/index.d.ts
CHANGED
package/renderer.d.ts
CHANGED
|
@@ -133,7 +133,7 @@ export declare class CliRenderer extends EventEmitter implements RenderContext {
|
|
|
133
133
|
addToHitGrid(x: number, y: number, width: number, height: number, id: number): void;
|
|
134
134
|
get widthMethod(): WidthMethod;
|
|
135
135
|
private writeOut;
|
|
136
|
-
|
|
136
|
+
requestRender(): void;
|
|
137
137
|
get useConsole(): boolean;
|
|
138
138
|
set useConsole(value: boolean);
|
|
139
139
|
get isRunning(): boolean;
|
|
@@ -172,6 +172,7 @@ export declare class CliRenderer extends EventEmitter implements RenderContext {
|
|
|
172
172
|
corner?: DebugOverlayCorner;
|
|
173
173
|
}): void;
|
|
174
174
|
clearTerminal(): void;
|
|
175
|
+
setTerminalTitle(title: string): void;
|
|
175
176
|
dumpHitGrid(): void;
|
|
176
177
|
dumpBuffers(timestamp?: number): void;
|
|
177
178
|
dumpStdoutBuffer(timestamp?: number): void;
|
|
@@ -190,6 +191,7 @@ export declare class CliRenderer extends EventEmitter implements RenderContext {
|
|
|
190
191
|
requestLive(): void;
|
|
191
192
|
dropLive(): void;
|
|
192
193
|
start(): void;
|
|
194
|
+
auto(): void;
|
|
193
195
|
private internalStart;
|
|
194
196
|
pause(): void;
|
|
195
197
|
private internalPause;
|
package/types.d.ts
CHANGED
|
@@ -22,7 +22,7 @@ export interface RenderContext {
|
|
|
22
22
|
addToHitGrid: (x: number, y: number, width: number, height: number, id: number) => void;
|
|
23
23
|
width: number;
|
|
24
24
|
height: number;
|
|
25
|
-
|
|
25
|
+
requestRender: () => void;
|
|
26
26
|
setCursorPosition: (x: number, y: number, visible: boolean) => void;
|
|
27
27
|
setCursorStyle: (style: CursorStyle, blinking: boolean) => void;
|
|
28
28
|
setCursorColor: (color: RGBA) => void;
|
package/zig.d.ts
CHANGED
|
@@ -3,6 +3,12 @@ import { type CursorStyle, type DebugOverlayCorner, type WidthMethod } from "./t
|
|
|
3
3
|
import { RGBA } from "./lib/RGBA";
|
|
4
4
|
import { OptimizedBuffer } from "./buffer";
|
|
5
5
|
import { TextBuffer } from "./text-buffer";
|
|
6
|
+
export declare enum LogLevel {
|
|
7
|
+
Error = 0,
|
|
8
|
+
Warn = 1,
|
|
9
|
+
Info = 2,
|
|
10
|
+
Debug = 3
|
|
11
|
+
}
|
|
6
12
|
export interface RenderLib {
|
|
7
13
|
createRenderer: (width: number, height: number) => Pointer | null;
|
|
8
14
|
destroyRenderer: (renderer: Pointer, useAlternateScreen: boolean, splitHeight: number) => void;
|
|
@@ -14,7 +20,7 @@ export interface RenderLib {
|
|
|
14
20
|
render: (renderer: Pointer, force: boolean) => void;
|
|
15
21
|
getNextBuffer: (renderer: Pointer) => OptimizedBuffer;
|
|
16
22
|
getCurrentBuffer: (renderer: Pointer) => OptimizedBuffer;
|
|
17
|
-
createOptimizedBuffer: (width: number, height: number, widthMethod: WidthMethod, respectAlpha?: boolean) => OptimizedBuffer;
|
|
23
|
+
createOptimizedBuffer: (width: number, height: number, widthMethod: WidthMethod, respectAlpha?: boolean, id?: string) => OptimizedBuffer;
|
|
18
24
|
destroyOptimizedBuffer: (bufferPtr: Pointer) => void;
|
|
19
25
|
drawFrameBuffer: (targetBufferPtr: Pointer, destX: number, destY: number, bufferPtr: Pointer, sourceX?: number, sourceY?: number, sourceWidth?: number, sourceHeight?: number) => void;
|
|
20
26
|
getBufferWidth: (buffer: Pointer) => number;
|
|
@@ -26,6 +32,7 @@ export interface RenderLib {
|
|
|
26
32
|
bufferGetAttributesPtr: (buffer: Pointer) => Pointer;
|
|
27
33
|
bufferGetRespectAlpha: (buffer: Pointer) => boolean;
|
|
28
34
|
bufferSetRespectAlpha: (buffer: Pointer, respectAlpha: boolean) => void;
|
|
35
|
+
bufferGetId: (buffer: Pointer) => string;
|
|
29
36
|
bufferDrawText: (buffer: Pointer, text: string, x: number, y: number, color: RGBA, bgColor?: RGBA, attributes?: number) => void;
|
|
30
37
|
bufferSetCellWithAlphaBlending: (buffer: Pointer, x: number, y: number, char: string, color: RGBA, bgColor: RGBA, attributes?: number) => void;
|
|
31
38
|
bufferFillRect: (buffer: Pointer, x: number, y: number, width: number, height: number, color: RGBA) => void;
|
|
@@ -44,6 +51,7 @@ export interface RenderLib {
|
|
|
44
51
|
setCursorColor: (renderer: Pointer, color: RGBA) => void;
|
|
45
52
|
setDebugOverlay: (renderer: Pointer, enabled: boolean, corner: DebugOverlayCorner) => void;
|
|
46
53
|
clearTerminal: (renderer: Pointer) => void;
|
|
54
|
+
setTerminalTitle: (renderer: Pointer, title: string) => void;
|
|
47
55
|
addToHitGrid: (renderer: Pointer, x: number, y: number, width: number, height: number, id: number) => void;
|
|
48
56
|
checkHit: (renderer: Pointer, x: number, y: number) => number;
|
|
49
57
|
dumpHitGrid: (renderer: Pointer) => void;
|
|
@@ -95,6 +103,9 @@ export interface RenderLib {
|
|
|
95
103
|
width: number;
|
|
96
104
|
height: number;
|
|
97
105
|
}) => void;
|
|
106
|
+
bufferPushScissorRect: (buffer: Pointer, x: number, y: number, width: number, height: number) => void;
|
|
107
|
+
bufferPopScissorRect: (buffer: Pointer) => void;
|
|
108
|
+
bufferClearScissorRects: (buffer: Pointer) => void;
|
|
98
109
|
getTerminalCapabilities: (renderer: Pointer) => any;
|
|
99
110
|
processCapabilityResponse: (renderer: Pointer, response: string) => void;
|
|
100
111
|
}
|
package/renderables/Group.d.ts
DELETED