vue-stream-markdown 0.7.0-beta.4 → 0.7.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 (53) hide show
  1. package/README.md +14 -19
  2. package/dist/alert-DROUQ5PS.js +1 -0
  3. package/dist/{blockquote-gDyOwFys.js → blockquote-Bi7bInuP.js} +1 -1
  4. package/dist/{button-BUhcCAYP.js → button-DN5advfN.js} +1 -1
  5. package/dist/{caret-C5reZkmT.js → caret-Bb6lmqsG.js} +1 -1
  6. package/dist/{code-DmVzm5l2.js → code-BlmRdFyt.js} +1 -1
  7. package/dist/code-block-Ctv-CyQ-.js +1 -0
  8. package/dist/composables-Dt9tB3RV.js +2 -0
  9. package/dist/{delete-C4JwbHDJ.js → delete-HC6xDdKU.js} +1 -1
  10. package/dist/{dropdown-DoS9mBjr.js → dropdown-Czh_i31A.js} +1 -1
  11. package/dist/{emphasis-D6F13NtJ.js → emphasis-BzrBk-SO.js} +1 -1
  12. package/dist/{error-component-9j1O09VQ.js → error-component-gW-iGQQT.js} +1 -1
  13. package/dist/{footnote-definition-C351_vYW.js → footnote-definition-B6wrWOrh.js} +1 -1
  14. package/dist/{footnote-reference-BNDMqJm4.js → footnote-reference-COusrqg-.js} +1 -1
  15. package/dist/{heading-HtTQoXae.js → heading-6OVPWjB3.js} +1 -1
  16. package/dist/{icon-BYaBW1tX.js → icon-DkqWpGn5.js} +1 -1
  17. package/dist/image-C_y1cR3H.js +1 -0
  18. package/dist/{image-D6YQVysx.js → image-DLQdXW1o.js} +1 -1
  19. package/dist/index.css +1 -1
  20. package/dist/index.d.ts +13 -5
  21. package/dist/index.js +1 -1
  22. package/dist/{inline-math-NdcWCyob.js → inline-math-DhEnYIi9.js} +1 -1
  23. package/dist/{link-n3bspQfj.js → link-DbJvTNMZ.js} +1 -1
  24. package/dist/{list-BIYXLNau.js → list-CAUe3vO9.js} +1 -1
  25. package/dist/{list-item-DVh8aSdu.js → list-item-CB4K7oNJ.js} +1 -1
  26. package/dist/{math-C_nCjoxl.js → math-B-Uyj_hD.js} +1 -1
  27. package/dist/{mermaid-DdpPcJ1i.js → mermaid-D-1bOedk.js} +1 -1
  28. package/dist/modal-Ci_4DS_H.js +1 -0
  29. package/dist/node-list-DRKVSQ6H.js +1 -0
  30. package/dist/paragraph-Cd-4JaQ1.js +1 -0
  31. package/dist/{segmented-AJt6J-5o.js → segmented-CdCwVEi_.js} +1 -1
  32. package/dist/{shiki-DfX73w8s.js → shiki-kNbIjiXM.js} +1 -1
  33. package/dist/src-7d8hW45I.js +7 -0
  34. package/dist/{strong-D89TVL0P.js → strong-CjpgVYlm.js} +1 -1
  35. package/dist/table-DeaVfcwl.js +1 -0
  36. package/dist/{text-B9kGgFhV.js → text-DWu4EMA7.js} +1 -1
  37. package/dist/tooltip-DqPtGSi_.js +1 -0
  38. package/dist/{vanilla-D62VvdI8.js → vanilla-DPi0tnlE.js} +1 -1
  39. package/dist/{vanilla-renderer-C8EIjICY.js → vanilla-renderer-CMaJ1QG4.js} +1 -1
  40. package/dist/{yaml-CAc0YdVS.js → yaml-BykjNPsA.js} +1 -1
  41. package/dist/zoom-container-Br-BmE2r.js +1 -0
  42. package/package.json +7 -7
  43. package/dist/alert-BvYabQdj.js +0 -1
  44. package/dist/code-block-BricBddp.js +0 -1
  45. package/dist/composables-CA0XaIPq.js +0 -2
  46. package/dist/image-B67ZZpNc.js +0 -1
  47. package/dist/modal-DjveioZW.js +0 -1
  48. package/dist/node-list-CTXWVPv3.js +0 -1
  49. package/dist/overlay-wVfeUgFf.js +0 -1
  50. package/dist/paragraph-CtlfaqmQ.js +0 -1
  51. package/dist/table-D61BWT1S.js +0 -7
  52. package/dist/tooltip-Bt9SqkuT.js +0 -1
  53. package/dist/zoom-container-D6GFpTqx.js +0 -1
package/README.md CHANGED
@@ -7,19 +7,11 @@
7
7
 
8
8
  A markdown renderer specially optimized for streaming scenarios, inspired by [streamdown](https://streamdown.ai/). Designed to achieve smoother streaming rendering through syntax inference and highly customizable rendering elements.
9
9
 
10
- ```sh
11
- pnpm add vue-stream-markdown
12
- ```
13
-
14
- <br>
15
-
16
10
  <p align="center">
17
- <a href="https://docs-vue-stream-markdown.netlify.app/">📚 Documentation</a> |
18
- <a href="https://play-vue-stream-markdown.netlify.app/">🤹‍♂️ Playground</a>
11
+ <a href="https://docs-vue-stream-markdown.netlify.app/">Documentation</a> |
12
+ <a href="https://play-vue-stream-markdown.netlify.app/">Playground</a>
19
13
  </p>
20
14
 
21
- <br>
22
-
23
15
  <p align='center'>
24
16
  <img src='./assets/screenshot.png' alt="screenshot" />
25
17
  </p>
@@ -39,9 +31,12 @@ pnpm add vue-stream-markdown
39
31
 
40
32
  ## Usage
41
33
 
42
- > [!IMPORTANT]
43
- > 🚧 **vue-stream-markdown** is currently in active feature development.
44
- > From version `0.4.0` onwards, you need to manually include `katex.min.css`. If CDN is enabled, it will be automatically loaded.
34
+ ```sh
35
+ pnpm add vue-stream-markdown
36
+ ```
37
+
38
+ > [!TIP]
39
+ > The parser layer is also available as standalone packages: `@markmend/core` for streaming-friendly completion, and `@markmend/ast` for MDAST parsing.
45
40
 
46
41
  For detailed usage and API documentation, please refer to the [Documentation](https://docs-vue-stream-markdown.netlify.app/).
47
42
 
@@ -79,11 +74,11 @@ This project is inspired by [streamdown](https://streamdown.ai/) and even uses s
79
74
  This project also uses and benefits from:
80
75
 
81
76
  - [mdast](https://github.com/syntax-tree/mdast) - Markdown Abstract Syntax Tree format
82
- - [Shiki](https://shiki.style/) - Beautiful syntax highlighting
83
- - [Mermaid](https://mermaid.js.org/) - Diagramming and charting tool
84
- - [beautiful-mermaid](https://github.com/notable-next/beautiful-mermaid) - Beautiful Mermaid diagram renderer with Shiki integration
85
- - [KaTeX](https://katex.org/) - Fast math typesetting library for the web
86
- - [Remend](https://github.com/vercel/streamdown/tree/main/packages/remend) - This project implements similar functionality inspired by remend for intelligently parsing and completing incomplete Markdown blocks.
77
+ - [shiki](https://shiki.style/) - Beautiful syntax highlighting
78
+ - [mermaid](https://mermaid.js.org/) - Diagramming and charting tool
79
+ - [beautiful-mermaid](https://github.com/lukilabs/beautiful-mermaid) - Beautiful Mermaid diagram renderer with Shiki integration
80
+ - [kaTeX](https://katex.org/) - Fast math typesetting library for the web
81
+ - [remend](https://github.com/vercel/streamdown/tree/main/packages/remend) - This project implements similar functionality inspired by remend for intelligently parsing and completing incomplete Markdown blocks.
87
82
 
88
83
  ### Code Sources
89
84
 
@@ -91,7 +86,7 @@ This project also uses and benefits from:
91
86
  - [ast-explorer](https://github.com/sxzz/ast-explorer) - Learned AST knowledge from this project, and the playground layout inspiration and AST syntax tree filtering code are derived from it
92
87
  - [medium-zoom](https://github.com/francoischalifour/medium-zoom) - Inspired the custom image zoom implementation
93
88
  - [markdown-sanitizers](https://github.com/vercel-labs/markdown-sanitizers) - URL validation and security hardening logic in `src/utils/harden.ts` is ported from `rehype-harden`
94
- - [Dify](https://github.com/langgenius/dify) - LaTeX preprocessing logic in `src/preprocess/vendored/markdown-utils.ts` is ported from Dify
89
+ - [dify](https://github.com/langgenius/dify) - LaTeX preprocessing logic in `src/preprocess/vendored/markdown-utils.ts` is ported from Dify
95
90
 
96
91
  ## Acknowledgments
97
92
 
@@ -0,0 +1 @@
1
+ import{d as e,y as t}from"./composables-Dt9tB3RV.js";import{b as n}from"./src-7d8hW45I.js";import{Fragment as r,Teleport as i,Transition as a,computed as o,createBlock as s,createCommentVNode as c,createElementBlock as l,createElementVNode as u,createTextVNode as d,createVNode as f,defineComponent as p,mergeModels as m,normalizeStyle as h,onMounted as g,openBlock as _,ref as v,renderSlot as y,resolveDynamicComponent as b,toDisplayString as x,unref as S,useModel as C,withCtx as w,withModifiers as T}from"vue";import{createReusableTemplate as E,useEventListener as D}from"@vueuse/core";const O={"data-stream-markdown":`alert-header`,class:`flex flex-col relative`},k={"data-stream-markdown":`alert-title`,class:`text-lg font-semibold mb-2 flex gap-2 items-center`},A={"data-stream-markdown":`alert-description`,class:`text-sm text-muted-foreground`},j={class:`absolute -right-3 -top-3`},M={"data-stream-markdown":`alert-content`},N={"data-stream-markdown":`alert-footer`,class:`flex gap-2 [&>button]:!text-sm [&>button:last-child]:!text-primary-foreground [&>button]:!text-foreground [&>button]:!border [&>button]:!border-border [&>button]:!rounded-lg [&>button]:!border-solid [&>button:last-child:hover]:!bg-primary/90 [&>button:last-child]:!bg-primary [&>button]:!gap-2 [&>button]:!w-full`};var P=p({__name:`alert`,props:m({icon:{type:String,required:!1,default:`error`},title:{type:String,required:!1},description:{type:String,required:!1},zIndex:{type:Number,required:!1,default:9999},confirmText:{type:String,required:!1},cancelText:{type:String,required:!1},open:{type:Boolean,required:!1}},{open:{type:Boolean,required:!1,default:!1},openModifiers:{}}),emits:m([`confirm`,`cancel`],[`update:open`]),setup(p,{emit:m}){let P=p,F=m,{uiComponents:I}=t(),{t:L}=e(),R=C(p,`open`),z=v(),[B,V]=E(),H=o(()=>P.confirmText||L(`button.confirm`)),U=o(()=>P.cancelText||L(`button.cancel`));function W(){F(`confirm`),R.value=!1}function G(){F(`cancel`),R.value=!1}return g(()=>{z.value=n()||document.body,D(document,`keyup`,e=>{(e.key===`Escape`||e.key===`Esc`)&&G()})}),(e,t)=>(_(),l(r,null,[f(S(B),null,{default:w(()=>[R.value?(_(),l(`div`,{key:0,"data-stream-markdown":`alert`,class:`p-6 border border-border rounded-xl bg-background flex flex-col gap-4 max-w-[28rem] w-full shadow-[0_20px_25px_-5px_rgb(0_0_0_/_0.1),0_8px_10px_-6px_rgb(0_0_0_/_0.1)] left-1/2 top-1/2 fixed -translate-x-1/2 -translate-y-1/2`,style:h({zIndex:p.zIndex}),onClick:t[0]||=T(()=>{},[`stop`])},[u(`header`,O,[u(`div`,k,[(_(),s(b(S(I).Icon),{icon:p.icon,height:20,width:20},null,8,[`icon`])),d(` `+x(p.title),1)]),u(`div`,A,x(p.description),1),u(`div`,j,[(_(),s(b(S(I).Button),{"data-stream-markdown":`alert-close-button`,icon:`x`,name:S(L)(`button.cancel`),"icon-height":20,"icon-width":20,onClick:G},null,8,[`name`]))])]),c(` Body: Description `),u(`div`,M,[y(e.$slots,`default`)]),c(` Footer: Actions `),u(`div`,N,[y(e.$slots,`footer`,{},()=>[(_(),s(b(S(I).Button),{variant:`text`,name:S(L)(`button.cancel`),type:`button`,onClick:G},{default:w(()=>[d(x(U.value),1)]),_:1},8,[`name`])),(_(),s(b(S(I).Button),{variant:`text`,name:S(L)(`button.confirm`),type:`button`,onClick:W},{default:w(()=>[d(x(H.value),1)]),_:1},8,[`name`]))])])],4)):c(`v-if`,!0)]),_:3}),z.value?(_(),s(i,{key:0,to:z.value},[R.value?(_(),l(`div`,{key:0,"data-stream-markdown":`alert-backdrop`,class:`bg-[rgb(0_0_0_/_0.5)] flex items-center inset-0 justify-center fixed backdrop-blur`,style:h({zIndex:p.zIndex-1}),onClick:G},[f(a,{name:`stream-markdown-modal`,appear:``},{default:w(()=>[f(S(V))]),_:1})],4)):c(`v-if`,!0)],8,[`to`])):c(`v-if`,!0)],64))}});export{P as default};
@@ -1 +1 @@
1
- import{t as e}from"./node-list-CTXWVPv3.js";import{createElementBlock as t,createVNode as n,defineComponent as r,mergeProps as i,openBlock as a}from"vue";const o={"data-stream-markdown":`blockquote`,class:`text-muted-foreground mx-0 my-4 pl-4 border-l-4 border-l-muted-foreground/30 italic relative [&_p]:mb-0`};var s=r({__name:`blockquote`,props:{node:{type:Object,required:!0},markdownParser:{type:Object,required:!0},nodeRenderers:{type:Object,required:!0},blockIndex:{type:Number,required:!1},parentNode:{type:Object,required:!1},prevNode:{type:Object,required:!1},nextNode:{type:Object,required:!1},nodeKey:{type:String,required:!0},deep:{type:Number,required:!0}},setup(r){let s=r;return(c,l)=>(a(),t(`blockquote`,o,[n(e,i(s,{"parent-node":r.node,nodes:r.node.children,deep:r.deep+1}),null,16,[`parent-node`,`nodes`,`deep`])]))}});export{s as default};
1
+ import{t as e}from"./node-list-DRKVSQ6H.js";import{createElementBlock as t,createVNode as n,defineComponent as r,mergeProps as i,openBlock as a}from"vue";const o={"data-stream-markdown":`blockquote`,class:`text-muted-foreground mx-0 my-4 pl-4 border-l-4 border-l-muted-foreground/30 italic relative [&_p]:mb-0`};var s=r({__name:`blockquote`,props:{node:{type:Object,required:!0},markdownParser:{type:Object,required:!0},nodeRenderers:{type:Object,required:!0},blockIndex:{type:Number,required:!1},parentNode:{type:Object,required:!1},prevNode:{type:Object,required:!1},nextNode:{type:Object,required:!1},nodeKey:{type:String,required:!0},deep:{type:Number,required:!0}},setup(r){let s=r;return(c,l)=>(a(),t(`blockquote`,o,[n(e,i(s,{"parent-node":r.node,nodes:r.node.children,deep:r.deep+1}),null,16,[`parent-node`,`nodes`,`deep`])]))}});export{s as default};
@@ -1 +1 @@
1
- import{y as e}from"./composables-CA0XaIPq.js";import{Fragment as t,computed as n,createBlock as r,createCommentVNode as i,createElementBlock as a,createElementVNode as o,createTextVNode as s,createVNode as c,defineComponent as l,mergeProps as u,normalizeClass as d,normalizeStyle as f,openBlock as p,resolveDynamicComponent as m,toDisplayString as h,unref as g,withCtx as _}from"vue";import{createReusableTemplate as v}from"@vueuse/core";var y=l({inheritAttrs:!1,__name:`button`,props:{variant:{type:String,required:!1,default:`icon`},name:{type:String,required:!0},buttonClass:{type:[String,Array,Object],required:!1},buttonStyle:{type:Object,required:!1,default:()=>({})},icon:{type:null,required:!1},iconWidth:{type:Number,required:!1,default:14},iconHeight:{type:Number,required:!1,default:14},iconClass:{type:[String,Array,Object],required:!1},iconStyle:{type:Object,required:!1,default:()=>({})},options:{type:Array,required:!1,default:()=>[]}},emits:[`click`],setup(l,{emit:y}){let b=l,x=y,{uiComponents:S}=e(),[C,w]=v(),T=n(()=>b.options.length>0);function E(e){T.value||x(`click`,e)}function D(e,t){t&&x(`click`,e,t)}return(e,n)=>(p(),a(t,null,[c(g(C),null,{default:_(()=>[l.icon?(p(),r(m(g(S).Icon),{key:0,icon:l.icon,width:l.iconWidth,height:l.iconHeight,class:d(l.iconClass),style:f(l.iconStyle)},null,8,[`icon`,`width`,`height`,`class`,`style`])):i(`v-if`,!0)]),_:1}),l.variant===`icon`?(p(),r(m(T.value?g(S).Dropdown:g(S).Tooltip),u({key:0},e.$attrs,{content:T.value?void 0:l.name,title:l.name,options:l.options,onClick:D}),{default:_(()=>[o(`button`,u(e.$attrs,{"data-stream-markdown":`button`,type:`button`,class:[`text-xs text-muted-foreground p-2 rounded-md border-none bg-transparent flex gap-1 cursor-pointer transition-colors duration-[var(--default-transition-duration)] items-center justify-center hover:text-foreground hover:bg-accent`,[l.buttonClass]],style:l.buttonStyle,onClick:E}),[c(g(w))],16)]),_:1},16,[`content`,`title`,`options`])):l.variant===`text`&&!T.value?(p(),a(`button`,u({key:1},e.$attrs,{"data-stream-markdown":`button`,type:`button`,class:[`text-xs text-muted-foreground p-2 rounded-md border-none bg-transparent flex gap-1 cursor-pointer transition-colors duration-[var(--default-transition-duration)] items-center justify-center hover:text-foreground hover:bg-accent`,[l.buttonClass]],style:l.buttonStyle,onClick:E}),[c(g(w)),s(` `+h(l.name),1)],16)):(p(),r(m(g(S).Dropdown),u({key:2},e.$attrs,{title:l.name,options:l.options,onClick:D}),{default:_(()=>[o(`button`,{"data-stream-markdown":`button`,type:`button`,class:d([`text-xs text-muted-foreground p-2 rounded-md border-none bg-transparent flex gap-1 cursor-pointer transition-colors duration-[var(--default-transition-duration)] items-center justify-center hover:text-foreground hover:bg-accent`,[l.buttonClass]]),style:f(l.buttonStyle),onClick:E},[c(g(w)),s(` `+h(l.name),1)],6)]),_:1},16,[`title`,`options`]))],64))}});export{y as default};
1
+ import{y as e}from"./composables-Dt9tB3RV.js";import{Fragment as t,computed as n,createBlock as r,createCommentVNode as i,createElementBlock as a,createElementVNode as o,createTextVNode as s,createVNode as c,defineComponent as l,mergeProps as u,normalizeClass as d,normalizeStyle as f,openBlock as p,resolveDynamicComponent as m,toDisplayString as h,unref as g,withCtx as _}from"vue";import{createReusableTemplate as v}from"@vueuse/core";var y=l({inheritAttrs:!1,__name:`button`,props:{variant:{type:String,required:!1,default:`icon`},name:{type:String,required:!0},buttonClass:{type:[String,Array,Object],required:!1},buttonStyle:{type:Object,required:!1,default:()=>({})},icon:{type:null,required:!1},iconWidth:{type:Number,required:!1,default:14},iconHeight:{type:Number,required:!1,default:14},iconClass:{type:[String,Array,Object],required:!1},iconStyle:{type:Object,required:!1,default:()=>({})},options:{type:Array,required:!1,default:()=>[]}},emits:[`click`],setup(l,{emit:y}){let b=l,x=y,{uiComponents:S}=e(),[C,w]=v(),T=n(()=>b.options.length>0);function E(e){T.value||x(`click`,e)}function D(e,t){t&&x(`click`,e,t)}return(e,n)=>(p(),a(t,null,[c(g(C),null,{default:_(()=>[l.icon?(p(),r(m(g(S).Icon),{key:0,icon:l.icon,width:l.iconWidth,height:l.iconHeight,class:d(l.iconClass),style:f(l.iconStyle)},null,8,[`icon`,`width`,`height`,`class`,`style`])):i(`v-if`,!0)]),_:1}),l.variant===`icon`?(p(),r(m(T.value?g(S).Dropdown:g(S).Tooltip),u({key:0},e.$attrs,{content:T.value?void 0:l.name,title:l.name,options:l.options,onClick:D}),{default:_(()=>[o(`button`,u(e.$attrs,{"data-stream-markdown":`button`,type:`button`,class:[`text-xs text-muted-foreground p-2 rounded-md border-none bg-transparent flex gap-1 cursor-pointer transition-colors duration-[var(--default-transition-duration)] items-center justify-center hover:text-foreground hover:bg-accent`,[l.buttonClass]],style:l.buttonStyle,onClick:E}),[c(g(w))],16)]),_:1},16,[`content`,`title`,`options`])):l.variant===`text`&&!T.value?(p(),a(`button`,u({key:1},e.$attrs,{"data-stream-markdown":`button`,type:`button`,class:[`text-xs text-muted-foreground p-2 rounded-md border-none bg-transparent flex gap-1 cursor-pointer transition-colors duration-[var(--default-transition-duration)] items-center justify-center hover:text-foreground hover:bg-accent`,[l.buttonClass]],style:l.buttonStyle,onClick:E}),[c(g(w)),s(` `+h(l.name),1)],16)):(p(),r(m(g(S).Dropdown),u({key:2},e.$attrs,{title:l.name,options:l.options,onClick:D}),{default:_(()=>[o(`button`,{"data-stream-markdown":`button`,type:`button`,class:d([`text-xs text-muted-foreground p-2 rounded-md border-none bg-transparent flex gap-1 cursor-pointer transition-colors duration-[var(--default-transition-duration)] items-center justify-center hover:text-foreground hover:bg-accent`,[l.buttonClass]]),style:f(l.buttonStyle),onClick:E},[c(g(w)),s(` `+h(l.name),1)],6)]),_:1},16,[`title`,`options`]))],64))}});export{y as default};
@@ -1 +1 @@
1
- import{t as e}from"./rolldown-runtime-BbypZo7q.js";import{y as t}from"./composables-CA0XaIPq.js";import{createCommentVNode as n,createElementBlock as r,defineComponent as i,openBlock as a,toDisplayString as o,unref as s}from"vue";const c={key:0,"data-stream-markdown":`caret`};var l=i({__name:`caret`,setup(e){let{enableCaret:i,caret:l}=t();return(e,t)=>s(i)?(a(),r(`span`,c,o(s(l)),1)):n(`v-if`,!0)}}),u=e({default:()=>d}),d=l;export{u as n,d as t};
1
+ import{t as e}from"./rolldown-runtime-BbypZo7q.js";import{y as t}from"./composables-Dt9tB3RV.js";import{createCommentVNode as n,createElementBlock as r,defineComponent as i,openBlock as a,toDisplayString as o,unref as s}from"vue";const c={key:0,"data-stream-markdown":`caret`};var l=i({__name:`caret`,setup(e){let{enableCaret:i,caret:l}=t();return(e,t)=>s(i)?(a(),r(`span`,c,o(s(l)),1)):n(`v-if`,!0)}}),u=e({default:()=>d}),d=l;export{u as n,d as t};
@@ -1 +1 @@
1
- import{i as e,y as t}from"./composables-CA0XaIPq.js";import{computed as n,createBlock as r,defineAsyncComponent as i,defineComponent as a,mergeProps as o,normalizeProps as s,openBlock as c,resolveDynamicComponent as l,unref as u,withCtx as d}from"vue";var f=a({__name:`index`,props:{node:{type:Object,required:!0},markdownParser:{type:Object,required:!0},nodeRenderers:{type:Object,required:!0},blockIndex:{type:Number,required:!1},parentNode:{type:Object,required:!1},prevNode:{type:Object,required:!1},nextNode:{type:Object,required:!1},nodeKey:{type:String,required:!0},deep:{type:Number,required:!0},showHeader:{type:Boolean,required:!1,default:!0}},setup(a){let f=a,{cdnOptions:p,uiComponents:m}=t(),h=n(()=>`language-${f.node.lang}`),{installed:g}=e({cdnOptions:p}),_={vanilla:i(()=>import(`./vanilla-D62VvdI8.js`)),shiki:i(()=>import(`./shiki-DfX73w8s.js`))},v=n(()=>g.value?_.shiki:_.vanilla);return(e,t)=>a.showHeader?(c(),r(l(u(m).CodeBlock),s(o({key:0},f)),{default:d(()=>[(c(),r(l(v.value),o(f,{class:[h.value]}),null,16,[`class`]))]),_:1},16)):(c(),r(l(v.value),o({key:1},f,{class:[h.value]}),null,16,[`class`]))}});export{f as default};
1
+ import{i as e,y as t}from"./composables-Dt9tB3RV.js";import{computed as n,createBlock as r,defineAsyncComponent as i,defineComponent as a,mergeProps as o,normalizeProps as s,openBlock as c,resolveDynamicComponent as l,unref as u,withCtx as d}from"vue";var f=a({__name:`index`,props:{node:{type:Object,required:!0},markdownParser:{type:Object,required:!0},nodeRenderers:{type:Object,required:!0},blockIndex:{type:Number,required:!1},parentNode:{type:Object,required:!1},prevNode:{type:Object,required:!1},nextNode:{type:Object,required:!1},nodeKey:{type:String,required:!0},deep:{type:Number,required:!0},showHeader:{type:Boolean,required:!1,default:!0}},setup(a){let f=a,{cdnOptions:p,uiComponents:m}=t(),h=n(()=>`language-${f.node.lang}`),{installed:g}=e({cdnOptions:p}),_={vanilla:i(()=>import(`./vanilla-DPi0tnlE.js`)),shiki:i(()=>import(`./shiki-kNbIjiXM.js`))},v=n(()=>g.value?_.shiki:_.vanilla);return(e,t)=>a.showHeader?(c(),r(l(u(m).CodeBlock),s(o({key:0},f)),{default:d(()=>[(c(),r(l(v.value),o(f,{class:[h.value]}),null,16,[`class`]))]),_:1},16)):(c(),r(l(v.value),o({key:1},f,{class:[h.value]}),null,16,[`class`]))}});export{f as default};
@@ -0,0 +1 @@
1
+ import{C as e,O as t,b as n,d as r,o as i,v as a,w as o,y as s}from"./composables-Dt9tB3RV.js";import{j as ee}from"./src-7d8hW45I.js";import{t as c}from"./segmented-CdCwVEi_.js";import{Fragment as l,computed as u,createBlock as d,createCommentVNode as f,createElementBlock as p,createElementVNode as m,createVNode as h,defineAsyncComponent as g,defineComponent as _,mergeProps as v,normalizeClass as te,normalizeStyle as ne,openBlock as y,ref as b,renderList as x,renderSlot as S,resolveDynamicComponent as C,toDisplayString as w,unref as T,useModel as E,vShow as D,watch as re,withCtx as O,withDirectives as k}from"vue";import{createReusableTemplate as ie,useClipboard as ae}from"@vueuse/core";const A={"data-stream-markdown":`actions`,class:`flex gap-1 items-center`};var j=_({__name:`actions`,props:{actions:{type:Array,required:!1,default:()=>[]}},setup(e){let{uiComponents:t}=s();return(n,r)=>(y(),p(`div`,A,[(y(!0),p(l,null,x(e.actions,e=>(y(),d(C(T(t).Button),v({ref_for:!0},e,{key:e.key,onClick:e.onClick}),null,16,[`onClick`]))),128))]))}});const oe={astro:g(()=>import(`./astro-aSBVHEHa.js`)),bash:g(()=>import(`./bash-BTF1Ne15.js`)),c:g(()=>import(`./c-BPW0_pOk.js`)),"c#":g(()=>import(`./csharp-B4H1h4kB.js`)),"c++":g(()=>import(`./cpp-J6s-ZBF6.js`)),cjs:g(()=>import(`./javascript-BxFrrDQ8.js`)),cpp:g(()=>import(`./cpp-J6s-ZBF6.js`)),cs:g(()=>import(`./csharp-B4H1h4kB.js`)),csharp:g(()=>import(`./csharp-B4H1h4kB.js`)),css:g(()=>import(`./css-B6z9xceG.js`)),csv:g(()=>import(`./csv-CbBXgjOG.js`)),cts:g(()=>import(`./typescript-BMATPCuy.js`)),go:g(()=>import(`./go-Cyk4BQzF.js`)),gql:g(()=>import(`./graphql-DpPfPfsT.js`)),graphql:g(()=>import(`./graphql-DpPfPfsT.js`)),html:g(()=>import(`./html-MC9V_Fto.js`)),java:g(()=>import(`./java-DHOK7TQq.js`)),javascript:g(()=>import(`./javascript-BxFrrDQ8.js`)),js:g(()=>import(`./javascript-BxFrrDQ8.js`)),json:g(()=>import(`./json-DtyhOLB7.js`)),json5:g(()=>import(`./json-DtyhOLB7.js`)),jsonc:g(()=>import(`./json-DtyhOLB7.js`)),jsonl:g(()=>import(`./json-DtyhOLB7.js`)),jsx:g(()=>import(`./javascript-BxFrrDQ8.js`)),kotlin:g(()=>import(`./kotlin-1C5q_I09.js`)),kt:g(()=>import(`./kotlin-1C5q_I09.js`)),kts:g(()=>import(`./kotlin-1C5q_I09.js`)),less:g(()=>import(`./less-DIeftIgd.js`)),lua:g(()=>import(`./lua-CPNZDIVy.js`)),luau:g(()=>import(`./luau-jkO7fBsq.js`)),markdown:g(()=>import(`./markdown-DWt95aI0.js`)),md:g(()=>import(`./markdown-DWt95aI0.js`)),mdc:g(()=>import(`./markdown-DWt95aI0.js`)),mdx:g(()=>import(`./markdown-DWt95aI0.js`)),mermaid:g(()=>import(`./mermaid-gBJZZSXZ.js`)),mjs:g(()=>import(`./javascript-BxFrrDQ8.js`)),mmd:g(()=>import(`./mermaid-gBJZZSXZ.js`)),mts:g(()=>import(`./typescript-BMATPCuy.js`)),php:g(()=>import(`./php-BqZA4Rty.js`)),py:g(()=>import(`./python-DuRpDTRc.js`)),python:g(()=>import(`./python-DuRpDTRc.js`)),rs:g(()=>import(`./rust-B_cX_ED6.js`)),rust:g(()=>import(`./rust-B_cX_ED6.js`)),sass:g(()=>import(`./sass-TXNz01yV.js`)),scss:g(()=>import(`./sass-TXNz01yV.js`)),sh:g(()=>import(`./bash-BTF1Ne15.js`)),shell:g(()=>import(`./bash-BTF1Ne15.js`)),shellscript:g(()=>import(`./bash-BTF1Ne15.js`)),sql:g(()=>import(`./database-CACxdSqQ.js`)),stylus:g(()=>import(`./sass-TXNz01yV.js`)),svelte:g(()=>import(`./svelte-B8mYZTJ3.js`)),swift:g(()=>import(`./swift-DCxX7g0M.js`)),toml:g(()=>import(`./toml-BrOpt-Rx.js`)),ts:g(()=>import(`./typescript-BMATPCuy.js`)),tsv:g(()=>import(`./csv-CbBXgjOG.js`)),tsx:g(()=>import(`./typescript-BMATPCuy.js`)),typescript:g(()=>import(`./typescript-BMATPCuy.js`)),vue:g(()=>import(`./vue-1NqN8tLg.js`)),xml:g(()=>import(`./xml-CuVoLhq2.js`)),yaml:g(()=>import(`./yaml-Ct3Hi1Mx.js`)),yml:g(()=>import(`./yaml-Ct3Hi1Mx.js`)),zsh:g(()=>import(`./bash-BTF1Ne15.js`))},M={"data-stream-markdown":`language-title`,class:`flex gap-2 items-center`},N={key:1,"data-stream-markdown":`language-name`,class:`text-sm font-mono lowercase`};var se=_({__name:`language-title`,props:{icon:{type:null,required:!1},language:{type:String,required:!0},showIcon:{type:Boolean,required:!1,default:!0},showName:{type:Boolean,required:!1,default:!0}},setup(e){return(t,n)=>(y(),p(`header`,M,[e.showIcon?(y(),d(C(e.icon),{key:0})):f(`v-if`,!0),e.showName?(y(),p(`span`,N,w(e.language),1)):f(`v-if`,!0)]))}}),P=_({__name:`preview-segmented`,props:{mode:{type:String,required:!1,default:`source`},modeModifiers:{},collapsed:{type:Boolean,required:!1,default:!1},collapsedModifiers:{}},emits:[`update:mode`,`update:collapsed`],setup(e){let t=E(e,`mode`),n=E(e,`collapsed`),{t:i}=r(),a=u(()=>[{label:i(`button.preview`),value:`preview`,icon:`preview`},{label:i(`button.source`),value:`source`,icon:`code`}]);return(e,r)=>(y(),d(c,{value:t.value,"onUpdate:value":r[0]||=e=>t.value=e,options:a.value,"button-style":{fontFamily:`var(--font-mono)`},onChange:r[1]||=()=>n.value=!1},null,8,[`value`,`options`]))}});const ce={key:2},le=[`data-collapsed`],ue={"data-stream-markdown":`code-block-header`,class:`code-block-header text-sm text-muted-foreground px-4 py-1.5 border-b border-border bg-muted/80 flex items-center top-0 justify-between sticky z-[5] max-lg:px-3 [&>*:last-child]:flex [&>*:first-child]:flex-1 [&>*:last-child]:flex-1 [&>*:nth-child(2)]:left-1/2 [&>*:last-child]:justify-end [&>*:nth-child(2)]:absolute [&>*:nth-child(2)]:-translate-x-1/2`},de={key:1},fe={"data-stream-markdown":`actions`,class:`flex gap-1 items-center`},pe={"data-stream-markdown":`actions`,class:`flex gap-1 items-center`};var F=_({inheritAttrs:!1,__name:`index`,props:{node:{type:Object,required:!0},markdownParser:{type:Object,required:!0},nodeRenderers:{type:Object,required:!0},blockIndex:{type:Number,required:!1},parentNode:{type:Object,required:!1},prevNode:{type:Object,required:!1},nextNode:{type:Object,required:!1},nodeKey:{type:String,required:!0},deep:{type:Number,required:!0}},setup(c){let _=c,{beforeDownload:x,cdnOptions:w,codeOptions:E,controls:A,icons:M,isDark:N,mermaidOptions:F,onCopied:me,previewers:I,shikiOptions:he,uiComponents:ge}=s(),_e=g(()=>import(`./code-BlmRdFyt.js`)),[ve,L]=ie(),{t:R}=r(),{isControlEnabled:z,getControlValue:ye,resolveControls:B}=a({controls:A}),{copy:be,copied:xe}=ae({legacy:!0}),{installed:V,saveMermaid:Se}=i({mermaidOptions:F,cdnOptions:w,shikiOptions:he,isDark:N}),H=b(!1),U=b(!1),W=b(`source`),G=u(()=>{let t=_.node.lang;return t?e[t]?e[t]:t:`plaintext`}),{showLanguageIcon:K,showLanguageName:q}=n({codeOptions:E,language:G}),J=u(()=>K.value||q.value),Ce=u(()=>z(`code.collapse`)),we=u(()=>z(`code.copy`)),Te=u(()=>z(`code.download`)),Ee=u(()=>z(`code.fullscreen`)),De=u(()=>{let e=E.value?.language?.[G.value]?.languageIcon;return typeof e==`object`?e:oe[G.value]||M.value.code}),Y=u(()=>{if(typeof I.value==`boolean`)return G.value===`mermaid`;let e=I.value?.progressive?.[G.value];return typeof e==`boolean`?e:G.value===`mermaid`}),X=u(()=>typeof I.value==`boolean`||!I.value?.placement||I.value?.placement===`auto`?J.value?`center`:`left`:I.value.placement),Z=u(()=>{if(I.value===!1||!Y.value&&_.node.loading)return!1;let e=G.value===`html`&&!_.node.loading,t=G.value===`mermaid`&&V.value;if(I.value===!0)return!!(G.value===`html`&&e||G.value===`mermaid`&&t);if(typeof I.value==`object`){if(I.value.components?.[G.value]===!1)return!1;if(G.value===`html`&&e||G.value===`mermaid`&&t)return!0;let n=I.value.components?.[G.value];return typeof n==`object`&&(Y.value||!_.node.loading)?!!n:!1}return!1}),Q=u(()=>{let e=t[G.value];if(!I.value||typeof I.value==`boolean`)return e;let n=I.value.components?.[G.value];return n===!1?e:n&&typeof n!=`boolean`?n:e}),Oe=u(()=>ye(`mermaid.inlineInteractive`)??!0);function $(e){return typeof e==`number`?`${e}px`:e}let ke=u(()=>{if(W.value===`preview`)return;let e=E.value?.language?.[G.value]?.maxHeight;if(e)return $(e);let t=E.value?.maxHeight;if(t)return $(t)}),Ae=u(()=>G.value!==`mermaid`||!V.value?[]:[{label:`SVG`,value:`svg`},{label:`PNG`,value:`png`},{label:`MMD`,value:`code`}]),je=u(()=>[{name:R(`button.collapse`),key:`collapse`,icon:`collapse`,iconStyle:{transform:H.value?`rotate(180deg)`:void 0,transition:`transform var(--default-transition-duration)`},visible:()=>Ce.value,onClick:()=>H.value=!H.value},{name:R(`button.copy`),key:`copy`,icon:xe.value?`check`:`copy`,visible:()=>we.value,onClick:()=>{_.node.value&&(be(_.node.value),me(_.node.value))}},{name:R(`button.download`),key:`download`,icon:`download`,options:Ae.value.length>0?Ae.value:void 0,visible:()=>Te.value&&!!o[G.value],onClick:async(e,t)=>{if(!_.node.loading){if(!t||t.value===`code`){let e=o[G.value];await x({type:`code`,content:_.node.value})&&ee(`file.${e}`,_.node.value,`text/plain`);return}(t?.value===`svg`||t?.value===`png`)&&await x({type:`mermaid`,content:_.node.value})&&Se(t?.value,_.node.value)}}},{name:U.value?R(`button.minimize`):R(`button.maximize`),key:`fullscreen`,icon:U.value?`minimize`:`maximize`,visible:()=>Ee.value,onClick:()=>U.value=!U.value}]),Me=u(()=>B(`code`,je.value,_)),Ne=u(()=>B(`code`,Me.value,_).filter(e=>e.key!==`collapse`));return re(()=>Z.value,()=>{Z.value&&(W.value=`preview`)},{immediate:!0}),(e,t)=>(y(),p(l,null,[h(T(ve),null,{default:O(({showPreview:e})=>[J.value?(y(),d(se,{key:0,icon:De.value,language:G.value,"show-icon":T(K),"show-name":T(q)},null,8,[`icon`,`language`,`show-icon`,`show-name`])):Z.value&&e?(y(),d(P,{key:1,mode:W.value,"onUpdate:mode":t[0]||=e=>W.value=e,collapsed:H.value,"onUpdate:collapsed":t[1]||=e=>H.value=e},null,8,[`mode`,`collapsed`])):(y(),p(`div`,ce))]),_:1}),m(`div`,{"data-stream-markdown":`code-block`,"data-collapsed":H.value,class:te([`my-4 border border-border rounded-xl overflow-clip data-[collapsed=true]:[&_.code-block-header]:border-b-0`,[{"code-loading":_.node.loading}]])},[m(`header`,ue,[S(e.$slots,`title`,{},()=>[h(T(L),{"show-preview":X.value===`left`},null,8,[`show-preview`])]),S(e.$slots,`header-center`,{},()=>[Z.value&&X.value===`center`?(y(),d(P,{key:0,mode:W.value,"onUpdate:mode":t[2]||=e=>W.value=e,collapsed:H.value,"onUpdate:collapsed":t[3]||=e=>H.value=e},null,8,[`mode`,`collapsed`])):(y(),p(`div`,de))]),S(e.$slots,`actions`,{},()=>[m(`div`,fe,[Z.value&&X.value===`right`?(y(),d(P,{key:0,mode:W.value,"onUpdate:mode":t[4]||=e=>W.value=e,collapsed:H.value,"onUpdate:collapsed":t[5]||=e=>H.value=e},null,8,[`mode`,`collapsed`])):f(`v-if`,!0),h(j,{actions:Me.value},null,8,[`actions`])])])]),k(m(`main`,{"data-stream-markdown":`code-block-content`,class:`overflow-auto`,style:ne({maxHeight:ke.value})},[Z.value?k((y(),d(C(Q.value),v({key:0},_,{interactive:Oe.value}),null,16,[`interactive`])),[[D,W.value===`preview`]]):f(`v-if`,!0),k(m(`main`,null,[S(e.$slots,`default`)],512),[[D,W.value===`source`]])],4),[[D,!H.value]]),(y(),d(C(T(ge).Modal),{open:U.value,"onUpdate:open":t[10]||=e=>U.value=e,"header-style":{backgroundColor:`color-mix(in oklab, var(--muted) 80%, transparent)`,color:`var(--muted-foreground)`,borderBottom:`1px solid var(--border)`}},{title:O(()=>[h(T(L),{"show-preview":X.value===`left`},null,8,[`show-preview`])]),"header-center":O(()=>[Z.value&&X.value===`center`?(y(),d(P,{key:0,mode:W.value,"onUpdate:mode":t[6]||=e=>W.value=e,collapsed:H.value,"onUpdate:collapsed":t[7]||=e=>H.value=e},null,8,[`mode`,`collapsed`])):f(`v-if`,!0)]),actions:O(()=>[m(`div`,pe,[Z.value&&X.value===`right`?(y(),d(P,{key:0,mode:W.value,"onUpdate:mode":t[8]||=e=>W.value=e,collapsed:H.value,"onUpdate:collapsed":t[9]||=e=>H.value=e},null,8,[`mode`,`collapsed`])):f(`v-if`,!0),h(j,{actions:Ne.value},null,8,[`actions`])])]),default:O(()=>[Z.value?k((y(),d(C(Q.value),v({key:0},_,{"immediate-render":!0,"container-height":`100%`}),null,16)),[[D,W.value===`preview`]]):f(`v-if`,!0),k(h(T(_e),v(_,{"show-header":!1}),null,16),[[D,W.value===`source`]])]),_:1},40,[`open`]))],10,le)],64))}});export{F as default};
@@ -0,0 +1,2 @@
1
+ import{A as e,B as t,C as n,D as r,E as i,F as a,H as o,I as s,K as c,L as l,N as u,O as d,P as f,R as p,S as m,T as h,U as g,V as _,W as v,X as y,Y as b,Z as x,a as S,b as C,c as w,d as T,et as E,f as D,i as ee,j as O,k,m as te,n as ne,o as re,p as A,r as ie,s as ae,t as oe,u as se,w as ce,x as le,y as ue,z as j}from"./src-7d8hW45I.js";import{computed as M,defineAsyncComponent as N,inject as de,nextTick as P,onMounted as F,onUnmounted as fe,provide as pe,ref as I,toValue as L,watch as R,watchEffect as me}from"vue";import{useEventListener as he,useIntersectionObserver as ge,useMutationObserver as _e,useNavigatorLanguage as ve}from"@vueuse/core";import{autoUpdate as ye,computePosition as be,flip as xe,offset as Se,shift as Ce}from"@floating-ui/dom";import{checkMathSyntax as we}from"@markmend/core";const Te={html:N(()=>import(`./html-DmNh1vFW.js`)),mermaid:N(()=>import(`./mermaid-D-1bOedk.js`))},Ee={blockquote:N(()=>import(`./blockquote-Bi7bInuP.js`)),break:N(()=>import(`./break-z3zVdeuH.js`)),code:N(()=>import(`./code-BlmRdFyt.js`)),delete:N(()=>import(`./delete-HC6xDdKU.js`)),emphasis:N(()=>import(`./emphasis-BzrBk-SO.js`)),footnoteDefinition:N(()=>import(`./footnote-definition-B6wrWOrh.js`)),footnoteReference:N(()=>import(`./footnote-reference-COusrqg-.js`)),heading:N(()=>import(`./heading-6OVPWjB3.js`)),html:N(()=>import(`./html-CYUFE186.js`)),image:N(()=>import(`./image-C_y1cR3H.js`)),inlineCode:N(()=>import(`./inline-code-DGV-IlZs.js`)),inlineMath:N(()=>import(`./inline-math-DhEnYIi9.js`)),link:N(()=>import(`./link-DbJvTNMZ.js`)),list:N(()=>import(`./list-CAUe3vO9.js`)),listItem:N(()=>import(`./list-item-CB4K7oNJ.js`)),math:N(()=>import(`./math-B-Uyj_hD.js`)),paragraph:N(()=>import(`./paragraph-Cd-4JaQ1.js`)),strong:N(()=>import(`./strong-CjpgVYlm.js`)),table:N(()=>import(`./table-DeaVfcwl.js`)),text:N(()=>import(`./text-DWu4EMA7.js`)),thematicBreak:N(()=>import(`./thematic-break-ndBPGY6x.js`)),yaml:N(()=>import(`./yaml-BykjNPsA.js`))},De={Alert:N(()=>import(`./alert-DROUQ5PS.js`)),Button:N(()=>import(`./button-DN5advfN.js`)),Caret:N(()=>import(`./caret-Bb6lmqsG.js`).then(e=>e.n)),CodeBlock:N(()=>import(`./code-block-Ctv-CyQ-.js`)),Dropdown:N(()=>import(`./dropdown-Czh_i31A.js`)),ErrorComponent:N(()=>import(`./error-component-gW-iGQQT.js`)),Icon:N(()=>import(`./icon-DkqWpGn5.js`)),Image:N(()=>import(`./image-DLQdXW1o.js`)),Modal:N(()=>import(`./modal-Ci_4DS_H.js`)),Segmented:N(()=>import(`./segmented-CdCwVEi_.js`).then(e=>e.n)),Spin:N(()=>import(`./spin-uZ6bykcx.js`)),Table:N(()=>import(`./table-Bv0wvcgR.js`)),Tooltip:N(()=>import(`./tooltip-DqPtGSi_.js`)),ZoomContainer:N(()=>import(`./zoom-container-Br-BmE2r.js`))},Oe=N(()=>import(`./node-list-DRKVSQ6H.js`).then(e=>e.n));var ke={"@stream-markdown/shared":`workspace:*`,shiki:`^4.0.2`};const z={},Ae={"1c-query":`1cq`,"1c":`1c`,abap:`abap`,"actionscript-3":`as`,ada:`ada`,adoc:`adoc`,"angular-html":`html`,"angular-ts":`ts`,apache:`conf`,apex:`cls`,apl:`apl`,applescript:`applescript`,ara:`ara`,asciidoc:`adoc`,asm:`asm`,astro:`astro`,awk:`awk`,ballerina:`bal`,bash:`sh`,bat:`bat`,batch:`bat`,be:`be`,beancount:`beancount`,berry:`berry`,bibtex:`bib`,bicep:`bicep`,blade:`blade.php`,bsl:`bsl`,c:`c`,"c#":`cs`,"c++":`cpp`,cadence:`cdc`,cairo:`cairo`,cdc:`cdc`,clarity:`clar`,clj:`clj`,clojure:`clj`,"closure-templates":`soy`,cmake:`cmake`,cmd:`cmd`,cobol:`cob`,codeowners:`CODEOWNERS`,codeql:`ql`,coffee:`coffee`,coffeescript:`coffee`,"common-lisp":`lisp`,console:`sh`,coq:`v`,cpp:`cpp`,cql:`cql`,crystal:`cr`,cs:`cs`,csharp:`cs`,css:`css`,csv:`csv`,cue:`cue`,cypher:`cql`,d:`d`,dart:`dart`,dax:`dax`,desktop:`desktop`,diff:`diff`,docker:`dockerfile`,dockerfile:`dockerfile`,dotenv:`env`,"dream-maker":`dm`,edge:`edge`,elisp:`el`,elixir:`ex`,elm:`elm`,"emacs-lisp":`el`,erb:`erb`,erl:`erl`,erlang:`erl`,f:`f`,"f#":`fs`,f03:`f03`,f08:`f08`,f18:`f18`,f77:`f77`,f90:`f90`,f95:`f95`,fennel:`fnl`,fish:`fish`,fluent:`ftl`,for:`for`,"fortran-fixed-form":`f`,"fortran-free-form":`f90`,fs:`fs`,fsharp:`fs`,fsl:`fsl`,ftl:`ftl`,gdresource:`tres`,gdscript:`gd`,gdshader:`gdshader`,genie:`gs`,gherkin:`feature`,"git-commit":`gitcommit`,"git-rebase":`gitrebase`,gjs:`js`,gleam:`gleam`,"glimmer-js":`js`,"glimmer-ts":`ts`,glsl:`glsl`,gnuplot:`plt`,go:`go`,gql:`gql`,graphql:`graphql`,groovy:`groovy`,gts:`gts`,hack:`hack`,haml:`haml`,handlebars:`hbs`,haskell:`hs`,haxe:`hx`,hbs:`hbs`,hcl:`hcl`,hjson:`hjson`,hlsl:`hlsl`,hs:`hs`,"html-derivative":`html`,html:`html`,http:`http`,hxml:`hxml`,hy:`hy`,imba:`imba`,ini:`ini`,jade:`jade`,java:`java`,javascript:`js`,jinja:`jinja`,jison:`jison`,jl:`jl`,js:`js`,json:`json`,json5:`json5`,jsonc:`jsonc`,jsonl:`jsonl`,jsonnet:`jsonnet`,jssm:`jssm`,jsx:`jsx`,julia:`jl`,kotlin:`kt`,kql:`kql`,kt:`kt`,kts:`kts`,kusto:`kql`,latex:`tex`,lean:`lean`,lean4:`lean`,less:`less`,liquid:`liquid`,lisp:`lisp`,lit:`lit`,llvm:`ll`,log:`log`,logo:`logo`,lua:`lua`,luau:`luau`,make:`mak`,makefile:`mak`,markdown:`md`,marko:`marko`,matlab:`m`,md:`md`,mdc:`mdc`,mdx:`mdx`,mediawiki:`wiki`,mermaid:`mmd`,mips:`s`,mipsasm:`s`,mmd:`mmd`,mojo:`mojo`,move:`move`,nar:`nar`,narrat:`narrat`,nextflow:`nf`,nf:`nf`,nginx:`conf`,nim:`nim`,nix:`nix`,nu:`nu`,nushell:`nu`,objc:`m`,"objective-c":`m`,"objective-cpp":`mm`,ocaml:`ml`,pascal:`pas`,perl:`pl`,perl6:`p6`,php:`php`,plsql:`pls`,po:`po`,polar:`polar`,postcss:`pcss`,pot:`pot`,potx:`potx`,powerquery:`pq`,powershell:`ps1`,prisma:`prisma`,prolog:`pl`,properties:`properties`,proto:`proto`,protobuf:`proto`,ps:`ps`,ps1:`ps1`,pug:`pug`,puppet:`pp`,purescript:`purs`,py:`py`,python:`py`,ql:`ql`,qml:`qml`,qmldir:`qmldir`,qss:`qss`,r:`r`,racket:`rkt`,raku:`raku`,razor:`cshtml`,rb:`rb`,reg:`reg`,regex:`regex`,regexp:`regexp`,rel:`rel`,riscv:`s`,rs:`rs`,rst:`rst`,ruby:`rb`,rust:`rs`,sas:`sas`,sass:`sass`,scala:`scala`,scheme:`scm`,scss:`scss`,sdbl:`sdbl`,sh:`sh`,shader:`shader`,shaderlab:`shader`,shell:`sh`,shellscript:`sh`,shellsession:`sh`,smalltalk:`st`,solidity:`sol`,soy:`soy`,sparql:`rq`,spl:`spl`,splunk:`spl`,sql:`sql`,"ssh-config":`config`,stata:`do`,styl:`styl`,stylus:`styl`,svelte:`svelte`,swift:`swift`,"system-verilog":`sv`,systemd:`service`,talon:`talon`,talonscript:`talon`,tasl:`tasl`,tcl:`tcl`,templ:`templ`,terraform:`tf`,tex:`tex`,tf:`tf`,tfvars:`tfvars`,toml:`toml`,"ts-tags":`ts`,ts:`ts`,tsp:`tsp`,tsv:`tsv`,tsx:`tsx`,turtle:`ttl`,twig:`twig`,typ:`typ`,typescript:`ts`,typespec:`tsp`,typst:`typ`,v:`v`,vala:`vala`,vb:`vb`,verilog:`v`,vhdl:`vhdl`,vim:`vim`,viml:`vim`,vimscript:`vim`,"vue-html":`html`,"vue-vine":`vine`,vue:`vue`,vy:`vy`,vyper:`vy`,wasm:`wasm`,wenyan:`wy`,wgsl:`wgsl`,wiki:`wiki`,wikitext:`wiki`,wit:`wit`,wl:`wl`,wolfram:`wl`,xml:`xml`,xsl:`xsl`,yaml:`yaml`,yml:`yml`,zenscript:`zs`,zig:`zig`,zsh:`zsh`,文言:`wy`},je=A(ke.shiki);let B=null;function Me(t){function n(){let n=k(t?.cdnOptions),r=o(n?.shiki),i=n?.baseUrl?e(n.baseUrl):``,a=!!n?.getUrl;if(r&&!(!i&&!a)&&!(!import.meta.env.SSR&&typeof window<`u`&&(!(`supports`in HTMLScriptElement)||!HTMLScriptElement.supports?.(`importmap`)))){if(a){let e=n?.getUrl?.(`shiki`,je);if(e)return e}return`${i}/shiki@${je}/+esm`}}async function r(){if(B)return B;let e=n();if(!e)return;let t=await j(e);return B=t,t}return{getCdnUrl:n,loadCdn:r}}let V=null,H=null;function Ne(e){let t;try{t=e.default}catch{t=void 0}return t&&typeof t==`object`?{...e,...t}:e}async function Pe(){try{return await import(`shiki`),!0}catch{return!1}}function Fe(){V?.dispose(),V=null,H=null}function Ie(e={}){let t=Me({cdnOptions:e.cdnOptions}),n=()=>k(e.theme)??[`github-light`,`github-dark`],r=()=>({...z,...k(e.langAlias)??{}}),i=()=>k(e.langs)??[],a=()=>k(e.codeToTokenOptions)??{},o=()=>k(e.lang)??`plaintext`;async function s(){return Ne(await t.loadCdn()??await import(`shiki`))}async function c(){return t.getCdnUrl()?!0:await Pe()}async function l(){let[e,t]=n(),{bundledThemesInfo:r}=await s();return[e,t].filter(e=>r.find(t=>t.id===e))}async function u(){let{bundledThemesInfo:e}=await s(),[t,r]=n();return{light:e.find(e=>e.id===t)?.id??`github-light`,dark:e.find(e=>e.id===r)?.id??`github-dark`}}async function d(){let e=o(),t=r();if(t[e])return t[e];let{bundledLanguagesInfo:n}=await s(),i=n.find(t=>t.id===e||t.aliases?.includes(e));return i?i.id:`plaintext`}async function f(e){let t=await d(),n=await l(),r=e.getLoadedLanguages(),i=e.getLoadedThemes();r.includes(t)||await e.loadLanguage(t);for(let t of n)i.includes(t)||await e.loadTheme(t)}async function p(){let e=V;if(!e){H||=(async()=>{let{createHighlighter:e}=await s();return e({themes:await l(),langs:i(),langAlias:r()})})();try{e=await H,V=e}finally{H=null}}return await f(e),e}async function m(e){return(await p()).codeToTokens(e,{themes:await u(),lang:await d(),...a()})}async function h(){V||await c()&&await p()}return{installed:c(),preload:h,dispose:()=>{},getShiki:s,getHighlighter:p,codeToTokens:m,getLanguage:d}}const U=A({"@stream-markdown/shared":`workspace:*`,katex:`^0.16.38`}.katex);let W=null,Le=!1;function Re(n){function r(){let t=k(n?.cdnOptions),r=o(t?.katex),i=_(t?.katex),a=t?.baseUrl?e(t.baseUrl):``,s=!!t?.getUrl;if(!r||!a&&!s)return;if(s){let e=t?.getUrl?.(`katex`,U);if(e)return e}let c=`${a}/katex@${U}/dist/katex.min.js`;return i===`umd`?c:typeof window<`u`&&`supports`in HTMLScriptElement&&HTMLScriptElement.supports?.(`importmap`)?`${a}/katex@${U}/+esm`:c}async function i(){if(W)return W;let e=r();if(!e)return;let n=await j(e);return W=t(n,`katex`),W??n}function a(){let t=k(n?.cdnOptions),r=o(t?.katex),i=t?.baseUrl?e(t.baseUrl):``,a=!!t?.getUrl;if(r&&!(!i&&!a)){if(a){let e=t?.getUrl?.(`katex-css`,U);if(e)return e}return`${i}/katex@${U}/dist/katex.min.css`}}function s(){if(Le||typeof document>`u`)return;let e=a();if(!e)return;let t=document.createElement(`link`);t.rel=`stylesheet`,t.href=e,document.head.appendChild(t),Le=!0}return{getCdnUrl:r,loadCdn:i,getCdnCssUrl:a,loadCss:s}}async function ze(){try{return await import(`katex`),!0}catch{return!1}}function Be(e={}){let t=Re({cdnOptions:e.cdnOptions});async function n(){return t.getCdnUrl()?!0:await ze()}async function r(){return await t.loadCdn()??await import(`katex`)}async function i(e,t){let{renderToString:n}=await r();try{return{html:n(e,{output:`html`,strict:`ignore`,...t?.config??{},displayMode:t?.displayMode})}}catch(e){return{error:e.message}}}async function a(){await n()&&await r()}return{installed:n(),preload:a,dispose:()=>{},ensureCss:()=>t.loadCss(),getKatex:r,renderToHtml:i}}var Ve={"@antfu/utils":`catalog:inlined`,"@stream-markdown/shared":`workspace:*`,"beautiful-mermaid":`^1.1.3`,mermaid:`^11.13.0`};const G=A(Ve.mermaid),K=A(Ve[`beautiful-mermaid`]),He=[`flowchart`,`graph`,`stateDiagram`,`sequence`,`classDiagram`,`erDiagram`,`xychart`],Ue=[`neutral`,`dark`],We={padding:8},Ge=[`github-light`,`github-dark`];let q=null;function J(n){function r(){let t=k(n?.cdnOptions),r=o(t?.beautifulMermaid),i=_(t?.beautifulMermaid),a=t?.baseUrl?e(t.baseUrl):``,s=!!t?.getUrl;if(!r||!a&&!s)return;if(s){let e=t?.getUrl?.(`beautiful-mermaid`,K);if(e)return e}let c=`${a}/beautiful-mermaid@${K}/dist/beautiful-mermaid.browser.global.min.js`;return i===`umd`?c:v()?`${a}/beautiful-mermaid@${K}/+esm`:c}async function i(){if(q)return q;let e=r();if(!e)return;let n=await j(e);return q=t(n,`beautifulMermaid`),q??n}return{getCdnUrl:r,loadCdn:i}}let Y=null;function X(n){function r(){let t=k(n?.cdnOptions),r=o(t?.mermaid),i=_(t?.mermaid),a=t?.baseUrl?e(t.baseUrl):``,s=!!t?.getUrl;if(!r||!a&&!s)return;if(s){let e=t?.getUrl?.(`mermaid`,G);if(e)return e}let c=`${a}/mermaid@${G}/dist/mermaid.min.js`;return i===`umd`?c:v()?`${a}/mermaid@${G}/+esm`:c}async function i(){if(Y)return Y;let e=r();if(!e)return;let n=await j(e);return Y=t(n,`mermaid`),Y??n}return{getCdnUrl:r,loadCdn:i}}var Ke=class{options;loaded=!1;constructor(e={}){this.options=e}isLoaded(){return this.loaded}async ensureLoaded(){this.loaded||=(await this.load(),!0)}toError(e){return e instanceof Error?e.message:String(e)}};function qe(e=16,t=`useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict`){let n=``,r=e,i=t.length;for(;r--;)n+=t[Math.random()*i|0];return n}function Je(e,t,n){var r=n||{},i=r.noTrailing,a=i===void 0?!1:i,o=r.noLeading,s=o===void 0?!1:o,c=r.debounceMode,l=c===void 0?void 0:c,u,d=!1,f=0;function p(){u&&clearTimeout(u)}function m(e){var t=(e||{}).upcomingOnly,n=t===void 0?!1:t;p(),d=!n}function h(){var n=[...arguments],r=this,i=Date.now()-f;if(d)return;function o(){f=Date.now(),t.apply(r,n)}function c(){u=void 0}!s&&l&&!u&&o(),p(),l===void 0&&i>e?s?(f=Date.now(),a||(u=setTimeout(l?c:o,e))):o():a!==!0&&(u=setTimeout(l?c:o,l===void 0?e-i:e))}return h.cancel=m,h}function Ye(...e){return Je(...e)}async function Xe(){try{return await import(`mermaid`),!0}catch{return!1}}var Ze=class extends Ke{mermaid=null;get currentTheme(){let[e,t]=k(this.options.theme)??Ue;return k(this.options.isDark)?t:e}wrapThemeCode(e){return e.startsWith(`%%{`)?e:`%%{init: {"theme": "${this.currentTheme}"}}%%\n${e}`}async load(){if(this.mermaid)return;let e=X({cdnOptions:this.options.cdnOptions});if(!(e.getCdnUrl()||await Xe()))throw Error(`Mermaid module is not available`);let t=(await e.loadCdn()??await import(`mermaid`)).default;t.initialize({startOnLoad:!1,securityLevel:`loose`,...k(this.options.config)??{}}),this.mermaid=t}isSupported(){return!0}async parse(e){try{return await this.ensureLoaded(),await this.mermaid.parse(this.wrapThemeCode(e)),{valid:!0}}catch(e){return{valid:!1,error:this.toError(e)}}}async render(e){let t=await this.parse(e);if(!t.valid||!g())return{error:t.error,valid:!1};let n=`mermaid-${qe()}`;try{return{svg:(await this.mermaid.render(n,this.wrapThemeCode(e))).svg,valid:!0}}catch(e){return document.getElementById(`d${n}`)?.remove(),{valid:!1,error:this.toError(e)}}}async isEnabled(){let e=X({cdnOptions:this.options.cdnOptions});try{return await Xe()?!0:!!e.getCdnUrl()}catch{return!1}}};const Qe=RegExp(`^(${He.join(`|`)})`);async function $e(){try{return await import(`beautiful-mermaid`),!0}catch{return!1}}function et(e){let t=e.trim().split(`
2
+ `);for(let e of t){let t=e.trim();if(t&&!t.startsWith(`%%`))return t.match(Qe)?.[1]??`unknown`}return`unknown`}function Z(e){return He.some(t=>e.startsWith(t))}var tt=class extends Ke{beautifulMermaid=null;vanillaRenderer=null;getVanillaRenderer(){return this.vanillaRenderer||=new Ze(this.options),this.vanillaRenderer}get currentTheme(){let[e,t]=k(this.options.beautifulTheme)??Ge;return k(this.options.isDark)?t:e}get mergedOptions(){return{...We,...k(this.options.beautifulConfig)??{}}}async getRenderOptions(){let e=this.beautifulMermaid?.THEMES[this.currentTheme];if(e)return{...e,...this.mergedOptions};let t=await this.options.getThemeColors?.();return t?{...t,...this.mergedOptions}:this.mergedOptions}async load(){this.beautifulMermaid||=await J({cdnOptions:this.options.cdnOptions}).loadCdn()??await import(`beautiful-mermaid`)}isSupported(e){return Z(e)}async parse(e){if(!Z(et(e)))return this.getVanillaRenderer().parse(e);try{return await this.ensureLoaded(),{valid:!0}}catch(e){return{valid:!1,error:this.toError(e)}}}async render(e){if(!Z(et(e)))return this.getVanillaRenderer().render(e);try{await this.ensureLoaded();let t=await this.getRenderOptions();return{svg:await this.beautifulMermaid.renderMermaidSVGAsync(e,t),valid:!0}}catch(e){return{valid:!1,error:this.toError(e)}}}async isEnabled(){let e=J({cdnOptions:this.options.cdnOptions});try{return await $e()?!0:!!e.getCdnUrl()}catch{return!1}}};async function nt(){try{return await import(`beautiful-mermaid`),!0}catch{return!1}}async function rt(e={},t=nt){let n=J({cdnOptions:e.cdnOptions}),r=k(e.renderer);return r===`beautiful`?`beautiful`:r===`vanilla`?`vanilla`:n.getCdnUrl()||await t()?`beautiful`:`vanilla`}function it(e={}){let t=null,n=null,r=null,i=null,a=r=>r===`beautiful`?(t||=new tt(e),t):(n||=new Ze(e),n),o=async()=>{let t=await rt(e);if(r&&i===t)return r;let n=a(t);return r=n,i=t,n};async function s(){await(await o()).load()}async function c(e){return await(await o()).parse(e)}async function l(e){return await(await o()).render(e)}async function d(e,t){let{svg:n}=await l(t);if(!n)throw Error(`SVG not found. Please wait for the diagram to render.`);if(e===`svg`){O(`diagram.svg`,n,`image/svg+xml`);return}let r=await u(n);if(!r)throw Error(`Failed to export PNG image`);O(`diagram.png`,r,`image/png`)}async function f(){let e=await o();await e.isEnabled()&&(e.isLoaded()||await e.load())}return{installed:o().then(e=>e.isEnabled()),preload:f,load:s,dispose(){r=null,i=null},parse:c,render:l,save:d}}function at(e){let t=e?.cdnOptions,n=Me({cdnOptions:t}),r=X({cdnOptions:t}),i=J({cdnOptions:t}),a=Re({cdnOptions:t});return{getCdnShikiUrl:n.getCdnUrl,loadCdnShiki:n.loadCdn,getCdnMermaidUrl:r.getCdnUrl,loadCdnMermaid:r.loadCdn,getCdnBeautifulMermaidUrl:i.getCdnUrl,loadCdnBeautifulMermaid:i.loadCdn,getCdnKatexUrl:a.getCdnUrl,loadCdnKatex:a.loadCdn,getCdnKatexCssUrl:a.getCdnCssUrl,loadCdnKatexCss:a.loadCss}}function ot(e){let t=M(()=>L(e.language)||``),n=M(()=>L(e.codeOptions)),r=M(()=>p(n.value,t.value));return{languageCodeOptions:r,showLanguageIcon:M(()=>l(r.value?.languageIcon)),showLanguageName:M(()=>l(r.value?.languageName)),showLineNumbers:M(()=>l(r.value?.lineNumbers))}}const st=Symbol(`stream-markdown-context`);function ct(){let e=D(),t=M(()=>L(e.mode)??`streaming`),n=M(()=>L(e.controls)),r=M(()=>L(e.previewers)),i=M(()=>L(e.shikiOptions)),a=M(()=>L(e.mermaidOptions)),o=M(()=>L(e.katexOptions)),s=M(()=>L(e.hardenOptions)),c=M(()=>L(e.codeOptions)),l=M(()=>L(e.imageOptions)),u=M(()=>L(e.linkOptions)),d=M(()=>L(e.cdnOptions)),f=M(()=>L(e.icons)??{}),p=M(()=>L(e.nodeRenderers)??{}),m=M(()=>L(e.uiComponents)??De),h=M(()=>L(e.uiOptions)??{}),g=M(()=>h.value.hideTooltip??!1),_=M(()=>L(e.isDark)??!1),v=M(()=>{let n=L(e.enableAnimate);return typeof n==`boolean`?n:t.value===`streaming`}),x=M(()=>L(e.animation)??y),S=M(()=>L(e.enableCaret)),C=M(()=>{let t=L(e.caret);return t?b[t]:void 0}),w=M(()=>L(e.parsedNodes)??[]),T=M(()=>L(e.blocks)??[]);function E(e){pe(st,{...D(),...e})}function D(){return de(st,{})||{}}return{context:e,provideContext:E,injectContext:D,mode:t,controls:n,previewers:r,shikiOptions:i,mermaidOptions:a,katexOptions:o,hardenOptions:s,codeOptions:c,imageOptions:l,linkOptions:u,cdnOptions:d,hideTooltip:g,icons:f,nodeRenderers:p,uiComponents:m,isDark:_,enableAnimate:v,animation:x,enableCaret:S,caret:C,parsedNodes:w,blocks:T,get markdownParser(){return e.markdownParser},get getContainer(){return e.getContainer||(()=>void 0)},get beforeDownload(){return e.beforeDownload||(()=>!0)},get onCopied(){return e.onCopied||(()=>{})}}}function lt(e){let t=M(()=>L(e.controls)??!0);function n(e){return s(t.value,e)}function r(e){return a(t.value,e)}function i(e,n,r){return f(t.value,e,n,r)}return{isControlEnabled:n,getControlValue:r,resolveControls:i}}function ut(e,t){let n=I(),r=M(()=>L(t)),i=M(()=>typeof L(e)==`boolean`),a=I(!1),o=M(()=>i.value?L(e):a.value);function s(){a.value=document.documentElement.classList.contains(`dark`)}function c(){C()||(l(),u())}function l(){let e=document.createElement(`div`);e.id=ue,e.classList.add(`stream-markdown`),e.classList.add(o.value?`dark`:`light`),document.body.appendChild(e)}function u(){let e=C();e&&(e.classList.toggle(`dark`,o.value),e.classList.toggle(`light`,!o.value),Object.entries(r.value).forEach(([t,n])=>{e.style.setProperty(t,n)}))}let{stop:d}=_e(n,s,{attributes:!0,attributeFilter:[`class`],subtree:!1});return R(()=>[o.value,r.value],()=>u()),R(i,()=>{i.value&&(n.value=null)}),F(()=>{c(),i.value||(s(),n.value=document.documentElement)}),{isDark:o,isDarkProvided:i,stop:d}}function dt(e){let{immediate:t=!1,debounceDelay:r=300,rootMargin:i=`300px`,idleTimeout:a=500}=e,o=I(t),s=I(null),c=I(null),l=M(()=>L(e.targetRef)),{request:u,cancel:d}=n(),f=()=>{s.value!==null&&(clearTimeout(s.value),s.value=null),c.value!==null&&(d(c.value),c.value=null)},p=e=>{c.value=u(t=>{t.timeRemaining()>0||t.didTimeout?(o.value=!0,e()):c.value=u(()=>{o.value=!0,e()},a/2)},a)},{stop:m}=ge(l,([e])=>{o.value||t||(e?.isIntersecting?(f(),s.value=window.setTimeout(()=>{e.isIntersecting&&!o.value&&p(m)},r)):f())},{rootMargin:i});return fe(()=>{f(),m()}),{shouldRender:o}}function ft(e){let t=M(()=>L(e.hideTooltip)??!1),n=M(()=>L(e.trigger)??`hover`),r=M(()=>L(e.placement)??`top`),i=M(()=>L(e.delay)??[100,100]),a=I(),o=I(),s=null,c=null,l=I(!1),u=I(null),d=I(null),f=I(`absolute`),p=I(),m=null;async function h(){if(!(!a.value||!o.value||!g()))try{let e=await be(a.value,o.value,{placement:r.value,middleware:[Se(6),xe(),Ce({padding:5})]});u.value=e.x,d.value=e.y,f.value=e.strategy}catch{}}me(()=>{m&&=(m(),null),!(!a.value||!o.value||!g())&&(m=ye(a.value,o.value,h))}),R(r,()=>{l.value&&h()});let _=M(()=>g()&&a.value?.parentElement||null),v=()=>{if(!g())return e.getContainer?.()||`body`;let t=e.getContainer?.()||_.value;return t instanceof HTMLElement&&!document.body.contains(t)?`body`:t||`body`},y=M(()=>({position:f.value,top:`${d.value??0}px`,left:`${u.value??0}px`}));function b(){k();let{show:e}=E();s=window.setTimeout(()=>{l.value=!0,h()},e)}function x(){k();let{hide:e}=E();c=window.setTimeout(()=>{l.value=!1},e)}function S(){l.value=!l.value,h()}function C(){t.value||n.value===`hover`&&b()}function w(){n.value===`hover`&&x()}function T(){n.value===`click`&&S()}function E(){return Array.isArray(i.value)?{show:i.value[0]??0,hide:i.value[1]??0}:{show:i.value??0,hide:i.value??0}}function D(e){if(!l.value)return;let t=e.target;a.value?.contains(t)||o.value?.contains(t)||(l.value=!1)}function ee(){c&&=(clearTimeout(c),null)}function O(){let{hide:e}=E();n.value===`hover`&&(c=window.setTimeout(()=>{x()},e))}function k(){s&&=(clearTimeout(s),null),c&&=(clearTimeout(c),null)}return F(()=>{p.value=v(),he(document,`click`,D)}),{referenceEl:a,floatingEl:o,open:l,appendTo:p,floatingStyle:y,show:b,hide:x,onMouseEnter:C,onMouseLeave:w,onClick:T,onFloatingEnter:ee,onFloatingLeave:O}}const Q=I(),$=I(c);async function pt(e){try{Q.value=await h(e),typeof e==`string`&&($.value=r(e))}catch{Q.value=await h(c),$.value=c}}pt(c);function mt(){function e(e){return ce(Q.value,e)}return{t:e}}function ht(e){let{mdastOptions:t,cdnOptions:n}=e??{},r=M(()=>L(e.markdown)??``),i=t?.builtin?.micromark?.math!==!1,a=t?.singleDollarTextMath===!0,o=M(()=>we(r.value,a)),s=I(!1),c=Be({cdnOptions:()=>n});async function l(e,t={}){return await c.renderToHtml(e,{config:t})}async function u(){s.value=await c.installed,s.value&&await c.preload()}return R(()=>o.value,e=>{e&&i&&c.ensureCss()},{immediate:!0}),g()&&(async()=>{s.value=await c.installed})(),{installed:s,render:l,preload:u,dispose:c.dispose,loadCdnKatexCss:c.ensureCss}}function gt(e){let{language:t}=ve(),n=I(),r=M(()=>i(L(e),{htmlLanguage:n.value,navigatorLanguage:t.value}));function a(){return g()?document.documentElement.lang:``}return F(()=>{n.value=a()}),{locale:r}}function _t(e){let{installed:t,render:n}=ht({cdnOptions:e.cdnOptions}),r=I(!1),i=I(``),a=I(``),o=I(``),s=M(()=>L(e.node)),c=M(()=>L(e.katexOptions)?.config??{}),l=M(()=>L(e.throttle)??150),u=M(()=>s.value.value),d=M(()=>s.value.loading),f=M(()=>s.value.type!==`inlineMath`),p=M(()=>!!(!t.value||o.value&&r.value&&i.value===u.value));return R(()=>[u.value,d.value],Ye(l,async()=>{let{html:e,error:t}=await n(u.value,{...c,displayMode:f.value});if(r.value=!0,e){a.value=e,o.value=``;return}t?o.value=t:o.value=``}),{immediate:!0}),{html:a,error:p,errorMessage:o}}function vt(e){let t=M(()=>L(e.margin)??0),n=I(),r=I(),i=I(),a=I(!1),o=I(!1),s=I(``),c=I(``),l=M(()=>g()?{opacity:o.value?0:1}:{opacity:1});function u(){let e=n.value;if(!e)return;let t=e.cloneNode(!0),r=e.getBoundingClientRect();return t.style.position=`fixed`,t.style.top=`${r.top}px`,t.style.left=`${r.left}px`,t.style.width=`${r.width}px`,t.style.height=`${r.height}px`,t.style.margin=`0`,t.style.padding=`0`,t.style.pointerEvents=`none`,t.style.zIndex=`10000`,t.style.willChange=`transform`,t.style.transformOrigin=`top left`,e instanceof HTMLImageElement&&e.currentSrc&&(t.src=e.currentSrc),t}function d(){let e=n.value;if(!e||!r.value)return;let i=e.getBoundingClientRect(),a=window.innerWidth,o=window.innerHeight,l=m({rect:i,naturalWidth:e.naturalWidth||i.width,naturalHeight:e.naturalHeight||i.height,viewportWidth:a,viewportHeight:o,margin:t.value});s.value=l.initialTransform,c.value=l.targetTransform}async function f(){let t=n.value;if(!t)return;let i=u();if(!i)return;t.style.visibility=`hidden`,document.body.appendChild(i),r.value=i,o.value=!0,await P(),d(),r.value&&(r.value.style.transform=s.value,r.value.style.transition=`none`),r.value?.offsetHeight,await P(),a.value=!0,r.value&&(r.value.style.transition=`transform 0.3s cubic-bezier(0.2, 0, 0.2, 1)`,r.value.style.transform=c.value),e.open?.();let l=()=>{a.value=!1,r.value&&(r.value.style.opacity=`0`),o.value=!1,i.removeEventListener(`transitionend`,l)};i.addEventListener(`transitionend`,l,{once:!0})}async function p(){if(!r.value){e.close?.();return}if(await P(),o.value=!0,r.value&&(r.value.style.opacity=`1`),await P(),!r.value)return;let t=n.value,s=i.value;if(!t||!s)return;let c=t.getBoundingClientRect(),l=s.getBoundingClientRect(),u=r.value,d=window.getComputedStyle(s).transform||`none`;u.style.top=`${l.top}px`,u.style.left=`${l.left}px`,u.style.width=`${l.width}px`,u.style.height=`${l.height}px`,u.style.transform=d===`none`?`translate3d(0, 0, 0) scale(1)`:d,u.style.transformOrigin=`center center`,u.style.transition=`none`,u.offsetHeight,await P(),a.value=!0,u.style.transition=`transform 0.3s cubic-bezier(0.2, 0, 0.2, 1)`,u.style.transform=le({originalRect:c,zoomRect:l,currentTransform:d}),u.addEventListener(`transitionend`,()=>{let t=r.value;t&&t.parentNode&&t.parentNode.removeChild(t),r.value=void 0,n.value&&(n.value.style.visibility=`visible`),e.close?.(),a.value=!1,o.value=!1},{once:!0})}return{isAnimating:a,elementStyle:l,elementRef:n,zoomElementRef:i,zoomIn:f,zoomOut:p}}function yt(e){async function t(){try{let t=L(e?.shikiOptions)?.theme??[`github-light`,`github-dark`],n=L(e?.isDark)??!1?t[1]:t[0],r=Ie({cdnOptions:()=>L(e?.cdnOptions),isDark:()=>L(e?.isDark)??!1,theme:()=>t,langs:()=>L(e?.shikiOptions)?.langs??[],langAlias:()=>L(e?.shikiOptions)?.langAlias??{},codeToTokenOptions:()=>L(e?.shikiOptions)?.codeToTokenOptions}),[{fromShikiTheme:i},a]=await Promise.all([import(`beautiful-mermaid`),r.getHighlighter()]);return i(a.getTheme(n??`github-light`))}catch{return null}}let n=it({renderer:()=>L(e?.mermaidOptions)?.renderer,theme:()=>L(e?.mermaidOptions)?.theme,beautifulTheme:()=>L(e?.mermaidOptions)?.beautifulTheme,config:()=>L(e?.mermaidOptions)?.config,beautifulConfig:()=>L(e?.mermaidOptions)?.beautifulConfig,cdnOptions:()=>L(e?.cdnOptions),isDark:()=>L(e?.isDark)??!1,getThemeColors:t});async function r(e){return await n.parse(e)}async function i(e){return await n.render(e)}async function a(e,t,r){try{await n.save(e,t)}catch(e){r?.(e)}}let o=I(!1);async function s(){o.value=await n.installed,o.value&&await n.preload()}return g()&&(async()=>{o.value=await n.installed})(),{installed:o,getMermaid:n.load,parseMermaid:r,renderMermaid:i,saveMermaid:a,preload:s,dispose:n.dispose}}function bt(e){let t=M(()=>L(e.hardenOptions)??x),n=M(()=>L(e.loading)??!1),r=M(()=>L(e.isImage)??!1),i=M(()=>L(e.url)??``),a=M(()=>s(i.value)),o=M(()=>a.value===null);function s(e){return d(e,t.value,{isImage:r.value,loading:n.value})}return{hardenOptions:t,transformHardenUrl:s,transformedUrl:a,isHardenUrl:o}}function xt(){Fe()}function St(e){let t=I(!1),n=M(()=>L(e?.lang)??`plaintext`),r=Ie({lang:()=>n.value,cdnOptions:()=>L(e?.cdnOptions),isDark:()=>L(e?.isDark)??!1,theme:()=>L(e?.shikiOptions)?.theme??[`github-light`,`github-dark`],langs:()=>L(e?.shikiOptions)?.langs??[],langAlias:()=>({...z,...L(e?.shikiOptions)?.langAlias??{}}),codeToTokenOptions:()=>L(e?.shikiOptions)?.codeToTokenOptions});async function i(){t.value=await r.installed,t.value&&await r.preload()}return g()&&(async()=>{t.value=await r.installed})(),{installed:t,getShiki:r.getShiki,getHighlighter:r.getHighlighter,codeToTokens:r.codeToTokens,preload:i,dispose:r.dispose}}function Ct(e){let t=I({}),n=M(()=>{if(g())return(typeof e.element==`function`?e.element():null)||document.body});function r(){if(!g()||!n.value)return;let e=window.getComputedStyle(n.value),r=te(E,t=>e.getPropertyValue(t));Object.keys(r).length>0?t.value=r:t.value={}}me(r);let{stop:i}=_e(()=>n.value?[n.value,document.documentElement]:[],r,{attributes:!0,attributeFilter:[`style`,`class`],subtree:!1});return{element:n,cssVariables:t,generateCSS:r,stop:i}}function wt(e={}){let t=re(e),n=I(t.zoom),r=I(t.translateX),i=I(t.translateY),a=I(!1),o=I({x:0,y:0}),s=I(!1),c=I(null),l=M(()=>ae(E()));function u(e,t){return{x:e,y:t}}function d(){h(T(E(),e))}function f(){h(D(E(),e))}function p(){h(w(e))}function m(t){h(se(E(),t,e))}function h(e){n.value=e.zoom,r.value=e.translateX,i.value=e.translateY}function g(e){s.value||(a.value=!0,o.value=oe(u(e.clientX,e.clientY),E()),e.pointerType!==`mouse`&&e.target instanceof HTMLElement&&e.target.setPointerCapture(e.pointerId))}function _(e){if(!a.value||s.value)return;let t=ne(u(e.clientX,e.clientY),o.value);r.value=t.translateX,i.value=t.translateY}function v(){a.value=!1}function y(t,n){let r=S({state:E(),point:u(t.clientX,t.clientY),rect:n.getBoundingClientRect(),deltaY:t.deltaY,ctrlKey:t.ctrlKey,metaKey:t.metaKey,options:e});r&&(t.preventDefault(),h(r))}function b(e,t){e.touches.length===2&&(e.preventDefault(),s.value=!0,c.value=ee({state:E(),rect:t.getBoundingClientRect(),touches:[u(e.touches[0].clientX,e.touches[0].clientY),u(e.touches[1].clientX,e.touches[1].clientY)]}))}function x(t,n){t.touches.length===2&&c.value&&(t.preventDefault(),h(ie({rect:n.getBoundingClientRect(),touches:[u(t.touches[0].clientX,t.touches[0].clientY),u(t.touches[1].clientX,t.touches[1].clientY)],touchState:c.value,options:e})))}function C(e){e.touches.length<2&&(c.value=null,s.value=!1)}function E(){return{zoom:n.value,translateX:r.value,translateY:i.value}}function O(t){typeof t.zoom==`number`&&(n.value=se(E(),t.zoom,e).zoom),typeof t.translateX==`number`&&(r.value=t.translateX),typeof t.translateY==`number`&&(i.value=t.translateY)}return{zoom:n,translateX:r,translateY:i,isDragging:a,transformStyle:l,zoomIn:d,zoomOut:f,resetZoom:p,setZoom:m,startDrag:g,onDrag:_,stopDrag:v,handleWheel:y,getState:E,setState:O,handleTouchStart:b,handleTouchMove:x,handleTouchEnd:C}}export{z as C,Ee as D,De as E,Te as O,Ye as S,Oe as T,ut as _,bt as a,ot as b,_t as c,mt as d,$ as f,dt as g,ft as h,St as i,gt as l,Q as m,Ct as n,yt as o,pt as p,xt as r,vt as s,wt as t,ht as u,lt as v,Ae as w,at as x,ct as y};
@@ -1 +1 @@
1
- import{t as e}from"./node-list-CTXWVPv3.js";import{createElementBlock as t,createVNode as n,defineComponent as r,mergeProps as i,openBlock as a}from"vue";const o={"data-stream-markdown":`delete`,class:`line-through`};var s=r({__name:`delete`,props:{node:{type:Object,required:!0},markdownParser:{type:Object,required:!0},nodeRenderers:{type:Object,required:!0},blockIndex:{type:Number,required:!1},parentNode:{type:Object,required:!1},prevNode:{type:Object,required:!1},nextNode:{type:Object,required:!1},nodeKey:{type:String,required:!0},deep:{type:Number,required:!0}},setup(r){let s=r;return(c,l)=>(a(),t(`del`,o,[n(e,i(s,{"parent-node":r.node,nodes:r.node.children,deep:r.deep+1}),null,16,[`parent-node`,`nodes`,`deep`])]))}});export{s as default};
1
+ import{t as e}from"./node-list-DRKVSQ6H.js";import{createElementBlock as t,createVNode as n,defineComponent as r,mergeProps as i,openBlock as a}from"vue";const o={"data-stream-markdown":`delete`,class:`line-through`};var s=r({__name:`delete`,props:{node:{type:Object,required:!0},markdownParser:{type:Object,required:!0},nodeRenderers:{type:Object,required:!0},blockIndex:{type:Number,required:!1},parentNode:{type:Object,required:!1},prevNode:{type:Object,required:!1},nextNode:{type:Object,required:!1},nodeKey:{type:String,required:!0},deep:{type:Number,required:!0}},setup(r){let s=r;return(c,l)=>(a(),t(`del`,o,[n(e,i(s,{"parent-node":r.node,nodes:r.node.children,deep:r.deep+1}),null,16,[`parent-node`,`nodes`,`deep`])]))}});export{s as default};
@@ -1 +1 @@
1
- import{y as e}from"./composables-CA0XaIPq.js";import{Fragment as t,createBlock as n,createElementBlock as r,createElementVNode as i,defineComponent as a,openBlock as o,ref as s,renderList as c,renderSlot as l,resolveDynamicComponent as u,toRefs as d,unref as f,withCtx as p}from"vue";const m={"data-stream-markdown":`dropdown-overlay`,class:`p-1`};var h=a({__name:`dropdown`,props:{title:{type:String,required:!1},options:{type:Array,required:!1,default:()=>[]}},emits:[`click`],setup(a,{emit:h}){let g=a,_=h,{uiComponents:v}=e(),{options:y}=d(g),b=s(),x={minWidth:`120px`,display:`flex`,justifyContent:`start`,gap:`0.625rem`,fontSize:`0.875rem`,lineHeight:`1.25rem`};function S(e,t){_(`click`,e,t),b.value?.hide()}return(e,a)=>(o(),n(u(f(v).Tooltip),{ref_key:`tooltipRef`,ref:b,trigger:`click`,placement:`bottom-end`,"data-stream-markdown":`dropdown`},{content:p(()=>[i(`div`,m,[(o(!0),r(t,null,c(f(y),e=>(o(),n(u(f(v).Button),{key:e.value,name:e.label,icon:e.icon,"button-style":x,variant:`text`,onClick:t=>S(t,e)},null,8,[`name`,`icon`,`onClick`]))),128))])]),default:p(()=>[l(e.$slots,`default`)]),_:3},512))}});export{h as default};
1
+ import{y as e}from"./composables-Dt9tB3RV.js";import{Fragment as t,createBlock as n,createElementBlock as r,createElementVNode as i,defineComponent as a,openBlock as o,ref as s,renderList as c,renderSlot as l,resolveDynamicComponent as u,toRefs as d,unref as f,withCtx as p}from"vue";const m={"data-stream-markdown":`dropdown-overlay`,class:`p-1`};var h=a({__name:`dropdown`,props:{title:{type:String,required:!1},options:{type:Array,required:!1,default:()=>[]}},emits:[`click`],setup(a,{emit:h}){let g=a,_=h,{uiComponents:v}=e(),{options:y}=d(g),b=s(),x={minWidth:`120px`,display:`flex`,justifyContent:`start`,gap:`0.625rem`,fontSize:`0.875rem`,lineHeight:`1.25rem`};function S(e,t){_(`click`,e,t),b.value?.hide()}return(e,a)=>(o(),n(u(f(v).Tooltip),{ref_key:`tooltipRef`,ref:b,trigger:`click`,placement:`bottom-end`,"data-stream-markdown":`dropdown`},{content:p(()=>[i(`div`,m,[(o(!0),r(t,null,c(f(y),e=>(o(),n(u(f(v).Button),{key:e.value,name:e.label,icon:e.icon,"button-style":x,variant:`text`,onClick:t=>S(t,e)},null,8,[`name`,`icon`,`onClick`]))),128))])]),default:p(()=>[l(e.$slots,`default`)]),_:3},512))}});export{h as default};
@@ -1 +1 @@
1
- import{t as e}from"./node-list-CTXWVPv3.js";import{createElementBlock as t,createVNode as n,defineComponent as r,mergeProps as i,openBlock as a}from"vue";const o={"data-stream-markdown":`emphasis`,class:`italic`};var s=r({__name:`emphasis`,props:{node:{type:Object,required:!0},markdownParser:{type:Object,required:!0},nodeRenderers:{type:Object,required:!0},blockIndex:{type:Number,required:!1},parentNode:{type:Object,required:!1},prevNode:{type:Object,required:!1},nextNode:{type:Object,required:!1},nodeKey:{type:String,required:!0},deep:{type:Number,required:!0}},setup(r){let s=r;return(c,l)=>(a(),t(`em`,o,[n(e,i(s,{"parent-node":r.node,nodes:r.node.children,deep:r.deep+1}),null,16,[`parent-node`,`nodes`,`deep`])]))}});export{s as default};
1
+ import{t as e}from"./node-list-DRKVSQ6H.js";import{createElementBlock as t,createVNode as n,defineComponent as r,mergeProps as i,openBlock as a}from"vue";const o={"data-stream-markdown":`emphasis`,class:`italic`};var s=r({__name:`emphasis`,props:{node:{type:Object,required:!0},markdownParser:{type:Object,required:!0},nodeRenderers:{type:Object,required:!0},blockIndex:{type:Number,required:!1},parentNode:{type:Object,required:!1},prevNode:{type:Object,required:!1},nextNode:{type:Object,required:!1},nodeKey:{type:String,required:!0},deep:{type:Number,required:!0}},setup(r){let s=r;return(c,l)=>(a(),t(`em`,o,[n(e,i(s,{"parent-node":r.node,nodes:r.node.children,deep:r.deep+1}),null,16,[`parent-node`,`nodes`,`deep`])]))}});export{s as default};
@@ -1 +1 @@
1
- import{d as e,y as t}from"./composables-CA0XaIPq.js";import{computed as n,createBlock as r,createCommentVNode as i,createElementBlock as a,createTextVNode as o,defineComponent as s,openBlock as c,renderSlot as l,resolveDynamicComponent as u,toDisplayString as d,unref as f}from"vue";const p={"data-stream-markdown":`error-component`,class:`text-sm text-muted-foreground font-mono inline-block [&_span]:flex-1 [&_span]:min-w-0 [&_span]:break-words`},m={key:0,"data-stream-markdown":`error-component-icon`,class:`leading-none mr-2 align-text-bottom inline-flex items-center`};var h=s({inheritAttrs:!1,__name:`error-component`,props:{variant:{type:String,required:!1,default:`vanilla`},showIcon:{type:Boolean,required:!1,default:!0},icon:{type:null,required:!1},message:{type:String,required:!1}},setup(s){let h=s,{icons:g,uiComponents:_}=t(),{t:v}=e(),y=n(()=>({vanilla:v(`error.vanilla`),image:v(`error.image`),mermaid:v(`error.mermaid`),katex:v(`error.katex`),"harden-image":v(`error.harden`),"harden-link":v(`error.harden`)})),b=n(()=>{if(h.icon)return h.icon;if(g.value[h.variant])return h.variant;let e=h.variant.replace(`harden-`,``);return g.value[e]?e:`error`}),x=n(()=>h.message?h.message:y.value[h.variant]||y.value.vanilla),S=n(()=>h.variant?.startsWith?.(`harden-`));return(e,t)=>(c(),a(`span`,p,[s.showIcon?(c(),a(`div`,m,[typeof b.value==`string`?(c(),r(u(f(_).Icon),{key:0,icon:b.value},null,8,[`icon`])):(c(),r(u(b.value),{key:1}))])):i(`v-if`,!0),S.value?l(e.$slots,`default`,{key:1}):i(`v-if`,!0),o(` [`+d(x.value)+`] `,1)]))}});export{h as default};
1
+ import{d as e,y as t}from"./composables-Dt9tB3RV.js";import{computed as n,createBlock as r,createCommentVNode as i,createElementBlock as a,createTextVNode as o,defineComponent as s,openBlock as c,renderSlot as l,resolveDynamicComponent as u,toDisplayString as d,unref as f}from"vue";const p={"data-stream-markdown":`error-component`,class:`text-sm text-muted-foreground font-mono inline-block [&_span]:flex-1 [&_span]:min-w-0 [&_span]:break-words`},m={key:0,"data-stream-markdown":`error-component-icon`,class:`leading-none mr-2 align-text-bottom inline-flex items-center`};var h=s({inheritAttrs:!1,__name:`error-component`,props:{variant:{type:String,required:!1,default:`vanilla`},showIcon:{type:Boolean,required:!1,default:!0},icon:{type:null,required:!1},message:{type:String,required:!1}},setup(s){let h=s,{icons:g,uiComponents:_}=t(),{t:v}=e(),y=n(()=>({vanilla:v(`error.vanilla`),image:v(`error.image`),mermaid:v(`error.mermaid`),katex:v(`error.katex`),"harden-image":v(`error.harden`),"harden-link":v(`error.harden`)})),b=n(()=>{if(h.icon)return h.icon;if(g.value[h.variant])return h.variant;let e=h.variant.replace(`harden-`,``);return g.value[e]?e:`error`}),x=n(()=>h.message?h.message:y.value[h.variant]||y.value.vanilla),S=n(()=>h.variant?.startsWith?.(`harden-`));return(e,t)=>(c(),a(`span`,p,[s.showIcon?(c(),a(`div`,m,[typeof b.value==`string`?(c(),r(u(f(_).Icon),{key:0,icon:b.value},null,8,[`icon`])):(c(),r(u(b.value),{key:1}))])):i(`v-if`,!0),S.value?l(e.$slots,`default`,{key:1}):i(`v-if`,!0),o(` [`+d(x.value)+`] `,1)]))}});export{h as default};
@@ -1 +1 @@
1
- import{d as e,y as t}from"./composables-CA0XaIPq.js";import{t as n}from"./node-list-CTXWVPv3.js";import{computed as r,createBlock as i,createElementBlock as a,createElementVNode as o,createVNode as s,defineComponent as c,mergeProps as l,openBlock as u,resolveDynamicComponent as d,toDisplayString as f,unref as p}from"vue";const m=[`id`],h={"data-stream-markdown":`footnote-definition-label`,class:`mr-1 align-middle inline-block`};var g=c({__name:`footnote-definition`,props:{node:{type:Object,required:!0},markdownParser:{type:Object,required:!0},nodeRenderers:{type:Object,required:!0},blockIndex:{type:Number,required:!1},parentNode:{type:Object,required:!1},prevNode:{type:Object,required:!1},nextNode:{type:Object,required:!1},nodeKey:{type:String,required:!0},deep:{type:Number,required:!0}},setup(c){let g=c,{getContainer:_,uiComponents:v}=t(),{t:y}=e(),b=r(()=>g.node.identifier),x=r(()=>g.node.label??b.value),S=r(()=>`${x.value}.`);function C(){let e=(_()||document.body).querySelector(`#footnote-reference-${b.value}`);e&&e.scrollIntoView({behavior:`smooth`})}return(e,t)=>(u(),a(`a`,{id:`footnote-definition-${b.value}`,"data-stream-markdown":`footnote-definition`,class:`text-muted-foreground block [&_p]:inline`},[o(`span`,h,f(S.value),1),s(n,l(g,{"parent-node":c.node,nodes:c.node.children}),null,16,[`parent-node`,`nodes`]),(u(),i(d(p(v).Button),{"data-stream-markdown":`footnote-definition-button`,class:`ml-1 align-middle inline-block`,name:p(y)(`button.back`),icon:`cornerDownLeft`,"icon-style":{color:`var(--primary)`},"button-style":{padding:`0.25rem`},onClick:C},null,8,[`name`]))],8,m))}});export{g as default};
1
+ import{d as e,y as t}from"./composables-Dt9tB3RV.js";import{t as n}from"./node-list-DRKVSQ6H.js";import{computed as r,createBlock as i,createElementBlock as a,createElementVNode as o,createVNode as s,defineComponent as c,mergeProps as l,openBlock as u,resolveDynamicComponent as d,toDisplayString as f,unref as p}from"vue";const m=[`id`],h={"data-stream-markdown":`footnote-definition-label`,class:`mr-1 align-middle inline-block`};var g=c({__name:`footnote-definition`,props:{node:{type:Object,required:!0},markdownParser:{type:Object,required:!0},nodeRenderers:{type:Object,required:!0},blockIndex:{type:Number,required:!1},parentNode:{type:Object,required:!1},prevNode:{type:Object,required:!1},nextNode:{type:Object,required:!1},nodeKey:{type:String,required:!0},deep:{type:Number,required:!0}},setup(c){let g=c,{getContainer:_,uiComponents:v}=t(),{t:y}=e(),b=r(()=>g.node.identifier),x=r(()=>g.node.label??b.value),S=r(()=>`${x.value}.`);function C(){let e=(_()||document.body).querySelector(`#footnote-reference-${b.value}`);e&&e.scrollIntoView({behavior:`smooth`})}return(e,t)=>(u(),a(`a`,{id:`footnote-definition-${b.value}`,"data-stream-markdown":`footnote-definition`,class:`text-muted-foreground block [&_p]:inline`},[o(`span`,h,f(S.value),1),s(n,l(g,{"parent-node":c.node,nodes:c.node.children}),null,16,[`parent-node`,`nodes`]),(u(),i(d(p(v).Button),{"data-stream-markdown":`footnote-definition-button`,class:`ml-1 align-middle inline-block`,name:p(y)(`button.back`),icon:`cornerDownLeft`,"icon-style":{color:`var(--primary)`},"button-style":{padding:`0.25rem`},onClick:C},null,8,[`name`]))],8,m))}});export{g as default};
@@ -1 +1 @@
1
- import{y as e}from"./composables-CA0XaIPq.js";import{computed as t,createElementBlock as n,createElementVNode as r,defineComponent as i,openBlock as a,toDisplayString as o}from"vue";const s=[`id`];var c=i({__name:`footnote-reference`,props:{node:{type:Object,required:!0},markdownParser:{type:Object,required:!0},nodeRenderers:{type:Object,required:!0},blockIndex:{type:Number,required:!1},parentNode:{type:Object,required:!1},prevNode:{type:Object,required:!1},nextNode:{type:Object,required:!1},nodeKey:{type:String,required:!0},deep:{type:Number,required:!0}},setup(i){let c=i,{getContainer:l}=e(),u=t(()=>c.node.identifier),d=t(()=>c.node.label??u.value);function f(){let e=(l()||document.body).querySelector(`#footnote-definition-${u.value}`);e&&e.scrollIntoView({behavior:`smooth`})}return(e,t)=>(a(),n(`sup`,{"data-stream-markdown":`footnote-reference`,class:`text-primary cursor-pointer`,onClick:f},[r(`a`,{id:`footnote-reference-${u.value}`},`[`+o(d.value)+`]`,9,s)]))}});export{c as default};
1
+ import{y as e}from"./composables-Dt9tB3RV.js";import{computed as t,createElementBlock as n,createElementVNode as r,defineComponent as i,openBlock as a,toDisplayString as o}from"vue";const s=[`id`];var c=i({__name:`footnote-reference`,props:{node:{type:Object,required:!0},markdownParser:{type:Object,required:!0},nodeRenderers:{type:Object,required:!0},blockIndex:{type:Number,required:!1},parentNode:{type:Object,required:!1},prevNode:{type:Object,required:!1},nextNode:{type:Object,required:!1},nodeKey:{type:String,required:!0},deep:{type:Number,required:!0}},setup(i){let c=i,{getContainer:l}=e(),u=t(()=>c.node.identifier),d=t(()=>c.node.label??u.value);function f(){let e=(l()||document.body).querySelector(`#footnote-definition-${u.value}`);e&&e.scrollIntoView({behavior:`smooth`})}return(e,t)=>(a(),n(`sup`,{"data-stream-markdown":`footnote-reference`,class:`text-primary cursor-pointer`,onClick:f},[r(`a`,{id:`footnote-reference-${u.value}`},`[`+o(d.value)+`]`,9,s)]))}});export{c as default};
@@ -1 +1 @@
1
- import{t as e}from"./node-list-CTXWVPv3.js";import{computed as t,createBlock as n,createVNode as r,defineComponent as i,mergeProps as a,normalizeClass as o,openBlock as s,resolveDynamicComponent as c,withCtx as l}from"vue";var u=i({__name:`heading`,props:{node:{type:Object,required:!0},markdownParser:{type:Object,required:!0},nodeRenderers:{type:Object,required:!0},blockIndex:{type:Number,required:!1},parentNode:{type:Object,required:!1},prevNode:{type:Object,required:!1},nextNode:{type:Object,required:!1},nodeKey:{type:String,required:!0},deep:{type:Number,required:!0}},setup(i){let u=i,d=t(()=>u.node.depth),f=t(()=>`h${d.value}`),p=t(()=>`heading-${d.value}`),m=t(()=>{let e=`mt-6 mb-2 font-semibold`;switch(d.value){case 1:return`${e} text-3xl`;case 2:return`${e} text-2xl`;case 3:return`${e} text-xl`;case 4:return`${e} text-lg`;case 5:return`${e} text-base`;default:return`${e} text-sm`}});return(t,d)=>(s(),n(c(f.value),{"data-stream-markdown":p.value,class:o(m.value)},{default:l(()=>[r(e,a(u,{nodes:i.node.children,deep:i.deep+1}),null,16,[`nodes`,`deep`])]),_:1},8,[`data-stream-markdown`,`class`]))}});export{u as default};
1
+ import{t as e}from"./node-list-DRKVSQ6H.js";import{computed as t,createBlock as n,createVNode as r,defineComponent as i,mergeProps as a,normalizeClass as o,openBlock as s,resolveDynamicComponent as c,withCtx as l}from"vue";var u=i({__name:`heading`,props:{node:{type:Object,required:!0},markdownParser:{type:Object,required:!0},nodeRenderers:{type:Object,required:!0},blockIndex:{type:Number,required:!1},parentNode:{type:Object,required:!1},prevNode:{type:Object,required:!1},nextNode:{type:Object,required:!1},nodeKey:{type:String,required:!0},deep:{type:Number,required:!0}},setup(i){let u=i,d=t(()=>u.node.depth),f=t(()=>`h${d.value}`),p=t(()=>`heading-${d.value}`),m=t(()=>{let e=`mt-6 mb-2 font-semibold`;switch(d.value){case 1:return`${e} text-3xl`;case 2:return`${e} text-2xl`;case 3:return`${e} text-xl`;case 4:return`${e} text-lg`;case 5:return`${e} text-base`;default:return`${e} text-sm`}});return(t,d)=>(s(),n(c(f.value),{"data-stream-markdown":p.value,class:o(m.value)},{default:l(()=>[r(e,a(u,{nodes:i.node.children,deep:i.deep+1}),null,16,[`nodes`,`deep`])]),_:1},8,[`data-stream-markdown`,`class`]))}});export{u as default};
@@ -1 +1 @@
1
- import{y as e}from"./composables-CA0XaIPq.js";import{computed as t,createElementBlock as n,createVNode as r,defineComponent as i,normalizeClass as a,normalizeStyle as o,openBlock as s,unref as c}from"vue";var l=i({__name:`icon`,props:{icon:{type:null,required:!0},width:{type:Number,required:!1,default:14},height:{type:Number,required:!1,default:14},class:{type:[String,Array,Object],required:!1},style:{type:Object,required:!1}},setup(i){let l=i,{icons:u}=e(),d=t(()=>typeof l.icon==`string`?u.value[l.icon]:l.icon),f=t(()=>({width:`${l.width}px`,height:`${l.height}px`}));return(e,t)=>(s(),n(`div`,{"data-stream-markdown":`icon`,style:o(f.value)},[r(c(d),{width:i.width,height:i.height,class:a(l.class),style:o(i.style)},null,8,[`width`,`height`,`class`,`style`])],4))}});export{l as default};
1
+ import{y as e}from"./composables-Dt9tB3RV.js";import{computed as t,createElementBlock as n,createVNode as r,defineComponent as i,normalizeClass as a,normalizeStyle as o,openBlock as s,unref as c}from"vue";var l=i({__name:`icon`,props:{icon:{type:null,required:!0},width:{type:Number,required:!1,default:14},height:{type:Number,required:!1,default:14},class:{type:[String,Array,Object],required:!1},style:{type:Object,required:!1}},setup(i){let l=i,{icons:u}=e(),d=t(()=>typeof l.icon==`string`?u.value[l.icon]:l.icon),f=t(()=>({width:`${l.width}px`,height:`${l.height}px`}));return(e,t)=>(s(),n(`div`,{"data-stream-markdown":`icon`,style:o(f.value)},[r(c(d),{width:i.width,height:i.height,class:a(l.class),style:o(i.style)},null,8,[`width`,`height`,`class`,`style`])],4))}});export{l as default};
@@ -0,0 +1 @@
1
+ import{a as e,d as t,v as n,y as r}from"./composables-Dt9tB3RV.js";import{M as i}from"./src-7d8hW45I.js";import{computed as a,createBlock as o,createCommentVNode as s,createElementBlock as c,createElementVNode as l,createTextVNode as u,defineComponent as d,normalizeStyle as f,openBlock as p,ref as m,resolveDynamicComponent as h,toDisplayString as g,unref as _,withCtx as v}from"vue";const y={"data-stream-markdown":`image-wrapper`,class:`text-center relative`},b={key:0,"data-stream-markdown":`image-caption`,class:`text-sm text-center italic`};var x=d({__name:`image`,props:{node:{type:Object,required:!0},markdownParser:{type:Object,required:!0},nodeRenderers:{type:Object,required:!0},blockIndex:{type:Number,required:!1},parentNode:{type:Object,required:!1},prevNode:{type:Object,required:!1},nextNode:{type:Object,required:!1},nodeKey:{type:String,required:!0},deep:{type:Number,required:!0}},setup(d){let x=d,{beforeDownload:S,controls:C,hardenOptions:w,imageOptions:T,uiComponents:E}=r(),{t:D}=t(),{isControlEnabled:O}=n({controls:C}),k=m(),A=m(!1),j=m(!1),M=m(!1),N=a(()=>x.node.loading||!x.node.url),P=a(()=>O(`image.download`)),F=a(()=>O(`image.preview`)),I=a(()=>T.value?.fallback??``),L=a(()=>M.value&&I.value?I.value:x.node.url),{transformedUrl:R,isHardenUrl:z,transformHardenUrl:B}=e({url:L,hardenOptions:w,loading:N,isImage:!0}),V=a(()=>String(x.node.alt??x.node.title??``)),H=a(()=>String(x.node.title??x.node.alt??``)),U=a(()=>(typeof T.value?.caption==`boolean`?T.value.caption:!0)&&!N.value&&!!H.value),W=a(()=>z.value?w.value?.errorComponent??E.value.ErrorComponent:T.value?.errorComponent??E.value.ErrorComponent);function G(){j.value=!0}function K(){if(I.value&&!M.value){M.value=!0;return}A.value=!0}async function q(e=L.value){e&&await S({type:`image`,url:e})&&i(e,V.value)}function J(){k.value&&(k.value.style.opacity=1)}function Y(){k.value&&(k.value.style.opacity=0)}return(e,t)=>(p(),c(`figure`,{"data-stream-markdown":`image-figure`,class:`inline-block`,style:f({width:N.value||!j.value?`100%`:`auto`}),onMouseenter:J,onMouseleave:Y},[l(`div`,y,[_(z)?s(`v-if`,!0):(p(),c(`div`,{key:0,ref_key:`maskRef`,ref:k,"data-stream-markdown":`image-mask`,class:`rounded-lg bg-[rgb(0_0_0_/_0.1)] opacity-0 pointer-events-none transition-opacity duration-[var(--default-transition-duration)] ease inset-0 absolute`},[!N.value&&P.value?(p(),o(h(_(E).Button),{key:0,"data-stream-markdown":`image-download-button`,class:`pointer-events-auto bottom-2 right-2 absolute`,icon:`download`,name:_(D)(`button.download`),"icon-class":`test`,"icon-width":16,"icon-height":16,"button-style":{backgroundColor:`color-mix(in oklab, var(--background) 90%, transparent)`},onClick:t[0]||=()=>q(L.value)},null,8,[`name`])):s(`v-if`,!0)],512)),(N.value||!j.value)&&!_(z)?(p(),o(h(_(E).Spin),{key:1})):s(`v-if`,!0),!N.value&&!_(z)&&typeof _(R)==`string`?(p(),o(h(_(E).Image),{key:_(R),src:_(R),alt:V.value,title:H.value,preview:!M.value&&F.value,controls:_(C),"transform-harden-url":_(B),"node-props":x,"handle-download":q,onLoad:G,onError:K},null,40,[`src`,`alt`,`title`,`preview`,`controls`,`transform-harden-url`])):_(z)||A.value?(p(),o(h(W.value),{key:3,variant:_(z)?`harden-image`:`image`},{default:v(()=>[u(g(H.value),1)]),_:1},8,[`variant`])):s(`v-if`,!0)]),U.value&&H.value?(p(),c(`figcaption`,b,g(H.value),1)):s(`v-if`,!0)],36))}});export{x as default};
@@ -1,4 +1,4 @@
1
- import{d as e,s as t,v as n,y as r}from"./composables-CA0XaIPq.js";import{t as i}from"./dist-NemZ_xNm.js";import{Fragment as a,computed as o,createBlock as s,createElementBlock as c,createElementVNode as l,defineComponent as u,mergeProps as ee,normalizeStyle as d,openBlock as f,ref as p,renderList as m,resolveDynamicComponent as h,toRefs as g,unref as _,watch as v,withCtx as y}from"vue";import{useCycleList as b}from"@vueuse/core";const x=[`src`,`alt`,`title`],S=[`src`,`alt`,`title`];var C=u({__name:`image`,props:{src:{type:String,required:!1},alt:{type:String,required:!1},title:{type:String,required:!1},preview:{type:Boolean,required:!1,default:!0},margin:{type:Number,required:!1,default:16},controls:{type:[Boolean,Object],required:!1,default:!0},transformHardenUrl:{type:Function,required:!1},nodeProps:{type:Object,required:!0},handleDownload:{type:Function,required:!1}},emits:[`load`,`error`],setup(u,{emit:C}){let w=u,T=C,{icons:E,parsedNodes:te,uiComponents:D}=r(),{margin:O,controls:ne}=g(w),{t:k}=e(),{isControlEnabled:A,getControlValue:j,resolveControls:M}=n({controls:ne}),N=o(()=>i(te.value,e=>e.type===`image`&&!e.loading)),P=o(()=>[...new Set(N.value.map(e=>e.url))].filter(e=>w.transformHardenUrl?w.transformHardenUrl(e):e).filter(Boolean)),{state:F,prev:I,next:L}=b(P,{initialValue:w.src,fallbackIndex:0}),R=o(()=>A(`image.download`)&&!!w.handleDownload),z=o(()=>A(`image.carousel`)),B=o(()=>A(`image.flip`)),V=o(()=>A(`image.rotate`)),H=o(()=>{let e=j(`image.controlPosition`);return typeof e==`boolean`?`bottom-center`:e||`bottom-center`}),U=p(!1),W=p(!1),G=p(1),K=p(1),q=p(0),{isAnimating:J,elementRef:Y,zoomElementRef:X,elementStyle:Z,zoomIn:re,zoomOut:ie}=t({margin:O,open:()=>W.value=!0,close:()=>W.value=!1}),ae=o(()=>({transform:`
1
+ import{d as e,s as t,v as n,y as r}from"./composables-Dt9tB3RV.js";import{t as i}from"./dist-NemZ_xNm.js";import{Fragment as a,computed as o,createBlock as s,createElementBlock as c,createElementVNode as l,defineComponent as u,mergeProps as ee,normalizeStyle as d,openBlock as f,ref as p,renderList as m,resolveDynamicComponent as h,toRefs as g,unref as _,watch as v,withCtx as y}from"vue";import{useCycleList as b}from"@vueuse/core";const x=[`src`,`alt`,`title`],S=[`src`,`alt`,`title`];var C=u({__name:`image`,props:{src:{type:String,required:!1},alt:{type:String,required:!1},title:{type:String,required:!1},preview:{type:Boolean,required:!1,default:!0},margin:{type:Number,required:!1,default:16},controls:{type:[Boolean,Object],required:!1,default:!0},transformHardenUrl:{type:Function,required:!1},nodeProps:{type:Object,required:!0},handleDownload:{type:Function,required:!1}},emits:[`load`,`error`],setup(u,{emit:C}){let w=u,T=C,{icons:E,parsedNodes:te,uiComponents:D}=r(),{margin:O,controls:ne}=g(w),{t:k}=e(),{isControlEnabled:A,getControlValue:j,resolveControls:M}=n({controls:ne}),N=o(()=>i(te.value,e=>e.type===`image`&&!e.loading)),P=o(()=>[...new Set(N.value.map(e=>e.url))].filter(e=>w.transformHardenUrl?w.transformHardenUrl(e):e).filter(Boolean)),{state:F,prev:I,next:L}=b(P,{initialValue:w.src,fallbackIndex:0}),R=o(()=>A(`image.download`)&&!!w.handleDownload),z=o(()=>A(`image.carousel`)),B=o(()=>A(`image.flip`)),V=o(()=>A(`image.rotate`)),H=o(()=>{let e=j(`image.controlPosition`);return typeof e==`boolean`?`bottom-center`:e||`bottom-center`}),U=p(!1),W=p(!1),G=p(1),K=p(1),q=p(0),{isAnimating:J,elementRef:Y,zoomElementRef:X,elementStyle:Z,zoomIn:re,zoomOut:ie}=t({margin:O,open:()=>W.value=!0,close:()=>W.value=!1}),ae=o(()=>({transform:`
2
2
  scaleX(${G.value})
3
3
  scaleY(${K.value})
4
4
  rotate(${q.value}deg)
package/dist/index.css CHANGED
@@ -1 +1 @@
1
- .stream-markdown{--default-transition-duration:.15s;--typewriter-transition-duration:.9s;color:var(--foreground);line-height:1.5}.stream-markdown *{box-sizing:border-box;border:0 solid;margin:0;padding:0}.stream-markdown.dark .shiki{color:var(--shiki-dark)!important;background-color:var(--shiki-dark-bg)!important}.stream-markdown.dark .shiki span{color:var(--shiki-dark)!important;background-color:var(--shiki-dark-bg)!important}.stream-markdown>:first-child{margin-top:0!important}.stream-markdown>:last-child{margin-bottom:0!important}.stream-markdown ::-webkit-scrollbar{width:6px;height:6px}.stream-markdown ::-webkit-scrollbar-track{background:0 0}.stream-markdown ::-webkit-scrollbar-thumb{background:var(--border);-webkit-border-radius:3px;border-radius:3px}.stream-markdown ::-webkit-scrollbar-thumb:hover{background:var(--border);opacity:.5}.stream-markdown-typewriter-enter-from{opacity:0}.stream-markdown-typewriter-enter-active{transition:opacity var(--typewriter-transition-duration) ease-out;will-change:opacity}.stream-markdown-typewriter-enter-to{opacity:1}.stream-markdown-code-switch-enter-active,.stream-markdown-code-switch-leave-active{transition:opacity var(--default-transition-duration) ease}.stream-markdown-code-switch-enter-from,.stream-markdown-code-switch-leave-to{opacity:0}.stream-markdown-code-switch-enter-to,.stream-markdown-code-switch-leave-from{opacity:1}.stream-markdown-modal-enter-from,.stream-markdown-modal-leave-to{opacity:0;transform:scale(.95)}.stream-markdown-modal-enter-active,.stream-markdown-modal-leave-active{transition:opacity var(--default-transition-duration) ease, transform var(--default-transition-duration) ease}@keyframes stream-markdown-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.stream-markdown{--spacing:.25rem;--radius-xl:.75rem;--fontWeight-semibold:600;--radius-md:.375rem;--default-transition-timingFunction:cubic-bezier(.4, 0, .2, 1);--default-transition-duration:.15s;--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--leading-none:1;--ease-DEFAULT:cubic-bezier(.4, 0, .2, 1);--radius-lg:.5rem;--radius-DEFAULT:.25rem;--text-lg-fontSize:1.125rem;--text-lg-lineHeight:1.75rem;--text-sm-fontSize:.875rem;--text-sm-lineHeight:1.25rem;--text-xs-fontSize:.75rem;--text-xs-lineHeight:1rem;--text-3xl-fontSize:1.875rem;--text-3xl-lineHeight:2.25rem;--text-2xl-fontSize:1.5rem;--text-2xl-lineHeight:2rem;--text-xl-fontSize:1.25rem;--text-xl-lineHeight:1.75rem;--text-base-fontSize:1rem;--text-base-lineHeight:1.5rem}@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*{--stream-markdown-bg-opacity:100%;--stream-markdown-leading:initial;--stream-markdown-ease:initial;--stream-markdown-border-opacity:100%;--stream-markdown-text-opacity:100%;--stream-markdown-border-left-opacity:100%;--stream-markdown-translate-x:initial;--stream-markdown-translate-y:initial;--stream-markdown-translate-z:initial;--stream-markdown-content:""}:before{--stream-markdown-bg-opacity:100%;--stream-markdown-leading:initial;--stream-markdown-ease:initial;--stream-markdown-border-opacity:100%;--stream-markdown-text-opacity:100%;--stream-markdown-border-left-opacity:100%;--stream-markdown-translate-x:initial;--stream-markdown-translate-y:initial;--stream-markdown-translate-z:initial;--stream-markdown-content:""}:after{--stream-markdown-bg-opacity:100%;--stream-markdown-leading:initial;--stream-markdown-ease:initial;--stream-markdown-border-opacity:100%;--stream-markdown-text-opacity:100%;--stream-markdown-border-left-opacity:100%;--stream-markdown-translate-x:initial;--stream-markdown-translate-y:initial;--stream-markdown-translate-z:initial;--stream-markdown-content:""}::backdrop{--stream-markdown-bg-opacity:100%;--stream-markdown-leading:initial;--stream-markdown-ease:initial;--stream-markdown-border-opacity:100%;--stream-markdown-text-opacity:100%;--stream-markdown-border-left-opacity:100%;--stream-markdown-translate-x:initial;--stream-markdown-translate-y:initial;--stream-markdown-translate-z:initial;--stream-markdown-content:""}}@property --stream-markdown-text-opacity{syntax:"<percentage>";inherits:false;initial-value:100%}@property --stream-markdown-leading{syntax:"*";inherits:false}@property --stream-markdown-border-opacity{syntax:"<percentage>";inherits:false;initial-value:100%}@property --stream-markdown-border-left-opacity{syntax:"<percentage>";inherits:false;initial-value:100%}@property --stream-markdown-bg-opacity{syntax:"<percentage>";inherits:false;initial-value:100%}@property --stream-markdown-content{syntax:"*";inherits:false;initial-value:""}@property --stream-markdown-inset-ring-color{syntax:"*";inherits:false}@property --stream-markdown-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 transparent}@property --stream-markdown-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 transparent}@property --stream-markdown-inset-shadow-color{syntax:"*";inherits:false}@property --stream-markdown-ring-color{syntax:"*";inherits:false}@property --stream-markdown-ring-inset{syntax:"*";inherits:false}@property --stream-markdown-ring-offset-color{syntax:"*";inherits:false}@property --stream-markdown-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 transparent}@property --stream-markdown-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --stream-markdown-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 transparent}@property --stream-markdown-shadow{syntax:"*";inherits:false;initial-value:0 0 transparent}@property --stream-markdown-shadow-color{syntax:"*";inherits:false}@property --stream-markdown-translate-x{syntax:"*";inherits:false;initial-value:0}@property --stream-markdown-translate-y{syntax:"*";inherits:false;initial-value:0}@property --stream-markdown-translate-z{syntax:"*";inherits:false;initial-value:0}@property --stream-markdown-ease{syntax:"*";inherits:false}@property --stream-markdown-backdrop-blur{syntax:"*";inherits:false}@property --stream-markdown-backdrop-brightness{syntax:"*";inherits:false}@property --stream-markdown-backdrop-contrast{syntax:"*";inherits:false}@property --stream-markdown-backdrop-grayscale{syntax:"*";inherits:false}@property --stream-markdown-backdrop-hue-rotate{syntax:"*";inherits:false}@property --stream-markdown-backdrop-invert{syntax:"*";inherits:false}@property --stream-markdown-backdrop-opacity{syntax:"*";inherits:false}@property --stream-markdown-backdrop-saturate{syntax:"*";inherits:false}@property --stream-markdown-backdrop-sepia{syntax:"*";inherits:false}.stream-markdown .container{width:100%}.stream-markdown .link-container:link{width:100%}@media (min-width:40rem){.stream-markdown .container{max-width:40rem}.stream-markdown .link-container:link{max-width:40rem}}@media (min-width:48rem){.stream-markdown .container{max-width:48rem}.stream-markdown .link-container:link{max-width:48rem}}@media (min-width:64rem){.stream-markdown .container{max-width:64rem}.stream-markdown .link-container:link{max-width:64rem}}@media (min-width:80rem){.stream-markdown .container{max-width:80rem}.stream-markdown .link-container:link{max-width:80rem}}@media (min-width:96rem){.stream-markdown .container{max-width:96rem}.stream-markdown .link-container:link{max-width:96rem}}.stream-markdown .text-sm{font-size:var(--text-sm-fontSize);line-height:var(--stream-markdown-leading,var(--text-sm-lineHeight))}.stream-markdown :is(.\[\&_td\]\:text-sm td){font-size:var(--text-sm-fontSize);line-height:var(--stream-markdown-leading,var(--text-sm-lineHeight))}.stream-markdown :is(.\[\&_th\]\:text-sm th){font-size:var(--text-sm-fontSize);line-height:var(--stream-markdown-leading,var(--text-sm-lineHeight))}.stream-markdown :is(.\[\&\>button\]\:\!text-sm>button){font-size:var(--text-sm-fontSize)!important;line-height:var(--stream-markdown-leading,var(--text-sm-lineHeight))!important}.stream-markdown .text-2xl{font-size:var(--text-2xl-fontSize);line-height:var(--stream-markdown-leading,var(--text-2xl-lineHeight))}.stream-markdown .text-3xl{font-size:var(--text-3xl-fontSize);line-height:var(--stream-markdown-leading,var(--text-3xl-lineHeight))}.stream-markdown .text-base{font-size:var(--text-base-fontSize);line-height:var(--stream-markdown-leading,var(--text-base-lineHeight))}.stream-markdown .text-lg{font-size:var(--text-lg-fontSize);line-height:var(--stream-markdown-leading,var(--text-lg-lineHeight))}.stream-markdown .text-xl{font-size:var(--text-xl-fontSize);line-height:var(--stream-markdown-leading,var(--text-xl-lineHeight))}.stream-markdown .text-xs{font-size:var(--text-xs-fontSize);line-height:var(--stream-markdown-leading,var(--text-xs-lineHeight))}.stream-markdown .before\:text-\[13px\]:before{font-size:13px}.stream-markdown :is(.\[\&\>button\:last-child\]\:\!text-primary-foreground>button:last-child){color:color-mix(in srgb, var(--primary-foreground) var(--stream-markdown-text-opacity), transparent)!important}.stream-markdown :is(.\[\&\>button\]\:\!text-foreground>button){color:color-mix(in srgb, var(--foreground) var(--stream-markdown-text-opacity), transparent)!important}.stream-markdown .text-muted-foreground{color:color-mix(in srgb, var(--muted-foreground) var(--stream-markdown-text-opacity), transparent)}.stream-markdown .text-popover-foreground{color:color-mix(in srgb, var(--popover-foreground) var(--stream-markdown-text-opacity), transparent)}.stream-markdown .text-primary{color:color-mix(in srgb, var(--primary) var(--stream-markdown-text-opacity), transparent)}.stream-markdown .hover\:text-foreground:hover{color:color-mix(in srgb, var(--foreground) var(--stream-markdown-text-opacity), transparent)}.stream-markdown .before\:text-muted-foreground\/50:before{color:color-mix(in srgb, var(--muted-foreground) 50%, transparent)}.stream-markdown .leading-6{--stream-markdown-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6)}.stream-markdown .leading-none{--stream-markdown-leading:var(--leading-none);line-height:var(--leading-none)}.stream-markdown .font-mono{font-family:var(--font-mono)}.stream-markdown .font-semibold{--stream-markdown-font-weight:var(--fontWeight-semibold);font-weight:var(--fontWeight-semibold)}.stream-markdown .before\:font-mono:before{font-family:var(--font-mono)}.stream-markdown :is(.\[\&_p\]\:m-0 p){margin:calc(var(--spacing) * 0)}.stream-markdown .mx-0{margin-inline:calc(var(--spacing) * 0)}.stream-markdown .my-4{margin-block:calc(var(--spacing) * 4)}.stream-markdown .my-6{margin-block:calc(var(--spacing) * 6)}.stream-markdown :is(.\[\&_p\]\:mb-0 p){margin-bottom:calc(var(--spacing) * 0)}.stream-markdown .mb-2{margin-bottom:calc(var(--spacing) * 2)}.stream-markdown .ml-1{margin-left:calc(var(--spacing) * 1)}.stream-markdown .mr-1{margin-right:calc(var(--spacing) * 1)}.stream-markdown .mr-2{margin-right:calc(var(--spacing) * 2)}.stream-markdown .mt-6{margin-top:calc(var(--spacing) * 6)}.stream-markdown .before\:mr-4:before{margin-right:calc(var(--spacing) * 4)}.stream-markdown .p-0\.5{padding:calc(var(--spacing) * .5)}.stream-markdown .p-1{padding:calc(var(--spacing) * 1)}.stream-markdown .p-2{padding:calc(var(--spacing) * 2)}.stream-markdown .p-3{padding:calc(var(--spacing) * 3)}.stream-markdown .p-4{padding:calc(var(--spacing) * 4)}.stream-markdown .p-6{padding:calc(var(--spacing) * 6)}.stream-markdown .px-4,.stream-markdown .px{padding-inline:calc(var(--spacing) * 4)}.stream-markdown :is(.\[\&_td\]\:px-4 td){padding-inline:calc(var(--spacing) * 4)}.stream-markdown :is(.\[\&_th\]\:px-4 th){padding-inline:calc(var(--spacing) * 4)}.stream-markdown .py-2{padding-block:calc(var(--spacing) * 2)}.stream-markdown :is(.\[\&_td\]\:py-2 td){padding-block:calc(var(--spacing) * 2)}.stream-markdown :is(.\[\&_th\]\:py-2 th){padding-block:calc(var(--spacing) * 2)}.stream-markdown .px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.stream-markdown .px-2{padding-inline:calc(var(--spacing) * 2)}.stream-markdown .py-0\.5{padding-block:calc(var(--spacing) * .5)}.stream-markdown .py-1{padding-block:calc(var(--spacing) * 1)}.stream-markdown .py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.stream-markdown .pl-1{padding-left:calc(var(--spacing) * 1)}.stream-markdown .pl-4{padding-left:calc(var(--spacing) * 4)}.stream-markdown .pl-5{padding-left:calc(var(--spacing) * 5)}.stream-markdown .text-center{text-align:center}.stream-markdown .before\:text-right:before{text-align:right}.stream-markdown .align-middle{vertical-align:middle}.stream-markdown .align-text-bottom{vertical-align:text-bottom}.stream-markdown .list-decimal{list-style-type:decimal}.stream-markdown .list-disc{list-style-type:disc}.stream-markdown :is(.\[\&\>button\]\:\!border>button){border-width:1px!important}.stream-markdown .border-2{border-width:2px}.stream-markdown .border{border-width:1px}.stream-markdown .border-y{border-top-width:1px;border-bottom-width:1px}.stream-markdown .border-b{border-bottom-width:1px}.stream-markdown :is(.\[\&_tr\]\:border-b tr){border-bottom-width:1px}.stream-markdown .border-l-4{border-left-width:4px}.stream-markdown .border-t{border-top-width:1px}.stream-markdown :is(.data-\[collapsed\=true\]\:\[\&_\.code-block-header\]\:border-b-0 .code-block-header[data-collapsed=true]){border-bottom-width:0}.stream-markdown .border-border{border-color:color-mix(in srgb, var(--border) var(--stream-markdown-border-opacity), transparent)}.stream-markdown :is(.\[\&_tr\]\:border-border tr){border-color:color-mix(in srgb, var(--border) var(--stream-markdown-border-opacity), transparent)}.stream-markdown :is(.\[\&\>button\]\:\!border-border>button){border-color:color-mix(in srgb, var(--border) var(--stream-markdown-border-opacity), transparent)!important}.stream-markdown .border-foreground{border-color:color-mix(in srgb, var(--foreground) var(--stream-markdown-border-opacity), transparent)}.stream-markdown .border-l-muted-foreground\/30{border-left-color:color-mix(in srgb, var(--muted-foreground) 30%, transparent)}.stream-markdown .border-t-transparent{border-top-color:transparent}.stream-markdown :is(.\[\&\>button\]\:\!rounded-lg>button){-webkit-border-radius:var(--radius-lg)!important;border-radius:var(--radius-lg)!important}.stream-markdown .rounded-full{-webkit-border-radius:3.40282e38px;border-radius:3.40282e38px}.stream-markdown .rounded-lg{-webkit-border-radius:var(--radius-lg);border-radius:var(--radius-lg)}.stream-markdown .rounded-md{-webkit-border-radius:var(--radius-md);border-radius:var(--radius-md)}.stream-markdown .rounded-xl{-webkit-border-radius:var(--radius-xl);border-radius:var(--radius-xl)}.stream-markdown .rounded{-webkit-border-radius:var(--radius-DEFAULT);border-radius:var(--radius-DEFAULT)}.stream-markdown :is(.\[\&\>button\]\:\!border-solid>button){--stream-markdown-border-style:solid!important;border-style:solid!important}.stream-markdown .border-none{--stream-markdown-border-style:none;border-style:none}.stream-markdown :is(.\[\&\>button\:last-child\:hover\]\:\!bg-primary\/90>button:last-child:hover){background-color:color-mix(in srgb, var(--primary) 90%, transparent)!important}.stream-markdown :is(.\[\&\>button\:last-child\]\:\!bg-primary>button:last-child){background-color:color-mix(in srgb, var(--primary) var(--stream-markdown-bg-opacity), transparent)!important}.stream-markdown :is(.\[\&\>svg\]\:\!bg-transparent>svg){background-color:transparent!important}.stream-markdown .bg-\[rgb\(0_0_0_\/_0\.1\)\]{background-color:color-mix(in oklab, rgba(0,0,0,.1) var(--stream-markdown-bg-opacity), transparent)}.stream-markdown .bg-\[rgb\(0_0_0_\/_0\.5\)\]{background-color:color-mix(in oklab, rgba(0,0,0,.5) var(--stream-markdown-bg-opacity), transparent)}.stream-markdown .bg-background{background-color:color-mix(in srgb, var(--background) var(--stream-markdown-bg-opacity), transparent)}.stream-markdown .bg-muted{background-color:color-mix(in srgb, var(--muted) var(--stream-markdown-bg-opacity), transparent)}.stream-markdown .bg-muted\/40{background-color:color-mix(in srgb, var(--muted) 40%, transparent)}.stream-markdown .bg-muted\/80{background-color:color-mix(in srgb, var(--muted) 80%, transparent)}.stream-markdown .bg-popover{background-color:color-mix(in srgb, var(--popover) var(--stream-markdown-bg-opacity), transparent)}.stream-markdown .bg-transparent{background-color:transparent}.stream-markdown .hover\:bg-accent:hover{background-color:color-mix(in srgb, var(--accent) var(--stream-markdown-bg-opacity), transparent)}.stream-markdown .opacity-0{opacity:0}.stream-markdown .line-through{text-decoration-line:line-through}.stream-markdown .underline{text-decoration-line:underline}.stream-markdown .data-\[stream-markdown-loading\=true\]\:no-underline[data-stream-markdown-loading=true]{text-decoration:none}.stream-markdown .flex{display:flex}.stream-markdown :is(.\[\&\>\*\:last-child\]\:flex>:last-child){display:flex}.stream-markdown .inline-flex{display:inline-flex}.stream-markdown .flex-1{flex:1}.stream-markdown :is(.\[\&_span\]\:flex-1 span){flex:1}.stream-markdown :is(.\[\&\>\*\:first-child\]\:flex-1>:first-child){flex:1}.stream-markdown :is(.\[\&\>\*\:last-child\]\:flex-1>:last-child){flex:1}.stream-markdown .shrink-0{flex-shrink:0}.stream-markdown .basis-0{flex-basis:calc(var(--spacing) * 0)}.stream-markdown .flex-col{flex-direction:column}.stream-markdown :is(.\[\&\>button\]\:\!gap-2>button){gap:calc(var(--spacing) * 2)!important}.stream-markdown .gap-1{gap:calc(var(--spacing) * 1)}.stream-markdown .gap-2{gap:calc(var(--spacing) * 2)}.stream-markdown .gap-4{gap:calc(var(--spacing) * 4)}.stream-markdown .size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.stream-markdown .size-full{width:100%;height:100%}.stream-markdown :is(.\[\&_span\]\:min-w-0 span){min-width:calc(var(--spacing) * 0)}.stream-markdown :is(.\[\&\>button\]\:\!w-full>button){width:100%!important}.stream-markdown .h-auto{height:auto}.stream-markdown .h-full{height:100%}.stream-markdown .max-w-\[28rem\]{max-width:28rem}.stream-markdown .max-w-full{max-width:100%}.stream-markdown .min-h-4{min-height:calc(var(--spacing) * 4)}.stream-markdown .w-full{width:100%}.stream-markdown .before\:w-4:before{width:calc(var(--spacing) * 4)}.stream-markdown .inline{display:inline}.stream-markdown :is(.\[\&_p\]\:inline p){display:inline}.stream-markdown .block{display:block}.stream-markdown .inline-block{display:inline-block}.stream-markdown :is(.\[\&_p\]\:inline-block p){display:inline-block}.stream-markdown .before\:inline-block:before{display:inline-block}.stream-markdown .list-item{display:list-item}.stream-markdown .visible{visibility:visible}.stream-markdown .collapse{visibility:collapse}.stream-markdown .data-\[stream-markdown-loading\=true\]\:cursor-default[data-stream-markdown-loading=true]{cursor:default}.stream-markdown .cursor-pointer{cursor:pointer}.stream-markdown .pointer-events-auto{pointer-events:auto}.stream-markdown .pointer-events-none{pointer-events:none}.stream-markdown .data-\[stream-markdown-loading\=true\]\:pointer-events-none[data-stream-markdown-loading=true]{pointer-events:none}.stream-markdown .select-none{user-select:none}.stream-markdown .before\:select-none:before{user-select:none}.stream-markdown :is(.\[\&_th\]\:whitespace-nowrap th){white-space:nowrap}.stream-markdown .whitespace-normal{white-space:normal}.stream-markdown .whitespace-pre-wrap{white-space:pre-wrap}.stream-markdown .before\:content-\[counter\(line\)\]:before{--stream-markdown-content:counter(line);content:var(--stream-markdown-content)}.stream-markdown .break-words{overflow-wrap:break-word}.stream-markdown :is(.\[\&_span\]\:break-words span){overflow-wrap:break-word}.stream-markdown .lowercase{text-transform:lowercase}.stream-markdown .italic{font-style:italic}.stream-markdown .shadow-\[0_20px_25px_-5px_rgb\(0_0_0_\/_0\.1\)\,0_8px_10px_-6px_rgb\(0_0_0_\/_0\.1\)\]{--stream-markdown-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);box-shadow:var(--stream-markdown-inset-shadow), var(--stream-markdown-inset-ring-shadow), var(--stream-markdown-ring-offset-shadow), var(--stream-markdown-ring-shadow), var(--stream-markdown-shadow)}.stream-markdown .-translate-x-1\/2{--stream-markdown-translate-x:-50%;translate:var(--stream-markdown-translate-x) var(--stream-markdown-translate-y)}.stream-markdown :is(.\[\&\>\*\:nth-child\(2\)\]\:-translate-x-1\/2>:nth-child(2)){--stream-markdown-translate-x:-50%;translate:var(--stream-markdown-translate-x) var(--stream-markdown-translate-y)}.stream-markdown .-translate-y-1\/2{--stream-markdown-translate-y:-50%;translate:var(--stream-markdown-translate-x) var(--stream-markdown-translate-y)}.stream-markdown .transform{transform:var(--stream-markdown-rotate-x) var(--stream-markdown-rotate-y) var(--stream-markdown-rotate-z) var(--stream-markdown-skew-x) var(--stream-markdown-skew-y)}.stream-markdown .transition-\[height\]{transition-property:height;transition-timing-function:var(--stream-markdown-ease,var(--default-transition-timingFunction));transition-duration:var(--stream-markdown-duration,var(--default-transition-duration))}.stream-markdown .transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,--stream-markdown-gradient-from,--stream-markdown-gradient-via,--stream-markdown-gradient-to;transition-timing-function:var(--stream-markdown-ease,var(--default-transition-timingFunction));transition-duration:var(--stream-markdown-duration,var(--default-transition-duration))}.stream-markdown .transition-opacity{transition-property:opacity;transition-timing-function:var(--stream-markdown-ease,var(--default-transition-timingFunction));transition-duration:var(--stream-markdown-duration,var(--default-transition-duration))}.stream-markdown .transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,--stream-markdown-gradient-from,--stream-markdown-gradient-via,--stream-markdown-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,backdrop-filter;transition-timing-function:var(--stream-markdown-ease,var(--default-transition-timingFunction));transition-duration:var(--stream-markdown-duration,var(--default-transition-duration))}.stream-markdown [transition=""]{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,--stream-markdown-gradient-from,--stream-markdown-gradient-via,--stream-markdown-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,backdrop-filter;transition-timing-function:var(--stream-markdown-ease,var(--default-transition-timingFunction));transition-duration:var(--stream-markdown-duration,var(--default-transition-duration))}.stream-markdown .duration-\[var\(--default-transition-duration\)\]{--stream-markdown-duration:var(--default-transition-duration);transition-duration:var(--default-transition-duration)}.stream-markdown .ease{--stream-markdown-ease:var(--ease-DEFAULT);transition-timing-function:var(--ease-DEFAULT)}.stream-markdown .\[counter-reset\:line\]{counter-reset:line}.stream-markdown .\[overflow-wrap\:anywhere\]{overflow-wrap:anywhere}.stream-markdown .before\:\[counter-increment\:line\]:before{counter-increment:line}.stream-markdown .items-center{align-items:center}.stream-markdown .inset-0{inset:calc(var(--spacing) * 0)}.stream-markdown .-right-3{right:calc(var(--spacing) * -3)}.stream-markdown .-top-3{top:calc(var(--spacing) * -3)}.stream-markdown .left-1\/2{left:50%}.stream-markdown :is(.\[\&\>\*\:nth-child\(2\)\]\:left-1\/2>:nth-child(2)){left:50%}.stream-markdown .bottom-2{bottom:calc(var(--spacing) * 2)}.stream-markdown .right-2{right:calc(var(--spacing) * 2)}.stream-markdown .top-0{top:calc(var(--spacing) * 0)}.stream-markdown .top-1\/2{top:50%}.stream-markdown .justify-end{justify-content:flex-end}.stream-markdown :is(.\[\&\>\*\:last-child\]\:justify-end>:last-child){justify-content:flex-end}.stream-markdown .justify-center{justify-content:center}.stream-markdown .justify-between{justify-content:space-between}.stream-markdown .absolute{position:absolute}.stream-markdown :is(.\[\&\>\*\:nth-child\(2\)\]\:absolute>:nth-child(2)){position:absolute}.stream-markdown .relative{position:relative}.stream-markdown .data-\[stream-markdown-loading\=true\]\:relative[data-stream-markdown-loading=true]{position:relative}.stream-markdown .fixed{position:fixed}.stream-markdown .sticky{position:sticky}.stream-markdown .z-\[1\]{z-index:1}.stream-markdown .z-\[10000\]{z-index:10000}.stream-markdown .z-\[5\]{z-index:5}.stream-markdown .overflow-auto{overflow:auto}.stream-markdown .overflow-clip{overflow:clip}.stream-markdown .overflow-hidden{overflow:hidden}.stream-markdown .overflow-x-auto{overflow-x:auto}.stream-markdown .animate-\[stream-markdown-spin_1s_linear_infinite\]{animation:1s linear infinite stream-markdown-spin}.stream-markdown .object-contain{object-fit:contain}.stream-markdown .backdrop-blur{--stream-markdown-backdrop-blur:blur(8px);backdrop-filter:var(--stream-markdown-backdrop-blur,) var(--stream-markdown-backdrop-brightness,) var(--stream-markdown-backdrop-contrast,) var(--stream-markdown-backdrop-grayscale,) var(--stream-markdown-backdrop-hue-rotate,) var(--stream-markdown-backdrop-invert,) var(--stream-markdown-backdrop-opacity,) var(--stream-markdown-backdrop-saturate,) var(--stream-markdown-backdrop-sepia,)}.stream-markdown .table{display:table}.stream-markdown .border-collapse{border-collapse:collapse}@media (max-width:calc(64rem - .1px)){.stream-markdown .max-lg\:px-3{padding-inline:calc(var(--spacing) * 3)}.stream-markdown .max-lg\:gap-0{gap:calc(var(--spacing) * 0)}}
1
+ .stream-markdown{--default-transition-duration:.15s;--stream-markdown-animation-duration:.9s;color:var(--foreground);line-height:1.5}.stream-markdown *{box-sizing:border-box;border:0 solid;margin:0;padding:0}.stream-markdown.dark .shiki{color:var(--shiki-dark)!important;background-color:var(--shiki-dark-bg)!important}.stream-markdown.dark .shiki span{color:var(--shiki-dark)!important;background-color:var(--shiki-dark-bg)!important}.stream-markdown>:first-child{margin-top:0!important}.stream-markdown>:last-child{margin-bottom:0!important}.stream-markdown ::-webkit-scrollbar{width:6px;height:6px}.stream-markdown ::-webkit-scrollbar-track{background:0 0}.stream-markdown ::-webkit-scrollbar-thumb{background:var(--border);-webkit-border-radius:3px;border-radius:3px}.stream-markdown ::-webkit-scrollbar-thumb:hover{background:var(--border);opacity:.5}.stream-markdown-fade-in-enter-from{opacity:0}.stream-markdown-fade-in-enter-active{transition:opacity var(--stream-markdown-animation-duration) ease-out;will-change:opacity}.stream-markdown-fade-in-enter-to{opacity:1}.stream-markdown-blur-in-enter-from{opacity:0;filter:blur(4px)}.stream-markdown-blur-in-enter-active{transition:opacity var(--stream-markdown-animation-duration) ease-out, filter var(--stream-markdown-animation-duration) ease-out;will-change:opacity, filter}.stream-markdown-blur-in-enter-to{opacity:1;filter:blur()}.stream-markdown-slide-up-enter-from{opacity:0;transform:translateY(4px)}.stream-markdown-slide-up-enter-active{transition:opacity var(--stream-markdown-animation-duration) ease-out, transform var(--stream-markdown-animation-duration) ease-out;will-change:opacity, transform}.stream-markdown-slide-up-enter-to{opacity:1;transform:translateY(0)}.stream-markdown-code-switch-enter-active,.stream-markdown-code-switch-leave-active{transition:opacity var(--default-transition-duration) ease}.stream-markdown-code-switch-enter-from,.stream-markdown-code-switch-leave-to{opacity:0}.stream-markdown-code-switch-enter-to,.stream-markdown-code-switch-leave-from{opacity:1}.stream-markdown-modal-enter-from,.stream-markdown-modal-leave-to{opacity:0;transform:scale(.95)}.stream-markdown-modal-enter-active,.stream-markdown-modal-leave-active{transition:opacity var(--default-transition-duration) ease, transform var(--default-transition-duration) ease}@keyframes stream-markdown-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.stream-markdown{--spacing:.25rem;--radius-xl:.75rem;--fontWeight-semibold:600;--radius-md:.375rem;--default-transition-timingFunction:cubic-bezier(.4, 0, .2, 1);--default-transition-duration:.15s;--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--leading-none:1;--ease-DEFAULT:cubic-bezier(.4, 0, .2, 1);--radius-lg:.5rem;--radius-DEFAULT:.25rem;--text-lg-fontSize:1.125rem;--text-lg-lineHeight:1.75rem;--text-sm-fontSize:.875rem;--text-sm-lineHeight:1.25rem;--text-xs-fontSize:.75rem;--text-xs-lineHeight:1rem;--text-3xl-fontSize:1.875rem;--text-3xl-lineHeight:2.25rem;--text-2xl-fontSize:1.5rem;--text-2xl-lineHeight:2rem;--text-xl-fontSize:1.25rem;--text-xl-lineHeight:1.75rem;--text-base-fontSize:1rem;--text-base-lineHeight:1.5rem}@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*{--stream-markdown-bg-opacity:100%;--stream-markdown-leading:initial;--stream-markdown-ease:initial;--stream-markdown-border-opacity:100%;--stream-markdown-text-opacity:100%;--stream-markdown-border-left-opacity:100%;--stream-markdown-translate-x:initial;--stream-markdown-translate-y:initial;--stream-markdown-translate-z:initial;--stream-markdown-content:""}:before{--stream-markdown-bg-opacity:100%;--stream-markdown-leading:initial;--stream-markdown-ease:initial;--stream-markdown-border-opacity:100%;--stream-markdown-text-opacity:100%;--stream-markdown-border-left-opacity:100%;--stream-markdown-translate-x:initial;--stream-markdown-translate-y:initial;--stream-markdown-translate-z:initial;--stream-markdown-content:""}:after{--stream-markdown-bg-opacity:100%;--stream-markdown-leading:initial;--stream-markdown-ease:initial;--stream-markdown-border-opacity:100%;--stream-markdown-text-opacity:100%;--stream-markdown-border-left-opacity:100%;--stream-markdown-translate-x:initial;--stream-markdown-translate-y:initial;--stream-markdown-translate-z:initial;--stream-markdown-content:""}::backdrop{--stream-markdown-bg-opacity:100%;--stream-markdown-leading:initial;--stream-markdown-ease:initial;--stream-markdown-border-opacity:100%;--stream-markdown-text-opacity:100%;--stream-markdown-border-left-opacity:100%;--stream-markdown-translate-x:initial;--stream-markdown-translate-y:initial;--stream-markdown-translate-z:initial;--stream-markdown-content:""}}@property --stream-markdown-text-opacity{syntax:"<percentage>";inherits:false;initial-value:100%}@property --stream-markdown-leading{syntax:"*";inherits:false}@property --stream-markdown-border-opacity{syntax:"<percentage>";inherits:false;initial-value:100%}@property --stream-markdown-border-left-opacity{syntax:"<percentage>";inherits:false;initial-value:100%}@property --stream-markdown-bg-opacity{syntax:"<percentage>";inherits:false;initial-value:100%}@property --stream-markdown-content{syntax:"*";inherits:false;initial-value:""}@property --stream-markdown-inset-ring-color{syntax:"*";inherits:false}@property --stream-markdown-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 transparent}@property --stream-markdown-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 transparent}@property --stream-markdown-inset-shadow-color{syntax:"*";inherits:false}@property --stream-markdown-ring-color{syntax:"*";inherits:false}@property --stream-markdown-ring-inset{syntax:"*";inherits:false}@property --stream-markdown-ring-offset-color{syntax:"*";inherits:false}@property --stream-markdown-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 transparent}@property --stream-markdown-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --stream-markdown-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 transparent}@property --stream-markdown-shadow{syntax:"*";inherits:false;initial-value:0 0 transparent}@property --stream-markdown-shadow-color{syntax:"*";inherits:false}@property --stream-markdown-translate-x{syntax:"*";inherits:false;initial-value:0}@property --stream-markdown-translate-y{syntax:"*";inherits:false;initial-value:0}@property --stream-markdown-translate-z{syntax:"*";inherits:false;initial-value:0}@property --stream-markdown-ease{syntax:"*";inherits:false}@property --stream-markdown-backdrop-blur{syntax:"*";inherits:false}@property --stream-markdown-backdrop-brightness{syntax:"*";inherits:false}@property --stream-markdown-backdrop-contrast{syntax:"*";inherits:false}@property --stream-markdown-backdrop-grayscale{syntax:"*";inherits:false}@property --stream-markdown-backdrop-hue-rotate{syntax:"*";inherits:false}@property --stream-markdown-backdrop-invert{syntax:"*";inherits:false}@property --stream-markdown-backdrop-opacity{syntax:"*";inherits:false}@property --stream-markdown-backdrop-saturate{syntax:"*";inherits:false}@property --stream-markdown-backdrop-sepia{syntax:"*";inherits:false}.stream-markdown .container{width:100%}.stream-markdown .link-container:link{width:100%}@media (min-width:40rem){.stream-markdown .container{max-width:40rem}.stream-markdown .link-container:link{max-width:40rem}}@media (min-width:48rem){.stream-markdown .container{max-width:48rem}.stream-markdown .link-container:link{max-width:48rem}}@media (min-width:64rem){.stream-markdown .container{max-width:64rem}.stream-markdown .link-container:link{max-width:64rem}}@media (min-width:80rem){.stream-markdown .container{max-width:80rem}.stream-markdown .link-container:link{max-width:80rem}}@media (min-width:96rem){.stream-markdown .container{max-width:96rem}.stream-markdown .link-container:link{max-width:96rem}}.stream-markdown .text-sm{font-size:var(--text-sm-fontSize);line-height:var(--stream-markdown-leading,var(--text-sm-lineHeight))}.stream-markdown :is(.\[\&_td\]\:text-sm td){font-size:var(--text-sm-fontSize);line-height:var(--stream-markdown-leading,var(--text-sm-lineHeight))}.stream-markdown :is(.\[\&_th\]\:text-sm th){font-size:var(--text-sm-fontSize);line-height:var(--stream-markdown-leading,var(--text-sm-lineHeight))}.stream-markdown :is(.\[\&\>button\]\:\!text-sm>button){font-size:var(--text-sm-fontSize)!important;line-height:var(--stream-markdown-leading,var(--text-sm-lineHeight))!important}.stream-markdown .text-2xl{font-size:var(--text-2xl-fontSize);line-height:var(--stream-markdown-leading,var(--text-2xl-lineHeight))}.stream-markdown .text-3xl{font-size:var(--text-3xl-fontSize);line-height:var(--stream-markdown-leading,var(--text-3xl-lineHeight))}.stream-markdown .text-base{font-size:var(--text-base-fontSize);line-height:var(--stream-markdown-leading,var(--text-base-lineHeight))}.stream-markdown .text-lg{font-size:var(--text-lg-fontSize);line-height:var(--stream-markdown-leading,var(--text-lg-lineHeight))}.stream-markdown .text-xl{font-size:var(--text-xl-fontSize);line-height:var(--stream-markdown-leading,var(--text-xl-lineHeight))}.stream-markdown .text-xs{font-size:var(--text-xs-fontSize);line-height:var(--stream-markdown-leading,var(--text-xs-lineHeight))}.stream-markdown .before\:text-\[13px\]:before{font-size:13px}.stream-markdown :is(.\[\&\>button\:last-child\]\:\!text-primary-foreground>button:last-child){color:color-mix(in srgb, var(--primary-foreground) var(--stream-markdown-text-opacity), transparent)!important}.stream-markdown :is(.\[\&\>button\]\:\!text-foreground>button){color:color-mix(in srgb, var(--foreground) var(--stream-markdown-text-opacity), transparent)!important}.stream-markdown .text-muted-foreground{color:color-mix(in srgb, var(--muted-foreground) var(--stream-markdown-text-opacity), transparent)}.stream-markdown .text-popover-foreground{color:color-mix(in srgb, var(--popover-foreground) var(--stream-markdown-text-opacity), transparent)}.stream-markdown .text-primary{color:color-mix(in srgb, var(--primary) var(--stream-markdown-text-opacity), transparent)}.stream-markdown .hover\:text-foreground:hover{color:color-mix(in srgb, var(--foreground) var(--stream-markdown-text-opacity), transparent)}.stream-markdown .before\:text-muted-foreground\/50:before{color:color-mix(in srgb, var(--muted-foreground) 50%, transparent)}.stream-markdown .leading-6{--stream-markdown-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6)}.stream-markdown .leading-none{--stream-markdown-leading:var(--leading-none);line-height:var(--leading-none)}.stream-markdown .font-mono{font-family:var(--font-mono)}.stream-markdown .font-semibold{--stream-markdown-font-weight:var(--fontWeight-semibold);font-weight:var(--fontWeight-semibold)}.stream-markdown .before\:font-mono:before{font-family:var(--font-mono)}.stream-markdown :is(.\[\&_p\]\:m-0 p){margin:calc(var(--spacing) * 0)}.stream-markdown .mx-0{margin-inline:calc(var(--spacing) * 0)}.stream-markdown .my-4{margin-block:calc(var(--spacing) * 4)}.stream-markdown .my-6{margin-block:calc(var(--spacing) * 6)}.stream-markdown :is(.\[\&_p\]\:mb-0 p){margin-bottom:calc(var(--spacing) * 0)}.stream-markdown .mb-2{margin-bottom:calc(var(--spacing) * 2)}.stream-markdown .ml-1{margin-left:calc(var(--spacing) * 1)}.stream-markdown .mr-1{margin-right:calc(var(--spacing) * 1)}.stream-markdown .mr-2{margin-right:calc(var(--spacing) * 2)}.stream-markdown .mt-6{margin-top:calc(var(--spacing) * 6)}.stream-markdown .before\:mr-4:before{margin-right:calc(var(--spacing) * 4)}.stream-markdown .p-0\.5{padding:calc(var(--spacing) * .5)}.stream-markdown .p-1{padding:calc(var(--spacing) * 1)}.stream-markdown .p-2{padding:calc(var(--spacing) * 2)}.stream-markdown .p-3{padding:calc(var(--spacing) * 3)}.stream-markdown .p-4{padding:calc(var(--spacing) * 4)}.stream-markdown .p-6{padding:calc(var(--spacing) * 6)}.stream-markdown .px-4,.stream-markdown .px{padding-inline:calc(var(--spacing) * 4)}.stream-markdown :is(.\[\&_td\]\:px-4 td){padding-inline:calc(var(--spacing) * 4)}.stream-markdown :is(.\[\&_th\]\:px-4 th){padding-inline:calc(var(--spacing) * 4)}.stream-markdown .py-2{padding-block:calc(var(--spacing) * 2)}.stream-markdown :is(.\[\&_td\]\:py-2 td){padding-block:calc(var(--spacing) * 2)}.stream-markdown :is(.\[\&_th\]\:py-2 th){padding-block:calc(var(--spacing) * 2)}.stream-markdown .px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.stream-markdown .px-2{padding-inline:calc(var(--spacing) * 2)}.stream-markdown .py-0\.5{padding-block:calc(var(--spacing) * .5)}.stream-markdown .py-1{padding-block:calc(var(--spacing) * 1)}.stream-markdown .py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.stream-markdown .pl-1{padding-left:calc(var(--spacing) * 1)}.stream-markdown .pl-4{padding-left:calc(var(--spacing) * 4)}.stream-markdown .pl-5{padding-left:calc(var(--spacing) * 5)}.stream-markdown .text-center{text-align:center}.stream-markdown .before\:text-right:before{text-align:right}.stream-markdown .align-middle{vertical-align:middle}.stream-markdown .align-text-bottom{vertical-align:text-bottom}.stream-markdown .list-decimal{list-style-type:decimal}.stream-markdown .list-disc{list-style-type:disc}.stream-markdown :is(.\[\&\>button\]\:\!border>button){border-width:1px!important}.stream-markdown .border-2{border-width:2px}.stream-markdown .border{border-width:1px}.stream-markdown .border-y{border-top-width:1px;border-bottom-width:1px}.stream-markdown .border-b{border-bottom-width:1px}.stream-markdown :is(.\[\&_tr\]\:border-b tr){border-bottom-width:1px}.stream-markdown .border-l-4{border-left-width:4px}.stream-markdown .border-t{border-top-width:1px}.stream-markdown :is(.data-\[collapsed\=true\]\:\[\&_\.code-block-header\]\:border-b-0 .code-block-header[data-collapsed=true]){border-bottom-width:0}.stream-markdown .border-border{border-color:color-mix(in srgb, var(--border) var(--stream-markdown-border-opacity), transparent)}.stream-markdown :is(.\[\&_tr\]\:border-border tr){border-color:color-mix(in srgb, var(--border) var(--stream-markdown-border-opacity), transparent)}.stream-markdown :is(.\[\&\>button\]\:\!border-border>button){border-color:color-mix(in srgb, var(--border) var(--stream-markdown-border-opacity), transparent)!important}.stream-markdown .border-foreground{border-color:color-mix(in srgb, var(--foreground) var(--stream-markdown-border-opacity), transparent)}.stream-markdown .border-l-muted-foreground\/30{border-left-color:color-mix(in srgb, var(--muted-foreground) 30%, transparent)}.stream-markdown .border-t-transparent{border-top-color:transparent}.stream-markdown :is(.\[\&\>button\]\:\!rounded-lg>button){-webkit-border-radius:var(--radius-lg)!important;border-radius:var(--radius-lg)!important}.stream-markdown .rounded-full{-webkit-border-radius:3.40282e38px;border-radius:3.40282e38px}.stream-markdown .rounded-lg{-webkit-border-radius:var(--radius-lg);border-radius:var(--radius-lg)}.stream-markdown .rounded-md{-webkit-border-radius:var(--radius-md);border-radius:var(--radius-md)}.stream-markdown .rounded-xl{-webkit-border-radius:var(--radius-xl);border-radius:var(--radius-xl)}.stream-markdown .rounded{-webkit-border-radius:var(--radius-DEFAULT);border-radius:var(--radius-DEFAULT)}.stream-markdown :is(.\[\&\>button\]\:\!border-solid>button){--stream-markdown-border-style:solid!important;border-style:solid!important}.stream-markdown .border-none{--stream-markdown-border-style:none;border-style:none}.stream-markdown :is(.\[\&\>button\:last-child\:hover\]\:\!bg-primary\/90>button:last-child:hover){background-color:color-mix(in srgb, var(--primary) 90%, transparent)!important}.stream-markdown :is(.\[\&\>button\:last-child\]\:\!bg-primary>button:last-child){background-color:color-mix(in srgb, var(--primary) var(--stream-markdown-bg-opacity), transparent)!important}.stream-markdown :is(.\[\&\>svg\]\:\!bg-transparent>svg){background-color:transparent!important}.stream-markdown .bg-\[rgb\(0_0_0_\/_0\.1\)\]{background-color:color-mix(in oklab, rgba(0,0,0,.1) var(--stream-markdown-bg-opacity), transparent)}.stream-markdown .bg-\[rgb\(0_0_0_\/_0\.5\)\]{background-color:color-mix(in oklab, rgba(0,0,0,.5) var(--stream-markdown-bg-opacity), transparent)}.stream-markdown .bg-background{background-color:color-mix(in srgb, var(--background) var(--stream-markdown-bg-opacity), transparent)}.stream-markdown .bg-muted{background-color:color-mix(in srgb, var(--muted) var(--stream-markdown-bg-opacity), transparent)}.stream-markdown .bg-muted\/20{background-color:color-mix(in srgb, var(--muted) 20%, transparent)}.stream-markdown .bg-muted\/40{background-color:color-mix(in srgb, var(--muted) 40%, transparent)}.stream-markdown .bg-muted\/80{background-color:color-mix(in srgb, var(--muted) 80%, transparent)}.stream-markdown .bg-popover{background-color:color-mix(in srgb, var(--popover) var(--stream-markdown-bg-opacity), transparent)}.stream-markdown .bg-transparent{background-color:transparent}.stream-markdown .hover\:bg-accent:hover{background-color:color-mix(in srgb, var(--accent) var(--stream-markdown-bg-opacity), transparent)}.stream-markdown .opacity-0{opacity:0}.stream-markdown .line-through{text-decoration-line:line-through}.stream-markdown .underline{text-decoration-line:underline}.stream-markdown .data-\[stream-markdown-loading\=true\]\:no-underline[data-stream-markdown-loading=true]{text-decoration:none}.stream-markdown .flex{display:flex}.stream-markdown :is(.\[\&\>\*\:last-child\]\:flex>:last-child){display:flex}.stream-markdown .inline-flex{display:inline-flex}.stream-markdown .flex-1{flex:1}.stream-markdown :is(.\[\&_span\]\:flex-1 span){flex:1}.stream-markdown :is(.\[\&\>\*\:first-child\]\:flex-1>:first-child){flex:1}.stream-markdown :is(.\[\&\>\*\:last-child\]\:flex-1>:last-child){flex:1}.stream-markdown .shrink-0{flex-shrink:0}.stream-markdown .basis-0{flex-basis:calc(var(--spacing) * 0)}.stream-markdown .flex-col{flex-direction:column}.stream-markdown :is(.\[\&\>button\]\:\!gap-2>button){gap:calc(var(--spacing) * 2)!important}.stream-markdown .gap-1{gap:calc(var(--spacing) * 1)}.stream-markdown .gap-2{gap:calc(var(--spacing) * 2)}.stream-markdown .gap-4{gap:calc(var(--spacing) * 4)}.stream-markdown .size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.stream-markdown .size-full{width:100%;height:100%}.stream-markdown :is(.\[\&_span\]\:min-w-0 span){min-width:calc(var(--spacing) * 0)}.stream-markdown :is(.\[\&\>button\]\:\!w-full>button){width:100%!important}.stream-markdown .h-auto{height:auto}.stream-markdown .h-full{height:100%}.stream-markdown .max-w-\[28rem\]{max-width:28rem}.stream-markdown .max-w-full{max-width:100%}.stream-markdown .min-h-4{min-height:calc(var(--spacing) * 4)}.stream-markdown .w-full{width:100%}.stream-markdown .before\:w-4:before{width:calc(var(--spacing) * 4)}.stream-markdown .inline{display:inline}.stream-markdown :is(.\[\&_p\]\:inline p){display:inline}.stream-markdown .block{display:block}.stream-markdown .inline-block{display:inline-block}.stream-markdown :is(.\[\&_p\]\:inline-block p){display:inline-block}.stream-markdown .before\:inline-block:before{display:inline-block}.stream-markdown .list-item{display:list-item}.stream-markdown .visible{visibility:visible}.stream-markdown .collapse{visibility:collapse}.stream-markdown .data-\[stream-markdown-loading\=true\]\:cursor-default[data-stream-markdown-loading=true]{cursor:default}.stream-markdown .cursor-pointer{cursor:pointer}.stream-markdown .pointer-events-auto{pointer-events:auto}.stream-markdown .pointer-events-none{pointer-events:none}.stream-markdown .data-\[stream-markdown-loading\=true\]\:pointer-events-none[data-stream-markdown-loading=true]{pointer-events:none}.stream-markdown .select-none{user-select:none}.stream-markdown .before\:select-none:before{user-select:none}.stream-markdown :is(.\[\&_th\]\:whitespace-nowrap th){white-space:nowrap}.stream-markdown .whitespace-normal{white-space:normal}.stream-markdown .whitespace-pre-wrap{white-space:pre-wrap}.stream-markdown .before\:content-\[counter\(line\)\]:before{--stream-markdown-content:counter(line);content:var(--stream-markdown-content)}.stream-markdown .break-words{overflow-wrap:break-word}.stream-markdown :is(.\[\&_span\]\:break-words span){overflow-wrap:break-word}.stream-markdown .lowercase{text-transform:lowercase}.stream-markdown .italic{font-style:italic}.stream-markdown .shadow-\[0_20px_25px_-5px_rgb\(0_0_0_\/_0\.1\)\,0_8px_10px_-6px_rgb\(0_0_0_\/_0\.1\)\]{--stream-markdown-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);box-shadow:var(--stream-markdown-inset-shadow), var(--stream-markdown-inset-ring-shadow), var(--stream-markdown-ring-offset-shadow), var(--stream-markdown-ring-shadow), var(--stream-markdown-shadow)}.stream-markdown .-translate-x-1\/2{--stream-markdown-translate-x:-50%;translate:var(--stream-markdown-translate-x) var(--stream-markdown-translate-y)}.stream-markdown :is(.\[\&\>\*\:nth-child\(2\)\]\:-translate-x-1\/2>:nth-child(2)){--stream-markdown-translate-x:-50%;translate:var(--stream-markdown-translate-x) var(--stream-markdown-translate-y)}.stream-markdown .-translate-y-1\/2{--stream-markdown-translate-y:-50%;translate:var(--stream-markdown-translate-x) var(--stream-markdown-translate-y)}.stream-markdown .transform{transform:var(--stream-markdown-rotate-x) var(--stream-markdown-rotate-y) var(--stream-markdown-rotate-z) var(--stream-markdown-skew-x) var(--stream-markdown-skew-y)}.stream-markdown .transition-\[height\]{transition-property:height;transition-timing-function:var(--stream-markdown-ease,var(--default-transition-timingFunction));transition-duration:var(--stream-markdown-duration,var(--default-transition-duration))}.stream-markdown .transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,--stream-markdown-gradient-from,--stream-markdown-gradient-via,--stream-markdown-gradient-to;transition-timing-function:var(--stream-markdown-ease,var(--default-transition-timingFunction));transition-duration:var(--stream-markdown-duration,var(--default-transition-duration))}.stream-markdown .transition-opacity{transition-property:opacity;transition-timing-function:var(--stream-markdown-ease,var(--default-transition-timingFunction));transition-duration:var(--stream-markdown-duration,var(--default-transition-duration))}.stream-markdown .transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,--stream-markdown-gradient-from,--stream-markdown-gradient-via,--stream-markdown-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,backdrop-filter;transition-timing-function:var(--stream-markdown-ease,var(--default-transition-timingFunction));transition-duration:var(--stream-markdown-duration,var(--default-transition-duration))}.stream-markdown [transition=""]{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,--stream-markdown-gradient-from,--stream-markdown-gradient-via,--stream-markdown-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,backdrop-filter;transition-timing-function:var(--stream-markdown-ease,var(--default-transition-timingFunction));transition-duration:var(--stream-markdown-duration,var(--default-transition-duration))}.stream-markdown .duration-\[var\(--default-transition-duration\)\]{--stream-markdown-duration:var(--default-transition-duration);transition-duration:var(--default-transition-duration)}.stream-markdown .ease{--stream-markdown-ease:var(--ease-DEFAULT);transition-timing-function:var(--ease-DEFAULT)}.stream-markdown .\[counter-reset\:line\]{counter-reset:line}.stream-markdown .\[overflow-wrap\:anywhere\]{overflow-wrap:anywhere}.stream-markdown .before\:\[counter-increment\:line\]:before{counter-increment:line}.stream-markdown .items-center{align-items:center}.stream-markdown .inset-0{inset:calc(var(--spacing) * 0)}.stream-markdown .-right-3{right:calc(var(--spacing) * -3)}.stream-markdown .-top-3{top:calc(var(--spacing) * -3)}.stream-markdown .top-0{top:calc(var(--spacing) * 0)}.stream-markdown :is(.\[\&_thead\]\:top-0 thead){top:calc(var(--spacing) * 0)}.stream-markdown .left-1\/2{left:50%}.stream-markdown :is(.\[\&\>\*\:nth-child\(2\)\]\:left-1\/2>:nth-child(2)){left:50%}.stream-markdown .bottom-2{bottom:calc(var(--spacing) * 2)}.stream-markdown .right-2{right:calc(var(--spacing) * 2)}.stream-markdown .top-1\/2{top:50%}.stream-markdown .justify-end{justify-content:flex-end}.stream-markdown :is(.\[\&\>\*\:last-child\]\:justify-end>:last-child){justify-content:flex-end}.stream-markdown .justify-center{justify-content:center}.stream-markdown .justify-between{justify-content:space-between}.stream-markdown .sticky{position:sticky}.stream-markdown :is(.\[\&_thead\]\:sticky thead){position:sticky}.stream-markdown .absolute{position:absolute}.stream-markdown :is(.\[\&\>\*\:nth-child\(2\)\]\:absolute>:nth-child(2)){position:absolute}.stream-markdown .relative{position:relative}.stream-markdown .data-\[stream-markdown-loading\=true\]\:relative[data-stream-markdown-loading=true]{position:relative}.stream-markdown .fixed{position:fixed}.stream-markdown :is(.\[\&_thead\]\:z-10 thead){z-index:10}.stream-markdown .z-\[1\]{z-index:1}.stream-markdown .z-\[10000\]{z-index:10000}.stream-markdown .z-\[5\]{z-index:5}.stream-markdown .overflow-auto{overflow:auto}.stream-markdown .overflow-clip{overflow:clip}.stream-markdown .overflow-hidden{overflow:hidden}.stream-markdown .overflow-x-auto{overflow-x:auto}.stream-markdown .animate-\[stream-markdown-spin_1s_linear_infinite\]{animation:1s linear infinite stream-markdown-spin}.stream-markdown .object-contain{object-fit:contain}.stream-markdown .backdrop-blur{--stream-markdown-backdrop-blur:blur(8px);backdrop-filter:var(--stream-markdown-backdrop-blur,) var(--stream-markdown-backdrop-brightness,) var(--stream-markdown-backdrop-contrast,) var(--stream-markdown-backdrop-grayscale,) var(--stream-markdown-backdrop-hue-rotate,) var(--stream-markdown-backdrop-invert,) var(--stream-markdown-backdrop-opacity,) var(--stream-markdown-backdrop-saturate,) var(--stream-markdown-backdrop-sepia,)}.stream-markdown .table{display:table}.stream-markdown .border-collapse{border-collapse:collapse}@media (max-width:calc(64rem - .1px)){.stream-markdown .max-lg\:px-3{padding-inline:calc(var(--spacing) * 3)}.stream-markdown .max-lg\:gap-0{gap:calc(var(--spacing) * 0)}}
package/dist/index.d.ts CHANGED
@@ -19,6 +19,7 @@ type BuiltinNodeRenderers = 'blockquote' | 'break' | 'code' | 'delete' | 'emphas
19
19
  type BuiltinPreviewers = 'mermaid' | 'html';
20
20
  type BuiltinUIComponents = 'Alert' | 'Button' | 'Caret' | 'CodeBlock' | 'Dropdown' | 'ErrorComponent' | 'Icon' | 'Image' | 'Modal' | 'Segmented' | 'Spin' | 'Table' | 'Tooltip' | 'ZoomContainer';
21
21
  type CaretType = 'block' | 'circle';
22
+ type AnimationType = typeof ANIMATION_TYPES[number] | (string & {});
22
23
  type PlainTextNodeTypes = 'text' | 'inlineCode' | 'inlineMath' | 'strong' | 'emphasis' | 'delete' | 'footnoteReference' | 'footnoteDefinition' | 'link' | 'linkReference';
23
24
  interface SelectOption {
24
25
  label: string;
@@ -48,6 +49,7 @@ type ZoomControlPosition$1 = 'top-left' | 'top-right' | 'top-center' | 'bottom-l
48
49
  type TableControlsConfig$1<TTransformer = unknown> = boolean | {
49
50
  copy?: boolean | string;
50
51
  download?: boolean | string;
52
+ fullscreen?: boolean;
51
53
  customize?: TTransformer;
52
54
  };
53
55
  type CodeControlsConfig$1<TTransformer = unknown> = boolean | {
@@ -218,6 +220,7 @@ interface StreamMarkdownViewProps<TNodeRenderers = unknown, TIcons = unknown, TU
218
220
  preload?: TPreload;
219
221
  locale?: string | LocaleConfig;
220
222
  enableAnimate?: boolean;
223
+ animation?: AnimationType;
221
224
  caret?: TCaret;
222
225
  themeElement?: () => HTMLElement | undefined;
223
226
  }
@@ -246,6 +249,8 @@ interface ZoomState {
246
249
  }
247
250
  //#endregion
248
251
  //#region ../internal/shared/src/constants/common.d.ts
252
+ declare const ANIMATION_TYPES: readonly ["fade-in", "blur-in", "slide-up"];
253
+ declare const DEFAULT_ANIMATION: "fade-in";
249
254
  declare const CARETS: {
250
255
  readonly block: " ▋";
251
256
  readonly circle: " ●";
@@ -1282,7 +1287,7 @@ declare module 'micromark-util-types' {
1282
1287
  }
1283
1288
  }
1284
1289
  //#endregion
1285
- //#region ../markmend-ast/src/types.d.ts
1290
+ //#region ../markmend/ast/src/types.d.ts
1286
1291
  type ParsedNode$1 = RootContent & {
1287
1292
  loading?: boolean;
1288
1293
  };
@@ -1499,8 +1504,8 @@ declare const UI: {
1499
1504
  onLoad?: ((event: Event) => any) | undefined;
1500
1505
  }>, {
1501
1506
  preview: boolean;
1502
- controls: ControlsConfig;
1503
1507
  margin: number;
1508
+ controls: ControlsConfig;
1504
1509
  }, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
1505
1510
  readonly Modal: {
1506
1511
  new (...args: any[]): _$vue.CreateComponentPublicInstanceWithMixins<Readonly<UIModalProps & {
@@ -1970,6 +1975,7 @@ interface StreamMarkdownProvideContext {
1970
1975
  icons?: MaybeRefOrGetter<Icons>;
1971
1976
  uiComponents?: MaybeRefOrGetter<UIComponents>;
1972
1977
  enableAnimate?: MaybeRefOrGetter<boolean>;
1978
+ animation?: MaybeRefOrGetter<StreamMarkdownProps['animation']>;
1973
1979
  enableCaret?: MaybeRefOrGetter<boolean>;
1974
1980
  caret?: MaybeRefOrGetter<StreamMarkdownProps['caret']>;
1975
1981
  parsedNodes?: MaybeRefOrGetter<ParsedNode[]>;
@@ -2000,6 +2006,7 @@ interface StreamMarkdownResolvedContext {
2000
2006
  uiComponents: ComputedRef<UIComponents>;
2001
2007
  isDark: ComputedRef<boolean>;
2002
2008
  enableAnimate: ComputedRef<boolean>;
2009
+ animation: ComputedRef<NonNullable<StreamMarkdownProps['animation']>>;
2003
2010
  enableCaret: ComputedRef<boolean | undefined>;
2004
2011
  caret: ComputedRef<string | undefined>;
2005
2012
  parsedNodes: ComputedRef<ParsedNode[]>;
@@ -2243,14 +2250,15 @@ declare const __VLS_export: _$vue.DefineComponent<StreamMarkdownProps, StreamMar
2243
2250
  }, string, _$vue.PublicProps, Readonly<StreamMarkdownProps> & Readonly<{
2244
2251
  onCopied?: ((content: string) => any) | undefined;
2245
2252
  }>, {
2253
+ nodeRenderers: Partial<Record<"delete" | "text" | "blockquote" | "break" | "code" | "definition" | "emphasis" | "footnoteDefinition" | "footnoteReference" | "heading" | "html" | "image" | "imageReference" | "inlineCode" | "link" | "linkReference" | "list" | "listItem" | "paragraph" | "strong" | "table" | "tableCell" | "tableRow" | "thematicBreak" | "yaml" | "inlineMath" | "math", _$vue.Component>>;
2246
2254
  controls: ControlsConfig;
2255
+ content: string;
2247
2256
  previewers: PreviewerConfig;
2248
2257
  isDark: boolean;
2249
2258
  mode: "static" | "streaming";
2250
- content: string;
2251
- nodeRenderers: Partial<Record<"blockquote" | "break" | "code" | "definition" | "delete" | "emphasis" | "footnoteDefinition" | "footnoteReference" | "heading" | "html" | "image" | "imageReference" | "inlineCode" | "link" | "linkReference" | "list" | "listItem" | "paragraph" | "strong" | "table" | "tableCell" | "tableRow" | "text" | "thematicBreak" | "yaml" | "inlineMath" | "math", _$vue.Component>>;
2252
2259
  icons: Partial<Icons>;
2253
2260
  enableAnimate: boolean;
2261
+ animation: AnimationType;
2254
2262
  }, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
2255
2263
  declare const _default: typeof __VLS_export;
2256
2264
  //#endregion
@@ -2262,4 +2270,4 @@ declare function loadLocaleMessages(language: string | LocaleConfig): Promise<vo
2262
2270
  //#region src/utils/preload.d.ts
2263
2271
  declare function preloadAsyncComponents(components: Record<string, Component | undefined>, include?: string[], exclude?: string[]): Promise<void>;
2264
2272
  //#endregion
2265
- export { type BlockquoteNode, BlockquoteNodeRendererProps, type BreakNode, BreakNodeRendererProps, type BuiltinNodeRenderers, type BuiltinPreviewers, type BuiltinUIComponents, CARETS, CODE_PREVIEWERS, type CaretType, type CdnModule, type CdnOptions, CodeControlsConfig, type CodeNode, CodeNodeRendererProps, CodeOptions, CodeOptionsLanguage, Control, ControlTransformer, ControlsConfig, DEFAULT_HARDEN_OPTIONS, DEFAULT_LANGUAGE, type DefinitionNode, DefinitionNodeRendererProps, type DeleteNode, DeleteNodeRendererProps, type DownloadEvent, type EmphasisNode, EmphasisNodeRendererProps, type FootnoteDefinitionNode, FootnoteDefinitionNodeRendererProps, type FootnoteReferenceNode, FootnoteReferenceNodeRendererProps, type FromMarkdownExtension, HardenOptions, type HeadingNode, HeadingNodeRendererProps, type HtmlNode, HtmlNodeRendererProps, IconName, Icons, ImageControlsConfig, type ImageNode, ImageNodeRendererProps, ImageOptions, type ImageReferenceNode, ImageReferenceNodeRendererProps, type InlineCodeNode, InlineCodeNodeRendererProps, type InlineMathNode, InlineMathNodeRendererProps, KatexOptions, type LinkNode, LinkNodeRendererProps, LinkOptions, type LinkReferenceNode, LinkReferenceNodeRendererProps, type ListItemNode, ListItemNodeRendererProps, type ListNode, ListNodeRendererProps, type LocaleConfig, _default as Markdown, type MarkdownAstParser, type MarkdownAstParserOptions, type MarkdownAstParserResult, type MarkdownParserOptions, type MarkdownParserResult, type MathNode, MathNodeRendererProps, type MaybeArray, type MaybePromise, type MdastOptions, MermaidControlsConfig, MermaidOptions, type MicromarkExtension, NODE_RENDERERS, NodeList, NodeRendererListProps, NodeRendererProps, NodeRenderers, type NodeType, OptionalIconName, PLAIN_TEXT_NODES, PRELOAD_NODE_RENDERER, type ParagraphNode, ParagraphNodeRendererProps, type ParsedNode, PreloadConfig, type PreprocessContext, PreviewSegmentedPlacement, PreviewerConfig, SHADCN_SCHEMAS, SUPPORT_LANGUAGES, type SelectOption, ShikiOptions, StreamMarkdownContext, StreamMarkdownHooks, StreamMarkdownProps, StreamMarkdownProvideContext, StreamMarkdownResolvedContext, type StrongNode, StrongNodeRendererProps, type SupportedLanguage, type SyntaxTree, type TableCellNode, TableCellNodeRendererProps, TableControlsConfig, type TableNode, TableNodeRendererProps, type TableRowNode, TableRowNodeRendererProps, type TextNode, TextNodeRendererProps, type ThematicBreakNode, ThematicBreakNodeRendererProps, type ToMarkdownExtension, UI, UIAlertProps, UIButtonProps, UIComponentName, UIComponents, UIDropdownProps, UIErrorComponentProps, type UIErrorVariant, UIIconProps, UIImageProps, UIModalProps, UIOptions, UISegmentedProps, UITableProps, UITooltipProps, UIZoomContainerProps, UIZoomControlPosition, type YamlNode, YamlNodeRendererProps, type ZoomControlPosition, currentLocale, disposeShikiHighlighter, loadLocaleMessages, localeMessages, preloadAsyncComponents, useCdnLoader, useCodeOptions, useContext, useControls, useDarkDetector, useDeferredRender, useFloating, useI18n, useKatex, useLocaleDetector, useMathRenderer, useMediumZoom, useMermaid, useSanitizers, useShiki, useTailwindV3Theme, useZoom };
2273
+ export { ANIMATION_TYPES, type AnimationType, type BlockquoteNode, BlockquoteNodeRendererProps, type BreakNode, BreakNodeRendererProps, type BuiltinNodeRenderers, type BuiltinPreviewers, type BuiltinUIComponents, CARETS, CODE_PREVIEWERS, type CaretType, type CdnModule, type CdnOptions, CodeControlsConfig, type CodeNode, CodeNodeRendererProps, CodeOptions, CodeOptionsLanguage, Control, ControlTransformer, ControlsConfig, DEFAULT_ANIMATION, DEFAULT_HARDEN_OPTIONS, DEFAULT_LANGUAGE, type DefinitionNode, DefinitionNodeRendererProps, type DeleteNode, DeleteNodeRendererProps, type DownloadEvent, type EmphasisNode, EmphasisNodeRendererProps, type FootnoteDefinitionNode, FootnoteDefinitionNodeRendererProps, type FootnoteReferenceNode, FootnoteReferenceNodeRendererProps, type FromMarkdownExtension, HardenOptions, type HeadingNode, HeadingNodeRendererProps, type HtmlNode, HtmlNodeRendererProps, IconName, Icons, ImageControlsConfig, type ImageNode, ImageNodeRendererProps, ImageOptions, type ImageReferenceNode, ImageReferenceNodeRendererProps, type InlineCodeNode, InlineCodeNodeRendererProps, type InlineMathNode, InlineMathNodeRendererProps, KatexOptions, type LinkNode, LinkNodeRendererProps, LinkOptions, type LinkReferenceNode, LinkReferenceNodeRendererProps, type ListItemNode, ListItemNodeRendererProps, type ListNode, ListNodeRendererProps, type LocaleConfig, _default as Markdown, type MarkdownAstParser, type MarkdownAstParserOptions, type MarkdownAstParserResult, type MarkdownParserOptions, type MarkdownParserResult, type MathNode, MathNodeRendererProps, type MaybeArray, type MaybePromise, type MdastOptions, MermaidControlsConfig, MermaidOptions, type MicromarkExtension, NODE_RENDERERS, NodeList, NodeRendererListProps, NodeRendererProps, NodeRenderers, type NodeType, OptionalIconName, PLAIN_TEXT_NODES, PRELOAD_NODE_RENDERER, type ParagraphNode, ParagraphNodeRendererProps, type ParsedNode, PreloadConfig, type PreprocessContext, PreviewSegmentedPlacement, PreviewerConfig, SHADCN_SCHEMAS, SUPPORT_LANGUAGES, type SelectOption, ShikiOptions, StreamMarkdownContext, StreamMarkdownHooks, StreamMarkdownProps, StreamMarkdownProvideContext, StreamMarkdownResolvedContext, type StrongNode, StrongNodeRendererProps, type SupportedLanguage, type SyntaxTree, type TableCellNode, TableCellNodeRendererProps, TableControlsConfig, type TableNode, TableNodeRendererProps, type TableRowNode, TableRowNodeRendererProps, type TextNode, TextNodeRendererProps, type ThematicBreakNode, ThematicBreakNodeRendererProps, type ToMarkdownExtension, UI, UIAlertProps, UIButtonProps, UIComponentName, UIComponents, UIDropdownProps, UIErrorComponentProps, type UIErrorVariant, UIIconProps, UIImageProps, UIModalProps, UIOptions, UISegmentedProps, UITableProps, UITooltipProps, UIZoomContainerProps, UIZoomControlPosition, type YamlNode, YamlNodeRendererProps, type ZoomControlPosition, currentLocale, disposeShikiHighlighter, loadLocaleMessages, localeMessages, preloadAsyncComponents, useCdnLoader, useCodeOptions, useContext, useControls, useDarkDetector, useDeferredRender, useFloating, useI18n, useKatex, useLocaleDetector, useMathRenderer, useMediumZoom, useMermaid, useSanitizers, useShiki, useTailwindV3Theme, useZoom };
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- import{A as e,F as t,I as n,L as r,M as i,N as a,O as o,P as s,R as c,_ as l,a as u,b as d,c as f,d as p,f as m,g as h,h as g,i as _,j as v,k as y,l as b,m as x,n as S,o as C,p as w,r as T,s as E,t as D,u as O,v as k,x as A,y as j}from"./composables-CA0XaIPq.js";import{t as ee}from"./node-list-CTXWVPv3.js";import{Fragment as te,computed as M,createBlock as ne,createElementBlock as N,defineAsyncComponent as P,defineComponent as F,normalizeClass as re,normalizeStyle as I,onBeforeUnmount as L,onMounted as ie,openBlock as R,ref as ae,renderList as oe,toRefs as se,unref as z,watch as B}from"vue";import{MarkdownAstParser as ce}from"@markmend/ast";export*from"@markmend/core";export*from"@markmend/ast";const le={arrowLeft:P(()=>import(`./arrow-left-C8wGrTTw.js`)),check:P(()=>import(`./check-BiWHbrN_.js`)),code:P(()=>import(`./code-xml-l4P2xJRz.js`)),collapse:P(()=>import(`./chevron-down-BHrl3rGZ.js`)),copy:P(()=>import(`./copy-BZwHjxqT.js`)),cornerDownLeft:P(()=>import(`./corner-down-left-dvvGBhPG.js`)),download:P(()=>import(`./download-7CglWXDd.js`)),error:P(()=>import(`./circle-alert-DdkxcZxA.js`)),externalLink:P(()=>import(`./external-link-CO2ImDST.js`)),flipHorizontal:P(()=>import(`./flip-horizontal-Ch1KcnQ1.js`)),image:P(()=>import(`./image-BjZ0QmwS.js`)),link:P(()=>import(`./link-BW6NWbMU.js`)),maximize:P(()=>import(`./maximize-DxqOXY__.js`)),mermaid:P(()=>import(`./mermaid-gBJZZSXZ.js`)),minimize:P(()=>import(`./minimize-BuUXEQi7.js`)),preview:P(()=>import(`./eye-CvAddOnw.js`)),rotateLeft:P(()=>import(`./rotate-ccw-square-wrEg4eUo.js`)),x:P(()=>import(`./x-D_GUeI7c.js`)),zoomIn:P(()=>import(`./zoomIn-DbePaEoC.js`)),zoomOut:P(()=>import(`./zoomOut-BUKc5XwD.js`))};function V(e){return typeof e==`object`&&`__asyncLoader`in e}async function H(e,t=[],n=[]){let r=[];Object.entries(e).forEach(([e,i])=>{i&&V(i)&&(t.length>0&&!t.includes(e)||n.length>0&&n.includes(e)||r.push(i.__asyncLoader()))}),await Promise.all(r)}var U=F({__name:`index`,props:{controls:{type:null,required:!1,default:!0},previewers:{type:null,required:!1,default:!0},shikiOptions:{type:null,required:!1},mermaidOptions:{type:null,required:!1},katexOptions:{type:null,required:!1},hardenOptions:{type:null,required:!1},codeOptions:{type:null,required:!1},imageOptions:{type:null,required:!1},linkOptions:{type:null,required:!1},uiOptions:{type:null,required:!1},cdnOptions:{type:Object,required:!1},isDark:{type:Boolean,required:!1,default:void 0},mode:{type:String,required:!1,default:`streaming`},content:{type:String,required:!1,default:``},nodeRenderers:{type:Object,required:!1,default:()=>({})},icons:{type:Object,required:!1,default:()=>({})},components:{type:Object,required:!1},preload:{type:null,required:!1},locale:{type:[String,Object],required:!1},enableAnimate:{type:Boolean,required:!1,default:void 0},caret:{type:null,required:!1},themeElement:{type:Function,required:!1},beforeDownload:{type:Function,required:!1},mdastOptions:{type:Object,required:!1},postNormalize:{type:Function,required:!1},postprocess:{type:Function,required:!1},normalize:{type:Function,required:!1},preprocess:{type:Function,required:!1},parseMarkdownIntoBlocks:{type:Function,required:!1}},emits:[`copied`],setup(e,{expose:t,emit:i}){let o=e,s=i,{controls:c,previewers:u,mode:d,content:f,isDark:p,locale:m,codeOptions:h,imageOptions:g,linkOptions:v,katexOptions:y,hardenOptions:x,shikiOptions:T,mermaidOptions:E,uiOptions:D,cdnOptions:k,caret:A}=se(o),{provideContext:P}=j(),{cssVariables:F,stop:V}=S({element:o.themeElement}),{isDark:U,stop:ue}=l(p,F),{locale:W}=b(m),{preload:de,dispose:fe}=_({shikiOptions:T,cdnOptions:o.cdnOptions}),{preload:pe,dispose:me}=C({mermaidOptions:E,cdnOptions:o.cdnOptions}),{preload:he,dispose:ge}=O({markdown:f,mdastOptions:o.mdastOptions,cdnOptions:o.cdnOptions}),G=ae(),K=new ce(o),_e=o.mode===`streaming`,ve=M(()=>typeof o.enableAnimate==`boolean`?o.enableAnimate:_e),ye=M(()=>!!o.caret&&d.value===`streaming`),q=M(()=>K.parseMarkdown(o.content)),J=M(()=>q.value?.asts??[]),Y=M(()=>J.value.flatMap(e=>e.children)),be=M(()=>(q.value?.contents??[]).join(``)),X=M(()=>({...r,...o.nodeRenderers})),Z=M(()=>!o.preload||!o.preload.nodeRenderers?a:o.preload.nodeRenderers),Q=M(()=>({...le,...o.icons})),$=M(()=>({...n,...o.components}));function xe(){return G.value}async function Se(){let e=[de(),pe(),he(),H(Q.value),H($.value)];o.locale!==`en-US`&&e.push(w(W.value)),Z.value.length&&e.push(H(X.value,Z.value)),await Promise.all(e)}return ie(Se),B(d,()=>K.updateMode(d.value)),B(W,()=>w(W.value)),P({controls:c,previewers:u,shikiOptions:T,mermaidOptions:E,katexOptions:y,hardenOptions:x,codeOptions:h,imageOptions:g,linkOptions:v,cdnOptions:k,mode:d,nodeRenderers:X,icons:Q,uiComponents:$,uiOptions:D,isDark:U,enableAnimate:ve,enableCaret:ye,caret:A,blocks:J,parsedNodes:Y,markdownParser:K,getContainer:xe,beforeDownload:o.beforeDownload,onCopied:e=>{s(`copied`,e)}}),L(()=>{fe(),me(),ge(),V(),ue()}),t({getMarkdownParser:()=>K,getParsedNodes:()=>Y.value,getProcessedContent:()=>be.value}),(e,t)=>(R(),N(`div`,{ref_key:`containerRef`,ref:G,class:re([`stream-markdown`,[z(U)?`dark`:`light`]]),style:I(z(F))},[(R(!0),N(te,null,oe(J.value,(e,t)=>(R(),ne(ee,{key:t,nodes:e.children,"block-index":t,"node-key":`stream-markdown-block-${t}`,deep:0},null,8,[`nodes`,`block-index`,`node-key`]))),128))],6))}});export{e as CARETS,c as CODE_PREVIEWERS,v as DEFAULT_HARDEN_OPTIONS,o as DEFAULT_LANGUAGE,U as Markdown,r as NODE_RENDERERS,t as NodeList,i as PLAIN_TEXT_NODES,a as PRELOAD_NODE_RENDERER,s as SHADCN_SCHEMAS,y as SUPPORT_LANGUAGES,n as UI,m as currentLocale,T as disposeShikiHighlighter,w as loadLocaleMessages,x as localeMessages,H as preloadAsyncComponents,A as useCdnLoader,d as useCodeOptions,j as useContext,k as useControls,l as useDarkDetector,h as useDeferredRender,g as useFloating,p as useI18n,O as useKatex,b as useLocaleDetector,f as useMathRenderer,E as useMediumZoom,C as useMermaid,u as useSanitizers,_ as useShiki,S as useTailwindV3Theme,D as useZoom};
1
+ import{D as e,E as t,O as n,T as r,_ as i,a,b as o,c as s,d as c,f as l,g as u,h as d,i as f,l as p,m,n as h,o as g,p as _,r as v,s as y,t as b,u as x,v as S,x as C,y as w}from"./composables-Dt9tB3RV.js";import{$ as T,J as E,K as D,Q as O,X as k,Y as A,Z as j,et as M,q as N}from"./src-7d8hW45I.js";import{t as ee}from"./node-list-DRKVSQ6H.js";import{Fragment as te,computed as P,createBlock as ne,createElementBlock as F,defineAsyncComponent as I,defineComponent as L,normalizeClass as re,normalizeStyle as ie,onBeforeUnmount as ae,onMounted as oe,openBlock as R,ref as se,renderList as ce,toRefs as le,unref as z,watch as B}from"vue";import{MarkdownAstParser as ue}from"@markmend/ast";export*from"@markmend/core";export*from"@markmend/ast";const de={arrowLeft:I(()=>import(`./arrow-left-C8wGrTTw.js`)),check:I(()=>import(`./check-BiWHbrN_.js`)),code:I(()=>import(`./code-xml-l4P2xJRz.js`)),collapse:I(()=>import(`./chevron-down-BHrl3rGZ.js`)),copy:I(()=>import(`./copy-BZwHjxqT.js`)),cornerDownLeft:I(()=>import(`./corner-down-left-dvvGBhPG.js`)),download:I(()=>import(`./download-7CglWXDd.js`)),error:I(()=>import(`./circle-alert-DdkxcZxA.js`)),externalLink:I(()=>import(`./external-link-CO2ImDST.js`)),flipHorizontal:I(()=>import(`./flip-horizontal-Ch1KcnQ1.js`)),image:I(()=>import(`./image-BjZ0QmwS.js`)),link:I(()=>import(`./link-BW6NWbMU.js`)),maximize:I(()=>import(`./maximize-DxqOXY__.js`)),mermaid:I(()=>import(`./mermaid-gBJZZSXZ.js`)),minimize:I(()=>import(`./minimize-BuUXEQi7.js`)),preview:I(()=>import(`./eye-CvAddOnw.js`)),rotateLeft:I(()=>import(`./rotate-ccw-square-wrEg4eUo.js`)),x:I(()=>import(`./x-D_GUeI7c.js`)),zoomIn:I(()=>import(`./zoomIn-DbePaEoC.js`)),zoomOut:I(()=>import(`./zoomOut-BUKc5XwD.js`))};function V(e){return typeof e==`object`&&`__asyncLoader`in e}async function H(e,t=[],n=[]){let r=[];Object.entries(e).forEach(([e,i])=>{i&&V(i)&&(t.length>0&&!t.includes(e)||n.length>0&&n.includes(e)||r.push(i.__asyncLoader()))}),await Promise.all(r)}var U=L({__name:`index`,props:{controls:{type:null,required:!1,default:!0},previewers:{type:null,required:!1,default:!0},shikiOptions:{type:null,required:!1},mermaidOptions:{type:null,required:!1},katexOptions:{type:null,required:!1},hardenOptions:{type:null,required:!1},codeOptions:{type:null,required:!1},imageOptions:{type:null,required:!1},linkOptions:{type:null,required:!1},uiOptions:{type:null,required:!1},cdnOptions:{type:Object,required:!1},isDark:{type:Boolean,required:!1,default:void 0},mode:{type:String,required:!1,default:`streaming`},content:{type:String,required:!1,default:``},nodeRenderers:{type:Object,required:!1,default:()=>({})},icons:{type:Object,required:!1,default:()=>({})},components:{type:Object,required:!1},preload:{type:null,required:!1},locale:{type:[String,Object],required:!1},enableAnimate:{type:Boolean,required:!1,default:void 0},animation:{type:null,required:!1,default:k},caret:{type:null,required:!1},themeElement:{type:Function,required:!1},beforeDownload:{type:Function,required:!1},mdastOptions:{type:Object,required:!1},postNormalize:{type:Function,required:!1},postprocess:{type:Function,required:!1},normalize:{type:Function,required:!1},preprocess:{type:Function,required:!1},parseMarkdownIntoBlocks:{type:Function,required:!1}},emits:[`copied`],setup(n,{expose:r,emit:a}){let o=n,s=a,{controls:c,previewers:l,mode:u,content:d,isDark:m,locale:v,codeOptions:y,imageOptions:b,linkOptions:S,katexOptions:C,hardenOptions:E,shikiOptions:D,mermaidOptions:O,uiOptions:k,cdnOptions:A,animation:j,caret:M}=le(o),{provideContext:N}=w(),{cssVariables:I,stop:L}=h({element:o.themeElement}),{isDark:V,stop:U}=i(m,I),{locale:W}=p(v),{preload:fe,dispose:pe}=f({shikiOptions:D,cdnOptions:o.cdnOptions}),{preload:me,dispose:he}=g({mermaidOptions:O,cdnOptions:o.cdnOptions}),{preload:ge,dispose:_e}=x({markdown:d,mdastOptions:o.mdastOptions,cdnOptions:o.cdnOptions}),G=se(),K=new ue(o),ve=P(()=>typeof o.enableAnimate==`boolean`?o.enableAnimate:u.value===`streaming`),ye=P(()=>!!o.caret&&u.value===`streaming`),q=P(()=>K.parseMarkdown(o.content)),J=P(()=>q.value?.asts??[]),Y=P(()=>J.value.flatMap(e=>e.children)),be=P(()=>(q.value?.contents??[]).join(``)),X=P(()=>({...e,...o.nodeRenderers})),Z=P(()=>!o.preload||!o.preload.nodeRenderers?T:o.preload.nodeRenderers),Q=P(()=>({...de,...o.icons})),$=P(()=>({...t,...o.components}));function xe(){return G.value}async function Se(){let e=[fe(),me(),ge(),H(Q.value),H($.value)];o.locale!==`en-US`&&e.push(_(W.value)),Z.value.length&&e.push(H(X.value,Z.value)),await Promise.all(e)}return oe(Se),B(u,()=>K.updateMode(u.value)),B(W,()=>_(W.value)),N({controls:c,previewers:l,shikiOptions:D,mermaidOptions:O,katexOptions:C,hardenOptions:E,codeOptions:y,imageOptions:b,linkOptions:S,cdnOptions:A,mode:u,nodeRenderers:X,icons:Q,uiComponents:$,uiOptions:k,isDark:V,enableAnimate:ve,animation:j,enableCaret:ye,caret:M,blocks:J,parsedNodes:Y,markdownParser:K,getContainer:xe,beforeDownload:o.beforeDownload,onCopied:e=>{s(`copied`,e)}}),ae(()=>{pe(),he(),_e(),L(),U()}),r({getMarkdownParser:()=>K,getParsedNodes:()=>Y.value,getProcessedContent:()=>be.value}),(e,t)=>(R(),F(`div`,{ref_key:`containerRef`,ref:G,class:re([`stream-markdown`,[z(V)?`dark`:`light`]]),style:ie(z(I))},[(R(!0),F(te,null,ce(J.value,(e,t)=>(R(),ne(ee,{key:t,nodes:e.children,"block-index":t,"node-key":`stream-markdown-block-${t}`,deep:0},null,8,[`nodes`,`block-index`,`node-key`]))),128))],6))}});export{E as ANIMATION_TYPES,A as CARETS,n as CODE_PREVIEWERS,k as DEFAULT_ANIMATION,j as DEFAULT_HARDEN_OPTIONS,D as DEFAULT_LANGUAGE,U as Markdown,e as NODE_RENDERERS,r as NodeList,O as PLAIN_TEXT_NODES,T as PRELOAD_NODE_RENDERER,M as SHADCN_SCHEMAS,N as SUPPORT_LANGUAGES,t as UI,l as currentLocale,v as disposeShikiHighlighter,_ as loadLocaleMessages,m as localeMessages,H as preloadAsyncComponents,C as useCdnLoader,o as useCodeOptions,w as useContext,S as useControls,i as useDarkDetector,u as useDeferredRender,d as useFloating,c as useI18n,x as useKatex,p as useLocaleDetector,s as useMathRenderer,y as useMediumZoom,g as useMermaid,a as useSanitizers,f as useShiki,h as useTailwindV3Theme,b as useZoom};
@@ -1 +1 @@
1
- import{c as e,y as t}from"./composables-CA0XaIPq.js";import{computed as n,createBlock as r,createElementBlock as i,defineComponent as a,openBlock as o,resolveDynamicComponent as s,toRefs as c,unref as l}from"vue";const u=[`innerHTML`];var d=a({__name:`inline-math`,props:{node:{type:Object,required:!0},markdownParser:{type:Object,required:!0},nodeRenderers:{type:Object,required:!0},blockIndex:{type:Number,required:!1},parentNode:{type:Object,required:!1},prevNode:{type:Object,required:!1},nextNode:{type:Object,required:!1},nodeKey:{type:String,required:!0},deep:{type:Number,required:!0},throttle:{type:Number,required:!1,default:300}},setup(a){let d=a,{cdnOptions:f,katexOptions:p,uiComponents:m}=t(),{node:h,throttle:g}=c(d),{html:_,error:v,errorMessage:y}=e({node:h,katexOptions:p,throttle:g,cdnOptions:f.value}),b=n(()=>p.value?.errorComponent??m.value.ErrorComponent);return(e,t)=>l(v)?(o(),r(s(b.value),{key:0,variant:`katex`,message:l(y)},null,8,[`message`])):(o(),i(`span`,{key:1,"data-stream-markdown":`inline-math`,innerHTML:l(_)},null,8,u))}});export{d as default};
1
+ import{c as e,y as t}from"./composables-Dt9tB3RV.js";import{computed as n,createBlock as r,createElementBlock as i,defineComponent as a,openBlock as o,resolveDynamicComponent as s,toRefs as c,unref as l}from"vue";const u=[`innerHTML`];var d=a({__name:`inline-math`,props:{node:{type:Object,required:!0},markdownParser:{type:Object,required:!0},nodeRenderers:{type:Object,required:!0},blockIndex:{type:Number,required:!1},parentNode:{type:Object,required:!1},prevNode:{type:Object,required:!1},nextNode:{type:Object,required:!1},nodeKey:{type:String,required:!0},deep:{type:Number,required:!0},throttle:{type:Number,required:!1,default:300}},setup(a){let d=a,{cdnOptions:f,katexOptions:p,uiComponents:m}=t(),{node:h,throttle:g}=c(d),{html:_,error:v,errorMessage:y}=e({node:h,katexOptions:p,throttle:g,cdnOptions:f.value}),b=n(()=>p.value?.errorComponent??m.value.ErrorComponent);return(e,t)=>l(v)?(o(),r(s(b.value),{key:0,variant:`katex`,message:l(y)},null,8,[`message`])):(o(),i(`span`,{key:1,"data-stream-markdown":`inline-math`,innerHTML:l(_)},null,8,u))}});export{d as default};
@@ -1 +1 @@
1
- import{a as e,d as t,y as n}from"./composables-CA0XaIPq.js";import{t as r}from"./node-list-CTXWVPv3.js";import{computed as i,createBlock as a,createElementBlock as o,createElementVNode as s,createVNode as c,defineComponent as l,mergeProps as u,openBlock as d,ref as f,resolveDynamicComponent as p,toDisplayString as m,unref as h,withCtx as g}from"vue";import{useClipboard as _}from"@vueuse/core";const v={"data-stream-markdown":`link-container`,class:`inline`},y=[`data-stream-markdown-loading`],b={"data-stream-markdown":`link-url`,class:`text-sm font-mono p-3 rounded-lg bg-muted w-full inline-block overflow-x-auto`};var x=l({inheritAttrs:!1,__name:`link`,props:{node:{type:Object,required:!0},markdownParser:{type:Object,required:!0},nodeRenderers:{type:Object,required:!0},blockIndex:{type:Number,required:!1},parentNode:{type:Object,required:!1},prevNode:{type:Object,required:!1},nextNode:{type:Object,required:!1},nodeKey:{type:String,required:!0},deep:{type:Number,required:!0}},setup(l){let x=l,{uiComponents:S,linkOptions:C,hardenOptions:w}=n(),{t:T}=t(),E=f(!1),{copy:D,copied:O}=_({legacy:!0}),k=i(()=>x.node.url),A=i(()=>x.node.loading||x.markdownParser.hasLoadingNode(x.node.children)||!k.value),{transformedUrl:j,isHardenUrl:M}=e({url:k,hardenOptions:w,loading:A}),N=i(()=>w.value?.errorComponent??S.value.ErrorComponent),P=i(()=>C.value?.safetyCheck??!0);async function F(){if(!P.value)return!0;let e=C.value?.isTrusted;if(typeof e!=`function`)return!1;let t=e(j.value??``);return await Promise.resolve(t)}async function I(e){if(j.value){if(e.preventDefault(),await F()){window.open(j.value,`_blank`);return}E.value=!0}}function L(){j.value&&window.open(j.value,`_blank`),z()}async function R(){j.value&&D(j.value)}function z(){E.value=!1}return(e,t)=>(d(),o(`span`,v,[!h(M)&&typeof h(j)==`string`?(d(),o(`a`,{key:0,"data-stream-markdown":`link`,"data-stream-markdown-loading":A.value,class:`text-primary underline cursor-pointer [overflow-wrap:anywhere] data-[stream-markdown-loading=true]:no-underline data-[stream-markdown-loading=true]:cursor-default data-[stream-markdown-loading=true]:pointer-events-none data-[stream-markdown-loading=true]:relative`,rel:`noreferrer`,target:`_blank`,onClick:I},[c(r,u(x,{"parent-node":l.node,nodes:l.node.children,deep:l.deep+1}),null,16,[`parent-node`,`nodes`,`deep`])],8,y)):(d(),a(p(N.value),{key:1,variant:`harden-link`},{default:g(()=>[c(r,u(x,{"parent-node":l.node,nodes:l.node.children,deep:l.deep+1}),null,16,[`parent-node`,`nodes`,`deep`])]),_:1})),(d(),a(p(h(S).Alert),{open:E.value,"onUpdate:open":t[0]||=e=>E.value=e,title:h(T)(`link.title`),description:`${h(T)(`link.description`)}`,icon:`externalLink`,onConfirm:L},{footer:g(()=>[(d(),a(p(h(S).Button),{variant:`text`,name:h(O)?h(T)(`button.copied`):h(T)(`link.copy`),icon:h(O)?`check`:`copy`,"icon-height":16,"icon-width":16,onClick:R},null,8,[`name`,`icon`])),(d(),a(p(h(S).Button),{"data-stream-markdown":`open-link-button`,variant:`text`,name:h(T)(`link.open`),icon:`externalLink`,"icon-height":16,"icon-width":16,onClick:L},null,8,[`name`]))]),default:g(()=>[s(`code`,b,m(h(j)),1)]),_:1},40,[`open`,`title`,`description`]))]))}});export{x as default};
1
+ import{a as e,d as t,y as n}from"./composables-Dt9tB3RV.js";import{t as r}from"./node-list-DRKVSQ6H.js";import{computed as i,createBlock as a,createElementBlock as o,createElementVNode as s,createVNode as c,defineComponent as l,mergeProps as u,openBlock as d,ref as f,resolveDynamicComponent as p,toDisplayString as m,unref as h,withCtx as g}from"vue";import{useClipboard as _}from"@vueuse/core";const v={"data-stream-markdown":`link-container`,class:`inline`},y=[`data-stream-markdown-loading`],b={"data-stream-markdown":`link-url`,class:`text-sm font-mono p-3 rounded-lg bg-muted w-full inline-block overflow-x-auto`};var x=l({inheritAttrs:!1,__name:`link`,props:{node:{type:Object,required:!0},markdownParser:{type:Object,required:!0},nodeRenderers:{type:Object,required:!0},blockIndex:{type:Number,required:!1},parentNode:{type:Object,required:!1},prevNode:{type:Object,required:!1},nextNode:{type:Object,required:!1},nodeKey:{type:String,required:!0},deep:{type:Number,required:!0}},setup(l){let x=l,{uiComponents:S,linkOptions:C,hardenOptions:w}=n(),{t:T}=t(),E=f(!1),{copy:D,copied:O}=_({legacy:!0}),k=i(()=>x.node.url),A=i(()=>x.node.loading||x.markdownParser.hasLoadingNode(x.node.children)||!k.value),{transformedUrl:j,isHardenUrl:M}=e({url:k,hardenOptions:w,loading:A}),N=i(()=>w.value?.errorComponent??S.value.ErrorComponent),P=i(()=>C.value?.safetyCheck??!0);async function F(){if(!P.value)return!0;let e=C.value?.isTrusted;if(typeof e!=`function`)return!1;let t=e(j.value??``);return await Promise.resolve(t)}async function I(e){if(j.value){if(e.preventDefault(),await F()){window.open(j.value,`_blank`);return}E.value=!0}}function L(){j.value&&window.open(j.value,`_blank`),z()}async function R(){j.value&&D(j.value)}function z(){E.value=!1}return(e,t)=>(d(),o(`span`,v,[!h(M)&&typeof h(j)==`string`?(d(),o(`a`,{key:0,"data-stream-markdown":`link`,"data-stream-markdown-loading":A.value,class:`text-primary underline cursor-pointer [overflow-wrap:anywhere] data-[stream-markdown-loading=true]:no-underline data-[stream-markdown-loading=true]:cursor-default data-[stream-markdown-loading=true]:pointer-events-none data-[stream-markdown-loading=true]:relative`,rel:`noreferrer`,target:`_blank`,onClick:I},[c(r,u(x,{"parent-node":l.node,nodes:l.node.children,deep:l.deep+1}),null,16,[`parent-node`,`nodes`,`deep`])],8,y)):(d(),a(p(N.value),{key:1,variant:`harden-link`},{default:g(()=>[c(r,u(x,{"parent-node":l.node,nodes:l.node.children,deep:l.deep+1}),null,16,[`parent-node`,`nodes`,`deep`])]),_:1})),(d(),a(p(h(S).Alert),{open:E.value,"onUpdate:open":t[0]||=e=>E.value=e,title:h(T)(`link.title`),description:`${h(T)(`link.description`)}`,icon:`externalLink`,onConfirm:L},{footer:g(()=>[(d(),a(p(h(S).Button),{variant:`text`,name:h(O)?h(T)(`button.copied`):h(T)(`link.copy`),icon:h(O)?`check`:`copy`,"icon-height":16,"icon-width":16,onClick:R},null,8,[`name`,`icon`])),(d(),a(p(h(S).Button),{"data-stream-markdown":`open-link-button`,variant:`text`,name:h(T)(`link.open`),icon:`externalLink`,"icon-height":16,"icon-width":16,onClick:L},null,8,[`name`]))]),default:g(()=>[s(`code`,b,m(h(j)),1)]),_:1},40,[`open`,`title`,`description`]))]))}});export{x as default};
@@ -1 +1 @@
1
- import{t as e}from"./node-list-CTXWVPv3.js";import{computed as t,createBlock as n,createVNode as r,defineComponent as i,mergeProps as a,normalizeClass as o,openBlock as s,resolveDynamicComponent as c,withCtx as l}from"vue";var u=i({__name:`list`,props:{node:{type:Object,required:!0},markdownParser:{type:Object,required:!0},nodeRenderers:{type:Object,required:!0},blockIndex:{type:Number,required:!1},parentNode:{type:Object,required:!1},prevNode:{type:Object,required:!1},nextNode:{type:Object,required:!1},nodeKey:{type:String,required:!0},deep:{type:Number,required:!0}},setup(i){let u=i,d=t(()=>u.node.children.some(e=>typeof e.checked==`boolean`)),f=t(()=>u.node.ordered?`ol`:`ul`),p=t(()=>d.value?`task-list`:u.node.ordered?`ordered-list`:`unordered-list`),m=t(()=>{let e=`pl-5 leading-6 whitespace-normal`;return p.value===`ordered-list`?`${e} list-decimal`:`${e} list-disc`});return(t,d)=>(s(),n(c(f.value),{"data-stream-markdown":p.value,class:o(m.value)},{default:l(()=>[r(e,a(u,{"parent-node":i.node,nodes:i.node.children,deep:i.deep+1}),null,16,[`parent-node`,`nodes`,`deep`])]),_:1},8,[`data-stream-markdown`,`class`]))}});export{u as default};
1
+ import{t as e}from"./node-list-DRKVSQ6H.js";import{computed as t,createBlock as n,createVNode as r,defineComponent as i,mergeProps as a,normalizeClass as o,openBlock as s,resolveDynamicComponent as c,withCtx as l}from"vue";var u=i({__name:`list`,props:{node:{type:Object,required:!0},markdownParser:{type:Object,required:!0},nodeRenderers:{type:Object,required:!0},blockIndex:{type:Number,required:!1},parentNode:{type:Object,required:!1},prevNode:{type:Object,required:!1},nextNode:{type:Object,required:!1},nodeKey:{type:String,required:!0},deep:{type:Number,required:!0}},setup(i){let u=i,d=t(()=>u.node.children.some(e=>typeof e.checked==`boolean`)),f=t(()=>u.node.ordered?`ol`:`ul`),p=t(()=>d.value?`task-list`:u.node.ordered?`ordered-list`:`unordered-list`),m=t(()=>{let e=`pl-5 leading-6 whitespace-normal`;return p.value===`ordered-list`?`${e} list-decimal`:`${e} list-disc`});return(t,d)=>(s(),n(c(f.value),{"data-stream-markdown":p.value,class:o(m.value)},{default:l(()=>[r(e,a(u,{"parent-node":i.node,nodes:i.node.children,deep:i.deep+1}),null,16,[`parent-node`,`nodes`,`deep`])]),_:1},8,[`data-stream-markdown`,`class`]))}});export{u as default};
@@ -1 +1 @@
1
- import{t as e}from"./node-list-CTXWVPv3.js";import{computed as t,createBlock as n,createElementBlock as r,createElementVNode as i,createVNode as a,defineComponent as o,mergeProps as s,openBlock as c}from"vue";const l={"data-stream-markdown":`list-item`,class:`py-1 pl-1 [&_p]:m-0`},u={key:0,"data-stream-markdown":`task-list-item`,class:`[&_p]:inline-block`},d=[`checked`];var f=o({__name:`list-item`,props:{node:{type:Object,required:!0},markdownParser:{type:Object,required:!0},nodeRenderers:{type:Object,required:!0},blockIndex:{type:Number,required:!1},parentNode:{type:Object,required:!1},prevNode:{type:Object,required:!1},nextNode:{type:Object,required:!1},nodeKey:{type:String,required:!0},deep:{type:Number,required:!0}},setup(o){let f=o,p=t(()=>typeof f.node.checked==`boolean`),m=t(()=>!!f.node.checked);return(t,h)=>(c(),r(`li`,l,[p.value?(c(),r(`p`,u,[i(`input`,{"data-stream-markdown":`task-list-item-checkbox`,class:`mr-2 align-middle`,type:`checkbox`,checked:m.value,disabled:``},null,8,d),a(e,s(f,{"parent-node":o.node,nodes:o.node.children,deep:o.deep+1}),null,16,[`parent-node`,`nodes`,`deep`])])):(c(),n(e,s({key:1},f,{"parent-node":o.node,nodes:o.node.children,deep:o.deep+1}),null,16,[`parent-node`,`nodes`,`deep`]))]))}});export{f as default};
1
+ import{t as e}from"./node-list-DRKVSQ6H.js";import{computed as t,createBlock as n,createElementBlock as r,createElementVNode as i,createVNode as a,defineComponent as o,mergeProps as s,openBlock as c}from"vue";const l={"data-stream-markdown":`list-item`,class:`py-1 pl-1 [&_p]:m-0`},u={key:0,"data-stream-markdown":`task-list-item`,class:`[&_p]:inline-block`},d=[`checked`];var f=o({__name:`list-item`,props:{node:{type:Object,required:!0},markdownParser:{type:Object,required:!0},nodeRenderers:{type:Object,required:!0},blockIndex:{type:Number,required:!1},parentNode:{type:Object,required:!1},prevNode:{type:Object,required:!1},nextNode:{type:Object,required:!1},nodeKey:{type:String,required:!0},deep:{type:Number,required:!0}},setup(o){let f=o,p=t(()=>typeof f.node.checked==`boolean`),m=t(()=>!!f.node.checked);return(t,h)=>(c(),r(`li`,l,[p.value?(c(),r(`p`,u,[i(`input`,{"data-stream-markdown":`task-list-item-checkbox`,class:`mr-2 align-middle`,type:`checkbox`,checked:m.value,disabled:``},null,8,d),a(e,s(f,{"parent-node":o.node,nodes:o.node.children,deep:o.deep+1}),null,16,[`parent-node`,`nodes`,`deep`])])):(c(),n(e,s({key:1},f,{"parent-node":o.node,nodes:o.node.children,deep:o.deep+1}),null,16,[`parent-node`,`nodes`,`deep`]))]))}});export{f as default};
@@ -1 +1 @@
1
- import{c as e,y as t}from"./composables-CA0XaIPq.js";import{computed as n,createBlock as r,createElementBlock as i,defineComponent as a,openBlock as o,resolveDynamicComponent as s,toRefs as c,unref as l}from"vue";const u=[`innerHTML`];var d=a({__name:`math`,props:{node:{type:Object,required:!0},markdownParser:{type:Object,required:!0},nodeRenderers:{type:Object,required:!0},blockIndex:{type:Number,required:!1},parentNode:{type:Object,required:!1},prevNode:{type:Object,required:!1},nextNode:{type:Object,required:!1},nodeKey:{type:String,required:!0},deep:{type:Number,required:!0},throttle:{type:Number,required:!1,default:300}},setup(a){let d=a,{cdnOptions:f,katexOptions:p,uiComponents:m}=t(),{node:h,throttle:g}=c(d),{html:_,error:v,errorMessage:y}=e({node:h,katexOptions:p,throttle:g,cdnOptions:f.value}),b=n(()=>p.value?.errorComponent??m.value.ErrorComponent);return(e,t)=>l(v)?(o(),r(s(b.value),{key:0,variant:`katex`,message:l(y)},null,8,[`message`])):(o(),i(`div`,{key:1,"data-stream-markdown":`math`,class:`my-4 text-center`,innerHTML:l(_)},null,8,u))}});export{d as default};
1
+ import{c as e,y as t}from"./composables-Dt9tB3RV.js";import{computed as n,createBlock as r,createElementBlock as i,defineComponent as a,openBlock as o,resolveDynamicComponent as s,toRefs as c,unref as l}from"vue";const u=[`innerHTML`];var d=a({__name:`math`,props:{node:{type:Object,required:!0},markdownParser:{type:Object,required:!0},nodeRenderers:{type:Object,required:!0},blockIndex:{type:Number,required:!1},parentNode:{type:Object,required:!1},prevNode:{type:Object,required:!1},nextNode:{type:Object,required:!1},nodeKey:{type:String,required:!0},deep:{type:Number,required:!0},throttle:{type:Number,required:!1,default:300}},setup(a){let d=a,{cdnOptions:f,katexOptions:p,uiComponents:m}=t(),{node:h,throttle:g}=c(d),{html:_,error:v,errorMessage:y}=e({node:h,katexOptions:p,throttle:g,cdnOptions:f.value}),b=n(()=>p.value?.errorComponent??m.value.ErrorComponent);return(e,t)=>l(v)?(o(),r(s(b.value),{key:0,variant:`katex`,message:l(y)},null,8,[`message`])):(o(),i(`div`,{key:1,"data-stream-markdown":`math`,class:`my-4 text-center`,innerHTML:l(_)},null,8,u))}});export{d as default};
@@ -1 +1 @@
1
- import{S as e,g as t,o as n,v as r,y as i}from"./composables-CA0XaIPq.js";import{Fragment as a,computed as o,createBlock as s,createCommentVNode as c,createElementBlock as l,createElementVNode as u,defineComponent as d,mergeProps as f,nextTick as p,normalizeStyle as m,openBlock as h,ref as g,renderList as _,resolveDynamicComponent as v,unref as y,watch as b,withCtx as x}from"vue";import{useResizeObserver as S}from"@vueuse/core";const C=[`innerHTML`];var w=d({__name:`mermaid`,props:{node:{type:Object,required:!0},markdownParser:{type:Object,required:!0},nodeRenderers:{type:Object,required:!0},blockIndex:{type:Number,required:!1},parentNode:{type:Object,required:!1},prevNode:{type:Object,required:!1},nextNode:{type:Object,required:!1},nodeKey:{type:String,required:!0},deep:{type:Number,required:!0},interactive:{type:Boolean,required:!1,default:!0},throttle:{type:Number,required:!1,default:300},minHeight:{type:Number,required:!1,default:60},immediateRender:{type:Boolean,required:!1,default:!1},containerHeight:{type:[String,Number],required:!1}},setup(d){let w=d,{cdnOptions:T,controls:E,mermaidOptions:D,shikiOptions:O,isDark:k,uiComponents:A}=i(),{isControlEnabled:j,getControlValue:M,resolveControls:N}=r({controls:E}),P=o(()=>j(`mermaid.position`)),F=o(()=>{let e=M(`mermaid.position`);return typeof e==`string`?e:`bottom-right`}),I=g(!1),L=g(!1),R=g(),z=g(),B=g(),V=o(()=>w.node.value.trim()),H=o(()=>!!w.node.loading),U=o(()=>!R.value&&(H.value||!I.value)),W=o(()=>D.value?.errorComponent??A.value.ErrorComponent),G=g(0),K=o(()=>typeof w.containerHeight==`string`||typeof w.containerHeight==`number`?w.containerHeight:G.value?`${G.value}px`:`auto`),{shouldRender:q}=t({targetRef:B,immediate:w.immediateRender}),{renderMermaid:J}=n({mermaidOptions:D,cdnOptions:T,shikiOptions:O,isDark:k});function Y(){if(w.containerHeight||!B.value)return;let e=B.value.querySelector(`[data-stream-markdown="mermaid"] svg`);if(!e)return;let t=0,n=0,r=e.getAttribute(`viewBox`),i=e.getAttribute(`width`),a=e.getAttribute(`height`);if(r){let e=r.split(` `);e.length===4&&(t=Number.parseFloat(e[2]),n=Number.parseFloat(e[3]))}if((!t||!n)&&i&&a&&(t=Number.parseFloat(i),n=Number.parseFloat(a)),Number.isNaN(t)||Number.isNaN(n)||t<=0||n<=0){let r=e.getBBox();r&&r.width>0&&r.height>0&&(t=r.width,n=r.height)}if(t>0&&n>0){let e=n/t,{width:r}=B.value.getBoundingClientRect(),i=r*e;i>n?G.value=n:G.value=i}}let X=e(w.throttle,async()=>{if(!q.value)return;let{valid:e,svg:t,error:n}=await J(V.value);e?(R.value=t,p(()=>{Y()})):z.value=n,I.value=!0});function Z(){L.value=!0,I.value=!1,X()}let Q=o(()=>N(`mermaid`,[],w));return b(()=>[V.value,D.value,k.value,H.value],X,{immediate:!0}),b(U,(e,t)=>{L.value||!e&&t&&Z()},{immediate:!0}),b(q,(e,t)=>{e&&!t&&Z()}),w.containerHeight||S(B,()=>{Y()}),(e,t)=>(h(),l(`div`,{ref_key:`containerRef`,ref:B,"data-stream-markdown":`mermaid-previewer`,class:`text-center`,style:m({minHeight:`${d.minHeight}px`,height:K.value})},[R.value?c(`v-if`,!0):(h(),l(a,{key:0},[U.value?(h(),s(v(y(A).Spin),{key:0,size:`large`})):(h(),s(v(W.value),{key:1,class:`p-4`,variant:`mermaid`,message:z.value,"show-icon":!1},null,8,[`message`]))],64)),(h(),s(v(y(A).ZoomContainer),{"show-control":P.value,position:F.value,interactive:d.interactive},{controls:x(e=>[(h(!0),l(a,null,_(Q.value,t=>(h(),s(v(y(A).Button),f({ref_for:!0},{...e,...t},{key:t.key,onClick:t.onClick}),null,16,[`onClick`]))),128))]),default:x(()=>[u(`div`,{"data-stream-markdown":`mermaid`,class:`flex select-none justify-center [&>svg]:!bg-transparent`,innerHTML:R.value},null,8,C)]),_:1},8,[`show-control`,`position`,`interactive`]))],4))}});export{w as default};
1
+ import{S as e,g as t,o as n,v as r,y as i}from"./composables-Dt9tB3RV.js";import{Fragment as a,computed as o,createBlock as s,createCommentVNode as c,createElementBlock as l,createElementVNode as u,defineComponent as d,mergeProps as f,nextTick as p,normalizeStyle as m,openBlock as h,ref as g,renderList as _,resolveDynamicComponent as v,unref as y,watch as b,withCtx as x}from"vue";import{useResizeObserver as S}from"@vueuse/core";const C=[`innerHTML`];var w=d({__name:`mermaid`,props:{node:{type:Object,required:!0},markdownParser:{type:Object,required:!0},nodeRenderers:{type:Object,required:!0},blockIndex:{type:Number,required:!1},parentNode:{type:Object,required:!1},prevNode:{type:Object,required:!1},nextNode:{type:Object,required:!1},nodeKey:{type:String,required:!0},deep:{type:Number,required:!0},interactive:{type:Boolean,required:!1,default:!0},throttle:{type:Number,required:!1,default:300},minHeight:{type:Number,required:!1,default:60},immediateRender:{type:Boolean,required:!1,default:!1},containerHeight:{type:[String,Number],required:!1}},setup(d){let w=d,{cdnOptions:T,controls:E,mermaidOptions:D,shikiOptions:O,isDark:k,uiComponents:A}=i(),{isControlEnabled:j,getControlValue:M,resolveControls:N}=r({controls:E}),P=o(()=>j(`mermaid.position`)),F=o(()=>{let e=M(`mermaid.position`);return typeof e==`string`?e:`bottom-right`}),I=g(!1),L=g(!1),R=g(),z=g(),B=g(),V=o(()=>w.node.value.trim()),H=o(()=>!!w.node.loading),U=o(()=>!R.value&&(H.value||!I.value)),W=o(()=>D.value?.errorComponent??A.value.ErrorComponent),G=g(0),K=o(()=>typeof w.containerHeight==`string`||typeof w.containerHeight==`number`?w.containerHeight:G.value?`${G.value}px`:`auto`),{shouldRender:q}=t({targetRef:B,immediate:w.immediateRender}),{renderMermaid:J}=n({mermaidOptions:D,cdnOptions:T,shikiOptions:O,isDark:k});function Y(){if(w.containerHeight||!B.value)return;let e=B.value.querySelector(`[data-stream-markdown="mermaid"] svg`);if(!e)return;let t=0,n=0,r=e.getAttribute(`viewBox`),i=e.getAttribute(`width`),a=e.getAttribute(`height`);if(r){let e=r.split(` `);e.length===4&&(t=Number.parseFloat(e[2]),n=Number.parseFloat(e[3]))}if((!t||!n)&&i&&a&&(t=Number.parseFloat(i),n=Number.parseFloat(a)),Number.isNaN(t)||Number.isNaN(n)||t<=0||n<=0){let r=e.getBBox();r&&r.width>0&&r.height>0&&(t=r.width,n=r.height)}if(t>0&&n>0){let e=n/t,{width:r}=B.value.getBoundingClientRect(),i=r*e;i>n?G.value=n:G.value=i}}let X=e(w.throttle,async()=>{if(!q.value)return;let{valid:e,svg:t,error:n}=await J(V.value);e?(R.value=t,p(()=>{Y()})):z.value=n,I.value=!0});function Z(){L.value=!0,I.value=!1,X()}let Q=o(()=>N(`mermaid`,[],w));return b(()=>[V.value,D.value,k.value,H.value],X,{immediate:!0}),b(U,(e,t)=>{L.value||!e&&t&&Z()},{immediate:!0}),b(q,(e,t)=>{e&&!t&&Z()}),w.containerHeight||S(B,()=>{Y()}),(e,t)=>(h(),l(`div`,{ref_key:`containerRef`,ref:B,"data-stream-markdown":`mermaid-previewer`,class:`text-center`,style:m({minHeight:`${d.minHeight}px`,height:K.value})},[R.value?c(`v-if`,!0):(h(),l(a,{key:0},[U.value?(h(),s(v(y(A).Spin),{key:0,size:`large`})):(h(),s(v(W.value),{key:1,class:`p-4`,variant:`mermaid`,message:z.value,"show-icon":!1},null,8,[`message`]))],64)),(h(),s(v(y(A).ZoomContainer),{"show-control":P.value,position:F.value,interactive:d.interactive},{controls:x(e=>[(h(!0),l(a,null,_(Q.value,t=>(h(),s(v(y(A).Button),f({ref_for:!0},{...e,...t},{key:t.key,onClick:t.onClick}),null,16,[`onClick`]))),128))]),default:x(()=>[u(`div`,{"data-stream-markdown":`mermaid`,class:`flex select-none justify-center [&>svg]:!bg-transparent`,innerHTML:R.value},null,8,C)]),_:1},8,[`show-control`,`position`,`interactive`]))],4))}});export{w as default};
@@ -0,0 +1 @@
1
+ import{b as e}from"./src-7d8hW45I.js";import{Fragment as t,Teleport as n,Transition as r,computed as i,createBlock as a,createCommentVNode as o,createElementBlock as s,createElementVNode as c,createTextVNode as l,createVNode as u,defineComponent as d,mergeModels as f,normalizeStyle as p,onMounted as m,openBlock as h,ref as g,renderSlot as _,toDisplayString as v,unref as y,useModel as b,useSlots as x,withCtx as S}from"vue";import{createReusableTemplate as C,useEventListener as w}from"@vueuse/core";const T={"data-stream-markdown":`modal-body`,class:`flex-1 basis-0 overflow-auto`};var E=d({__name:`modal`,props:f({title:{type:String,required:!1},zIndex:{type:Number,required:!1,default:9999},modalStyle:{type:Object,required:!1},headerStyle:{type:Object,required:!1},transition:{type:String,required:!1,default:`stream-markdown-modal`},close:{type:Function,required:!1},open:{type:Boolean,required:!1}},{open:{type:Boolean,required:!1,default:!1},openModifiers:{}}),emits:[`update:open`],setup(d){let f=d,E=x(),D=b(d,`open`),O=g(),[k,A]=C(),j=i(()=>({...f.modalStyle,zIndex:f.zIndex})),M=i(()=>!!f.title||!!E.title||!!E.extra);return m(()=>{O.value=e()||document.body,w(document,`keyup`,e=>{(e.key===`Escape`||e.key===`Esc`)&&(f.close?f.close():D.value=!1)})}),(e,i)=>(h(),s(t,null,[u(y(k),null,{default:S(()=>[D.value?(h(),s(`div`,{key:0,"data-stream-markdown":`modal`,class:`bg-background flex flex-col inset-0 fixed`,style:p(j.value)},[M.value?(h(),s(`header`,{key:0,"data-stream-markdown":`modal-header`,class:`px-4 py-2 flex shrink-0 items-center justify-between relative [&>*:last-child]:flex [&>*:first-child]:flex-1 [&>*:last-child]:flex-1 [&>*:nth-child(2)]:left-1/2 [&>*:last-child]:justify-end [&>*:nth-child(2)]:absolute [&>*:nth-child(2)]:-translate-x-1/2`,style:p(d.headerStyle)},[_(e.$slots,`title`,{},()=>[l(v(d.title),1)]),_(e.$slots,`header-center`,{},()=>[i[0]||=c(`div`,null,null,-1)]),_(e.$slots,`actions`)],4)):o(`v-if`,!0),c(`main`,T,[_(e.$slots,`default`)])],4)):o(`v-if`,!0)]),_:3}),O.value?(h(),a(n,{key:0,to:O.value},[d.transition?(h(),a(r,{key:0,name:d.transition,appear:``},{default:S(()=>[u(y(A))]),_:1},8,[`name`])):(h(),a(y(A),{key:1}))],8,[`to`])):o(`v-if`,!0)],64))}});export{E as default};
@@ -0,0 +1 @@
1
+ import{t as e}from"./rolldown-runtime-BbypZo7q.js";import{y as t}from"./composables-Dt9tB3RV.js";import{Fragment as n,Transition as r,computed as i,createBlock as a,createElementBlock as o,defineComponent as s,openBlock as c,renderList as l,resolveDynamicComponent as u,unref as d,withCtx as f}from"vue";var p=s({inheritAttrs:!1,__name:`node-list`,props:{markdownParser:{type:Object,required:!1},nodeRenderers:{type:Object,required:!1},nodes:{type:Array,required:!1,default:()=>[]},nodeKey:{type:String,required:!1},blockIndex:{type:Number,required:!1,default:0},parentNode:{type:Object,required:!1},prevNode:{type:Object,required:!1},nextNode:{type:Object,required:!1},deep:{type:Number,required:!0}},setup(e){let s=e,{enableAnimate:p,animation:m,blocks:h,nodeRenderers:g,markdownParser:_}=t(),v=i(()=>s.nodeRenderers?s.nodeRenderers:g.value),y=i(()=>s.markdownParser??_),b=i(()=>{let e=t=>{let n=h.value[t];return n&&!n.children.length?e(t-1):n};return e(s.blockIndex-1)}),x=i(()=>{let e=t=>{let n=h.value[t];return n&&!n.children.length?e(t+1):n};return e(s.blockIndex+1)}),S=i(()=>s.nodes.map((e,t)=>({node:e,index:t,key:O(e,t),component:T(e),prevNode:E(t),nextNode:D(t)}))),C=[`code`],w=i(()=>`stream-markdown-${m.value}`);function T(e){return v.value[e.type]||null}function E(e){let t=s.nodes[e-1];if(t)return t;if(!(s.deep>0))return b.value?.children[b.value.children.length-1]}function D(e){let t=s.nodes[e+1];if(t)return t;if(!(s.deep>0))return x.value?.children[0]}function O(e,t){let n=`${s.nodeKey||`stream-markdown`}-${e.type}`;return e.type===`footnoteReference`||e.type===`footnoteDefinition`?`${n}-${e.identifier}`:`${n}-${t}`}return(t,i)=>(c(!0),o(n,null,l(S.value,t=>(c(),o(n,{key:t.key},[d(p)&&!C.includes(t.node.type)?(c(),a(r,{key:0,name:w.value,appear:``},{default:f(()=>[(c(),a(u(t.component),{"markdown-parser":y.value,"node-renderers":v.value,deep:e.deep,node:t.node,"parent-node":e.parentNode,"prev-node":t.prevNode,"next-node":t.nextNode,"node-key":t.key},null,8,[`markdown-parser`,`node-renderers`,`deep`,`node`,`parent-node`,`prev-node`,`next-node`,`node-key`]))]),_:2},1032,[`name`])):(c(),a(u(t.component),{key:1,"markdown-parser":y.value,"node-renderers":v.value,deep:e.deep,node:t.node,"parent-node":e.parentNode,"prev-node":t.prevNode,"next-node":t.nextNode,"node-key":t.key},null,8,[`markdown-parser`,`node-renderers`,`deep`,`node`,`parent-node`,`prev-node`,`next-node`,`node-key`]))],64))),128))}}),m=e({default:()=>h}),h=p;export{m as n,h as t};
@@ -0,0 +1 @@
1
+ import{G as e}from"./src-7d8hW45I.js";import{t}from"./node-list-DRKVSQ6H.js";import{n}from"./dist-NemZ_xNm.js";import{computed as r,createElementBlock as i,createVNode as a,defineComponent as o,mergeProps as s,normalizeStyle as c,openBlock as l}from"vue";var u=o({__name:`paragraph`,props:{node:{type:Object,required:!0},markdownParser:{type:Object,required:!0},nodeRenderers:{type:Object,required:!0},blockIndex:{type:Number,required:!1},parentNode:{type:Object,required:!1},prevNode:{type:Object,required:!1},nextNode:{type:Object,required:!1},nodeKey:{type:String,required:!0},deep:{type:Number,required:!0}},setup(o){let u=o,d=r(()=>{let e=u.parentNode?.type,t=u.nextNode?.type;return e!==`listItem`&&t===`list`?`0.5rem`:``}),f=r(()=>u.deep===0&&[...[...new Set(n(u.node.children,e=>e.type))]].every(e)?1.75:``);return(e,n)=>(l(),i(`p`,{"data-stream-markdown":`paragraph`,class:`my-4 align-middle transition-[height] duration-[var(--default-transition-duration)] ease`,style:c({marginBottom:d.value,lineHeight:f.value})},[a(t,s(u,{"parent-node":o.node,nodes:o.node.children,deep:o.deep+1}),null,16,[`parent-node`,`nodes`,`deep`])],4))}});export{u as default};
@@ -1 +1 @@
1
- import{t as e}from"./rolldown-runtime-BbypZo7q.js";import{y as t}from"./composables-CA0XaIPq.js";import{Fragment as n,createBlock as r,createElementBlock as i,defineComponent as a,mergeModels as o,openBlock as s,renderList as c,resolveDynamicComponent as l,unref as u,useModel as d}from"vue";const f={"data-stream-markdown":`segmented`,class:`p-0.5 rounded-md flex gap-1 items-center`};var p=a({__name:`segmented`,props:o({options:{type:Array,required:!1,default:()=>[]},buttonStyle:{type:Object,required:!1,default:()=>({})},value:{type:String,required:!1}},{value:{type:String,required:!1,default:``},valueModifiers:{}}),emits:o([`change`],[`update:value`]),setup(e,{emit:a}){let o=e,p=a,{uiComponents:m}=t(),h=d(e,`value`);o.options.length&&!h.value&&(h.value=String(o.options[0].value));function g(e){return h.value===e.value}function _(e){return{paddingBlock:`0.25rem`,backgroundColor:g(e)?`var(--accent)`:void 0,...o.buttonStyle}}function v(e){h.value=String(e.value),p(`change`,h.value)}return(t,a)=>(s(),i(`div`,f,[(s(!0),i(n,null,c(e.options,e=>(s(),r(l(u(m).Button),{key:e.value,variant:`text`,icon:e.icon,name:e.label,"button-style":_(e),"data-active":g(e),onClick:()=>v(e)},null,8,[`icon`,`name`,`button-style`,`data-active`,`onClick`]))),128))]))}}),m=e({default:()=>h}),h=p;export{m as n,h as t};
1
+ import{t as e}from"./rolldown-runtime-BbypZo7q.js";import{y as t}from"./composables-Dt9tB3RV.js";import{Fragment as n,createBlock as r,createElementBlock as i,defineComponent as a,mergeModels as o,openBlock as s,renderList as c,resolveDynamicComponent as l,unref as u,useModel as d}from"vue";const f={"data-stream-markdown":`segmented`,class:`p-0.5 rounded-md flex gap-1 items-center`};var p=a({__name:`segmented`,props:o({options:{type:Array,required:!1,default:()=>[]},buttonStyle:{type:Object,required:!1,default:()=>({})},value:{type:String,required:!1}},{value:{type:String,required:!1,default:``},valueModifiers:{}}),emits:o([`change`],[`update:value`]),setup(e,{emit:a}){let o=e,p=a,{uiComponents:m}=t(),h=d(e,`value`);o.options.length&&!h.value&&(h.value=String(o.options[0].value));function g(e){return h.value===e.value}function _(e){return{paddingBlock:`0.25rem`,backgroundColor:g(e)?`var(--accent)`:void 0,...o.buttonStyle}}function v(e){h.value=String(e.value),p(`change`,h.value)}return(t,a)=>(s(),i(`div`,f,[(s(!0),i(n,null,c(e.options,e=>(s(),r(l(u(m).Button),{key:e.value,variant:`text`,icon:e.icon,name:e.label,"button-style":_(e),"data-active":g(e),onClick:()=>v(e)},null,8,[`icon`,`name`,`button-style`,`data-active`,`onClick`]))),128))]))}}),m=e({default:()=>h}),h=p;export{m as n,h as t};
@@ -1 +1 @@
1
- import{b as e,i as t,y as n}from"./composables-CA0XaIPq.js";import{t as r}from"./vanilla-renderer-C8EIjICY.js";import{Transition as i,computed as a,createBlock as o,createElementBlock as s,createVNode as c,defineAsyncComponent as l,defineComponent as u,normalizeStyle as d,openBlock as f,ref as p,unref as m,watch as h,withCtx as g}from"vue";import{useResizeObserver as _}from"@vueuse/core";var v=u({__name:`shiki`,props:{node:{type:Object,required:!0},markdownParser:{type:Object,required:!0},nodeRenderers:{type:Object,required:!0},blockIndex:{type:Number,required:!1},parentNode:{type:Object,required:!1},prevNode:{type:Object,required:!1},nextNode:{type:Object,required:!1},nodeKey:{type:String,required:!0},deep:{type:Number,required:!0}},setup(u){let v=u,{cdnOptions:y,codeOptions:b,isDark:x,shikiOptions:S}=n(),C=l(()=>import(`./shiki-token-renderer-D2LHWo-W.js`)),w=a(()=>v.node.value.trim()),T=a(()=>v.node.lang||``),{showLineNumbers:E}=e({codeOptions:b,language:T}),{getShiki:D,codeToTokens:O}=t({cdnOptions:y,lang:T,shikiOptions:S,isDark:x}),k=p(),A=p(),j=p(),M=a(()=>A.value?.$el),N=_(M,()=>{j.value=M.value?.clientHeight});return h(()=>[w.value,S.value,x.value],async()=>{k.value=await O(w.value),N.stop()},{immediate:!0}),(e,t)=>(f(),o(i,{name:`stream-markdown-code-switch`,mode:`out-in`},{default:g(()=>[k.value?(f(),s(`div`,{key:0,"data-stream-markdown":`shiki`,style:d({minHeight:j.value?`${j.value}px`:void 0})},[c(m(C),{"data-stream-markdown":`code`,"data-show-line-numbers":m(E),"show-line-numbers":m(E),tokens:k.value,"get-shiki":m(D)},null,8,[`data-show-line-numbers`,`show-line-numbers`,`tokens`,`get-shiki`])],4)):(f(),o(r,{key:1,ref_key:`vanillaRef`,ref:A,node:u.node},null,8,[`node`]))]),_:1}))}});export{v as default};
1
+ import{b as e,i as t,y as n}from"./composables-Dt9tB3RV.js";import{t as r}from"./vanilla-renderer-CMaJ1QG4.js";import{Transition as i,computed as a,createBlock as o,createElementBlock as s,createVNode as c,defineAsyncComponent as l,defineComponent as u,normalizeStyle as d,openBlock as f,ref as p,unref as m,watch as h,withCtx as g}from"vue";import{useResizeObserver as _}from"@vueuse/core";var v=u({__name:`shiki`,props:{node:{type:Object,required:!0},markdownParser:{type:Object,required:!0},nodeRenderers:{type:Object,required:!0},blockIndex:{type:Number,required:!1},parentNode:{type:Object,required:!1},prevNode:{type:Object,required:!1},nextNode:{type:Object,required:!1},nodeKey:{type:String,required:!0},deep:{type:Number,required:!0}},setup(u){let v=u,{cdnOptions:y,codeOptions:b,isDark:x,shikiOptions:S}=n(),C=l(()=>import(`./shiki-token-renderer-D2LHWo-W.js`)),w=a(()=>v.node.value.trim()),T=a(()=>v.node.lang||``),{showLineNumbers:E}=e({codeOptions:b,language:T}),{getShiki:D,codeToTokens:O}=t({cdnOptions:y,lang:T,shikiOptions:S,isDark:x}),k=p(),A=p(),j=p(),M=a(()=>A.value?.$el),N=_(M,()=>{j.value=M.value?.clientHeight});return h(()=>[w.value,S.value,x.value],async()=>{k.value=await O(w.value),N.stop()},{immediate:!0}),(e,t)=>(f(),o(i,{name:`stream-markdown-code-switch`,mode:`out-in`},{default:g(()=>[k.value?(f(),s(`div`,{key:0,"data-stream-markdown":`shiki`,style:d({minHeight:j.value?`${j.value}px`:void 0})},[c(m(C),{"data-stream-markdown":`code`,"data-show-line-numbers":m(E),"show-line-numbers":m(E),tokens:k.value,"get-shiki":m(D)},null,8,[`data-show-line-numbers`,`show-line-numbers`,`tokens`,`get-shiki`])],4)):(f(),o(r,{key:1,ref_key:`vanillaRef`,ref:A,node:u.node},null,8,[`node`]))]),_:1}))}});export{v as default};
@@ -0,0 +1,7 @@
1
+ const e=[`fade-in`,`blur-in`,`slide-up`],t=e[0],n={block:` ▋`,circle:` ●`},r={allowedLinkPrefixes:[`*`],allowedImagePrefixes:[`*`],allowedProtocols:[`*`],allowDataImages:!0},i=[`text`,`inlineCode`,`inlineMath`,`strong`,`emphasis`,`delete`,`footnoteReference`,`footnoteDefinition`,`link`,`linkReference`],a=[`blockquote`,`delete`,`emphasis`,`footnoteDefinition`,`footnoteReference`,`heading`,`image`,`inlineCode`,`inlineMath`,`link`,`list`,`listItem`,`paragraph`,`strong`,`table`,`text`,`thematicBreak`,`yaml`],o=`background.foreground.card.card-foreground.popover.popover-foreground.primary.primary-foreground.secondary.secondary-foreground.muted.muted-foreground.accent.accent-foreground.destructive.border.input.ring.chart-1.chart-2.chart-3.chart-4.chart-5.sidebar.sidebar-foreground.sidebar-primary.sidebar-primary-foreground.sidebar-accent.sidebar-accent-foreground.sidebar-border.sidebar-ring`.split(`.`),s=`en-US`,c=[`en-US`,`zh-CN`];function l(e){return i.includes(e)}let u=!1;function d(){return typeof window<`u`}function f(){return typeof window>`u`}function p(){return f()?!1:u?!0:(u=`noModule`in document.createElement(`script`),u)}function m(e){return Function(`url`,`return import(url)`)(e)}function h(e){return e===`umd`?`umd`:`esm`}function g(e){return e!==!1}function _(e,t){return p()||!t?e:window[t]??null}function v(e,t){let n=e?.language?.[t];return{...e??{},...n??{}}}function y(e,t=!0){return typeof e==`boolean`?e:t}function b(e,t){try{if(typeof e==`boolean`)return e;let n=t.split(`.`),r=e;for(let e of n){if(typeof r!=`object`||!r)return;r=r[e]}return r}catch{return}}function x(e,t){return b(e,t)!==!1}function ee(e){return e.filter(e=>e.visible?.()??!0)}function S(e,t,n,r){let i=b(e,`${t}.customize`);return ee(typeof i==`function`?i(n,r):n)}const C=/\.[^/.]+$/;function w(e){return e?.endsWith(`/`)?e.slice(0,-1):`${e}`}function T(e,t,n){let r=typeof t==`string`?new Blob([t],{type:n}):t,i=URL.createObjectURL(r),a=document.createElement(`a`);a.href=i,a.download=e,document.body.appendChild(a),a.click(),document.body.removeChild(a),URL.revokeObjectURL(i)}async function te(e,t){let n=await(await fetch(e)).blob(),r=new URL(e,window.location.origin).pathname.split(`/`).pop()||``,i=r.split(`.`).pop(),a=r.includes(`.`)&&i!==void 0&&i.length<=4,o=``;if(a)o=r;else{let e=n.type,i=`png`;e.includes(`jpeg`)||e.includes(`jpg`)?i=`jpg`:e.includes(`png`)?i=`png`:e.includes(`svg`)?i=`svg`:e.includes(`gif`)?i=`gif`:e.includes(`webp`)&&(i=`webp`),o=`${(t||r||`image`).replace(C,``)}.${i}`}T(o,n,n.type)}function ne(e,t){let n=t?.scale??5;return new Promise((t,r)=>{let i=`data:image/svg+xml;base64,${btoa(unescape(encodeURIComponent(e)))}`,a=new Image;a.crossOrigin=`anonymous`,a.onload=()=>{let e=document.createElement(`canvas`),i=a.width*n,o=a.height*n;e.width=i,e.height=o;let s=e.getContext(`2d`);if(!s){r(Error(`Failed to create 2D canvas context for PNG export`));return}s.drawImage(a,0,0,i,o),e.toBlob(e=>{if(!e){r(Error(`Failed to create PNG blob`));return}t(e)},`image/png`)},a.onerror=()=>r(Error(`Failed to load SVG image`)),a.src=i})}function re(e){return typeof e==`function`?e():e}function E(e,t){if(typeof e!=`string`)return null;try{return new URL(e)}catch{if(t)try{return new URL(e,t)}catch{return null}if(e.startsWith(`/`)||e.startsWith(`./`)||e.startsWith(`../`))try{return new URL(e,`http://example.com`)}catch{return null}return null}}function ie(e){return typeof e==`string`?e.startsWith(`/`)||e.startsWith(`./`)||e.startsWith(`../`):!1}const ae=new Set([`https:`,`http:`,`irc:`,`ircs:`,`mailto:`,`xmpp:`,`blob:`]),D=new Set([`javascript:`,`data:`,`file:`,`vbscript:`]),O=/^https?:$/;function k(e,t,n,r=!1,i=!1,a=[]){if(!e)return null;if(typeof e==`string`&&e.startsWith(`#`)&&!i)try{if(new URL(e,`http://example.com`).hash===e)return e}catch{}if(typeof e==`string`&&e.startsWith(`data:`))return i&&r&&e.startsWith(`data:image/`)?e:null;if(typeof e==`string`&&e.startsWith(`blob:`)){try{if(new URL(e).protocol===`blob:`&&e.length>5){let t=e.substring(5);if(t&&t.length>0&&t!==`invalid`)return e}}catch{return null}return null}let o=E(e,n);if(!o||D.has(o.protocol)||!(ae.has(o.protocol)||a.includes(o.protocol)||a.includes(`*`)))return null;if(o.protocol===`mailto:`||!O.test(o.protocol))return o.href;let s=ie(e);return t.some(e=>{let t=E(e,n);return!t||t.origin!==o.origin?!1:o.href.startsWith(t.href)})?s?o.pathname+o.search+o.hash:o.href:t.includes(`*`)?o.protocol!==`https:`&&o.protocol!==`http:`?null:s?o.pathname+o.search+o.hash:o.href:null}function A(e,t,n={}){if(!e||n.loading)return e??null;let i={...r,...n.defaults,...t};return k(e,i[n.isImage?`allowedImagePrefixes`:`allowedLinkPrefixes`]??[`*`],i.defaultOrigin??``,i.allowDataImages??!0,n.isImage??!1,i.allowedProtocols??[`*`])}const j={"en-US":()=>import(`./en-US-kZa1cIuB.js`),"zh-CN":()=>import(`./zh-CN-HSoPiiwS.js`)},M={};function N(e,t){try{if(!e)return t;let n=t.split(`.`).reduce((e,t)=>{if(e&&typeof e==`object`&&t in e)return e[t]},e);return typeof n==`string`?n:t}catch{return t}}function P(e){return c.includes(e)}function F(e){if(e&&P(e))return e;let t=e?.toLowerCase()??``;return[`zh`,`zh-cn`,`zh-tw`].includes(t)?`zh-CN`:s}async function I(e){return M[e]||(M[e]=j[e]().then(e=>e.default)),await M[e]}async function L(e){return typeof e==`string`?await I(F(e)):e}function R(e){return typeof e==`string`?F(e):s}function z(e,t={}){return e&&typeof e==`object`||typeof e==`string`&&P(e)?e:F(e||t.htmlLanguage||t.navigatorLanguage)}function B(){return{request:(e,t=500)=>{if(d()&&`requestIdleCallback`in window)return window.requestIdleCallback(e,{timeout:t});let n=Date.now();return globalThis.setTimeout(()=>{e({didTimeout:!1,timeRemaining:()=>Math.max(0,50-(Date.now()-n))})},1)},cancel:e=>{d()&&`cancelIdleCallback`in window?window.cancelIdleCallback(e):globalThis.clearTimeout(e)}}}function V({rect:e,naturalWidth:t,naturalHeight:n,viewportWidth:r,viewportHeight:i,margin:a}){let o=r-a*2,s=i-a*2,c=Math.min(o/e.width,t/e.width),l=Math.min(s/e.height,n/e.height),u=Math.min(c,l,1),d=(r-e.width*u)/2,f=(i-e.height*u)/2;return{initialTransform:`translate3d(0, 0, 0) scale(1)`,targetTransform:`translate3d(${d-e.left}px, ${f-e.top}px, 0) scale(${u})`}}function H({originalRect:e,zoomRect:t,currentTransform:n}){let r=t.left+t.width/2,i=t.top+t.height/2,a=e.left+e.width/2,o=e.top+e.height/2,s=Math.min(e.width/t.width,e.height/t.height),c=a-r,l=o-i;if(n!==`none`)try{let e=new DOMMatrix(n).inverse(),t=new DOMPoint(c,l).matrixTransform(e);return`${n} translate3d(${t.x}px, ${t.y}px, 0) scale(${s})`}catch{return`${n} translate3d(${c}px, ${l}px, 0) scale(${s})`}return`translate3d(${c}px, ${l}px, 0) scale(${s})`}const U=`stream-markdown-overlay`;function W(){return d()?document.getElementById(U):null}const G=/"/g;function K(e){let t=[],n=[],r=Array.from(e.querySelectorAll(`thead th`));for(let e of r)t.push(e.textContent?.trim()||``);let i=Array.from(e.querySelectorAll(`tbody tr`));for(let e of i){let t=[],r=Array.from(e.querySelectorAll(`td`));for(let e of r)t.push(e.textContent?.trim()||``);n.push(t)}return{headers:t,rows:n}}function oe(e){let{headers:t,rows:n}=e,r=e=>{let t=!1,n=!1;for(let r=0;r<e.length;r+=1){let i=e[r];if(i===`"`){t=!0,n=!0;break}(i===`,`||i===`
2
+ `)&&(t=!0)}return t?n?`"${e.replace(G,`""`)}"`:`"${e}"`:e},i=t.length>0?n.length+1:n.length,a=Array.from({length:i}),o=0;t.length>0&&(a[o]=t.map(r).join(`,`),o+=1);for(let e of n)a[o]=e.map(r).join(`,`),o+=1;return a.join(`
3
+ `)}function q(e){let{headers:t,rows:n}=e,r=e=>{let t=!1;for(let n=0;n<e.length;n+=1){let r=e[n];if(r===` `||r===`
4
+ `||r===`\r`){t=!0;break}}if(!t)return e;let n=[];for(let t=0;t<e.length;t+=1){let r=e[t];r===` `?n.push(`\\t`):r===`
5
+ `?n.push(`\\n`):r===`\r`?n.push(`\\r`):n.push(r)}return n.join(``)},i=t.length>0?n.length+1:n.length,a=Array.from({length:i}),o=0;t.length>0&&(a[o]=t.map(r).join(` `),o+=1);for(let e of n)a[o]=e.map(r).join(` `),o+=1;return a.join(`
6
+ `)}function J(e){let t=!1;for(let n=0;n<e.length;n+=1){let r=e[n];if(r===`\\`||r===`|`){t=!0;break}}if(!t)return e;let n=[];for(let t=0;t<e.length;t+=1){let r=e[t];r===`\\`?n.push(`\\\\`):r===`|`?n.push(`\\|`):n.push(r)}return n.join(``)}function se(e){let{headers:t,rows:n}=e;if(t.length===0)return``;let r=Array.from({length:n.length+2}),i=0;r[i]=`| ${t.map(e=>J(e)).join(` | `)} |`,i+=1;let a=Array.from({length:t.length});for(let e=0;e<t.length;e+=1)a[e]=`---`;r[i]=`| ${a.join(` | `)} |`,i+=1;for(let e of n){if(e.length<t.length){let n=Array.from({length:t.length});for(let r=0;r<t.length;r+=1)n[r]=r<e.length?J(e[r]):``;r[i]=`| ${n.join(` | `)} |`,i+=1;continue}r[i]=`| ${e.map(e=>J(e)).join(` | `)} |`,i+=1}return r.join(`
7
+ `)}const ce=/^(?:hsl|rgb|oklch|lab|lch)\(/;function le(e){let t=e.trim();if(!(!t||ce.test(t)))return`hsl(${t})`}function ue(e,t){let n={};for(let r of e){let e=`--${r}`,i=le(t(e));i&&(n[e]=i)}return n}const de=/^[~^]/;function fe(e){return e.replace(de,``)}const pe={minZoom:.5,maxZoom:3,zoomStep:.1,wheelSensitivity:.01,initialZoom:1,initialTranslateX:0,initialTranslateY:0};function Y(e={}){return{...pe,...e}}function X(e,t,n){return Math.min(Math.max(e,t),n)}function Z(e={}){let t=Y(e);return{zoom:t.initialZoom,translateX:t.initialTranslateX,translateY:t.initialTranslateY}}function me(e,t={}){let{maxZoom:n,zoomStep:r}=Y(t);return e.zoom>=n?e:{...e,zoom:Math.min(e.zoom+r,n)}}function he(e,t={}){let{minZoom:n,zoomStep:r}=Y(t);return e.zoom<=n?e:{...e,zoom:Math.max(e.zoom-r,n)}}function ge(e={}){return Z(e)}function _e(e,t,n={}){let{minZoom:r,maxZoom:i}=Y(n);return{...e,zoom:X(t,r,i)}}function Q(e,t){return{x:e.x-t.translateX,y:e.y-t.translateY}}function ve(e,t){return{translateX:e.x-t.x,translateY:e.y-t.y}}function $(e,t){let n=e.x-t.x,r=e.y-t.y;return Math.sqrt(n*n+r*r)}function ye({state:e,rect:t,touches:n}){let[r,i]=n,a=$(r,i),o=(r.x+i.x)/2,s=(r.y+i.y)/2,c=t.width/2,l=t.height/2,u=o-t.left-c,d=s-t.top-l;return{initialDistance:a,initialZoom:e.zoom,initialTranslateX:e.translateX,initialTranslateY:e.translateY,centerX:u,centerY:d}}function be({rect:e,touches:t,touchState:n,options:r={}}){let[i,a]=t,{minZoom:o,maxZoom:s}=Y(r),c=$(i,a)/n.initialDistance,l=X(n.initialZoom*c,o,s),u=(i.x+a.x)/2,d=(i.y+a.y)/2,f=e.width/2,p=e.height/2,m=u-e.left-f,h=d-e.top-p,g=(n.centerX-n.initialTranslateX)/n.initialZoom,_=(n.centerY-n.initialTranslateY)/n.initialZoom;return{zoom:l,translateX:m-g*l,translateY:h-_*l}}function xe({state:e,point:t,rect:n,deltaY:r,ctrlKey:i,metaKey:a,options:o={}}){if(!i&&!a)return null;let{minZoom:s,maxZoom:c,wheelSensitivity:l}=Y(o),u=t.x-n.left,d=t.y-n.top,f=n.width/2,p=n.height/2,m=u-f,h=d-p,g=(m-e.translateX)/e.zoom,_=(h-e.translateY)/e.zoom,v=-r*l,y=X(e.zoom+v,s,c);return y===e.zoom?e:{zoom:y,translateX:m-g*y,translateY:h-_*y}}function Se(e){return{transform:`translate(${e.translateX}px, ${e.translateY}px) scale(${e.zoom})`}}function Ce(e){switch(e){case`top-left`:return{top:`0.5rem`,left:`0.5rem`};case`top-right`:return{top:`0.5rem`,right:`0.5rem`};case`top-center`:return{top:`0.5rem`,left:`50%`,transform:`translateX(-50%)`};case`bottom-left`:return{bottom:`0.5rem`,left:`0.5rem`};case`bottom-center`:return{bottom:`0.5rem`,left:`50%`,transform:`translateX(-50%)`};default:return{bottom:`0.5rem`,right:`0.5rem`}}}export{a as $,w as A,_ as B,B as C,R as D,z as E,b as F,l as G,g as H,x as I,e as J,s as K,y as L,te as M,ne as N,A as O,S as P,i as Q,v as R,V as S,L as T,d as U,h as V,p as W,t as X,n as Y,r as Z,se as _,xe as a,W as b,ge as c,me as d,o as et,he as f,oe as g,K as h,ye as i,T as j,re as k,Ce as l,ue as m,ve as n,Z as o,fe as p,c as q,be as r,Se as s,Q as t,_e as u,q as v,N as w,H as x,U as y,m as z};
@@ -1 +1 @@
1
- import{t as e}from"./node-list-CTXWVPv3.js";import{createElementBlock as t,createVNode as n,defineComponent as r,mergeProps as i,openBlock as a}from"vue";const o={"data-stream-markdown":`strong`,class:`font-semibold`};var s=r({__name:`strong`,props:{node:{type:Object,required:!0},markdownParser:{type:Object,required:!0},nodeRenderers:{type:Object,required:!0},blockIndex:{type:Number,required:!1},parentNode:{type:Object,required:!1},prevNode:{type:Object,required:!1},nextNode:{type:Object,required:!1},nodeKey:{type:String,required:!0},deep:{type:Number,required:!0}},setup(r){let s=r;return(c,l)=>(a(),t(`strong`,o,[n(e,i(s,{"parent-node":r.node,nodes:r.node.children,deep:r.deep+1}),null,16,[`parent-node`,`nodes`,`deep`])]))}});export{s as default};
1
+ import{t as e}from"./node-list-DRKVSQ6H.js";import{createElementBlock as t,createVNode as n,defineComponent as r,mergeProps as i,openBlock as a}from"vue";const o={"data-stream-markdown":`strong`,class:`font-semibold`};var s=r({__name:`strong`,props:{node:{type:Object,required:!0},markdownParser:{type:Object,required:!0},nodeRenderers:{type:Object,required:!0},blockIndex:{type:Number,required:!1},parentNode:{type:Object,required:!1},prevNode:{type:Object,required:!1},nextNode:{type:Object,required:!1},nodeKey:{type:String,required:!0},deep:{type:Number,required:!0}},setup(r){let s=r;return(c,l)=>(a(),t(`strong`,o,[n(e,i(s,{"parent-node":r.node,nodes:r.node.children,deep:r.deep+1}),null,16,[`parent-node`,`nodes`,`deep`])]))}});export{s as default};
@@ -0,0 +1 @@
1
+ import{d as e,v as t,y as n}from"./composables-Dt9tB3RV.js";import{_ as ee,g as te,h as ne,j as r,v as i}from"./src-7d8hW45I.js";import{t as a}from"./node-list-DRKVSQ6H.js";import{Fragment as o,computed as s,createBlock as c,createCommentVNode as l,createElementBlock as u,createElementVNode as d,createVNode as f,defineComponent as p,mergeProps as m,normalizeClass as h,openBlock as g,ref as _,renderList as v,resolveDynamicComponent as y,unref as b,withCtx as x,withModifiers as S}from"vue";import{useClipboard as C,useClipboardItems as w}from"@vueuse/core";const T={key:0,"data-stream-markdown":`table-controls`,class:`flex gap-1 w-full items-center justify-end`},E={"data-stream-markdown":`table-inner-wrapper`,class:`w-full overflow-x-auto`},re={"data-stream-markdown":`table-controls`,class:`flex gap-1 items-center`};var D=p({__name:`table`,props:{node:{type:Object,required:!0},markdownParser:{type:Object,required:!0},nodeRenderers:{type:Object,required:!0},blockIndex:{type:Number,required:!1},parentNode:{type:Object,required:!1},prevNode:{type:Object,required:!1},nextNode:{type:Object,required:!1},nodeKey:{type:String,required:!0},deep:{type:Number,required:!0}},setup(p){let D=p,{beforeDownload:ie,controls:ae,onCopied:oe,uiComponents:O}=n(),{t:k}=e(),{copy:A,copied:j}=C({legacy:!0}),{copy:M,copied:N,isSupported:P}=w(),F=s(()=>j.value||N.value),{isControlEnabled:I,resolveControls:L}=t({controls:ae}),R=s(()=>I(`table.copy`)),z=s(()=>I(`table.download`)),B=s(()=>I(`table.fullscreen`)),V=_(),H=_(),U=_(!1),W=s(()=>D.node.align||[]),G=s(()=>D.node.children?.[0]?.children??[]),K=s(()=>D.node.children.slice(1)),se=s(()=>D.markdownParser.hasLoadingNode(D.node.children));function q(e){return W.value[e]||`left`}function J(){return(U.value?H.value:V.value)?.$el??V.value?.$el??H.value?.$el}function Y(e){let t=J();if(!t)return null;let n=ne(t);switch(e){case`markdown`:return{content:ee(n),mimeType:`text/markdown`,extension:`md`};case`tsv`:return{content:i(n),mimeType:`text/tsv`,extension:`tsv`};default:return{content:te(n),mimeType:`text/csv`,extension:`csv`}}}async function ce(e){let t=J();if(!t||!P.value||typeof ClipboardItem>`u`){await A(e);return}try{await M([new ClipboardItem({"text/plain":new Blob([e],{type:`text/plain`}),"text/html":new Blob([t.outerHTML],{type:`text/html`})})])}catch{await A(e)}}let X=[{label:`CSV`,value:`csv`},{label:`TSV`,value:`tsv`},{label:`Markdown`,value:`markdown`}],le=s(()=>[{name:k(`button.copy`),key:`copy`,icon:F.value?`check`:`copy`,options:X,visible:()=>R.value,onClick:async(e,t)=>{let n=Y(t?.value||`csv`);n&&(await ce(n.content),oe(n.content))}},{name:k(`button.download`),key:`download`,icon:`download`,options:X,visible:()=>z.value,onClick:async(e,t)=>{let n=Y(t?.value||`csv`);n&&await ie({type:`table`,content:n.content})&&r(`table.${n.extension}`,n.content,n.mimeType)}},{name:U.value?k(`button.minimize`):k(`button.maximize`),key:`fullscreen`,icon:U.value?`minimize`:`maximize`,visible:()=>B.value,onClick:()=>U.value=!U.value}]),Z=s(()=>L(`table`,le.value,D)),Q=s(()=>Z.value.length>0);function $(e){return e.children||[e]}return(e,t)=>(g(),u(`div`,{"data-stream-markdown":`table-wrapper`,class:h([`my-4 flex flex-col gap-2`,Q.value&&`p-2 border border-border rounded-lg bg-muted/20`])},[Q.value?(g(),u(`div`,T,[(g(!0),u(o,null,v(Z.value,e=>(g(),c(y(b(O).Button),m({ref_for:!0},e,{key:e.key,onClick:e.onClick}),null,16,[`onClick`]))),128))])):l(`v-if`,!0),d(`div`,E,[(g(),c(y(b(O).Table),{ref_key:`tableRef`,ref:V,headers:G.value,rows:K.value,"get-align":q},{"header-cell":x(({cell:e})=>[f(a,m(D,{"parent-node":p.node,nodes:$(e),deep:p.deep+1}),null,16,[`parent-node`,`nodes`,`deep`])]),"body-cell":x(({cell:e})=>[f(a,m(D,{"parent-node":p.node,nodes:$(e),deep:p.deep+1}),null,16,[`parent-node`,`nodes`,`deep`])]),_:1},8,[`headers`,`rows`]))]),se.value?(g(),c(y(b(O).Spin),{key:1})):l(`v-if`,!0),(g(),c(y(b(O).Modal),{open:U.value,"onUpdate:open":t[1]||=e=>U.value=e,"header-style":{backgroundColor:`color-mix(in oklab, var(--muted) 80%, transparent)`,color:`var(--muted-foreground)`,borderBottom:`1px solid var(--border)`}},{title:x(()=>[...t[2]||=[d(`div`,null,null,-1)]]),actions:x(()=>[d(`div`,re,[(g(!0),u(o,null,v(Z.value,e=>(g(),c(y(b(O).Button),m({ref_for:!0},e,{key:e.key,onClick:e.onClick}),null,16,[`onClick`]))),128))])]),default:x(()=>[d(`div`,{"data-stream-markdown":`table-fullscreen`,class:`p-4 h-full overflow-auto [&_thead]:top-0 [&_thead]:sticky [&_thead]:z-10`,onClick:t[0]||=S(e=>U.value=!1,[`self`])},[(g(),c(y(b(O).Table),{ref_key:`fullscreenTableRef`,ref:H,headers:G.value,rows:K.value,"get-align":q},{"header-cell":x(({cell:e})=>[f(a,m(D,{"parent-node":p.node,nodes:$(e),deep:p.deep+1}),null,16,[`parent-node`,`nodes`,`deep`])]),"body-cell":x(({cell:e})=>[f(a,m(D,{"parent-node":p.node,nodes:$(e),deep:p.deep+1}),null,16,[`parent-node`,`nodes`,`deep`])]),_:1},8,[`headers`,`rows`]))])]),_:1},40,[`open`]))],2))}});export{D as default};
@@ -1 +1 @@
1
- import{t as e}from"./caret-C5reZkmT.js";import{computed as t,createBlock as n,createCommentVNode as r,createElementBlock as i,createTextVNode as a,defineComponent as o,openBlock as s,toDisplayString as c}from"vue";const l={"data-stream-markdown":`text`,class:`whitespace-pre-wrap break-words`};var u=o({inheritAttrs:!1,__name:`text`,props:{node:{type:Object,required:!0},markdownParser:{type:Object,required:!0},nodeRenderers:{type:Object,required:!0},blockIndex:{type:Number,required:!1},parentNode:{type:Object,required:!1},prevNode:{type:Object,required:!1},nextNode:{type:Object,required:!1},nodeKey:{type:String,required:!0},deep:{type:Number,required:!0}},setup(o){let u=o,d=t(()=>u.node.loading);return(t,u)=>(s(),i(`span`,l,[a(c(o.node.value)+` `,1),d.value?(s(),n(e,{key:0})):r(`v-if`,!0)]))}});export{u as default};
1
+ import{t as e}from"./caret-Bb6lmqsG.js";import{computed as t,createBlock as n,createCommentVNode as r,createElementBlock as i,createTextVNode as a,defineComponent as o,openBlock as s,toDisplayString as c}from"vue";const l={"data-stream-markdown":`text`,class:`whitespace-pre-wrap break-words`};var u=o({inheritAttrs:!1,__name:`text`,props:{node:{type:Object,required:!0},markdownParser:{type:Object,required:!0},nodeRenderers:{type:Object,required:!0},blockIndex:{type:Number,required:!1},parentNode:{type:Object,required:!1},prevNode:{type:Object,required:!1},nextNode:{type:Object,required:!1},nodeKey:{type:String,required:!0},deep:{type:Number,required:!0}},setup(o){let u=o,d=t(()=>u.node.loading);return(t,u)=>(s(),i(`span`,l,[a(c(o.node.value)+` `,1),d.value?(s(),n(e,{key:0})):r(`v-if`,!0)]))}});export{u as default};
@@ -0,0 +1 @@
1
+ import{h as e,y as t}from"./composables-Dt9tB3RV.js";import{b as n}from"./src-7d8hW45I.js";import{Fragment as r,Teleport as i,createBlock as a,createCommentVNode as o,createElementBlock as s,createElementVNode as c,defineComponent as l,mergeProps as u,normalizeStyle as d,openBlock as f,renderSlot as p,toDisplayString as m,toRefs as h,unref as g}from"vue";const _={"data-stream-markdown":`tooltip-overlay`,class:`text-sm px-2 py-1`};var v=l({inheritAttrs:!1,__name:`tooltip`,props:{content:{type:String,required:!1},trigger:{type:String,required:!1,default:`hover`},placement:{type:String,required:!1,default:`top`},delay:{type:[Number,Array],required:!1,default:()=>[100,100]}},setup(l,{expose:v}){let{placement:y,delay:b,trigger:x}=h(l),{hideTooltip:S}=t(),{referenceEl:C,floatingEl:w,open:T,appendTo:E,floatingStyle:D,show:O,hide:k,onMouseEnter:A,onMouseLeave:j,onClick:M,onFloatingEnter:N,onFloatingLeave:P}=e({hideTooltip:S,placement:y,delay:b,trigger:x,getContainer:()=>n()});return v({show:O,hide:k}),(e,t)=>(f(),s(r,null,[c(`span`,u(e.$attrs,{ref_key:`_referenceEl`,ref:C,onMouseenter:t[0]||=(...e)=>g(A)&&g(A)(...e),onMouseleave:t[1]||=(...e)=>g(j)&&g(j)(...e),onClick:t[2]||=(...e)=>g(M)&&g(M)(...e)}),[p(e.$slots,`default`)],16),g(E)?(f(),a(i,{key:0,to:g(E)},[g(T)?(f(),s(`div`,{key:0,ref_key:`_floatingEl`,ref:w,style:d(g(D)),"data-stream-markdown":`tooltip`,class:`text-popover-foreground border border-border rounded-lg bg-popover z-[10000]`,onMouseenter:t[3]||=(...e)=>g(N)&&g(N)(...e),onMouseleave:t[4]||=(...e)=>g(P)&&g(P)(...e)},[p(e.$slots,`content`,{},()=>[c(`pre`,_,m(l.content),1)])],36)):o(`v-if`,!0)],8,[`to`])):o(`v-if`,!0)],64))}});export{v as default};
@@ -1 +1 @@
1
- import{t as e}from"./vanilla-renderer-C8EIjICY.js";import{createBlock as t,defineComponent as n,openBlock as r}from"vue";var i=n({__name:`vanilla`,props:{node:{type:Object,required:!0},markdownParser:{type:Object,required:!0},nodeRenderers:{type:Object,required:!0},blockIndex:{type:Number,required:!1},parentNode:{type:Object,required:!1},prevNode:{type:Object,required:!1},nextNode:{type:Object,required:!1},nodeKey:{type:String,required:!0},deep:{type:Number,required:!0}},setup(n){let i=n;return(n,a)=>(r(),t(e,{node:i.node},null,8,[`node`]))}});export{i as default};
1
+ import{t as e}from"./vanilla-renderer-CMaJ1QG4.js";import{createBlock as t,defineComponent as n,openBlock as r}from"vue";var i=n({__name:`vanilla`,props:{node:{type:Object,required:!0},markdownParser:{type:Object,required:!0},nodeRenderers:{type:Object,required:!0},blockIndex:{type:Number,required:!1},parentNode:{type:Object,required:!1},prevNode:{type:Object,required:!1},nextNode:{type:Object,required:!1},nodeKey:{type:String,required:!0},deep:{type:Number,required:!0}},setup(n){let i=n;return(n,a)=>(r(),t(e,{node:i.node},null,8,[`node`]))}});export{i as default};
@@ -1,2 +1,2 @@
1
- import{b as e,y as t}from"./composables-CA0XaIPq.js";import{computed as n,defineComponent as r,h as i,renderList as a}from"vue";var o=r({name:`VanillaRenderer`,props:{node:{type:Object,required:!0}},setup(r){let{codeOptions:o}=t(),s=n(()=>r.node.value.trim()),c=n(()=>r.node.lang||``),{showLineNumbers:l}=e({codeOptions:o,language:c}),u=n(()=>s.value.split(`
1
+ import{b as e,y as t}from"./composables-Dt9tB3RV.js";import{computed as n,defineComponent as r,h as i,renderList as a}from"vue";var o=r({name:`VanillaRenderer`,props:{node:{type:Object,required:!0}},setup(r){let{codeOptions:o}=t(),s=n(()=>r.node.value.trim()),c=n(()=>r.node.lang||``),{showLineNumbers:l}=e({codeOptions:o,language:c}),u=n(()=>s.value.split(`
2
2
  `));return()=>i(`pre`,{"data-stream-markdown":`code`,"data-show-line-numbers":l.value,"data-lang":c.value,class:`text-sm font-mono p-4 [counter-reset:line]`},i(`code`,{translate:`no`,class:`text-sm font-mono`},a(u.value,(e,t)=>i(`div`,{"data-stream-markdown":`code-line`,class:l.value?`relative block min-h-4 text-sm before:inline-block before:mr-4 before:w-4 before:select-none before:text-right before:font-mono before:text-[13px] before:text-muted-foreground/50 before:content-[counter(line)] before:[counter-increment:line]`:`relative block min-h-4 text-sm`,key:t},e))))}});export{o as t};
@@ -1,2 +1,2 @@
1
- import{y as e}from"./composables-CA0XaIPq.js";import{computed as t,createBlock as n,createElementBlock as r,createTextVNode as i,defineComponent as a,openBlock as o,resolveDynamicComponent as s,toDisplayString as c,unref as l,withCtx as u}from"vue";const d={"data-stream-markdown":`yaml`,class:`w-full overflow-x-auto`};var f=a({__name:`yaml`,props:{node:{type:Object,required:!0},markdownParser:{type:Object,required:!0},nodeRenderers:{type:Object,required:!0},blockIndex:{type:Number,required:!1},parentNode:{type:Object,required:!1},prevNode:{type:Object,required:!1},nextNode:{type:Object,required:!1},nodeKey:{type:String,required:!0},deep:{type:Number,required:!0}},setup(a){let f=a,{uiComponents:p}=e(),m=/\s*:\s*/,h=t(()=>f.node.value.trim().split(`
1
+ import{y as e}from"./composables-Dt9tB3RV.js";import{computed as t,createBlock as n,createElementBlock as r,createTextVNode as i,defineComponent as a,openBlock as o,resolveDynamicComponent as s,toDisplayString as c,unref as l,withCtx as u}from"vue";const d={"data-stream-markdown":`yaml`,class:`w-full overflow-x-auto`};var f=a({__name:`yaml`,props:{node:{type:Object,required:!0},markdownParser:{type:Object,required:!0},nodeRenderers:{type:Object,required:!0},blockIndex:{type:Number,required:!1},parentNode:{type:Object,required:!1},prevNode:{type:Object,required:!1},nextNode:{type:Object,required:!1},nodeKey:{type:String,required:!0},deep:{type:Number,required:!0}},setup(a){let f=a,{uiComponents:p}=e(),m=/\s*:\s*/,h=t(()=>f.node.value.trim().split(`
2
2
  `).map(e=>e.split(m))),g=t(()=>h.value.map(e=>e[0])),_=t(()=>[{children:h.value.map(e=>e[1])}]);return(e,t)=>(o(),r(`div`,d,[(o(),n(s(l(p).Table),{headers:g.value,rows:_.value},{"header-cell":u(({cell:e})=>[i(c(e),1)]),"body-cell":u(({cell:e})=>[i(c(e),1)]),_:1},8,[`headers`,`rows`]))]))}});export{f as default};
@@ -0,0 +1 @@
1
+ import{d as e,t,y as n}from"./composables-Dt9tB3RV.js";import{l as r}from"./src-7d8hW45I.js";import{Fragment as i,computed as a,createBlock as o,createCommentVNode as s,createElementBlock as c,createElementVNode as l,defineComponent as u,guardReactiveProps as d,mergeProps as f,normalizeProps as p,normalizeStyle as m,openBlock as h,ref as g,renderList as _,renderSlot as v,resolveDynamicComponent as y,unref as b,withModifiers as x}from"vue";const S={"data-stream-markdown":`zoom-inner`,class:`flex size-full items-center justify-center`};var C=u({__name:`zoom-container`,props:{interactive:{type:Boolean,required:!1,default:!0},showControl:{type:Boolean,required:!1,default:!0},controlSize:{type:String,required:!1,default:`vanilla`},position:{type:String,required:!1,default:`bottom-right`},containerStyle:{type:Object,required:!1,default:()=>({})}},setup(u){let C=u,{uiComponents:w}=n(),T=g(),{t:E}=e(),{zoom:D,isDragging:O,transformStyle:k,zoomIn:A,zoomOut:j,resetZoom:M,setZoom:N,startDrag:P,onDrag:F,stopDrag:I,handleWheel:L,handleTouchStart:R,handleTouchMove:z,handleTouchEnd:B}=t(),V=a(()=>`${Math.round(D.value*100)}%`),H=a(()=>r(C.position)),U=a(()=>C.controlSize===`vanilla`?{}:{iconWidth:18,iconHeight:18,buttonStyle:{fontSize:`0.875rem`}}),W=a(()=>[{...U.value,key:`zoomIn`,icon:`zoomIn`,name:E(`button.zoomIn`),onClick:A},{...U.value,key:`zoomOut`,icon:`zoomOut`,name:E(`button.zoomOut`),onClick:j},{...U.value,key:`updateZoom`,variant:`text`,name:V.value,options:[200,150,100,75,50].map(e=>({label:`${e}%`,value:e})),onClick:(e,t)=>{let n=t?.value||100;n===100?M():N(Number(n)/100)}}]);function G(e){T.value&&L(e,T.value)}function K(e){C.interactive&&(e.preventDefault(),P(e))}function q(e){C.interactive&&(e.preventDefault(),F(e))}function J(e){C.interactive&&(e.preventDefault(),I())}function Y(e){C.interactive&&T.value&&R(e,T.value)}function X(e){C.interactive&&T.value&&z(e,T.value)}function Z(e){C.interactive&&B(e)}return(e,t)=>(h(),c(`div`,{ref_key:`containerRef`,ref:T,"data-stream-markdown":`zoom-container`,class:`h-full relative overflow-hidden`,style:m({touchAction:u.interactive?`none`:`auto`}),onWheel:G,onTouchstart:Y,onTouchmove:X,onTouchend:Z,onPointerdown:K,onPointermove:q,onPointerup:J,onPointercancel:J,onPointerleave:J},[u.showControl&&u.interactive?(h(),c(`div`,{key:0,"data-stream-markdown":`zoom-controls`,class:`p-1 border border-border rounded-xl bg-background flex gap-1 items-center absolute z-[1] max-lg:gap-0`,style:m(H.value),onClick:t[0]||=x(()=>{},[`stop`])},[v(e.$slots,`controls`,p(d(U.value))),(h(!0),c(i,null,_(W.value,e=>(h(),o(y(b(w).Button),f({ref_for:!0},e,{key:e.key,onClick:e.onClick}),null,16,[`onClick`]))),128))],4)):s(`v-if`,!0),l(`div`,S,[l(`div`,{"data-stream-markdown":`zoom-transform-container`,class:`shrink-0 w-full`,style:m({...b(k),...u.containerStyle,cursor:b(O)?`grabbing`:`grab`}),onClick:t[1]||=x(()=>{},[`stop`])},[v(e.$slots,`default`)],4)])],36))}});export{C 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.7.0-beta.4",
4
+ "version": "0.7.0",
5
5
  "description": "Streaming markdown output, Useful for text streams like LLM outputs.",
6
6
  "author": "jinghaihan",
7
7
  "license": "MIT",
@@ -56,8 +56,8 @@
56
56
  "dependencies": {
57
57
  "@floating-ui/dom": "^1.7.6",
58
58
  "@vueuse/core": "^14.2.1",
59
- "@markmend/core": "0.7.0-beta.4",
60
- "@markmend/ast": "0.7.0-beta.4"
59
+ "@markmend/ast": "0.7.0",
60
+ "@markmend/core": "0.7.0"
61
61
  },
62
62
  "devDependencies": {
63
63
  "@antfu/utils": "^9.3.0",
@@ -66,10 +66,10 @@
66
66
  "katex": "^0.16.38",
67
67
  "mermaid": "^11.13.0",
68
68
  "shiki": "^4.0.2",
69
- "@stream-markdown/code": "0.7.0-beta.4",
70
- "@stream-markdown/math": "0.7.0-beta.4",
71
- "@stream-markdown/shared": "0.7.0-beta.4",
72
- "@stream-markdown/mermaid": "0.7.0-beta.4"
69
+ "@stream-markdown/code": "0.7.0",
70
+ "@stream-markdown/math": "0.7.0",
71
+ "@stream-markdown/mermaid": "0.7.0",
72
+ "@stream-markdown/shared": "0.7.0"
73
73
  },
74
74
  "inlinedDependencies": {
75
75
  "@antfu/utils": "9.3.0",
@@ -1 +0,0 @@
1
- import{d as e,y as t}from"./composables-CA0XaIPq.js";import{n}from"./overlay-wVfeUgFf.js";import{Fragment as r,Teleport as i,Transition as a,computed as o,createBlock as s,createCommentVNode as c,createElementBlock as l,createElementVNode as u,createTextVNode as d,createVNode as f,defineComponent as p,mergeModels as m,normalizeStyle as h,onMounted as g,openBlock as _,ref as v,renderSlot as y,resolveDynamicComponent as b,toDisplayString as x,unref as S,useModel as C,withCtx as w,withModifiers as T}from"vue";import{createReusableTemplate as E,useEventListener as D}from"@vueuse/core";const O={"data-stream-markdown":`alert-header`,class:`flex flex-col relative`},k={"data-stream-markdown":`alert-title`,class:`text-lg font-semibold mb-2 flex gap-2 items-center`},A={"data-stream-markdown":`alert-description`,class:`text-sm text-muted-foreground`},j={class:`absolute -right-3 -top-3`},M={"data-stream-markdown":`alert-content`},N={"data-stream-markdown":`alert-footer`,class:`flex gap-2 [&>button]:!text-sm [&>button:last-child]:!text-primary-foreground [&>button]:!text-foreground [&>button]:!border [&>button]:!border-border [&>button]:!rounded-lg [&>button]:!border-solid [&>button:last-child:hover]:!bg-primary/90 [&>button:last-child]:!bg-primary [&>button]:!gap-2 [&>button]:!w-full`};var P=p({__name:`alert`,props:m({icon:{type:String,required:!1,default:`error`},title:{type:String,required:!1},description:{type:String,required:!1},zIndex:{type:Number,required:!1,default:9999},confirmText:{type:String,required:!1},cancelText:{type:String,required:!1},open:{type:Boolean,required:!1}},{open:{type:Boolean,required:!1,default:!1},openModifiers:{}}),emits:m([`confirm`,`cancel`],[`update:open`]),setup(p,{emit:m}){let P=p,F=m,{uiComponents:I}=t(),{t:L}=e(),R=C(p,`open`),z=v(),[B,V]=E(),H=o(()=>P.confirmText||L(`button.confirm`)),U=o(()=>P.cancelText||L(`button.cancel`));function W(){F(`confirm`),R.value=!1}function G(){F(`cancel`),R.value=!1}return g(()=>{z.value=n()||document.body,D(document,`keyup`,e=>{(e.key===`Escape`||e.key===`Esc`)&&G()})}),(e,t)=>(_(),l(r,null,[f(S(B),null,{default:w(()=>[R.value?(_(),l(`div`,{key:0,"data-stream-markdown":`alert`,class:`p-6 border border-border rounded-xl bg-background flex flex-col gap-4 max-w-[28rem] w-full shadow-[0_20px_25px_-5px_rgb(0_0_0_/_0.1),0_8px_10px_-6px_rgb(0_0_0_/_0.1)] left-1/2 top-1/2 fixed -translate-x-1/2 -translate-y-1/2`,style:h({zIndex:p.zIndex}),onClick:t[0]||=T(()=>{},[`stop`])},[u(`header`,O,[u(`div`,k,[(_(),s(b(S(I).Icon),{icon:p.icon,height:20,width:20},null,8,[`icon`])),d(` `+x(p.title),1)]),u(`div`,A,x(p.description),1),u(`div`,j,[(_(),s(b(S(I).Button),{"data-stream-markdown":`alert-close-button`,icon:`x`,name:S(L)(`button.cancel`),"icon-height":20,"icon-width":20,onClick:G},null,8,[`name`]))])]),c(` Body: Description `),u(`div`,M,[y(e.$slots,`default`)]),c(` Footer: Actions `),u(`div`,N,[y(e.$slots,`footer`,{},()=>[(_(),s(b(S(I).Button),{variant:`text`,name:S(L)(`button.cancel`),type:`button`,onClick:G},{default:w(()=>[d(x(U.value),1)]),_:1},8,[`name`])),(_(),s(b(S(I).Button),{variant:`text`,name:S(L)(`button.confirm`),type:`button`,onClick:W},{default:w(()=>[d(x(H.value),1)]),_:1},8,[`name`]))])])],4)):c(`v-if`,!0)]),_:3}),z.value?(_(),s(i,{key:0,to:z.value},[R.value?(_(),l(`div`,{key:0,"data-stream-markdown":`alert-backdrop`,class:`bg-[rgb(0_0_0_/_0.5)] flex items-center inset-0 justify-center fixed backdrop-blur`,style:h({zIndex:p.zIndex-1}),onClick:G},[f(a,{name:`stream-markdown-modal`,appear:``},{default:w(()=>[f(S(V))]),_:1})],4)):c(`v-if`,!0)],8,[`to`])):c(`v-if`,!0)],64))}});export{P as default};
@@ -1 +0,0 @@
1
- import{C as e,E as t,R as n,b as r,d as i,o as a,v as ee,w as o,y as s}from"./composables-CA0XaIPq.js";import{t as c}from"./segmented-AJt6J-5o.js";import{Fragment as l,computed as u,createBlock as d,createCommentVNode as f,createElementBlock as p,createElementVNode as m,createVNode as h,defineAsyncComponent as g,defineComponent as _,mergeProps as v,normalizeClass as te,normalizeStyle as ne,openBlock as y,ref as b,renderList as x,renderSlot as S,resolveDynamicComponent as C,toDisplayString as w,unref as T,useModel as E,vShow as D,watch as re,withCtx as O,withDirectives as k}from"vue";import{createReusableTemplate as ie,useClipboard as ae}from"@vueuse/core";const A={"data-stream-markdown":`actions`,class:`flex gap-1 items-center`};var j=_({__name:`actions`,props:{actions:{type:Array,required:!1,default:()=>[]}},setup(e){let{uiComponents:t}=s();return(n,r)=>(y(),p(`div`,A,[(y(!0),p(l,null,x(e.actions,e=>(y(),d(C(T(t).Button),v({ref_for:!0},e,{key:e.key,onClick:e.onClick}),null,16,[`onClick`]))),128))]))}});const oe={astro:g(()=>import(`./astro-aSBVHEHa.js`)),bash:g(()=>import(`./bash-BTF1Ne15.js`)),c:g(()=>import(`./c-BPW0_pOk.js`)),"c#":g(()=>import(`./csharp-B4H1h4kB.js`)),"c++":g(()=>import(`./cpp-J6s-ZBF6.js`)),cjs:g(()=>import(`./javascript-BxFrrDQ8.js`)),cpp:g(()=>import(`./cpp-J6s-ZBF6.js`)),cs:g(()=>import(`./csharp-B4H1h4kB.js`)),csharp:g(()=>import(`./csharp-B4H1h4kB.js`)),css:g(()=>import(`./css-B6z9xceG.js`)),csv:g(()=>import(`./csv-CbBXgjOG.js`)),cts:g(()=>import(`./typescript-BMATPCuy.js`)),go:g(()=>import(`./go-Cyk4BQzF.js`)),gql:g(()=>import(`./graphql-DpPfPfsT.js`)),graphql:g(()=>import(`./graphql-DpPfPfsT.js`)),html:g(()=>import(`./html-MC9V_Fto.js`)),java:g(()=>import(`./java-DHOK7TQq.js`)),javascript:g(()=>import(`./javascript-BxFrrDQ8.js`)),js:g(()=>import(`./javascript-BxFrrDQ8.js`)),json:g(()=>import(`./json-DtyhOLB7.js`)),json5:g(()=>import(`./json-DtyhOLB7.js`)),jsonc:g(()=>import(`./json-DtyhOLB7.js`)),jsonl:g(()=>import(`./json-DtyhOLB7.js`)),jsx:g(()=>import(`./javascript-BxFrrDQ8.js`)),kotlin:g(()=>import(`./kotlin-1C5q_I09.js`)),kt:g(()=>import(`./kotlin-1C5q_I09.js`)),kts:g(()=>import(`./kotlin-1C5q_I09.js`)),less:g(()=>import(`./less-DIeftIgd.js`)),lua:g(()=>import(`./lua-CPNZDIVy.js`)),luau:g(()=>import(`./luau-jkO7fBsq.js`)),markdown:g(()=>import(`./markdown-DWt95aI0.js`)),md:g(()=>import(`./markdown-DWt95aI0.js`)),mdc:g(()=>import(`./markdown-DWt95aI0.js`)),mdx:g(()=>import(`./markdown-DWt95aI0.js`)),mermaid:g(()=>import(`./mermaid-gBJZZSXZ.js`)),mjs:g(()=>import(`./javascript-BxFrrDQ8.js`)),mmd:g(()=>import(`./mermaid-gBJZZSXZ.js`)),mts:g(()=>import(`./typescript-BMATPCuy.js`)),php:g(()=>import(`./php-BqZA4Rty.js`)),py:g(()=>import(`./python-DuRpDTRc.js`)),python:g(()=>import(`./python-DuRpDTRc.js`)),rs:g(()=>import(`./rust-B_cX_ED6.js`)),rust:g(()=>import(`./rust-B_cX_ED6.js`)),sass:g(()=>import(`./sass-TXNz01yV.js`)),scss:g(()=>import(`./sass-TXNz01yV.js`)),sh:g(()=>import(`./bash-BTF1Ne15.js`)),shell:g(()=>import(`./bash-BTF1Ne15.js`)),shellscript:g(()=>import(`./bash-BTF1Ne15.js`)),sql:g(()=>import(`./database-CACxdSqQ.js`)),stylus:g(()=>import(`./sass-TXNz01yV.js`)),svelte:g(()=>import(`./svelte-B8mYZTJ3.js`)),swift:g(()=>import(`./swift-DCxX7g0M.js`)),toml:g(()=>import(`./toml-BrOpt-Rx.js`)),ts:g(()=>import(`./typescript-BMATPCuy.js`)),tsv:g(()=>import(`./csv-CbBXgjOG.js`)),tsx:g(()=>import(`./typescript-BMATPCuy.js`)),typescript:g(()=>import(`./typescript-BMATPCuy.js`)),vue:g(()=>import(`./vue-1NqN8tLg.js`)),xml:g(()=>import(`./xml-CuVoLhq2.js`)),yaml:g(()=>import(`./yaml-Ct3Hi1Mx.js`)),yml:g(()=>import(`./yaml-Ct3Hi1Mx.js`)),zsh:g(()=>import(`./bash-BTF1Ne15.js`))},M={"data-stream-markdown":`language-title`,class:`flex gap-2 items-center`},N={key:1,"data-stream-markdown":`language-name`,class:`text-sm font-mono lowercase`};var se=_({__name:`language-title`,props:{icon:{type:null,required:!1},language:{type:String,required:!0},showIcon:{type:Boolean,required:!1,default:!0},showName:{type:Boolean,required:!1,default:!0}},setup(e){return(t,n)=>(y(),p(`header`,M,[e.showIcon?(y(),d(C(e.icon),{key:0})):f(`v-if`,!0),e.showName?(y(),p(`span`,N,w(e.language),1)):f(`v-if`,!0)]))}}),P=_({__name:`preview-segmented`,props:{mode:{type:String,required:!1,default:`source`},modeModifiers:{},collapsed:{type:Boolean,required:!1,default:!1},collapsedModifiers:{}},emits:[`update:mode`,`update:collapsed`],setup(e){let t=E(e,`mode`),n=E(e,`collapsed`),{t:r}=i(),a=u(()=>[{label:r(`button.preview`),value:`preview`,icon:`preview`},{label:r(`button.source`),value:`source`,icon:`code`}]);return(e,r)=>(y(),d(c,{value:t.value,"onUpdate:value":r[0]||=e=>t.value=e,options:a.value,"button-style":{fontFamily:`var(--font-mono)`},onChange:r[1]||=()=>n.value=!1},null,8,[`value`,`options`]))}});const ce={key:2},le=[`data-collapsed`],ue={"data-stream-markdown":`code-block-header`,class:`code-block-header text-sm text-muted-foreground px-4 py-1.5 border-b border-border bg-muted/80 flex items-center top-0 justify-between sticky z-[5] max-lg:px-3 [&>*:last-child]:flex [&>*:first-child]:flex-1 [&>*:last-child]:flex-1 [&>*:nth-child(2)]:left-1/2 [&>*:last-child]:justify-end [&>*:nth-child(2)]:absolute [&>*:nth-child(2)]:-translate-x-1/2`},de={key:1},fe={"data-stream-markdown":`actions`,class:`flex gap-1 items-center`},pe={"data-stream-markdown":`actions`,class:`flex gap-1 items-center`};var F=_({inheritAttrs:!1,__name:`index`,props:{node:{type:Object,required:!0},markdownParser:{type:Object,required:!0},nodeRenderers:{type:Object,required:!0},blockIndex:{type:Number,required:!1},parentNode:{type:Object,required:!1},prevNode:{type:Object,required:!1},nextNode:{type:Object,required:!1},nodeKey:{type:String,required:!0},deep:{type:Number,required:!0}},setup(c){let _=c,{beforeDownload:x,cdnOptions:w,codeOptions:E,controls:A,icons:M,isDark:N,mermaidOptions:F,onCopied:me,previewers:I,shikiOptions:he,uiComponents:ge}=s(),_e=g(()=>import(`./code-DmVzm5l2.js`)),[ve,L]=ie(),{t:R}=i(),{isControlEnabled:z,getControlValue:ye,resolveControls:B}=ee({controls:A}),{copy:be,copied:xe}=ae({legacy:!0}),{installed:V,saveMermaid:Se}=a({mermaidOptions:F,cdnOptions:w,shikiOptions:he,isDark:N}),H=b(!1),U=b(!1),W=b(`source`),G=u(()=>{let t=_.node.lang;return t?e[t]?e[t]:t:`plaintext`}),{showLanguageIcon:K,showLanguageName:q}=r({codeOptions:E,language:G}),J=u(()=>K.value||q.value),Ce=u(()=>z(`code.collapse`)),we=u(()=>z(`code.copy`)),Te=u(()=>z(`code.download`)),Ee=u(()=>z(`code.fullscreen`)),De=u(()=>{let e=E.value?.language?.[G.value]?.languageIcon;return typeof e==`object`?e:oe[G.value]||M.value.code}),Y=u(()=>{if(typeof I.value==`boolean`)return G.value===`mermaid`;let e=I.value?.progressive?.[G.value];return typeof e==`boolean`?e:G.value===`mermaid`}),X=u(()=>typeof I.value==`boolean`||!I.value?.placement||I.value?.placement===`auto`?J.value?`center`:`left`:I.value.placement),Z=u(()=>{if(I.value===!1||!Y.value&&_.node.loading)return!1;let e=G.value===`html`&&!_.node.loading,t=G.value===`mermaid`&&V.value;if(I.value===!0)return!!(G.value===`html`&&e||G.value===`mermaid`&&t);if(typeof I.value==`object`){if(I.value.components?.[G.value]===!1)return!1;if(G.value===`html`&&e||G.value===`mermaid`&&t)return!0;let n=I.value.components?.[G.value];return typeof n==`object`&&(Y.value||!_.node.loading)?!!n:!1}return!1}),Q=u(()=>{let e=n[G.value];if(!I.value||typeof I.value==`boolean`)return e;let t=I.value.components?.[G.value];return t===!1?e:t&&typeof t!=`boolean`?t:e}),Oe=u(()=>ye(`mermaid.inlineInteractive`)??!0);function ke(e){return typeof e==`number`?`${e}px`:e}let Ae=u(()=>{if(W.value===`preview`)return;let e=E.value?.language?.[G.value]?.maxHeight;if(e)return ke(e);let t=E.value?.maxHeight;if(t)return ke(t)}),je=u(()=>G.value!==`mermaid`||!V.value?[]:[{label:`SVG`,value:`svg`},{label:`PNG`,value:`png`},{label:`MMD`,value:`code`}]),Me=u(()=>[{name:R(`button.collapse`),key:`collapse`,icon:`collapse`,iconStyle:{transform:H.value?`rotate(180deg)`:void 0,transition:`transform var(--default-transition-duration)`},visible:()=>Ce.value,onClick:()=>H.value=!H.value},{name:R(`button.copy`),key:`copy`,icon:xe.value?`check`:`copy`,visible:()=>we.value,onClick:()=>{_.node.value&&(be(_.node.value),me(_.node.value))}},{name:R(`button.download`),key:`download`,icon:`download`,options:je.value.length>0?je.value:void 0,visible:()=>Te.value&&!!o[G.value],onClick:async(e,n)=>{if(!_.node.loading){if(!n||n.value===`code`){let e=o[G.value];await x({type:`code`,content:_.node.value})&&t(`file.${e}`,_.node.value,`text/plain`);return}(n?.value===`svg`||n?.value===`png`)&&await x({type:`mermaid`,content:_.node.value})&&Se(n?.value,_.node.value)}}},{name:U.value?R(`button.minimize`):R(`button.maximize`),key:`fullscreen`,icon:U.value?`minimize`:`maximize`,visible:()=>Ee.value,onClick:()=>U.value=!U.value}]),$=u(()=>B(`code`,Me.value,_)),Ne=u(()=>B(`code`,$.value,_).filter(e=>e.key!==`collapse`));return re(()=>Z.value,()=>{Z.value&&(W.value=`preview`)},{immediate:!0}),(e,t)=>(y(),p(l,null,[h(T(ve),null,{default:O(({showPreview:e})=>[J.value?(y(),d(se,{key:0,icon:De.value,language:G.value,"show-icon":T(K),"show-name":T(q)},null,8,[`icon`,`language`,`show-icon`,`show-name`])):Z.value&&e?(y(),d(P,{key:1,mode:W.value,"onUpdate:mode":t[0]||=e=>W.value=e,collapsed:H.value,"onUpdate:collapsed":t[1]||=e=>H.value=e},null,8,[`mode`,`collapsed`])):(y(),p(`div`,ce))]),_:1}),m(`div`,{"data-stream-markdown":`code-block`,"data-collapsed":H.value,class:te([`my-4 border border-border rounded-xl overflow-clip data-[collapsed=true]:[&_.code-block-header]:border-b-0`,[{"code-loading":_.node.loading}]])},[m(`header`,ue,[S(e.$slots,`title`,{},()=>[h(T(L),{"show-preview":X.value===`left`},null,8,[`show-preview`])]),S(e.$slots,`header-center`,{},()=>[Z.value&&X.value===`center`?(y(),d(P,{key:0,mode:W.value,"onUpdate:mode":t[2]||=e=>W.value=e,collapsed:H.value,"onUpdate:collapsed":t[3]||=e=>H.value=e},null,8,[`mode`,`collapsed`])):(y(),p(`div`,de))]),S(e.$slots,`actions`,{},()=>[m(`div`,fe,[Z.value&&X.value===`right`?(y(),d(P,{key:0,mode:W.value,"onUpdate:mode":t[4]||=e=>W.value=e,collapsed:H.value,"onUpdate:collapsed":t[5]||=e=>H.value=e},null,8,[`mode`,`collapsed`])):f(`v-if`,!0),h(j,{actions:$.value},null,8,[`actions`])])])]),k(m(`main`,{"data-stream-markdown":`code-block-content`,class:`overflow-auto`,style:ne({maxHeight:Ae.value})},[Z.value?k((y(),d(C(Q.value),v({key:0},_,{interactive:Oe.value}),null,16,[`interactive`])),[[D,W.value===`preview`]]):f(`v-if`,!0),k(m(`main`,null,[S(e.$slots,`default`)],512),[[D,W.value===`source`]])],4),[[D,!H.value]]),(y(),d(C(T(ge).Modal),{open:U.value,"onUpdate:open":t[10]||=e=>U.value=e,"header-style":{backgroundColor:`color-mix(in oklab, var(--muted) 80%, transparent)`,color:`var(--muted-foreground)`,borderBottom:`1px solid var(--border)`}},{title:O(()=>[h(T(L),{"show-preview":X.value===`left`},null,8,[`show-preview`])]),"header-center":O(()=>[Z.value&&X.value===`center`?(y(),d(P,{key:0,mode:W.value,"onUpdate:mode":t[6]||=e=>W.value=e,collapsed:H.value,"onUpdate:collapsed":t[7]||=e=>H.value=e},null,8,[`mode`,`collapsed`])):f(`v-if`,!0)]),actions:O(()=>[m(`div`,pe,[Z.value&&X.value===`right`?(y(),d(P,{key:0,mode:W.value,"onUpdate:mode":t[8]||=e=>W.value=e,collapsed:H.value,"onUpdate:collapsed":t[9]||=e=>H.value=e},null,8,[`mode`,`collapsed`])):f(`v-if`,!0),h(j,{actions:Ne.value},null,8,[`actions`])])]),default:O(()=>[Z.value?k((y(),d(C(Q.value),v({key:0},_,{"immediate-render":!0,"container-height":`100%`}),null,16)),[[D,W.value===`preview`]]):f(`v-if`,!0),k(h(T(_e),v(_,{"show-header":!1}),null,16),[[D,W.value===`source`]])]),_:1},40,[`open`]))],10,le)],64))}});export{F as default};
@@ -1,2 +0,0 @@
1
- import{i as e,n as t,r as n,t as r}from"./overlay-wVfeUgFf.js";import{computed as i,defineAsyncComponent as a,inject as o,nextTick as s,onMounted as c,onUnmounted as l,provide as u,ref as d,toValue as f,watch as p,watchEffect as m}from"vue";import{useEventListener as h,useIntersectionObserver as g,useMutationObserver as _,useNavigatorLanguage as v}from"@vueuse/core";import{autoUpdate as y,computePosition as ee,flip as b,offset as te,shift as x}from"@floating-ui/dom";import{checkMathSyntax as S}from"@markmend/core";const C={html:a(()=>import(`./html-DmNh1vFW.js`)),mermaid:a(()=>import(`./mermaid-DdpPcJ1i.js`))},w={blockquote:a(()=>import(`./blockquote-gDyOwFys.js`)),break:a(()=>import(`./break-z3zVdeuH.js`)),code:a(()=>import(`./code-DmVzm5l2.js`)),delete:a(()=>import(`./delete-C4JwbHDJ.js`)),emphasis:a(()=>import(`./emphasis-D6F13NtJ.js`)),footnoteDefinition:a(()=>import(`./footnote-definition-C351_vYW.js`)),footnoteReference:a(()=>import(`./footnote-reference-BNDMqJm4.js`)),heading:a(()=>import(`./heading-HtTQoXae.js`)),html:a(()=>import(`./html-CYUFE186.js`)),image:a(()=>import(`./image-B67ZZpNc.js`)),inlineCode:a(()=>import(`./inline-code-DGV-IlZs.js`)),inlineMath:a(()=>import(`./inline-math-NdcWCyob.js`)),link:a(()=>import(`./link-n3bspQfj.js`)),list:a(()=>import(`./list-BIYXLNau.js`)),listItem:a(()=>import(`./list-item-DVh8aSdu.js`)),math:a(()=>import(`./math-C_nCjoxl.js`)),paragraph:a(()=>import(`./paragraph-CtlfaqmQ.js`)),strong:a(()=>import(`./strong-D89TVL0P.js`)),table:a(()=>import(`./table-D61BWT1S.js`)),text:a(()=>import(`./text-B9kGgFhV.js`)),thematicBreak:a(()=>import(`./thematic-break-ndBPGY6x.js`)),yaml:a(()=>import(`./yaml-CAc0YdVS.js`))},T={Alert:a(()=>import(`./alert-BvYabQdj.js`)),Button:a(()=>import(`./button-BUhcCAYP.js`)),Caret:a(()=>import(`./caret-C5reZkmT.js`).then(e=>e.n)),CodeBlock:a(()=>import(`./code-block-BricBddp.js`)),Dropdown:a(()=>import(`./dropdown-DoS9mBjr.js`)),ErrorComponent:a(()=>import(`./error-component-9j1O09VQ.js`)),Icon:a(()=>import(`./icon-BYaBW1tX.js`)),Image:a(()=>import(`./image-D6YQVysx.js`)),Modal:a(()=>import(`./modal-DjveioZW.js`)),Segmented:a(()=>import(`./segmented-AJt6J-5o.js`).then(e=>e.n)),Spin:a(()=>import(`./spin-uZ6bykcx.js`)),Table:a(()=>import(`./table-Bv0wvcgR.js`)),Tooltip:a(()=>import(`./tooltip-Bt9SqkuT.js`)),ZoomContainer:a(()=>import(`./zoom-container-D6GFpTqx.js`))},E=a(()=>import(`./node-list-CTXWVPv3.js`).then(e=>e.n)),D={block:` ▋`,circle:` ●`},O={allowedLinkPrefixes:[`*`],allowedImagePrefixes:[`*`],allowedProtocols:[`*`],allowDataImages:!0},ne=[`text`,`inlineCode`,`inlineMath`,`strong`,`emphasis`,`delete`,`footnoteReference`,`footnoteDefinition`,`link`,`linkReference`],re=[`blockquote`,`delete`,`emphasis`,`footnoteDefinition`,`footnoteReference`,`heading`,`image`,`inlineCode`,`inlineMath`,`link`,`list`,`listItem`,`paragraph`,`strong`,`table`,`text`,`thematicBreak`,`yaml`],k=`background.foreground.card.card-foreground.popover.popover-foreground.primary.primary-foreground.secondary.secondary-foreground.muted.muted-foreground.accent.accent-foreground.destructive.border.input.ring.chart-1.chart-2.chart-3.chart-4.chart-5.sidebar.sidebar-foreground.sidebar-primary.sidebar-primary-foreground.sidebar-accent.sidebar-accent-foreground.sidebar-border.sidebar-ring`.split(`.`),A=`en-US`,ie=[`en-US`,`zh-CN`];function j(e){return Function(`url`,`return import(url)`)(e)}function M(e){return e===`umd`?`umd`:`esm`}function N(e){return e!==!1}function P(t,n){return e()||!n?t:window[n]??null}function ae(e,t){let n=e?.language?.[t];return{...e??{},...n??{}}}function F(e,t=!0){return typeof e==`boolean`?e:t}function I(e,t){try{if(typeof e==`boolean`)return e;let n=t.split(`.`),r=e;for(let e of n){if(typeof r!=`object`||!r)return;r=r[e]}return r}catch{return}}function oe(e,t){return I(e,t)!==!1}function se(e){return e.filter(e=>e.visible?.()??!0)}function ce(e,t,n,r){let i=I(e,`${t}.customize`);return se(typeof i==`function`?i(n,r):n)}const le=/\.[^/.]+$/;function L(e){return e?.endsWith(`/`)?e.slice(0,-1):`${e}`}function R(e,t,n){let r=typeof t==`string`?new Blob([t],{type:n}):t,i=URL.createObjectURL(r),a=document.createElement(`a`);a.href=i,a.download=e,document.body.appendChild(a),a.click(),document.body.removeChild(a),URL.revokeObjectURL(i)}async function ue(e,t){let n=await(await fetch(e)).blob(),r=new URL(e,window.location.origin).pathname.split(`/`).pop()||``,i=r.split(`.`).pop(),a=r.includes(`.`)&&i!==void 0&&i.length<=4,o=``;if(a)o=r;else{let e=n.type,i=`png`;e.includes(`jpeg`)||e.includes(`jpg`)?i=`jpg`:e.includes(`png`)?i=`png`:e.includes(`svg`)?i=`svg`:e.includes(`gif`)?i=`gif`:e.includes(`webp`)&&(i=`webp`),o=`${(t||r||`image`).replace(le,``)}.${i}`}R(o,n,n.type)}function de(e,t){let n=t?.scale??5;return new Promise((t,r)=>{let i=`data:image/svg+xml;base64,${btoa(unescape(encodeURIComponent(e)))}`,a=new Image;a.crossOrigin=`anonymous`,a.onload=()=>{let e=document.createElement(`canvas`),i=a.width*n,o=a.height*n;e.width=i,e.height=o;let s=e.getContext(`2d`);if(!s){r(Error(`Failed to create 2D canvas context for PNG export`));return}s.drawImage(a,0,0,i,o),e.toBlob(e=>{if(!e){r(Error(`Failed to create PNG blob`));return}t(e)},`image/png`)},a.onerror=()=>r(Error(`Failed to load SVG image`)),a.src=i})}function z(e){return typeof e==`function`?e():e}function fe(e,t){if(typeof e!=`string`)return null;try{return new URL(e)}catch{if(t)try{return new URL(e,t)}catch{return null}if(e.startsWith(`/`)||e.startsWith(`./`)||e.startsWith(`../`))try{return new URL(e,`http://example.com`)}catch{return null}return null}}function pe(e){return typeof e==`string`?e.startsWith(`/`)||e.startsWith(`./`)||e.startsWith(`../`):!1}const me=new Set([`https:`,`http:`,`irc:`,`ircs:`,`mailto:`,`xmpp:`,`blob:`]),he=new Set([`javascript:`,`data:`,`file:`,`vbscript:`]),ge=/^https?:$/;function _e(e,t,n,r=!1,i=!1,a=[]){if(!e)return null;if(typeof e==`string`&&e.startsWith(`#`)&&!i)try{if(new URL(e,`http://example.com`).hash===e)return e}catch{}if(typeof e==`string`&&e.startsWith(`data:`))return i&&r&&e.startsWith(`data:image/`)?e:null;if(typeof e==`string`&&e.startsWith(`blob:`)){try{if(new URL(e).protocol===`blob:`&&e.length>5){let t=e.substring(5);if(t&&t.length>0&&t!==`invalid`)return e}}catch{return null}return null}let o=fe(e,n);if(!o||he.has(o.protocol)||!(me.has(o.protocol)||a.includes(o.protocol)||a.includes(`*`)))return null;if(o.protocol===`mailto:`||!ge.test(o.protocol))return o.href;let s=pe(e);return t.some(e=>{let t=fe(e,n);return!t||t.origin!==o.origin?!1:o.href.startsWith(t.href)})?s?o.pathname+o.search+o.hash:o.href:t.includes(`*`)?o.protocol!==`https:`&&o.protocol!==`http:`?null:s?o.pathname+o.search+o.hash:o.href:null}function ve(e,t,n={}){if(!e||n.loading)return e??null;let r={...O,...n.defaults,...t};return _e(e,r[n.isImage?`allowedImagePrefixes`:`allowedLinkPrefixes`]??[`*`],r.defaultOrigin??``,r.allowDataImages??!0,n.isImage??!1,r.allowedProtocols??[`*`])}const ye={"en-US":()=>import(`./en-US-kZa1cIuB.js`),"zh-CN":()=>import(`./zh-CN-HSoPiiwS.js`)},be={};function xe(e,t){try{if(!e)return t;let n=t.split(`.`).reduce((e,t)=>{if(e&&typeof e==`object`&&t in e)return e[t]},e);return typeof n==`string`?n:t}catch{return t}}function Se(e){return ie.includes(e)}function Ce(e){if(e&&Se(e))return e;let t=e?.toLowerCase()??``;return[`zh`,`zh-cn`,`zh-tw`].includes(t)?`zh-CN`:A}async function we(e){return be[e]||(be[e]=ye[e]().then(e=>e.default)),await be[e]}async function Te(e){return typeof e==`string`?await we(Ce(e)):e}function Ee(e){return typeof e==`string`?Ce(e):A}function De(e,t={}){return e&&typeof e==`object`||typeof e==`string`&&Se(e)?e:Ce(e||t.htmlLanguage||t.navigatorLanguage)}function Oe(){return{request:(e,t=500)=>{if(n()&&`requestIdleCallback`in window)return window.requestIdleCallback(e,{timeout:t});let r=Date.now();return globalThis.setTimeout(()=>{e({didTimeout:!1,timeRemaining:()=>Math.max(0,50-(Date.now()-r))})},1)},cancel:e=>{n()&&`cancelIdleCallback`in window?window.cancelIdleCallback(e):globalThis.clearTimeout(e)}}}function ke({rect:e,naturalWidth:t,naturalHeight:n,viewportWidth:r,viewportHeight:i,margin:a}){let o=r-a*2,s=i-a*2,c=Math.min(o/e.width,t/e.width),l=Math.min(s/e.height,n/e.height),u=Math.min(c,l,1),d=(r-e.width*u)/2,f=(i-e.height*u)/2;return{initialTransform:`translate3d(0, 0, 0) scale(1)`,targetTransform:`translate3d(${d-e.left}px, ${f-e.top}px, 0) scale(${u})`}}function Ae({originalRect:e,zoomRect:t,currentTransform:n}){let r=t.left+t.width/2,i=t.top+t.height/2,a=e.left+e.width/2,o=e.top+e.height/2,s=Math.min(e.width/t.width,e.height/t.height),c=a-r,l=o-i;if(n!==`none`)try{let e=new DOMMatrix(n).inverse(),t=new DOMPoint(c,l).matrixTransform(e);return`${n} translate3d(${t.x}px, ${t.y}px, 0) scale(${s})`}catch{return`${n} translate3d(${c}px, ${l}px, 0) scale(${s})`}return`translate3d(${c}px, ${l}px, 0) scale(${s})`}const je=/^(?:hsl|rgb|oklch|lab|lch)\(/;function Me(e){let t=e.trim();if(!(!t||je.test(t)))return`hsl(${t})`}function Ne(e,t){let n={};for(let r of e){let e=`--${r}`,i=Me(t(e));i&&(n[e]=i)}return n}const Pe=/^[~^]/;function B(e){return e.replace(Pe,``)}const Fe={minZoom:.5,maxZoom:3,zoomStep:.1,wheelSensitivity:.01,initialZoom:1,initialTranslateX:0,initialTranslateY:0};function V(e={}){return{...Fe,...e}}function H(e,t,n){return Math.min(Math.max(e,t),n)}function Ie(e={}){let t=V(e);return{zoom:t.initialZoom,translateX:t.initialTranslateX,translateY:t.initialTranslateY}}function Le(e,t={}){let{maxZoom:n,zoomStep:r}=V(t);return e.zoom>=n?e:{...e,zoom:Math.min(e.zoom+r,n)}}function Re(e,t={}){let{minZoom:n,zoomStep:r}=V(t);return e.zoom<=n?e:{...e,zoom:Math.max(e.zoom-r,n)}}function ze(e={}){return Ie(e)}function Be(e,t,n={}){let{minZoom:r,maxZoom:i}=V(n);return{...e,zoom:H(t,r,i)}}function Ve(e,t){return{x:e.x-t.translateX,y:e.y-t.translateY}}function He(e,t){return{translateX:e.x-t.x,translateY:e.y-t.y}}function Ue(e,t){let n=e.x-t.x,r=e.y-t.y;return Math.sqrt(n*n+r*r)}function We({state:e,rect:t,touches:n}){let[r,i]=n,a=Ue(r,i),o=(r.x+i.x)/2,s=(r.y+i.y)/2,c=t.width/2,l=t.height/2,u=o-t.left-c,d=s-t.top-l;return{initialDistance:a,initialZoom:e.zoom,initialTranslateX:e.translateX,initialTranslateY:e.translateY,centerX:u,centerY:d}}function Ge({rect:e,touches:t,touchState:n,options:r={}}){let[i,a]=t,{minZoom:o,maxZoom:s}=V(r),c=Ue(i,a)/n.initialDistance,l=H(n.initialZoom*c,o,s),u=(i.x+a.x)/2,d=(i.y+a.y)/2,f=e.width/2,p=e.height/2,m=u-e.left-f,h=d-e.top-p,g=(n.centerX-n.initialTranslateX)/n.initialZoom,_=(n.centerY-n.initialTranslateY)/n.initialZoom;return{zoom:l,translateX:m-g*l,translateY:h-_*l}}function Ke({state:e,point:t,rect:n,deltaY:r,ctrlKey:i,metaKey:a,options:o={}}){if(!i&&!a)return null;let{minZoom:s,maxZoom:c,wheelSensitivity:l}=V(o),u=t.x-n.left,d=t.y-n.top,f=n.width/2,p=n.height/2,m=u-f,h=d-p,g=(m-e.translateX)/e.zoom,_=(h-e.translateY)/e.zoom,v=-r*l,y=H(e.zoom+v,s,c);return y===e.zoom?e:{zoom:y,translateX:m-g*y,translateY:h-_*y}}function qe(e){return{transform:`translate(${e.translateX}px, ${e.translateY}px) scale(${e.zoom})`}}function Je(e){switch(e){case`top-left`:return{top:`0.5rem`,left:`0.5rem`};case`top-right`:return{top:`0.5rem`,right:`0.5rem`};case`top-center`:return{top:`0.5rem`,left:`50%`,transform:`translateX(-50%)`};case`bottom-left`:return{bottom:`0.5rem`,left:`0.5rem`};case`bottom-center`:return{bottom:`0.5rem`,left:`50%`,transform:`translateX(-50%)`};default:return{bottom:`0.5rem`,right:`0.5rem`}}}var Ye={"@stream-markdown/shared":`workspace:*`,shiki:`^4.0.2`};const U={},Xe={"1c-query":`1cq`,"1c":`1c`,abap:`abap`,"actionscript-3":`as`,ada:`ada`,adoc:`adoc`,"angular-html":`html`,"angular-ts":`ts`,apache:`conf`,apex:`cls`,apl:`apl`,applescript:`applescript`,ara:`ara`,asciidoc:`adoc`,asm:`asm`,astro:`astro`,awk:`awk`,ballerina:`bal`,bash:`sh`,bat:`bat`,batch:`bat`,be:`be`,beancount:`beancount`,berry:`berry`,bibtex:`bib`,bicep:`bicep`,blade:`blade.php`,bsl:`bsl`,c:`c`,"c#":`cs`,"c++":`cpp`,cadence:`cdc`,cairo:`cairo`,cdc:`cdc`,clarity:`clar`,clj:`clj`,clojure:`clj`,"closure-templates":`soy`,cmake:`cmake`,cmd:`cmd`,cobol:`cob`,codeowners:`CODEOWNERS`,codeql:`ql`,coffee:`coffee`,coffeescript:`coffee`,"common-lisp":`lisp`,console:`sh`,coq:`v`,cpp:`cpp`,cql:`cql`,crystal:`cr`,cs:`cs`,csharp:`cs`,css:`css`,csv:`csv`,cue:`cue`,cypher:`cql`,d:`d`,dart:`dart`,dax:`dax`,desktop:`desktop`,diff:`diff`,docker:`dockerfile`,dockerfile:`dockerfile`,dotenv:`env`,"dream-maker":`dm`,edge:`edge`,elisp:`el`,elixir:`ex`,elm:`elm`,"emacs-lisp":`el`,erb:`erb`,erl:`erl`,erlang:`erl`,f:`f`,"f#":`fs`,f03:`f03`,f08:`f08`,f18:`f18`,f77:`f77`,f90:`f90`,f95:`f95`,fennel:`fnl`,fish:`fish`,fluent:`ftl`,for:`for`,"fortran-fixed-form":`f`,"fortran-free-form":`f90`,fs:`fs`,fsharp:`fs`,fsl:`fsl`,ftl:`ftl`,gdresource:`tres`,gdscript:`gd`,gdshader:`gdshader`,genie:`gs`,gherkin:`feature`,"git-commit":`gitcommit`,"git-rebase":`gitrebase`,gjs:`js`,gleam:`gleam`,"glimmer-js":`js`,"glimmer-ts":`ts`,glsl:`glsl`,gnuplot:`plt`,go:`go`,gql:`gql`,graphql:`graphql`,groovy:`groovy`,gts:`gts`,hack:`hack`,haml:`haml`,handlebars:`hbs`,haskell:`hs`,haxe:`hx`,hbs:`hbs`,hcl:`hcl`,hjson:`hjson`,hlsl:`hlsl`,hs:`hs`,"html-derivative":`html`,html:`html`,http:`http`,hxml:`hxml`,hy:`hy`,imba:`imba`,ini:`ini`,jade:`jade`,java:`java`,javascript:`js`,jinja:`jinja`,jison:`jison`,jl:`jl`,js:`js`,json:`json`,json5:`json5`,jsonc:`jsonc`,jsonl:`jsonl`,jsonnet:`jsonnet`,jssm:`jssm`,jsx:`jsx`,julia:`jl`,kotlin:`kt`,kql:`kql`,kt:`kt`,kts:`kts`,kusto:`kql`,latex:`tex`,lean:`lean`,lean4:`lean`,less:`less`,liquid:`liquid`,lisp:`lisp`,lit:`lit`,llvm:`ll`,log:`log`,logo:`logo`,lua:`lua`,luau:`luau`,make:`mak`,makefile:`mak`,markdown:`md`,marko:`marko`,matlab:`m`,md:`md`,mdc:`mdc`,mdx:`mdx`,mediawiki:`wiki`,mermaid:`mmd`,mips:`s`,mipsasm:`s`,mmd:`mmd`,mojo:`mojo`,move:`move`,nar:`nar`,narrat:`narrat`,nextflow:`nf`,nf:`nf`,nginx:`conf`,nim:`nim`,nix:`nix`,nu:`nu`,nushell:`nu`,objc:`m`,"objective-c":`m`,"objective-cpp":`mm`,ocaml:`ml`,pascal:`pas`,perl:`pl`,perl6:`p6`,php:`php`,plsql:`pls`,po:`po`,polar:`polar`,postcss:`pcss`,pot:`pot`,potx:`potx`,powerquery:`pq`,powershell:`ps1`,prisma:`prisma`,prolog:`pl`,properties:`properties`,proto:`proto`,protobuf:`proto`,ps:`ps`,ps1:`ps1`,pug:`pug`,puppet:`pp`,purescript:`purs`,py:`py`,python:`py`,ql:`ql`,qml:`qml`,qmldir:`qmldir`,qss:`qss`,r:`r`,racket:`rkt`,raku:`raku`,razor:`cshtml`,rb:`rb`,reg:`reg`,regex:`regex`,regexp:`regexp`,rel:`rel`,riscv:`s`,rs:`rs`,rst:`rst`,ruby:`rb`,rust:`rs`,sas:`sas`,sass:`sass`,scala:`scala`,scheme:`scm`,scss:`scss`,sdbl:`sdbl`,sh:`sh`,shader:`shader`,shaderlab:`shader`,shell:`sh`,shellscript:`sh`,shellsession:`sh`,smalltalk:`st`,solidity:`sol`,soy:`soy`,sparql:`rq`,spl:`spl`,splunk:`spl`,sql:`sql`,"ssh-config":`config`,stata:`do`,styl:`styl`,stylus:`styl`,svelte:`svelte`,swift:`swift`,"system-verilog":`sv`,systemd:`service`,talon:`talon`,talonscript:`talon`,tasl:`tasl`,tcl:`tcl`,templ:`templ`,terraform:`tf`,tex:`tex`,tf:`tf`,tfvars:`tfvars`,toml:`toml`,"ts-tags":`ts`,ts:`ts`,tsp:`tsp`,tsv:`tsv`,tsx:`tsx`,turtle:`ttl`,twig:`twig`,typ:`typ`,typescript:`ts`,typespec:`tsp`,typst:`typ`,v:`v`,vala:`vala`,vb:`vb`,verilog:`v`,vhdl:`vhdl`,vim:`vim`,viml:`vim`,vimscript:`vim`,"vue-html":`html`,"vue-vine":`vine`,vue:`vue`,vy:`vy`,vyper:`vy`,wasm:`wasm`,wenyan:`wy`,wgsl:`wgsl`,wiki:`wiki`,wikitext:`wiki`,wit:`wit`,wl:`wl`,wolfram:`wl`,xml:`xml`,xsl:`xsl`,yaml:`yaml`,yml:`yml`,zenscript:`zs`,zig:`zig`,zsh:`zsh`,文言:`wy`},Ze=B(Ye.shiki);let W=null;function Qe(e){function t(){let t=z(e?.cdnOptions),n=N(t?.shiki),r=t?.baseUrl?L(t.baseUrl):``,i=!!t?.getUrl;if(n&&!(!r&&!i)&&!(!import.meta.env.SSR&&typeof window<`u`&&(!(`supports`in HTMLScriptElement)||!HTMLScriptElement.supports?.(`importmap`)))){if(i){let e=t?.getUrl?.(`shiki`,Ze);if(e)return e}return`${r}/shiki@${Ze}/+esm`}}async function n(){if(W)return W;let e=t();if(!e)return;let n=await j(e);return W=n,n}return{getCdnUrl:t,loadCdn:n}}let G=null,K=null;function $e(e){let t;try{t=e.default}catch{t=void 0}return t&&typeof t==`object`?{...e,...t}:e}async function et(){try{return await import(`shiki`),!0}catch{return!1}}function tt(){G?.dispose(),G=null,K=null}function nt(e={}){let t=Qe({cdnOptions:e.cdnOptions}),n=()=>z(e.theme)??[`github-light`,`github-dark`],r=()=>({...U,...z(e.langAlias)??{}}),i=()=>z(e.langs)??[],a=()=>z(e.codeToTokenOptions)??{},o=()=>z(e.lang)??`plaintext`;async function s(){return $e(await t.loadCdn()??await import(`shiki`))}async function c(){return t.getCdnUrl()?!0:await et()}async function l(){let[e,t]=n(),{bundledThemesInfo:r}=await s();return[e,t].filter(e=>r.find(t=>t.id===e))}async function u(){let{bundledThemesInfo:e}=await s(),[t,r]=n();return{light:e.find(e=>e.id===t)?.id??`github-light`,dark:e.find(e=>e.id===r)?.id??`github-dark`}}async function d(){let e=o(),t=r();if(t[e])return t[e];let{bundledLanguagesInfo:n}=await s(),i=n.find(t=>t.id===e||t.aliases?.includes(e));return i?i.id:`plaintext`}async function f(e){let t=await d(),n=await l(),r=e.getLoadedLanguages(),i=e.getLoadedThemes();r.includes(t)||await e.loadLanguage(t);for(let t of n)i.includes(t)||await e.loadTheme(t)}async function p(){let e=G;if(!e){K||=(async()=>{let{createHighlighter:e}=await s();return e({themes:await l(),langs:i(),langAlias:r()})})();try{e=await K,G=e}finally{K=null}}return await f(e),e}async function m(e){return(await p()).codeToTokens(e,{themes:await u(),lang:await d(),...a()})}async function h(){G||await c()&&await p()}return{installed:c(),preload:h,dispose:()=>{},getShiki:s,getHighlighter:p,codeToTokens:m,getLanguage:d}}const q=B({"@stream-markdown/shared":`workspace:*`,katex:`^0.16.38`}.katex);let J=null,rt=!1;function it(e){function t(){let t=z(e?.cdnOptions),n=N(t?.katex),r=M(t?.katex),i=t?.baseUrl?L(t.baseUrl):``,a=!!t?.getUrl;if(!n||!i&&!a)return;if(a){let e=t?.getUrl?.(`katex`,q);if(e)return e}let o=`${i}/katex@${q}/dist/katex.min.js`;return r===`umd`?o:typeof window<`u`&&`supports`in HTMLScriptElement&&HTMLScriptElement.supports?.(`importmap`)?`${i}/katex@${q}/+esm`:o}async function n(){if(J)return J;let e=t();if(!e)return;let n=await j(e);return J=P(n,`katex`),J??n}function r(){let t=z(e?.cdnOptions),n=N(t?.katex),r=t?.baseUrl?L(t.baseUrl):``,i=!!t?.getUrl;if(n&&!(!r&&!i)){if(i){let e=t?.getUrl?.(`katex-css`,q);if(e)return e}return`${r}/katex@${q}/dist/katex.min.css`}}function i(){if(rt||typeof document>`u`)return;let e=r();if(!e)return;let t=document.createElement(`link`);t.rel=`stylesheet`,t.href=e,document.head.appendChild(t),rt=!0}return{getCdnUrl:t,loadCdn:n,getCdnCssUrl:r,loadCss:i}}async function at(){try{return await import(`katex`),!0}catch{return!1}}function ot(e={}){let t=it({cdnOptions:e.cdnOptions});async function n(){return t.getCdnUrl()?!0:await at()}async function r(){return await t.loadCdn()??await import(`katex`)}async function i(e,t){let{renderToString:n}=await r();try{return{html:n(e,{output:`html`,strict:`ignore`,...t?.config??{},displayMode:t?.displayMode})}}catch(e){return{error:e.message}}}async function a(){await n()&&await r()}return{installed:n(),preload:a,dispose:()=>{},ensureCss:()=>t.loadCss(),getKatex:r,renderToHtml:i}}var st={"@antfu/utils":`catalog:inlined`,"@stream-markdown/shared":`workspace:*`,"beautiful-mermaid":`^1.1.3`,mermaid:`^11.13.0`};const ct=B(st.mermaid),lt=B(st[`beautiful-mermaid`]),ut=[`flowchart`,`graph`,`stateDiagram`,`sequence`,`classDiagram`,`erDiagram`,`xychart`],dt=[`neutral`,`dark`],ft={padding:8},pt=[`github-light`,`github-dark`];let Y=null;function X(t){function n(){let n=z(t?.cdnOptions),r=N(n?.beautifulMermaid),i=M(n?.beautifulMermaid),a=n?.baseUrl?L(n.baseUrl):``,o=!!n?.getUrl;if(!r||!a&&!o)return;if(o){let e=n?.getUrl?.(`beautiful-mermaid`,lt);if(e)return e}let s=`${a}/beautiful-mermaid@${lt}/dist/beautiful-mermaid.browser.global.min.js`;return i===`umd`?s:e()?`${a}/beautiful-mermaid@${lt}/+esm`:s}async function r(){if(Y)return Y;let e=n();if(!e)return;let t=await j(e);return Y=P(t,`beautifulMermaid`),Y??t}return{getCdnUrl:n,loadCdn:r}}let Z=null;function mt(t){function n(){let n=z(t?.cdnOptions),r=N(n?.mermaid),i=M(n?.mermaid),a=n?.baseUrl?L(n.baseUrl):``,o=!!n?.getUrl;if(!r||!a&&!o)return;if(o){let e=n?.getUrl?.(`mermaid`,ct);if(e)return e}let s=`${a}/mermaid@${ct}/dist/mermaid.min.js`;return i===`umd`?s:e()?`${a}/mermaid@${ct}/+esm`:s}async function r(){if(Z)return Z;let e=n();if(!e)return;let t=await j(e);return Z=P(t,`mermaid`),Z??t}return{getCdnUrl:n,loadCdn:r}}var ht=class{options;loaded=!1;constructor(e={}){this.options=e}isLoaded(){return this.loaded}async ensureLoaded(){this.loaded||=(await this.load(),!0)}toError(e){return e instanceof Error?e.message:String(e)}};function gt(e=16,t=`useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict`){let n=``,r=e,i=t.length;for(;r--;)n+=t[Math.random()*i|0];return n}function _t(e,t,n){var r=n||{},i=r.noTrailing,a=i===void 0?!1:i,o=r.noLeading,s=o===void 0?!1:o,c=r.debounceMode,l=c===void 0?void 0:c,u,d=!1,f=0;function p(){u&&clearTimeout(u)}function m(e){var t=(e||{}).upcomingOnly,n=t===void 0?!1:t;p(),d=!n}function h(){var n=[...arguments],r=this,i=Date.now()-f;if(d)return;function o(){f=Date.now(),t.apply(r,n)}function c(){u=void 0}!s&&l&&!u&&o(),p(),l===void 0&&i>e?s?(f=Date.now(),a||(u=setTimeout(l?c:o,e))):o():a!==!0&&(u=setTimeout(l?c:o,l===void 0?e-i:e))}return h.cancel=m,h}function vt(...e){return _t(...e)}async function yt(){try{return await import(`mermaid`),!0}catch{return!1}}var bt=class extends ht{mermaid=null;get currentTheme(){let[e,t]=z(this.options.theme)??dt;return z(this.options.isDark)?t:e}wrapThemeCode(e){return e.startsWith(`%%{`)?e:`%%{init: {"theme": "${this.currentTheme}"}}%%\n${e}`}async load(){if(this.mermaid)return;let e=mt({cdnOptions:this.options.cdnOptions});if(!(e.getCdnUrl()||await yt()))throw Error(`Mermaid module is not available`);let t=(await e.loadCdn()??await import(`mermaid`)).default;t.initialize({startOnLoad:!1,securityLevel:`loose`,...z(this.options.config)??{}}),this.mermaid=t}isSupported(){return!0}async parse(e){try{return await this.ensureLoaded(),await this.mermaid.parse(this.wrapThemeCode(e)),{valid:!0}}catch(e){return{valid:!1,error:this.toError(e)}}}async render(e){let t=await this.parse(e);if(!t.valid||!n())return{error:t.error,valid:!1};let r=`mermaid-${gt()}`;try{return{svg:(await this.mermaid.render(r,this.wrapThemeCode(e))).svg,valid:!0}}catch(e){return document.getElementById(`d${r}`)?.remove(),{valid:!1,error:this.toError(e)}}}async isEnabled(){let e=mt({cdnOptions:this.options.cdnOptions});try{return await yt()?!0:!!e.getCdnUrl()}catch{return!1}}};const xt=RegExp(`^(${ut.join(`|`)})`);async function St(){try{return await import(`beautiful-mermaid`),!0}catch{return!1}}function Ct(e){let t=e.trim().split(`
2
- `);for(let e of t){let t=e.trim();if(t&&!t.startsWith(`%%`))return t.match(xt)?.[1]??`unknown`}return`unknown`}function wt(e){return ut.some(t=>e.startsWith(t))}var Tt=class extends ht{beautifulMermaid=null;vanillaRenderer=null;getVanillaRenderer(){return this.vanillaRenderer||=new bt(this.options),this.vanillaRenderer}get currentTheme(){let[e,t]=z(this.options.beautifulTheme)??pt;return z(this.options.isDark)?t:e}get mergedOptions(){return{...ft,...z(this.options.beautifulConfig)??{}}}async getRenderOptions(){let e=this.beautifulMermaid?.THEMES[this.currentTheme];if(e)return{...e,...this.mergedOptions};let t=await this.options.getThemeColors?.();return t?{...t,...this.mergedOptions}:this.mergedOptions}async load(){this.beautifulMermaid||=await X({cdnOptions:this.options.cdnOptions}).loadCdn()??await import(`beautiful-mermaid`)}isSupported(e){return wt(e)}async parse(e){if(!wt(Ct(e)))return this.getVanillaRenderer().parse(e);try{return await this.ensureLoaded(),{valid:!0}}catch(e){return{valid:!1,error:this.toError(e)}}}async render(e){if(!wt(Ct(e)))return this.getVanillaRenderer().render(e);try{await this.ensureLoaded();let t=await this.getRenderOptions();return{svg:await this.beautifulMermaid.renderMermaidSVGAsync(e,t),valid:!0}}catch(e){return{valid:!1,error:this.toError(e)}}}async isEnabled(){let e=X({cdnOptions:this.options.cdnOptions});try{return await St()?!0:!!e.getCdnUrl()}catch{return!1}}};async function Et(){try{return await import(`beautiful-mermaid`),!0}catch{return!1}}async function Dt(e={},t=Et){let n=X({cdnOptions:e.cdnOptions}),r=z(e.renderer);return r===`beautiful`?`beautiful`:r===`vanilla`?`vanilla`:n.getCdnUrl()||await t()?`beautiful`:`vanilla`}function Ot(e={}){let t=null,n=null,r=null,i=null,a=r=>r===`beautiful`?(t||=new Tt(e),t):(n||=new bt(e),n),o=async()=>{let t=await Dt(e);if(r&&i===t)return r;let n=a(t);return r=n,i=t,n};async function s(){await(await o()).load()}async function c(e){return await(await o()).parse(e)}async function l(e){return await(await o()).render(e)}async function u(e,t){let{svg:n}=await l(t);if(!n)throw Error(`SVG not found. Please wait for the diagram to render.`);if(e===`svg`){R(`diagram.svg`,n,`image/svg+xml`);return}let r=await de(n);if(!r)throw Error(`Failed to export PNG image`);R(`diagram.png`,r,`image/png`)}async function d(){let e=await o();await e.isEnabled()&&(e.isLoaded()||await e.load())}return{installed:o().then(e=>e.isEnabled()),preload:d,load:s,dispose(){r=null,i=null},parse:c,render:l,save:u}}function kt(e){let t=e?.cdnOptions,n=Qe({cdnOptions:t}),r=mt({cdnOptions:t}),i=X({cdnOptions:t}),a=it({cdnOptions:t});return{getCdnShikiUrl:n.getCdnUrl,loadCdnShiki:n.loadCdn,getCdnMermaidUrl:r.getCdnUrl,loadCdnMermaid:r.loadCdn,getCdnBeautifulMermaidUrl:i.getCdnUrl,loadCdnBeautifulMermaid:i.loadCdn,getCdnKatexUrl:a.getCdnUrl,loadCdnKatex:a.loadCdn,getCdnKatexCssUrl:a.getCdnCssUrl,loadCdnKatexCss:a.loadCss}}function At(e){let t=i(()=>f(e.language)||``),n=i(()=>f(e.codeOptions)),r=i(()=>ae(n.value,t.value));return{languageCodeOptions:r,showLanguageIcon:i(()=>F(r.value?.languageIcon)),showLanguageName:i(()=>F(r.value?.languageName)),showLineNumbers:i(()=>F(r.value?.lineNumbers))}}const jt=Symbol(`stream-markdown-context`);function Mt(){let e=O(),t=i(()=>f(e.mode)??`streaming`),n=i(()=>f(e.controls)),r=i(()=>f(e.previewers)),a=i(()=>f(e.shikiOptions)),s=i(()=>f(e.mermaidOptions)),c=i(()=>f(e.katexOptions)),l=i(()=>f(e.hardenOptions)),d=i(()=>f(e.codeOptions)),p=i(()=>f(e.imageOptions)),m=i(()=>f(e.linkOptions)),h=i(()=>f(e.cdnOptions)),g=i(()=>f(e.icons)??{}),_=i(()=>f(e.nodeRenderers)??{}),v=i(()=>f(e.uiComponents)??T),y=i(()=>f(e.uiOptions)??{}),ee=i(()=>y.value.hideTooltip??!1),b=i(()=>f(e.isDark)??!1),te=i(()=>{let n=f(e.enableAnimate);return typeof n==`boolean`?n:t.value===`streaming`}),x=i(()=>f(e.enableCaret)),S=i(()=>{let t=f(e.caret);return t?D[t]:void 0}),C=i(()=>f(e.parsedNodes)??[]),w=i(()=>f(e.blocks)??[]);function E(e){u(jt,{...O(),...e})}function O(){return o(jt,{})||{}}return{context:e,provideContext:E,injectContext:O,mode:t,controls:n,previewers:r,shikiOptions:a,mermaidOptions:s,katexOptions:c,hardenOptions:l,codeOptions:d,imageOptions:p,linkOptions:m,cdnOptions:h,hideTooltip:ee,icons:g,nodeRenderers:_,uiComponents:v,isDark:b,enableAnimate:te,enableCaret:x,caret:S,parsedNodes:C,blocks:w,get markdownParser(){return e.markdownParser},get getContainer(){return e.getContainer||(()=>void 0)},get beforeDownload(){return e.beforeDownload||(()=>!0)},get onCopied(){return e.onCopied||(()=>{})}}}function Nt(e){let t=i(()=>f(e.controls)??!0);function n(e){return oe(t.value,e)}function r(e){return I(t.value,e)}function a(e,n,r){return ce(t.value,e,n,r)}return{isControlEnabled:n,getControlValue:r,resolveControls:a}}function Pt(e,n){let a=d(),o=i(()=>f(n)),s=i(()=>typeof f(e)==`boolean`),l=d(!1),u=i(()=>s.value?f(e):l.value);function m(){l.value=document.documentElement.classList.contains(`dark`)}function h(){t()||(g(),v())}function g(){let e=document.createElement(`div`);e.id=r,e.classList.add(`stream-markdown`),e.classList.add(u.value?`dark`:`light`),document.body.appendChild(e)}function v(){let e=t();e&&(e.classList.toggle(`dark`,u.value),e.classList.toggle(`light`,!u.value),Object.entries(o.value).forEach(([t,n])=>{e.style.setProperty(t,n)}))}let{stop:y}=_(a,m,{attributes:!0,attributeFilter:[`class`],subtree:!1});return p(()=>[u.value,o.value],()=>v()),p(s,()=>{s.value&&(a.value=null)}),c(()=>{h(),s.value||(m(),a.value=document.documentElement)}),{isDark:u,isDarkProvided:s,stop:y}}function Ft(e){let{immediate:t=!1,debounceDelay:n=300,rootMargin:r=`300px`,idleTimeout:a=500}=e,o=d(t),s=d(null),c=d(null),u=i(()=>f(e.targetRef)),{request:p,cancel:m}=Oe(),h=()=>{s.value!==null&&(clearTimeout(s.value),s.value=null),c.value!==null&&(m(c.value),c.value=null)},_=e=>{c.value=p(t=>{t.timeRemaining()>0||t.didTimeout?(o.value=!0,e()):c.value=p(()=>{o.value=!0,e()},a/2)},a)},{stop:v}=g(u,([e])=>{o.value||t||(e?.isIntersecting?(h(),s.value=window.setTimeout(()=>{e.isIntersecting&&!o.value&&_(v)},n)):h())},{rootMargin:r});return l(()=>{h(),v()}),{shouldRender:o}}function It(e){let t=i(()=>f(e.hideTooltip)??!1),r=i(()=>f(e.trigger)??`hover`),a=i(()=>f(e.placement)??`top`),o=i(()=>f(e.delay)??[100,100]),s=d(),l=d(),u=null,g=null,_=d(!1),v=d(null),S=d(null),C=d(`absolute`),w=d(),T=null;async function E(){if(!(!s.value||!l.value||!n()))try{let e=await ee(s.value,l.value,{placement:a.value,middleware:[te(6),b(),x({padding:5})]});v.value=e.x,S.value=e.y,C.value=e.strategy}catch{}}m(()=>{T&&=(T(),null),!(!s.value||!l.value||!n())&&(T=y(s.value,l.value,E))}),p(a,()=>{_.value&&E()});let D=i(()=>n()&&s.value?.parentElement||null),O=()=>{if(!n())return e.getContainer?.()||`body`;let t=e.getContainer?.()||D.value;return t instanceof HTMLElement&&!document.body.contains(t)?`body`:t||`body`},ne=i(()=>({position:C.value,top:`${S.value??0}px`,left:`${v.value??0}px`}));function re(){I();let{show:e}=N();u=window.setTimeout(()=>{_.value=!0,E()},e)}function k(){I();let{hide:e}=N();g=window.setTimeout(()=>{_.value=!1},e)}function A(){_.value=!_.value,E()}function ie(){t.value||r.value===`hover`&&re()}function j(){r.value===`hover`&&k()}function M(){r.value===`click`&&A()}function N(){return Array.isArray(o.value)?{show:o.value[0]??0,hide:o.value[1]??0}:{show:o.value??0,hide:o.value??0}}function P(e){if(!_.value)return;let t=e.target;s.value?.contains(t)||l.value?.contains(t)||(_.value=!1)}function ae(){g&&=(clearTimeout(g),null)}function F(){let{hide:e}=N();r.value===`hover`&&(g=window.setTimeout(()=>{k()},e))}function I(){u&&=(clearTimeout(u),null),g&&=(clearTimeout(g),null)}return c(()=>{w.value=O(),h(document,`click`,P)}),{referenceEl:s,floatingEl:l,open:_,appendTo:w,floatingStyle:ne,show:re,hide:k,onMouseEnter:ie,onMouseLeave:j,onClick:M,onFloatingEnter:ae,onFloatingLeave:F}}const Q=d(),$=d(A);async function Lt(e){try{Q.value=await Te(e),typeof e==`string`&&($.value=Ee(e))}catch{Q.value=await Te(A),$.value=A}}Lt(A);function Rt(){function e(e){return xe(Q.value,e)}return{t:e}}function zt(e){let{mdastOptions:t,cdnOptions:r}=e??{},a=i(()=>f(e.markdown)??``),o=t?.builtin?.micromark?.math!==!1,s=t?.singleDollarTextMath===!0,c=i(()=>S(a.value,s)),l=d(!1),u=ot({cdnOptions:()=>r});async function m(e,t={}){return await u.renderToHtml(e,{config:t})}async function h(){l.value=await u.installed,l.value&&await u.preload()}return p(()=>c.value,e=>{e&&o&&u.ensureCss()},{immediate:!0}),n()&&(async()=>{l.value=await u.installed})(),{installed:l,render:m,preload:h,dispose:u.dispose,loadCdnKatexCss:u.ensureCss}}function Bt(e){let{language:t}=v(),r=d(),a=i(()=>De(f(e),{htmlLanguage:r.value,navigatorLanguage:t.value}));function o(){return n()?document.documentElement.lang:``}return c(()=>{r.value=o()}),{locale:a}}function Vt(e){let{installed:t,render:n}=zt({cdnOptions:e.cdnOptions}),r=d(!1),a=d(``),o=d(``),s=d(``),c=i(()=>f(e.node)),l=i(()=>f(e.katexOptions)?.config??{}),u=i(()=>f(e.throttle)??150),m=i(()=>c.value.value),h=i(()=>c.value.loading),g=i(()=>c.value.type!==`inlineMath`),_=i(()=>!!(!t.value||s.value&&r.value&&a.value===m.value));return p(()=>[m.value,h.value],vt(u,async()=>{let{html:e,error:t}=await n(m.value,{...l,displayMode:g.value});if(r.value=!0,e){o.value=e,s.value=``;return}t?s.value=t:s.value=``}),{immediate:!0}),{html:o,error:_,errorMessage:s}}function Ht(e){let t=i(()=>f(e.margin)??0),r=d(),a=d(),o=d(),c=d(!1),l=d(!1),u=d(``),p=d(``),m=i(()=>n()?{opacity:l.value?0:1}:{opacity:1});function h(){let e=r.value;if(!e)return;let t=e.cloneNode(!0),n=e.getBoundingClientRect();return t.style.position=`fixed`,t.style.top=`${n.top}px`,t.style.left=`${n.left}px`,t.style.width=`${n.width}px`,t.style.height=`${n.height}px`,t.style.margin=`0`,t.style.padding=`0`,t.style.pointerEvents=`none`,t.style.zIndex=`10000`,t.style.willChange=`transform`,t.style.transformOrigin=`top left`,e instanceof HTMLImageElement&&e.currentSrc&&(t.src=e.currentSrc),t}function g(){let e=r.value;if(!e||!a.value)return;let n=e.getBoundingClientRect(),i=window.innerWidth,o=window.innerHeight,s=ke({rect:n,naturalWidth:e.naturalWidth||n.width,naturalHeight:e.naturalHeight||n.height,viewportWidth:i,viewportHeight:o,margin:t.value});u.value=s.initialTransform,p.value=s.targetTransform}async function _(){let t=r.value;if(!t)return;let n=h();if(!n)return;t.style.visibility=`hidden`,document.body.appendChild(n),a.value=n,l.value=!0,await s(),g(),a.value&&(a.value.style.transform=u.value,a.value.style.transition=`none`),a.value?.offsetHeight,await s(),c.value=!0,a.value&&(a.value.style.transition=`transform 0.3s cubic-bezier(0.2, 0, 0.2, 1)`,a.value.style.transform=p.value),e.open?.();let i=()=>{c.value=!1,a.value&&(a.value.style.opacity=`0`),l.value=!1,n.removeEventListener(`transitionend`,i)};n.addEventListener(`transitionend`,i,{once:!0})}async function v(){if(!a.value){e.close?.();return}if(await s(),l.value=!0,a.value&&(a.value.style.opacity=`1`),await s(),!a.value)return;let t=r.value,n=o.value;if(!t||!n)return;let i=t.getBoundingClientRect(),u=n.getBoundingClientRect(),d=a.value,f=window.getComputedStyle(n).transform||`none`;d.style.top=`${u.top}px`,d.style.left=`${u.left}px`,d.style.width=`${u.width}px`,d.style.height=`${u.height}px`,d.style.transform=f===`none`?`translate3d(0, 0, 0) scale(1)`:f,d.style.transformOrigin=`center center`,d.style.transition=`none`,d.offsetHeight,await s(),c.value=!0,d.style.transition=`transform 0.3s cubic-bezier(0.2, 0, 0.2, 1)`,d.style.transform=Ae({originalRect:i,zoomRect:u,currentTransform:f}),d.addEventListener(`transitionend`,()=>{let t=a.value;t&&t.parentNode&&t.parentNode.removeChild(t),a.value=void 0,r.value&&(r.value.style.visibility=`visible`),e.close?.(),c.value=!1,l.value=!1},{once:!0})}return{isAnimating:c,elementStyle:m,elementRef:r,zoomElementRef:o,zoomIn:_,zoomOut:v}}function Ut(e){async function t(){try{let t=f(e?.shikiOptions)?.theme??[`github-light`,`github-dark`],n=f(e?.isDark)??!1?t[1]:t[0],r=nt({cdnOptions:()=>f(e?.cdnOptions),isDark:()=>f(e?.isDark)??!1,theme:()=>t,langs:()=>f(e?.shikiOptions)?.langs??[],langAlias:()=>f(e?.shikiOptions)?.langAlias??{},codeToTokenOptions:()=>f(e?.shikiOptions)?.codeToTokenOptions}),[{fromShikiTheme:i},a]=await Promise.all([import(`beautiful-mermaid`),r.getHighlighter()]);return i(a.getTheme(n??`github-light`))}catch{return null}}let r=Ot({renderer:()=>f(e?.mermaidOptions)?.renderer,theme:()=>f(e?.mermaidOptions)?.theme,beautifulTheme:()=>f(e?.mermaidOptions)?.beautifulTheme,config:()=>f(e?.mermaidOptions)?.config,beautifulConfig:()=>f(e?.mermaidOptions)?.beautifulConfig,cdnOptions:()=>f(e?.cdnOptions),isDark:()=>f(e?.isDark)??!1,getThemeColors:t});async function i(e){return await r.parse(e)}async function a(e){return await r.render(e)}async function o(e,t,n){try{await r.save(e,t)}catch(e){n?.(e)}}let s=d(!1);async function c(){s.value=await r.installed,s.value&&await r.preload()}return n()&&(async()=>{s.value=await r.installed})(),{installed:s,getMermaid:r.load,parseMermaid:i,renderMermaid:a,saveMermaid:o,preload:c,dispose:r.dispose}}function Wt(e){let t=i(()=>f(e.hardenOptions)??O),n=i(()=>f(e.loading)??!1),r=i(()=>f(e.isImage)??!1),a=i(()=>f(e.url)??``),o=i(()=>c(a.value)),s=i(()=>o.value===null);function c(e){return ve(e,t.value,{isImage:r.value,loading:n.value})}return{hardenOptions:t,transformHardenUrl:c,transformedUrl:o,isHardenUrl:s}}function Gt(){tt()}function Kt(e){let t=d(!1),r=i(()=>f(e?.lang)??`plaintext`),a=nt({lang:()=>r.value,cdnOptions:()=>f(e?.cdnOptions),isDark:()=>f(e?.isDark)??!1,theme:()=>f(e?.shikiOptions)?.theme??[`github-light`,`github-dark`],langs:()=>f(e?.shikiOptions)?.langs??[],langAlias:()=>({...U,...f(e?.shikiOptions)?.langAlias??{}}),codeToTokenOptions:()=>f(e?.shikiOptions)?.codeToTokenOptions});async function o(){t.value=await a.installed,t.value&&await a.preload()}return n()&&(async()=>{t.value=await a.installed})(),{installed:t,getShiki:a.getShiki,getHighlighter:a.getHighlighter,codeToTokens:a.codeToTokens,preload:o,dispose:a.dispose}}function qt(e){let t=d({}),r=i(()=>{if(n())return(typeof e.element==`function`?e.element():null)||document.body});function a(){if(!n()||!r.value)return;let e=window.getComputedStyle(r.value),i=Ne(k,t=>e.getPropertyValue(t));Object.keys(i).length>0?t.value=i:t.value={}}m(a);let{stop:o}=_(()=>r.value?[r.value,document.documentElement]:[],a,{attributes:!0,attributeFilter:[`style`,`class`],subtree:!1});return{element:r,cssVariables:t,generateCSS:a,stop:o}}function Jt(e={}){let t=Ie(e),n=d(t.zoom),r=d(t.translateX),a=d(t.translateY),o=d(!1),s=d({x:0,y:0}),c=d(!1),l=d(null),u=i(()=>qe(C()));function f(e,t){return{x:e,y:t}}function p(){_(Le(C(),e))}function m(){_(Re(C(),e))}function h(){_(ze(e))}function g(t){_(Be(C(),t,e))}function _(e){n.value=e.zoom,r.value=e.translateX,a.value=e.translateY}function v(e){c.value||(o.value=!0,s.value=Ve(f(e.clientX,e.clientY),C()),e.pointerType!==`mouse`&&e.target instanceof HTMLElement&&e.target.setPointerCapture(e.pointerId))}function y(e){if(!o.value||c.value)return;let t=He(f(e.clientX,e.clientY),s.value);r.value=t.translateX,a.value=t.translateY}function ee(){o.value=!1}function b(t,n){let r=Ke({state:C(),point:f(t.clientX,t.clientY),rect:n.getBoundingClientRect(),deltaY:t.deltaY,ctrlKey:t.ctrlKey,metaKey:t.metaKey,options:e});r&&(t.preventDefault(),_(r))}function te(e,t){e.touches.length===2&&(e.preventDefault(),c.value=!0,l.value=We({state:C(),rect:t.getBoundingClientRect(),touches:[f(e.touches[0].clientX,e.touches[0].clientY),f(e.touches[1].clientX,e.touches[1].clientY)]}))}function x(t,n){t.touches.length===2&&l.value&&(t.preventDefault(),_(Ge({rect:n.getBoundingClientRect(),touches:[f(t.touches[0].clientX,t.touches[0].clientY),f(t.touches[1].clientX,t.touches[1].clientY)],touchState:l.value,options:e})))}function S(e){e.touches.length<2&&(l.value=null,c.value=!1)}function C(){return{zoom:n.value,translateX:r.value,translateY:a.value}}function w(t){typeof t.zoom==`number`&&(n.value=Be(C(),t.zoom,e).zoom),typeof t.translateX==`number`&&(r.value=t.translateX),typeof t.translateY==`number`&&(a.value=t.translateY)}return{zoom:n,translateX:r,translateY:a,isDragging:o,transformStyle:u,zoomIn:p,zoomOut:m,resetZoom:h,setZoom:g,startDrag:v,onDrag:y,stopDrag:ee,handleWheel:b,getState:C,setState:w,handleTouchStart:te,handleTouchMove:x,handleTouchEnd:S}}export{D as A,U as C,ue as D,R as E,E as F,T as I,w as L,ne as M,re as N,A as O,k as P,C as R,vt as S,Je as T,Pt as _,Wt as a,At as b,Vt as c,Rt as d,$ as f,Ft as g,It as h,Kt as i,O as j,ie as k,Bt as l,Q as m,qt as n,Ut as o,Lt as p,Gt as r,Ht as s,Jt as t,zt as u,Nt as v,Xe as w,kt as x,Mt as y};
@@ -1 +0,0 @@
1
- import{D as e,a as t,d as n,v as r,y as i}from"./composables-CA0XaIPq.js";import{computed as a,createBlock as o,createCommentVNode as s,createElementBlock as c,createElementVNode as l,createTextVNode as u,defineComponent as d,normalizeStyle as f,openBlock as p,ref as m,resolveDynamicComponent as h,toDisplayString as g,unref as _,withCtx as v}from"vue";const y={"data-stream-markdown":`image-wrapper`,class:`text-center relative`},b={key:0,"data-stream-markdown":`image-caption`,class:`text-sm text-center italic`};var x=d({__name:`image`,props:{node:{type:Object,required:!0},markdownParser:{type:Object,required:!0},nodeRenderers:{type:Object,required:!0},blockIndex:{type:Number,required:!1},parentNode:{type:Object,required:!1},prevNode:{type:Object,required:!1},nextNode:{type:Object,required:!1},nodeKey:{type:String,required:!0},deep:{type:Number,required:!0}},setup(d){let x=d,{beforeDownload:S,controls:C,hardenOptions:w,imageOptions:T,uiComponents:E}=i(),{t:D}=n(),{isControlEnabled:O}=r({controls:C}),k=m(),A=m(!1),j=m(!1),M=m(!1),N=a(()=>x.node.loading||!x.node.url),P=a(()=>O(`image.download`)),F=a(()=>O(`image.preview`)),I=a(()=>T.value?.fallback??``),L=a(()=>M.value&&I.value?I.value:x.node.url),{transformedUrl:R,isHardenUrl:z,transformHardenUrl:B}=t({url:L,hardenOptions:w,loading:N,isImage:!0}),V=a(()=>String(x.node.alt??x.node.title??``)),H=a(()=>String(x.node.title??x.node.alt??``)),U=a(()=>(typeof T.value?.caption==`boolean`?T.value.caption:!0)&&!N.value&&!!H.value),W=a(()=>z.value?w.value?.errorComponent??E.value.ErrorComponent:T.value?.errorComponent??E.value.ErrorComponent);function G(){j.value=!0}function K(){if(I.value&&!M.value){M.value=!0;return}A.value=!0}async function q(t=L.value){t&&await S({type:`image`,url:t})&&e(t,V.value)}function J(){k.value&&(k.value.style.opacity=1)}function Y(){k.value&&(k.value.style.opacity=0)}return(e,t)=>(p(),c(`figure`,{"data-stream-markdown":`image-figure`,class:`inline-block`,style:f({width:N.value||!j.value?`100%`:`auto`}),onMouseenter:J,onMouseleave:Y},[l(`div`,y,[_(z)?s(`v-if`,!0):(p(),c(`div`,{key:0,ref_key:`maskRef`,ref:k,"data-stream-markdown":`image-mask`,class:`rounded-lg bg-[rgb(0_0_0_/_0.1)] opacity-0 pointer-events-none transition-opacity duration-[var(--default-transition-duration)] ease inset-0 absolute`},[!N.value&&P.value?(p(),o(h(_(E).Button),{key:0,"data-stream-markdown":`image-download-button`,class:`pointer-events-auto bottom-2 right-2 absolute`,icon:`download`,name:_(D)(`button.download`),"icon-class":`test`,"icon-width":16,"icon-height":16,"button-style":{backgroundColor:`color-mix(in oklab, var(--background) 90%, transparent)`},onClick:t[0]||=()=>q(L.value)},null,8,[`name`])):s(`v-if`,!0)],512)),(N.value||!j.value)&&!_(z)?(p(),o(h(_(E).Spin),{key:1})):s(`v-if`,!0),!N.value&&!_(z)&&typeof _(R)==`string`?(p(),o(h(_(E).Image),{key:_(R),src:_(R),alt:V.value,title:H.value,preview:!M.value&&F.value,controls:_(C),"transform-harden-url":_(B),"node-props":x,"handle-download":q,onLoad:G,onError:K},null,40,[`src`,`alt`,`title`,`preview`,`controls`,`transform-harden-url`])):_(z)||A.value?(p(),o(h(W.value),{key:3,variant:_(z)?`harden-image`:`image`},{default:v(()=>[u(g(H.value),1)]),_:1},8,[`variant`])):s(`v-if`,!0)]),U.value&&H.value?(p(),c(`figcaption`,b,g(H.value),1)):s(`v-if`,!0)],36))}});export{x as default};
@@ -1 +0,0 @@
1
- import{n as e}from"./overlay-wVfeUgFf.js";import{Fragment as t,Teleport as n,Transition as r,computed as i,createBlock as a,createCommentVNode as o,createElementBlock as s,createElementVNode as c,createTextVNode as l,createVNode as u,defineComponent as d,mergeModels as f,normalizeStyle as p,onMounted as m,openBlock as h,ref as g,renderSlot as _,toDisplayString as v,unref as y,useModel as b,useSlots as x,withCtx as S}from"vue";import{createReusableTemplate as C,useEventListener as w}from"@vueuse/core";const T={"data-stream-markdown":`modal-body`,class:`flex-1 basis-0 overflow-auto`};var E=d({__name:`modal`,props:f({title:{type:String,required:!1},zIndex:{type:Number,required:!1,default:9999},modalStyle:{type:Object,required:!1},headerStyle:{type:Object,required:!1},transition:{type:String,required:!1,default:`stream-markdown-modal`},close:{type:Function,required:!1},open:{type:Boolean,required:!1}},{open:{type:Boolean,required:!1,default:!1},openModifiers:{}}),emits:[`update:open`],setup(d){let f=d,E=x(),D=b(d,`open`),O=g(),[k,A]=C(),j=i(()=>({...f.modalStyle,zIndex:f.zIndex})),M=i(()=>!!f.title||!!E.title||!!E.extra);return m(()=>{O.value=e()||document.body,w(document,`keyup`,e=>{(e.key===`Escape`||e.key===`Esc`)&&(f.close?f.close():D.value=!1)})}),(e,i)=>(h(),s(t,null,[u(y(k),null,{default:S(()=>[D.value?(h(),s(`div`,{key:0,"data-stream-markdown":`modal`,class:`bg-background flex flex-col inset-0 fixed`,style:p(j.value)},[M.value?(h(),s(`header`,{key:0,"data-stream-markdown":`modal-header`,class:`px-4 py-2 flex shrink-0 items-center justify-between relative [&>*:last-child]:flex [&>*:first-child]:flex-1 [&>*:last-child]:flex-1 [&>*:nth-child(2)]:left-1/2 [&>*:last-child]:justify-end [&>*:nth-child(2)]:absolute [&>*:nth-child(2)]:-translate-x-1/2`,style:p(d.headerStyle)},[_(e.$slots,`title`,{},()=>[l(v(d.title),1)]),_(e.$slots,`header-center`,{},()=>[i[0]||=c(`div`,null,null,-1)]),_(e.$slots,`actions`)],4)):o(`v-if`,!0),c(`main`,T,[_(e.$slots,`default`)])],4)):o(`v-if`,!0)]),_:3}),O.value?(h(),a(n,{key:0,to:O.value},[d.transition?(h(),a(r,{key:0,name:d.transition,appear:``},{default:S(()=>[u(y(A))]),_:1},8,[`name`])):(h(),a(y(A),{key:1}))],8,[`to`])):o(`v-if`,!0)],64))}});export{E as default};
@@ -1 +0,0 @@
1
- import{t as e}from"./rolldown-runtime-BbypZo7q.js";import{y as t}from"./composables-CA0XaIPq.js";import{Fragment as n,Transition as r,computed as i,createBlock as a,createElementBlock as o,defineComponent as s,openBlock as c,renderList as l,resolveDynamicComponent as u,unref as d,withCtx as f}from"vue";var p=s({inheritAttrs:!1,__name:`node-list`,props:{markdownParser:{type:Object,required:!1},nodeRenderers:{type:Object,required:!1},nodes:{type:Array,required:!1,default:()=>[]},nodeKey:{type:String,required:!1},blockIndex:{type:Number,required:!1,default:0},parentNode:{type:Object,required:!1},prevNode:{type:Object,required:!1},nextNode:{type:Object,required:!1},deep:{type:Number,required:!0}},setup(e){let s=e,{enableAnimate:p,blocks:m,nodeRenderers:h,markdownParser:g}=t(),_=i(()=>s.nodeRenderers?s.nodeRenderers:h.value),v=i(()=>s.markdownParser??g),y=i(()=>{let e=t=>{let n=m.value[t];return n&&!n.children.length?e(t-1):n};return e(s.blockIndex-1)}),b=i(()=>{let e=t=>{let n=m.value[t];return n&&!n.children.length?e(t+1):n};return e(s.blockIndex+1)}),x=i(()=>s.nodes.map((e,t)=>({node:e,index:t,key:E(e,t),component:C(e),prevNode:w(t),nextNode:T(t)}))),S=[`code`];function C(e){return _.value[e.type]||null}function w(e){let t=s.nodes[e-1];if(t)return t;if(!(s.deep>0))return y.value?.children[y.value.children.length-1]}function T(e){let t=s.nodes[e+1];if(t)return t;if(!(s.deep>0))return b.value?.children[0]}function E(e,t){let n=`${s.nodeKey||`stream-markdown`}-${e.type}`;return e.type===`footnoteReference`||e.type===`footnoteDefinition`?`${n}-${e.identifier}`:`${n}-${t}`}return(t,i)=>(c(!0),o(n,null,l(x.value,t=>(c(),o(n,{key:t.key},[d(p)&&!S.includes(t.node.type)?(c(),a(r,{key:0,name:`stream-markdown-typewriter`,appear:``},{default:f(()=>[(c(),a(u(t.component),{"markdown-parser":v.value,"node-renderers":_.value,deep:e.deep,node:t.node,"parent-node":e.parentNode,"prev-node":t.prevNode,"next-node":t.nextNode,"node-key":t.key},null,8,[`markdown-parser`,`node-renderers`,`deep`,`node`,`parent-node`,`prev-node`,`next-node`,`node-key`]))]),_:2},1024)):(c(),a(u(t.component),{key:1,"markdown-parser":v.value,"node-renderers":_.value,deep:e.deep,node:t.node,"parent-node":e.parentNode,"prev-node":t.prevNode,"next-node":t.nextNode,"node-key":t.key},null,8,[`markdown-parser`,`node-renderers`,`deep`,`node`,`parent-node`,`prev-node`,`next-node`,`node-key`]))],64))),128))}}),m=e({default:()=>h}),h=p;export{m as n,h as t};
@@ -1 +0,0 @@
1
- let e=!1;function t(){return typeof window<`u`}function n(){return typeof window>`u`}function r(){return n()?!1:e?!0:(e=`noModule`in document.createElement(`script`),e)}const i=`stream-markdown-overlay`;function a(){return t()?document.getElementById(i):null}export{r as i,a as n,t as r,i as t};
@@ -1 +0,0 @@
1
- import{M as e}from"./composables-CA0XaIPq.js";import{t}from"./node-list-CTXWVPv3.js";import{n}from"./dist-NemZ_xNm.js";import{computed as r,createElementBlock as i,createVNode as a,defineComponent as o,mergeProps as s,normalizeStyle as c,openBlock as l}from"vue";function u(t){return e.includes(t)}var d=o({__name:`paragraph`,props:{node:{type:Object,required:!0},markdownParser:{type:Object,required:!0},nodeRenderers:{type:Object,required:!0},blockIndex:{type:Number,required:!1},parentNode:{type:Object,required:!1},prevNode:{type:Object,required:!1},nextNode:{type:Object,required:!1},nodeKey:{type:String,required:!0},deep:{type:Number,required:!0}},setup(e){let o=e,d=r(()=>{let e=o.parentNode?.type,t=o.nextNode?.type;return e!==`listItem`&&t===`list`?`0.5rem`:``}),f=r(()=>o.deep===0&&[...[...new Set(n(o.node.children,e=>e.type))]].every(u)?1.75:``);return(n,r)=>(l(),i(`p`,{"data-stream-markdown":`paragraph`,class:`my-4 align-middle transition-[height] duration-[var(--default-transition-duration)] ease`,style:c({marginBottom:d.value,lineHeight:f.value})},[a(t,s(o,{"parent-node":e.node,nodes:e.node.children,deep:e.deep+1}),null,16,[`parent-node`,`nodes`,`deep`])],4))}});export{d as default};
@@ -1,7 +0,0 @@
1
- import{E as e,d as t,v as n,y as r}from"./composables-CA0XaIPq.js";import{t as i}from"./node-list-CTXWVPv3.js";import{Fragment as a,computed as o,createBlock as s,createCommentVNode as c,createElementBlock as l,createElementVNode as u,createVNode as d,defineComponent as f,mergeProps as p,openBlock as m,ref as h,renderList as g,resolveDynamicComponent as _,unref as v,withCtx as y}from"vue";import{useClipboard as b}from"@vueuse/core";const x=/"/g;function S(e){let t=[],n=[],r=Array.from(e.querySelectorAll(`thead th`));for(let e of r)t.push(e.textContent?.trim()||``);let i=Array.from(e.querySelectorAll(`tbody tr`));for(let e of i){let t=[],r=Array.from(e.querySelectorAll(`td`));for(let e of r)t.push(e.textContent?.trim()||``);n.push(t)}return{headers:t,rows:n}}function C(e){let{headers:t,rows:n}=e,r=e=>{let t=!1,n=!1;for(let r=0;r<e.length;r+=1){let i=e[r];if(i===`"`){t=!0,n=!0;break}(i===`,`||i===`
2
- `)&&(t=!0)}return t?n?`"${e.replace(x,`""`)}"`:`"${e}"`:e},i=t.length>0?n.length+1:n.length,a=Array.from({length:i}),o=0;t.length>0&&(a[o]=t.map(r).join(`,`),o+=1);for(let e of n)a[o]=e.map(r).join(`,`),o+=1;return a.join(`
3
- `)}function w(e){let{headers:t,rows:n}=e,r=e=>{let t=!1;for(let n=0;n<e.length;n+=1){let r=e[n];if(r===` `||r===`
4
- `||r===`\r`){t=!0;break}}if(!t)return e;let n=[];for(let t=0;t<e.length;t+=1){let r=e[t];r===` `?n.push(`\\t`):r===`
5
- `?n.push(`\\n`):r===`\r`?n.push(`\\r`):n.push(r)}return n.join(``)},i=t.length>0?n.length+1:n.length,a=Array.from({length:i}),o=0;t.length>0&&(a[o]=t.map(r).join(` `),o+=1);for(let e of n)a[o]=e.map(r).join(` `),o+=1;return a.join(`
6
- `)}function T(e){let t=!1;for(let n=0;n<e.length;n+=1){let r=e[n];if(r===`\\`||r===`|`){t=!0;break}}if(!t)return e;let n=[];for(let t=0;t<e.length;t+=1){let r=e[t];r===`\\`?n.push(`\\\\`):r===`|`?n.push(`\\|`):n.push(r)}return n.join(``)}function E(e){let{headers:t,rows:n}=e;if(t.length===0)return``;let r=Array.from({length:n.length+2}),i=0;r[i]=`| ${t.map(e=>T(e)).join(` | `)} |`,i+=1;let a=Array.from({length:t.length});for(let e=0;e<t.length;e+=1)a[e]=`---`;r[i]=`| ${a.join(` | `)} |`,i+=1;for(let e of n){if(e.length<t.length){let n=Array.from({length:t.length});for(let r=0;r<t.length;r+=1)n[r]=r<e.length?T(e[r]):``;r[i]=`| ${n.join(` | `)} |`,i+=1;continue}r[i]=`| ${e.map(e=>T(e)).join(` | `)} |`,i+=1}return r.join(`
7
- `)}const D={"data-stream-markdown":`table-wrapper`,class:`my-4 flex flex-col gap-2 items-center`},O={"data-stream-markdown":`table-controls`,class:`flex gap-1 w-full items-center justify-end`},k={"data-stream-markdown":`table-inner-wrapper`,class:`w-full overflow-x-auto`};var A=f({__name:`table`,props:{node:{type:Object,required:!0},markdownParser:{type:Object,required:!0},nodeRenderers:{type:Object,required:!0},blockIndex:{type:Number,required:!1},parentNode:{type:Object,required:!1},prevNode:{type:Object,required:!1},nextNode:{type:Object,required:!1},nodeKey:{type:String,required:!0},deep:{type:Number,required:!0}},setup(f){let x=f,{beforeDownload:T,controls:A,onCopied:j,uiComponents:M}=r(),{t:N}=t(),{copy:P,copied:F}=b({legacy:!0}),{isControlEnabled:I,resolveControls:L}=n({controls:A}),R=o(()=>I(`table.copy`)),z=o(()=>I(`table.download`)),B=h(),V=o(()=>x.node.align||[]),H=o(()=>x.node.children?.[0]?.children??[]),U=o(()=>x.node.children.slice(1)),W=o(()=>x.markdownParser.hasLoadingNode(x.node.children));function G(e){return V.value[e]||`left`}function K(e){if(!B.value?.$el)return null;let t=S(B.value.$el);switch(e){case`markdown`:return{content:E(t),mimeType:`text/markdown`,extension:`md`};case`tsv`:return{content:w(t),mimeType:`text/tsv`,extension:`tsv`};default:return{content:C(t),mimeType:`text/csv`,extension:`csv`}}}let q=[{label:`CSV`,value:`csv`},{label:`TSV`,value:`tsv`},{label:`Markdown`,value:`markdown`}],J=o(()=>[{name:N(`button.copy`),key:`copy`,icon:F.value?`check`:`copy`,options:q,visible:()=>R.value,onClick:(e,t)=>{let n=K(t?.value||`csv`);n&&(P(n.content),j(n.content))}},{name:N(`button.download`),key:`download`,icon:`download`,options:q,visible:()=>z.value,onClick:async(t,n)=>{let r=K(n?.value||`csv`);r&&await T({type:`table`,content:r.content})&&e(`table.${r.extension}`,r.content,r.mimeType)}}]),Y=o(()=>L(`table`,J.value,x));function X(e){return e.children||[e]}return(e,t)=>(m(),l(`div`,D,[u(`div`,O,[(m(!0),l(a,null,g(Y.value,e=>(m(),s(_(v(M).Button),p({ref_for:!0},e,{key:e.key,onClick:e.onClick}),null,16,[`onClick`]))),128))]),u(`div`,k,[(m(),s(_(v(M).Table),{ref_key:`tableRef`,ref:B,headers:H.value,rows:U.value,"get-align":G},{"header-cell":y(({cell:e})=>[d(i,p(x,{"parent-node":f.node,nodes:X(e),deep:f.deep+1}),null,16,[`parent-node`,`nodes`,`deep`])]),"body-cell":y(({cell:e})=>[d(i,p(x,{"parent-node":f.node,nodes:X(e),deep:f.deep+1}),null,16,[`parent-node`,`nodes`,`deep`])]),_:1},8,[`headers`,`rows`]))]),W.value?(m(),s(_(v(M).Spin),{key:0})):c(`v-if`,!0)]))}});export{A as default};
@@ -1 +0,0 @@
1
- import{h as e,y as t}from"./composables-CA0XaIPq.js";import{n}from"./overlay-wVfeUgFf.js";import{Fragment as r,Teleport as i,createBlock as a,createCommentVNode as o,createElementBlock as s,createElementVNode as c,defineComponent as l,mergeProps as u,normalizeStyle as d,openBlock as f,renderSlot as p,toDisplayString as m,toRefs as h,unref as g}from"vue";const _={"data-stream-markdown":`tooltip-overlay`,class:`text-sm px-2 py-1`};var v=l({inheritAttrs:!1,__name:`tooltip`,props:{content:{type:String,required:!1},trigger:{type:String,required:!1,default:`hover`},placement:{type:String,required:!1,default:`top`},delay:{type:[Number,Array],required:!1,default:()=>[100,100]}},setup(l,{expose:v}){let{placement:y,delay:b,trigger:x}=h(l),{hideTooltip:S}=t(),{referenceEl:C,floatingEl:w,open:T,appendTo:E,floatingStyle:D,show:O,hide:k,onMouseEnter:A,onMouseLeave:j,onClick:M,onFloatingEnter:N,onFloatingLeave:P}=e({hideTooltip:S,placement:y,delay:b,trigger:x,getContainer:()=>n()});return v({show:O,hide:k}),(e,t)=>(f(),s(r,null,[c(`span`,u(e.$attrs,{ref_key:`_referenceEl`,ref:C,onMouseenter:t[0]||=(...e)=>g(A)&&g(A)(...e),onMouseleave:t[1]||=(...e)=>g(j)&&g(j)(...e),onClick:t[2]||=(...e)=>g(M)&&g(M)(...e)}),[p(e.$slots,`default`)],16),g(E)?(f(),a(i,{key:0,to:g(E)},[g(T)?(f(),s(`div`,{key:0,ref_key:`_floatingEl`,ref:w,style:d(g(D)),"data-stream-markdown":`tooltip`,class:`text-popover-foreground border border-border rounded-lg bg-popover z-[10000]`,onMouseenter:t[3]||=(...e)=>g(N)&&g(N)(...e),onMouseleave:t[4]||=(...e)=>g(P)&&g(P)(...e)},[p(e.$slots,`content`,{},()=>[c(`pre`,_,m(l.content),1)])],36)):o(`v-if`,!0)],8,[`to`])):o(`v-if`,!0)],64))}});export{v as default};
@@ -1 +0,0 @@
1
- import{T as e,d as t,t as n,y as r}from"./composables-CA0XaIPq.js";import{Fragment as i,computed as a,createBlock as o,createCommentVNode as s,createElementBlock as c,createElementVNode as l,defineComponent as u,guardReactiveProps as d,mergeProps as f,normalizeProps as p,normalizeStyle as m,openBlock as h,ref as g,renderList as _,renderSlot as v,resolveDynamicComponent as y,unref as b,withModifiers as x}from"vue";const S={"data-stream-markdown":`zoom-inner`,class:`flex size-full items-center justify-center`};var C=u({__name:`zoom-container`,props:{interactive:{type:Boolean,required:!1,default:!0},showControl:{type:Boolean,required:!1,default:!0},controlSize:{type:String,required:!1,default:`vanilla`},position:{type:String,required:!1,default:`bottom-right`},containerStyle:{type:Object,required:!1,default:()=>({})}},setup(u){let C=u,{uiComponents:w}=r(),T=g(),{t:E}=t(),{zoom:D,isDragging:O,transformStyle:k,zoomIn:A,zoomOut:j,resetZoom:M,setZoom:N,startDrag:P,onDrag:F,stopDrag:I,handleWheel:L,handleTouchStart:R,handleTouchMove:z,handleTouchEnd:B}=n(),V=a(()=>`${Math.round(D.value*100)}%`),H=a(()=>e(C.position)),U=a(()=>C.controlSize===`vanilla`?{}:{iconWidth:18,iconHeight:18,buttonStyle:{fontSize:`0.875rem`}}),W=a(()=>[{...U.value,key:`zoomIn`,icon:`zoomIn`,name:E(`button.zoomIn`),onClick:A},{...U.value,key:`zoomOut`,icon:`zoomOut`,name:E(`button.zoomOut`),onClick:j},{...U.value,key:`updateZoom`,variant:`text`,name:V.value,options:[200,150,100,75,50].map(e=>({label:`${e}%`,value:e})),onClick:(e,t)=>{let n=t?.value||100;n===100?M():N(Number(n)/100)}}]);function G(e){T.value&&L(e,T.value)}function K(e){C.interactive&&(e.preventDefault(),P(e))}function q(e){C.interactive&&(e.preventDefault(),F(e))}function J(e){C.interactive&&(e.preventDefault(),I())}function Y(e){C.interactive&&T.value&&R(e,T.value)}function X(e){C.interactive&&T.value&&z(e,T.value)}function Z(e){C.interactive&&B(e)}return(e,t)=>(h(),c(`div`,{ref_key:`containerRef`,ref:T,"data-stream-markdown":`zoom-container`,class:`h-full relative overflow-hidden`,style:m({touchAction:u.interactive?`none`:`auto`}),onWheel:G,onTouchstart:Y,onTouchmove:X,onTouchend:Z,onPointerdown:K,onPointermove:q,onPointerup:J,onPointercancel:J,onPointerleave:J},[u.showControl&&u.interactive?(h(),c(`div`,{key:0,"data-stream-markdown":`zoom-controls`,class:`p-1 border border-border rounded-xl bg-background flex gap-1 items-center absolute z-[1] max-lg:gap-0`,style:m(H.value),onClick:t[0]||=x(()=>{},[`stop`])},[v(e.$slots,`controls`,p(d(U.value))),(h(!0),c(i,null,_(W.value,e=>(h(),o(y(b(w).Button),f({ref_for:!0},e,{key:e.key,onClick:e.onClick}),null,16,[`onClick`]))),128))],4)):s(`v-if`,!0),l(`div`,S,[l(`div`,{"data-stream-markdown":`zoom-transform-container`,class:`shrink-0 w-full`,style:m({...b(k),...u.containerStyle,cursor:b(O)?`grabbing`:`grab`}),onClick:t[1]||=x(()=>{},[`stop`])},[v(e.$slots,`default`)],4)])],36))}});export{C as default};