vue-stream-markdown 0.2.0 → 0.2.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.
Files changed (61) hide show
  1. package/dist/{blockquote-C68fU4lp.js → blockquote-Bv0immvx.js} +2 -2
  2. package/dist/{button-BDO3n0n_.js → button-CRnH8Rzt.js} +2 -2
  3. package/dist/button-CpZL9Dhf.js +6 -0
  4. package/dist/{code-2Dd0EGfm.js → code-BcAa_-2j.js} +10 -10
  5. package/dist/code-block-C1Hz5oQb.js +10 -0
  6. package/dist/{code-block-hQLDeAmP.js → code-block-mylXl6jG.js} +6 -6
  7. package/dist/{composables-DuQ72m6O.js → composables-CL-BX9Ri.js} +76 -15
  8. package/dist/{delete-CB-OS2WZ.js → delete-drdYWAXs.js} +2 -2
  9. package/dist/dropdown-CS5Df_eY.js +6 -0
  10. package/dist/{emphasis-BmUoyBRK.js → emphasis-CdEFGQdu.js} +2 -2
  11. package/dist/error-component-Csr-ujUx.js +5 -0
  12. package/dist/{error-component-CtZr0_st.js → error-component-xzXxODeR.js} +2 -2
  13. package/dist/{footnote-definition-55TjXXwa.js → footnote-definition-BTSXdQZi.js} +5 -5
  14. package/dist/{footnote-reference-lk2rvC4Q.js → footnote-reference-CV_67vK7.js} +1 -1
  15. package/dist/{heading-BlOK3uk2.js → heading-BH7urRHb.js} +2 -2
  16. package/dist/icon-DcKmEBsy.js +4 -0
  17. package/dist/{icon-PEivHbuv.js → icon-MRs2P5TP.js} +1 -1
  18. package/dist/image-BRCbBLI5.js +9 -0
  19. package/dist/{image-Bqn98dDB.js → image-Bo_26KHM.js} +8 -8
  20. package/dist/{image-VMGQj_VU.js → image-BypX6qku.js} +4 -4
  21. package/dist/{index.css/index.css → index.css} +13 -0
  22. package/dist/index.d.ts +497 -74
  23. package/dist/index.js +42 -32
  24. package/dist/{inline-math--lfq9WCW.js → inline-math-DFUJNhmp.js} +3 -3
  25. package/dist/{link-DAOjAX6n.js → link-ClKb1qAC.js} +4 -4
  26. package/dist/{list-EOEqkWEi.js → list-BdM_gwie.js} +2 -2
  27. package/dist/{list-item-ZG4eadLp.js → list-item-DaRd7Yu3.js} +2 -2
  28. package/dist/{math-3zyrsc0O.js → math-CLweuHzM.js} +3 -3
  29. package/dist/{mermaid-VkvXdOuQ.js → mermaid-CyLU2UYz.js} +6 -6
  30. package/dist/modal-JW5JgjbN.js +4 -0
  31. package/dist/{modal-DrPdD2g1.js → modal-vHG2jmSe.js} +1 -1
  32. package/dist/{node-list-D7eKaZGS.js → node-list-3yGs9Kcx.js} +1 -1
  33. package/dist/node-list-Cl7nXqfm.js +4 -0
  34. package/dist/{paragraph-DEyWEFYY.js → paragraph-LV8LrqLS.js} +2 -2
  35. package/dist/{previewers-DYnyVv4Y.js → previewers-BUz7EQbB.js} +1 -1
  36. package/dist/{segmented-CeLXMLZa.js → segmented-ChmGPy3i.js} +1 -1
  37. package/dist/segmented-STxjOAhU.js +7 -0
  38. package/dist/{shiki-Dgoch7Q6.js → shiki-Dp1kiUyz.js} +35 -10
  39. package/dist/{shiki-token-renderer-BjxmGfXH.js → shiki-token-renderer-l2VX-xoX.js} +4 -2
  40. package/dist/{strong-CFjQLk1h.js → strong-CcKSE5Jo.js} +2 -2
  41. package/dist/{table-DI25RphX.js → table-Bk4vJ8-K.js} +5 -5
  42. package/dist/tooltip-BElCxO8W.js +4 -0
  43. package/dist/{tooltip-CnO7OPL1.js → tooltip-DkCGsj0S.js} +2 -2
  44. package/dist/vanilla-79xxpygI.js +4 -0
  45. package/dist/{vanilla-YFxsSfhA.js → vanilla-D2g3JpWZ.js} +1 -1
  46. package/dist/zoom-container-C5vP44cr.js +7 -0
  47. package/dist/{zoom-container-CrKx_BbS.js → zoom-container-H5FZmzwY.js} +2 -2
  48. package/package.json +3 -3
  49. package/dist/button-CdUyT8T_.js +0 -6
  50. package/dist/code-block-Co2UoPPS.js +0 -10
  51. package/dist/dropdown-BB3nyts8.js +0 -6
  52. package/dist/error-component-biOT0E-h.js +0 -5
  53. package/dist/icon-mUoYnA6R.js +0 -4
  54. package/dist/image-B6Pw2YBI.js +0 -9
  55. package/dist/modal-BKzT1TQI.js +0 -4
  56. package/dist/node-list-DtNGUnnI.js +0 -4
  57. package/dist/segmented-6Ch-Ees3.js +0 -7
  58. package/dist/tooltip-CAyfm3_l.js +0 -4
  59. package/dist/vanilla-BZ1fQWZQ.js +0 -4
  60. package/dist/zoom-container-j4kY9qX_.js +0 -7
  61. /package/dist/{theme.css/theme.css → theme.css} +0 -0
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
- import { t as CODE_PREVIEWERS } from "./previewers-DYnyVv4Y.js";
2
- import { A as tableDataToTSV, B as saveImage, C as localeMessages, D as extractTableDataFromElement, E as escapeMarkdownTableCell, F as hasShiki, G as useCodeOptions, H as transformUrl, I as isClient, L as isServer, M as findNodeParent, N as hasKatex, O as tableDataToCSV, P as hasMermaid, R as flow, S as loadLocaleMessages, T as useFloatingElement, U as useControls, V as svgToPngBlob, W as useContext, _ as _defineProperty, a as SHADCN_SCHEMAS, b as SUPPORT_LANGUAGES, c as DEFAULT_DARK_THEME, d as LANGUAGE_EXTENSIONS, f as LANGUAGE_ICONS, h as useMathRenderer, i as useSanitizers, j as findLastLeafNode, k as tableDataToMarkdown, l as DEFAULT_LIGHT_THEME, m as useMediumZoom, n as useTailwindV3Theme, o as ICONS, p as useMermaid, r as useShiki, s as DEFAULT_HARDEN_OPTIONS, t as useZoom, u as LANGUAGE_ALIAS, v as useKatex, w as localesGlob, x as currentLocale, y as useI18n, z as save } from "./composables-DuQ72m6O.js";
3
- import { t as node_list_default } from "./node-list-D7eKaZGS.js";
1
+ import { t as CODE_PREVIEWERS } from "./previewers-BUz7EQbB.js";
2
+ import { A as tableDataToMarkdown, B as flow, C as loadLocaleMessages, D as escapeMarkdownTableCell, E as useFloating, F as hasKatex, G as useControls, H as saveImage, I as hasMermaid, K as useContext, L as hasShiki, M as preloadAsyncComponents, N as findLastLeafNode, O as extractTableDataFromElement, P as findNodeParent, R as isClient, S as currentLocale, T as localesGlob, U as svgToPngBlob, V as save, W as transformUrl, a as SHADCN_SCHEMAS, b as useI18n, c as DEFAULT_HARDEN_OPTIONS, d as LANGUAGE_ALIAS, f as LANGUAGE_EXTENSIONS, g as useMathRenderer, h as useMediumZoom, i as useSanitizers, j as tableDataToTSV, k as tableDataToCSV, l as DEFAULT_DARK_THEME, m as useMermaid, n as useTailwindV3Theme, o as PRELOAD_NODE_RENDERER, p as LANGUAGE_ICONS, q as useCodeOptions, r as useShiki, s as ICONS, t as useZoom, u as DEFAULT_LIGHT_THEME, v as _defineProperty, w as localeMessages, x as SUPPORT_LANGUAGES, y as useKatex, z as isServer } from "./composables-CL-BX9Ri.js";
3
+ import { t as node_list_default } from "./node-list-3yGs9Kcx.js";
4
4
  import { n as treeFlatFilter, t as treeFilter } from "./dist-CYkm26BF.js";
5
5
  import { computed, createElementBlock, createVNode, defineAsyncComponent, defineComponent, mergeProps, normalizeClass, onBeforeUnmount, onMounted, openBlock, ref, toRefs, unref, watch } from "vue";
6
6
  import { MarkdownItAsync } from "markdown-it-async";
@@ -49,23 +49,23 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
49
49
  //#endregion
50
50
  //#region src/components/renderers/index.ts
51
51
  const NODE_RENDERERS = {
52
- blockquote: defineAsyncComponent(() => import("./blockquote-C68fU4lp.js")),
53
- code: defineAsyncComponent(() => import("./code-2Dd0EGfm.js")),
54
- delete: defineAsyncComponent(() => import("./delete-CB-OS2WZ.js")),
55
- emphasis: defineAsyncComponent(() => import("./emphasis-BmUoyBRK.js")),
56
- footnoteDefinition: defineAsyncComponent(() => import("./footnote-definition-55TjXXwa.js")),
57
- footnoteReference: defineAsyncComponent(() => import("./footnote-reference-lk2rvC4Q.js")),
58
- heading: defineAsyncComponent(() => import("./heading-BlOK3uk2.js")),
59
- image: defineAsyncComponent(() => import("./image-Bqn98dDB.js")),
52
+ blockquote: defineAsyncComponent(() => import("./blockquote-Bv0immvx.js")),
53
+ code: defineAsyncComponent(() => import("./code-BcAa_-2j.js")),
54
+ delete: defineAsyncComponent(() => import("./delete-drdYWAXs.js")),
55
+ emphasis: defineAsyncComponent(() => import("./emphasis-CdEFGQdu.js")),
56
+ footnoteDefinition: defineAsyncComponent(() => import("./footnote-definition-BTSXdQZi.js")),
57
+ footnoteReference: defineAsyncComponent(() => import("./footnote-reference-CV_67vK7.js")),
58
+ heading: defineAsyncComponent(() => import("./heading-BH7urRHb.js")),
59
+ image: defineAsyncComponent(() => import("./image-Bo_26KHM.js")),
60
60
  inlineCode: defineAsyncComponent(() => import("./inline-code-BZNE1ALQ.js")),
61
- inlineMath: defineAsyncComponent(() => import("./inline-math--lfq9WCW.js")),
62
- link: defineAsyncComponent(() => import("./link-DAOjAX6n.js")),
63
- list: defineAsyncComponent(() => import("./list-EOEqkWEi.js")),
64
- listItem: defineAsyncComponent(() => import("./list-item-ZG4eadLp.js")),
65
- math: defineAsyncComponent(() => import("./math-3zyrsc0O.js")),
66
- paragraph: defineAsyncComponent(() => import("./paragraph-DEyWEFYY.js")),
67
- strong: defineAsyncComponent(() => import("./strong-CFjQLk1h.js")),
68
- table: defineAsyncComponent(() => import("./table-DI25RphX.js")),
61
+ inlineMath: defineAsyncComponent(() => import("./inline-math-DFUJNhmp.js")),
62
+ link: defineAsyncComponent(() => import("./link-ClKb1qAC.js")),
63
+ list: defineAsyncComponent(() => import("./list-BdM_gwie.js")),
64
+ listItem: defineAsyncComponent(() => import("./list-item-DaRd7Yu3.js")),
65
+ math: defineAsyncComponent(() => import("./math-CLweuHzM.js")),
66
+ paragraph: defineAsyncComponent(() => import("./paragraph-LV8LrqLS.js")),
67
+ strong: defineAsyncComponent(() => import("./strong-CcKSE5Jo.js")),
68
+ table: defineAsyncComponent(() => import("./table-Bk4vJ8-K.js")),
69
69
  text: defineAsyncComponent(() => import("./text-DP2IAZrc.js")),
70
70
  thematicBreak: defineAsyncComponent(() => import("./thematic-break-DIO-A8eY.js")),
71
71
  yaml: defineAsyncComponent(() => import("./yaml-eOuEqAWX.js"))
@@ -74,19 +74,19 @@ const NODE_RENDERERS = {
74
74
  //#endregion
75
75
  //#region src/components/index.ts
76
76
  const UI = {
77
- Button: defineAsyncComponent(() => import("./button-CdUyT8T_.js")),
78
- CodeBlock: defineAsyncComponent(() => import("./code-block-Co2UoPPS.js")),
79
- Dropdown: defineAsyncComponent(() => import("./dropdown-BB3nyts8.js")),
80
- ErrorComponent: defineAsyncComponent(() => import("./error-component-biOT0E-h.js")),
81
- Icon: defineAsyncComponent(() => import("./icon-mUoYnA6R.js")),
82
- Image: defineAsyncComponent(() => import("./image-B6Pw2YBI.js")),
83
- Modal: defineAsyncComponent(() => import("./modal-BKzT1TQI.js")),
84
- NodeList: defineAsyncComponent(() => import("./node-list-DtNGUnnI.js")),
85
- Segmented: defineAsyncComponent(() => import("./segmented-6Ch-Ees3.js")),
77
+ Button: defineAsyncComponent(() => import("./button-CpZL9Dhf.js")),
78
+ CodeBlock: defineAsyncComponent(() => import("./code-block-C1Hz5oQb.js")),
79
+ Dropdown: defineAsyncComponent(() => import("./dropdown-CS5Df_eY.js")),
80
+ ErrorComponent: defineAsyncComponent(() => import("./error-component-Csr-ujUx.js")),
81
+ Icon: defineAsyncComponent(() => import("./icon-DcKmEBsy.js")),
82
+ Image: defineAsyncComponent(() => import("./image-BRCbBLI5.js")),
83
+ Modal: defineAsyncComponent(() => import("./modal-JW5JgjbN.js")),
84
+ NodeList: defineAsyncComponent(() => import("./node-list-Cl7nXqfm.js")),
85
+ Segmented: defineAsyncComponent(() => import("./segmented-STxjOAhU.js")),
86
86
  Spin: defineAsyncComponent(() => import("./spin-DElj7VPm.js")),
87
87
  Table: defineAsyncComponent(() => import("./table-20vwclBI.js")),
88
- Tooltip: defineAsyncComponent(() => import("./tooltip-CAyfm3_l.js")),
89
- ZoomContainer: defineAsyncComponent(() => import("./zoom-container-j4kY9qX_.js"))
88
+ Tooltip: defineAsyncComponent(() => import("./tooltip-BElCxO8W.js")),
89
+ ZoomContainer: defineAsyncComponent(() => import("./zoom-container-C5vP44cr.js"))
90
90
  };
91
91
 
92
92
  //#endregion
@@ -20685,6 +20685,10 @@ var index_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCo
20685
20685
  required: false,
20686
20686
  default: () => ({})
20687
20687
  },
20688
+ preload: {
20689
+ type: Object,
20690
+ required: false
20691
+ },
20688
20692
  locale: {
20689
20693
  type: [String, Object],
20690
20694
  required: false,
@@ -20779,6 +20783,10 @@ var index_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCo
20779
20783
  ...NODE_RENDERERS,
20780
20784
  ...props.nodeRenderers
20781
20785
  }));
20786
+ const preloadNodeRenderers = computed(() => {
20787
+ if (!props.preload || !props.preload.nodeRenderers) return PRELOAD_NODE_RENDERER;
20788
+ return props.preload.nodeRenderers;
20789
+ });
20782
20790
  const icons = computed(() => ({
20783
20791
  ...ICONS,
20784
20792
  ...props.icons
@@ -20793,9 +20801,11 @@ var index_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCo
20793
20801
  const tasks = [
20794
20802
  preloadShiki(),
20795
20803
  preloadMermaid(),
20796
- preloadKatex()
20804
+ preloadKatex(),
20805
+ preloadAsyncComponents(icons.value)
20797
20806
  ];
20798
20807
  if (props.locale !== "en-US") tasks.push(loadLocaleMessages(props.locale));
20808
+ if (preloadNodeRenderers.value.length) tasks.push(preloadAsyncComponents(nodeRenderers.value, preloadNodeRenderers.value));
20799
20809
  await Promise.all(tasks);
20800
20810
  }
20801
20811
  onMounted(bootstrap);
@@ -20846,4 +20856,4 @@ var index_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCo
20846
20856
  var src_default = index_vue_vue_type_script_setup_true_lang_default;
20847
20857
 
20848
20858
  //#endregion
20849
- export { CODE_PREVIEWERS, DEFAULT_DARK_THEME, DEFAULT_HARDEN_OPTIONS, DEFAULT_LIGHT_THEME, ICONS, LANGUAGE_ALIAS, LANGUAGE_EXTENSIONS, LANGUAGE_ICONS, src_default as Markdown, MarkdownParser, NODE_RENDERERS, SHADCN_SCHEMAS, SUPPORT_LANGUAGES, UI, codeBlockPattern, crlfPattern, currentLocale, doubleAsteriskPattern, doubleDollarPattern, doubleTildePattern, doubleUnderscorePattern, escapeMarkdownTableCell, extractTableDataFromElement, findLastLeafNode, findNodeParent, fixCode, fixDelete, fixEmphasis, fixFootnote, fixLink, fixStrong, fixTable, fixTaskList, flow, footnoteDefLabelPattern, footnoteDefLinePattern, footnoteDefPattern, footnoteRefLabelPattern, footnoteRefPattern, hasKatex, hasMermaid, hasShiki, incompleteBracketPattern, incompleteFootnoteRefPattern, incompleteLinkTextPattern, incompleteTaskListPattern, incompleteUrlPattern, isClient, isServer, loadLocaleMessages, localeMessages, localesGlob, normalize, postFixFootnote, postFixText, postNormalize, postprocess, preprocess, preprocessLaTeX, proprocessContent, quoteIncompleteTaskListPattern, quoteStandaloneDashPattern, quoteTaskListPattern, remend, save, saveImage, separatorPattern, singleAsteriskPattern, singleBacktickPattern, singleUnderscorePattern, standaloneDashPattern, svgToPngBlob, tableDataToCSV, tableDataToMarkdown, tableDataToTSV, tableRowPattern, taskListPattern, trailingBackticksPattern, trailingStandaloneBracketPattern, trailingStandaloneDashWithNewlinesPattern, trailingWhitespacePattern, transformUrl, tripleBacktickPattern, useCodeOptions, useContext, useControls, useFloatingElement, useI18n, useKatex, useMathRenderer, useMediumZoom, useMermaid, useSanitizers, useShiki, useTailwindV3Theme, useZoom };
20859
+ export { CODE_PREVIEWERS, DEFAULT_DARK_THEME, DEFAULT_HARDEN_OPTIONS, DEFAULT_LIGHT_THEME, ICONS, LANGUAGE_ALIAS, LANGUAGE_EXTENSIONS, LANGUAGE_ICONS, src_default as Markdown, MarkdownParser, NODE_RENDERERS, PRELOAD_NODE_RENDERER, SHADCN_SCHEMAS, SUPPORT_LANGUAGES, UI, codeBlockPattern, crlfPattern, currentLocale, doubleAsteriskPattern, doubleDollarPattern, doubleTildePattern, doubleUnderscorePattern, escapeMarkdownTableCell, extractTableDataFromElement, findLastLeafNode, findNodeParent, fixCode, fixDelete, fixEmphasis, fixFootnote, fixLink, fixStrong, fixTable, fixTaskList, flow, footnoteDefLabelPattern, footnoteDefLinePattern, footnoteDefPattern, footnoteRefLabelPattern, footnoteRefPattern, hasKatex, hasMermaid, hasShiki, incompleteBracketPattern, incompleteFootnoteRefPattern, incompleteLinkTextPattern, incompleteTaskListPattern, incompleteUrlPattern, isClient, isServer, loadLocaleMessages, localeMessages, localesGlob, normalize, postFixFootnote, postFixText, postNormalize, postprocess, preloadAsyncComponents, preprocess, preprocessLaTeX, proprocessContent, quoteIncompleteTaskListPattern, quoteStandaloneDashPattern, quoteTaskListPattern, remend, save, saveImage, separatorPattern, singleAsteriskPattern, singleBacktickPattern, singleUnderscorePattern, standaloneDashPattern, svgToPngBlob, tableDataToCSV, tableDataToMarkdown, tableDataToTSV, tableRowPattern, taskListPattern, trailingBackticksPattern, trailingStandaloneBracketPattern, trailingStandaloneDashWithNewlinesPattern, trailingWhitespacePattern, transformUrl, tripleBacktickPattern, useCodeOptions, useContext, useControls, useFloating, useI18n, useKatex, useMathRenderer, useMediumZoom, useMermaid, useSanitizers, useShiki, useTailwindV3Theme, useZoom };
@@ -1,6 +1,6 @@
1
- import { h as useMathRenderer } from "./composables-DuQ72m6O.js";
2
- import "./icon-PEivHbuv.js";
3
- import { t as error_component_default } from "./error-component-CtZr0_st.js";
1
+ import { g as useMathRenderer } from "./composables-CL-BX9Ri.js";
2
+ import "./icon-MRs2P5TP.js";
3
+ import { t as error_component_default } from "./error-component-xzXxODeR.js";
4
4
  import { computed, createBlock, createCommentVNode, createElementBlock, defineComponent, mergeProps, openBlock, resolveDynamicComponent, toRefs, unref } from "vue";
5
5
 
6
6
  //#region src/components/renderers/inline-math.vue?vue&type=script&setup=true&lang.ts
@@ -1,7 +1,7 @@
1
- import { i as useSanitizers } from "./composables-DuQ72m6O.js";
2
- import { t as node_list_default } from "./node-list-D7eKaZGS.js";
3
- import "./icon-PEivHbuv.js";
4
- import { t as error_component_default } from "./error-component-CtZr0_st.js";
1
+ import { i as useSanitizers } from "./composables-CL-BX9Ri.js";
2
+ import { t as node_list_default } from "./node-list-3yGs9Kcx.js";
3
+ import "./icon-MRs2P5TP.js";
4
+ import { t as error_component_default } from "./error-component-xzXxODeR.js";
5
5
  import { computed, createBlock, createCommentVNode, createElementBlock, createVNode, defineComponent, mergeProps, openBlock, resolveDynamicComponent, toRefs, unref, withCtx } from "vue";
6
6
 
7
7
  //#region src/components/renderers/link.vue?vue&type=script&setup=true&lang.ts
@@ -1,5 +1,5 @@
1
- import "./composables-DuQ72m6O.js";
2
- import { t as node_list_default } from "./node-list-D7eKaZGS.js";
1
+ import "./composables-CL-BX9Ri.js";
2
+ import { t as node_list_default } from "./node-list-3yGs9Kcx.js";
3
3
  import { computed, createBlock, createVNode, defineComponent, mergeProps, openBlock, resolveDynamicComponent, withCtx } from "vue";
4
4
 
5
5
  //#region src/components/renderers/list.vue?vue&type=script&setup=true&lang.ts
@@ -1,5 +1,5 @@
1
- import "./composables-DuQ72m6O.js";
2
- import { t as node_list_default } from "./node-list-D7eKaZGS.js";
1
+ import "./composables-CL-BX9Ri.js";
2
+ import { t as node_list_default } from "./node-list-3yGs9Kcx.js";
3
3
  import { computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createVNode, defineComponent, mergeProps, openBlock } from "vue";
4
4
 
5
5
  //#region src/components/renderers/list-item.vue?vue&type=script&setup=true&lang.ts
@@ -1,6 +1,6 @@
1
- import { h as useMathRenderer } from "./composables-DuQ72m6O.js";
2
- import "./icon-PEivHbuv.js";
3
- import { t as error_component_default } from "./error-component-CtZr0_st.js";
1
+ import { g as useMathRenderer } from "./composables-CL-BX9Ri.js";
2
+ import "./icon-MRs2P5TP.js";
3
+ import { t as error_component_default } from "./error-component-xzXxODeR.js";
4
4
  import { computed, createBlock, createCommentVNode, createElementBlock, defineComponent, mergeProps, openBlock, resolveDynamicComponent, toRefs, unref } from "vue";
5
5
 
6
6
  //#region src/components/renderers/math.vue?vue&type=script&setup=true&lang.ts
@@ -1,9 +1,9 @@
1
- import { U as useControls, g as throttle, p as useMermaid } from "./composables-DuQ72m6O.js";
2
- import "./tooltip-CnO7OPL1.js";
3
- import { t as button_default } from "./button-BDO3n0n_.js";
4
- import "./icon-PEivHbuv.js";
5
- import { t as error_component_default } from "./error-component-CtZr0_st.js";
6
- import { t as zoom_container_default } from "./zoom-container-CrKx_BbS.js";
1
+ import { G as useControls, _ as throttle, m as useMermaid } from "./composables-CL-BX9Ri.js";
2
+ import "./tooltip-DkCGsj0S.js";
3
+ import { t as button_default } from "./button-CRnH8Rzt.js";
4
+ import "./icon-MRs2P5TP.js";
5
+ import { t as error_component_default } from "./error-component-xzXxODeR.js";
6
+ import { t as zoom_container_default } from "./zoom-container-H5FZmzwY.js";
7
7
  import { t as spin_default } from "./spin-DzERwGWy.js";
8
8
  import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createVNode, defineComponent, mergeProps, nextTick, normalizeStyle, openBlock, ref, renderList, resolveDynamicComponent, toRefs, watch, withCtx } from "vue";
9
9
  import { useResizeObserver } from "@vueuse/core";
@@ -0,0 +1,4 @@
1
+ import "./composables-CL-BX9Ri.js";
2
+ import { t as modal_default } from "./modal-vHG2jmSe.js";
3
+
4
+ export { modal_default as default };
@@ -1,4 +1,4 @@
1
- import { W as useContext } from "./composables-DuQ72m6O.js";
1
+ import { K as useContext } from "./composables-CL-BX9Ri.js";
2
2
  import { Fragment, Teleport, Transition, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, mergeModels, normalizeStyle, openBlock, renderSlot, toDisplayString, unref, useModel, useSlots, withCtx } from "vue";
3
3
  import { createReusableTemplate, useEventListener } from "@vueuse/core";
4
4
 
@@ -1,4 +1,4 @@
1
- import { W as useContext } from "./composables-DuQ72m6O.js";
1
+ import { K as useContext } from "./composables-CL-BX9Ri.js";
2
2
  import { Fragment, Transition, computed, createBlock, createCommentVNode, createElementBlock, defineComponent, mergeProps, openBlock, renderList, resolveDynamicComponent, withCtx } from "vue";
3
3
 
4
4
  //#region src/components/markdown.vue?vue&type=script&setup=true&lang.ts
@@ -0,0 +1,4 @@
1
+ import "./composables-CL-BX9Ri.js";
2
+ import { t as node_list_default } from "./node-list-3yGs9Kcx.js";
3
+
4
+ export { node_list_default as default };
@@ -1,5 +1,5 @@
1
- import "./composables-DuQ72m6O.js";
2
- import { t as node_list_default } from "./node-list-D7eKaZGS.js";
1
+ import "./composables-CL-BX9Ri.js";
2
+ import { t as node_list_default } from "./node-list-3yGs9Kcx.js";
3
3
  import { createElementBlock, createVNode, defineComponent, mergeProps, openBlock } from "vue";
4
4
 
5
5
  //#region src/components/renderers/paragraph.vue?vue&type=script&setup=true&lang.ts
@@ -3,7 +3,7 @@ import { defineAsyncComponent } from "vue";
3
3
  //#region src/components/previewers/index.ts
4
4
  const CODE_PREVIEWERS = {
5
5
  html: defineAsyncComponent(() => import("./html-D7bGx0Cz.js")),
6
- mermaid: defineAsyncComponent(() => import("./mermaid-VkvXdOuQ.js"))
6
+ mermaid: defineAsyncComponent(() => import("./mermaid-CyLU2UYz.js"))
7
7
  };
8
8
 
9
9
  //#endregion
@@ -1,4 +1,4 @@
1
- import { t as button_default } from "./button-BDO3n0n_.js";
1
+ import { t as button_default } from "./button-CRnH8Rzt.js";
2
2
  import { Fragment, createBlock, createElementBlock, defineComponent, mergeModels, openBlock, renderList, useModel } from "vue";
3
3
 
4
4
  //#region src/components/segmented.vue?vue&type=script&setup=true&lang.ts
@@ -0,0 +1,7 @@
1
+ import "./composables-CL-BX9Ri.js";
2
+ import "./tooltip-DkCGsj0S.js";
3
+ import "./button-CRnH8Rzt.js";
4
+ import "./icon-MRs2P5TP.js";
5
+ import { t as segmented_default } from "./segmented-ChmGPy3i.js";
6
+
7
+ export { segmented_default as default };
@@ -1,6 +1,7 @@
1
- import { G as useCodeOptions, r as useShiki } from "./composables-DuQ72m6O.js";
2
- import { t as vanilla_default } from "./vanilla-YFxsSfhA.js";
3
- import { computed, createBlock, createCommentVNode, defineAsyncComponent, defineComponent, guardReactiveProps, mergeProps, normalizeProps, openBlock, ref, toRefs, unref, watch } from "vue";
1
+ import { q as useCodeOptions, r as useShiki } from "./composables-CL-BX9Ri.js";
2
+ import { t as vanilla_default } from "./vanilla-D2g3JpWZ.js";
3
+ import { Transition, computed, createBlock, createCommentVNode, createElementBlock, createVNode, defineAsyncComponent, defineComponent, mergeProps, normalizeStyle, openBlock, ref, toRefs, unref, watch, withCtx } from "vue";
4
+ import { useResizeObserver } from "@vueuse/core";
4
5
 
5
6
  //#region src/components/renderers/code/shiki.vue?vue&type=script&setup=true&lang.ts
6
7
  var shiki_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
@@ -62,7 +63,7 @@ var shiki_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCo
62
63
  setup(__props) {
63
64
  const props = __props;
64
65
  const { shikiOptions, codeOptions, isDark } = toRefs(props);
65
- const ShikiTokensRenderer = defineAsyncComponent(() => import("./shiki-token-renderer-BjxmGfXH.js"));
66
+ const ShikiTokensRenderer = defineAsyncComponent(() => import("./shiki-token-renderer-l2VX-xoX.js"));
66
67
  const code = computed(() => props.node.value.trim());
67
68
  const lang = computed(() => props.node.lang || "");
68
69
  const { showLineNumbers } = useCodeOptions({
@@ -75,20 +76,44 @@ var shiki_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCo
75
76
  isDark
76
77
  });
77
78
  const tokens = ref();
79
+ const vanillaRef = ref();
80
+ const minHeight = ref();
81
+ const element = computed(() => {
82
+ var _vanillaRef$value;
83
+ return (_vanillaRef$value = vanillaRef.value) === null || _vanillaRef$value === void 0 ? void 0 : _vanillaRef$value.$el;
84
+ });
85
+ const observer = useResizeObserver(element, () => {
86
+ var _element$value;
87
+ minHeight.value = (_element$value = element.value) === null || _element$value === void 0 ? void 0 : _element$value.clientHeight;
88
+ });
78
89
  watch(() => [
79
90
  code.value,
80
91
  shikiOptions.value,
81
92
  isDark.value
82
93
  ], async () => {
83
94
  tokens.value = await codeToTokens(code.value);
95
+ observer.stop();
84
96
  }, { immediate: true });
85
97
  return (_ctx, _cache) => {
86
- return tokens.value ? (openBlock(), createBlock(unref(ShikiTokensRenderer), {
87
- key: 0,
88
- "data-stream-markdown": "code",
89
- "data-show-line-numbers": unref(showLineNumbers),
90
- tokens: tokens.value
91
- }, null, 8, ["data-show-line-numbers", "tokens"])) : (openBlock(), createBlock(unref(vanilla_default), normalizeProps(mergeProps({ key: 1 }, props)), null, 16));
98
+ return openBlock(), createBlock(Transition, {
99
+ name: "code-fade",
100
+ mode: "out-in"
101
+ }, {
102
+ default: withCtx(() => [tokens.value ? (openBlock(), createElementBlock("div", {
103
+ key: 0,
104
+ "data-stream-markdown": "shiki",
105
+ style: normalizeStyle({ minHeight: minHeight.value ? `${minHeight.value}px` : void 0 })
106
+ }, [createVNode(unref(ShikiTokensRenderer), {
107
+ "data-stream-markdown": "code",
108
+ "data-show-line-numbers": unref(showLineNumbers),
109
+ tokens: tokens.value
110
+ }, null, 8, ["data-show-line-numbers", "tokens"])], 4)) : (openBlock(), createBlock(unref(vanilla_default), mergeProps({
111
+ key: 1,
112
+ ref_key: "vanillaRef",
113
+ ref: vanillaRef
114
+ }, props), null, 16))]),
115
+ _: 1
116
+ });
92
117
  };
93
118
  }
94
119
  });
@@ -6,11 +6,13 @@ var shiki_token_renderer_default = defineComponent({
6
6
  name: "ShikiTokensRenderer",
7
7
  props: { tokens: {
8
8
  type: Object,
9
- required: true
9
+ required: false
10
10
  } },
11
11
  setup(props) {
12
+ if (!props.tokens) return null;
12
13
  return () => {
13
- var _props$tokens$grammar;
14
+ var _props$tokens, _props$tokens$grammar;
15
+ if (!((_props$tokens = props.tokens) === null || _props$tokens === void 0 ? void 0 : _props$tokens.tokens)) return null;
14
16
  return h("pre", {
15
17
  "class": ["shiki", props.tokens.themeName],
16
18
  "data-language": (_props$tokens$grammar = props.tokens.grammarState) === null || _props$tokens$grammar === void 0 ? void 0 : _props$tokens$grammar.lang,
@@ -1,5 +1,5 @@
1
- import "./composables-DuQ72m6O.js";
2
- import { t as node_list_default } from "./node-list-D7eKaZGS.js";
1
+ import "./composables-CL-BX9Ri.js";
2
+ import { t as node_list_default } from "./node-list-3yGs9Kcx.js";
3
3
  import { createElementBlock, createVNode, defineComponent, mergeProps, openBlock } from "vue";
4
4
 
5
5
  //#region src/components/renderers/strong.vue?vue&type=script&setup=true&lang.ts
@@ -1,8 +1,8 @@
1
- import { A as tableDataToTSV, D as extractTableDataFromElement, O as tableDataToCSV, U as useControls, W as useContext, k as tableDataToMarkdown, y as useI18n, z as save } from "./composables-DuQ72m6O.js";
2
- import { t as node_list_default } from "./node-list-D7eKaZGS.js";
3
- import "./tooltip-CnO7OPL1.js";
4
- import { t as button_default } from "./button-BDO3n0n_.js";
5
- import "./icon-PEivHbuv.js";
1
+ import { A as tableDataToMarkdown, G as useControls, K as useContext, O as extractTableDataFromElement, V as save, b as useI18n, j as tableDataToTSV, k as tableDataToCSV } from "./composables-CL-BX9Ri.js";
2
+ import { t as node_list_default } from "./node-list-3yGs9Kcx.js";
3
+ import "./tooltip-DkCGsj0S.js";
4
+ import { t as button_default } from "./button-CRnH8Rzt.js";
5
+ import "./icon-MRs2P5TP.js";
6
6
  import { t as spin_default } from "./spin-DzERwGWy.js";
7
7
  import { t as table_default$1 } from "./table-BMlD4JhL.js";
8
8
  import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createVNode, defineComponent, mergeProps, openBlock, ref, renderList, withCtx } from "vue";
@@ -0,0 +1,4 @@
1
+ import "./composables-CL-BX9Ri.js";
2
+ import { t as tooltip_default } from "./tooltip-DkCGsj0S.js";
3
+
4
+ export { tooltip_default as default };
@@ -1,4 +1,4 @@
1
- import { T as useFloatingElement, W as useContext } from "./composables-DuQ72m6O.js";
1
+ import { E as useFloating, K as useContext } from "./composables-CL-BX9Ri.js";
2
2
  import { Fragment, Teleport, createBlock, createCommentVNode, createElementBlock, createElementVNode, defineComponent, mergeProps, normalizeStyle, openBlock, renderSlot, toDisplayString, toRefs, unref } from "vue";
3
3
 
4
4
  //#region src/components/tooltip.vue?vue&type=script&setup=true&lang.ts
@@ -30,7 +30,7 @@ var tooltip_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ define
30
30
  setup(__props, { expose: __expose }) {
31
31
  const { placement, delay, trigger } = toRefs(__props);
32
32
  const { getContainer } = useContext();
33
- const { referenceEl: _referenceEl, floatingEl: _floatingEl, open, appendTo, floatingStyle, show, hide, onMouseEnter, onMouseLeave, onClick, onFloatingEnter, onFloatingLeave } = useFloatingElement({
33
+ const { referenceEl: _referenceEl, floatingEl: _floatingEl, open, appendTo, floatingStyle, show, hide, onMouseEnter, onMouseLeave, onClick, onFloatingEnter, onFloatingLeave } = useFloating({
34
34
  placement,
35
35
  delay,
36
36
  trigger,
@@ -0,0 +1,4 @@
1
+ import "./composables-CL-BX9Ri.js";
2
+ import { t as vanilla_default } from "./vanilla-D2g3JpWZ.js";
3
+
4
+ export { vanilla_default as default };
@@ -1,4 +1,4 @@
1
- import { G as useCodeOptions } from "./composables-DuQ72m6O.js";
1
+ import { q as useCodeOptions } from "./composables-CL-BX9Ri.js";
2
2
  import { computed, defineComponent, h, renderList, toRefs } from "vue";
3
3
 
4
4
  //#region src/components/renderers/code/vanilla.ts
@@ -0,0 +1,7 @@
1
+ import "./composables-CL-BX9Ri.js";
2
+ import "./tooltip-DkCGsj0S.js";
3
+ import "./button-CRnH8Rzt.js";
4
+ import "./icon-MRs2P5TP.js";
5
+ import { t as zoom_container_default } from "./zoom-container-H5FZmzwY.js";
6
+
7
+ export { zoom_container_default as default };
@@ -1,5 +1,5 @@
1
- import { t as useZoom, y as useI18n } from "./composables-DuQ72m6O.js";
2
- import { t as button_default } from "./button-BDO3n0n_.js";
1
+ import { b as useI18n, t as useZoom } from "./composables-CL-BX9Ri.js";
2
+ import { t as button_default } from "./button-CRnH8Rzt.js";
3
3
  import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, defineComponent, guardReactiveProps, mergeProps, normalizeProps, normalizeStyle, openBlock, ref, renderList, renderSlot, unref, withModifiers } from "vue";
4
4
 
5
5
  //#region src/components/zoom-container.vue?vue&type=script&setup=true&lang.ts
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "vue-stream-markdown",
3
3
  "type": "module",
4
- "version": "0.2.0",
4
+ "version": "0.2.1",
5
5
  "description": "Streaming markdown output, Useful for text streams like LLM outputs.",
6
6
  "author": "jinghaihan",
7
7
  "license": "MIT",
@@ -52,7 +52,7 @@
52
52
  }
53
53
  },
54
54
  "dependencies": {
55
- "@floating-ui/vue": "^1.1.9",
55
+ "@floating-ui/dom": "^1.7.4",
56
56
  "@vueuse/core": "^14.1.0",
57
57
  "markdown-it-async": "^2.2.0",
58
58
  "remend": "^1.0.1"
@@ -92,7 +92,7 @@
92
92
  "simple-git-hooks": "^2.13.1",
93
93
  "taze": "^19.9.2",
94
94
  "treechop": "^0.1.2",
95
- "tsdown": "^0.17.4",
95
+ "tsdown": "0.17.2",
96
96
  "tsx": "^4.21.0",
97
97
  "typescript": "^5.9.3",
98
98
  "unocss": "^66.5.10",
@@ -1,6 +0,0 @@
1
- import "./composables-DuQ72m6O.js";
2
- import "./tooltip-CnO7OPL1.js";
3
- import { t as button_default } from "./button-BDO3n0n_.js";
4
- import "./icon-PEivHbuv.js";
5
-
6
- export { button_default as default };
@@ -1,10 +0,0 @@
1
- import "./previewers-DYnyVv4Y.js";
2
- import "./composables-DuQ72m6O.js";
3
- import "./tooltip-CnO7OPL1.js";
4
- import "./button-BDO3n0n_.js";
5
- import "./icon-PEivHbuv.js";
6
- import "./modal-DrPdD2g1.js";
7
- import { t as code_block_default } from "./code-block-hQLDeAmP.js";
8
- import "./segmented-CeLXMLZa.js";
9
-
10
- export { code_block_default as default };
@@ -1,6 +0,0 @@
1
- import "./composables-DuQ72m6O.js";
2
- import "./tooltip-CnO7OPL1.js";
3
- import { n as dropdown_default } from "./button-BDO3n0n_.js";
4
- import "./icon-PEivHbuv.js";
5
-
6
- export { dropdown_default as default };
@@ -1,5 +0,0 @@
1
- import "./composables-DuQ72m6O.js";
2
- import "./icon-PEivHbuv.js";
3
- import { t as error_component_default } from "./error-component-CtZr0_st.js";
4
-
5
- export { error_component_default as default };
@@ -1,4 +0,0 @@
1
- import "./composables-DuQ72m6O.js";
2
- import { t as icon_default } from "./icon-PEivHbuv.js";
3
-
4
- export { icon_default as default };
@@ -1,9 +0,0 @@
1
- import "./composables-DuQ72m6O.js";
2
- import "./tooltip-CnO7OPL1.js";
3
- import "./button-BDO3n0n_.js";
4
- import "./icon-PEivHbuv.js";
5
- import "./modal-DrPdD2g1.js";
6
- import "./zoom-container-CrKx_BbS.js";
7
- import { t as image_default } from "./image-VMGQj_VU.js";
8
-
9
- export { image_default as default };
@@ -1,4 +0,0 @@
1
- import "./composables-DuQ72m6O.js";
2
- import { t as modal_default } from "./modal-DrPdD2g1.js";
3
-
4
- export { modal_default as default };
@@ -1,4 +0,0 @@
1
- import "./composables-DuQ72m6O.js";
2
- import { t as node_list_default } from "./node-list-D7eKaZGS.js";
3
-
4
- export { node_list_default as default };
@@ -1,7 +0,0 @@
1
- import "./composables-DuQ72m6O.js";
2
- import "./tooltip-CnO7OPL1.js";
3
- import "./button-BDO3n0n_.js";
4
- import "./icon-PEivHbuv.js";
5
- import { t as segmented_default } from "./segmented-CeLXMLZa.js";
6
-
7
- export { segmented_default as default };
@@ -1,4 +0,0 @@
1
- import "./composables-DuQ72m6O.js";
2
- import { t as tooltip_default } from "./tooltip-CnO7OPL1.js";
3
-
4
- export { tooltip_default as default };
@@ -1,4 +0,0 @@
1
- import "./composables-DuQ72m6O.js";
2
- import { t as vanilla_default } from "./vanilla-YFxsSfhA.js";
3
-
4
- export { vanilla_default as default };
@@ -1,7 +0,0 @@
1
- import "./composables-DuQ72m6O.js";
2
- import "./tooltip-CnO7OPL1.js";
3
- import "./button-BDO3n0n_.js";
4
- import "./icon-PEivHbuv.js";
5
- import { t as zoom_container_default } from "./zoom-container-CrKx_BbS.js";
6
-
7
- export { zoom_container_default as default };
File without changes