vue-stream-markdown 0.2.0 → 0.2.2

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 (195) hide show
  1. package/README.md +7 -0
  2. package/dist/{blockquote-C68fU4lp.js → blockquote-CVFraiyL.js} +2 -2
  3. package/dist/break-CzrM3nW0.js +73 -0
  4. package/dist/button-BFS-gHGF.js +6 -0
  5. package/dist/{button-BDO3n0n_.js → button-CWSGNZmd.js} +2 -2
  6. package/dist/{code-2Dd0EGfm.js → code-DwwmPoup.js} +10 -10
  7. package/dist/code-block-CTM9VEwA.js +10 -0
  8. package/dist/{code-block-hQLDeAmP.js → code-block-XfHjZodV.js} +54 -21
  9. package/dist/{composables-DuQ72m6O.js → composables-BMXMKLLj.js} +293 -219
  10. package/dist/{delete-CB-OS2WZ.js → delete-BRwEUU72.js} +2 -2
  11. package/dist/dropdown-BQ3uynLf.js +6 -0
  12. package/dist/{emphasis-BmUoyBRK.js → emphasis-DblyP-Vp.js} +2 -2
  13. package/dist/error-component-B_Vacrqa.js +5 -0
  14. package/dist/{error-component-CtZr0_st.js → error-component-CckClFee.js} +15 -7
  15. package/dist/{footnote-definition-55TjXXwa.js → footnote-definition-BvZNKSLa.js} +5 -5
  16. package/dist/{footnote-reference-lk2rvC4Q.js → footnote-reference-DvAxMjRZ.js} +1 -1
  17. package/dist/{heading-BlOK3uk2.js → heading-g87txbB0.js} +2 -2
  18. package/dist/html-BG83dEZJ.js +70 -0
  19. package/dist/icon-BX3KKloR.js +4 -0
  20. package/dist/{icon-PEivHbuv.js → icon-CpKYt1dR.js} +1 -1
  21. package/dist/image-BtkXhzG1.js +9 -0
  22. package/dist/{image-Bqn98dDB.js → image-CR28eDok.js} +8 -8
  23. package/dist/{image-VMGQj_VU.js → image-Dwe5A7RP.js} +4 -4
  24. package/dist/{index.css/index.css → index.css} +17 -0
  25. package/dist/index.d.ts +521 -82
  26. package/dist/index.js +51 -38
  27. package/dist/{inline-math--lfq9WCW.js → inline-math-BHDNxQ5R.js} +3 -3
  28. package/dist/{link-DAOjAX6n.js → link-BiA46FMM.js} +4 -4
  29. package/dist/{list-EOEqkWEi.js → list-D7QyoGUy.js} +2 -2
  30. package/dist/{list-item-ZG4eadLp.js → list-item-Cv8l3Ufd.js} +2 -2
  31. package/dist/{math-3zyrsc0O.js → math-BzuYH4PG.js} +3 -3
  32. package/dist/{mermaid-VkvXdOuQ.js → mermaid-BoiSJ4fF.js} +21 -11
  33. package/dist/modal-CFOdkYNj.js +4 -0
  34. package/dist/{modal-DrPdD2g1.js → modal-DHGxvCt5.js} +1 -1
  35. package/dist/node-list-BYDvt6bq.js +4 -0
  36. package/dist/{node-list-D7eKaZGS.js → node-list-D6zJX92N.js} +1 -1
  37. package/dist/{paragraph-DEyWEFYY.js → paragraph-YTqe84Bm.js} +2 -2
  38. package/dist/{previewers-DYnyVv4Y.js → previewers-Cpx1Wqu8.js} +1 -1
  39. package/dist/segmented-CaVb5_Rp.js +7 -0
  40. package/dist/{segmented-CeLXMLZa.js → segmented-DDQZGL7l.js} +7 -2
  41. package/dist/{shiki-Dgoch7Q6.js → shiki-DDfRFzy0.js} +35 -10
  42. package/dist/{shiki-token-renderer-BjxmGfXH.js → shiki-token-renderer-zn-KUQJD.js} +4 -2
  43. package/dist/{strong-CFjQLk1h.js → strong-nPwCJEKq.js} +2 -2
  44. package/dist/table-D6j6Gl87.js +3 -0
  45. package/dist/{table-DI25RphX.js → table-Dtpd-MnT.js} +6 -6
  46. package/dist/tooltip-BIvCaFUj.js +4 -0
  47. package/dist/{tooltip-CnO7OPL1.js → tooltip-C4RiUZwy.js} +2 -2
  48. package/dist/vanilla-DfHiHWnr.js +4 -0
  49. package/dist/{vanilla-YFxsSfhA.js → vanilla-NR7MOE5P.js} +1 -1
  50. package/dist/{yaml-eOuEqAWX.js → yaml-DP0yfJyS.js} +1 -1
  51. package/dist/{zoom-container-CrKx_BbS.js → zoom-container-CqZQ4X6w.js} +2 -2
  52. package/dist/zoom-container-DtkZ07v1.js +7 -0
  53. package/package.json +3 -3
  54. package/dist/button-CdUyT8T_.js +0 -6
  55. package/dist/code-block-Co2UoPPS.js +0 -10
  56. package/dist/dropdown-BB3nyts8.js +0 -6
  57. package/dist/error-component-biOT0E-h.js +0 -5
  58. package/dist/icon-mUoYnA6R.js +0 -4
  59. package/dist/image-B6Pw2YBI.js +0 -9
  60. package/dist/modal-BKzT1TQI.js +0 -4
  61. package/dist/node-list-DtNGUnnI.js +0 -4
  62. package/dist/segmented-6Ch-Ees3.js +0 -7
  63. package/dist/table-20vwclBI.js +0 -3
  64. package/dist/tooltip-CAyfm3_l.js +0 -4
  65. package/dist/vanilla-BZ1fQWZQ.js +0 -4
  66. package/dist/zoom-container-j4kY9qX_.js +0 -7
  67. /package/dist/{angular-CJL7ngrz.js → angular-BhTq4eiQ.js} +0 -0
  68. /package/dist/{angular-component-COlDvuNE.js → angular-component-Ba6hb3Ou.js} +0 -0
  69. /package/dist/{apache-CVvmKdUn.js → apache-D-wFNTKM.js} +0 -0
  70. /package/dist/{arrow-left-Dqeb1_Um.js → arrow-left-Fc4I-KPU.js} +0 -0
  71. /package/dist/{asciidoc-DOmevTVz.js → asciidoc-BhsFgAwp.js} +0 -0
  72. /package/dist/{assembly-Bj0yQVcL.js → assembly-DujbfxwO.js} +0 -0
  73. /package/dist/{astro-DUti0QFn.js → astro-By5aMeAI.js} +0 -0
  74. /package/dist/{bash-BfyNXzLO.js → bash-CxLhFc8T.js} +0 -0
  75. /package/dist/{batch-Dp6N3cFQ.js → batch-D2KCChyX.js} +0 -0
  76. /package/dist/{bicep-CEkCHedl.js → bicep-BpMR7zbS.js} +0 -0
  77. /package/dist/{c-CTmG9vr2.js → c-BL0h9qSZ.js} +0 -0
  78. /package/dist/{check-C6XCJVPi.js → check-DUf_EYGI.js} +0 -0
  79. /package/dist/{chevron-down-aK8OlmM2.js → chevron-down-Bd8OWcQz.js} +0 -0
  80. /package/dist/{circle-alert-C5r2kfnc.js → circle-alert-C3xlkKpn.js} +0 -0
  81. /package/dist/{clojure-CHjliXb8.js → clojure-CIlREuXX.js} +0 -0
  82. /package/dist/{cmake-BsKz8Gt4.js → cmake-C1NQwzHz.js} +0 -0
  83. /package/dist/{cobol-BvWYwPFU.js → cobol-BSROkBc2.js} +0 -0
  84. /package/dist/{code-Bwlpb4mV.js → code-jkFGYUqR.js} +0 -0
  85. /package/dist/{codeowners-CfTM6yvs.js → codeowners-ByOcyZxj.js} +0 -0
  86. /package/dist/{coffeescript-BDiFe_B2.js → coffeescript-LQTFO7bN.js} +0 -0
  87. /package/dist/{copy-VpvA-5VS.js → copy-CLBkFmXf.js} +0 -0
  88. /package/dist/{corner-down-left-B77X84F8.js → corner-down-left-CMgnqWC_.js} +0 -0
  89. /package/dist/{cpp-BfV_KWzp.js → cpp-BFHQMV1Y.js} +0 -0
  90. /package/dist/{crystal-BXT0x2i3.js → crystal-DCVN-7Od.js} +0 -0
  91. /package/dist/{csharp-C6rkxA6x.js → csharp-B0k7ij_8.js} +0 -0
  92. /package/dist/{css-Drxb2cuf.js → css-CC5BGj0-.js} +0 -0
  93. /package/dist/{csv-CHKRaQ9l.js → csv-B5a7HayX.js} +0 -0
  94. /package/dist/{cue-DksiF2mE.js → cue-CGNrDM1A.js} +0 -0
  95. /package/dist/{d-C8JgmiVc.js → d-CMJdAMFb.js} +0 -0
  96. /package/dist/{dart-BX3GppmW.js → dart-BBqW-Fvj.js} +0 -0
  97. /package/dist/{database-Lmva5T5u.js → database-LuWYzgPI.js} +0 -0
  98. /package/dist/{diff-C61xHcnV.js → diff-UhwhR0nf.js} +0 -0
  99. /package/dist/{docker-Dws0Euuu.js → docker-CaBsFwYx.js} +0 -0
  100. /package/dist/{download-BB76SD0m.js → download-DtpBCWCq.js} +0 -0
  101. /package/dist/{elixir-CtaCeLkf.js → elixir-NvxbJYKg.js} +0 -0
  102. /package/dist/{elm-CFvSvo-7.js → elm-BNn2zGko.js} +0 -0
  103. /package/dist/{en-US-Cw-sFSiZ.js → en-US-BE5eeEXk.js} +0 -0
  104. /package/dist/{env-BwMmmmE5.js → env-CKkm6DtJ.js} +0 -0
  105. /package/dist/{erlang-DJRbvPSq.js → erlang-DnQ1MXEC.js} +0 -0
  106. /package/dist/{eye-VjweBQoW.js → eye-g-R6YkP9.js} +0 -0
  107. /package/dist/{flip-horizontal-D4IxaKDu.js → flip-horizontal-14eeKks-.js} +0 -0
  108. /package/dist/{fortran-D3Vf5GTV.js → fortran-D7C8ntBV.js} +0 -0
  109. /package/dist/{fsharp-C2iQH5b1.js → fsharp-B2meisDr.js} +0 -0
  110. /package/dist/{git-DN4z97-P.js → git-Dibise41.js} +0 -0
  111. /package/dist/{gleam-PhX3VC_5.js → gleam-DghqX0MW.js} +0 -0
  112. /package/dist/{go-xPznl0oK.js → go-hIgDRVGB.js} +0 -0
  113. /package/dist/{graphql-sVzb1_rA.js → graphql-Cwvddao6.js} +0 -0
  114. /package/dist/{groovy-Bvkrc3eE.js → groovy-Z_peiWRr.js} +0 -0
  115. /package/dist/{haml-Y_qa35Lk.js → haml-CK7X58Ac.js} +0 -0
  116. /package/dist/{handlebars-Bo6cxn4k.js → handlebars-CzXueKIL.js} +0 -0
  117. /package/dist/{haskell-D8t1pxAr.js → haskell-F8Hxt60K.js} +0 -0
  118. /package/dist/{haxe-C-sdXVB9.js → haxe-rnsd_VXm.js} +0 -0
  119. /package/dist/{html-I3JKB_2G.js → html-B-vufMHC.js} +0 -0
  120. /package/dist/{http-Dj2NVTPO.js → http-D-fTarEG.js} +0 -0
  121. /package/dist/{image-DzKVFSaY.js → image-BnP_94aa.js} +0 -0
  122. /package/dist/{inline-code-BZNE1ALQ.js → inline-code-E5uGvmnx.js} +0 -0
  123. /package/dist/{java-BulcCUaV.js → java-BhCbKSsp.js} +0 -0
  124. /package/dist/{javascript-DQlby440.js → javascript-CgYlNrc3.js} +0 -0
  125. /package/dist/{jinja-HRQZM5oZ.js → jinja-BwhD62Ck.js} +0 -0
  126. /package/dist/{json-wUPUX2x-.js → json-BITBW2a3.js} +0 -0
  127. /package/dist/{julia-DjHYSWzj.js → julia-K2FP98rH.js} +0 -0
  128. /package/dist/{kdl-CGLuct22.js → kdl-wzDw_Xgt.js} +0 -0
  129. /package/dist/{kotlin-CnR9eg7m.js → kotlin-UdhiRb2s.js} +0 -0
  130. /package/dist/{latex-CesDKd8G.js → latex-Cg4biTsQ.js} +0 -0
  131. /package/dist/{less-215r2nUv.js → less-CvaKAB1v.js} +0 -0
  132. /package/dist/{link-4JB1WqYS.js → link-C8MvJEtb.js} +0 -0
  133. /package/dist/{liquid-FFTnvZwx.js → liquid-DnaYJvE6.js} +0 -0
  134. /package/dist/{lisp-BNWIo3S3.js → lisp-Dxh5WGkj.js} +0 -0
  135. /package/dist/{log-C3BhnPjM.js → log-CptO9Lr8.js} +0 -0
  136. /package/dist/{lua-jBHQD7Fh.js → lua-BYE-WkAz.js} +0 -0
  137. /package/dist/{luau-CJKAqC3L.js → luau-9_yNlfJT.js} +0 -0
  138. /package/dist/{makefile-DZmoFYpF.js → makefile-B7idP48b.js} +0 -0
  139. /package/dist/{markdown-BEABBw2C.js → markdown-CF1aOY6A.js} +0 -0
  140. /package/dist/{marko-DE7d51Q2.js → marko-B96CKJZY.js} +0 -0
  141. /package/dist/{matlab-n99nEoGl.js → matlab-LSvZWs6_.js} +0 -0
  142. /package/dist/{maximize-VRncBaHe.js → maximize-BYf7n_fw.js} +0 -0
  143. /package/dist/{mermaid-Dv9_1JlU.js → mermaid-CjPc_PTq.js} +0 -0
  144. /package/dist/{minimize-k8aU78V4.js → minimize-DUcEsZ0x.js} +0 -0
  145. /package/dist/{nextflow-DjdDVx1j.js → nextflow-Di2JOuIQ.js} +0 -0
  146. /package/dist/{nginx-DH4jOOdC.js → nginx-DwP-rcfw.js} +0 -0
  147. /package/dist/{nim-Cb0hPGv5.js → nim-B8CTKDeR.js} +0 -0
  148. /package/dist/{nix-Bf4Vwv5v.js → nix-DzZgDL2a.js} +0 -0
  149. /package/dist/{ocaml-BwJ1z9S7.js → ocaml-Bs_vWDxp.js} +0 -0
  150. /package/dist/{perl-P6bAYvN9.js → perl-BvEAb2FB.js} +0 -0
  151. /package/dist/{php-BGTGPBW1.js → php-DJ6oc5J7.js} +0 -0
  152. /package/dist/{postcss-D8a2Jx1D.js → postcss-Buy79gTC.js} +0 -0
  153. /package/dist/{powershell-DNOnus4K.js → powershell-xWtLU9gf.js} +0 -0
  154. /package/dist/{prisma-DquVk_GR.js → prisma-_Jw8lmC9.js} +0 -0
  155. /package/dist/{prolog-BxJJGnOg.js → prolog-CXJiBRKn.js} +0 -0
  156. /package/dist/{properties-DjauSeDE.js → properties-bV3eZsxi.js} +0 -0
  157. /package/dist/{proto-3aU1SxxY.js → proto-CdPPb7qQ.js} +0 -0
  158. /package/dist/{pug-OiYFRnMd.js → pug-DuDhqAK0.js} +0 -0
  159. /package/dist/{puppet-8Sq4QIbE.js → puppet-BznIc6wm.js} +0 -0
  160. /package/dist/{python-CBYVyhMm.js → python-1saA982A.js} +0 -0
  161. /package/dist/{r-DfzMNaiK.js → r-C94u3fL1.js} +0 -0
  162. /package/dist/{racket-EkEmTJtD.js → racket-CJXkPHdl.js} +0 -0
  163. /package/dist/{razor-BSd-q379.js → razor-NEi8COml.js} +0 -0
  164. /package/dist/{rotate-ccw-square-Dy0doneR.js → rotate-ccw-square-BJ_A0rAa.js} +0 -0
  165. /package/dist/{ruby-CNn-W_DF.js → ruby-CgygvN8C.js} +0 -0
  166. /package/dist/{rust-BW9y4Ksf.js → rust-DQacYSAC.js} +0 -0
  167. /package/dist/{sass-Cyleqehh.js → sass-HD_VNbVH.js} +0 -0
  168. /package/dist/{scala-2YqaI_aG.js → scala-DFCCsRj5.js} +0 -0
  169. /package/dist/{scheme-CWx6sQlk.js → scheme-CMuWDKun.js} +0 -0
  170. /package/dist/{shader-CLzSKNOz.js → shader-CJxZVwVX.js} +0 -0
  171. /package/dist/{solidity-CgjJUETv.js → solidity-CZfwNrv_.js} +0 -0
  172. /package/dist/{stata-CI3W9UFN.js → stata-DLyUE6pK.js} +0 -0
  173. /package/dist/{svelte-D-OV6frL.js → svelte-D3v3JUId.js} +0 -0
  174. /package/dist/{swift-CcBwS4X5.js → swift-BuLBBeAo.js} +0 -0
  175. /package/dist/{table-BMlD4JhL.js → table-tZ8TA3cu.js} +0 -0
  176. /package/dist/{terraform-BwM_GPTy.js → terraform-BpdftQxe.js} +0 -0
  177. /package/dist/{text-hIzRUiKs.js → text-CVjFFVPk.js} +0 -0
  178. /package/dist/{text-DP2IAZrc.js → text-CfRWiRE0.js} +0 -0
  179. /package/dist/{thematic-break-DIO-A8eY.js → thematic-break-DgOD2KmY.js} +0 -0
  180. /package/dist/{theme.css/theme.css → theme.css} +0 -0
  181. /package/dist/{toml-CXJ7B-C1.js → toml-DwuHYrJF.js} +0 -0
  182. /package/dist/{twig-CXQNsdEx.js → twig-C3W2hNMC.js} +0 -0
  183. /package/dist/{typescript-0uiFYOof.js → typescript-oV84jXPW.js} +0 -0
  184. /package/dist/{typst-gIi5b52E.js → typst-iMKBhjQc.js} +0 -0
  185. /package/dist/{v-Ct-HfSu0.js → v-D8a-2CMq.js} +0 -0
  186. /package/dist/{vala-BZbAZj2w.js → vala-Dnxzb4xr.js} +0 -0
  187. /package/dist/{verilog-NzFyyNP_.js → verilog-CABQqn01.js} +0 -0
  188. /package/dist/{vim-CN-tRagW.js → vim-BGlWyvYm.js} +0 -0
  189. /package/dist/{vue-BmLzKAao.js → vue-D6HdD2dj.js} +0 -0
  190. /package/dist/{xml-CBzkooc-.js → xml-B9NfR4AN.js} +0 -0
  191. /package/dist/{yaml-CT7I_lPM.js → yaml-CrFdGZgo.js} +0 -0
  192. /package/dist/{zh-CN-B9lWRP8O.js → zh-CN-BLQuwJEP.js} +0 -0
  193. /package/dist/{zig-B7F-QzJD.js → zig-BYI6J86j.js} +0 -0
  194. /package/dist/{zoomIn-DlPeXZbT.js → zoomIn-B7_XWmXc.js} +0 -0
  195. /package/dist/{zoomOut-Lvyw8SOW.js → zoomOut-CMmvbGLb.js} +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-Cpx1Wqu8.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-BMXMKLLj.js";
3
+ import { t as node_list_default } from "./node-list-D6zJX92N.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,44 +49,46 @@ 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")),
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")),
69
- text: defineAsyncComponent(() => import("./text-DP2IAZrc.js")),
70
- thematicBreak: defineAsyncComponent(() => import("./thematic-break-DIO-A8eY.js")),
71
- yaml: defineAsyncComponent(() => import("./yaml-eOuEqAWX.js"))
52
+ blockquote: defineAsyncComponent(() => import("./blockquote-CVFraiyL.js")),
53
+ break: defineAsyncComponent(() => import("./break-CzrM3nW0.js")),
54
+ code: defineAsyncComponent(() => import("./code-DwwmPoup.js")),
55
+ delete: defineAsyncComponent(() => import("./delete-BRwEUU72.js")),
56
+ emphasis: defineAsyncComponent(() => import("./emphasis-DblyP-Vp.js")),
57
+ footnoteDefinition: defineAsyncComponent(() => import("./footnote-definition-BvZNKSLa.js")),
58
+ footnoteReference: defineAsyncComponent(() => import("./footnote-reference-DvAxMjRZ.js")),
59
+ heading: defineAsyncComponent(() => import("./heading-g87txbB0.js")),
60
+ html: defineAsyncComponent(() => import("./html-BG83dEZJ.js")),
61
+ image: defineAsyncComponent(() => import("./image-CR28eDok.js")),
62
+ inlineCode: defineAsyncComponent(() => import("./inline-code-E5uGvmnx.js")),
63
+ inlineMath: defineAsyncComponent(() => import("./inline-math-BHDNxQ5R.js")),
64
+ link: defineAsyncComponent(() => import("./link-BiA46FMM.js")),
65
+ list: defineAsyncComponent(() => import("./list-D7QyoGUy.js")),
66
+ listItem: defineAsyncComponent(() => import("./list-item-Cv8l3Ufd.js")),
67
+ math: defineAsyncComponent(() => import("./math-BzuYH4PG.js")),
68
+ paragraph: defineAsyncComponent(() => import("./paragraph-YTqe84Bm.js")),
69
+ strong: defineAsyncComponent(() => import("./strong-nPwCJEKq.js")),
70
+ table: defineAsyncComponent(() => import("./table-Dtpd-MnT.js")),
71
+ text: defineAsyncComponent(() => import("./text-CfRWiRE0.js")),
72
+ thematicBreak: defineAsyncComponent(() => import("./thematic-break-DgOD2KmY.js")),
73
+ yaml: defineAsyncComponent(() => import("./yaml-DP0yfJyS.js"))
72
74
  };
73
75
 
74
76
  //#endregion
75
77
  //#region src/components/index.ts
76
78
  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")),
79
+ Button: defineAsyncComponent(() => import("./button-BFS-gHGF.js")),
80
+ CodeBlock: defineAsyncComponent(() => import("./code-block-CTM9VEwA.js")),
81
+ Dropdown: defineAsyncComponent(() => import("./dropdown-BQ3uynLf.js")),
82
+ ErrorComponent: defineAsyncComponent(() => import("./error-component-B_Vacrqa.js")),
83
+ Icon: defineAsyncComponent(() => import("./icon-BX3KKloR.js")),
84
+ Image: defineAsyncComponent(() => import("./image-BtkXhzG1.js")),
85
+ Modal: defineAsyncComponent(() => import("./modal-CFOdkYNj.js")),
86
+ NodeList: defineAsyncComponent(() => import("./node-list-BYDvt6bq.js")),
87
+ Segmented: defineAsyncComponent(() => import("./segmented-CaVb5_Rp.js")),
86
88
  Spin: defineAsyncComponent(() => import("./spin-DElj7VPm.js")),
87
- Table: defineAsyncComponent(() => import("./table-20vwclBI.js")),
88
- Tooltip: defineAsyncComponent(() => import("./tooltip-CAyfm3_l.js")),
89
- ZoomContainer: defineAsyncComponent(() => import("./zoom-container-j4kY9qX_.js"))
89
+ Table: defineAsyncComponent(() => import("./table-D6j6Gl87.js")),
90
+ Tooltip: defineAsyncComponent(() => import("./tooltip-BIvCaFUj.js")),
91
+ ZoomContainer: defineAsyncComponent(() => import("./zoom-container-DtkZ07v1.js"))
90
92
  };
91
93
 
92
94
  //#endregion
@@ -20685,6 +20687,10 @@ var index_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCo
20685
20687
  required: false,
20686
20688
  default: () => ({})
20687
20689
  },
20690
+ preload: {
20691
+ type: Object,
20692
+ required: false
20693
+ },
20688
20694
  locale: {
20689
20695
  type: [String, Object],
20690
20696
  required: false,
@@ -20770,7 +20776,8 @@ var index_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCo
20770
20776
  mode: props.mode,
20771
20777
  mdastOptions: props.mdastOptions,
20772
20778
  postprocess: props.postprocess,
20773
- preprocess: props.preprocess
20779
+ preprocess: props.preprocess,
20780
+ normalize: props.normalize
20774
20781
  });
20775
20782
  const processed = computed(() => markdownParser.parseMarkdown(props.content));
20776
20783
  const parsedNodes = computed(() => processed.value.nodes);
@@ -20779,6 +20786,10 @@ var index_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCo
20779
20786
  ...NODE_RENDERERS,
20780
20787
  ...props.nodeRenderers
20781
20788
  }));
20789
+ const preloadNodeRenderers = computed(() => {
20790
+ if (!props.preload || !props.preload.nodeRenderers) return PRELOAD_NODE_RENDERER;
20791
+ return props.preload.nodeRenderers;
20792
+ });
20782
20793
  const icons = computed(() => ({
20783
20794
  ...ICONS,
20784
20795
  ...props.icons
@@ -20793,9 +20804,11 @@ var index_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCo
20793
20804
  const tasks = [
20794
20805
  preloadShiki(),
20795
20806
  preloadMermaid(),
20796
- preloadKatex()
20807
+ preloadKatex(),
20808
+ preloadAsyncComponents(icons.value)
20797
20809
  ];
20798
20810
  if (props.locale !== "en-US") tasks.push(loadLocaleMessages(props.locale));
20811
+ if (preloadNodeRenderers.value.length) tasks.push(preloadAsyncComponents(nodeRenderers.value, preloadNodeRenderers.value));
20799
20812
  await Promise.all(tasks);
20800
20813
  }
20801
20814
  onMounted(bootstrap);
@@ -20846,4 +20859,4 @@ var index_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCo
20846
20859
  var src_default = index_vue_vue_type_script_setup_true_lang_default;
20847
20860
 
20848
20861
  //#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 };
20862
+ 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-BMXMKLLj.js";
2
+ import "./icon-CpKYt1dR.js";
3
+ import { t as error_component_default } from "./error-component-CckClFee.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-BMXMKLLj.js";
2
+ import { t as node_list_default } from "./node-list-D6zJX92N.js";
3
+ import "./icon-CpKYt1dR.js";
4
+ import { t as error_component_default } from "./error-component-CckClFee.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-BMXMKLLj.js";
2
+ import { t as node_list_default } from "./node-list-D6zJX92N.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-BMXMKLLj.js";
2
+ import { t as node_list_default } from "./node-list-D6zJX92N.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-BMXMKLLj.js";
2
+ import "./icon-CpKYt1dR.js";
3
+ import { t as error_component_default } from "./error-component-CckClFee.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-BMXMKLLj.js";
2
+ import "./tooltip-C4RiUZwy.js";
3
+ import { t as button_default } from "./button-CWSGNZmd.js";
4
+ import "./icon-CpKYt1dR.js";
5
+ import { t as error_component_default } from "./error-component-CckClFee.js";
6
+ import { t as zoom_container_default } from "./zoom-container-CqZQ4X6w.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";
@@ -91,7 +91,9 @@ var mermaid_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ define
91
91
  return "bottom-right";
92
92
  });
93
93
  const renderFlag = ref(false);
94
+ const renderAttempt = ref(false);
94
95
  const svg = ref();
96
+ const error = ref();
95
97
  const containerRef = ref();
96
98
  const code = computed(() => props.node.value.trim());
97
99
  const nodeLoading = computed(() => !!props.node.loading);
@@ -149,13 +151,13 @@ var mermaid_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ define
149
151
  }
150
152
  }
151
153
  const render = throttle(props.throttle, async () => {
152
- const data = await renderMermaid(code.value);
153
- if (data) {
154
+ const { valid, svg: data, error: err } = await renderMermaid(code.value);
155
+ if (valid) {
154
156
  svg.value = data;
155
157
  nextTick(() => {
156
158
  updateHeight();
157
159
  });
158
- }
160
+ } else error.value = err;
159
161
  renderFlag.value = true;
160
162
  });
161
163
  const mermaidControls = computed(() => resolveControls("mermaid", [], props));
@@ -166,7 +168,12 @@ var mermaid_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ define
166
168
  nodeLoading.value
167
169
  ], render, { immediate: true });
168
170
  watch(loading, (curr, prev) => {
169
- if (!curr && prev) renderFlag.value = false;
171
+ if (renderAttempt.value) return;
172
+ if (!curr && prev) {
173
+ renderAttempt.value = true;
174
+ renderFlag.value = false;
175
+ render();
176
+ }
170
177
  }, { immediate: true });
171
178
  if (!props.containerHeight) useResizeObserver(containerRef, () => {
172
179
  updateHeight();
@@ -186,7 +193,10 @@ var mermaid_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ define
186
193
  })) : (openBlock(), createBlock(resolveDynamicComponent(Error.value), mergeProps({
187
194
  key: 1,
188
195
  variant: "mermaid"
189
- }, props), null, 16))], 64)) : createCommentVNode("v-if", true), createVNode(zoom_container_default, {
196
+ }, props, {
197
+ message: error.value,
198
+ "show-icon": false
199
+ }), null, 16, ["message"]))], 64)) : createCommentVNode("v-if", true), createVNode(zoom_container_default, {
190
200
  "show-control": showControl.value,
191
201
  position: controlPosition.value
192
202
  }, {
@@ -0,0 +1,4 @@
1
+ import "./composables-BMXMKLLj.js";
2
+ import { t as modal_default } from "./modal-DHGxvCt5.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-BMXMKLLj.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
 
@@ -0,0 +1,4 @@
1
+ import "./composables-BMXMKLLj.js";
2
+ import { t as node_list_default } from "./node-list-D6zJX92N.js";
3
+
4
+ export { node_list_default as default };
@@ -1,4 +1,4 @@
1
- import { W as useContext } from "./composables-DuQ72m6O.js";
1
+ import { K as useContext } from "./composables-BMXMKLLj.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
@@ -1,5 +1,5 @@
1
- import "./composables-DuQ72m6O.js";
2
- import { t as node_list_default } from "./node-list-D7eKaZGS.js";
1
+ import "./composables-BMXMKLLj.js";
2
+ import { t as node_list_default } from "./node-list-D6zJX92N.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-BoiSJ4fF.js"))
7
7
  };
8
8
 
9
9
  //#endregion
@@ -0,0 +1,7 @@
1
+ import "./composables-BMXMKLLj.js";
2
+ import "./tooltip-C4RiUZwy.js";
3
+ import "./button-CWSGNZmd.js";
4
+ import "./icon-CpKYt1dR.js";
5
+ import { t as segmented_default } from "./segmented-DDQZGL7l.js";
6
+
7
+ export { segmented_default as default };
@@ -1,4 +1,4 @@
1
- import { t as button_default } from "./button-BDO3n0n_.js";
1
+ import { t as button_default } from "./button-CWSGNZmd.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
@@ -30,10 +30,13 @@ var segmented_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defi
30
30
  const emits = __emit;
31
31
  const modelValue = useModel(__props, "value");
32
32
  if (props.options.length && !modelValue.value) modelValue.value = props.options[0].value;
33
+ function isButtonActive(item) {
34
+ return modelValue.value === item.value;
35
+ }
33
36
  function getButtonStyle(item) {
34
37
  return {
35
38
  paddingBlock: "0.25rem",
36
- backgroundColor: modelValue.value === item.value ? "var(--accent)" : void 0,
39
+ backgroundColor: isButtonActive(item) ? "var(--accent)" : void 0,
37
40
  ...props.buttonStyle
38
41
  };
39
42
  }
@@ -49,11 +52,13 @@ var segmented_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defi
49
52
  icon: item.icon,
50
53
  name: item.label,
51
54
  "button-style": getButtonStyle(item),
55
+ "data-active": isButtonActive(item),
52
56
  onClick: () => onClick(item)
53
57
  }, null, 8, [
54
58
  "icon",
55
59
  "name",
56
60
  "button-style",
61
+ "data-active",
57
62
  "onClick"
58
63
  ]);
59
64
  }), 128))]);
@@ -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-BMXMKLLj.js";
2
+ import { t as vanilla_default } from "./vanilla-NR7MOE5P.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-zn-KUQJD.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-BMXMKLLj.js";
2
+ import { t as node_list_default } from "./node-list-D6zJX92N.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
@@ -0,0 +1,3 @@
1
+ import { t as table_default } from "./table-tZ8TA3cu.js";
2
+
3
+ export { table_default as default };
@@ -1,10 +1,10 @@
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-BMXMKLLj.js";
2
+ import { t as node_list_default } from "./node-list-D6zJX92N.js";
3
+ import "./tooltip-C4RiUZwy.js";
4
+ import { t as button_default } from "./button-CWSGNZmd.js";
5
+ import "./icon-CpKYt1dR.js";
6
6
  import { t as spin_default } from "./spin-DzERwGWy.js";
7
- import { t as table_default$1 } from "./table-BMlD4JhL.js";
7
+ import { t as table_default$1 } from "./table-tZ8TA3cu.js";
8
8
  import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createVNode, defineComponent, mergeProps, openBlock, ref, renderList, withCtx } from "vue";
9
9
  import { useClipboard } from "@vueuse/core";
10
10
 
@@ -0,0 +1,4 @@
1
+ import "./composables-BMXMKLLj.js";
2
+ import { t as tooltip_default } from "./tooltip-C4RiUZwy.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-BMXMKLLj.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-BMXMKLLj.js";
2
+ import { t as vanilla_default } from "./vanilla-NR7MOE5P.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-BMXMKLLj.js";
2
2
  import { computed, defineComponent, h, renderList, toRefs } from "vue";
3
3
 
4
4
  //#region src/components/renderers/code/vanilla.ts
@@ -1,4 +1,4 @@
1
- import { t as table_default } from "./table-BMlD4JhL.js";
1
+ import { t as table_default } from "./table-tZ8TA3cu.js";
2
2
  import { computed, createElementBlock, createTextVNode, createVNode, defineComponent, openBlock, toDisplayString, withCtx } from "vue";
3
3
 
4
4
  //#region src/components/renderers/yaml.vue?vue&type=script&setup=true&lang.ts
@@ -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-BMXMKLLj.js";
2
+ import { t as button_default } from "./button-CWSGNZmd.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
@@ -0,0 +1,7 @@
1
+ import "./composables-BMXMKLLj.js";
2
+ import "./tooltip-C4RiUZwy.js";
3
+ import "./button-CWSGNZmd.js";
4
+ import "./icon-CpKYt1dR.js";
5
+ import { t as zoom_container_default } from "./zoom-container-CqZQ4X6w.js";
6
+
7
+ export { zoom_container_default as default };
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.2",
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.18.0",
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 };