@opentui/core 0.1.7 → 0.1.9
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/WGPURenderer.d.ts +2 -2
- package/3d.js +225 -6497
- package/3d.js.map +154 -0
- package/Renderable.d.ts +42 -6
- package/buffer.d.ts +2 -1
- package/index.d.ts +0 -3
- package/index.js +2576 -2119
- package/index.js.map +45 -0
- package/lib/RGBA.d.ts +24 -0
- package/lib/TrackedNode.d.ts +1 -0
- package/lib/ascii.font.d.ts +1 -1
- package/lib/border.d.ts +1 -1
- package/lib/hast-styled-text.d.ts +1 -1
- package/lib/index.d.ts +6 -0
- package/lib/styled-text.d.ts +6 -5
- package/package.json +9 -10
- package/renderables/ASCIIFont.d.ts +2 -1
- package/renderables/Box.d.ts +5 -3
- package/renderables/Input.d.ts +3 -1
- package/renderables/Select.d.ts +1 -1
- package/renderables/TabSelect.d.ts +33 -22
- package/renderables/Text.d.ts +2 -1
- package/renderer.d.ts +12 -2
- package/singleton.d.ts +5 -0
- package/text-buffer.d.ts +1 -1
- package/types.d.ts +0 -20
- package/utils.d.ts +0 -5
- package/zig.d.ts +1 -1
package/lib/RGBA.d.ts
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export declare class RGBA {
|
|
2
|
+
buffer: Float32Array;
|
|
3
|
+
constructor(buffer: Float32Array);
|
|
4
|
+
static fromArray(array: Float32Array): RGBA;
|
|
5
|
+
static fromValues(r: number, g: number, b: number, a?: number): RGBA;
|
|
6
|
+
static fromInts(r: number, g: number, b: number, a?: number): RGBA;
|
|
7
|
+
static fromHex(hex: string): RGBA;
|
|
8
|
+
toInts(): [number, number, number, number];
|
|
9
|
+
get r(): number;
|
|
10
|
+
set r(value: number);
|
|
11
|
+
get g(): number;
|
|
12
|
+
set g(value: number);
|
|
13
|
+
get b(): number;
|
|
14
|
+
set b(value: number);
|
|
15
|
+
get a(): number;
|
|
16
|
+
set a(value: number);
|
|
17
|
+
map<R>(fn: (value: number) => R): R[];
|
|
18
|
+
toString(): string;
|
|
19
|
+
}
|
|
20
|
+
export type ColorInput = string | RGBA;
|
|
21
|
+
export declare function hexToRgb(hex: string): RGBA;
|
|
22
|
+
export declare function rgbToHex(rgb: RGBA): string;
|
|
23
|
+
export declare function hsvToRgb(h: number, s: number, v: number): RGBA;
|
|
24
|
+
export declare function parseColor(color: ColorInput): RGBA;
|
package/lib/TrackedNode.d.ts
CHANGED
package/lib/ascii.font.d.ts
CHANGED
package/lib/border.d.ts
CHANGED
package/lib/index.d.ts
CHANGED
|
@@ -3,3 +3,9 @@ export * from "./TrackedNode";
|
|
|
3
3
|
export * from "./KeyHandler";
|
|
4
4
|
export * from "./ascii.font";
|
|
5
5
|
export * from "./hast-styled-text";
|
|
6
|
+
export * from "./RGBA";
|
|
7
|
+
export * from "./parse.keypress";
|
|
8
|
+
export * from "./styled-text";
|
|
9
|
+
export * from "./yoga.options";
|
|
10
|
+
export * from "./parse.mouse";
|
|
11
|
+
export * from "./selection";
|
package/lib/styled-text.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { TextChunk } from "../text-buffer";
|
|
2
|
-
import type
|
|
2
|
+
import { type ColorInput } from "./RGBA";
|
|
3
3
|
export type Color = ColorInput;
|
|
4
4
|
export interface StyleAttrs {
|
|
5
5
|
fg?: Color;
|
|
@@ -17,10 +17,11 @@ export declare class StyledText {
|
|
|
17
17
|
private _plainText;
|
|
18
18
|
constructor(chunks: TextChunk[]);
|
|
19
19
|
toString(): string;
|
|
20
|
-
private
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
20
|
+
private static _createInstance;
|
|
21
|
+
private static _chunksToPlainText;
|
|
22
|
+
insert(chunk: TextChunk, index?: number): StyledText;
|
|
23
|
+
remove(chunk: TextChunk): StyledText;
|
|
24
|
+
replace(chunk: TextChunk, oldChunk: TextChunk): StyledText;
|
|
24
25
|
}
|
|
25
26
|
export declare function stringToStyledText(content: string): StyledText;
|
|
26
27
|
export type StylableInput = string | number | boolean | TextChunk;
|
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.9",
|
|
8
8
|
"description": "OpenTUI is a TypeScript library for building terminal user interfaces (TUIs)",
|
|
9
9
|
"license": "MIT",
|
|
10
10
|
"repository": {
|
|
@@ -30,20 +30,19 @@
|
|
|
30
30
|
},
|
|
31
31
|
"devDependencies": {
|
|
32
32
|
"@types/bun": "latest",
|
|
33
|
-
"@types/three": "
|
|
34
|
-
"commander": "^13.1.0"
|
|
35
|
-
"prettier": "3.6.2"
|
|
33
|
+
"@types/three": "0.177.0",
|
|
34
|
+
"commander": "^13.1.0"
|
|
36
35
|
},
|
|
37
36
|
"optionalDependencies": {
|
|
38
37
|
"@dimforge/rapier2d-simd-compat": "^0.17.3",
|
|
39
38
|
"bun-webgpu": "0.1.3",
|
|
40
39
|
"planck": "^1.4.2",
|
|
41
40
|
"three": "0.177.0",
|
|
42
|
-
"@opentui/core-darwin-x64": "0.1.
|
|
43
|
-
"@opentui/core-darwin-arm64": "0.1.
|
|
44
|
-
"@opentui/core-linux-x64": "0.1.
|
|
45
|
-
"@opentui/core-linux-arm64": "0.1.
|
|
46
|
-
"@opentui/core-win32-x64": "0.1.
|
|
47
|
-
"@opentui/core-win32-arm64": "0.1.
|
|
41
|
+
"@opentui/core-darwin-x64": "0.1.9",
|
|
42
|
+
"@opentui/core-darwin-arm64": "0.1.9",
|
|
43
|
+
"@opentui/core-linux-x64": "0.1.9",
|
|
44
|
+
"@opentui/core-linux-arm64": "0.1.9",
|
|
45
|
+
"@opentui/core-win32-x64": "0.1.9",
|
|
46
|
+
"@opentui/core-win32-arm64": "0.1.9"
|
|
48
47
|
}
|
|
49
48
|
}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import type { RenderableOptions } from "../Renderable";
|
|
2
|
-
import { RGBA, type SelectionState } from "../types";
|
|
3
2
|
import { type fonts } from "../lib/ascii.font";
|
|
3
|
+
import { RGBA } from "../lib/RGBA";
|
|
4
4
|
import { FrameBufferRenderable } from "./FrameBuffer";
|
|
5
|
+
import type { SelectionState } from "../types";
|
|
5
6
|
export interface ASCIIFontOptions extends RenderableOptions {
|
|
6
7
|
text?: string;
|
|
7
8
|
font?: "tiny" | "block" | "shade" | "slick";
|
package/renderables/Box.d.ts
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { type RenderableOptions, Renderable } from "../Renderable";
|
|
2
2
|
import type { OptimizedBuffer } from "../buffer";
|
|
3
|
-
import { RGBA } from "../
|
|
3
|
+
import { RGBA, type ColorInput } from "../lib/RGBA";
|
|
4
4
|
import { type BorderStyle, type BorderSides, type BorderCharacters, type BorderSidesConfig } from "../lib";
|
|
5
|
-
import type { ColorInput } from "../types";
|
|
6
5
|
export interface BoxOptions extends RenderableOptions {
|
|
7
6
|
backgroundColor?: string | RGBA;
|
|
8
7
|
borderStyle?: BorderStyle;
|
|
@@ -20,12 +19,15 @@ export declare class BoxRenderable extends Renderable {
|
|
|
20
19
|
protected _borderStyle: BorderStyle;
|
|
21
20
|
protected _borderColor: RGBA;
|
|
22
21
|
protected _focusedBorderColor: RGBA;
|
|
23
|
-
|
|
22
|
+
private _customBorderCharsObj;
|
|
23
|
+
protected _customBorderChars?: Uint32Array;
|
|
24
24
|
protected borderSides: BorderSidesConfig;
|
|
25
25
|
shouldFill: boolean;
|
|
26
26
|
protected _title?: string;
|
|
27
27
|
protected _titleAlignment: "left" | "center" | "right";
|
|
28
28
|
constructor(id: string, options: BoxOptions);
|
|
29
|
+
get customBorderChars(): BorderCharacters | undefined;
|
|
30
|
+
set customBorderChars(value: BorderCharacters | undefined);
|
|
29
31
|
get backgroundColor(): RGBA;
|
|
30
32
|
set backgroundColor(value: RGBA | string | undefined);
|
|
31
33
|
get border(): boolean | BorderSides[];
|
package/renderables/Input.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Renderable, type RenderableOptions } from "../Renderable";
|
|
2
2
|
import { OptimizedBuffer } from "../buffer";
|
|
3
3
|
import type { ParsedKey } from "../lib/parse.keypress";
|
|
4
|
-
import type
|
|
4
|
+
import { type ColorInput } from "../lib/RGBA";
|
|
5
5
|
export interface InputRenderableOptions extends RenderableOptions {
|
|
6
6
|
backgroundColor?: ColorInput;
|
|
7
7
|
textColor?: ColorInput;
|
|
@@ -51,5 +51,7 @@ export declare class InputRenderable extends Renderable {
|
|
|
51
51
|
set focusedTextColor(color: ColorInput);
|
|
52
52
|
set placeholderColor(color: ColorInput);
|
|
53
53
|
set cursorColor(color: ColorInput);
|
|
54
|
+
updateFromLayout(): void;
|
|
55
|
+
protected onResize(width: number, height: number): void;
|
|
54
56
|
protected destroySelf(): void;
|
|
55
57
|
}
|
package/renderables/Select.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { Renderable, type RenderableOptions } from "../Renderable";
|
|
|
2
2
|
import { OptimizedBuffer } from "../buffer";
|
|
3
3
|
import { fonts } from "../lib/ascii.font";
|
|
4
4
|
import type { ParsedKey } from "../lib/parse.keypress";
|
|
5
|
-
import type
|
|
5
|
+
import { type ColorInput } from "../lib/RGBA";
|
|
6
6
|
export interface SelectOption {
|
|
7
7
|
name: string;
|
|
8
8
|
description: string;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Renderable, type RenderableOptions } from "../Renderable";
|
|
2
2
|
import { OptimizedBuffer } from "../buffer";
|
|
3
|
-
import type
|
|
3
|
+
import { type ColorInput } from "../lib/RGBA";
|
|
4
4
|
import type { ParsedKey } from "../lib/parse.keypress";
|
|
5
5
|
export interface TabSelectOption {
|
|
6
6
|
name: string;
|
|
@@ -29,22 +29,22 @@ export declare enum TabSelectRenderableEvents {
|
|
|
29
29
|
}
|
|
30
30
|
export declare class TabSelectRenderable extends Renderable {
|
|
31
31
|
protected focusable: boolean;
|
|
32
|
-
private
|
|
32
|
+
private _options;
|
|
33
33
|
private selectedIndex;
|
|
34
34
|
private scrollOffset;
|
|
35
|
-
private
|
|
35
|
+
private _tabWidth;
|
|
36
36
|
private maxVisibleTabs;
|
|
37
|
-
private
|
|
38
|
-
private
|
|
39
|
-
private
|
|
40
|
-
private
|
|
41
|
-
private
|
|
42
|
-
private
|
|
43
|
-
private
|
|
44
|
-
private
|
|
45
|
-
private
|
|
46
|
-
private
|
|
47
|
-
private
|
|
37
|
+
private _backgroundColor;
|
|
38
|
+
private _textColor;
|
|
39
|
+
private _focusedBackgroundColor;
|
|
40
|
+
private _focusedTextColor;
|
|
41
|
+
private _selectedBackgroundColor;
|
|
42
|
+
private _selectedTextColor;
|
|
43
|
+
private _selectedDescriptionColor;
|
|
44
|
+
private _showScrollArrows;
|
|
45
|
+
private _showDescription;
|
|
46
|
+
private _showUnderline;
|
|
47
|
+
private _wrapSelection;
|
|
48
48
|
constructor(id: string, options: TabSelectRenderableOptions);
|
|
49
49
|
private calculateDynamicHeight;
|
|
50
50
|
protected renderSelf(buffer: OptimizedBuffer, deltaTime: number): void;
|
|
@@ -63,12 +63,23 @@ export declare class TabSelectRenderable extends Renderable {
|
|
|
63
63
|
setTabWidth(tabWidth: number): void;
|
|
64
64
|
getTabWidth(): number;
|
|
65
65
|
handleKeyPress(key: ParsedKey | string): boolean;
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
66
|
+
get options(): TabSelectOption[];
|
|
67
|
+
set options(options: TabSelectOption[]);
|
|
68
|
+
set backgroundColor(color: ColorInput);
|
|
69
|
+
set textColor(color: ColorInput);
|
|
70
|
+
set focusedBackgroundColor(color: ColorInput);
|
|
71
|
+
set focusedTextColor(color: ColorInput);
|
|
72
|
+
set selectedBackgroundColor(color: ColorInput);
|
|
73
|
+
set selectedTextColor(color: ColorInput);
|
|
74
|
+
set selectedDescriptionColor(color: ColorInput);
|
|
75
|
+
get showDescription(): boolean;
|
|
76
|
+
set showDescription(show: boolean);
|
|
77
|
+
get showUnderline(): boolean;
|
|
78
|
+
set showUnderline(show: boolean);
|
|
79
|
+
get showScrollArrows(): boolean;
|
|
80
|
+
set showScrollArrows(show: boolean);
|
|
81
|
+
get wrapSelection(): boolean;
|
|
82
|
+
set wrapSelection(wrap: boolean);
|
|
83
|
+
get tabWidth(): number;
|
|
84
|
+
set tabWidth(tabWidth: number);
|
|
74
85
|
}
|
package/renderables/Text.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Renderable, type RenderableOptions } from "../Renderable";
|
|
2
2
|
import { StyledText } from "../lib/styled-text";
|
|
3
|
-
import { RGBA
|
|
3
|
+
import { RGBA } from "../lib/RGBA";
|
|
4
|
+
import type { SelectionState } from "../types";
|
|
4
5
|
import type { OptimizedBuffer } from "../buffer";
|
|
5
6
|
export interface TextOptions extends RenderableOptions {
|
|
6
7
|
content?: StyledText | string;
|
package/renderer.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Renderable, RootRenderable } from "./Renderable";
|
|
2
|
-
import { type
|
|
2
|
+
import { type CursorStyle, DebugOverlayCorner } from "./types";
|
|
3
|
+
import { RGBA, type ColorInput } from "./lib/RGBA";
|
|
3
4
|
import type { Pointer } from "bun:ffi";
|
|
4
5
|
import { OptimizedBuffer } from "./buffer";
|
|
5
6
|
import { type RenderLib } from "./zig";
|
|
@@ -61,6 +62,7 @@ export declare enum CliRenderEvents {
|
|
|
61
62
|
DEBUG_OVERLAY_TOGGLE = "debugOverlay:toggle"
|
|
62
63
|
}
|
|
63
64
|
export declare class CliRenderer extends EventEmitter {
|
|
65
|
+
private static animationFrameId;
|
|
64
66
|
private lib;
|
|
65
67
|
rendererPtr: Pointer;
|
|
66
68
|
private stdin;
|
|
@@ -84,7 +86,6 @@ export declare class CliRenderer extends EventEmitter {
|
|
|
84
86
|
private postProcessFns;
|
|
85
87
|
private backgroundColor;
|
|
86
88
|
private waitingForPixelResolution;
|
|
87
|
-
private shutdownRequested;
|
|
88
89
|
private rendering;
|
|
89
90
|
private renderingNative;
|
|
90
91
|
private renderTimeout;
|
|
@@ -95,6 +96,8 @@ export declare class CliRenderer extends EventEmitter {
|
|
|
95
96
|
private targetFrameTime;
|
|
96
97
|
private immediateRerenderRequested;
|
|
97
98
|
private updateScheduled;
|
|
99
|
+
private liveRequestCounter;
|
|
100
|
+
private controlState;
|
|
98
101
|
private frameCallbacks;
|
|
99
102
|
private renderStats;
|
|
100
103
|
debugOverlay: {
|
|
@@ -139,6 +142,8 @@ export declare class CliRenderer extends EventEmitter {
|
|
|
139
142
|
get useMouse(): boolean;
|
|
140
143
|
set useMouse(useMouse: boolean);
|
|
141
144
|
get experimental_splitHeight(): number;
|
|
145
|
+
get liveRequestCount(): number;
|
|
146
|
+
get currentControlState(): string;
|
|
142
147
|
set experimental_splitHeight(splitHeight: number);
|
|
143
148
|
private interceptStdoutWrite;
|
|
144
149
|
private disableStdoutInterception;
|
|
@@ -176,9 +181,14 @@ export declare class CliRenderer extends EventEmitter {
|
|
|
176
181
|
setFrameCallback(callback: (deltaTime: number) => Promise<void>): void;
|
|
177
182
|
removeFrameCallback(callback: (deltaTime: number) => Promise<void>): void;
|
|
178
183
|
clearFrameCallbacks(): void;
|
|
184
|
+
requestLive(): void;
|
|
185
|
+
dropLive(): void;
|
|
179
186
|
start(): void;
|
|
187
|
+
private internalStart;
|
|
180
188
|
pause(): void;
|
|
189
|
+
private internalPause;
|
|
181
190
|
stop(): void;
|
|
191
|
+
private internalStop;
|
|
182
192
|
destroy(): void;
|
|
183
193
|
private startRenderLoop;
|
|
184
194
|
private loop;
|
package/singleton.d.ts
ADDED
package/text-buffer.d.ts
CHANGED
package/types.d.ts
CHANGED
|
@@ -1,23 +1,3 @@
|
|
|
1
|
-
export declare class RGBA {
|
|
2
|
-
buffer: Float32Array;
|
|
3
|
-
constructor(buffer: Float32Array);
|
|
4
|
-
static fromArray(array: Float32Array): RGBA;
|
|
5
|
-
static fromValues(r: number, g: number, b: number, a?: number): RGBA;
|
|
6
|
-
static fromInts(r: number, g: number, b: number, a?: number): RGBA;
|
|
7
|
-
static fromHex(hex: string): RGBA;
|
|
8
|
-
toInts(): [number, number, number, number];
|
|
9
|
-
get r(): number;
|
|
10
|
-
set r(value: number);
|
|
11
|
-
get g(): number;
|
|
12
|
-
set g(value: number);
|
|
13
|
-
get b(): number;
|
|
14
|
-
set b(value: number);
|
|
15
|
-
get a(): number;
|
|
16
|
-
set a(value: number);
|
|
17
|
-
map<R>(fn: (value: number) => R): R[];
|
|
18
|
-
toString(): string;
|
|
19
|
-
}
|
|
20
|
-
export type ColorInput = string | RGBA;
|
|
21
1
|
export declare const TextAttributes: {
|
|
22
2
|
NONE: number;
|
|
23
3
|
BOLD: number;
|
package/utils.d.ts
CHANGED
|
@@ -1,8 +1,3 @@
|
|
|
1
|
-
import { type ColorInput, RGBA } from "./types";
|
|
2
|
-
export declare function hexToRgb(hex: string): RGBA;
|
|
3
|
-
export declare function rgbToHex(rgb: RGBA): string;
|
|
4
|
-
export declare function hsvToRgb(h: number, s: number, v: number): RGBA;
|
|
5
|
-
export declare function parseColor(color: ColorInput): RGBA;
|
|
6
1
|
export declare function createTextAttributes({ bold, italic, underline, dim, blink, inverse, hidden, strikethrough, }?: {
|
|
7
2
|
bold?: boolean;
|
|
8
3
|
italic?: boolean;
|
package/zig.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type Pointer } from "bun:ffi";
|
|
2
2
|
import type { CursorStyle, DebugOverlayCorner } from "./types";
|
|
3
|
-
import { RGBA } from "./
|
|
3
|
+
import { RGBA } from "./lib/RGBA";
|
|
4
4
|
import { OptimizedBuffer } from "./buffer";
|
|
5
5
|
import { TextBuffer } from "./text-buffer";
|
|
6
6
|
export interface RenderLib {
|