vue-stream-markdown 0.1.5 → 0.2.0

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 (199) hide show
  1. package/README.md +1 -0
  2. package/dist/{blockquote-bkADuiGm.js → blockquote-C68fU4lp.js} +4 -3
  3. package/dist/{button-BQhuT7wh.js → button-BDO3n0n_.js} +36 -28
  4. package/dist/button-CdUyT8T_.js +6 -0
  5. package/dist/{code-DF8PTNol.js → code-2Dd0EGfm.js} +12 -11
  6. package/dist/code-block-Co2UoPPS.js +10 -0
  7. package/dist/{code-block-Dm2wl0cb.js → code-block-hQLDeAmP.js} +68 -80
  8. package/dist/{composables-yny5gJo3.js → composables-DuQ72m6O.js} +1163 -1115
  9. package/dist/corner-down-left-B77X84F8.js +24 -0
  10. package/dist/{delete-D17YBeI-.js → delete-CB-OS2WZ.js} +4 -3
  11. package/dist/dist-CYkm26BF.js +119 -0
  12. package/dist/dropdown-BB3nyts8.js +6 -0
  13. package/dist/{emphasis-B-2R_0Q5.js → emphasis-BmUoyBRK.js} +4 -3
  14. package/dist/{en-US-Kw2LYAMk.js → en-US-Cw-sFSiZ.js} +2 -1
  15. package/dist/{error-component-Bb0gIZsx.js → error-component-CtZr0_st.js} +10 -4
  16. package/dist/error-component-biOT0E-h.js +5 -0
  17. package/dist/footnote-definition-55TjXXwa.js +104 -0
  18. package/dist/footnote-reference-lk2rvC4Q.js +86 -0
  19. package/dist/{heading-DyJIwNrN.js → heading-BlOK3uk2.js} +4 -3
  20. package/dist/{html-DXNqMvt_.js → html-D7bGx0Cz.js} +2 -2
  21. package/dist/icon-PEivHbuv.js +67 -0
  22. package/dist/icon-mUoYnA6R.js +4 -0
  23. package/dist/image-B6Pw2YBI.js +9 -0
  24. package/dist/{image-BPhFn1xp.js → image-Bqn98dDB.js} +18 -15
  25. package/dist/image-VMGQj_VU.js +258 -0
  26. package/dist/{index.css → index.css/index.css} +31 -4
  27. package/dist/index.d.ts +297 -196
  28. package/dist/index.js +2511 -74
  29. package/dist/{inline-code-C44UJ2TH.js → inline-code-BZNE1ALQ.js} +2 -2
  30. package/dist/{inline-math-wO1rMt9T.js → inline-math--lfq9WCW.js} +5 -4
  31. package/dist/{link-sGo7CEll.js → link-DAOjAX6n.js} +7 -6
  32. package/dist/{list-C0I1ysSI.js → list-EOEqkWEi.js} +4 -3
  33. package/dist/{list-item-BoC2wKBL.js → list-item-ZG4eadLp.js} +4 -3
  34. package/dist/{math-BlqtUf2r.js → math-3zyrsc0O.js} +5 -4
  35. package/dist/{mermaid-Ka1jnXrR.js → mermaid-VkvXdOuQ.js} +32 -18
  36. package/dist/modal-BKzT1TQI.js +4 -0
  37. package/dist/{modal-Rc_RoeYA.js → modal-DrPdD2g1.js} +4 -4
  38. package/dist/{node-list-YhpHXdM_.js → node-list-D7eKaZGS.js} +19 -10
  39. package/dist/node-list-DtNGUnnI.js +4 -0
  40. package/dist/{paragraph-BN-4-Dn7.js → paragraph-DEyWEFYY.js} +4 -3
  41. package/dist/previewers-DYnyVv4Y.js +10 -0
  42. package/dist/segmented-6Ch-Ees3.js +7 -0
  43. package/dist/{segmented-CaC54iz_.js → segmented-CeLXMLZa.js} +1 -1
  44. package/dist/{shiki-sJNZTn1K.js → shiki-Dgoch7Q6.js} +5 -5
  45. package/dist/spin-DElj7VPm.js +3 -0
  46. package/dist/{strong-NdAS3VjP.js → strong-CFjQLk1h.js} +4 -3
  47. package/dist/table-20vwclBI.js +3 -0
  48. package/dist/{table-CWX5B2i1.js → table-DI25RphX.js} +21 -25
  49. package/dist/{text-DpleLvNh.js → text-DP2IAZrc.js} +2 -2
  50. package/dist/{thematic-break-D5GvzU5S.js → thematic-break-DIO-A8eY.js} +2 -2
  51. package/dist/tooltip-CAyfm3_l.js +4 -0
  52. package/dist/{tooltip-Bgbzbk4Q.js → tooltip-CnO7OPL1.js} +1 -1
  53. package/dist/vanilla-BZ1fQWZQ.js +4 -0
  54. package/dist/{vanilla-BTOVqKl7.js → vanilla-YFxsSfhA.js} +1 -1
  55. package/dist/{yaml-y0snrPRx.js → yaml-eOuEqAWX.js} +3 -3
  56. package/dist/{zh-CN-Dfow4Yn2.js → zh-CN-B9lWRP8O.js} +3 -2
  57. package/dist/{zoom-container-B1qbA-7z.js → zoom-container-CrKx_BbS.js} +32 -32
  58. package/dist/zoom-container-j4kY9qX_.js +7 -0
  59. package/package.json +19 -12
  60. package/dist/button-JYC8d-B-.js +0 -5
  61. package/dist/code-block-BhMDz2ZL.js +0 -9
  62. package/dist/dropdown-Y5_Z4a_u.js +0 -5
  63. package/dist/error-component-DEIWb6kB.js +0 -4
  64. package/dist/image-DXBD47sF.js +0 -8
  65. package/dist/image-DvOGBhi-.js +0 -327
  66. package/dist/modal-Duhc-vVa.js +0 -4
  67. package/dist/node-list-C1je2nLd.js +0 -3
  68. package/dist/previewers-D0VVcdjL.js +0 -10
  69. package/dist/segmented-XdoLnuuq.js +0 -6
  70. package/dist/spin-wM2KE8mO.js +0 -3
  71. package/dist/table-R9gmCXm_.js +0 -3
  72. package/dist/tooltip-BJDs-A8d.js +0 -4
  73. package/dist/vanilla-DA5bwIkr.js +0 -4
  74. package/dist/zoom-container-KztuE4ri.js +0 -6
  75. /package/dist/{angular-Mip1mspI.js → angular-CJL7ngrz.js} +0 -0
  76. /package/dist/{angular-component-Cq5UbX7R.js → angular-component-COlDvuNE.js} +0 -0
  77. /package/dist/{apache-BSq7fX32.js → apache-CVvmKdUn.js} +0 -0
  78. /package/dist/{arrow-left-C5s0Sn8o.js → arrow-left-Dqeb1_Um.js} +0 -0
  79. /package/dist/{asciidoc-DS-PMOLv.js → asciidoc-DOmevTVz.js} +0 -0
  80. /package/dist/{assembly-BPatlOM7.js → assembly-Bj0yQVcL.js} +0 -0
  81. /package/dist/{astro-CSD_ZjXp.js → astro-DUti0QFn.js} +0 -0
  82. /package/dist/{bash-RITislE1.js → bash-BfyNXzLO.js} +0 -0
  83. /package/dist/{batch-DWPShYhN.js → batch-Dp6N3cFQ.js} +0 -0
  84. /package/dist/{bicep-C6BEHfP6.js → bicep-CEkCHedl.js} +0 -0
  85. /package/dist/{c-DNo3tsNy.js → c-CTmG9vr2.js} +0 -0
  86. /package/dist/{check-BfpxIITS.js → check-C6XCJVPi.js} +0 -0
  87. /package/dist/{chevron-down-LeNeemjn.js → chevron-down-aK8OlmM2.js} +0 -0
  88. /package/dist/{circle-alert-BjDuIzgc.js → circle-alert-C5r2kfnc.js} +0 -0
  89. /package/dist/{clojure-C1DEYHW0.js → clojure-CHjliXb8.js} +0 -0
  90. /package/dist/{cmake-B69mdXcH.js → cmake-BsKz8Gt4.js} +0 -0
  91. /package/dist/{cobol-qmL-zIWi.js → cobol-BvWYwPFU.js} +0 -0
  92. /package/dist/{code-D9CiymEK.js → code-Bwlpb4mV.js} +0 -0
  93. /package/dist/{codeowners-Crklt5nF.js → codeowners-CfTM6yvs.js} +0 -0
  94. /package/dist/{coffeescript-k3huSp23.js → coffeescript-BDiFe_B2.js} +0 -0
  95. /package/dist/{copy-C4580J93.js → copy-VpvA-5VS.js} +0 -0
  96. /package/dist/{cpp-Cn3MB35e.js → cpp-BfV_KWzp.js} +0 -0
  97. /package/dist/{crystal-D5aGETSx.js → crystal-BXT0x2i3.js} +0 -0
  98. /package/dist/{csharp-CgkTkbPx.js → csharp-C6rkxA6x.js} +0 -0
  99. /package/dist/{css-DRH4n_IV.js → css-Drxb2cuf.js} +0 -0
  100. /package/dist/{csv-D5nNTIzO.js → csv-CHKRaQ9l.js} +0 -0
  101. /package/dist/{cue-B5mC88-N.js → cue-DksiF2mE.js} +0 -0
  102. /package/dist/{d-BdQRMgma.js → d-C8JgmiVc.js} +0 -0
  103. /package/dist/{dart-BGnfn0NN.js → dart-BX3GppmW.js} +0 -0
  104. /package/dist/{database-Ca1VGX7u.js → database-Lmva5T5u.js} +0 -0
  105. /package/dist/{diff-DVaTsnqu.js → diff-C61xHcnV.js} +0 -0
  106. /package/dist/{docker-E47qYlmL.js → docker-Dws0Euuu.js} +0 -0
  107. /package/dist/{download-DytrK56a.js → download-BB76SD0m.js} +0 -0
  108. /package/dist/{elixir-C-jqqu6q.js → elixir-CtaCeLkf.js} +0 -0
  109. /package/dist/{elm-CmeHvaWl.js → elm-CFvSvo-7.js} +0 -0
  110. /package/dist/{env-Ck1BHoxR.js → env-BwMmmmE5.js} +0 -0
  111. /package/dist/{erlang-CIP8kpGJ.js → erlang-DJRbvPSq.js} +0 -0
  112. /package/dist/{eye-TaEwQS2Z.js → eye-VjweBQoW.js} +0 -0
  113. /package/dist/{flip-horizontal-BFWjqDbQ.js → flip-horizontal-D4IxaKDu.js} +0 -0
  114. /package/dist/{fortran-DJVP2s7V.js → fortran-D3Vf5GTV.js} +0 -0
  115. /package/dist/{fsharp-Bp6mUcG0.js → fsharp-C2iQH5b1.js} +0 -0
  116. /package/dist/{git-BDcqJ1Gp.js → git-DN4z97-P.js} +0 -0
  117. /package/dist/{gleam-JLiZVlev.js → gleam-PhX3VC_5.js} +0 -0
  118. /package/dist/{go-ClcCiS7e.js → go-xPznl0oK.js} +0 -0
  119. /package/dist/{graphql-D2RDo-DF.js → graphql-sVzb1_rA.js} +0 -0
  120. /package/dist/{groovy-DLZBw8xE.js → groovy-Bvkrc3eE.js} +0 -0
  121. /package/dist/{haml-Da74jRwZ.js → haml-Y_qa35Lk.js} +0 -0
  122. /package/dist/{handlebars-CNgS57Sz.js → handlebars-Bo6cxn4k.js} +0 -0
  123. /package/dist/{haskell-DCvfD6VB.js → haskell-D8t1pxAr.js} +0 -0
  124. /package/dist/{haxe-CHVK1TId.js → haxe-C-sdXVB9.js} +0 -0
  125. /package/dist/{html-Du4235Z-.js → html-I3JKB_2G.js} +0 -0
  126. /package/dist/{http-B8VAFeQ5.js → http-Dj2NVTPO.js} +0 -0
  127. /package/dist/{image-D8MZj4W5.js → image-DzKVFSaY.js} +0 -0
  128. /package/dist/{java-CoSdnK1N.js → java-BulcCUaV.js} +0 -0
  129. /package/dist/{javascript-BCDeVll0.js → javascript-DQlby440.js} +0 -0
  130. /package/dist/{jinja-DYbiqZy0.js → jinja-HRQZM5oZ.js} +0 -0
  131. /package/dist/{json-CdzCyWJA.js → json-wUPUX2x-.js} +0 -0
  132. /package/dist/{julia-pswJGtpP.js → julia-DjHYSWzj.js} +0 -0
  133. /package/dist/{kdl-M8rfQ85l.js → kdl-CGLuct22.js} +0 -0
  134. /package/dist/{kotlin-CfCV33oB.js → kotlin-CnR9eg7m.js} +0 -0
  135. /package/dist/{latex-DK8DFhTm.js → latex-CesDKd8G.js} +0 -0
  136. /package/dist/{less-BFnNZiIs.js → less-215r2nUv.js} +0 -0
  137. /package/dist/{link-C7eU_yi-.js → link-4JB1WqYS.js} +0 -0
  138. /package/dist/{liquid-C8h46DoX.js → liquid-FFTnvZwx.js} +0 -0
  139. /package/dist/{lisp-C3FbGuD1.js → lisp-BNWIo3S3.js} +0 -0
  140. /package/dist/{log-D-O3FXf2.js → log-C3BhnPjM.js} +0 -0
  141. /package/dist/{lua-BC_aR1_i.js → lua-jBHQD7Fh.js} +0 -0
  142. /package/dist/{luau-DFUOrNN7.js → luau-CJKAqC3L.js} +0 -0
  143. /package/dist/{makefile-Ck67veVV.js → makefile-DZmoFYpF.js} +0 -0
  144. /package/dist/{markdown-BX13X3kd.js → markdown-BEABBw2C.js} +0 -0
  145. /package/dist/{marko-CQE8YTCc.js → marko-DE7d51Q2.js} +0 -0
  146. /package/dist/{matlab-Bd9O2Ml3.js → matlab-n99nEoGl.js} +0 -0
  147. /package/dist/{maximize-CDZ9rnYF.js → maximize-VRncBaHe.js} +0 -0
  148. /package/dist/{mermaid-Dv-Pr0W-.js → mermaid-Dv9_1JlU.js} +0 -0
  149. /package/dist/{minimize-B9ER7p2X.js → minimize-k8aU78V4.js} +0 -0
  150. /package/dist/{nextflow-D3lDq1Yi.js → nextflow-DjdDVx1j.js} +0 -0
  151. /package/dist/{nginx-CgsqCL4l.js → nginx-DH4jOOdC.js} +0 -0
  152. /package/dist/{nim-BJdSu3c6.js → nim-Cb0hPGv5.js} +0 -0
  153. /package/dist/{nix-B7K_D6CN.js → nix-Bf4Vwv5v.js} +0 -0
  154. /package/dist/{ocaml-gYS1Y45s.js → ocaml-BwJ1z9S7.js} +0 -0
  155. /package/dist/{perl-DXFhFWhI.js → perl-P6bAYvN9.js} +0 -0
  156. /package/dist/{php-We35bF4E.js → php-BGTGPBW1.js} +0 -0
  157. /package/dist/{postcss-BWovY_YV.js → postcss-D8a2Jx1D.js} +0 -0
  158. /package/dist/{powershell-C6teiBsq.js → powershell-DNOnus4K.js} +0 -0
  159. /package/dist/{prisma-UyJEg0_X.js → prisma-DquVk_GR.js} +0 -0
  160. /package/dist/{prolog-YZsPgdnw.js → prolog-BxJJGnOg.js} +0 -0
  161. /package/dist/{properties-DaPbL0e2.js → properties-DjauSeDE.js} +0 -0
  162. /package/dist/{proto-1LIwu2O1.js → proto-3aU1SxxY.js} +0 -0
  163. /package/dist/{pug-CzkUK-Ec.js → pug-OiYFRnMd.js} +0 -0
  164. /package/dist/{puppet-CNhB1MHb.js → puppet-8Sq4QIbE.js} +0 -0
  165. /package/dist/{python-B_hgEobv.js → python-CBYVyhMm.js} +0 -0
  166. /package/dist/{r-CVeKYmPK.js → r-DfzMNaiK.js} +0 -0
  167. /package/dist/{racket-D5UfvXuw.js → racket-EkEmTJtD.js} +0 -0
  168. /package/dist/{razor-RIKaANTN.js → razor-BSd-q379.js} +0 -0
  169. /package/dist/{rotate-ccw-square-C2KVFUF3.js → rotate-ccw-square-Dy0doneR.js} +0 -0
  170. /package/dist/{ruby-C8wV0pMO.js → ruby-CNn-W_DF.js} +0 -0
  171. /package/dist/{rust-75Gei1mP.js → rust-BW9y4Ksf.js} +0 -0
  172. /package/dist/{sass-Cq68xmQ4.js → sass-Cyleqehh.js} +0 -0
  173. /package/dist/{scala-C_E5rjSc.js → scala-2YqaI_aG.js} +0 -0
  174. /package/dist/{scheme-Bm-q-nLL.js → scheme-CWx6sQlk.js} +0 -0
  175. /package/dist/{shader-DPaRkMCs.js → shader-CLzSKNOz.js} +0 -0
  176. /package/dist/{shiki-token-renderer-CLmUjKa3.js → shiki-token-renderer-BjxmGfXH.js} +0 -0
  177. /package/dist/{solidity-DvHG_0CD.js → solidity-CgjJUETv.js} +0 -0
  178. /package/dist/{spin--f5jNjBn.js → spin-DzERwGWy.js} +0 -0
  179. /package/dist/{stata-DoVloJLm.js → stata-CI3W9UFN.js} +0 -0
  180. /package/dist/{svelte-tlbA11de.js → svelte-D-OV6frL.js} +0 -0
  181. /package/dist/{swift-BZn5eRnK.js → swift-CcBwS4X5.js} +0 -0
  182. /package/dist/{table-CaUMjs4M.js → table-BMlD4JhL.js} +0 -0
  183. /package/dist/{terraform-c5-k7yB1.js → terraform-BwM_GPTy.js} +0 -0
  184. /package/dist/{text-DPCGWvDK.js → text-hIzRUiKs.js} +0 -0
  185. /package/dist/{theme.css → theme.css/theme.css} +0 -0
  186. /package/dist/{toml-DdLGBe1A.js → toml-CXJ7B-C1.js} +0 -0
  187. /package/dist/{twig-D_jzZxh6.js → twig-CXQNsdEx.js} +0 -0
  188. /package/dist/{typescript-B95hq2ns.js → typescript-0uiFYOof.js} +0 -0
  189. /package/dist/{typst-CSAEQ4yK.js → typst-gIi5b52E.js} +0 -0
  190. /package/dist/{v-BAhebuOB.js → v-Ct-HfSu0.js} +0 -0
  191. /package/dist/{vala-RAu83-lp.js → vala-BZbAZj2w.js} +0 -0
  192. /package/dist/{verilog-BgmTn52U.js → verilog-NzFyyNP_.js} +0 -0
  193. /package/dist/{vim-c8oTCLkH.js → vim-CN-tRagW.js} +0 -0
  194. /package/dist/{vue-TGT6HTBA.js → vue-BmLzKAao.js} +0 -0
  195. /package/dist/{xml-C1HDr874.js → xml-CBzkooc-.js} +0 -0
  196. /package/dist/{yaml-BO7FjFQZ.js → yaml-CT7I_lPM.js} +0 -0
  197. /package/dist/{zig-qANBp1SU.js → zig-B7F-QzJD.js} +0 -0
  198. /package/dist/{zoomIn-iVMAUxIz.js → zoomIn-DlPeXZbT.js} +0 -0
  199. /package/dist/{zoomOut-Cxq1_dIQ.js → zoomOut-Lvyw8SOW.js} +0 -0
@@ -0,0 +1,24 @@
1
+ import { createElementBlock, createElementVNode, markRaw, openBlock } from "vue";
2
+
3
+ //#region ~icons/lucide/corner-down-left
4
+ const _hoisted_1 = {
5
+ viewBox: "0 0 24 24",
6
+ width: "1.2em",
7
+ height: "1.2em"
8
+ };
9
+ function render(_ctx, _cache) {
10
+ return openBlock(), createElementBlock("svg", _hoisted_1, [..._cache[0] || (_cache[0] = [createElementVNode("g", {
11
+ fill: "none",
12
+ stroke: "currentColor",
13
+ "stroke-linecap": "round",
14
+ "stroke-linejoin": "round",
15
+ "stroke-width": "2"
16
+ }, [createElementVNode("path", { d: "M20 4v7a4 4 0 0 1-4 4H4" }), createElementVNode("path", { d: "m9 10l-5 5l5 5" })], -1)])]);
17
+ }
18
+ var corner_down_left_default = markRaw({
19
+ name: "lucide-corner-down-left",
20
+ render
21
+ });
22
+
23
+ //#endregion
24
+ export { corner_down_left_default as default };
@@ -1,4 +1,5 @@
1
- import { t as node_list_default } from "./node-list-YhpHXdM_.js";
1
+ import "./composables-DuQ72m6O.js";
2
+ import { t as node_list_default } from "./node-list-D7eKaZGS.js";
2
3
  import { createElementBlock, createVNode, defineComponent, mergeProps, openBlock } from "vue";
3
4
 
4
5
  //#region src/components/renderers/delete.vue?vue&type=script&setup=true&lang.ts
@@ -18,8 +19,8 @@ var delete_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineC
18
19
  type: Object,
19
20
  required: true
20
21
  },
21
- indexKey: {
22
- type: [Number, String],
22
+ nodeKey: {
23
+ type: String,
23
24
  required: true
24
25
  },
25
26
  controls: {
@@ -0,0 +1,119 @@
1
+ //#region node_modules/.pnpm/treechop@0.1.2/node_modules/treechop/dist/index.js
2
+ const DEFAULT_CHILDREN_KEY = "children";
3
+ function createTreeUtils(options = {}) {
4
+ const { childrenKey = DEFAULT_CHILDREN_KEY } = options;
5
+ return {
6
+ childrenKey,
7
+ getChildrenKey(node, meta) {
8
+ return typeof this.childrenKey === "function" ? this.childrenKey(node, meta) : this.childrenKey;
9
+ },
10
+ getChildren(node, meta) {
11
+ return node[this.getChildrenKey(node, meta)] || [];
12
+ },
13
+ hasChildren(node, meta) {
14
+ const children = this.getChildren(node, meta);
15
+ return Array.isArray(children) && children.length > 0;
16
+ }
17
+ };
18
+ }
19
+ function preOrderTraverse(tree, callback, utils) {
20
+ const result = [];
21
+ const traverse = (nodes, parents = [], depth = 0) => {
22
+ nodes.forEach((node, index) => {
23
+ const meta = {
24
+ depth,
25
+ index,
26
+ parents
27
+ };
28
+ result.push(callback(node, meta));
29
+ if (utils.hasChildren(node, meta)) traverse(utils.getChildren(node, meta), [...parents, node], depth + 1);
30
+ });
31
+ };
32
+ traverse(tree);
33
+ return result;
34
+ }
35
+ function postOrderTraverse(tree, callback, utils) {
36
+ const result = [];
37
+ const traverse = (nodes, parents = [], depth = 0) => {
38
+ nodes.forEach((node, index) => {
39
+ const meta = {
40
+ depth,
41
+ index,
42
+ parents
43
+ };
44
+ if (utils.hasChildren(node, meta)) traverse(utils.getChildren(node, meta), [...parents, node], depth + 1);
45
+ result.push(callback(node, meta));
46
+ });
47
+ };
48
+ traverse(tree);
49
+ return result;
50
+ }
51
+ function breadthTraverse(tree, callback, utils) {
52
+ const result = [];
53
+ const queue = tree.map((node, index) => [
54
+ node,
55
+ index,
56
+ [],
57
+ 0
58
+ ]);
59
+ while (queue.length) {
60
+ const [node, index, parents, depth] = queue.shift();
61
+ const meta = {
62
+ depth,
63
+ index,
64
+ parents
65
+ };
66
+ result.push(callback(node, meta));
67
+ if (utils.hasChildren(node, meta)) utils.getChildren(node, meta).forEach((child, childIndex) => {
68
+ queue.push([
69
+ child,
70
+ childIndex,
71
+ [...parents, node],
72
+ depth + 1
73
+ ]);
74
+ });
75
+ }
76
+ return result;
77
+ }
78
+ function treeFlatFilter(tree, predicate, options = {}) {
79
+ const { strategy = "pre" } = options;
80
+ const utils = createTreeUtils(options);
81
+ const callback = (node, meta) => {
82
+ return predicate(node, meta) ? node : null;
83
+ };
84
+ switch (strategy) {
85
+ case "post": return postOrderTraverse(tree, callback, utils).filter(Boolean);
86
+ case "breadth": return breadthTraverse(tree, callback, utils).filter(Boolean);
87
+ case "pre":
88
+ default: return preOrderTraverse(tree, callback, utils).filter(Boolean);
89
+ }
90
+ }
91
+ function treeFilter(tree, predicate, options = {}) {
92
+ const utils = createTreeUtils(options);
93
+ const traverse = (nodes, parents = [], depth = 0) => {
94
+ const result = [];
95
+ for (let i = 0; i < nodes.length; i++) {
96
+ const node = nodes[i];
97
+ const meta = {
98
+ depth,
99
+ index: i,
100
+ parents
101
+ };
102
+ if (predicate(node, meta)) {
103
+ const newNode = { ...node };
104
+ if (utils.hasChildren(node, meta)) {
105
+ const children = traverse(utils.getChildren(node, meta), [...parents, node], depth + 1);
106
+ const childrenKey = utils.getChildrenKey(node, meta);
107
+ if (children.length > 0) newNode[childrenKey] = children;
108
+ else delete newNode[childrenKey];
109
+ }
110
+ result.push(newNode);
111
+ }
112
+ }
113
+ return result;
114
+ };
115
+ return traverse(tree);
116
+ }
117
+
118
+ //#endregion
119
+ export { treeFlatFilter as n, treeFilter as t };
@@ -0,0 +1,6 @@
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,4 +1,5 @@
1
- import { t as node_list_default } from "./node-list-YhpHXdM_.js";
1
+ import "./composables-DuQ72m6O.js";
2
+ import { t as node_list_default } from "./node-list-D7eKaZGS.js";
2
3
  import { createElementBlock, createVNode, defineComponent, mergeProps, openBlock } from "vue";
3
4
 
4
5
  //#region src/components/renderers/emphasis.vue?vue&type=script&setup=true&lang.ts
@@ -18,8 +19,8 @@ var emphasis_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defin
18
19
  type: Object,
19
20
  required: true
20
21
  },
21
- indexKey: {
22
- type: [Number, String],
22
+ nodeKey: {
23
+ type: String,
23
24
  required: true
24
25
  },
25
26
  controls: {
@@ -15,7 +15,8 @@ var button = {
15
15
  "rotateLeft": "Rotate Left",
16
16
  "rotateRight": "Rotate Right",
17
17
  "previous": "Previous",
18
- "next": "Next"
18
+ "next": "Next",
19
+ "back": "Back"
19
20
  };
20
21
  var error = {
21
22
  "vanilla": "Error",
@@ -1,4 +1,5 @@
1
- import { H as useContext, u as useI18n } from "./composables-yny5gJo3.js";
1
+ import { W as useContext, y as useI18n } from "./composables-DuQ72m6O.js";
2
+ import { t as icon_default } from "./icon-PEivHbuv.js";
2
3
  import { computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, defineComponent, openBlock, renderSlot, resolveDynamicComponent, toDisplayString } from "vue";
3
4
 
4
5
  //#region src/components/error-component.vue?vue&type=script&setup=true&lang.ts
@@ -36,8 +37,10 @@ var error_component_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ *
36
37
  }));
37
38
  const icon = computed(() => {
38
39
  if (props.icon) return props.icon;
39
- if (icons.value[props.variant]) return icons.value[props.variant];
40
- return icons.value[props.variant.replace("harden-", "")] || icons.value.error;
40
+ if (icons.value[props.variant]) return props.variant;
41
+ const name = props.variant.replace("harden-", "");
42
+ if (icons.value[name]) return name;
43
+ return "error";
41
44
  });
42
45
  const message = computed(() => props.message ? props.message : messages.value[props.variant] || messages.value.vanilla);
43
46
  const isHarden = computed(() => {
@@ -46,7 +49,10 @@ var error_component_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ *
46
49
  });
47
50
  return (_ctx, _cache) => {
48
51
  return openBlock(), createElementBlock("span", _hoisted_1, [
49
- createElementVNode("div", _hoisted_2, [(openBlock(), createBlock(resolveDynamicComponent(icon.value)))]),
52
+ createElementVNode("div", _hoisted_2, [typeof icon.value === "string" ? (openBlock(), createBlock(icon_default, {
53
+ key: 0,
54
+ icon: icon.value
55
+ }, null, 8, ["icon"])) : (openBlock(), createBlock(resolveDynamicComponent(icon.value), { key: 1 }))]),
50
56
  isHarden.value ? renderSlot(_ctx.$slots, "default", { key: 0 }) : createCommentVNode("v-if", true),
51
57
  createTextVNode(" [" + toDisplayString(message.value) + "] ", 1)
52
58
  ]);
@@ -0,0 +1,5 @@
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 };
@@ -0,0 +1,104 @@
1
+ import { W as useContext, y as useI18n } 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";
6
+ import { computed, createElementBlock, createElementVNode, createVNode, defineComponent, mergeProps, openBlock, toDisplayString, unref } from "vue";
7
+
8
+ //#region src/components/renderers/footnote-definition.vue?vue&type=script&setup=true&lang.ts
9
+ const _hoisted_1 = ["id"];
10
+ const _hoisted_2 = { "data-stream-markdown": "footnote-definition-label" };
11
+ var footnote_definition_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
12
+ __name: "footnote-definition",
13
+ props: {
14
+ node: {
15
+ type: Object,
16
+ required: true
17
+ },
18
+ markdownParser: {
19
+ type: Object,
20
+ required: true
21
+ },
22
+ nodeRenderers: {
23
+ type: Object,
24
+ required: true
25
+ },
26
+ nodeKey: {
27
+ type: String,
28
+ required: true
29
+ },
30
+ controls: {
31
+ type: [Boolean, Object],
32
+ required: false
33
+ },
34
+ previewers: {
35
+ type: [Boolean, Object],
36
+ required: false
37
+ },
38
+ shikiOptions: {
39
+ type: Object,
40
+ required: false
41
+ },
42
+ mermaidOptions: {
43
+ type: Object,
44
+ required: false
45
+ },
46
+ katexOptions: {
47
+ type: Object,
48
+ required: false
49
+ },
50
+ hardenOptions: {
51
+ type: Object,
52
+ required: false
53
+ },
54
+ codeOptions: {
55
+ type: Object,
56
+ required: false
57
+ },
58
+ imageOptions: {
59
+ type: Object,
60
+ required: false
61
+ },
62
+ isDark: {
63
+ type: Boolean,
64
+ required: false
65
+ }
66
+ },
67
+ setup(__props) {
68
+ const props = __props;
69
+ const { t } = useI18n();
70
+ const { getContainer } = useContext();
71
+ const id = computed(() => props.node.identifier);
72
+ const label = computed(() => props.node.label ?? id.value);
73
+ const title = computed(() => `${label.value}.`);
74
+ function scrollToReference() {
75
+ const footnoteElement = (getContainer() || document.body).querySelector(`#footnote-reference-${id.value}`);
76
+ if (!footnoteElement) return;
77
+ footnoteElement.scrollIntoView({ behavior: "smooth" });
78
+ }
79
+ return (_ctx, _cache) => {
80
+ return openBlock(), createElementBlock("a", {
81
+ id: `footnote-definition-${id.value}`,
82
+ "data-stream-markdown": "footnote-definition"
83
+ }, [
84
+ createElementVNode("span", _hoisted_2, toDisplayString(title.value), 1),
85
+ createVNode(node_list_default, mergeProps(props, { nodes: __props.node.children }), null, 16, ["nodes"]),
86
+ createVNode(button_default, {
87
+ "data-stream-markdown": "footnote-definition-button",
88
+ name: unref(t)("button.back"),
89
+ icon: "cornerDownLeft",
90
+ "icon-style": { color: "var(--primary)" },
91
+ "button-style": { padding: "0.25rem" },
92
+ onClick: scrollToReference
93
+ }, null, 8, ["name"])
94
+ ], 8, _hoisted_1);
95
+ };
96
+ }
97
+ });
98
+
99
+ //#endregion
100
+ //#region src/components/renderers/footnote-definition.vue
101
+ var footnote_definition_default = footnote_definition_vue_vue_type_script_setup_true_lang_default;
102
+
103
+ //#endregion
104
+ export { footnote_definition_default as default };
@@ -0,0 +1,86 @@
1
+ import { W as useContext } from "./composables-DuQ72m6O.js";
2
+ import { computed, createElementBlock, createElementVNode, defineComponent, openBlock, toDisplayString } from "vue";
3
+
4
+ //#region src/components/renderers/footnote-reference.vue?vue&type=script&setup=true&lang.ts
5
+ const _hoisted_1 = ["id"];
6
+ var footnote_reference_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
7
+ __name: "footnote-reference",
8
+ props: {
9
+ node: {
10
+ type: Object,
11
+ required: true
12
+ },
13
+ markdownParser: {
14
+ type: Object,
15
+ required: true
16
+ },
17
+ nodeRenderers: {
18
+ type: Object,
19
+ required: true
20
+ },
21
+ nodeKey: {
22
+ type: String,
23
+ required: true
24
+ },
25
+ controls: {
26
+ type: [Boolean, Object],
27
+ required: false
28
+ },
29
+ previewers: {
30
+ type: [Boolean, Object],
31
+ required: false
32
+ },
33
+ shikiOptions: {
34
+ type: Object,
35
+ required: false
36
+ },
37
+ mermaidOptions: {
38
+ type: Object,
39
+ required: false
40
+ },
41
+ katexOptions: {
42
+ type: Object,
43
+ required: false
44
+ },
45
+ hardenOptions: {
46
+ type: Object,
47
+ required: false
48
+ },
49
+ codeOptions: {
50
+ type: Object,
51
+ required: false
52
+ },
53
+ imageOptions: {
54
+ type: Object,
55
+ required: false
56
+ },
57
+ isDark: {
58
+ type: Boolean,
59
+ required: false
60
+ }
61
+ },
62
+ setup(__props) {
63
+ const props = __props;
64
+ const { getContainer } = useContext();
65
+ const id = computed(() => props.node.identifier);
66
+ const label = computed(() => props.node.label ?? id.value);
67
+ function scrollToFootnote() {
68
+ const footnoteElement = (getContainer() || document.body).querySelector(`#footnote-definition-${id.value}`);
69
+ if (!footnoteElement) return;
70
+ footnoteElement.scrollIntoView({ behavior: "smooth" });
71
+ }
72
+ return (_ctx, _cache) => {
73
+ return openBlock(), createElementBlock("sup", {
74
+ "data-stream-markdown": "footnote-reference",
75
+ onClick: scrollToFootnote
76
+ }, [createElementVNode("a", { id: `footnote-reference-${id.value}` }, "[" + toDisplayString(label.value) + "]", 9, _hoisted_1)]);
77
+ };
78
+ }
79
+ });
80
+
81
+ //#endregion
82
+ //#region src/components/renderers/footnote-reference.vue
83
+ var footnote_reference_default = footnote_reference_vue_vue_type_script_setup_true_lang_default;
84
+
85
+ //#endregion
86
+ export { footnote_reference_default as default };
@@ -1,4 +1,5 @@
1
- import { t as node_list_default } from "./node-list-YhpHXdM_.js";
1
+ import "./composables-DuQ72m6O.js";
2
+ import { t as node_list_default } from "./node-list-D7eKaZGS.js";
2
3
  import { computed, createBlock, createVNode, defineComponent, mergeProps, openBlock, resolveDynamicComponent, withCtx } from "vue";
3
4
 
4
5
  //#region src/components/renderers/heading.vue?vue&type=script&setup=true&lang.ts
@@ -17,8 +18,8 @@ var heading_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ define
17
18
  type: Object,
18
19
  required: true
19
20
  },
20
- indexKey: {
21
- type: [Number, String],
21
+ nodeKey: {
22
+ type: String,
22
23
  required: true
23
24
  },
24
25
  controls: {
@@ -17,8 +17,8 @@ var html_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCom
17
17
  type: Object,
18
18
  required: true
19
19
  },
20
- indexKey: {
21
- type: [Number, String],
20
+ nodeKey: {
21
+ type: String,
22
22
  required: true
23
23
  },
24
24
  controls: {
@@ -0,0 +1,67 @@
1
+ import { W as useContext } from "./composables-DuQ72m6O.js";
2
+ import { computed, createElementBlock, createVNode, defineComponent, normalizeClass, normalizeStyle, openBlock, unref } from "vue";
3
+
4
+ //#region src/components/icon.vue?vue&type=script&setup=true&lang.ts
5
+ var icon_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
6
+ __name: "icon",
7
+ props: {
8
+ icon: {
9
+ type: null,
10
+ required: true
11
+ },
12
+ width: {
13
+ type: Number,
14
+ required: false,
15
+ default: 14
16
+ },
17
+ height: {
18
+ type: Number,
19
+ required: false,
20
+ default: 14
21
+ },
22
+ class: {
23
+ type: [
24
+ String,
25
+ Array,
26
+ Object
27
+ ],
28
+ required: false
29
+ },
30
+ style: {
31
+ type: Object,
32
+ required: false
33
+ }
34
+ },
35
+ setup(__props) {
36
+ const props = __props;
37
+ const { icons } = useContext();
38
+ const Icon = computed(() => typeof props.icon === "string" ? icons.value[props.icon] : props.icon);
39
+ const iconStyle = computed(() => ({
40
+ width: `${props.width}px`,
41
+ height: `${props.height}px`
42
+ }));
43
+ return (_ctx, _cache) => {
44
+ return openBlock(), createElementBlock("div", {
45
+ "data-stream-markdown": "icon",
46
+ style: normalizeStyle(iconStyle.value)
47
+ }, [createVNode(unref(Icon), {
48
+ width: __props.width,
49
+ height: __props.height,
50
+ class: normalizeClass(props.class),
51
+ style: normalizeStyle(__props.style)
52
+ }, null, 8, [
53
+ "width",
54
+ "height",
55
+ "class",
56
+ "style"
57
+ ])], 4);
58
+ };
59
+ }
60
+ });
61
+
62
+ //#endregion
63
+ //#region src/components/icon.vue
64
+ var icon_default = icon_vue_vue_type_script_setup_true_lang_default;
65
+
66
+ //#endregion
67
+ export { icon_default as t };
@@ -0,0 +1,4 @@
1
+ import "./composables-DuQ72m6O.js";
2
+ import { t as icon_default } from "./icon-PEivHbuv.js";
3
+
4
+ export { icon_default as default };
@@ -0,0 +1,9 @@
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,11 +1,12 @@
1
- import { H as useContext, V as useControls, g as useHardenSanitizers, k as saveImage, u as useI18n } from "./composables-yny5gJo3.js";
2
- import "./tooltip-Bgbzbk4Q.js";
3
- import { t as button_default } from "./button-BQhuT7wh.js";
4
- import "./modal-Rc_RoeYA.js";
5
- import { t as error_component_default } from "./error-component-Bb0gIZsx.js";
6
- import { t as image_default$1 } from "./image-DvOGBhi-.js";
7
- import "./zoom-container-B1qbA-7z.js";
8
- import { t as spin_default } from "./spin--f5jNjBn.js";
1
+ import { B as saveImage, U as useControls, i as useSanitizers, y as useI18n } 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 "./modal-DrPdD2g1.js";
6
+ import { t as error_component_default } from "./error-component-CtZr0_st.js";
7
+ import "./zoom-container-CrKx_BbS.js";
8
+ import { t as image_default$1 } from "./image-VMGQj_VU.js";
9
+ import { t as spin_default } from "./spin-DzERwGWy.js";
9
10
  import { computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, defineComponent, mergeProps, normalizeStyle, openBlock, ref, resolveDynamicComponent, toDisplayString, toRefs, unref, withCtx } from "vue";
10
11
 
11
12
  //#region src/components/renderers/image.vue?vue&type=script&setup=true&lang.ts
@@ -29,8 +30,8 @@ var image_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCo
29
30
  type: Object,
30
31
  required: true
31
32
  },
32
- indexKey: {
33
- type: [Number, String],
33
+ nodeKey: {
34
+ type: String,
34
35
  required: true
35
36
  },
36
37
  controls: {
@@ -73,7 +74,6 @@ var image_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCo
73
74
  setup(__props) {
74
75
  const props = __props;
75
76
  const { t } = useI18n();
76
- const { icons } = useContext();
77
77
  const { controls, hardenOptions } = toRefs(props);
78
78
  const { isControlEnabled } = useControls({ controls });
79
79
  const maskRef = ref();
@@ -88,7 +88,7 @@ var image_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCo
88
88
  return ((_props$imageOptions = props.imageOptions) === null || _props$imageOptions === void 0 ? void 0 : _props$imageOptions.fallback) ?? "";
89
89
  });
90
90
  const imageSrc = computed(() => fallbackAttempted.value && fallback.value ? fallback.value : props.node.url);
91
- const { transformedUrl, isHardenUrl } = useHardenSanitizers({
91
+ const { transformedUrl, isHardenUrl, transformHardenUrl } = useSanitizers({
92
92
  url: imageSrc,
93
93
  hardenOptions,
94
94
  loading: isLoading,
@@ -139,14 +139,14 @@ var image_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCo
139
139
  }, [!isLoading.value && enableDownload.value ? (openBlock(), createBlock(button_default, {
140
140
  key: 0,
141
141
  "data-stream-markdown": "image-download-button",
142
- icon: unref(icons).download,
142
+ icon: "download",
143
143
  name: unref(t)("button.download"),
144
144
  "icon-class": "test",
145
145
  "icon-width": 16,
146
146
  "icon-height": 16,
147
147
  "button-style": { backgroundColor: "color-mix(in oklab, var(--background) 90%, transparent)" },
148
148
  onClick: handleDownload
149
- }, null, 8, ["icon", "name"])) : createCommentVNode("v-if", true)], 512)) : createCommentVNode("v-if", true),
149
+ }, null, 8, ["name"])) : createCommentVNode("v-if", true)], 512)) : createCommentVNode("v-if", true),
150
150
  (isLoading.value || !imageLoaded.value) && !unref(isHardenUrl) ? (openBlock(), createBlock(spin_default, { key: 1 })) : createCommentVNode("v-if", true),
151
151
  !isLoading.value && !unref(isHardenUrl) && typeof unref(transformedUrl) === "string" ? (openBlock(), createBlock(image_default$1, {
152
152
  key: unref(transformedUrl),
@@ -155,6 +155,8 @@ var image_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCo
155
155
  title: title.value,
156
156
  preview: !fallbackAttempted.value && enablePreview.value,
157
157
  controls: unref(controls),
158
+ "transform-harden-url": unref(transformHardenUrl),
159
+ "node-props": props,
158
160
  onLoad: handleLoaded,
159
161
  onError: handleError
160
162
  }, null, 8, [
@@ -162,7 +164,8 @@ var image_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCo
162
164
  "alt",
163
165
  "title",
164
166
  "preview",
165
- "controls"
167
+ "controls",
168
+ "transform-harden-url"
166
169
  ])) : unref(isHardenUrl) || loadError.value ? (openBlock(), createBlock(resolveDynamicComponent(Error.value), mergeProps({
167
170
  key: 3,
168
171
  variant: unref(isHardenUrl) ? "harden-image" : "image"