@simon_he/vue-tui 1.0.1 → 1.1.1
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/README.md +99 -46
- package/dist/TMermaidText-CXm_L969.js +885 -0
- package/dist/{TSelect-HzILuti9.js → TSelect-CiyMvwl-.js} +60 -81
- package/dist/{TTree-ChOot2Bh.js → TTree-DKGiuIcM.js} +140 -103
- package/dist/agent/mermaid.cjs +2 -0
- package/dist/agent/mermaid.d.cts +2 -0
- package/dist/agent/mermaid.d.ts +2 -0
- package/dist/agent/mermaid.js +1 -0
- package/dist/agent.cjs +31184 -24907
- package/dist/agent.d.cts +11 -1
- package/dist/agent.d.ts +11 -1
- package/dist/agent.js +1700 -13
- package/dist/block-source-5CQp4tF8.js +3230 -0
- package/dist/cli/stdin-buffer.d.ts +1 -1
- package/dist/cli.cjs +5363 -6178
- package/dist/cli.d.cts +5 -1
- package/dist/cli.d.ts +5 -1
- package/dist/cli.js +3569 -302
- package/dist/core/buffer/buffer.d.ts +2 -2
- package/dist/core/buffer/eaw-ranges-unicode-17.d.ts +14 -0
- package/dist/core/perf/instrumentation-noop.d.ts +48 -0
- package/dist/core/perf/instrumentation.d.ts +136 -0
- package/dist/core/terminal/create-terminal.d.ts +1 -0
- package/dist/core/types.d.ts +0 -4
- package/dist/core.cjs +851 -1462
- package/dist/core.js +6 -6
- package/dist/{create-terminal-C2oiWFJU.js → create-terminal-DXuZ2fci.js} +54 -19
- package/dist/debug-logger-ChY_PXVk.js +74 -0
- package/dist/{dom-renderer-BqGijQID.js → dom-renderer-DNzmg2As.js} +2 -2
- package/dist/experimental.cjs +4115 -5928
- package/dist/experimental.d.cts +2 -0
- package/dist/experimental.d.ts +2 -0
- package/dist/experimental.js +1490 -9
- package/dist/frame-perf-BBhE-iuS.js +111 -0
- package/dist/{sgr-BmzxEjAO.js → hyperlink-B35-O-cW.js} +100 -1
- package/dist/index.cjs +5025 -10332
- package/dist/index.js +16 -14
- package/dist/{linkify-D_gzn9Xq.js → linkify-CuuquMQT.js} +32 -3
- package/dist/markdown.cjs +21295 -12691
- package/dist/markdown.d.cts +1 -1
- package/dist/markdown.d.ts +1 -1
- package/dist/markdown.js +211 -51
- package/dist/mermaid-CWto52Wk.js +123 -0
- package/dist/mermaid.cjs +1707 -0
- package/dist/mermaid.d.cts +3 -0
- package/dist/mermaid.d.ts +3 -0
- package/dist/mermaid.js +6 -0
- package/dist/observability/frame-perf-store.d.ts +2 -1
- package/dist/observability/frame-perf.d.ts +33 -0
- package/dist/observability.cjs +106 -107
- package/dist/observability.d.cts +2 -2
- package/dist/observability.d.ts +2 -2
- package/dist/observability.js +3 -3
- package/dist/{path-suggest-BNqcuE3-.js → path-suggest-fPzRsgPv.js} +1 -1
- package/dist/{wheel-scroll-vBRaQ7p-.js → rect-Ng-3eKzF.js} +253 -117
- package/dist/renderer/cli/index.d.ts +1 -1
- package/dist/renderer/cli/stdout-metrics.d.ts +10 -0
- package/dist/renderer/cli/stdout-renderer.d.ts +53 -7
- package/dist/renderer/terminal-graphic-render-queue.d.ts +50 -0
- package/dist/renderer/terminal-graphics-trace.d.ts +53 -0
- package/dist/renderer/terminal-graphics.d.ts +146 -0
- package/dist/renderer-dom.cjs +364 -903
- package/dist/renderer-dom.js +4 -4
- package/dist/runtime/index.d.ts +2 -0
- package/dist/{runtime-rfcZCyJq.js → runtime-D77C03RM.js} +28 -15
- package/dist/runtime.cjs +427 -889
- package/dist/runtime.js +2 -2
- package/dist/{terminal-selection-DBinO6p5.js → terminal-selection-CQYr--26.js} +4 -1
- package/dist/{tlog-theme-CvLFNMwk.js → tlog-theme-CopRt9SC.js} +37 -6
- package/dist/{trace-CjzYeIxN.js → trace-CYHDKM1m.js} +5 -0
- package/dist/vue/agent/create-png-terminal-graphic-renderer.d.ts +19 -0
- package/dist/vue/components/TAgentTerminalGraphic.d.ts +481 -0
- package/dist/vue/components/TCharts.d.ts +1121 -0
- package/dist/vue/components/TFeedback.d.ts +1 -1
- package/dist/vue/components/TFlex.d.ts +389 -0
- package/dist/vue/components/TForm.d.ts +4 -4
- package/dist/vue/components/TLogSearchBar.d.ts +3 -3
- package/dist/vue/components/TLogSearchPager.d.ts +2 -2
- package/dist/vue/components/TMarkdownText.d.ts +162 -4
- package/dist/vue/components/TMermaidText.d.ts +900 -0
- package/dist/vue/components/TVirtualList.d.ts +9 -0
- package/dist/vue/components/TVirtualMarkdown.d.ts +170 -9
- package/dist/vue/components/TVirtualRows.d.ts +9 -0
- package/dist/vue/components/TerminalProvider.d.ts +2 -0
- package/dist/vue/context.d.ts +24 -0
- package/dist/vue/index.d.ts +5 -0
- package/dist/vue/layout/flex.d.ts +67 -0
- package/dist/vue/markdown/ast.d.ts +5 -2
- package/dist/vue/markdown/document.d.ts +5 -0
- package/dist/vue/markdown/image-actions.d.ts +14 -0
- package/dist/vue/markdown/image.d.ts +11 -0
- package/dist/vue/markdown/link-actions.d.ts +14 -0
- package/dist/vue/markdown/math-actions.d.ts +14 -0
- package/dist/vue/markdown/math.d.ts +6 -0
- package/dist/vue/markdown/render.d.ts +28 -0
- package/dist/vue/markdown/types.d.ts +78 -0
- package/dist/vue/mermaid/beautiful-mermaid.d.ts +1436 -0
- package/dist/vue/render/render-manager.d.ts +7 -0
- package/dist/vue.cjs +7215 -12430
- package/dist/vue.js +706 -39
- package/dist/wheel-scroll-CQ22Hcyj.js +106 -0
- package/dist/{hyperlink-Bn02UXJb.js → width-GqllnV8C.js} +166 -111
- package/package.json +107 -18
- package/dist/block-source-CKUOnkgT.js +0 -1663
- package/dist/frame-perf-C6Xfg85O.js +0 -24
- /package/dist/{env-Cl8qmNFN.js → env-DNCzvX8b.js} +0 -0
- /package/dist/{path-mnSgEpCm.js → path-BI9W15Zt.js} +0 -0
|
@@ -70,6 +70,10 @@ export declare const TVirtualList: import("vue").DefineComponent<import("vue").E
|
|
|
70
70
|
type: PropType<RowScrollMode>;
|
|
71
71
|
default: string;
|
|
72
72
|
};
|
|
73
|
+
terminalGraphicScrollIdleMs: {
|
|
74
|
+
type: NumberConstructor;
|
|
75
|
+
default: number;
|
|
76
|
+
};
|
|
73
77
|
}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
74
78
|
[key: string]: any;
|
|
75
79
|
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("keydown" | "focus" | "blur" | "change" | "scroll" | "update:modelValue" | "update:scrollTop" | "itemClick")[], "keydown" | "focus" | "blur" | "change" | "scroll" | "update:modelValue" | "update:scrollTop" | "itemClick", (import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps), Readonly<import("vue").ExtractPropTypes<{
|
|
@@ -141,6 +145,10 @@ export declare const TVirtualList: import("vue").DefineComponent<import("vue").E
|
|
|
141
145
|
type: PropType<RowScrollMode>;
|
|
142
146
|
default: string;
|
|
143
147
|
};
|
|
148
|
+
terminalGraphicScrollIdleMs: {
|
|
149
|
+
type: NumberConstructor;
|
|
150
|
+
default: number;
|
|
151
|
+
};
|
|
144
152
|
}>> & Readonly<{
|
|
145
153
|
onKeydown?: ((...args: any[]) => any) | undefined;
|
|
146
154
|
onFocus?: ((...args: any[]) => any) | undefined;
|
|
@@ -179,4 +187,5 @@ export declare const TVirtualList: import("vue").DefineComponent<import("vue").E
|
|
|
179
187
|
href?: string;
|
|
180
188
|
}>;
|
|
181
189
|
selectionText: (item: unknown, index: number) => string;
|
|
190
|
+
terminalGraphicScrollIdleMs: number;
|
|
182
191
|
}, {}>;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import type { PropType } from "vue";
|
|
2
2
|
import type { Style } from "../../core/types.js";
|
|
3
|
+
import type { Rect, TerminalKeyboardEvent } from "../../events/manager/types.js";
|
|
3
4
|
import { type TuiMarkdownThemeOverrides } from "../markdown/theme.js";
|
|
4
|
-
import type { TuiMarkdownBlock } from "../markdown/types.js";
|
|
5
|
+
import type { TuiMarkdownBlock, TuiMarkdownImageActionPayload, TuiMarkdownImageResolver, TuiMarkdownLinkActionPayload, TuiMarkdownMathActionPayload } from "../markdown/types.js";
|
|
5
6
|
export declare const TVirtualMarkdown: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
6
7
|
x: {
|
|
7
8
|
type: NumberConstructor;
|
|
@@ -63,9 +64,58 @@ export declare const TVirtualMarkdown: import("vue").DefineComponent<import("vue
|
|
|
63
64
|
type: PropType<TuiMarkdownThemeOverrides>;
|
|
64
65
|
default: undefined;
|
|
65
66
|
};
|
|
67
|
+
imageRenderer: {
|
|
68
|
+
type: PropType<TuiMarkdownImageResolver>;
|
|
69
|
+
default: undefined;
|
|
70
|
+
};
|
|
71
|
+
imageMinWidth: {
|
|
72
|
+
type: NumberConstructor;
|
|
73
|
+
default: undefined;
|
|
74
|
+
};
|
|
75
|
+
imageMaxWidth: {
|
|
76
|
+
type: NumberConstructor;
|
|
77
|
+
default: undefined;
|
|
78
|
+
};
|
|
79
|
+
imageMinHeight: {
|
|
80
|
+
type: NumberConstructor;
|
|
81
|
+
default: undefined;
|
|
82
|
+
};
|
|
83
|
+
imageMaxHeight: {
|
|
84
|
+
type: NumberConstructor;
|
|
85
|
+
default: undefined;
|
|
86
|
+
};
|
|
87
|
+
imagePreserveAspectRatio: {
|
|
88
|
+
type: BooleanConstructor;
|
|
89
|
+
default: boolean;
|
|
90
|
+
};
|
|
91
|
+
imageActions: {
|
|
92
|
+
type: BooleanConstructor;
|
|
93
|
+
default: boolean;
|
|
94
|
+
};
|
|
95
|
+
mathActions: {
|
|
96
|
+
type: BooleanConstructor;
|
|
97
|
+
default: boolean;
|
|
98
|
+
};
|
|
99
|
+
linkActions: {
|
|
100
|
+
type: BooleanConstructor;
|
|
101
|
+
default: boolean;
|
|
102
|
+
};
|
|
103
|
+
imageOcclusionRects: {
|
|
104
|
+
type: PropType<readonly Rect[]>;
|
|
105
|
+
default: undefined;
|
|
106
|
+
};
|
|
66
107
|
}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
67
108
|
[key: string]: any;
|
|
68
|
-
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin,
|
|
109
|
+
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
110
|
+
"update:scrollTop": (_value: number) => true;
|
|
111
|
+
scroll: (_value: number) => true;
|
|
112
|
+
focus: () => true;
|
|
113
|
+
blur: () => true;
|
|
114
|
+
keydown: (_event: TerminalKeyboardEvent) => true;
|
|
115
|
+
imageAction: (_payload: TuiMarkdownImageActionPayload) => true;
|
|
116
|
+
mathAction: (_payload: TuiMarkdownMathActionPayload) => true;
|
|
117
|
+
linkAction: (_payload: TuiMarkdownLinkActionPayload) => true;
|
|
118
|
+
}, string, (import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps), Readonly<import("vue").ExtractPropTypes<{
|
|
69
119
|
x: {
|
|
70
120
|
type: NumberConstructor;
|
|
71
121
|
required: true;
|
|
@@ -126,12 +176,108 @@ export declare const TVirtualMarkdown: import("vue").DefineComponent<import("vue
|
|
|
126
176
|
type: PropType<TuiMarkdownThemeOverrides>;
|
|
127
177
|
default: undefined;
|
|
128
178
|
};
|
|
179
|
+
imageRenderer: {
|
|
180
|
+
type: PropType<TuiMarkdownImageResolver>;
|
|
181
|
+
default: undefined;
|
|
182
|
+
};
|
|
183
|
+
imageMinWidth: {
|
|
184
|
+
type: NumberConstructor;
|
|
185
|
+
default: undefined;
|
|
186
|
+
};
|
|
187
|
+
imageMaxWidth: {
|
|
188
|
+
type: NumberConstructor;
|
|
189
|
+
default: undefined;
|
|
190
|
+
};
|
|
191
|
+
imageMinHeight: {
|
|
192
|
+
type: NumberConstructor;
|
|
193
|
+
default: undefined;
|
|
194
|
+
};
|
|
195
|
+
imageMaxHeight: {
|
|
196
|
+
type: NumberConstructor;
|
|
197
|
+
default: undefined;
|
|
198
|
+
};
|
|
199
|
+
imagePreserveAspectRatio: {
|
|
200
|
+
type: BooleanConstructor;
|
|
201
|
+
default: boolean;
|
|
202
|
+
};
|
|
203
|
+
imageActions: {
|
|
204
|
+
type: BooleanConstructor;
|
|
205
|
+
default: boolean;
|
|
206
|
+
};
|
|
207
|
+
mathActions: {
|
|
208
|
+
type: BooleanConstructor;
|
|
209
|
+
default: boolean;
|
|
210
|
+
};
|
|
211
|
+
linkActions: {
|
|
212
|
+
type: BooleanConstructor;
|
|
213
|
+
default: boolean;
|
|
214
|
+
};
|
|
215
|
+
imageOcclusionRects: {
|
|
216
|
+
type: PropType<readonly Rect[]>;
|
|
217
|
+
default: undefined;
|
|
218
|
+
};
|
|
129
219
|
}>> & Readonly<{
|
|
130
|
-
onKeydown?: ((
|
|
131
|
-
onFocus?: ((
|
|
132
|
-
onBlur?: ((
|
|
133
|
-
onScroll?: ((
|
|
134
|
-
"onUpdate:scrollTop"?: ((
|
|
220
|
+
onKeydown?: ((_event: TerminalKeyboardEvent) => any) | undefined;
|
|
221
|
+
onFocus?: (() => any) | undefined;
|
|
222
|
+
onBlur?: (() => any) | undefined;
|
|
223
|
+
onScroll?: ((_value: number) => any) | undefined;
|
|
224
|
+
"onUpdate:scrollTop"?: ((_value: number) => any) | undefined;
|
|
225
|
+
onMathAction?: ((_payload: Readonly<{
|
|
226
|
+
math: Readonly<{
|
|
227
|
+
source: string;
|
|
228
|
+
raw: string;
|
|
229
|
+
rendered: boolean;
|
|
230
|
+
}>;
|
|
231
|
+
rect: Readonly<{
|
|
232
|
+
x: number;
|
|
233
|
+
y: number;
|
|
234
|
+
w: number;
|
|
235
|
+
h: number;
|
|
236
|
+
}>;
|
|
237
|
+
cellX: number;
|
|
238
|
+
cellY: number;
|
|
239
|
+
rowIndex: number;
|
|
240
|
+
segmentIndex: number;
|
|
241
|
+
}>) => any) | undefined;
|
|
242
|
+
onImageAction?: ((_payload: Readonly<{
|
|
243
|
+
image: Readonly<{
|
|
244
|
+
kind: "image";
|
|
245
|
+
src: string;
|
|
246
|
+
alt?: string;
|
|
247
|
+
mime?: string;
|
|
248
|
+
base64?: string;
|
|
249
|
+
originalBase64?: string;
|
|
250
|
+
originalMime?: string;
|
|
251
|
+
naturalWidth?: number;
|
|
252
|
+
naturalHeight?: number;
|
|
253
|
+
displayWidth?: number;
|
|
254
|
+
displayHeight?: number;
|
|
255
|
+
}>;
|
|
256
|
+
rect: Readonly<{
|
|
257
|
+
x: number;
|
|
258
|
+
y: number;
|
|
259
|
+
w: number;
|
|
260
|
+
h: number;
|
|
261
|
+
}>;
|
|
262
|
+
cellX: number;
|
|
263
|
+
cellY: number;
|
|
264
|
+
rowIndex: number;
|
|
265
|
+
segmentIndex: number;
|
|
266
|
+
}>) => any) | undefined;
|
|
267
|
+
onLinkAction?: ((_payload: Readonly<{
|
|
268
|
+
href: string;
|
|
269
|
+
text: string;
|
|
270
|
+
rect: Readonly<{
|
|
271
|
+
x: number;
|
|
272
|
+
y: number;
|
|
273
|
+
w: number;
|
|
274
|
+
h: number;
|
|
275
|
+
}>;
|
|
276
|
+
cellX: number;
|
|
277
|
+
cellY: number;
|
|
278
|
+
rowIndex: number;
|
|
279
|
+
segmentIndex: number;
|
|
280
|
+
}>) => any) | undefined;
|
|
135
281
|
}>, {
|
|
136
282
|
style: Readonly<{
|
|
137
283
|
fg?: string;
|
|
@@ -147,9 +293,10 @@ export declare const TVirtualMarkdown: import("vue").DefineComponent<import("vue
|
|
|
147
293
|
selectable: boolean;
|
|
148
294
|
autoFocus: boolean;
|
|
149
295
|
content: string;
|
|
296
|
+
final: boolean;
|
|
297
|
+
streaming: boolean;
|
|
150
298
|
scrollTop: number;
|
|
151
299
|
customHtmlTags: readonly string[];
|
|
152
|
-
final: boolean;
|
|
153
300
|
theme: Readonly<Partial<{
|
|
154
301
|
heading: readonly Partial<Style>[];
|
|
155
302
|
strong: Partial<Style>;
|
|
@@ -164,5 +311,19 @@ export declare const TVirtualMarkdown: import("vue").DefineComponent<import("vue
|
|
|
164
311
|
html: Partial<Style>;
|
|
165
312
|
}>>;
|
|
166
313
|
blocks: readonly TuiMarkdownBlock[];
|
|
167
|
-
|
|
314
|
+
imageRenderer: TuiMarkdownImageResolver;
|
|
315
|
+
imageMinWidth: number;
|
|
316
|
+
imageMaxWidth: number;
|
|
317
|
+
imageMinHeight: number;
|
|
318
|
+
imageMaxHeight: number;
|
|
319
|
+
imagePreserveAspectRatio: boolean;
|
|
320
|
+
imageActions: boolean;
|
|
321
|
+
mathActions: boolean;
|
|
322
|
+
linkActions: boolean;
|
|
323
|
+
imageOcclusionRects: readonly Readonly<{
|
|
324
|
+
x: number;
|
|
325
|
+
y: number;
|
|
326
|
+
w: number;
|
|
327
|
+
h: number;
|
|
328
|
+
}>[];
|
|
168
329
|
}, {}>;
|
|
@@ -132,6 +132,10 @@ export declare const TVirtualRows: import("vue").DefineComponent<import("vue").E
|
|
|
132
132
|
type: PropType<TVirtualRowsRowScrollMode>;
|
|
133
133
|
default: string;
|
|
134
134
|
};
|
|
135
|
+
terminalGraphicScrollIdleMs: {
|
|
136
|
+
type: NumberConstructor;
|
|
137
|
+
default: number;
|
|
138
|
+
};
|
|
135
139
|
}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
136
140
|
[key: string]: any;
|
|
137
141
|
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("click" | "contextmenu" | "pointerdown" | "pointerup" | "pointermove" | "pointerleave" | "wheel" | "keydown" | "focus" | "blur" | "scroll" | "clickCapture" | "contextmenuCapture" | "pointerdownCapture" | "pointerupCapture" | "pointermoveCapture" | "update:scrollTop" | "itemClick")[], "click" | "contextmenu" | "pointerdown" | "pointerup" | "pointermove" | "pointerleave" | "wheel" | "keydown" | "focus" | "blur" | "scroll" | "clickCapture" | "contextmenuCapture" | "pointerdownCapture" | "pointerupCapture" | "pointermoveCapture" | "update:scrollTop" | "itemClick", (import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps), Readonly<import("vue").ExtractPropTypes<{
|
|
@@ -218,6 +222,10 @@ export declare const TVirtualRows: import("vue").DefineComponent<import("vue").E
|
|
|
218
222
|
type: PropType<TVirtualRowsRowScrollMode>;
|
|
219
223
|
default: string;
|
|
220
224
|
};
|
|
225
|
+
terminalGraphicScrollIdleMs: {
|
|
226
|
+
type: NumberConstructor;
|
|
227
|
+
default: number;
|
|
228
|
+
};
|
|
221
229
|
}>> & Readonly<{
|
|
222
230
|
onPointerleave?: ((...args: any[]) => any) | undefined;
|
|
223
231
|
onClick?: ((...args: any[]) => any) | undefined;
|
|
@@ -255,6 +263,7 @@ export declare const TVirtualRows: import("vue").DefineComponent<import("vue").E
|
|
|
255
263
|
rowScrollMode: TVirtualRowsRowScrollMode;
|
|
256
264
|
scrollTop: number;
|
|
257
265
|
selectionText: (item: unknown, index: number) => string;
|
|
266
|
+
terminalGraphicScrollIdleMs: number;
|
|
258
267
|
itemChangedRange: () => {
|
|
259
268
|
start: number;
|
|
260
269
|
end: number;
|
|
@@ -172,6 +172,8 @@ export declare const TerminalProvider: import("vue").DefineComponent<import("vue
|
|
|
172
172
|
debugIme: boolean;
|
|
173
173
|
clipboard: Readonly<{
|
|
174
174
|
supported: boolean;
|
|
175
|
+
canRead?: boolean;
|
|
176
|
+
canWrite?: boolean;
|
|
175
177
|
readText: () => Promise<string>;
|
|
176
178
|
writeText: (text: string) => Promise<void>;
|
|
177
179
|
}>;
|
package/dist/vue/context.d.ts
CHANGED
|
@@ -7,6 +7,7 @@ import type { EventManager } from "../events/manager/event-manager.js";
|
|
|
7
7
|
import type { Rect } from "../events/manager/types.js";
|
|
8
8
|
import type { SelectionTextProvider, TerminalSelectionCopyPayload, TerminalSelectionRefreshOptions } from "../selection/terminal-selection.js";
|
|
9
9
|
import type { RendererCapabilities, TerminalRendererLike } from "../renderer/capabilities.js";
|
|
10
|
+
import type { ClipboardApi } from "../runtime/index.js";
|
|
10
11
|
import type { TraceStore } from "../observability/trace.js";
|
|
11
12
|
import type { FramePerfReason } from "../observability/frame-perf.js";
|
|
12
13
|
import type { FramePerfStore } from "../observability/frame-perf-store.js";
|
|
@@ -99,6 +100,18 @@ export type TerminalSelectionContext = Readonly<{
|
|
|
99
100
|
refresh: (options?: TerminalSelectionRefreshOptions) => void;
|
|
100
101
|
clear: () => void;
|
|
101
102
|
}>;
|
|
103
|
+
export type TerminalGraphicsActivityOptions = Readonly<{
|
|
104
|
+
scrollIdleMs?: number;
|
|
105
|
+
traceId?: string;
|
|
106
|
+
trace?: boolean;
|
|
107
|
+
}>;
|
|
108
|
+
export type TerminalGraphicsActivity = Readonly<{
|
|
109
|
+
scrolling: Readonly<Ref<boolean>>;
|
|
110
|
+
version: Readonly<Ref<number>>;
|
|
111
|
+
markScroll: () => void;
|
|
112
|
+
setScrollIdleMs: (value: number | undefined) => void;
|
|
113
|
+
dispose: () => void;
|
|
114
|
+
}>;
|
|
102
115
|
export type ImeAnchor = Readonly<{
|
|
103
116
|
cellX: number;
|
|
104
117
|
cellY: number;
|
|
@@ -111,6 +124,7 @@ export type TerminalContext = Readonly<{
|
|
|
111
124
|
events: Ref<EventManager | null>;
|
|
112
125
|
scheduler: TerminalScheduler;
|
|
113
126
|
runtime: TerminalRuntime;
|
|
127
|
+
clipboard?: ClipboardApi;
|
|
114
128
|
observability: Readonly<{
|
|
115
129
|
trace: TraceStore;
|
|
116
130
|
framePerf: FramePerfStore;
|
|
@@ -127,6 +141,7 @@ export declare const TerminalContextKey: InjectionKey<Readonly<{
|
|
|
127
141
|
events: Ref<EventManager | null>;
|
|
128
142
|
scheduler: TerminalScheduler;
|
|
129
143
|
runtime: TerminalRuntime;
|
|
144
|
+
clipboard?: ClipboardApi;
|
|
130
145
|
observability: Readonly<{
|
|
131
146
|
trace: TraceStore;
|
|
132
147
|
framePerf: FramePerfStore;
|
|
@@ -150,4 +165,13 @@ export declare const TInputPluginsContextKey: InjectionKey<Readonly<Ref<readonly
|
|
|
150
165
|
install: (ctx: import("./index.js").TInputPluginContext) => void;
|
|
151
166
|
}>[]>>>;
|
|
152
167
|
export declare const TPathPickerProviderContextKey: InjectionKey<Readonly<Ref<PathPickerProvider | undefined>>>;
|
|
168
|
+
export declare const TerminalGraphicsActivityKey: InjectionKey<Readonly<{
|
|
169
|
+
scrolling: Readonly<Ref<boolean>>;
|
|
170
|
+
version: Readonly<Ref<number>>;
|
|
171
|
+
markScroll: () => void;
|
|
172
|
+
setScrollIdleMs: (value: number | undefined) => void;
|
|
173
|
+
dispose: () => void;
|
|
174
|
+
}>>;
|
|
153
175
|
export declare const DialogContextKey: InjectionKey<boolean>;
|
|
176
|
+
export declare function createTerminalGraphicsActivity(options?: TerminalGraphicsActivityOptions): TerminalGraphicsActivity;
|
|
177
|
+
export declare function createCombinedTerminalGraphicsActivity(parent: TerminalGraphicsActivity | null | undefined, own: TerminalGraphicsActivity): TerminalGraphicsActivity;
|
package/dist/vue/index.d.ts
CHANGED
|
@@ -15,6 +15,8 @@ export { TDialog } from "./components/TDialog.js";
|
|
|
15
15
|
export type { DialogButton } from "./components/TDialog.js";
|
|
16
16
|
export type { TerminalProviderSelectionConfig, TerminalProviderSelectionOptions, } from "./components/TerminalProvider.js";
|
|
17
17
|
export { TerminalProvider } from "./components/TerminalProvider.js";
|
|
18
|
+
export { TFlex, TFlexItem } from "./components/TFlex.js";
|
|
19
|
+
export type { TFlexAlign, TFlexAlignContent, TFlexDirection, TFlexMeasure, TFlexMeasureConstraints, TFlexMeasureResult, TFlexItemSlotProps, TFlexJustify, TFlexSize, } from "./components/TFlex.js";
|
|
18
20
|
export { TFlow } from "./components/TFlow.js";
|
|
19
21
|
export { TAutocompleteInput, TCheckbox, TForm, TFormContextKey, TFormField, TPasswordInput, TRadioGroup, TSlider, TSwitch, useTForm, } from "./components/TForm.js";
|
|
20
22
|
export type { TAutocompleteLoadErrorPayload, TAutocompleteOption, TAutocompleteSelectPayload, TAutocompleteSuggestionProvider, TFormContext, TFormHandle, TFormModel, TFormRule, TFormSubmitPayload, TRadioOption, } from "./components/TForm.js";
|
|
@@ -32,6 +34,8 @@ export type { TLinkActivatePayload, TLinkActivationSource, TLinkInvalidHrefPaylo
|
|
|
32
34
|
export type { TerminalLinkOpenContext, TerminalLinkOpener, TerminalLinkOpenerLike, TerminalLinkOpenSource, } from "./components/link/host.js";
|
|
33
35
|
export { linkifyTextSegments } from "./linkify.js";
|
|
34
36
|
export type { TLinkifyOptions, TLinkifyProtocol, TLinkifySegment } from "./linkify.js";
|
|
37
|
+
export { isSimpleMermaidFlowchartSource, markMermaidRenderErrorFatal, TMermaid, TMermaidText, } from "./components/TMermaidText.js";
|
|
38
|
+
export type { TMermaidAsciiOptions, TMermaidAsciiTheme, TMermaidCopyPayload, TMermaidRenderer, TMermaidRenderEligibility, TMermaidRenderEligibilityContext, TMermaidResolvedAsciiOptions, TMermaidTextProps, TMermaidTransientErrorClassifier, TMermaidTransientErrorContext, } from "./components/TMermaidText.js";
|
|
35
39
|
export { TMultilineModal } from "./components/TMultilineModal.js";
|
|
36
40
|
export { TBreadcrumb, TKeyHint, TStatusBar } from "./components/TNavigation.js";
|
|
37
41
|
export type { TBreadcrumbItem, TBreadcrumbSelectPayload } from "./components/TNavigation.js";
|
|
@@ -56,6 +60,7 @@ export { useTerminalRuntime } from "./composables/use-runtime.js";
|
|
|
56
60
|
export { useTerminalNode } from "./composables/use-terminal-node.js";
|
|
57
61
|
export { useTerminal } from "./composables/use-terminal.js";
|
|
58
62
|
export { useVisibility } from "./composables/use-visibility.js";
|
|
63
|
+
export type { TuiMarkdownGraphicSegment, TuiMarkdownImageResolver, TuiMarkdownImageResolverResult, } from "./markdown/types.js";
|
|
59
64
|
export type { TuiMarkdownTheme, TuiMarkdownThemeOverrides } from "./markdown/theme.js";
|
|
60
65
|
export { createTheme, tuiDefaultTheme } from "./theme.js";
|
|
61
66
|
export { createOverlayFocusStack, resolveOverlayPlacement } from "./overlay.js";
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import type { Rect } from "../../events/manager/types.js";
|
|
2
|
+
export type TFlexDirection = "row" | "column";
|
|
3
|
+
export type TFlexAlign = "start" | "center" | "end" | "stretch";
|
|
4
|
+
export type TFlexJustify = "start" | "center" | "end" | "space-between";
|
|
5
|
+
export type TFlexAlignContent = "start" | "center" | "end" | "space-between" | "stretch";
|
|
6
|
+
export type TFlexSize = number | string;
|
|
7
|
+
export type TFlexMeasureConstraints = Readonly<{
|
|
8
|
+
maxWidth: number;
|
|
9
|
+
maxHeight: number;
|
|
10
|
+
direction: TFlexDirection;
|
|
11
|
+
}>;
|
|
12
|
+
export type TFlexMeasureResult = Readonly<{
|
|
13
|
+
width?: number;
|
|
14
|
+
height?: number;
|
|
15
|
+
w?: number;
|
|
16
|
+
h?: number;
|
|
17
|
+
}>;
|
|
18
|
+
export type TFlexMeasure = (constraints: TFlexMeasureConstraints) => TFlexMeasureResult;
|
|
19
|
+
export type TFlexItemSlotProps = Readonly<{
|
|
20
|
+
rect: Rect;
|
|
21
|
+
}>;
|
|
22
|
+
export type BoxEdges = Readonly<{
|
|
23
|
+
top: number;
|
|
24
|
+
right: number;
|
|
25
|
+
bottom: number;
|
|
26
|
+
left: number;
|
|
27
|
+
}>;
|
|
28
|
+
export type FlexLayoutInputItem = Readonly<{
|
|
29
|
+
grow: number;
|
|
30
|
+
shrink: number;
|
|
31
|
+
basis: TFlexSize | undefined;
|
|
32
|
+
width: TFlexSize | undefined;
|
|
33
|
+
height: TFlexSize | undefined;
|
|
34
|
+
minWidth: TFlexSize | undefined;
|
|
35
|
+
minHeight: TFlexSize | undefined;
|
|
36
|
+
maxWidth: TFlexSize | undefined;
|
|
37
|
+
maxHeight: TFlexSize | undefined;
|
|
38
|
+
measure: TFlexMeasure | undefined;
|
|
39
|
+
measureCache: Map<string, {
|
|
40
|
+
main: number | undefined;
|
|
41
|
+
cross: number | undefined;
|
|
42
|
+
}> | undefined;
|
|
43
|
+
marginTop: number;
|
|
44
|
+
marginRight: number;
|
|
45
|
+
marginBottom: number;
|
|
46
|
+
marginLeft: number;
|
|
47
|
+
alignSelf: TFlexAlign | undefined;
|
|
48
|
+
}>;
|
|
49
|
+
export type FlexLayoutItem<TItem extends FlexLayoutInputItem = FlexLayoutInputItem> = Readonly<{
|
|
50
|
+
item: TItem;
|
|
51
|
+
rect: Rect;
|
|
52
|
+
}>;
|
|
53
|
+
export declare function normalizeCellCount(value: unknown, fallback?: number): number;
|
|
54
|
+
export declare function normalizeOptionalCellCount(value: unknown): number | undefined;
|
|
55
|
+
export declare function normalizeRatio(value: unknown, fallback: number): number;
|
|
56
|
+
export declare function layoutFlexItems<TItem extends FlexLayoutInputItem>(items: readonly TItem[], options: Readonly<{
|
|
57
|
+
w: number;
|
|
58
|
+
h: number;
|
|
59
|
+
direction: TFlexDirection;
|
|
60
|
+
mainGap: number;
|
|
61
|
+
crossGap: number;
|
|
62
|
+
padding: BoxEdges;
|
|
63
|
+
alignItems: TFlexAlign;
|
|
64
|
+
justifyContent: TFlexJustify;
|
|
65
|
+
alignContent: TFlexAlignContent;
|
|
66
|
+
wrap: boolean;
|
|
67
|
+
}>): FlexLayoutItem<TItem>[];
|
|
@@ -1,3 +1,6 @@
|
|
|
1
1
|
import { type TuiMarkdownTheme } from "./theme.js";
|
|
2
|
-
import type { TuiMarkdownBlock, TuiMarkdownNode } from "./types.js";
|
|
3
|
-
export declare function markdownAstToBlocks(nodes: readonly TuiMarkdownNode[], theme: TuiMarkdownTheme
|
|
2
|
+
import type { TuiMarkdownBlock, TuiMarkdownImageResolver, TuiMarkdownImageSize, TuiMarkdownNode } from "./types.js";
|
|
3
|
+
export declare function markdownAstToBlocks(nodes: readonly TuiMarkdownNode[], theme: TuiMarkdownTheme, options?: Readonly<{
|
|
4
|
+
imageResolver?: TuiMarkdownImageResolver;
|
|
5
|
+
imageSize?: TuiMarkdownImageSize;
|
|
6
|
+
}>): readonly TuiMarkdownBlock[];
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { TuiMarkdownImageResolver, TuiMarkdownImageSize } from "./types.js";
|
|
1
2
|
import { type TuiMarkdownParser } from "./parser.js";
|
|
2
3
|
import { type TuiMarkdownThemeOverrides } from "./theme.js";
|
|
3
4
|
import type { TuiMarkdownBlock, TuiMarkdownNode, TuiMarkdownVisualRow } from "./types.js";
|
|
@@ -9,6 +10,8 @@ import type { WidthProvider } from "../../core/buffer/width.js";
|
|
|
9
10
|
export declare function buildMarkdownBlocks(content: string, parser: TuiMarkdownParser, options?: Readonly<{
|
|
10
11
|
final?: boolean;
|
|
11
12
|
theme?: TuiMarkdownThemeOverrides;
|
|
13
|
+
imageResolver?: TuiMarkdownImageResolver;
|
|
14
|
+
imageSize?: TuiMarkdownImageSize;
|
|
12
15
|
}>): Readonly<{
|
|
13
16
|
nodes: readonly TuiMarkdownNode[];
|
|
14
17
|
blocks: readonly TuiMarkdownBlock[];
|
|
@@ -17,4 +20,6 @@ export declare function buildMarkdownVisualRows(content: string, width: number,
|
|
|
17
20
|
final?: boolean;
|
|
18
21
|
theme?: TuiMarkdownThemeOverrides;
|
|
19
22
|
widthProvider?: WidthProvider;
|
|
23
|
+
imageResolver?: TuiMarkdownImageResolver;
|
|
24
|
+
imageSize?: TuiMarkdownImageSize;
|
|
20
25
|
}>): readonly TuiMarkdownVisualRow[];
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { TuiMarkdownImageActionPayload, TuiMarkdownVisualRow } from "./types.js";
|
|
2
|
+
export declare function findMarkdownImageActionAt(rows: readonly TuiMarkdownVisualRow[], point: Readonly<{
|
|
3
|
+
cellX: number;
|
|
4
|
+
cellY: number;
|
|
5
|
+
}>, options: Readonly<{
|
|
6
|
+
screenRect: Readonly<{
|
|
7
|
+
x: number;
|
|
8
|
+
y: number;
|
|
9
|
+
w: number;
|
|
10
|
+
h: number;
|
|
11
|
+
}>;
|
|
12
|
+
rowOffset: number;
|
|
13
|
+
clipStart: number;
|
|
14
|
+
}>): TuiMarkdownImageActionPayload | null;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export type TuiMarkdownImageSource = Readonly<{
|
|
2
|
+
src: string;
|
|
3
|
+
mime?: string;
|
|
4
|
+
base64?: string;
|
|
5
|
+
}>;
|
|
6
|
+
export type TuiMarkdownImageDimensions = Readonly<{
|
|
7
|
+
width: number;
|
|
8
|
+
height: number;
|
|
9
|
+
}>;
|
|
10
|
+
export declare function sanitizeMarkdownImageSource(src: unknown): TuiMarkdownImageSource | null;
|
|
11
|
+
export declare function readMarkdownImageDimensions(base64: string | undefined): TuiMarkdownImageDimensions | null;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { TuiMarkdownLinkActionPayload, TuiMarkdownVisualRow } from "./types.js";
|
|
2
|
+
export declare function findMarkdownLinkActionAt(rows: readonly TuiMarkdownVisualRow[], point: Readonly<{
|
|
3
|
+
cellX: number;
|
|
4
|
+
cellY: number;
|
|
5
|
+
}>, options: Readonly<{
|
|
6
|
+
screenRect: Readonly<{
|
|
7
|
+
x: number;
|
|
8
|
+
y: number;
|
|
9
|
+
w: number;
|
|
10
|
+
h: number;
|
|
11
|
+
}>;
|
|
12
|
+
rowOffset: number;
|
|
13
|
+
clipStart: number;
|
|
14
|
+
}>): TuiMarkdownLinkActionPayload | null;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { TuiMarkdownMathActionPayload, TuiMarkdownVisualRow } from "./types.js";
|
|
2
|
+
export declare function findMarkdownMathActionAt(rows: readonly TuiMarkdownVisualRow[], point: Readonly<{
|
|
3
|
+
cellX: number;
|
|
4
|
+
cellY: number;
|
|
5
|
+
}>, options: Readonly<{
|
|
6
|
+
screenRect: Readonly<{
|
|
7
|
+
x: number;
|
|
8
|
+
y: number;
|
|
9
|
+
w: number;
|
|
10
|
+
h: number;
|
|
11
|
+
}>;
|
|
12
|
+
rowOffset: number;
|
|
13
|
+
clipStart: number;
|
|
14
|
+
}>): TuiMarkdownMathActionPayload | null;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export type TuiMarkdownInlineMathRender = Readonly<{
|
|
2
|
+
text: string;
|
|
3
|
+
supported: boolean;
|
|
4
|
+
}>;
|
|
5
|
+
export declare function renderMarkdownInlineMathSegment(tex: string): TuiMarkdownInlineMathRender;
|
|
6
|
+
export declare function renderMarkdownInlineMath(tex: string): string;
|
|
@@ -1,5 +1,26 @@
|
|
|
1
1
|
import type { Style, Terminal } from "../../core/types.js";
|
|
2
2
|
import type { TuiMarkdownVisualRow } from "./types.js";
|
|
3
|
+
export declare function markdownImageGraphicId(segment: NonNullable<TuiMarkdownVisualRow["segments"][number]["graphic"]>, identity: string): string;
|
|
4
|
+
export declare function clearMarkdownImageGraphics(terminal: Terminal, rect?: Readonly<{
|
|
5
|
+
x: number;
|
|
6
|
+
y: number;
|
|
7
|
+
w: number;
|
|
8
|
+
h: number;
|
|
9
|
+
}>): void;
|
|
10
|
+
export declare function collectVisibleMarkdownImageGraphicIds(rows: readonly TuiMarkdownVisualRow[], options: Readonly<{
|
|
11
|
+
x: number;
|
|
12
|
+
y: number;
|
|
13
|
+
w: number;
|
|
14
|
+
h: number;
|
|
15
|
+
rowOffset: number;
|
|
16
|
+
clipStart: number;
|
|
17
|
+
isGraphicCovered?: (rect: Readonly<{
|
|
18
|
+
x: number;
|
|
19
|
+
y: number;
|
|
20
|
+
w: number;
|
|
21
|
+
h: number;
|
|
22
|
+
}>) => boolean;
|
|
23
|
+
}>): ReadonlySet<string>;
|
|
3
24
|
export declare function paintMarkdownVisualRow(terminal: Terminal, row: TuiMarkdownVisualRow | undefined, options: Readonly<{
|
|
4
25
|
x: number;
|
|
5
26
|
y: number;
|
|
@@ -7,4 +28,11 @@ export declare function paintMarkdownVisualRow(terminal: Terminal, row: TuiMarkd
|
|
|
7
28
|
clipStart?: number;
|
|
8
29
|
baseStyle: Style;
|
|
9
30
|
clear?: boolean;
|
|
31
|
+
keepGraphicIds?: ReadonlySet<string>;
|
|
32
|
+
isGraphicCovered?: (rect: Readonly<{
|
|
33
|
+
x: number;
|
|
34
|
+
y: number;
|
|
35
|
+
w: number;
|
|
36
|
+
h: number;
|
|
37
|
+
}>) => boolean;
|
|
10
38
|
}>): void;
|
|
@@ -5,10 +5,84 @@ export type TuiMarkdownNode = Readonly<{
|
|
|
5
5
|
children?: readonly TuiMarkdownNode[];
|
|
6
6
|
[key: string]: unknown;
|
|
7
7
|
}>;
|
|
8
|
+
export type TuiMarkdownImageSize = Readonly<{
|
|
9
|
+
minWidth?: number;
|
|
10
|
+
maxWidth?: number;
|
|
11
|
+
minHeight?: number;
|
|
12
|
+
maxHeight?: number;
|
|
13
|
+
preserveAspectRatio?: boolean;
|
|
14
|
+
}>;
|
|
15
|
+
export type TuiMarkdownGraphicSegment = Readonly<{
|
|
16
|
+
kind: "image";
|
|
17
|
+
src: string;
|
|
18
|
+
alt?: string;
|
|
19
|
+
mime?: string;
|
|
20
|
+
base64?: string;
|
|
21
|
+
originalBase64?: string;
|
|
22
|
+
originalMime?: string;
|
|
23
|
+
naturalWidth?: number;
|
|
24
|
+
naturalHeight?: number;
|
|
25
|
+
displayWidth?: number;
|
|
26
|
+
displayHeight?: number;
|
|
27
|
+
}>;
|
|
28
|
+
export type TuiMarkdownImageResolverResult = string | null | undefined | Readonly<{
|
|
29
|
+
base64: string;
|
|
30
|
+
originalBase64?: string;
|
|
31
|
+
mime?: string;
|
|
32
|
+
originalMime?: string;
|
|
33
|
+
}>;
|
|
34
|
+
export type TuiMarkdownImageResolver = (image: TuiMarkdownGraphicSegment) => TuiMarkdownImageResolverResult;
|
|
35
|
+
export type TuiMarkdownImageActionPayload = Readonly<{
|
|
36
|
+
image: TuiMarkdownGraphicSegment;
|
|
37
|
+
rect: Readonly<{
|
|
38
|
+
x: number;
|
|
39
|
+
y: number;
|
|
40
|
+
w: number;
|
|
41
|
+
h: number;
|
|
42
|
+
}>;
|
|
43
|
+
cellX: number;
|
|
44
|
+
cellY: number;
|
|
45
|
+
rowIndex: number;
|
|
46
|
+
segmentIndex: number;
|
|
47
|
+
}>;
|
|
48
|
+
export type TuiMarkdownLinkActionPayload = Readonly<{
|
|
49
|
+
href: string;
|
|
50
|
+
text: string;
|
|
51
|
+
rect: Readonly<{
|
|
52
|
+
x: number;
|
|
53
|
+
y: number;
|
|
54
|
+
w: number;
|
|
55
|
+
h: number;
|
|
56
|
+
}>;
|
|
57
|
+
cellX: number;
|
|
58
|
+
cellY: number;
|
|
59
|
+
rowIndex: number;
|
|
60
|
+
segmentIndex: number;
|
|
61
|
+
}>;
|
|
62
|
+
export type TuiMarkdownMathSegment = Readonly<{
|
|
63
|
+
source: string;
|
|
64
|
+
raw: string;
|
|
65
|
+
rendered: boolean;
|
|
66
|
+
}>;
|
|
67
|
+
export type TuiMarkdownMathActionPayload = Readonly<{
|
|
68
|
+
math: TuiMarkdownMathSegment;
|
|
69
|
+
rect: Readonly<{
|
|
70
|
+
x: number;
|
|
71
|
+
y: number;
|
|
72
|
+
w: number;
|
|
73
|
+
h: number;
|
|
74
|
+
}>;
|
|
75
|
+
cellX: number;
|
|
76
|
+
cellY: number;
|
|
77
|
+
rowIndex: number;
|
|
78
|
+
segmentIndex: number;
|
|
79
|
+
}>;
|
|
8
80
|
export type TuiMarkdownInlineSegment = Readonly<{
|
|
9
81
|
text: string;
|
|
10
82
|
style?: Style;
|
|
11
83
|
hardBreak?: boolean;
|
|
84
|
+
graphic?: TuiMarkdownGraphicSegment;
|
|
85
|
+
mathAction?: TuiMarkdownMathSegment;
|
|
12
86
|
}>;
|
|
13
87
|
export type TuiMarkdownTableCellAlign = "left" | "center" | "right";
|
|
14
88
|
export type TuiMarkdownTableCell = Readonly<{
|
|
@@ -25,6 +99,7 @@ export type TuiMarkdownBlock = Readonly<{
|
|
|
25
99
|
type: "code_block";
|
|
26
100
|
key: string;
|
|
27
101
|
lines: readonly string[];
|
|
102
|
+
language?: string;
|
|
28
103
|
style?: Style;
|
|
29
104
|
prefixSegments?: readonly TuiMarkdownInlineSegment[];
|
|
30
105
|
continuationPrefixSegments?: readonly TuiMarkdownInlineSegment[];
|
|
@@ -49,6 +124,9 @@ export type TuiMarkdownVisualSegment = Readonly<{
|
|
|
49
124
|
text: string;
|
|
50
125
|
style?: Style;
|
|
51
126
|
cells: number;
|
|
127
|
+
graphic?: TuiMarkdownGraphicSegment;
|
|
128
|
+
mathAction?: TuiMarkdownMathSegment;
|
|
129
|
+
fallbackText?: string;
|
|
52
130
|
}>;
|
|
53
131
|
export type TuiMarkdownVisualRow = Readonly<{
|
|
54
132
|
key: string;
|