@opentui/core 0.1.83 → 0.1.85

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,6 @@
1
+ import type { TextChunk } from "../text-buffer";
2
+ import type { SimpleHighlight } from "./tree-sitter/types";
3
+ export declare function detectLinks(chunks: TextChunk[], context: {
4
+ content: string;
5
+ highlights: SimpleHighlight[];
6
+ }): TextChunk[];
package/lib/index.d.ts CHANGED
@@ -16,3 +16,4 @@ export * from "./tree-sitter";
16
16
  export * from "./data-paths";
17
17
  export * from "./extmarks";
18
18
  export * from "./terminal-palette";
19
+ export { detectLinks } from "./detect-links";
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.83",
7
+ "version": "0.1.85",
8
8
  "description": "OpenTUI is a TypeScript library on a native Zig core for building terminal user interfaces (TUIs)",
9
9
  "license": "MIT",
10
10
  "repository": {
@@ -57,11 +57,11 @@
57
57
  "bun-webgpu": "0.1.5",
58
58
  "planck": "^1.4.2",
59
59
  "three": "0.177.0",
60
- "@opentui/core-darwin-x64": "0.1.83",
61
- "@opentui/core-darwin-arm64": "0.1.83",
62
- "@opentui/core-linux-x64": "0.1.83",
63
- "@opentui/core-linux-arm64": "0.1.83",
64
- "@opentui/core-win32-x64": "0.1.83",
65
- "@opentui/core-win32-arm64": "0.1.83"
60
+ "@opentui/core-darwin-x64": "0.1.85",
61
+ "@opentui/core-darwin-arm64": "0.1.85",
62
+ "@opentui/core-linux-x64": "0.1.85",
63
+ "@opentui/core-linux-arm64": "0.1.85",
64
+ "@opentui/core-win32-x64": "0.1.85",
65
+ "@opentui/core-win32-arm64": "0.1.85"
66
66
  }
67
67
  }
package/parser.worker.js CHANGED
@@ -858,5 +858,5 @@ if (!isMainThread) {
858
858
  };
859
859
  }
860
860
 
861
- //# debugId=A12A2CF1481F706164756E2164756E21
861
+ //# debugId=D486E9806A62187464756E2164756E21
862
862
  //# sourceMappingURL=parser.worker.js.map
@@ -7,6 +7,6 @@
7
7
  "import { basename, join } from \"node:path\"\n\nexport function isBunfsPath(path: string): boolean {\n // Removed ambiguous '//' check\n return path.includes(\"$bunfs\") || /^B:[\\\\/]~BUN/i.test(path)\n}\n\nexport function getBunfsRootPath(): string {\n return process.platform === \"win32\" ? \"B:\\\\~BUN\\\\root\" : \"/$bunfs/root\"\n}\n\n/**\n * Normalizes a path to the embedded root.\n * Flattens directory structure to ensure file exists at root.\n */\nexport function normalizeBunfsPath(fileName: string): string {\n return join(getBunfsRootPath(), basename(fileName))\n}\n"
8
8
  ],
9
9
  "mappings": "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",
10
- "debugId": "A12A2CF1481F706164756E2164756E21",
10
+ "debugId": "D486E9806A62187464756E2164756E21",
11
11
  "names": []
12
12
  }
@@ -4,12 +4,17 @@ import { TreeSitterClient } from "../lib/tree-sitter";
4
4
  import { TextBufferRenderable, type TextBufferOptions } from "./TextBufferRenderable";
5
5
  import type { OptimizedBuffer } from "../buffer";
6
6
  import type { SimpleHighlight } from "../lib/tree-sitter/types";
7
+ import type { TextChunk } from "../text-buffer";
7
8
  export interface HighlightContext {
8
9
  content: string;
9
10
  filetype: string;
10
11
  syntaxStyle: SyntaxStyle;
11
12
  }
12
13
  export type OnHighlightCallback = (highlights: SimpleHighlight[], context: HighlightContext) => SimpleHighlight[] | undefined | Promise<SimpleHighlight[] | undefined>;
14
+ export interface ChunkRenderContext extends HighlightContext {
15
+ highlights: SimpleHighlight[];
16
+ }
17
+ export type OnChunksCallback = (chunks: TextChunk[], context: ChunkRenderContext) => TextChunk[] | undefined | Promise<TextChunk[] | undefined>;
13
18
  export interface CodeOptions extends TextBufferOptions {
14
19
  content?: string;
15
20
  filetype?: string;
@@ -19,6 +24,7 @@ export interface CodeOptions extends TextBufferOptions {
19
24
  drawUnstyledText?: boolean;
20
25
  streaming?: boolean;
21
26
  onHighlight?: OnHighlightCallback;
27
+ onChunks?: OnChunksCallback;
22
28
  }
23
29
  export declare class CodeRenderable extends TextBufferRenderable {
24
30
  private _content;
@@ -35,6 +41,7 @@ export declare class CodeRenderable extends TextBufferRenderable {
35
41
  private _hadInitialContent;
36
42
  private _lastHighlights;
37
43
  private _onHighlight?;
44
+ private _onChunks?;
38
45
  protected _contentDefaultOptions: {
39
46
  content: string;
40
47
  conceal: true;
@@ -45,7 +52,7 @@ export declare class CodeRenderable extends TextBufferRenderable {
45
52
  get content(): string;
46
53
  set content(value: string);
47
54
  get filetype(): string | undefined;
48
- set filetype(value: string);
55
+ set filetype(value: string | undefined);
49
56
  get syntaxStyle(): SyntaxStyle;
50
57
  set syntaxStyle(value: SyntaxStyle);
51
58
  get conceal(): boolean;
@@ -58,7 +65,10 @@ export declare class CodeRenderable extends TextBufferRenderable {
58
65
  set treeSitterClient(value: TreeSitterClient);
59
66
  get onHighlight(): OnHighlightCallback | undefined;
60
67
  set onHighlight(value: OnHighlightCallback | undefined);
68
+ get onChunks(): OnChunksCallback | undefined;
69
+ set onChunks(value: OnChunksCallback | undefined);
61
70
  get isHighlighting(): boolean;
71
+ protected transformChunks(chunks: TextChunk[], context: ChunkRenderContext): Promise<TextChunk[]>;
62
72
  private ensureVisibleTextBeforeHighlight;
63
73
  private startHighlight;
64
74
  getLineHighlights(lineIdx: number): import("..").Highlight[];
@@ -4,7 +4,7 @@ import { SyntaxStyle } from "../syntax-style";
4
4
  import type { BorderStyle } from "../lib/border";
5
5
  import type { ColorInput } from "../lib/RGBA";
6
6
  import { type MarkedToken, type Token } from "marked";
7
- import { type TextTableColumnWidthMode, type TextTableContent } from "./TextTable";
7
+ import { type TextTableColumnFitter, type TextTableColumnWidthMode, type TextTableContent } from "./TextTable";
8
8
  import type { TreeSitterClient } from "../lib/tree-sitter";
9
9
  import { type ParseState } from "./markdown-parser";
10
10
  import type { OptimizedBuffer } from "../buffer";
@@ -12,9 +12,13 @@ export interface MarkdownTableOptions {
12
12
  /**
13
13
  * Strategy for sizing table columns.
14
14
  * - "content": columns fit to intrinsic content width.
15
- * - "fill": columns expand to fill available width.
15
+ * - "full": columns expand to fill available width.
16
16
  */
17
17
  widthMode?: TextTableColumnWidthMode;
18
+ /**
19
+ * Column fitting method when shrinking constrained tables.
20
+ */
21
+ columnFitter?: TextTableColumnFitter;
18
22
  /**
19
23
  * Wrapping strategy for table cell content.
20
24
  */
@@ -47,11 +51,23 @@ export interface MarkdownTableOptions {
47
51
  export interface MarkdownOptions extends RenderableOptions<MarkdownRenderable> {
48
52
  content?: string;
49
53
  syntaxStyle: SyntaxStyle;
54
+ /** Controls concealment for markdown syntax markers in markdown text blocks. */
50
55
  conceal?: boolean;
56
+ /** Controls concealment inside fenced code blocks rendered by CodeRenderable. */
57
+ concealCode?: boolean;
51
58
  treeSitterClient?: TreeSitterClient;
52
59
  /**
53
60
  * Enable streaming mode for incremental content updates.
54
- * When true, trailing tokens are kept unstable to handle incomplete content.
61
+ *
62
+ * Semantics:
63
+ * - The trailing markdown block stays unstable while streaming is enabled.
64
+ * - Tables render all rows produced by the markdown parser (including trailing rows).
65
+ * - Incomplete table rows are normalized by the parser and rendered with empty cells
66
+ * where data is missing.
67
+ *
68
+ * Expectations:
69
+ * - Keep this true while chunks are still being appended.
70
+ * - Set this to false once streaming is complete to finalize trailing token parsing.
55
71
  */
56
72
  streaming?: boolean;
57
73
  /**
@@ -67,6 +83,7 @@ export interface MarkdownOptions extends RenderableOptions<MarkdownRenderable> {
67
83
  export interface RenderNodeContext {
68
84
  syntaxStyle: SyntaxStyle;
69
85
  conceal: boolean;
86
+ concealCode: boolean;
70
87
  treeSitterClient?: TreeSitterClient;
71
88
  /** Creates default renderable for this token */
72
89
  defaultRender: () => Renderable | null;
@@ -86,6 +103,7 @@ export declare class MarkdownRenderable extends Renderable {
86
103
  private _content;
87
104
  private _syntaxStyle;
88
105
  private _conceal;
106
+ private _concealCode;
89
107
  private _treeSitterClient?;
90
108
  private _tableOptions?;
91
109
  private _renderNode?;
@@ -93,9 +111,11 @@ export declare class MarkdownRenderable extends Renderable {
93
111
  private _streaming;
94
112
  _blockStates: BlockState[];
95
113
  private _styleDirty;
114
+ private _linkifyMarkdownChunks;
96
115
  protected _contentDefaultOptions: {
97
116
  content: string;
98
117
  conceal: true;
118
+ concealCode: false;
99
119
  streaming: false;
100
120
  };
101
121
  constructor(ctx: RenderContext, options: MarkdownOptions);
@@ -105,6 +125,8 @@ export declare class MarkdownRenderable extends Renderable {
105
125
  set syntaxStyle(value: SyntaxStyle);
106
126
  get conceal(): boolean;
107
127
  set conceal(value: boolean);
128
+ get concealCode(): boolean;
129
+ set concealCode(value: boolean);
108
130
  get streaming(): boolean;
109
131
  set streaming(value: boolean);
110
132
  get tableOptions(): MarkdownTableOptions | undefined;
@@ -115,14 +137,15 @@ export declare class MarkdownRenderable extends Renderable {
115
137
  private renderInlineContent;
116
138
  private renderInlineToken;
117
139
  private renderInlineTokenWithStyle;
118
- private renderHeadingChunks;
119
- private renderParagraphChunks;
120
- private renderBlockquoteChunks;
121
- private renderListChunks;
122
- private renderThematicBreakChunks;
123
- private renderTokenToChunks;
124
- private createTextRenderable;
140
+ private createMarkdownCodeRenderable;
125
141
  private createCodeRenderable;
142
+ private applyMarkdownCodeRenderable;
143
+ private applyCodeBlockRenderable;
144
+ private shouldRenderSeparately;
145
+ private getInterBlockMargin;
146
+ private createMarkdownBlockToken;
147
+ private normalizeMarkdownBlockRaw;
148
+ private buildRenderableTokens;
126
149
  private getTableRowsToRender;
127
150
  private hashString;
128
151
  private hashTableToken;
@@ -73,7 +73,7 @@ export declare class ScrollBoxRenderable extends BoxRenderable {
73
73
  get scrollHeight(): number;
74
74
  private updateStickyState;
75
75
  private applyStickyStart;
76
- constructor(ctx: RenderContext, { wrapperOptions, viewportOptions, contentOptions, rootOptions, scrollbarOptions, verticalScrollbarOptions, horizontalScrollbarOptions, stickyScroll, stickyStart, scrollX, scrollY, scrollAcceleration, viewportCulling, ...options }: ScrollBoxOptions);
76
+ constructor(ctx: RenderContext, options: ScrollBoxOptions);
77
77
  protected onUpdate(deltaTime: number): void;
78
78
  scrollBy(delta: number | {
79
79
  x: number;
@@ -100,6 +100,13 @@ export declare class ScrollBoxRenderable extends BoxRenderable {
100
100
  private getAutoScrollDirectionY;
101
101
  private getAutoScrollSpeed;
102
102
  private recalculateBarProps;
103
+ set padding(value: number | `${number}%` | null | undefined);
104
+ set paddingX(value: number | `${number}%` | null | undefined);
105
+ set paddingY(value: number | `${number}%` | null | undefined);
106
+ set paddingTop(value: number | `${number}%` | null | undefined);
107
+ set paddingRight(value: number | `${number}%` | null | undefined);
108
+ set paddingBottom(value: number | `${number}%` | null | undefined);
109
+ set paddingLeft(value: number | `${number}%` | null | undefined);
103
110
  set rootOptions(options: ScrollBoxOptions["rootOptions"]);
104
111
  set wrapperOptions(options: ScrollBoxOptions["wrapperOptions"]);
105
112
  set viewportOptions(options: ScrollBoxOptions["viewportOptions"]);
@@ -7,11 +7,13 @@ import { type TextChunk } from "../text-buffer";
7
7
  import type { RenderContext } from "../types";
8
8
  export type TextTableCellContent = TextChunk[] | null | undefined;
9
9
  export type TextTableContent = TextTableCellContent[][];
10
- export type TextTableColumnWidthMode = "content" | "fill";
10
+ export type TextTableColumnWidthMode = "content" | "full";
11
+ export type TextTableColumnFitter = "proportional" | "balanced";
11
12
  export interface TextTableOptions extends RenderableOptions<TextTableRenderable> {
12
13
  content?: TextTableContent;
13
14
  wrapMode?: "none" | "char" | "word";
14
15
  columnWidthMode?: TextTableColumnWidthMode;
16
+ columnFitter?: TextTableColumnFitter;
15
17
  cellPadding?: number;
16
18
  showBorders?: boolean;
17
19
  border?: boolean;
@@ -31,6 +33,7 @@ export declare class TextTableRenderable extends Renderable {
31
33
  private _content;
32
34
  private _wrapMode;
33
35
  private _columnWidthMode;
36
+ private _columnFitter;
34
37
  private _cellPadding;
35
38
  private _showBorders;
36
39
  private _border;
@@ -64,6 +67,8 @@ export declare class TextTableRenderable extends Renderable {
64
67
  set wrapMode(value: "none" | "char" | "word");
65
68
  get columnWidthMode(): TextTableColumnWidthMode;
66
69
  set columnWidthMode(value: TextTableColumnWidthMode);
70
+ get columnFitter(): TextTableColumnFitter;
71
+ set columnFitter(value: TextTableColumnFitter);
67
72
  get cellPadding(): number;
68
73
  set cellPadding(value: number);
69
74
  get showBorders(): boolean;
@@ -95,9 +100,13 @@ export declare class TextTableRenderable extends Renderable {
95
100
  private destroyCells;
96
101
  private rebuildLayoutForCurrentWidth;
97
102
  private computeLayout;
103
+ private isFullWidthMode;
98
104
  private computeColumnWidths;
99
105
  private expandColumnWidths;
100
106
  private fitColumnWidths;
107
+ private fitColumnWidthsProportional;
108
+ private fitColumnWidthsBalanced;
109
+ private allocateShrinkByWeight;
101
110
  private computeRowHeights;
102
111
  private computeOffsets;
103
112
  private applyLayoutToViews;
@@ -124,6 +133,7 @@ export declare class TextTableRenderable extends Renderable {
124
133
  private resolveLayoutWidthConstraint;
125
134
  private getHorizontalCellPadding;
126
135
  private getVerticalCellPadding;
136
+ private resolveColumnFitter;
127
137
  private resolveCellPadding;
128
138
  private invalidateLayoutAndRaster;
129
139
  private invalidateRasterOnly;
package/testing.js CHANGED
@@ -4,7 +4,7 @@ import {
4
4
  CliRenderer,
5
5
  TreeSitterClient,
6
6
  resolveRenderLib
7
- } from "./index-a215gqtt.js";
7
+ } from "./index-2yz42vd4.js";
8
8
 
9
9
  // src/testing/test-renderer.ts
10
10
  import { Readable } from "stream";