@opentui/core 0.1.34 → 0.1.35

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/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.34",
7
+ "version": "0.1.35",
8
8
  "description": "OpenTUI is a TypeScript library for building terminal user interfaces (TUIs)",
9
9
  "license": "MIT",
10
10
  "repository": {
@@ -55,11 +55,11 @@
55
55
  "bun-webgpu": "0.1.3",
56
56
  "planck": "^1.4.2",
57
57
  "three": "0.177.0",
58
- "@opentui/core-darwin-x64": "0.1.34",
59
- "@opentui/core-darwin-arm64": "0.1.34",
60
- "@opentui/core-linux-x64": "0.1.34",
61
- "@opentui/core-linux-arm64": "0.1.34",
62
- "@opentui/core-win32-x64": "0.1.34",
63
- "@opentui/core-win32-arm64": "0.1.34"
58
+ "@opentui/core-darwin-x64": "0.1.35",
59
+ "@opentui/core-darwin-arm64": "0.1.35",
60
+ "@opentui/core-linux-x64": "0.1.35",
61
+ "@opentui/core-linux-arm64": "0.1.35",
62
+ "@opentui/core-win32-x64": "0.1.35",
63
+ "@opentui/core-win32-arm64": "0.1.35"
64
64
  }
65
65
  }
@@ -10,6 +10,7 @@ export interface CodeOptions extends TextBufferOptions {
10
10
  treeSitterClient?: TreeSitterClient;
11
11
  conceal?: boolean;
12
12
  drawUnstyledText?: boolean;
13
+ streaming?: boolean;
13
14
  }
14
15
  export declare class CodeRenderable extends TextBufferRenderable {
15
16
  private _content;
@@ -23,10 +24,14 @@ export declare class CodeRenderable extends TextBufferRenderable {
23
24
  private _conceal;
24
25
  private _drawUnstyledText;
25
26
  private _shouldRenderTextBuffer;
27
+ private _streaming;
28
+ private _hadInitialContent;
29
+ private _lastHighlights;
26
30
  protected _contentDefaultOptions: {
27
31
  content: string;
28
32
  conceal: true;
29
33
  drawUnstyledText: true;
34
+ streaming: false;
30
35
  };
31
36
  constructor(ctx: RenderContext, options: CodeOptions);
32
37
  get content(): string;
@@ -39,6 +44,8 @@ export declare class CodeRenderable extends TextBufferRenderable {
39
44
  set conceal(value: boolean);
40
45
  get drawUnstyledText(): boolean;
41
46
  set drawUnstyledText(value: boolean);
47
+ get streaming(): boolean;
48
+ set streaming(value: boolean);
42
49
  get treeSitterClient(): TreeSitterClient;
43
50
  set treeSitterClient(value: TreeSitterClient);
44
51
  private scheduleUpdate;
@@ -3,7 +3,7 @@ import { Selection, type LocalSelectionBounds } from "../lib/selection";
3
3
  import { EditBuffer, type LogicalCursor } from "../edit-buffer";
4
4
  import { EditorView, type VisualCursor } from "../editor-view";
5
5
  import { RGBA } from "../lib/RGBA";
6
- import { type RenderContext, type Highlight } from "../types";
6
+ import type { RenderContext, Highlight, CursorStyleOptions } from "../types";
7
7
  import type { OptimizedBuffer } from "../buffer";
8
8
  import type { SyntaxStyle } from "../syntax-style";
9
9
  export interface CursorChangeEvent {
@@ -23,6 +23,7 @@ export interface EditBufferOptions extends RenderableOptions<EditBufferRenderabl
23
23
  scrollMargin?: number;
24
24
  showCursor?: boolean;
25
25
  cursorColor?: string | RGBA;
26
+ cursorStyle?: CursorStyleOptions;
26
27
  syntaxStyle?: SyntaxStyle;
27
28
  tabIndicator?: string | number;
28
29
  tabIndicatorColor?: string | RGBA;
@@ -41,6 +42,7 @@ export declare abstract class EditBufferRenderable extends Renderable {
41
42
  protected _scrollMargin: number;
42
43
  protected _showCursor: boolean;
43
44
  protected _cursorColor: RGBA;
45
+ protected _cursorStyle: CursorStyleOptions;
44
46
  protected lastLocalSelection: LocalSelectionBounds | null;
45
47
  protected _tabIndicator?: string | number;
46
48
  protected _tabIndicatorColor?: RGBA;
@@ -59,6 +61,10 @@ export declare abstract class EditBufferRenderable extends Renderable {
59
61
  scrollMargin: number;
60
62
  showCursor: true;
61
63
  cursorColor: RGBA;
64
+ cursorStyle: {
65
+ style: "block";
66
+ blinking: true;
67
+ };
62
68
  tabIndicator: undefined;
63
69
  tabIndicatorColor: undefined;
64
70
  };
@@ -85,6 +91,8 @@ export declare abstract class EditBufferRenderable extends Renderable {
85
91
  set showCursor(value: boolean);
86
92
  get cursorColor(): RGBA;
87
93
  set cursorColor(value: RGBA | string);
94
+ get cursorStyle(): CursorStyleOptions;
95
+ set cursorStyle(style: CursorStyleOptions);
88
96
  get tabIndicator(): string | number | undefined;
89
97
  set tabIndicator(value: string | number | undefined);
90
98
  get tabIndicatorColor(): RGBA | undefined;
@@ -2,7 +2,7 @@ import { OptimizedBuffer } from "../buffer";
2
2
  import type { KeyEvent } from "../lib/KeyHandler";
3
3
  import { type ColorInput } from "../lib/RGBA";
4
4
  import { Renderable, type RenderableOptions } from "../Renderable";
5
- import type { RenderContext } from "../types";
5
+ import type { RenderContext, CursorStyleOptions } from "../types";
6
6
  export interface InputRenderableOptions extends RenderableOptions<InputRenderable> {
7
7
  backgroundColor?: ColorInput;
8
8
  textColor?: ColorInput;
@@ -11,6 +11,7 @@ export interface InputRenderableOptions extends RenderableOptions<InputRenderabl
11
11
  placeholder?: string;
12
12
  placeholderColor?: ColorInput;
13
13
  cursorColor?: ColorInput;
14
+ cursorStyle?: CursorStyleOptions;
14
15
  maxLength?: number;
15
16
  value?: string;
16
17
  }
@@ -30,6 +31,7 @@ export declare class InputRenderable extends Renderable {
30
31
  private _focusedTextColor;
31
32
  private _placeholderColor;
32
33
  private _cursorColor;
34
+ private _cursorStyle;
33
35
  private _maxLength;
34
36
  private _lastCommittedValue;
35
37
  protected _defaultOptions: {
@@ -40,6 +42,10 @@ export declare class InputRenderable extends Renderable {
40
42
  placeholder: string;
41
43
  placeholderColor: string;
42
44
  cursorColor: string;
45
+ cursorStyle: {
46
+ style: "block";
47
+ blinking: true;
48
+ };
43
49
  maxLength: number;
44
50
  value: string;
45
51
  };
@@ -64,6 +70,8 @@ export declare class InputRenderable extends Renderable {
64
70
  set focusedTextColor(value: ColorInput);
65
71
  set placeholderColor(value: ColorInput);
66
72
  set cursorColor(value: ColorInput);
73
+ get cursorStyle(): CursorStyleOptions;
74
+ set cursorStyle(style: CursorStyleOptions);
67
75
  updateFromLayout(): void;
68
76
  protected onResize(width: number, height: number): void;
69
77
  protected onRemove(): void;
@@ -8,7 +8,10 @@ import type { VNode } from "./composition/vnode";
8
8
  import { ScrollBarRenderable, type ScrollBarOptions, type ScrollUnit } from "./ScrollBar";
9
9
  declare class ContentRenderable extends BoxRenderable {
10
10
  private viewport;
11
- constructor(ctx: RenderContext, viewport: BoxRenderable, options: RenderableOptions<BoxRenderable>);
11
+ private _viewportCulling;
12
+ constructor(ctx: RenderContext, viewport: BoxRenderable, viewportCulling: boolean, options: RenderableOptions<BoxRenderable>);
13
+ get viewportCulling(): boolean;
14
+ set viewportCulling(value: boolean);
12
15
  protected _getChildren(): Renderable[];
13
16
  }
14
17
  export interface ScrollBoxOptions extends BoxOptions<ScrollBoxRenderable> {
@@ -24,6 +27,7 @@ export interface ScrollBoxOptions extends BoxOptions<ScrollBoxRenderable> {
24
27
  scrollX?: boolean;
25
28
  scrollY?: boolean;
26
29
  scrollAcceleration?: ScrollAcceleration;
30
+ viewportCulling?: boolean;
27
31
  }
28
32
  export declare class ScrollBoxRenderable extends BoxRenderable {
29
33
  static idCounter: number;
@@ -66,7 +70,7 @@ export declare class ScrollBoxRenderable extends BoxRenderable {
66
70
  get scrollHeight(): number;
67
71
  private updateStickyState;
68
72
  private applyStickyStart;
69
- constructor(ctx: RenderContext, { wrapperOptions, viewportOptions, contentOptions, rootOptions, scrollbarOptions, verticalScrollbarOptions, horizontalScrollbarOptions, stickyScroll, stickyStart, scrollX, scrollY, scrollAcceleration, ...options }: ScrollBoxOptions);
73
+ constructor(ctx: RenderContext, { wrapperOptions, viewportOptions, contentOptions, rootOptions, scrollbarOptions, verticalScrollbarOptions, horizontalScrollbarOptions, stickyScroll, stickyStart, scrollX, scrollY, scrollAcceleration, viewportCulling, ...options }: ScrollBoxOptions);
70
74
  protected onUpdate(deltaTime: number): void;
71
75
  scrollBy(delta: number | {
72
76
  x: number;
@@ -100,6 +104,8 @@ export declare class ScrollBoxRenderable extends BoxRenderable {
100
104
  set horizontalScrollbarOptions(options: ScrollBoxOptions["horizontalScrollbarOptions"]);
101
105
  get scrollAcceleration(): ScrollAcceleration;
102
106
  set scrollAcceleration(value: ScrollAcceleration);
107
+ get viewportCulling(): boolean;
108
+ set viewportCulling(value: boolean);
103
109
  protected destroySelf(): void;
104
110
  }
105
111
  export {};
@@ -15,6 +15,7 @@ export interface SelectRenderableOptions extends RenderableOptions<SelectRendera
15
15
  focusedBackgroundColor?: ColorInput;
16
16
  focusedTextColor?: ColorInput;
17
17
  options?: SelectOption[];
18
+ selectedIndex?: number;
18
19
  selectedBackgroundColor?: ColorInput;
19
20
  selectedTextColor?: ColorInput;
20
21
  descriptionColor?: ColorInput;
@@ -33,7 +34,7 @@ export declare enum SelectRenderableEvents {
33
34
  export declare class SelectRenderable extends Renderable {
34
35
  protected _focusable: boolean;
35
36
  private _options;
36
- private selectedIndex;
37
+ private _selectedIndex;
37
38
  private scrollOffset;
38
39
  private maxVisibleItems;
39
40
  private _backgroundColor;
@@ -59,6 +60,7 @@ export declare class SelectRenderable extends Renderable {
59
60
  focusedTextColor: string;
60
61
  selectedBackgroundColor: string;
61
62
  selectedTextColor: string;
63
+ selectedIndex: number;
62
64
  descriptionColor: string;
63
65
  selectedDescriptionColor: string;
64
66
  showScrollIndicator: false;
@@ -99,4 +101,5 @@ export declare class SelectRenderable extends Renderable {
99
101
  set font(font: keyof typeof fonts);
100
102
  set itemSpacing(spacing: number);
101
103
  set fastScrollStep(step: number);
104
+ set selectedIndex(value: number);
102
105
  }
package/renderer.d.ts CHANGED
@@ -28,6 +28,7 @@ export interface CliRendererConfig {
28
28
  experimental_splitHeight?: number;
29
29
  useKittyKeyboard?: boolean;
30
30
  backgroundColor?: ColorInput;
31
+ openConsoleOnError?: boolean;
31
32
  }
32
33
  export type PixelResolution = {
33
34
  width: number;
@@ -151,6 +152,7 @@ export declare class CliRenderer extends EventEmitter implements RenderContext {
151
152
  private _latestPointer;
152
153
  private _currentFocusedRenderable;
153
154
  private lifecyclePasses;
155
+ private _openConsoleOnError;
154
156
  private handleError;
155
157
  private dumpOutputCache;
156
158
  private exitHandler;
package/testing.js CHANGED
@@ -4,7 +4,7 @@ import {
4
4
  CliRenderer,
5
5
  TreeSitterClient,
6
6
  resolveRenderLib
7
- } from "./index-x37wckj8.js";
7
+ } from "./index-n8nbvvhk.js";
8
8
 
9
9
  // src/testing/mock-keys.ts
10
10
  var KeyCodes = {
package/types.d.ts CHANGED
@@ -15,6 +15,10 @@ export declare const TextAttributes: {
15
15
  STRIKETHROUGH: number;
16
16
  };
17
17
  export type CursorStyle = "block" | "line" | "underline";
18
+ export interface CursorStyleOptions {
19
+ style: CursorStyle;
20
+ blinking: boolean;
21
+ }
18
22
  export declare enum DebugOverlayCorner {
19
23
  topLeft = 0,
20
24
  topRight = 1,