@opentui/core 0.1.19 → 0.1.21

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,10 @@
1
+ import type { ViewportBounds } from "../types";
2
+ interface ViewportObject {
3
+ x: number;
4
+ y: number;
5
+ width: number;
6
+ height: number;
7
+ zIndex: number;
8
+ }
9
+ export declare function getObjectsInViewport<T extends ViewportObject>(viewport: ViewportBounds, objects: T[], direction?: "row" | "column", padding?: number, minTriggerSize?: number): T[];
10
+ export {};
@@ -1,6 +1,7 @@
1
1
  import type { TextRenderable } from "../renderables/Text";
2
2
  import type { TextChunk } from "../text-buffer";
3
3
  import { type ColorInput } from "./RGBA";
4
+ declare const BrandedStyledText: unique symbol;
4
5
  export type Color = ColorInput;
5
6
  export interface StyleAttrs {
6
7
  fg?: Color;
@@ -13,7 +14,9 @@ export interface StyleAttrs {
13
14
  reverse?: boolean;
14
15
  blink?: boolean;
15
16
  }
17
+ export declare function isStyledText(obj: any): obj is StyledText;
16
18
  export declare class StyledText {
19
+ [BrandedStyledText]: boolean;
17
20
  chunks: TextChunk[];
18
21
  textRenderable?: TextRenderable;
19
22
  constructor(chunks: TextChunk[]);
@@ -71,3 +74,4 @@ export declare const bg: (color: Color) => (input: StylableInput) => TextChunk;
71
74
  * Returns a StyledText object containing chunks of text with optional styles.
72
75
  */
73
76
  export declare function t(strings: TemplateStringsArray, ...values: StylableInput[]): StyledText;
77
+ 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.19",
7
+ "version": "0.1.21",
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.19",
42
- "@opentui/core-darwin-arm64": "0.1.19",
43
- "@opentui/core-linux-x64": "0.1.19",
44
- "@opentui/core-linux-arm64": "0.1.19",
45
- "@opentui/core-win32-x64": "0.1.19",
46
- "@opentui/core-win32-arm64": "0.1.19"
41
+ "@opentui/core-darwin-x64": "0.1.21",
42
+ "@opentui/core-darwin-arm64": "0.1.21",
43
+ "@opentui/core-linux-x64": "0.1.21",
44
+ "@opentui/core-linux-arm64": "0.1.21",
45
+ "@opentui/core-win32-x64": "0.1.21",
46
+ "@opentui/core-win32-arm64": "0.1.21"
47
47
  }
48
48
  }
@@ -5,6 +5,7 @@ import { type TextChunk } from "../text-buffer";
5
5
  import { RGBA } from "../lib/RGBA";
6
6
  import { type RenderContext } from "../types";
7
7
  import type { OptimizedBuffer } from "../buffer";
8
+ import { TextNodeRenderable } from "./TextNode";
8
9
  export interface TextOptions extends RenderableOptions<TextRenderable> {
9
10
  content?: StyledText | string;
10
11
  fg?: string | RGBA;
@@ -61,9 +62,9 @@ export declare class TextRenderable extends Renderable {
61
62
  removeChunk(chunk: TextChunk): void;
62
63
  replaceChunk(chunk: TextChunk, oldChunk: TextChunk): void;
63
64
  private updateTextFromNodes;
64
- add(obj: Renderable | any, index?: number): number;
65
+ add(obj: TextNodeRenderable | StyledText | string, index?: number): number;
65
66
  remove(id: string): void;
66
- insertBefore(obj: BaseRenderable | any, anchor?: BaseRenderable): number;
67
+ insertBefore(obj: BaseRenderable | any, anchor?: TextNodeRenderable): number;
67
68
  clear(): void;
68
69
  shouldStartSelection(x: number, y: number): boolean;
69
70
  onSelectionChanged(selection: Selection | null): boolean;
@@ -73,6 +74,7 @@ export declare class TextRenderable extends Renderable {
73
74
  start: number;
74
75
  end: number;
75
76
  } | null;
77
+ protected onUpdate(deltaTime: number): void;
76
78
  render(buffer: OptimizedBuffer, deltaTime: number): void;
77
79
  protected renderSelf(buffer: OptimizedBuffer): void;
78
80
  destroy(): void;
@@ -1,5 +1,6 @@
1
1
  import { BaseRenderable, type BaseRenderableOptions } from "../Renderable";
2
2
  import { RGBA } from "../lib/RGBA";
3
+ import { StyledText } from "../lib/styled-text";
3
4
  import { type TextChunk } from "../text-buffer";
4
5
  import type { RenderContext } from "../types";
5
6
  export interface TextNodeOptions extends BaseRenderableOptions {
@@ -20,8 +21,8 @@ export declare class TextNodeRenderable extends BaseRenderable {
20
21
  get children(): (string | TextNodeRenderable)[];
21
22
  set children(children: (string | TextNodeRenderable)[]);
22
23
  requestRender(): void;
23
- add(obj: TextNodeRenderable | string, index?: number): number;
24
- insertBefore(child: string | TextNodeRenderable, anchorNode: string | TextNodeRenderable): this;
24
+ add(obj: TextNodeRenderable | StyledText | string, index?: number): number;
25
+ insertBefore(child: string | TextNodeRenderable | StyledText, anchorNode: TextNodeRenderable | string | unknown): this;
25
26
  remove(child: string | TextNodeRenderable): this;
26
27
  clear(): void;
27
28
  mergeStyles(parentStyle: {
@@ -27,7 +27,7 @@ export declare function h<TCtor extends RenderableConstructor<any>>(type: TCtor,
27
27
  export declare function h<P>(type: FunctionalConstruct<P>, props?: P, ...children: VChild[]): VNode<P>;
28
28
  export declare function h<P>(type: Construct<P>, props?: P, ...children: VChild[]): VNode<P> | ProxiedVNode<any>;
29
29
  export declare function isVNode(node: any): node is VNode;
30
- export declare function maybeMakeRenderable(ctx: RenderContext, node: Renderable | VNode<any, any[]>): Renderable | null;
30
+ export declare function maybeMakeRenderable(ctx: RenderContext, node: Renderable | VNode<any, any[]> | unknown): Renderable | null;
31
31
  export declare function wrapWithDelegates<T extends InstanceType<RenderableConstructor>>(instance: T, delegateMap: Record<string, string> | undefined): T;
32
32
  export type InstantiateFn<NodeType extends VNode | Renderable> = Renderable & {
33
33
  __node?: NodeType;