@simon_he/vue-tui 1.1.2 → 1.1.3

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.
@@ -3,6 +3,7 @@ export { TVirtualMarkdown } from "./vue/components/TVirtualMarkdown.js";
3
3
  export { createMarkdownBlockSource } from "./vue/markdown/block-source.js";
4
4
  export { buildMarkdownBlocks, buildMarkdownVisualRows } from "./vue/markdown/document.js";
5
5
  export { layoutMarkdownBlocks } from "./vue/markdown/layout.js";
6
+ export { loadMarkdownMathRenderer } from "./vue/markdown/math.js";
6
7
  export { createTuiMarkdownParser, isSafeMarkdownLink } from "./vue/markdown/parser.js";
7
8
  export type { TuiMarkdownBlockSource, TuiMarkdownBlockSourceOptions, TuiMarkdownBlockSourceSnapshot, } from "./vue/markdown/block-source.js";
8
9
  export type { TuiMarkdownLayoutOptions } from "./vue/markdown/layout.js";
@@ -3,6 +3,7 @@ export { TVirtualMarkdown } from "./vue/components/TVirtualMarkdown.js";
3
3
  export { createMarkdownBlockSource } from "./vue/markdown/block-source.js";
4
4
  export { buildMarkdownBlocks, buildMarkdownVisualRows } from "./vue/markdown/document.js";
5
5
  export { layoutMarkdownBlocks } from "./vue/markdown/layout.js";
6
+ export { loadMarkdownMathRenderer } from "./vue/markdown/math.js";
6
7
  export { createTuiMarkdownParser, isSafeMarkdownLink } from "./vue/markdown/parser.js";
7
8
  export type { TuiMarkdownBlockSource, TuiMarkdownBlockSourceOptions, TuiMarkdownBlockSourceSnapshot, } from "./vue/markdown/block-source.js";
8
9
  export type { TuiMarkdownLayoutOptions } from "./vue/markdown/layout.js";
package/dist/markdown.js CHANGED
@@ -6,7 +6,7 @@ import "./terminal-selection-4W1SJj4c.js";
6
6
  import "./debug-logger-CmsGI4of.js";
7
7
  import "./wheel-scroll-DASkEZr-.js";
8
8
  import { getTerminalGraphicsOutputVersion, subscribeTerminalGraphicsOutput } from "./terminal-graphics-Bbe83wSr.js";
9
- import { TVirtualMarkdown, buildMarkdownBlocks, buildMarkdownVisualRows, clearMarkdownImageGraphics, collectVisibleMarkdownImageGraphicIds, createMarkdownBlockSource, createTuiMarkdownParser, findMarkdownImageActionAt, findMarkdownLinkActionAt, findMarkdownMathActionAt, isSafeMarkdownLink, layoutMarkdownBlocks, markdownThemeSignature, paintMarkdownVisualRow } from "./block-source-CrlmaBM5.js";
9
+ import { TVirtualMarkdown, buildMarkdownBlocks, buildMarkdownVisualRows, clearMarkdownImageGraphics, collectVisibleMarkdownImageGraphicIds, createMarkdownBlockSource, createTuiMarkdownParser, findMarkdownImageActionAt, findMarkdownLinkActionAt, findMarkdownMathActionAt, isSafeMarkdownLink, layoutMarkdownBlocks, loadMarkdownMathRenderer, markdownThemeSignature, paintMarkdownVisualRow, subscribeMarkdownMathRenderer } from "./block-source-Crro3mxi.js";
10
10
  import { computed, defineComponent, getCurrentInstance, h, inject, markRaw, onBeforeUnmount, shallowRef, watch } from "vue";
11
11
 
12
12
  //#region src/vue/components/TMarkdownText.ts
@@ -127,6 +127,9 @@ const TMarkdownText = defineComponent({
127
127
  const unsubscribeGraphicsOutput = subscribeTerminalGraphicsOutput(terminal, () => {
128
128
  graphicsOutputVersion.value = getTerminalGraphicsOutputVersion(terminal);
129
129
  });
130
+ const unsubscribeMathRenderer = subscribeMarkdownMathRenderer(() => {
131
+ scheduleRebuild();
132
+ });
130
133
  watch(() => `${props.streaming ? 1 : 0}:${(props.customHtmlTags ?? []).join("\0")}`, () => {
131
134
  parser.value = markRaw(createTuiMarkdownParser({
132
135
  streaming: props.streaming,
@@ -186,6 +189,7 @@ const TMarkdownText = defineComponent({
186
189
  alive = false;
187
190
  rebuildVersion++;
188
191
  unsubscribeGraphicsOutput();
192
+ unsubscribeMathRenderer();
189
193
  clearMarkdownImageGraphics(terminal, fullRect.value);
190
194
  });
191
195
  const fullRect = computed(() => {
@@ -347,4 +351,4 @@ const TMarkdownText = defineComponent({
347
351
  });
348
352
 
349
353
  //#endregion
350
- export { TMarkdownText, TVirtualMarkdown, buildMarkdownBlocks, buildMarkdownVisualRows, createMarkdownBlockSource, createTuiMarkdownParser, isSafeMarkdownLink, layoutMarkdownBlocks };
354
+ export { TMarkdownText, TVirtualMarkdown, buildMarkdownBlocks, buildMarkdownVisualRows, createMarkdownBlockSource, createTuiMarkdownParser, isSafeMarkdownLink, layoutMarkdownBlocks, loadMarkdownMathRenderer };
@@ -1,6 +1,6 @@
1
1
  import { applyAnsiSgrStyle, parseAnsiSgr, sanitizeTerminalHref } from "./hyperlink-_1FAj7Wq.js";
2
2
  import { EventZIndexContextKey, LayoutContextKey, RenderPlaneContextKey, RenderStackKey, TerminalGraphicsActivityKey, createCombinedTerminalGraphicsActivity, createTerminalGraphicsActivity, forEachTextCellSegment, formatInlineCellLine, intersectRect, normalizeCellRect, nowTerminalGraphicTraceTime, padEndByCells$1 as padEndByCells, recordTerminalGraphicTrace, sanitizeInlineText, sanitizeTextBlock, sliceByCells, sliceByCellsRange, spaces, textCellWidth$1 as textCellWidth, translateRect, useLayout, useRenderNode, useRenderStack, useTerminal, useTerminalNode, useVisibility, withTextWidthProvider, wrapByCells } from "./rect-DUpeDfBg.js";
3
- import { TView, TuiThemeContextKey, createFrameMailbox, defaultActiveStyle, linkifyTextSegments, tuiDefaultTheme } from "./linkify-D68T7rdW.js";
3
+ import { TView, TuiThemeContextKey, createFrameMailbox, defaultActiveStyle, linkifyTextSegments, tuiDefaultTheme } from "./linkify-BjI4zVfY.js";
4
4
  import { framePerfNow } from "./frame-perf-CHpWhbC4.js";
5
5
  import { terminalSelectionRowSpans, terminalSelectionVisibleRowSpans } from "./terminal-selection-4W1SJj4c.js";
6
6
  import { applyWheelScroll, createWheelScrollState, resetWheelScrollState } from "./wheel-scroll-DASkEZr-.js";
@@ -2,5 +2,7 @@ export type TuiMarkdownInlineMathRender = Readonly<{
2
2
  text: string;
3
3
  supported: boolean;
4
4
  }>;
5
+ export declare function subscribeMarkdownMathRenderer(listener: () => void): () => void;
6
+ export declare function loadMarkdownMathRenderer(): Promise<boolean>;
5
7
  export declare function renderMarkdownInlineMathSegment(tex: string): TuiMarkdownInlineMathRender;
6
8
  export declare function renderMarkdownInlineMath(tex: string): string;
package/dist/vue.js CHANGED
@@ -3,15 +3,15 @@ import { charCellWidth } from "./width-GqllnV8C.js";
3
3
  import "./ansi-palette-CH6jc2Z7.js";
4
4
  import "./dom-renderer-DXx8fWzD.js";
5
5
  import { EventZIndexContextKey, LayoutContextKey, RenderStackKey, TInputPluginsContextKey, TPathPickerProviderContextKey, VisibilityContextKey, injectionKey, intersectRect, padEndByCells$1 as padEndByCells, repeatChar, sanitizeInlineText, sanitizeTextBlock, sliceByCells, sliceByCellsRange, spaces, textCellWidth$1 as textCellWidth, translateRect, useLayout, useRenderNode, useRenderStack, useTerminal, useTerminalNode, useVisibility, wrapByCells } from "./rect-DUpeDfBg.js";
6
- import { TText, TView, clamp, createTheme, fitCellText, linkifyTextSegments, mergeStyle, tuiDefaultTheme } from "./linkify-D68T7rdW.js";
6
+ import { TText, TView, clamp$1 as clamp, createTheme, fitCellText, linkifyTextSegments, mergeStyle, tuiDefaultTheme } from "./linkify-BjI4zVfY.js";
7
7
  import "./runtime-Byf8XXOT.js";
8
8
  import "./frame-perf-CHpWhbC4.js";
9
9
  import "./trace-Bh8WnoMo.js";
10
10
  import "./env-Cl8qmNFN.js";
11
- import { TAutocompleteInput, TBadge, TCheckbox, TCode, TDataTable, TDivider, TForm, TFormContextKey, TFormField, TLink, TLinkifyText, TList, TPasswordInput, TProgress, TRadioGroup, TSlider, TSpinner, TSwitch, TTable, TTag, TToastViewport, TTree, TerminalProvider, createTInputHostPlugin, useTForm } from "./TTree-CGdE-CYu.js";
11
+ import { TAutocompleteInput, TBadge, TCheckbox, TCode, TDataTable, TDivider, TForm, TFormContextKey, TFormField, TLink, TLinkifyText, TList, TPasswordInput, TProgress, TRadioGroup, TSlider, TSpinner, TSwitch, TTable, TTag, TToastViewport, TTree, TerminalProvider, createTInputHostPlugin, useTForm } from "./TTree-DdAjCPHu.js";
12
12
  import "./terminal-selection-4W1SJj4c.js";
13
13
  import "./debug-logger-CmsGI4of.js";
14
- import { TBox, TCommandPalette, TDialog, TInput, TRenderPlane, TSelect, clamp$1, computeCommandPaletteMatchRanges, createOverlayFocusStack, isCommitMention, isWhitespace, mentionChipStyle, padEndByCells as padEndByCells$1, resolveOverlayPlacement, sliceByCellsWindow, textCellWidth as textCellWidth$1 } from "./TSelect-tJ87rKPM.js";
14
+ import { TBox, TCommandPalette, TDialog, TInput, TRenderPlane, TSelect, clamp as clamp$1, computeCommandPaletteMatchRanges, createOverlayFocusStack, isCommitMention, isWhitespace, mentionChipStyle, padEndByCells as padEndByCells$1, resolveOverlayPlacement, sliceByCellsWindow, textCellWidth as textCellWidth$1 } from "./TSelect-Dx34M1pF.js";
15
15
  import { normalizePath, stripTrailingSlash } from "./path-mnSgEpCm.js";
16
16
  import { applyWheelScroll, createWheelScrollState } from "./wheel-scroll-DASkEZr-.js";
17
17
  import { parsePathQuery, resolveUserPath, suggestPaths } from "./path-suggest-Dndu4dTi.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@simon_he/vue-tui",
3
- "version": "1.1.2",
3
+ "version": "1.1.3",
4
4
  "description": "Vue 3 terminal UI components and renderers for browser DOM, CLI stdout, logs, markdown transcripts, and agent consoles",
5
5
  "keywords": [
6
6
  "agent-console",
@@ -246,8 +246,7 @@
246
246
  "access": "public"
247
247
  },
248
248
  "dependencies": {
249
- "katex": "^0.16.47",
250
- "stream-markdown-parser": "1.0.7"
249
+ "stream-markdown-parser": "1.1.9"
251
250
  },
252
251
  "devDependencies": {
253
252
  "@arethetypeswrong/core": "^0.18.3",
@@ -259,6 +258,7 @@
259
258
  "bun-webgpu": "0.1.7",
260
259
  "esbuild": "^0.20.2",
261
260
  "happy-dom": "^17.6.3",
261
+ "katex": "^0.16.47",
262
262
  "lint-staged": "^13.3.0",
263
263
  "oxfmt": "^0.47.0",
264
264
  "oxlint": "^1.70.0",
@@ -277,6 +277,7 @@
277
277
  "peerDependencies": {
278
278
  "beautiful-mermaid": "^1.1.3",
279
279
  "bun-webgpu": "^0.1.7",
280
+ "katex": "^0.16.47",
280
281
  "vue": ">=3.3.0 <4"
281
282
  },
282
283
  "peerDependenciesMeta": {
@@ -285,6 +286,9 @@
285
286
  },
286
287
  "bun-webgpu": {
287
288
  "optional": true
289
+ },
290
+ "katex": {
291
+ "optional": true
288
292
  }
289
293
  },
290
294
  "lint-staged": {