@opentui/core 0.1.5 → 0.1.7

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.
@@ -0,0 +1,38 @@
1
+ import type { RGBA } from "../types";
2
+ import { StyledText } from "./styled-text";
3
+ export interface HASTText {
4
+ type: "text";
5
+ value: string;
6
+ }
7
+ export interface HASTElement {
8
+ type: "element";
9
+ tagName: string;
10
+ properties?: {
11
+ className?: string;
12
+ };
13
+ children: HASTNode[];
14
+ }
15
+ export type HASTNode = HASTText | HASTElement;
16
+ export interface StyleDefinition {
17
+ fg?: RGBA;
18
+ bg?: RGBA;
19
+ bold?: boolean;
20
+ italic?: boolean;
21
+ underline?: boolean;
22
+ dim?: boolean;
23
+ }
24
+ interface MergedStyle {
25
+ fg?: RGBA;
26
+ bg?: RGBA;
27
+ attributes: number;
28
+ }
29
+ export declare class SyntaxStyle {
30
+ private styles;
31
+ private mergedStyleCache;
32
+ constructor(styles: Record<string, StyleDefinition>);
33
+ mergeStyles(...styleNames: string[]): MergedStyle;
34
+ clearCache(): void;
35
+ getCacheSize(): number;
36
+ }
37
+ export declare function hastToStyledText(hast: HASTNode, syntaxStyle: SyntaxStyle): StyledText;
38
+ export {};
package/lib/index.d.ts CHANGED
@@ -2,3 +2,4 @@ export * from "./border";
2
2
  export * from "./TrackedNode";
3
3
  export * from "./KeyHandler";
4
4
  export * from "./ascii.font";
5
+ export * from "./hast-styled-text";
@@ -14,11 +14,13 @@ export interface StyleAttrs {
14
14
  }
15
15
  export declare class StyledText {
16
16
  readonly chunks: TextChunk[];
17
- private _length;
18
17
  private _plainText;
19
- constructor(chunks: TextChunk[], length: number, plainText: string);
18
+ constructor(chunks: TextChunk[]);
20
19
  toString(): string;
21
- get length(): number;
20
+ private _chunksToPlainText;
21
+ insert(chunk: TextChunk, index?: number): void;
22
+ remove(chunk: TextChunk): void;
23
+ replace(chunk: TextChunk, oldChunk: TextChunk): void;
22
24
  }
23
25
  export declare function stringToStyledText(content: string): StyledText;
24
26
  export type StylableInput = string | number | boolean | TextChunk;
package/package.json CHANGED
@@ -4,12 +4,13 @@
4
4
  "main": "index.js",
5
5
  "types": "index.d.ts",
6
6
  "type": "module",
7
- "version": "0.1.5",
7
+ "version": "0.1.7",
8
8
  "description": "OpenTUI is a TypeScript library for building terminal user interfaces (TUIs)",
9
9
  "license": "MIT",
10
10
  "repository": {
11
11
  "type": "git",
12
- "url": "https://github.com/sst/opentui"
12
+ "url": "https://github.com/sst/opentui",
13
+ "directory": "packages/core"
13
14
  },
14
15
  "exports": {
15
16
  ".": {
@@ -27,16 +28,22 @@
27
28
  "jimp": "1.6.0",
28
29
  "yoga-layout": "3.2.1"
29
30
  },
31
+ "devDependencies": {
32
+ "@types/bun": "latest",
33
+ "@types/three": "^0.177.0",
34
+ "commander": "^13.1.0",
35
+ "prettier": "3.6.2"
36
+ },
30
37
  "optionalDependencies": {
31
38
  "@dimforge/rapier2d-simd-compat": "^0.17.3",
32
39
  "bun-webgpu": "0.1.3",
33
40
  "planck": "^1.4.2",
34
41
  "three": "0.177.0",
35
- "@opentui/core-darwin-x64": "0.1.5",
36
- "@opentui/core-darwin-arm64": "0.1.5",
37
- "@opentui/core-linux-x64": "0.1.5",
38
- "@opentui/core-linux-arm64": "0.1.5",
39
- "@opentui/core-win32-x64": "0.1.5",
40
- "@opentui/core-win32-arm64": "0.1.5"
42
+ "@opentui/core-darwin-x64": "0.1.7",
43
+ "@opentui/core-darwin-arm64": "0.1.7",
44
+ "@opentui/core-linux-x64": "0.1.7",
45
+ "@opentui/core-linux-arm64": "0.1.7",
46
+ "@opentui/core-win32-x64": "0.1.7",
47
+ "@opentui/core-win32-arm64": "0.1.7"
41
48
  }
42
49
  }
package/renderer.d.ts CHANGED
@@ -67,7 +67,6 @@ export declare class CliRenderer extends EventEmitter {
67
67
  private stdout;
68
68
  private exitOnCtrlC;
69
69
  private isDestroyed;
70
- private isShuttingDown;
71
70
  nextRenderBuffer: OptimizedBuffer;
72
71
  currentRenderBuffer: OptimizedBuffer;
73
72
  private _isRunning;
@@ -85,6 +84,7 @@ export declare class CliRenderer extends EventEmitter {
85
84
  private postProcessFns;
86
85
  private backgroundColor;
87
86
  private waitingForPixelResolution;
87
+ private shutdownRequested;
88
88
  private rendering;
89
89
  private renderingNative;
90
90
  private renderTimeout;
@@ -146,7 +146,6 @@ export declare class CliRenderer extends EventEmitter {
146
146
  private enableMouse;
147
147
  private disableMouse;
148
148
  set useThread(useThread: boolean);
149
- setTerminalSize(width: number, height: number): void;
150
149
  private setupTerminal;
151
150
  private handleMouseData;
152
151
  private takeMemorySnapshot;
package/zig.d.ts CHANGED
@@ -5,7 +5,7 @@ import { OptimizedBuffer } from "./buffer";
5
5
  import { TextBuffer } from "./text-buffer";
6
6
  export interface RenderLib {
7
7
  createRenderer: (width: number, height: number) => Pointer | null;
8
- destroyRenderer: (renderer: Pointer) => void;
8
+ destroyRenderer: (renderer: Pointer, useAlternateScreen: boolean, splitHeight: number) => void;
9
9
  setUseThread: (renderer: Pointer, useThread: boolean) => void;
10
10
  setBackgroundColor: (renderer: Pointer, color: RGBA) => void;
11
11
  setRenderOffset: (renderer: Pointer, offset: number) => void;
@@ -49,6 +49,8 @@ export interface RenderLib {
49
49
  dumpHitGrid: (renderer: Pointer) => void;
50
50
  dumpBuffers: (renderer: Pointer, timestamp?: number) => void;
51
51
  dumpStdoutBuffer: (renderer: Pointer, timestamp?: number) => void;
52
+ enableMouse: (renderer: Pointer, enableMovement: boolean) => void;
53
+ disableMouse: (renderer: Pointer) => void;
52
54
  createTextBuffer: (capacity: number) => TextBuffer;
53
55
  destroyTextBuffer: (buffer: Pointer) => void;
54
56
  textBufferGetCharPtr: (buffer: Pointer) => Pointer;