vue-stream-markdown 1.0.0-beta.3 → 1.0.0-beta.5
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.
- package/dist/{alert-DHbpBICh.js → alert-DggFlw1I.js} +1 -1
- package/dist/{blockquote-Dk9pl9M-.js → blockquote-DzOTufQI.js} +1 -1
- package/dist/{button-3V7RytRY.js → button-BzkJ190j.js} +1 -1
- package/dist/{caret-DLRIteNq.js → caret-D6Fn0wlr.js} +1 -1
- package/dist/{code-C5n_LUiO.js → code-Cxo8R2hB.js} +1 -1
- package/dist/{code-block-ylHd-i3G.js → code-block-CxQhnimu.js} +1 -1
- package/dist/{composables-B4s4AMLG.js → composables-CNN6iaxK.js} +1 -1
- package/dist/{delete-C-2OYbLk.js → delete-Cd-WVNFE.js} +1 -1
- package/dist/{dropdown-qgt-5VV-.js → dropdown-D-2hu2Ld.js} +1 -1
- package/dist/{emphasis-Cndk0lvQ.js → emphasis-DPGVb_PV.js} +1 -1
- package/dist/{error-component-Br6Jrd5L.js → error-component-CtRlME3T.js} +1 -1
- package/dist/{footnote-definition-RKPcMTPa.js → footnote-definition-CdGqynNW.js} +1 -1
- package/dist/{footnote-reference-9NNRbsbz.js → footnote-reference-DEAHsKMp.js} +1 -1
- package/dist/{heading-BRG7H_kg.js → heading-vrRLzwhM.js} +1 -1
- package/dist/html-CzOkUJrT.js +1 -0
- package/dist/{icon-D7i2b6RR.js → icon-B83qYRTQ.js} +1 -1
- package/dist/image-4ace5B-4.js +1 -0
- package/dist/image-S_LjL4MS.js +1 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.js +1 -1
- package/dist/{inline-math-DNY0Ii3r.js → inline-math-C0hSuZHG.js} +1 -1
- package/dist/{link-CwjpJ2q7.js → link-CUTAaowE.js} +1 -1
- package/dist/{list-sO27Nc-r.js → list-DIULF_09.js} +1 -1
- package/dist/{list-item-DvsSAkN6.js → list-item-6rLARLtC.js} +1 -1
- package/dist/{math-BewUoHxs.js → math-QCxx6qzs.js} +1 -1
- package/dist/{mermaid-J1W2_-sq.js → mermaid-CbtXgU48.js} +1 -1
- package/dist/{node-list-DQ3NLUeU.js → node-list-Bz98kLRm.js} +1 -1
- package/dist/{paragraph-VwKkTVBg.js → paragraph-B9lpNEwv.js} +1 -1
- package/dist/{segmented-B0MHjUhe.js → segmented-BuaNAiPR.js} +1 -1
- package/dist/{shiki-BlE5OYGf.js → shiki-B367aYgN.js} +1 -1
- package/dist/{strong-CQU1yStb.js → strong-B4j8xa2w.js} +1 -1
- package/dist/{table-DGV760uS.js → table-DfDLEkpC.js} +1 -1
- package/dist/{text-BlLxaXdF.js → text-7dbtSBiy.js} +1 -1
- package/dist/{tooltip-BQOZje-l.js → tooltip-CIal9Kyn.js} +1 -1
- package/dist/{vanilla-CJIfUQS1.js → vanilla-ZgR5OHfS.js} +1 -1
- package/dist/{vanilla-renderer-ByJcXmWB.js → vanilla-renderer-uGthypEI.js} +1 -1
- package/dist/{yaml-BhX_DdK-.js → yaml-CDcLW3bb.js} +1 -1
- package/dist/{zoom-container-CYipPWJq.js → zoom-container-DhHoSURN.js} +1 -1
- package/package.json +7 -7
- package/dist/html-Ay9aR_nj.js +0 -1
- package/dist/image-CDT0r5jO.js +0 -1
- package/dist/image-mKrLIUiV.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as e,f as t}from"./composables-
|
|
1
|
+
import{b as e,f as t}from"./composables-CNN6iaxK.js";import{Fragment as n,Teleport as r,Transition as i,computed as a,createBlock as o,createCommentVNode as s,createElementBlock as c,createElementVNode as l,createTextVNode as u,createVNode as d,defineComponent as f,mergeModels as p,normalizeStyle as m,onMounted as h,openBlock as g,ref as _,renderSlot as v,resolveDynamicComponent as y,toDisplayString as b,unref as x,useModel as S,withCtx as C,withModifiers as w}from"vue";import{getDocument as T,getDocumentBody as E,getOverlayContainer as D,isEscapeKeyEvent as O}from"@stream-markdown/core";import{createReusableTemplate as k,useEventListener as A}from"@vueuse/core";const j={"data-stream-markdown":`alert-header`,class:`flex flex-col relative`},M={"data-stream-markdown":`alert-title`,class:`text-lg font-semibold mb-2 flex gap-2 items-center`},N={"data-stream-markdown":`alert-description`,class:`text-sm text-muted-foreground`},P={class:`absolute -right-3 -top-3`},F={"data-stream-markdown":`alert-content`},I={"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 L=f({__name:`alert`,props:p({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:p([`confirm`,`cancel`],[`update:open`]),setup(f,{emit:p}){let L=f,R=p,{uiComponents:z}=e(),{t:B}=t(),V=S(f,`open`),H=_(),[U,W]=k(),G=a(()=>L.confirmText||B(`button.confirm`)),K=a(()=>L.cancelText||B(`button.cancel`));function q(){R(`confirm`),V.value=!1}function J(){R(`cancel`),V.value=!1}return h(()=>{H.value=D()||E()||void 0,A(T(),`keyup`,e=>{O(e)&&J()})}),(e,t)=>(g(),c(n,null,[d(x(U),null,{default:C(()=>[V.value?(g(),c(`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:m({zIndex:f.zIndex}),onClick:t[0]||=w(()=>{},[`stop`])},[l(`header`,j,[l(`div`,M,[(g(),o(y(x(z).Icon),{icon:f.icon,height:20,width:20},null,8,[`icon`])),u(` `+b(f.title),1)]),l(`div`,N,b(f.description),1),l(`div`,P,[(g(),o(y(x(z).Button),{"data-stream-markdown":`alert-close-button`,icon:`x`,name:x(B)(`button.cancel`),"icon-height":20,"icon-width":20,onClick:J},null,8,[`name`]))])]),s(` Body: Description `),l(`div`,F,[v(e.$slots,`default`)]),s(` Footer: Actions `),l(`div`,I,[v(e.$slots,`footer`,{},()=>[(g(),o(y(x(z).Button),{variant:`text`,name:x(B)(`button.cancel`),type:`button`,onClick:J},{default:C(()=>[u(b(K.value),1)]),_:1},8,[`name`])),(g(),o(y(x(z).Button),{variant:`text`,name:x(B)(`button.confirm`),type:`button`,onClick:q},{default:C(()=>[u(b(G.value),1)]),_:1},8,[`name`]))])])],4)):s(`v-if`,!0)]),_:3}),H.value?(g(),o(r,{key:0,to:H.value},[V.value?(g(),c(`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:m({zIndex:f.zIndex-1}),onClick:J},[d(i,{name:`stream-markdown-modal`,appear:``},{default:C(()=>[d(x(W))]),_:1})],4)):s(`v-if`,!0)],8,[`to`])):s(`v-if`,!0)],64))}});export{L as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./node-list-
|
|
1
|
+
import{t as e}from"./node-list-Bz98kLRm.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:{markdownParser:{type:Object,required:!0},nodeRenderers:{type:null,required:!0},blockIndex:{type:Number,required:!1},node:{type:null,required:!0},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},hideCaret:{type:Boolean,required:!1},blocks:{type:Array,required:!1}},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{b as e}from"./composables-
|
|
1
|
+
import{b as e}from"./composables-CNN6iaxK.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:null,required:!1},buttonStyle:{type:null,required:!1,default:()=>({})},icon:{type:null,required:!1},iconWidth:{type:Number,required:!1,default:14},iconHeight:{type:Number,required:!1,default:14},iconClass:{type:null,required:!1},iconStyle:{type:null,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{b as t}from"./composables-
|
|
1
|
+
import{t as e}from"./rolldown-runtime-BbypZo7q.js";import{b as t}from"./composables-CNN6iaxK.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{b as e,i as t}from"./composables-
|
|
1
|
+
import{b as e,i as t}from"./composables-CNN6iaxK.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";import{createCodeRendererModel as f}from"@stream-markdown/core";var p=a({__name:`index`,props:{markdownParser:{type:Object,required:!0},nodeRenderers:{type:null,required:!0},blockIndex:{type:Number,required:!1},node:{type:null,required:!0},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},hideCaret:{type:Boolean,required:!1},blocks:{type:Array,required:!1},showHeader:{type:Boolean,required:!1,default:!0}},setup(a){let p=a,{cdnOptions:m,uiComponents:h}=e(),g=n(()=>f(p.node)),_=n(()=>g.value.languageClass),{installed:v}=t({cdnOptions:m}),y={vanilla:i(()=>import(`./vanilla-ZgR5OHfS.js`)),shiki:i(()=>import(`./shiki-B367aYgN.js`))},b=n(()=>v.value?y.shiki:y.vanilla);return(e,t)=>a.showHeader?(c(),r(l(u(h).CodeBlock),s(o({key:0},p)),{default:d(()=>[(c(),r(l(b.value),o(p,{class:[_.value]}),null,16,[`class`]))]),_:1},16)):(c(),r(l(b.value),o({key:1},p,{class:[_.value]}),null,16,[`class`]))}});export{p as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{D as e,b as t,f as n,o as r,y as i}from"./composables-
|
|
1
|
+
import{D as e,b as t,f as n,o as r,y as i}from"./composables-CNN6iaxK.js";import{t as a}from"./segmented-BuaNAiPR.js";import{Fragment as o,computed as s,createBlock as c,createCommentVNode as l,createElementBlock as u,createElementVNode as d,createVNode as f,defineAsyncComponent as p,defineComponent as m,mergeProps as h,normalizeClass as g,normalizeStyle as ee,openBlock as _,ref as v,renderList as y,renderSlot as b,resolveDynamicComponent as x,toDisplayString as S,unref as C,useModel as w,vShow as T,watch as te,withCtx as E,withDirectives as D}from"vue";import{createCodeBlockControlDescriptors as ne,createCodeBlockModel as re,createPreviewSegmentedOptions as O,handleCodeBlockControlAction as ie,resolveCodePreviewComponent as ae,save as oe}from"@stream-markdown/core";import{createReusableTemplate as se,useClipboard as k}from"@vueuse/core";const A={"data-stream-markdown":`actions`,class:`flex gap-1 items-center`};var j=m({__name:`actions`,props:{actions:{type:Array,required:!1,default:()=>[]}},setup(e){let{uiComponents:n}=t();return(t,r)=>(_(),u(`div`,A,[(_(!0),u(o,null,y(e.actions,e=>(_(),c(x(C(n).Button),h({ref_for:!0},e,{key:e.key,onClick:e.onClick}),null,16,[`onClick`]))),128))]))}});const ce={css:p(()=>import(`./css-D3D0yKD2.js`)),html:p(()=>import(`./html5-BkKcNeeK.js`)),javascript:p(()=>import(`./javascript-BHfwccOF.js`)),js:p(()=>import(`./javascript-BHfwccOF.js`)),jsx:p(()=>import(`./react-C2jtS2eA.js`)),less:p(()=>import(`./css-D3D0yKD2.js`)),markdown:p(()=>import(`./markdown-i33glFcq.js`)),md:p(()=>import(`./markdown-i33glFcq.js`)),mermaid:p(()=>import(`./mermaid-CemiCIc1.js`)),mjs:p(()=>import(`./javascript-BHfwccOF.js`)),mmd:p(()=>import(`./mermaid-CemiCIc1.js`)),mts:p(()=>import(`./typescript-Ce2pP0xK.js`)),py:p(()=>import(`./python-DoMVbSs_.js`)),python:p(()=>import(`./python-DoMVbSs_.js`)),rs:p(()=>import(`./rust-C9GFCOeY.js`)),rust:p(()=>import(`./rust-C9GFCOeY.js`)),sass:p(()=>import(`./css-D3D0yKD2.js`)),scss:p(()=>import(`./css-D3D0yKD2.js`)),ts:p(()=>import(`./typescript-Ce2pP0xK.js`)),tsx:p(()=>import(`./react-C2jtS2eA.js`)),typescript:p(()=>import(`./typescript-Ce2pP0xK.js`)),vue:p(()=>import(`./vuedotjs-B8qk0avD.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 le=m({__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)=>(_(),u(`header`,M,[e.showIcon?(_(),c(x(e.icon),{key:0})):l(`v-if`,!0),e.showName?(_(),u(`span`,N,S(e.language),1)):l(`v-if`,!0)]))}}),P=m({__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=w(e,`mode`),r=w(e,`collapsed`),{t:i}=n(),o=s(()=>O(i));return(e,n)=>(_(),c(a,{value:t.value,"onUpdate:value":n[0]||=e=>t.value=e,options:o.value,"button-style":{fontFamily:`var(--font-mono)`},onChange:n[1]||=()=>r.value=!1},null,8,[`value`,`options`]))}});const ue={key:2},de=[`data-collapsed`],fe={key:1},pe={"data-stream-markdown":`actions`,class:`flex gap-1 items-center`},me={"data-stream-markdown":`actions`,class:`flex gap-1 items-center`};var F=m({inheritAttrs:!1,__name:`index`,props:{markdownParser:{type:Object,required:!0},nodeRenderers:{type:null,required:!0},blockIndex:{type:Number,required:!1},node:{type:null,required:!0},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},hideCaret:{type:Boolean,required:!1},blocks:{type:Array,required:!1}},setup(a){let m=a,{beforeDownload:y,cdnOptions:S,codeOptions:w,controls:O,icons:A,isDark:M,mermaidOptions:N,onCopied:F,previewers:I,shikiOptions:L,uiComponents:R}=t(),z=p(()=>import(`./code-Cxo8R2hB.js`)),[he,B]=se(),{t:V}=n(),{isControlEnabled:H,resolveControls:U}=i({controls:O}),{copy:ge,copied:_e}=k({legacy:!0}),{installed:ve,saveMermaid:ye}=r({mermaidOptions:N,cdnOptions:S,shikiOptions:L,isDark:M}),W=v(!1),G=v(!1),K=v(`source`),q=s(()=>re({node:m.node,codeOptions:w.value,controls:O.value,previewers:I.value,hasMermaid:ve.value,mode:K.value,isPreviewComponent:$})),J=s(()=>q.value.language),be=s(()=>q.value.showLanguageIcon),xe=s(()=>q.value.showLanguageName),Se=s(()=>q.value.showLanguageTitle),Ce=s(()=>H(`code.collapse`)),we=s(()=>H(`code.copy`)),Te=s(()=>H(`code.download`)),Ee=s(()=>H(`code.fullscreen`)),De=s(()=>{let e=w.value?.language?.[J.value]?.languageIcon;return typeof e==`object`?e:ce[J.value]||A.value.code}),Y=s(()=>q.value.previewPlacement),X=s(()=>q.value.previewable),Z=s(()=>ae(J.value,I.value,e,$)),Oe=s(()=>q.value.inlineInteractive),ke=s(()=>q.value.maxHeight),Ae=s(()=>q.value.downloadOptions),je=s(()=>ne({collapsed:W.value,fullscreen:G.value,copied:_e.value,language:J.value,showCollapse:Ce.value,showCopy:we.value,showDownload:Te.value,showFullscreen:Ee.value,downloadOptions:Ae.value}).map(e=>({...e,name:V(e.labelKey??``),onClick:(t,n)=>Ne(e.key,n),visible:()=>e.visible??!0}))),Q=s(()=>U(`code`,je.value,m)),Me=s(()=>U(`code`,Q.value,m).filter(e=>e.key!==`collapse`));te(()=>X.value,()=>{X.value&&(K.value=`preview`)},{immediate:!0});function $(e){return!!e&&typeof e!=`boolean`}async function Ne(e,t){let n=await ie({key:e,select:t,state:{collapsed:W.value,fullscreen:G.value},node:m.node,language:J.value,beforeDownload:y,copyText:ge,onCopied:F,saveFile:oe,saveMermaid:ye});W.value=n.collapsed,G.value=n.fullscreen}return(e,t)=>(_(),u(o,null,[f(C(he),null,{default:E(({showPreview:e})=>[Se.value?(_(),c(le,{key:0,icon:De.value,language:J.value,"show-icon":be.value,"show-name":xe.value},null,8,[`icon`,`language`,`show-icon`,`show-name`])):X.value&&e?(_(),c(P,{key:1,mode:K.value,"onUpdate:mode":t[0]||=e=>K.value=e,collapsed:W.value,"onUpdate:collapsed":t[1]||=e=>W.value=e},null,8,[`mode`,`collapsed`])):(_(),u(`div`,ue))]),_:1}),d(`div`,{"data-stream-markdown":`code-block`,"data-collapsed":W.value,class:g([`my-4 border border-border rounded-xl overflow-clip data-[collapsed=true]:[&_.code-block-header]:border-b-0`,[{"code-loading":m.node.loading}]])},[d(`header`,{"data-stream-markdown":`code-block-header`,class:g([[{"border-b":!W.value}],`code-block-header text-sm text-muted-foreground px-4 py-1.5 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`])},[b(e.$slots,`title`,{},()=>[f(C(B),{"show-preview":Y.value===`left`},null,8,[`show-preview`])]),b(e.$slots,`header-center`,{},()=>[X.value&&Y.value===`center`?(_(),c(P,{key:0,mode:K.value,"onUpdate:mode":t[2]||=e=>K.value=e,collapsed:W.value,"onUpdate:collapsed":t[3]||=e=>W.value=e},null,8,[`mode`,`collapsed`])):(_(),u(`div`,fe))]),b(e.$slots,`actions`,{},()=>[d(`div`,pe,[X.value&&Y.value===`right`?(_(),c(P,{key:0,mode:K.value,"onUpdate:mode":t[4]||=e=>K.value=e,collapsed:W.value,"onUpdate:collapsed":t[5]||=e=>W.value=e},null,8,[`mode`,`collapsed`])):l(`v-if`,!0),f(j,{actions:Q.value},null,8,[`actions`])])])],2),D(d(`main`,{"data-stream-markdown":`code-block-content`,class:`overflow-auto`,style:ee({maxHeight:ke.value})},[X.value?D((_(),c(x(Z.value),h({key:0},m,{interactive:Oe.value}),null,16,[`interactive`])),[[T,K.value===`preview`]]):l(`v-if`,!0),D(d(`main`,null,[b(e.$slots,`default`)],512),[[T,K.value===`source`]])],4),[[T,!W.value]]),(_(),c(x(C(R).Modal),{open:G.value,"onUpdate:open":t[10]||=e=>G.value=e,"header-style":{backgroundColor:`color-mix(in oklab, var(--muted) 80%, transparent)`,color:`var(--muted-foreground)`,borderBottom:`1px solid var(--border)`}},{title:E(()=>[f(C(B),{"show-preview":Y.value===`left`},null,8,[`show-preview`])]),"header-center":E(()=>[X.value&&Y.value===`center`?(_(),c(P,{key:0,mode:K.value,"onUpdate:mode":t[6]||=e=>K.value=e,collapsed:W.value,"onUpdate:collapsed":t[7]||=e=>W.value=e},null,8,[`mode`,`collapsed`])):l(`v-if`,!0)]),actions:E(()=>[d(`div`,me,[X.value&&Y.value===`right`?(_(),c(P,{key:0,mode:K.value,"onUpdate:mode":t[8]||=e=>K.value=e,collapsed:W.value,"onUpdate:collapsed":t[9]||=e=>W.value=e},null,8,[`mode`,`collapsed`])):l(`v-if`,!0),f(j,{actions:Me.value},null,8,[`actions`])])]),default:E(()=>[X.value?D((_(),c(x(Z.value),h({key:0},m,{"immediate-render":!0,"container-height":`100%`}),null,16)),[[T,K.value===`preview`]]):l(`v-if`,!0),D(f(C(z),h(m,{"show-header":!1}),null,16),[[T,K.value===`source`]])]),_:1},40,[`open`]))],10,de)],64))}});export{F as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{computed as e,defineAsyncComponent as t,inject as n,nextTick as r,onMounted as i,onUnmounted as a,provide as o,ref as s,toValue as c,watch as l,watchEffect as u}from"vue";import{DEFAULT_SHIKI_DARK_THEME as d,DEFAULT_SHIKI_LIGHT_THEME as f,LANGUAGE_ALIAS as p,createShikiCdnLoader as m,createShikiRuntime as h,disposeSharedShikiHighlighter as g}from"@stream-markdown/code";import{createKatexCdnLoader as _,createKatexRuntime as v}from"@stream-markdown/math";import{createBeautifulMermaidCdnLoader as y,createMermaidCdnLoader as b,createMermaidRuntime as x}from"@stream-markdown/mermaid";import{DEFAULT_HARDEN_OPTIONS as S,DEFAULT_LANGUAGE as C,applyMathRendererResult as w,calculateMediumZoomInTransforms as T,capturePointerForNonMouseEvent as E,cloneMediumZoomElement as D,createBrowserTouchMovedState as O,createBrowserTouchZoomState as k,createBrowserWheelZoomState as A,createCodeOptionsModel as j,createFloatingStyle as ee,createIdleCallback as M,createMathRendererModel as N,createMathRendererState as P,createPointerDragStart as te,createPointerDraggedState as ne,createZoomState as re,createZoomTransformStyle as ie,ensureOverlayContainer as ae,getConfigValue as oe,getDocument as se,getDocumentElement as F,getI18nText as ce,getOverlayContainer as le,isClickInsideFloating as ue,isClient as I,isConfigEnabled as de,isDocumentElementDark as fe,isElementInDocumentBody as pe,loadLocaleConfig as L,mountMediumZoomClone as R,playMediumZoomInClone as z,playMediumZoomOutClone as B,prepareMediumZoomInClone as me,prepareMediumZoomOutClone as he,readDocumentLanguage as ge,readMediumZoomElementTransform as _e,readThemeVariables as ve,resetZoomState as ye,resolveAnimation as be,resolveAnimationSplit as xe,resolveCaret as Se,resolveEnableAnimate as Ce,resolveFloatingDelay as V,resolveLocaleInput as we,resolveLocaleLanguage as Te,resolveThemeElement as Ee,resolveVisibleControls as De,setMediumZoomOriginalVisibility as H,setZoomState as U,syncOverlayContainerTheme as Oe,transformHardenedUrl as ke,unmountMediumZoomClone as Ae,zoomInState as je,zoomOutState as Me}from"@stream-markdown/core";import{useEventListener as Ne,useIntersectionObserver as Pe,useMutationObserver as W,useNavigatorLanguage as Fe}from"@vueuse/core";import{autoUpdate as Ie,computePosition as Le,flip as Re,offset as ze,shift as Be}from"@floating-ui/dom";import{checkMathSyntax as Ve}from"@markmend/core";const He={html:t(()=>import(`./html-Ay9aR_nj.js`)),mermaid:t(()=>import(`./mermaid-J1W2_-sq.js`))},Ue={blockquote:t(()=>import(`./blockquote-Dk9pl9M-.js`)),break:t(()=>import(`./break-D4unDZ1a.js`)),code:t(()=>import(`./code-C5n_LUiO.js`)),delete:t(()=>import(`./delete-C-2OYbLk.js`)),emphasis:t(()=>import(`./emphasis-Cndk0lvQ.js`)),footnoteDefinition:t(()=>import(`./footnote-definition-RKPcMTPa.js`)),footnoteReference:t(()=>import(`./footnote-reference-9NNRbsbz.js`)),heading:t(()=>import(`./heading-BRG7H_kg.js`)),html:t(()=>import(`./html-DgmNrDCm.js`)),image:t(()=>import(`./image-mKrLIUiV.js`)),inlineCode:t(()=>import(`./inline-code-DucIt6Dj.js`)),inlineMath:t(()=>import(`./inline-math-DNY0Ii3r.js`)),link:t(()=>import(`./link-CwjpJ2q7.js`)),list:t(()=>import(`./list-sO27Nc-r.js`)),listItem:t(()=>import(`./list-item-DvsSAkN6.js`)),math:t(()=>import(`./math-BewUoHxs.js`)),paragraph:t(()=>import(`./paragraph-VwKkTVBg.js`)),strong:t(()=>import(`./strong-CQU1yStb.js`)),table:t(()=>import(`./table-DGV760uS.js`)),text:t(()=>import(`./text-BlLxaXdF.js`)),thematicBreak:t(()=>import(`./thematic-break-D6d6s8v9.js`)),yaml:t(()=>import(`./yaml-BhX_DdK-.js`))},G={Alert:t(()=>import(`./alert-DHbpBICh.js`)),Button:t(()=>import(`./button-3V7RytRY.js`)),Caret:t(()=>import(`./caret-DLRIteNq.js`).then(e=>e.n)),CodeBlock:t(()=>import(`./code-block-ylHd-i3G.js`)),Dropdown:t(()=>import(`./dropdown-qgt-5VV-.js`)),ErrorComponent:t(()=>import(`./error-component-Br6Jrd5L.js`)),Icon:t(()=>import(`./icon-D7i2b6RR.js`)),Image:t(()=>import(`./image-CDT0r5jO.js`)),Modal:t(()=>import(`./modal-DA71YhaZ.js`)),Segmented:t(()=>import(`./segmented-B0MHjUhe.js`).then(e=>e.n)),Spin:t(()=>import(`./spin-CwR6HEjC.js`)),Table:t(()=>import(`./table-BNreCfO7.js`)),Tooltip:t(()=>import(`./tooltip-BQOZje-l.js`)),ZoomContainer:t(()=>import(`./zoom-container-CYipPWJq.js`))},We=t(()=>import(`./node-list-DQ3NLUeU.js`).then(e=>e.n));function Ge(e){let t=e?.cdnOptions,n=m({cdnOptions:t}),r=b({cdnOptions:t}),i=y({cdnOptions:t}),a=_({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 Ke(t){let n=e(()=>c(t.language)||``),r=e(()=>c(t.codeOptions)),i=e(()=>j(r.value,n.value));return{languageCodeOptions:e(()=>i.value.languageCodeOptions),showLanguageIcon:e(()=>i.value.showLanguageIcon),showLanguageName:e(()=>i.value.showLanguageName),showLineNumbers:e(()=>i.value.showLineNumbers)}}const K={arrowLeft:t(()=>import(`./arrow-left-CTs2KqQN.js`)),check:t(()=>import(`./check-cZ2U5OdE.js`)),code:t(()=>import(`./code-xml-gQc2y8sl.js`)),collapse:t(()=>import(`./chevron-down-DtB2MVNn.js`)),copy:t(()=>import(`./copy-DqYfdODZ.js`)),cornerDownLeft:t(()=>import(`./corner-down-left-puxUSnn5.js`)),download:t(()=>import(`./download-CncPu93-.js`)),error:t(()=>import(`./circle-alert-CcSl8DqY.js`)),externalLink:t(()=>import(`./external-link-BprxAVhK.js`)),flipHorizontal:t(()=>import(`./flip-horizontal-AuosoDQq.js`)),image:t(()=>import(`./image-CXal6uxq.js`)),link:t(()=>import(`./link-mEfEN3PN2.js`)),maximize:t(()=>import(`./maximize-Tfc3IYVb.js`)),mermaid:t(()=>import(`./mermaid-CemiCIc1.js`)),minimize:t(()=>import(`./minimize-CafSv34O.js`)),preview:t(()=>import(`./eye-BP_OENm7.js`)),rotateLeft:t(()=>import(`./rotate-ccw-square-BEfRTkA0.js`)),x:t(()=>import(`./x-cyEz8ycE.js`)),zoomIn:t(()=>import(`./zoomIn-DCSVIJLh.js`)),zoomOut:t(()=>import(`./zoomOut-nkQbB_hz.js`))},q=Symbol(`stream-markdown-context`);function qe(){let t=A(),r=e(()=>c(t.mode)??`streaming`),i=e(()=>c(t.controls)),a=e(()=>c(t.previewers)),s=e(()=>c(t.shikiOptions)),l=e(()=>c(t.mermaidOptions)),u=e(()=>c(t.katexOptions)),d=e(()=>c(t.hardenOptions)),f=e(()=>c(t.codeOptions)),p=e(()=>c(t.imageOptions)),m=e(()=>c(t.linkOptions)),h=e(()=>c(t.cdnOptions)),g=e(()=>c(t.icons)??K),_=e(()=>c(t.nodeRenderers)??{}),v=e(()=>c(t.uiComponents)??G),y=e(()=>c(t.uiOptions)??{}),b=e(()=>y.value.hideTooltip??!1),x=e(()=>c(t.isDark)??!1),S=e(()=>Ce(r.value,c(t.enableAnimate))),C=e(()=>be(c(t.animation))),w=e(()=>xe(c(t.animationSplit))),T=e(()=>c(t.enableCaret)),E=e(()=>Se(c(t.caret))),D=e(()=>c(t.parsedNodes)??[]),O=e(()=>c(t.blocks)??[]);function k(e){o(q,{...A(),...e})}function A(){return n(q,{})||{}}return{context:t,provideContext:k,injectContext:A,mode:r,controls:i,previewers:a,shikiOptions:s,mermaidOptions:l,katexOptions:u,hardenOptions:d,codeOptions:f,imageOptions:p,linkOptions:m,cdnOptions:h,hideTooltip:b,icons:g,nodeRenderers:_,uiComponents:v,isDark:x,enableAnimate:S,animation:C,animationSplit:w,enableCaret:T,caret:E,parsedNodes:D,blocks:O,get markdownParser(){return t.markdownParser},get getContainer(){return t.getContainer||(()=>void 0)},get beforeDownload(){return t.beforeDownload||(()=>!0)},get onCopied(){return t.onCopied||(()=>{})}}}function Je(t){let n=e(()=>c(t.controls)??!0);function r(e){return de(n.value,e)}function i(e){return oe(n.value,e)}function a(e,t,r){return De(n.value,e,t,r)}return{isControlEnabled:r,getControlValue:i,resolveControls:a}}function Ye(t,n){let r=s(),a=e(()=>c(n)),o=e(()=>typeof c(t)==`boolean`),u=s(!1),d=e(()=>o.value?c(t):u.value);function f(){u.value=fe()}function p(){Oe(le(),{isDark:d.value,cssVariables:a.value})}let{stop:m}=W(r,f,{attributes:!0,attributeFilter:[`class`],subtree:!1});return l(()=>[d.value,a.value],()=>p()),l(o,()=>{o.value&&(r.value=null)}),i(()=>{ae({isDark:d.value,cssVariables:a.value}),o.value||(f(),r.value=F())}),{isDark:d,isDarkProvided:o,stop:m}}function Xe(t){let{immediate:n=!1,debounceDelay:r=300,rootMargin:i=`300px`,idleTimeout:o=500}=t,l=s(n),u=s(null),d=s(null),f=e(()=>c(t.targetRef)),{request:p,cancel:m}=M(),h=()=>{u.value!==null&&(clearTimeout(u.value),u.value=null),d.value!==null&&(m(d.value),d.value=null)},g=e=>{d.value=p(t=>{t.timeRemaining()>0||t.didTimeout?(l.value=!0,e()):d.value=p(()=>{l.value=!0,e()},o/2)},o)},{stop:_}=Pe(f,([e])=>{l.value||n||(e?.isIntersecting?(h(),u.value=window.setTimeout(()=>{e.isIntersecting&&!l.value&&g(_)},r)):h())},{rootMargin:i});return a(()=>{h(),_()}),{shouldRender:l}}function Ze(t){let n=e(()=>c(t.hideTooltip)??!1),r=e(()=>c(t.trigger)??`hover`),a=e(()=>c(t.placement)??`top`),o=e(()=>c(t.delay)??[100,100]),d=s(),f=s(),p=null,m=null,h=s(!1),g=s(null),_=s(null),v=s(`absolute`),y=s(),b=null;async function x(){if(!(!d.value||!f.value||!I()))try{let e=await Le(d.value,f.value,{placement:a.value,middleware:[ze(6),Re(),Be({padding:5})]});g.value=e.x,_.value=e.y,v.value=e.strategy}catch{}}u(()=>{b&&=(b(),null),!(!d.value||!f.value||!I())&&(b=Ie(d.value,f.value,x))}),l(a,()=>{h.value&&x()});let S=e(()=>I()&&d.value?.parentElement||null),C=()=>{if(!I())return t.getContainer?.()||`body`;let e=t.getContainer?.()||S.value;return e instanceof HTMLElement&&!pe(e)?`body`:e||`body`},w=e(()=>ee({x:g.value,y:_.value,strategy:v.value}));function T(){P();let{show:e}=V(o.value);p=window.setTimeout(()=>{h.value=!0,x()},e)}function E(){P();let{hide:e}=V(o.value);m=window.setTimeout(()=>{h.value=!1},e)}function D(){h.value=!h.value,x()}function O(){n.value||r.value===`hover`&&T()}function k(){r.value===`hover`&&E()}function A(){r.value===`click`&&D()}function j(e){if(!h.value)return;let t=e.target;ue(t,d.value,f.value)||(h.value=!1)}function M(){m&&=(clearTimeout(m),null)}function N(){let{hide:e}=V(o.value);r.value===`hover`&&(m=window.setTimeout(()=>{E()},e))}function P(){p&&=(clearTimeout(p),null),m&&=(clearTimeout(m),null)}return i(()=>{y.value=C(),Ne(se(),`click`,j)}),{referenceEl:d,floatingEl:f,open:h,appendTo:y,floatingStyle:w,show:T,hide:E,onMouseEnter:O,onMouseLeave:k,onClick:A,onFloatingEnter:M,onFloatingLeave:N}}const J=s(),Y=s(C);async function X(e){try{J.value=await L(e),typeof e==`string`&&(Y.value=Te(e))}catch{J.value=await L(C),Y.value=C}}X(C);function Qe(){function e(e){return ce(J.value,e)}return{t:e}}function Z(t){let{mdastOptions:n,cdnOptions:r}=t??{},i=e(()=>c(t.markdown)??``),a=n?.builtin?.micromark?.math!==!1,o=n?.singleDollarTextMath===!0,u=e(()=>Ve(i.value,o)),d=s(!1),f=v({cdnOptions:()=>r});async function p(e,t={}){return await f.renderToHtml(e,{config:t})}async function m(){d.value=await f.installed,d.value&&await f.preload()}return l(()=>u.value,e=>{e&&a&&f.ensureCss()},{immediate:!0}),I()&&(async()=>{d.value=await f.installed})(),{installed:d,render:p,preload:m,dispose:f.dispose,loadCdnKatexCss:f.ensureCss}}function Q(t){let{language:n}=Fe(),r=s(),a=e(()=>we(c(t),{htmlLanguage:r.value,navigatorLanguage:n.value}));function o(){return ge()}return i(()=>{r.value=o()}),{locale:a}}function $e(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 $(...e){return $e(...e)}function et(t){let{installed:n,render:r}=Z({cdnOptions:t.cdnOptions}),i=s(P()),a=e(()=>c(t.node)),o=e(()=>c(t.katexOptions)?.config??{}),u=e(()=>c(t.throttle)??150),d=e(()=>N({node:a.value,installed:n.value,renderFlag:i.value.renderFlag,renderingCode:i.value.renderingCode,errorMessage:i.value.errorMessage})),f=e(()=>d.value.code),p=e(()=>d.value.loading),m=e(()=>d.value.isDisplayMode),h=e(()=>d.value.error),g=e(()=>i.value.html),_=e(()=>i.value.errorMessage);return l(()=>[f.value,p.value],$(u,async()=>{let e=await r(f.value,{...o,displayMode:m.value});i.value=w(i.value,f.value,e)}),{immediate:!0}),{html:g,error:h,errorMessage:_}}function tt(t){let n=e(()=>c(t.margin)??0),i=s(),a=s(),o=s(),l=s(!1),u=s(!1),d=s(``),f=s(``),p=e(()=>I()?{opacity:+!u.value}:{opacity:1});function m(){let e=i.value;if(e)return D(e)}function h(){let e=i.value;if(!e||!a.value)return;let t=T({original:e,cloned:a.value,margin:n.value});d.value=t.initialTransform,f.value=t.targetTransform}async function g(){let e=i.value;if(!e)return;let n=m();if(!n)return;if(H(e,!1),!R(n)){H(e,!0);return}a.value=n,u.value=!0,await r(),h(),a.value&&me(a.value,d.value),a.value?.offsetHeight,await r(),l.value=!0,a.value&&z(a.value,f.value),t.open?.();let o=()=>{l.value=!1,a.value&&(a.value.style.opacity=`0`),u.value=!1,n.removeEventListener(`transitionend`,o)};n.addEventListener(`transitionend`,o,{once:!0})}async function _(){if(!a.value){t.close?.();return}if(await r(),u.value=!0,a.value&&(a.value.style.opacity=`1`),await r(),!a.value)return;let e=i.value,n=o.value;if(!e||!n)return;let s=a.value,c=_e(n);he({cloned:s,zoomElement:n,currentTransform:c}),s.offsetHeight,await r(),l.value=!0,B({cloned:s,original:e,zoomElement:n,currentTransform:c}),s.addEventListener(`transitionend`,()=>{let e=a.value;e&&Ae(e),a.value=void 0,i.value&&H(i.value,!0),t.close?.(),l.value=!1,u.value=!1},{once:!0})}return{isAnimating:l,elementStyle:p,elementRef:i,zoomElementRef:o,zoomIn:g,zoomOut:_}}function nt(e){async function t(){try{let t=c(e?.shikiOptions)?.theme??[f,d],n=c(e?.isDark)??!1?t[1]:t[0],r=h({cdnOptions:()=>c(e?.cdnOptions),isDark:()=>c(e?.isDark)??!1,theme:()=>t,langs:()=>c(e?.shikiOptions)?.langs??[],langAlias:()=>c(e?.shikiOptions)?.langAlias??{},codeToTokenOptions:()=>c(e?.shikiOptions)?.codeToTokenOptions}),[{fromShikiTheme:i},a]=await Promise.all([import(`beautiful-mermaid`),r.getHighlighter()]);return i(a.getTheme(n??f))}catch{return null}}let n=x({renderer:()=>c(e?.mermaidOptions)?.renderer,theme:()=>c(e?.mermaidOptions)?.theme,beautifulTheme:()=>c(e?.mermaidOptions)?.beautifulTheme,config:()=>c(e?.mermaidOptions)?.config,beautifulConfig:()=>c(e?.mermaidOptions)?.beautifulConfig,cdnOptions:()=>c(e?.cdnOptions),isDark:()=>c(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=s(!1);async function l(){o.value=await n.installed,o.value&&await n.preload()}return I()&&(async()=>{o.value=await n.installed})(),{installed:o,getMermaid:n.load,parseMermaid:r,renderMermaid:i,saveMermaid:a,preload:l,dispose:n.dispose}}function rt(t){let n=e(()=>c(t.hardenOptions)??S),r=e(()=>c(t.loading)??!1),i=e(()=>c(t.isImage)??!1),a=e(()=>c(t.url)??``),o=e(()=>l(a.value)),s=e(()=>o.value===null);function l(e){return ke(e,n.value,{isImage:i.value,loading:r.value})}return{hardenOptions:n,transformHardenUrl:l,transformedUrl:o,isHardenUrl:s}}function it(){g()}function at(t){let n=s(!1),r=e(()=>c(t?.lang)??`plaintext`),i=h({lang:()=>r.value,cdnOptions:()=>c(t?.cdnOptions),isDark:()=>c(t?.isDark)??!1,theme:()=>c(t?.shikiOptions)?.theme??[f,d],langs:()=>c(t?.shikiOptions)?.langs??[],langAlias:()=>({...p,...c(t?.shikiOptions)?.langAlias??{}}),codeToTokenOptions:()=>c(t?.shikiOptions)?.codeToTokenOptions});async function a(){n.value=await i.installed,n.value&&await i.preload()}return I()&&(async()=>{n.value=await i.installed})(),{installed:n,getShiki:i.getShiki,getHighlighter:i.getHighlighter,codeToTokens:i.codeToTokens,preload:a,dispose:i.dispose}}function ot(t){let n=s({}),r=e(()=>Ee(t.element));function i(){n.value=ve(r.value)}u(i);let{stop:a}=W(()=>{let e=F();return r.value&&e?[r.value,e]:[]},i,{attributes:!0,attributeFilter:[`style`,`class`],subtree:!1});return{element:r,cssVariables:n,generateCSS:i,stop:a}}function st(t={}){let n=re(t),r=s(n.zoom),i=s(n.translateX),a=s(n.translateY),o=s(!1),c=s({x:0,y:0}),l=s(!1),u=s(null),d=e(()=>ie(w()));function f(){g(je(w(),t))}function p(){g(Me(w(),t))}function m(){g(ye(t))}function h(e){g(U(w(),e,t))}function g(e){r.value=e.zoom,i.value=e.translateX,a.value=e.translateY}function _(e){l.value||(o.value=!0,c.value=te(e,w()),E(e))}function v(e){if(!o.value||l.value)return;let t=ne(e,c.value);i.value=t.translateX,a.value=t.translateY}function y(){o.value=!1}function b(e,n){let r=A({event:e,element:n,state:w(),options:t});r&&(e.preventDefault(),g(r))}function x(e,t){if(e.touches.length===2){let n=k({event:e,element:t,state:w()});if(!n)return;e.preventDefault(),l.value=!0,u.value=n}}function S(e,n){if(e.touches.length===2&&u.value){let r=O({event:e,element:n,touchState:u.value,options:t});if(!r)return;e.preventDefault(),g(r)}}function C(e){e.touches.length<2&&(u.value=null,l.value=!1)}function w(){return{zoom:r.value,translateX:i.value,translateY:a.value}}function T(e){typeof e.zoom==`number`&&(r.value=U(w(),e.zoom,t).zoom),typeof e.translateX==`number`&&(i.value=e.translateX),typeof e.translateY==`number`&&(a.value=e.translateY)}return{zoom:r,translateX:i,translateY:a,isDragging:o,transformStyle:d,zoomIn:f,zoomOut:p,resetZoom:m,setZoom:h,startDrag:_,onDrag:v,stopDrag:y,handleWheel:b,getState:w,setState:T,handleTouchStart:x,handleTouchMove:S,handleTouchEnd:C}}export{Ge as C,He as D,Ue as E,Ke as S,G as T,Xe as _,rt as a,qe as b,et as c,Z as d,Qe as f,Ze as g,J as h,at as i,$ as l,X as m,ot as n,nt as o,Y as p,it as r,tt as s,st as t,Q as u,Ye as v,We as w,K as x,Je as y};
|
|
1
|
+
import{computed as e,defineAsyncComponent as t,inject as n,nextTick as r,onMounted as i,onUnmounted as a,provide as o,ref as s,toValue as c,watch as l,watchEffect as u}from"vue";import{DEFAULT_SHIKI_DARK_THEME as d,DEFAULT_SHIKI_LIGHT_THEME as f,LANGUAGE_ALIAS as p,createShikiCdnLoader as m,createShikiRuntime as h,disposeSharedShikiHighlighter as g}from"@stream-markdown/code";import{createKatexCdnLoader as _,createKatexRuntime as v}from"@stream-markdown/math";import{createBeautifulMermaidCdnLoader as y,createMermaidCdnLoader as b,createMermaidRuntime as x}from"@stream-markdown/mermaid";import{DEFAULT_HARDEN_OPTIONS as S,DEFAULT_LANGUAGE as C,applyMathRendererResult as w,calculateMediumZoomInTransforms as T,capturePointerForNonMouseEvent as E,cloneMediumZoomElement as D,createBrowserTouchMovedState as O,createBrowserTouchZoomState as k,createBrowserWheelZoomState as A,createCodeOptionsModel as j,createFloatingStyle as ee,createIdleCallback as M,createMathRendererModel as N,createMathRendererState as P,createPointerDragStart as te,createPointerDraggedState as ne,createZoomState as re,createZoomTransformStyle as ie,ensureOverlayContainer as ae,getConfigValue as oe,getDocument as se,getDocumentElement as F,getI18nText as ce,getOverlayContainer as le,isClickInsideFloating as ue,isClient as I,isConfigEnabled as de,isDocumentElementDark as fe,isElementInDocumentBody as pe,loadLocaleConfig as L,mountMediumZoomClone as R,playMediumZoomInClone as z,playMediumZoomOutClone as B,prepareMediumZoomInClone as me,prepareMediumZoomOutClone as he,readDocumentLanguage as ge,readMediumZoomElementTransform as _e,readThemeVariables as ve,resetZoomState as ye,resolveAnimation as be,resolveAnimationSplit as xe,resolveCaret as Se,resolveEnableAnimate as Ce,resolveFloatingDelay as V,resolveLocaleInput as we,resolveLocaleLanguage as Te,resolveThemeElement as Ee,resolveVisibleControls as De,setMediumZoomOriginalVisibility as H,setZoomState as U,syncOverlayContainerTheme as Oe,transformHardenedUrl as ke,unmountMediumZoomClone as Ae,zoomInState as je,zoomOutState as Me}from"@stream-markdown/core";import{useEventListener as Ne,useIntersectionObserver as Pe,useMutationObserver as W,useNavigatorLanguage as Fe}from"@vueuse/core";import{autoUpdate as Ie,computePosition as Le,flip as Re,offset as ze,shift as Be}from"@floating-ui/dom";import{checkMathSyntax as Ve}from"@markmend/core";const He={html:t(()=>import(`./html-CzOkUJrT.js`)),mermaid:t(()=>import(`./mermaid-CbtXgU48.js`))},Ue={blockquote:t(()=>import(`./blockquote-DzOTufQI.js`)),break:t(()=>import(`./break-D4unDZ1a.js`)),code:t(()=>import(`./code-Cxo8R2hB.js`)),delete:t(()=>import(`./delete-Cd-WVNFE.js`)),emphasis:t(()=>import(`./emphasis-DPGVb_PV.js`)),footnoteDefinition:t(()=>import(`./footnote-definition-CdGqynNW.js`)),footnoteReference:t(()=>import(`./footnote-reference-DEAHsKMp.js`)),heading:t(()=>import(`./heading-vrRLzwhM.js`)),html:t(()=>import(`./html-DgmNrDCm.js`)),image:t(()=>import(`./image-4ace5B-4.js`)),inlineCode:t(()=>import(`./inline-code-DucIt6Dj.js`)),inlineMath:t(()=>import(`./inline-math-C0hSuZHG.js`)),link:t(()=>import(`./link-CUTAaowE.js`)),list:t(()=>import(`./list-DIULF_09.js`)),listItem:t(()=>import(`./list-item-6rLARLtC.js`)),math:t(()=>import(`./math-QCxx6qzs.js`)),paragraph:t(()=>import(`./paragraph-B9lpNEwv.js`)),strong:t(()=>import(`./strong-B4j8xa2w.js`)),table:t(()=>import(`./table-DfDLEkpC.js`)),text:t(()=>import(`./text-7dbtSBiy.js`)),thematicBreak:t(()=>import(`./thematic-break-D6d6s8v9.js`)),yaml:t(()=>import(`./yaml-CDcLW3bb.js`))},G={Alert:t(()=>import(`./alert-DggFlw1I.js`)),Button:t(()=>import(`./button-BzkJ190j.js`)),Caret:t(()=>import(`./caret-D6Fn0wlr.js`).then(e=>e.n)),CodeBlock:t(()=>import(`./code-block-CxQhnimu.js`)),Dropdown:t(()=>import(`./dropdown-D-2hu2Ld.js`)),ErrorComponent:t(()=>import(`./error-component-CtRlME3T.js`)),Icon:t(()=>import(`./icon-B83qYRTQ.js`)),Image:t(()=>import(`./image-S_LjL4MS.js`)),Modal:t(()=>import(`./modal-DA71YhaZ.js`)),Segmented:t(()=>import(`./segmented-BuaNAiPR.js`).then(e=>e.n)),Spin:t(()=>import(`./spin-CwR6HEjC.js`)),Table:t(()=>import(`./table-BNreCfO7.js`)),Tooltip:t(()=>import(`./tooltip-CIal9Kyn.js`)),ZoomContainer:t(()=>import(`./zoom-container-DhHoSURN.js`))},We=t(()=>import(`./node-list-Bz98kLRm.js`).then(e=>e.n));function Ge(e){let t=e?.cdnOptions,n=m({cdnOptions:t}),r=b({cdnOptions:t}),i=y({cdnOptions:t}),a=_({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 Ke(t){let n=e(()=>c(t.language)||``),r=e(()=>c(t.codeOptions)),i=e(()=>j(r.value,n.value));return{languageCodeOptions:e(()=>i.value.languageCodeOptions),showLanguageIcon:e(()=>i.value.showLanguageIcon),showLanguageName:e(()=>i.value.showLanguageName),showLineNumbers:e(()=>i.value.showLineNumbers)}}const K={arrowLeft:t(()=>import(`./arrow-left-CTs2KqQN.js`)),check:t(()=>import(`./check-cZ2U5OdE.js`)),code:t(()=>import(`./code-xml-gQc2y8sl.js`)),collapse:t(()=>import(`./chevron-down-DtB2MVNn.js`)),copy:t(()=>import(`./copy-DqYfdODZ.js`)),cornerDownLeft:t(()=>import(`./corner-down-left-puxUSnn5.js`)),download:t(()=>import(`./download-CncPu93-.js`)),error:t(()=>import(`./circle-alert-CcSl8DqY.js`)),externalLink:t(()=>import(`./external-link-BprxAVhK.js`)),flipHorizontal:t(()=>import(`./flip-horizontal-AuosoDQq.js`)),image:t(()=>import(`./image-CXal6uxq.js`)),link:t(()=>import(`./link-mEfEN3PN2.js`)),maximize:t(()=>import(`./maximize-Tfc3IYVb.js`)),mermaid:t(()=>import(`./mermaid-CemiCIc1.js`)),minimize:t(()=>import(`./minimize-CafSv34O.js`)),preview:t(()=>import(`./eye-BP_OENm7.js`)),rotateLeft:t(()=>import(`./rotate-ccw-square-BEfRTkA0.js`)),x:t(()=>import(`./x-cyEz8ycE.js`)),zoomIn:t(()=>import(`./zoomIn-DCSVIJLh.js`)),zoomOut:t(()=>import(`./zoomOut-nkQbB_hz.js`))},q=Symbol(`stream-markdown-context`);function qe(){let t=A(),r=e(()=>c(t.mode)??`streaming`),i=e(()=>c(t.controls)),a=e(()=>c(t.previewers)),s=e(()=>c(t.shikiOptions)),l=e(()=>c(t.mermaidOptions)),u=e(()=>c(t.katexOptions)),d=e(()=>c(t.hardenOptions)),f=e(()=>c(t.codeOptions)),p=e(()=>c(t.imageOptions)),m=e(()=>c(t.linkOptions)),h=e(()=>c(t.cdnOptions)),g=e(()=>c(t.icons)??K),_=e(()=>c(t.nodeRenderers)??{}),v=e(()=>c(t.uiComponents)??G),y=e(()=>c(t.uiOptions)??{}),b=e(()=>y.value.hideTooltip??!1),x=e(()=>c(t.isDark)??!1),S=e(()=>Ce(r.value,c(t.enableAnimate))),C=e(()=>be(c(t.animation))),w=e(()=>xe(c(t.animationSplit))),T=e(()=>c(t.enableCaret)),E=e(()=>Se(c(t.caret))),D=e(()=>c(t.parsedNodes)??[]),O=e(()=>c(t.blocks)??[]);function k(e){o(q,{...A(),...e})}function A(){return n(q,{})||{}}return{context:t,provideContext:k,injectContext:A,mode:r,controls:i,previewers:a,shikiOptions:s,mermaidOptions:l,katexOptions:u,hardenOptions:d,codeOptions:f,imageOptions:p,linkOptions:m,cdnOptions:h,hideTooltip:b,icons:g,nodeRenderers:_,uiComponents:v,isDark:x,enableAnimate:S,animation:C,animationSplit:w,enableCaret:T,caret:E,parsedNodes:D,blocks:O,get markdownParser(){return t.markdownParser},get getContainer(){return t.getContainer||(()=>void 0)},get beforeDownload(){return t.beforeDownload||(()=>!0)},get onCopied(){return t.onCopied||(()=>{})}}}function Je(t){let n=e(()=>c(t.controls)??!0);function r(e){return de(n.value,e)}function i(e){return oe(n.value,e)}function a(e,t,r){return De(n.value,e,t,r)}return{isControlEnabled:r,getControlValue:i,resolveControls:a}}function Ye(t,n){let r=s(),a=e(()=>c(n)),o=e(()=>typeof c(t)==`boolean`),u=s(!1),d=e(()=>o.value?c(t):u.value);function f(){u.value=fe()}function p(){Oe(le(),{isDark:d.value,cssVariables:a.value})}let{stop:m}=W(r,f,{attributes:!0,attributeFilter:[`class`],subtree:!1});return l(()=>[d.value,a.value],()=>p()),l(o,()=>{o.value&&(r.value=null)}),i(()=>{ae({isDark:d.value,cssVariables:a.value}),o.value||(f(),r.value=F())}),{isDark:d,isDarkProvided:o,stop:m}}function Xe(t){let{immediate:n=!1,debounceDelay:r=300,rootMargin:i=`300px`,idleTimeout:o=500}=t,l=s(n),u=s(null),d=s(null),f=e(()=>c(t.targetRef)),{request:p,cancel:m}=M(),h=()=>{u.value!==null&&(clearTimeout(u.value),u.value=null),d.value!==null&&(m(d.value),d.value=null)},g=e=>{d.value=p(t=>{t.timeRemaining()>0||t.didTimeout?(l.value=!0,e()):d.value=p(()=>{l.value=!0,e()},o/2)},o)},{stop:_}=Pe(f,([e])=>{l.value||n||(e?.isIntersecting?(h(),u.value=window.setTimeout(()=>{e.isIntersecting&&!l.value&&g(_)},r)):h())},{rootMargin:i});return a(()=>{h(),_()}),{shouldRender:l}}function Ze(t){let n=e(()=>c(t.hideTooltip)??!1),r=e(()=>c(t.trigger)??`hover`),a=e(()=>c(t.placement)??`top`),o=e(()=>c(t.delay)??[100,100]),d=s(),f=s(),p=null,m=null,h=s(!1),g=s(null),_=s(null),v=s(`absolute`),y=s(),b=null;async function x(){if(!(!d.value||!f.value||!I()))try{let e=await Le(d.value,f.value,{placement:a.value,middleware:[ze(6),Re(),Be({padding:5})]});g.value=e.x,_.value=e.y,v.value=e.strategy}catch{}}u(()=>{b&&=(b(),null),!(!d.value||!f.value||!I())&&(b=Ie(d.value,f.value,x))}),l(a,()=>{h.value&&x()});let S=e(()=>I()&&d.value?.parentElement||null),C=()=>{if(!I())return t.getContainer?.()||`body`;let e=t.getContainer?.()||S.value;return e instanceof HTMLElement&&!pe(e)?`body`:e||`body`},w=e(()=>ee({x:g.value,y:_.value,strategy:v.value}));function T(){P();let{show:e}=V(o.value);p=window.setTimeout(()=>{h.value=!0,x()},e)}function E(){P();let{hide:e}=V(o.value);m=window.setTimeout(()=>{h.value=!1},e)}function D(){h.value=!h.value,x()}function O(){n.value||r.value===`hover`&&T()}function k(){r.value===`hover`&&E()}function A(){r.value===`click`&&D()}function j(e){if(!h.value)return;let t=e.target;ue(t,d.value,f.value)||(h.value=!1)}function M(){m&&=(clearTimeout(m),null)}function N(){let{hide:e}=V(o.value);r.value===`hover`&&(m=window.setTimeout(()=>{E()},e))}function P(){p&&=(clearTimeout(p),null),m&&=(clearTimeout(m),null)}return i(()=>{y.value=C(),Ne(se(),`click`,j)}),{referenceEl:d,floatingEl:f,open:h,appendTo:y,floatingStyle:w,show:T,hide:E,onMouseEnter:O,onMouseLeave:k,onClick:A,onFloatingEnter:M,onFloatingLeave:N}}const J=s(),Y=s(C);async function X(e){try{J.value=await L(e),typeof e==`string`&&(Y.value=Te(e))}catch{J.value=await L(C),Y.value=C}}X(C);function Qe(){function e(e){return ce(J.value,e)}return{t:e}}function Z(t){let{mdastOptions:n,cdnOptions:r}=t??{},i=e(()=>c(t.markdown)??``),a=n?.builtin?.micromark?.math!==!1,o=n?.singleDollarTextMath===!0,u=e(()=>Ve(i.value,o)),d=s(!1),f=v({cdnOptions:()=>r});async function p(e,t={}){return await f.renderToHtml(e,{config:t})}async function m(){d.value=await f.installed,d.value&&await f.preload()}return l(()=>u.value,e=>{e&&a&&f.ensureCss()},{immediate:!0}),I()&&(async()=>{d.value=await f.installed})(),{installed:d,render:p,preload:m,dispose:f.dispose,loadCdnKatexCss:f.ensureCss}}function Q(t){let{language:n}=Fe(),r=s(),a=e(()=>we(c(t),{htmlLanguage:r.value,navigatorLanguage:n.value}));function o(){return ge()}return i(()=>{r.value=o()}),{locale:a}}function $e(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 $(...e){return $e(...e)}function et(t){let{installed:n,render:r}=Z({cdnOptions:t.cdnOptions}),i=s(P()),a=e(()=>c(t.node)),o=e(()=>c(t.katexOptions)?.config??{}),u=e(()=>c(t.throttle)??150),d=e(()=>N({node:a.value,installed:n.value,renderFlag:i.value.renderFlag,renderingCode:i.value.renderingCode,errorMessage:i.value.errorMessage})),f=e(()=>d.value.code),p=e(()=>d.value.loading),m=e(()=>d.value.isDisplayMode),h=e(()=>d.value.error),g=e(()=>i.value.html),_=e(()=>i.value.errorMessage);return l(()=>[f.value,p.value],$(u,async()=>{let e=await r(f.value,{...o,displayMode:m.value});i.value=w(i.value,f.value,e)}),{immediate:!0}),{html:g,error:h,errorMessage:_}}function tt(t){let n=e(()=>c(t.margin)??0),i=s(),a=s(),o=s(),l=s(!1),u=s(!1),d=s(``),f=s(``),p=e(()=>I()?{opacity:+!u.value}:{opacity:1});function m(){let e=i.value;if(e)return D(e)}function h(){let e=i.value;if(!e||!a.value)return;let t=T({original:e,cloned:a.value,margin:n.value});d.value=t.initialTransform,f.value=t.targetTransform}async function g(){let e=i.value;if(!e)return;let n=m();if(!n)return;if(H(e,!1),!R(n)){H(e,!0);return}a.value=n,u.value=!0,await r(),h(),a.value&&me(a.value,d.value),a.value?.offsetHeight,await r(),l.value=!0,a.value&&z(a.value,f.value),t.open?.();let o=()=>{l.value=!1,a.value&&(a.value.style.opacity=`0`),u.value=!1,n.removeEventListener(`transitionend`,o)};n.addEventListener(`transitionend`,o,{once:!0})}async function _(){if(!a.value){t.close?.();return}if(await r(),u.value=!0,a.value&&(a.value.style.opacity=`1`),await r(),!a.value)return;let e=i.value,n=o.value;if(!e||!n)return;let s=a.value,c=_e(n);he({cloned:s,zoomElement:n,currentTransform:c}),s.offsetHeight,await r(),l.value=!0,B({cloned:s,original:e,zoomElement:n,currentTransform:c}),s.addEventListener(`transitionend`,()=>{let e=a.value;e&&Ae(e),a.value=void 0,i.value&&H(i.value,!0),t.close?.(),l.value=!1,u.value=!1},{once:!0})}return{isAnimating:l,elementStyle:p,elementRef:i,zoomElementRef:o,zoomIn:g,zoomOut:_}}function nt(e){async function t(){try{let t=c(e?.shikiOptions)?.theme??[f,d],n=c(e?.isDark)??!1?t[1]:t[0],r=h({cdnOptions:()=>c(e?.cdnOptions),isDark:()=>c(e?.isDark)??!1,theme:()=>t,langs:()=>c(e?.shikiOptions)?.langs??[],langAlias:()=>c(e?.shikiOptions)?.langAlias??{},engine:()=>c(e?.shikiOptions)?.engine,codeToTokenOptions:()=>c(e?.shikiOptions)?.codeToTokenOptions}),[{fromShikiTheme:i},a]=await Promise.all([import(`beautiful-mermaid`),r.getHighlighter()]);return i(a.getTheme(n??f))}catch{return null}}let n=x({renderer:()=>c(e?.mermaidOptions)?.renderer,theme:()=>c(e?.mermaidOptions)?.theme,beautifulTheme:()=>c(e?.mermaidOptions)?.beautifulTheme,config:()=>c(e?.mermaidOptions)?.config,beautifulConfig:()=>c(e?.mermaidOptions)?.beautifulConfig,cdnOptions:()=>c(e?.cdnOptions),isDark:()=>c(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=s(!1);async function l(){o.value=await n.installed,o.value&&await n.preload()}return I()&&(async()=>{o.value=await n.installed})(),{installed:o,getMermaid:n.load,parseMermaid:r,renderMermaid:i,saveMermaid:a,preload:l,dispose:n.dispose}}function rt(t){let n=e(()=>c(t.hardenOptions)??S),r=e(()=>c(t.loading)??!1),i=e(()=>c(t.isImage)??!1),a=e(()=>c(t.url)??``),o=e(()=>l(a.value)),s=e(()=>o.value===null);function l(e){return ke(e,n.value,{isImage:i.value,loading:r.value})}return{hardenOptions:n,transformHardenUrl:l,transformedUrl:o,isHardenUrl:s}}function it(){g()}function at(t){let n=s(!1),r=e(()=>c(t?.lang)??`plaintext`),i=h({lang:()=>r.value,cdnOptions:()=>c(t?.cdnOptions),isDark:()=>c(t?.isDark)??!1,theme:()=>c(t?.shikiOptions)?.theme??[f,d],langs:()=>c(t?.shikiOptions)?.langs??[],langAlias:()=>({...p,...c(t?.shikiOptions)?.langAlias??{}}),engine:()=>c(t?.shikiOptions)?.engine,codeToTokenOptions:()=>c(t?.shikiOptions)?.codeToTokenOptions});async function a(){n.value=await i.installed,n.value&&await i.preload()}return I()&&(async()=>{n.value=await i.installed})(),{installed:n,getShiki:i.getShiki,getHighlighter:i.getHighlighter,codeToTokens:i.codeToTokens,preload:a,dispose:i.dispose}}function ot(t){let n=s({}),r=e(()=>Ee(t.element));function i(){n.value=ve(r.value)}u(i);let{stop:a}=W(()=>{let e=F();return r.value&&e?[r.value,e]:[]},i,{attributes:!0,attributeFilter:[`style`,`class`],subtree:!1});return{element:r,cssVariables:n,generateCSS:i,stop:a}}function st(t={}){let n=re(t),r=s(n.zoom),i=s(n.translateX),a=s(n.translateY),o=s(!1),c=s({x:0,y:0}),l=s(!1),u=s(null),d=e(()=>ie(w()));function f(){g(je(w(),t))}function p(){g(Me(w(),t))}function m(){g(ye(t))}function h(e){g(U(w(),e,t))}function g(e){r.value=e.zoom,i.value=e.translateX,a.value=e.translateY}function _(e){l.value||(o.value=!0,c.value=te(e,w()),E(e))}function v(e){if(!o.value||l.value)return;let t=ne(e,c.value);i.value=t.translateX,a.value=t.translateY}function y(){o.value=!1}function b(e,n){let r=A({event:e,element:n,state:w(),options:t});r&&(e.preventDefault(),g(r))}function x(e,t){if(e.touches.length===2){let n=k({event:e,element:t,state:w()});if(!n)return;e.preventDefault(),l.value=!0,u.value=n}}function S(e,n){if(e.touches.length===2&&u.value){let r=O({event:e,element:n,touchState:u.value,options:t});if(!r)return;e.preventDefault(),g(r)}}function C(e){e.touches.length<2&&(u.value=null,l.value=!1)}function w(){return{zoom:r.value,translateX:i.value,translateY:a.value}}function T(e){typeof e.zoom==`number`&&(r.value=U(w(),e.zoom,t).zoom),typeof e.translateX==`number`&&(i.value=e.translateX),typeof e.translateY==`number`&&(a.value=e.translateY)}return{zoom:r,translateX:i,translateY:a,isDragging:o,transformStyle:d,zoomIn:f,zoomOut:p,resetZoom:m,setZoom:h,startDrag:_,onDrag:v,stopDrag:y,handleWheel:b,getState:w,setState:T,handleTouchStart:x,handleTouchMove:S,handleTouchEnd:C}}export{Ge as C,He as D,Ue as E,Ke as S,G as T,Xe as _,rt as a,qe as b,et as c,Z as d,Qe as f,Ze as g,J as h,at as i,$ as l,X as m,ot as n,nt as o,Y as p,it as r,tt as s,st as t,Q as u,Ye as v,We as w,K as x,Je as y};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./node-list-
|
|
1
|
+
import{t as e}from"./node-list-Bz98kLRm.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:{markdownParser:{type:Object,required:!0},nodeRenderers:{type:null,required:!0},blockIndex:{type:Number,required:!1},node:{type:null,required:!0},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},hideCaret:{type:Boolean,required:!1},blocks:{type:Array,required:!1}},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{b as e}from"./composables-
|
|
1
|
+
import{b as e}from"./composables-CNN6iaxK.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-
|
|
1
|
+
import{t as e}from"./node-list-Bz98kLRm.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:{markdownParser:{type:Object,required:!0},nodeRenderers:{type:null,required:!0},blockIndex:{type:Number,required:!1},node:{type:null,required:!0},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},hideCaret:{type:Boolean,required:!1},blocks:{type:Array,required:!1}},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{b as e,f as t}from"./composables-
|
|
1
|
+
import{b as e,f as t}from"./composables-CNN6iaxK.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";import{createErrorModel as p}from"@stream-markdown/core";const m={"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`},h={key:0,"data-stream-markdown":`error-component-icon`,class:`leading-none mr-2 align-text-bottom inline-flex items-center`};var g=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 g=s,{icons:_,uiComponents:v}=e(),{t:y}=t(),b=n(()=>p({variant:g.variant,message:g.message,icon:g.icon,hasIcon:e=>!!_.value[e]})),x=n(()=>b.value.icon),S=n(()=>b.value.message??y(b.value.messageKey)),C=n(()=>b.value.isHarden);return(e,t)=>(c(),a(`span`,m,[s.showIcon?(c(),a(`div`,h,[typeof x.value==`string`?(c(),r(u(f(v).Icon),{key:0,icon:x.value},null,8,[`icon`])):(c(),r(u(x.value),{key:1}))])):i(`v-if`,!0),C.value?l(e.$slots,`default`,{key:1}):i(`v-if`,!0),o(` [`+d(S.value)+`] `,1)]))}});export{g as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as e,f as t}from"./composables-
|
|
1
|
+
import{b as e,f as t}from"./composables-CNN6iaxK.js";import{t as n}from"./node-list-Bz98kLRm.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";import{createFootnoteDefinitionModel as m,getDocumentBody as h,scrollToElement as g}from"@stream-markdown/core";const _=[`id`],v={"data-stream-markdown":`footnote-definition-label`,class:`mr-1 align-middle inline-block`};var y=c({__name:`footnote-definition`,props:{markdownParser:{type:Object,required:!0},nodeRenderers:{type:null,required:!0},blockIndex:{type:Number,required:!1},node:{type:null,required:!0},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},hideCaret:{type:Boolean,required:!1},blocks:{type:Array,required:!1}},setup(c){let y=c,{getContainer:b,uiComponents:x}=e(),{t:S}=t(),C=r(()=>m(y.node)),w=r(()=>C.value.id),T=r(()=>C.value.title);function E(){let e=b()||h();e&&g(e,`#footnote-reference-${w.value}`)}return(e,t)=>(u(),a(`a`,{id:`footnote-definition-${w.value}`,"data-stream-markdown":`footnote-definition`,class:`text-muted-foreground block [&_p]:inline`},[o(`span`,v,f(T.value),1),s(n,l(y,{"parent-node":c.node,nodes:c.node.children}),null,16,[`parent-node`,`nodes`]),(u(),i(d(p(x).Button),{"data-stream-markdown":`footnote-definition-button`,class:`ml-1 align-middle inline-block`,name:p(S)(`button.back`),icon:`cornerDownLeft`,"icon-style":{color:`var(--primary)`},"button-style":{padding:`0.25rem`},onClick:E},null,8,[`name`]))],8,_))}});export{y as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as e}from"./composables-
|
|
1
|
+
import{b as e}from"./composables-CNN6iaxK.js";import{computed as t,createElementBlock as n,createElementVNode as r,defineComponent as i,openBlock as a,toDisplayString as o}from"vue";import{createFootnoteReferenceModel as s,getDocumentBody as c,scrollToElement as l}from"@stream-markdown/core";const u=[`id`];var d=i({__name:`footnote-reference`,props:{markdownParser:{type:Object,required:!0},nodeRenderers:{type:null,required:!0},blockIndex:{type:Number,required:!1},node:{type:null,required:!0},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},hideCaret:{type:Boolean,required:!1},blocks:{type:Array,required:!1}},setup(i){let d=i,{getContainer:f}=e(),p=t(()=>s(d.node)),m=t(()=>p.value.id),h=t(()=>p.value.label);function g(){let e=f()||c();e&&l(e,`#footnote-definition-${m.value}`)}return(e,t)=>(a(),n(`sup`,{"data-stream-markdown":`footnote-reference`,class:`text-primary cursor-pointer`,onClick:g},[r(`a`,{id:`footnote-reference-${m.value}`},`[`+o(h.value)+`]`,9,u)]))}});export{d as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./node-list-
|
|
1
|
+
import{t as e}from"./node-list-Bz98kLRm.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";import{createHeadingModel as u}from"@stream-markdown/core";var d=i({__name:`heading`,props:{markdownParser:{type:Object,required:!0},nodeRenderers:{type:null,required:!0},blockIndex:{type:Number,required:!1},node:{type:null,required:!0},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},hideCaret:{type:Boolean,required:!1},blocks:{type:Array,required:!1}},setup(i){let d=i,f=t(()=>u(d.node)),p=t(()=>f.value.tag),m=t(()=>f.value.id),h=t(()=>f.value.depth);return(t,u)=>(s(),n(c(p.value),{"data-stream-markdown":m.value,class:o([`font-semibold mb-2 mt-6`,{"text-3xl":h.value===1,"text-2xl":h.value===2,"text-xl":h.value===3,"text-lg":h.value===4,"text-base":h.value===5,"text-sm":h.value<1||h.value>5}])},{default:l(()=>[r(e,a(d,{nodes:i.node.children,deep:i.deep+1}),null,16,[`nodes`,`deep`])]),_:1},8,[`data-stream-markdown`,`class`]))}});export{d as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{b as e}from"./composables-CNN6iaxK.js";import{computed as t,createElementBlock as n,createElementVNode as r,defineComponent as i,normalizeStyle as a,openBlock as o,ref as s}from"vue";import{createHtmlPreviewModel as c,getIframeBodyHeight as l,resolveHtmlPreviewSandbox as u}from"@stream-markdown/core";const d=[`srcdoc`,`sandbox`];var f=i({__name:`html`,props:{markdownParser:{type:Object,required:!0},nodeRenderers:{type:null,required:!0},blockIndex:{type:Number,required:!1},node:{type:null,required:!0},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},hideCaret:{type:Boolean,required:!1},blocks:{type:Array,required:!1}},setup(i){let f=i,{previewers:p}=e(),m=s(),h=s(0),g=t(()=>c(f.node)),_=t(()=>g.value.code),v=t(()=>u(p.value));function y(){h.value=l(m.value)}return(e,t)=>(o(),n(`div`,{class:`html-previewer`,style:a({height:`${h.value}px`})},[r(`iframe`,{ref_key:`iframeRef`,ref:m,"data-stream-markdown":`html-previewer`,class:`size-full`,srcdoc:_.value,sandbox:v.value,frameborder:0,onLoad:y},null,40,d)],4))}});export{f as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as e}from"./composables-
|
|
1
|
+
import{b as e}from"./composables-CNN6iaxK.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";import{createIconModel as l}from"@stream-markdown/core";var u=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:null,required:!1},style:{type:null,required:!1}},setup(i){let u=i,{icons:d}=e(),f=t(()=>typeof u.icon==`string`?d.value[u.icon]:u.icon),p=t(()=>l(u)),m=t(()=>p.value.style);return(e,t)=>(s(),n(`div`,{"data-stream-markdown":`icon`,style:o(m.value)},[r(c(f),{width:i.width,height:i.height,class:a(u.class),style:o(i.style)},null,8,[`width`,`height`,`class`,`style`])],4))}});export{u as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as e,b as t,f as n,y as r}from"./composables-CNN6iaxK.js";import{computed as i,createBlock as a,createCommentVNode as o,createElementBlock as s,createElementVNode as c,createTextVNode as l,defineComponent as u,normalizeStyle as d,openBlock as f,ref as p,resolveDynamicComponent as m,toDisplayString as h,unref as g,withCtx as _}from"vue";import{createImageModel as v,saveImage as y}from"@stream-markdown/core";const b={"data-stream-markdown":`image-wrapper`,class:`text-center relative`},x={key:0,class:`pointer-events-auto bottom-2 right-2 absolute`},S={key:0,"data-stream-markdown":`image-caption`,class:`text-sm text-center italic`};var C=u({__name:`image`,props:{markdownParser:{type:Object,required:!0},nodeRenderers:{type:null,required:!0},blockIndex:{type:Number,required:!1},node:{type:null,required:!0},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},hideCaret:{type:Boolean,required:!1},blocks:{type:Array,required:!1}},setup(u){let C=u,{beforeDownload:w,controls:T,hardenOptions:E,imageOptions:D,uiComponents:O}=t(),{t:k}=n(),{isControlEnabled:A}=r({controls:T}),j=p(),M=p(!1),N=p(!1),P=p(!1),F=i(()=>v({node:C.node,imageOptions:D.value,fallbackAttempted:P.value,imageLoaded:N.value})),I=i(()=>F.value.isLoading),L=i(()=>A(`image.download`)),R=i(()=>A(`image.preview`)),z=i(()=>F.value.fallback),B=i(()=>F.value.imageSrc),{transformedUrl:V,isHardenUrl:H,transformHardenUrl:U}=e({url:B,hardenOptions:E,loading:I,isImage:!0}),W=i(()=>v({node:C.node,imageOptions:D.value,fallbackAttempted:P.value,imageLoaded:N.value,isHardenUrl:H.value,loadError:M.value})),G=i(()=>W.value.alt),K=i(()=>W.value.title),q=i(()=>W.value.showCaption),J=i(()=>H.value?E.value?.errorComponent??O.value.ErrorComponent:D.value?.errorComponent??O.value.ErrorComponent);function Y(){N.value=!0}function X(){if(z.value&&!P.value){P.value=!0;return}M.value=!0}async function Z(e=B.value){e&&await w({type:`image`,url:e})&&y(e,G.value)}function Q(){j.value&&(j.value.style.opacity=1)}function $(){j.value&&(j.value.style.opacity=0)}return(e,t)=>(f(),s(`figure`,{"data-stream-markdown":`image-figure`,class:`inline-block`,style:d({width:W.value.figureWidth}),onMouseenter:Q,onMouseleave:$},[c(`div`,b,[g(H)?o(`v-if`,!0):(f(),s(`div`,{key:0,ref_key:`maskRef`,ref:j,"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`},[!I.value&&L.value?(f(),s(`div`,x,[(f(),a(m(g(O).Button),{"data-stream-markdown":`image-download-button`,icon:`download`,name:g(k)(`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]||=()=>Z(B.value)},null,8,[`name`]))])):o(`v-if`,!0)],512)),W.value.showSpin?(f(),a(m(g(O).Spin),{key:1})):o(`v-if`,!0),W.value.showImage&&typeof g(V)==`string`?(f(),a(m(g(O).Image),{key:g(V),src:g(V),alt:G.value,title:K.value,preview:!P.value&&R.value,"referrer-policy":g(D)?.referrerPolicy,controls:g(T),"transform-harden-url":g(U),"node-props":C,"handle-download":Z,onLoad:Y,onError:X},null,40,[`src`,`alt`,`title`,`preview`,`referrer-policy`,`controls`,`transform-harden-url`])):W.value.showError?(f(),a(m(J.value),{key:3,variant:W.value.errorVariant},{default:_(()=>[l(h(K.value),1)]),_:1},8,[`variant`])):o(`v-if`,!0)]),q.value&&K.value?(f(),s(`figcaption`,S,h(K.value),1)):o(`v-if`,!0)],36))}});export{C as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{b as e,f as t,s as n,y as ee}from"./composables-CNN6iaxK.js";import{Fragment as r,computed as i,createBlock as a,createElementBlock as o,createElementVNode as s,defineComponent as c,mergeProps as l,normalizeStyle as u,openBlock as d,ref as f,renderList as te,resolveDynamicComponent as p,toRefs as m,unref as h,watch as g,withCtx as _}from"vue";import{createImagePreviewModel as v,createImagePreviewSources as y,flipImagePreviewHorizontal as b,flipImagePreviewVertical as x,resetImagePreviewTransformState as S,rotateImagePreviewLeft as C,rotateImagePreviewRight as w}from"@stream-markdown/core";import{useCycleList as T}from"@vueuse/core";const ne=[`referrerpolicy`,`src`,`alt`,`title`],re=[`referrerpolicy`,`src`,`alt`,`title`];var E=c({__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},referrerPolicy:{type:null,required:!1},margin:{type:Number,required:!1,default:16},controls:{type:null,required:!1,default:!0},transformHardenUrl:{type:Function,required:!1},nodeProps:{type:Object,required:!0},handleDownload:{type:Function,required:!1}},emits:[`load`,`error`],setup(c,{emit:E}){let D=c,O=E,{icons:k,parsedNodes:A,uiComponents:j}=e(),{margin:M,controls:N}=m(D),{t:P}=t(),{resolveControls:F}=ee({controls:N}),I=f(!1),L=f(!1),R=f(1),z=f(1),B=f(0),V=i(()=>({scaleX:R.value,scaleY:z.value,rotate:B.value})),{isAnimating:H,elementRef:U,zoomElementRef:ie,elementStyle:W,zoomIn:G,zoomOut:K}=n({margin:M,open:()=>L.value=!0,close:()=>L.value=!1}),{state:q,prev:J,next:Y}=T(i(()=>y(A.value,D.transformHardenUrl)),{initialValue:D.src,fallbackIndex:0}),X=i(()=>v({parsedNodes:A.value,src:q.value,controls:N.value,transformHardenUrl:D.transformHardenUrl,hasDownload:!!D.handleDownload,preview:D.preview,loaded:I.value,hasElement:!!U.value,state:V.value,elementStyle:W.value,icons:{arrowRight:!!k.value.arrowRight,flipVertical:!!k.value.flipVertical,rotateRight:!!k.value.rotateRight}})),ae=i(()=>X.value.controlPosition),oe=i(()=>X.value.imageStyle),se=i(()=>X.value.controls.map(e=>({...e,name:P(e.labelKey??``),onClick:()=>he(e.key),visible:()=>e.visible??!0}))),ce=i(()=>F(`image`,se.value,D.nodeProps));function Z(e){I.value=!0,O(`load`,e)}function le(e){O(`error`,e)}function ue(){X.value.canOpen&&G()}function Q(){H.value||K()}function de(){$(b(V.value))}function fe(){$(x(V.value))}function pe(){$(C(V.value))}function me(){$(w(V.value))}function he(e){({download:()=>D.handleDownload?.(q.value),previous:J,next:Y,flipX:de,flipY:fe,rotateLeft:pe,rotateRight:me})[e]()}function $(e){R.value=e.scaleX,z.value=e.scaleY,B.value=e.rotate}return g(L,e=>{e||($(S()),D.src&&(q.value=D.src))}),(e,t)=>(d(),o(r,null,[s(`img`,{ref_key:`elementRef`,ref:U,"data-stream-markdown":`image`,class:`rounded-lg h-auto max-w-full block cursor-pointer object-contain`,referrerpolicy:c.referrerPolicy,src:c.src,alt:c.alt,title:c.title,style:{transition:`transform 300ms cubic-bezier(0.2, 0, 0.2, 1)`},loading:`lazy`,decoding:`async`,onLoad:Z,onError:le,onClick:ue},null,40,ne),(d(),a(p(h(j).Modal),{open:L.value,"onUpdate:open":t[0]||=e=>L.value=e,transition:``,"modal-style":{backgroundColor:`rgba(0, 0, 0, 0.45)`},close:Q},{default:_(()=>[(d(),a(p(h(j).ZoomContainer),{"control-size":`large`,position:ae.value,"container-style":{width:`auto`,maxWidth:`calc(100% - ${D.margin*2}px)`,cursor:`grab`},onClick:Q},{controls:_(e=>[(d(!0),o(r,null,te(ce.value,t=>(d(),a(p(h(j).Button),l({ref_for:!0},{...e,...t},{key:t.key,onClick:t.onClick}),null,16,[`onClick`]))),128))]),default:_(()=>[s(`img`,{ref_key:`_zoomElementRef`,ref:ie,referrerpolicy:c.referrerPolicy,src:h(q),alt:c.alt,title:c.title,style:u(oe.value)},null,12,re)]),_:1},8,[`position`,`container-style`]))]),_:1},40,[`open`]))],64))}});export{E as default};
|
package/dist/index.d.ts
CHANGED
|
@@ -7,7 +7,7 @@ import { Placement } from "@floating-ui/dom";
|
|
|
7
7
|
import { PreprocessContext } from "@markmend/core";
|
|
8
8
|
import { BlockquoteNode, BreakNode, CodeNode, DefinitionNode, DeleteNode, EmphasisNode, FootnoteDefinitionNode, FootnoteReferenceNode, FromMarkdownExtension, HeadingNode, HtmlNode, ImageNode, ImageReferenceNode, InlineCodeNode, InlineMathNode, LinkNode, LinkReferenceNode, ListItemNode, ListNode, MarkdownAstParser, MarkdownAstParserOptions, MarkdownAstParserResult, MarkdownParserOptions, MarkdownParserResult, MathNode, MdastOptions, MicromarkExtension, NodeType, NodeType as NodeType$1, ParagraphNode, ParsedNode, StrongNode, SyntaxTree, TableCellNode, TableNode, TableRowNode, TextNode, ThematicBreakNode, ToMarkdownExtension, YamlNode } from "@markmend/ast";
|
|
9
9
|
import * as _$shiki from "shiki";
|
|
10
|
-
import { BuiltinTheme, BundledLanguage, BundledTheme, CodeToTokensOptions } from "shiki";
|
|
10
|
+
import { BuiltinTheme, BundledLanguage, BundledTheme, CodeToTokensOptions, RegexEngine } from "shiki";
|
|
11
11
|
import * as _$mermaid from "mermaid";
|
|
12
12
|
import { MermaidConfig } from "mermaid";
|
|
13
13
|
import * as _$beautiful_mermaid0 from "beautiful-mermaid";
|
|
@@ -512,7 +512,7 @@ type ImageControlsConfig = ImageControlsConfig$1<ControlTransformer<ImageNodeRen
|
|
|
512
512
|
type MermaidControlsConfig = MermaidControlsConfig$1<ControlTransformer<CodeNodeRendererProps>>;
|
|
513
513
|
type ControlsConfig = ControlsConfig$1<ControlTransformer<TableNodeRendererProps>, ControlTransformer<CodeNodeRendererProps>, ControlTransformer<ImageNodeRendererProps>, ControlTransformer<CodeNodeRendererProps>>;
|
|
514
514
|
type PreviewerConfig = PreviewerConfig$1<Component>;
|
|
515
|
-
type ShikiOptions = ShikiOptions$1<BuiltinTheme, BundledLanguage, CodeToTokensOptions<BundledLanguage, BundledTheme>>;
|
|
515
|
+
type ShikiOptions = ShikiOptions$1<BuiltinTheme, BundledLanguage, CodeToTokensOptions<BundledLanguage, BundledTheme>, RegexEngine | Promise<RegexEngine>>;
|
|
516
516
|
type MermaidOptions = MermaidOptions$1<Component, MermaidConfig, ThemeName, RenderOptions>;
|
|
517
517
|
type KatexOptions = KatexOptions$1<Component, KatexOptions$2>;
|
|
518
518
|
type ImageOptions = ImageOptions$1<Component>;
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{C as e,D as t,E as n,S as r,T as i,_ as a,a as o,b as s,c,d as l,f as u,g as d,h as f,i as ee,m as p,n as m,o as h,p as g,r as _,s as v,t as y,u as b,v as x,w as S,x as te,y as C}from"./composables-
|
|
1
|
+
import{C as e,D as t,E as n,S as r,T as i,_ as a,a as o,b as s,c,d as l,f as u,g as d,h as f,i as ee,m as p,n as m,o as h,p as g,r as _,s as v,t as y,u as b,v as x,w as S,x as te,y as C}from"./composables-CNN6iaxK.js";import{t as ne}from"./node-list-Bz98kLRm.js";import{Fragment as re,computed as w,createBlock as ie,createElementBlock as T,defineComponent as E,normalizeClass as ae,normalizeStyle as oe,onBeforeUnmount as se,onMounted as ce,openBlock as D,ref as le,renderList as ue,toRefs as de,unref as fe,watch as O}from"vue";import{ANIMATION_SPLITS as k,ANIMATION_TYPES as A,CARETS as j,DEFAULT_ANIMATION as M,DEFAULT_ANIMATION as N,DEFAULT_ANIMATION_SPLIT as P,DEFAULT_ANIMATION_SPLIT as F,DEFAULT_HARDEN_OPTIONS as I,DEFAULT_LANGUAGE as L,PLAIN_TEXT_NODES as R,PRELOAD_NODE_RENDERER as z,SHADCN_SCHEMAS as B,SUPPORT_LANGUAGES as V,createProcessedMarkdownModel as pe,createRootStyle as me,createStreamMarkdownEngine as he,resolveEnableAnimate as ge,resolveEnableCaret as _e,resolvePreloadNodeRenderers as ve}from"@stream-markdown/core";export*from"@markmend/core";export*from"@markmend/ast";async function H(e,t=[],n=[]){let r=[];Object.entries(e).forEach(([e,i])=>{i&&U(i)&&(t.length>0&&!t.includes(e)||n.length>0&&n.includes(e)||r.push(i.__asyncLoader()))}),await Promise.all(r)}function U(e){return typeof e==`object`&&`__asyncLoader`in e}var W=E({__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:N},animationSplit:{type:null,required:!1,default:F},animationDuration:{type:[Number,String],required:!1},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},preprocessSteps:{type:Object,required:!1},parseMarkdownIntoBlocks:{type:Function,required:!1}},emits:[`copied`],setup(e,{expose:t,emit:r}){let a=e,o=r,{controls:c,previewers:u,mode:d,content:f,isDark:g,locale:_,codeOptions:v,imageOptions:y,linkOptions:S,katexOptions:C,hardenOptions:E,shikiOptions:k,mermaidOptions:A,uiOptions:j,cdnOptions:M,animation:N,animationSplit:P,caret:F}=de(a),{provideContext:I}=s(),{cssVariables:L,stop:R}=m({element:a.themeElement}),{isDark:z,stop:B}=x(g,L),{locale:V}=b(_),{preload:U,dispose:W}=ee({shikiOptions:k,cdnOptions:a.cdnOptions}),{preload:ye,dispose:be}=h({mermaidOptions:A,cdnOptions:a.cdnOptions}),{preload:xe,dispose:Se}=l({markdown:f,mdastOptions:a.mdastOptions,cdnOptions:a.cdnOptions}),G=le(),{markdownParser:K,parse:Ce,updateMode:we}=he({...a,mode:a.mode}),Te=w(()=>ge(d.value,a.enableAnimate)),Ee=w(()=>_e(d.value,a.caret)),q=w(()=>pe(Ce(a.content))),J=w(()=>q.value.blocks),Y=w(()=>q.value.parsedNodes),De=w(()=>q.value.processedContent),Oe=w(()=>me(L.value,a.animationDuration)),X=w(()=>({...n,...a.nodeRenderers})),Z=w(()=>ve(a.preload)),Q=w(()=>({...te,...a.icons})),$=w(()=>({...i,...a.components}));function ke(){return G.value}async function Ae(){let e=[U(),ye(),xe(),H(Q.value),H($.value)];a.locale!==`en-US`&&e.push(p(V.value)),Z.value.length&&e.push(H(X.value,Z.value)),await Promise.all(e)}return ce(Ae),O(d,()=>we(d.value)),O(V,()=>p(V.value)),I({controls:c,previewers:u,shikiOptions:k,mermaidOptions:A,katexOptions:C,hardenOptions:E,codeOptions:v,imageOptions:y,linkOptions:S,cdnOptions:M,mode:d,nodeRenderers:X,icons:Q,uiComponents:$,uiOptions:j,isDark:z,enableAnimate:Te,animation:N,animationSplit:P,enableCaret:Ee,caret:F,blocks:J,parsedNodes:Y,markdownParser:K,getContainer:ke,beforeDownload:a.beforeDownload,onCopied:e=>{o(`copied`,e)}}),se(()=>{W(),be(),Se(),R(),B()}),t({getMarkdownParser:()=>K,getParsedNodes:()=>Y.value,getProcessedContent:()=>De.value}),(e,t)=>(D(),T(`div`,{ref_key:`containerRef`,ref:G,class:ae([`stream-markdown`,[fe(z)?`dark`:`light`]]),style:oe(Oe.value)},[(D(!0),T(re,null,ue(J.value,(e,t)=>(D(),ie(ne,{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{k as ANIMATION_SPLITS,A as ANIMATION_TYPES,j as CARETS,t as CODE_PREVIEWERS,M as DEFAULT_ANIMATION,P as DEFAULT_ANIMATION_SPLIT,I as DEFAULT_HARDEN_OPTIONS,L as DEFAULT_LANGUAGE,W as Markdown,n as NODE_RENDERERS,S as NodeList,R as PLAIN_TEXT_NODES,z as PRELOAD_NODE_RENDERER,B as SHADCN_SCHEMAS,V as SUPPORT_LANGUAGES,i as UI,g as currentLocale,_ as disposeShikiHighlighter,p as loadLocaleMessages,f as localeMessages,H as preloadAsyncComponents,e as useCdnLoader,r as useCodeOptions,s as useContext,C as useControls,x as useDarkDetector,a as useDeferredRender,d as useFloating,u as useI18n,l as useKatex,b as useLocaleDetector,c as useMathRenderer,v as useMediumZoom,h as useMermaid,o as useSanitizers,ee as useShiki,m as useTailwindV3Theme,y as useZoom};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as e,c as t}from"./composables-
|
|
1
|
+
import{b as e,c as t}from"./composables-CNN6iaxK.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:{markdownParser:{type:Object,required:!0},nodeRenderers:{type:null,required:!0},blockIndex:{type:Number,required:!1},node:{type:null,required:!0},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},hideCaret:{type:Boolean,required:!1},blocks:{type:Array,required:!1},throttle:{type:Number,required:!1,default:300}},setup(a){let d=a,{cdnOptions:f,katexOptions:p,uiComponents:m}=e(),{node:h,throttle:g}=c(d),{html:_,error:v,errorMessage:y}=t({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,b as t,f as n}from"./composables-
|
|
1
|
+
import{a as e,b as t,f as n}from"./composables-CNN6iaxK.js";import{t as r}from"./node-list-Bz98kLRm.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{checkTrustedLink as _,createLinkModel as v,openExternalUrl as y}from"@stream-markdown/core";import{useClipboard as b}from"@vueuse/core";const x={"data-stream-markdown":`link-container`,class:`inline`},S=[`data-stream-markdown-loading`],C={"data-stream-markdown":`link-url`,class:`text-sm font-mono p-3 rounded-lg bg-muted w-full inline-block overflow-x-auto`};var w=l({inheritAttrs:!1,__name:`link`,props:{markdownParser:{type:Object,required:!0},nodeRenderers:{type:null,required:!0},blockIndex:{type:Number,required:!1},node:{type:null,required:!0},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},hideCaret:{type:Boolean,required:!1},blocks:{type:Array,required:!1}},setup(l){let w=l,{uiComponents:T,linkOptions:E,hardenOptions:D}=t(),{t:O}=n(),k=f(!1),{copy:A,copied:j}=b({legacy:!0}),M=i(()=>v({node:w.node,linkOptions:E.value,hasLoadingNode:e=>w.markdownParser.hasLoadingNode(e)})),N=i(()=>M.value.url),P=i(()=>M.value.loading),{transformedUrl:F,isHardenUrl:I}=e({url:N,hardenOptions:D,loading:P}),L=i(()=>v({node:w.node,transformedUrl:F.value,isHardenUrl:I.value,linkOptions:E.value,hasLoadingNode:e=>w.markdownParser.hasLoadingNode(e)})),R=i(()=>D.value?.errorComponent??T.value.ErrorComponent);async function z(){return await _(F.value??``,E.value)}async function B(e){if(F.value){if(e.preventDefault(),await z()){y(F.value);return}k.value=!0}}function V(){F.value&&y(F.value),U()}async function H(){F.value&&A(F.value)}function U(){k.value=!1}return(e,t)=>(d(),o(`span`,x,[L.value.showLink?(d(),o(`a`,{key:0,"data-stream-markdown":`link`,"data-stream-markdown-loading":P.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:B},[c(r,u(w,{"parent-node":l.node,nodes:l.node.children,deep:l.deep+1}),null,16,[`parent-node`,`nodes`,`deep`])],8,S)):(d(),a(p(R.value),{key:1,variant:L.value.errorVariant},{default:g(()=>[c(r,u(w,{"parent-node":l.node,nodes:l.node.children,deep:l.deep+1}),null,16,[`parent-node`,`nodes`,`deep`])]),_:1},8,[`variant`])),(d(),a(p(h(T).Alert),{open:k.value,"onUpdate:open":t[0]||=e=>k.value=e,title:h(O)(`link.title`),description:`${h(O)(`link.description`)}`,icon:`externalLink`,onConfirm:V},{footer:g(()=>[(d(),a(p(h(T).Button),{variant:`text`,name:h(j)?h(O)(`button.copied`):h(O)(`link.copy`),icon:h(j)?`check`:`copy`,"icon-height":16,"icon-width":16,onClick:H},null,8,[`name`,`icon`])),(d(),a(p(h(T).Button),{"data-stream-markdown":`open-link-button`,variant:`text`,name:h(O)(`link.open`),icon:`externalLink`,"icon-height":16,"icon-width":16,onClick:V},null,8,[`name`]))]),default:g(()=>[s(`code`,C,m(h(F)),1)]),_:1},40,[`open`,`title`,`description`]))]))}});export{w as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./node-list-
|
|
1
|
+
import{t as e}from"./node-list-Bz98kLRm.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";import{createListModel as u}from"@stream-markdown/core";var d=i({__name:`list`,props:{markdownParser:{type:Object,required:!0},nodeRenderers:{type:null,required:!0},blockIndex:{type:Number,required:!1},node:{type:null,required:!0},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},hideCaret:{type:Boolean,required:!1},blocks:{type:Array,required:!1}},setup(i){let d=i,f=t(()=>u(d.node)),p=t(()=>f.value.tag),m=t(()=>f.value.id);return(t,u)=>(s(),n(c(p.value),{"data-stream-markdown":m.value,class:o([`leading-6 pl-5 whitespace-normal`,{"list-decimal":m.value===`ordered-list`,"list-disc":m.value!==`ordered-list`}])},{default:l(()=>[r(e,a(d,{"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{d as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./node-list-
|
|
1
|
+
import{t as e}from"./node-list-Bz98kLRm.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";import{createListItemModel as l}from"@stream-markdown/core";const u={"data-stream-markdown":`list-item`,class:`py-1 pl-1 [&_p]:m-0`},d={key:0,"data-stream-markdown":`task-list-item`,class:`[&_p]:inline-block`},f=[`checked`];var p=o({__name:`list-item`,props:{markdownParser:{type:Object,required:!0},nodeRenderers:{type:null,required:!0},blockIndex:{type:Number,required:!1},node:{type:null,required:!0},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},hideCaret:{type:Boolean,required:!1},blocks:{type:Array,required:!1}},setup(o){let p=o,m=t(()=>l(p.node)),h=t(()=>m.value.isTaskListItem),g=t(()=>m.value.checked);return(t,l)=>(c(),r(`li`,u,[h.value?(c(),r(`p`,d,[i(`input`,{"data-stream-markdown":`task-list-item-checkbox`,class:`mr-2 align-middle`,type:`checkbox`,checked:g.value,disabled:``},null,8,f),a(e,s(p,{"parent-node":o.node,nodes:o.node.children,deep:o.deep+1}),null,16,[`parent-node`,`nodes`,`deep`])])):(c(),n(e,s({key:1},p,{"parent-node":o.node,nodes:o.node.children,deep:o.deep+1}),null,16,[`parent-node`,`nodes`,`deep`]))]))}});export{p as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as e,c as t}from"./composables-
|
|
1
|
+
import{b as e,c as t}from"./composables-CNN6iaxK.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:{markdownParser:{type:Object,required:!0},nodeRenderers:{type:null,required:!0},blockIndex:{type:Number,required:!1},node:{type:null,required:!0},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},hideCaret:{type:Boolean,required:!1},blocks:{type:Array,required:!1},throttle:{type:Number,required:!1,default:300}},setup(a){let d=a,{cdnOptions:f,katexOptions:p,uiComponents:m}=e(),{node:h,throttle:g}=c(d),{html:_,error:v,errorMessage:y}=t({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{_ as e,b as t,l as n,o as r,y as i}from"./composables-
|
|
1
|
+
import{_ as e,b as t,l as n,o as r,y as i}from"./composables-CNN6iaxK.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{applyMermaidRenderResult as S,createMermaidPreviewControllerState as C,createMermaidPreviewModel as w,measureSvgContainerHeight as T,setMermaidMeasuredHeight as E,shouldEagerRenderMermaidAfterLoading as D,startMermaidRenderAttempt as ee}from"@stream-markdown/core";import{useResizeObserver as te}from"@vueuse/core";const O=[`innerHTML`];var k=d({__name:`mermaid`,props:{markdownParser:{type:Object,required:!0},nodeRenderers:{type:null,required:!0},blockIndex:{type:Number,required:!1},node:{type:null,required:!0},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},hideCaret:{type:Boolean,required:!1},blocks:{type:Array,required:!1},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 k=d,{cdnOptions:A,controls:j,mermaidOptions:M,shikiOptions:N,isDark:P,uiComponents:F}=t(),{resolveControls:I}=i({controls:j}),L=g(C()),R=g(),z=o(()=>!!k.node.loading),B=o(()=>M.value?.errorComponent??F.value.ErrorComponent),V=o(()=>w({code:k.node.value,nodeLoading:z.value,svg:L.value.svg,renderFlag:L.value.renderFlag,minHeight:k.minHeight,containerHeight:k.containerHeight,measuredHeight:L.value.measuredHeight,controls:j.value})),H=o(()=>V.value.code),U=o(()=>L.value.svg),W=o(()=>L.value.error),G=o(()=>V.value.loading),K=o(()=>V.value.showControl),q=o(()=>V.value.controlPosition),J=o(()=>V.value.height),{shouldRender:Y}=e({targetRef:R,immediate:k.immediateRender}),{renderMermaid:X}=r({mermaidOptions:M,cdnOptions:A,shikiOptions:N,isDark:P});function Z(){if(k.containerHeight||!R.value)return;let e=T(R.value);e&&(L.value=E(L.value,e))}let Q=n(k.throttle,async()=>{if(!Y.value)return;let e=await X(H.value);L.value=S(L.value,e),e.valid&&p(()=>{Z()})});function $(){L.value=ee(L.value),Q()}let ne=o(()=>I(`mermaid`,[],k));return b(()=>[H.value,M.value,P.value,z.value],Q,{immediate:!0}),b(G,(e,t)=>{D(L.value,e,t)&&$()},{immediate:!0}),b(Y,(e,t)=>{e&&!t&&$()}),k.containerHeight||te(R,()=>{Z()}),(e,t)=>(h(),l(`div`,{ref_key:`containerRef`,ref:R,"data-stream-markdown":`mermaid-previewer`,class:`text-center`,style:m({minHeight:`${d.minHeight}px`,height:J.value})},[U.value?c(`v-if`,!0):(h(),l(a,{key:0},[G.value?(h(),s(v(y(F).Spin),{key:0,size:`large`})):(h(),s(v(B.value),{key:1,class:`p-4`,variant:`mermaid`,message:W.value,"show-icon":!1},null,8,[`message`]))],64)),(h(),s(v(y(F).ZoomContainer),{"show-control":K.value,position:q.value,interactive:d.interactive},{controls:x(e=>[(h(!0),l(a,null,_(ne.value,t=>(h(),s(v(y(F).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:U.value},null,8,O)]),_:1},8,[`show-control`,`position`,`interactive`]))],4))}});export{k as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./rolldown-runtime-BbypZo7q.js";import{b as t}from"./composables-
|
|
1
|
+
import{t as e}from"./rolldown-runtime-BbypZo7q.js";import{b as t}from"./composables-CNN6iaxK.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,withCtx as d}from"vue";import{createNodeListModel as f}from"@stream-markdown/core";var p=s({inheritAttrs:!1,__name:`node-list`,props:{markdownParser:{type:Object,required:!1},nodeRenderers:{type:null,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},hideCaret:{type:Boolean,required:!1},blocks:{type:Array,required:!1}},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(()=>f({nodes:s.nodes,blocks:h.value,blockIndex:s.blockIndex,deep:s.deep,nodeKey:s.nodeKey,nodeRenderers:v.value,enableAnimate:p.value,animation:m.value})),x=i(()=>b.value.items),S=i(()=>b.value.transitionName);return(t,i)=>(c(!0),o(n,null,l(x.value,t=>(c(),o(n,{key:t.key},[t.shouldTransition?(c(),a(r,{key:0,name:S.value,appear:``},{default:d(()=>[(c(),a(u(t.renderer),{"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,"hide-caret":e.hideCaret},null,8,[`markdown-parser`,`node-renderers`,`deep`,`node`,`parent-node`,`prev-node`,`next-node`,`node-key`,`hide-caret`]))]),_:2},1032,[`name`])):(c(),a(u(t.renderer),{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,"hide-caret":e.hideCaret},null,8,[`markdown-parser`,`node-renderers`,`deep`,`node`,`parent-node`,`prev-node`,`next-node`,`node-key`,`hide-caret`]))],64))),128))}}),m=e({default:()=>h}),h=p;export{m as n,h as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./node-list-
|
|
1
|
+
import{t as e}from"./node-list-Bz98kLRm.js";import{computed as t,createElementBlock as n,createVNode as r,defineComponent as i,mergeProps as a,normalizeStyle as o,openBlock as s}from"vue";import{createParagraphModel as c}from"@stream-markdown/core";var l=i({__name:`paragraph`,props:{markdownParser:{type:Object,required:!0},nodeRenderers:{type:null,required:!0},blockIndex:{type:Number,required:!1},node:{type:null,required:!0},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},hideCaret:{type:Boolean,required:!1},blocks:{type:Array,required:!1}},setup(i){let l=i,u=t(()=>c(l)),d=t(()=>u.value.marginBottom),f=t(()=>u.value.lineHeight);return(t,c)=>(s(),n(`p`,{"data-stream-markdown":`paragraph`,class:`my-4 align-middle transition-[height] duration-[var(--default-transition-duration)] ease`,style:o({marginBottom:d.value,lineHeight:f.value})},[r(e,a(l,{"parent-node":i.node,nodes:i.node.children,deep:i.deep+1}),null,16,[`parent-node`,`nodes`,`deep`])],4))}});export{l as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./rolldown-runtime-BbypZo7q.js";import{b as t}from"./composables-
|
|
1
|
+
import{t as e}from"./rolldown-runtime-BbypZo7q.js";import{b as t}from"./composables-CNN6iaxK.js";import{Fragment as n,computed as r,createBlock as i,createElementBlock as a,defineComponent as o,mergeModels as s,openBlock as c,renderList as l,resolveDynamicComponent as u,unref as d,useModel as f}from"vue";import{createSegmentedModel as p}from"@stream-markdown/core";const m={"data-stream-markdown":`segmented`,class:`p-0.5 rounded-md flex gap-1 items-center`};var h=o({__name:`segmented`,props:s({options:{type:Array,required:!1,default:()=>[]},buttonStyle:{type:null,required:!1,default:()=>({})},value:{type:String,required:!1}},{value:{type:String,required:!1,default:``},valueModifiers:{}}),emits:s([`change`],[`update:value`]),setup(e,{emit:o}){let s=e,h=o,{uiComponents:g}=t(),_=f(e,`value`);s.options.length&&!_.value&&(_.value=String(s.options[0].value));let v=r(()=>p({options:s.options,value:_.value,buttonStyle:s.buttonStyle}));function y(e){return v.value.isActive(e)}function b(e){return v.value.getButtonStyle(e)}function x(e){_.value=String(e.value),h(`change`,_.value)}return(t,r)=>(c(),a(`div`,m,[(c(!0),a(n,null,l(e.options,e=>(c(),i(u(d(g).Button),{key:e.value,variant:`text`,icon:e.icon,name:e.label,"button-style":b(e),"data-active":y(e),onClick:()=>x(e)},null,8,[`icon`,`name`,`button-style`,`data-active`,`onClick`]))),128))]))}}),g=e({default:()=>_}),_=h;export{g as n,_ as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{S as e,b as t,i as n}from"./composables-
|
|
1
|
+
import{S as e,b as t,i as n}from"./composables-CNN6iaxK.js";import{t as r}from"./vanilla-renderer-uGthypEI.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{createCodeRendererModel as _}from"@stream-markdown/core";import{useResizeObserver as v}from"@vueuse/core";var y=u({__name:`shiki`,props:{markdownParser:{type:Object,required:!0},nodeRenderers:{type:null,required:!0},blockIndex:{type:Number,required:!1},node:{type:null,required:!0},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},hideCaret:{type:Boolean,required:!1},blocks:{type:Array,required:!1}},setup(u){let y=u,{cdnOptions:b,codeOptions:x,isDark:S,shikiOptions:C}=t(),w=l(()=>import(`./shiki-token-renderer-D4NfVK0C.js`)),T=a(()=>_(y.node)),E=a(()=>T.value.code),D=a(()=>T.value.lang),{showLineNumbers:O}=e({codeOptions:x,language:D}),{getShiki:k,codeToTokens:A}=n({cdnOptions:b,lang:D,shikiOptions:C,isDark:S}),j=p(),M=p(),N=p(),P=a(()=>M.value?.$el),F=v(P,()=>{N.value=P.value?.clientHeight});return h(()=>[E.value,C.value,S.value],async()=>{j.value=await A(E.value),F.stop()},{immediate:!0}),(e,t)=>(f(),o(i,{name:`stream-markdown-code-switch`,mode:`out-in`},{default:g(()=>[j.value?(f(),s(`div`,{key:0,"data-stream-markdown":`shiki`,style:d({minHeight:N.value?`${N.value}px`:void 0})},[c(m(w),{"data-stream-markdown":`code`,"data-show-line-numbers":m(O),"show-line-numbers":m(O),tokens:j.value,"get-shiki":m(k)},null,8,[`data-show-line-numbers`,`show-line-numbers`,`tokens`,`get-shiki`])],4)):(f(),o(r,{key:1,ref_key:`vanillaRef`,ref:M,node:u.node},null,8,[`node`]))]),_:1}))}});export{y as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./node-list-
|
|
1
|
+
import{t as e}from"./node-list-Bz98kLRm.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:{markdownParser:{type:Object,required:!0},nodeRenderers:{type:null,required:!0},blockIndex:{type:Number,required:!1},node:{type:null,required:!0},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},hideCaret:{type:Boolean,required:!1},blocks:{type:Array,required:!1}},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 +1 @@
|
|
|
1
|
-
import{b as e,f as t,y as n}from"./composables-
|
|
1
|
+
import{b as e,f as t,y as n}from"./composables-CNN6iaxK.js";import{t as r}from"./node-list-Bz98kLRm.js";import{Fragment as i,computed as a,createBlock as o,createCommentVNode as s,createElementBlock as c,createElementVNode as l,createVNode as u,defineComponent as d,mergeProps as f,openBlock as p,ref as m,renderList as h,resolveDynamicComponent as g,unref as _,withCtx as v,withModifiers as ee}from"vue";import{createTableControlDescriptors as y,createTableModel as b,extractTableDataFromElement as x,getTableContent as te,handleTableControlAction as S,save as C}from"@stream-markdown/core";import{useClipboard as w,useClipboardItems as T}from"@vueuse/core";const ne={"data-stream-markdown":`table-wrapper`,class:`my-4 flex flex-col gap-2 items-center`},re={key:0,"data-stream-markdown":`table-controls`,class:`flex gap-1 w-full items-center justify-end`},ie={"data-stream-markdown":`table-inner-wrapper`,class:`w-full overflow-x-auto`},ae={key:1,class:`flex justify-center`},oe={"data-stream-markdown":`table-controls`,class:`flex gap-1 items-center`};var E=d({__name:`table`,props:{markdownParser:{type:Object,required:!0},nodeRenderers:{type:null,required:!0},blockIndex:{type:Number,required:!1},node:{type:null,required:!0},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},hideCaret:{type:Boolean,required:!1},blocks:{type:Array,required:!1}},setup(d){let E=d,{beforeDownload:D,controls:O,onCopied:k,uiComponents:A}=e(),{t:j}=t(),{copy:M,copied:N}=w({legacy:!0}),{copy:P,copied:F,isSupported:I}=T(),L=a(()=>N.value||F.value),{isControlEnabled:R,resolveControls:z}=n({controls:O}),B=a(()=>R(`table.copy`)),V=a(()=>R(`table.download`)),H=a(()=>R(`table.fullscreen`)),U=m(),W=m(),G=m(!1),K=a(()=>b({node:E.node,hasLoadingNode:e=>E.markdownParser.hasLoadingNode(e)})),q=a(()=>K.value.headerCells),J=a(()=>K.value.bodyRows),se=a(()=>K.value.loading),ce=a(()=>K.value.options);function Y(e){return K.value.getAlign(e)}function X(){return(G.value?W.value:U.value)?.$el??U.value?.$el??W.value?.$el}function Z(e){let t=X();return t?te(e,x(t)):null}async function le(e){let t=X();if(!t||!I.value||typeof ClipboardItem>`u`){await M(e);return}try{await P([new ClipboardItem({"text/plain":new Blob([e],{type:`text/plain`}),"text/html":new Blob([t.outerHTML],{type:`text/html`})})])}catch{await M(e)}}let ue=a(()=>y({copied:L.value,fullscreen:G.value,showCopy:B.value,showDownload:V.value,showFullscreen:H.value,options:ce.value}).map(e=>({...e,name:j(e.labelKey??``),onClick:(t,n)=>fe(e.key,n),visible:()=>e.visible??!0}))),Q=a(()=>z(`table`,ue.value,E)),de=a(()=>Q.value.length>0);function $(e){return K.value.getNodes(e)}async function fe(e,t){G.value=(await S({key:e,select:t,state:{fullscreen:G.value},getContent:Z,beforeDownload:D,copyContent:le,onCopied:k,saveFile:C})).fullscreen}return(e,t)=>(p(),c(`div`,ne,[de.value?(p(),c(`div`,re,[(p(!0),c(i,null,h(Q.value,e=>(p(),o(g(_(A).Button),f({ref_for:!0},e,{key:e.key,onClick:e.onClick}),null,16,[`onClick`]))),128))])):s(`v-if`,!0),l(`div`,ie,[(p(),o(g(_(A).Table),{ref_key:`tableRef`,ref:U,headers:q.value,rows:J.value,"get-align":Y},{"header-cell":v(({cell:e})=>[u(r,f(E,{"parent-node":d.node,nodes:$(e),deep:d.deep+1,"hide-caret":``}),null,16,[`parent-node`,`nodes`,`deep`])]),"body-cell":v(({cell:e})=>[u(r,f(E,{"parent-node":d.node,nodes:$(e),deep:d.deep+1,"hide-caret":``}),null,16,[`parent-node`,`nodes`,`deep`])]),_:1},8,[`headers`,`rows`]))]),se.value?(p(),c(`div`,ae,[(p(),o(g(_(A).Spin)))])):s(`v-if`,!0),(p(),o(g(_(A).Modal),{open:G.value,"onUpdate:open":t[1]||=e=>G.value=e,"header-style":{backgroundColor:`color-mix(in oklab, var(--muted) 80%, transparent)`,color:`var(--muted-foreground)`,borderBottom:`1px solid var(--border)`}},{title:v(()=>[...t[2]||=[l(`div`,null,null,-1)]]),actions:v(()=>[l(`div`,oe,[(p(!0),c(i,null,h(Q.value,e=>(p(),o(g(_(A).Button),f({ref_for:!0},e,{key:e.key,onClick:e.onClick}),null,16,[`onClick`]))),128))])]),default:v(()=>[l(`div`,{"data-stream-markdown":`table-fullscreen`,class:`p-4 h-full overflow-auto [&_thead]:top-0 [&_thead]:sticky [&_thead]:z-10`,onClick:t[0]||=ee(e=>G.value=!1,[`self`])},[(p(),o(g(_(A).Table),{ref_key:`fullscreenTableRef`,ref:W,headers:q.value,rows:J.value,"get-align":Y},{"header-cell":v(({cell:e})=>[u(r,f(E,{"parent-node":d.node,nodes:$(e),deep:d.deep+1,"hide-caret":``}),null,16,[`parent-node`,`nodes`,`deep`])]),"body-cell":v(({cell:e})=>[u(r,f(E,{"parent-node":d.node,nodes:$(e),deep:d.deep+1,"hide-caret":``}),null,16,[`parent-node`,`nodes`,`deep`])]),_:1},8,[`headers`,`rows`]))])]),_:1},40,[`open`]))]))}});export{E as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as e}from"./composables-
|
|
1
|
+
import{b as e}from"./composables-CNN6iaxK.js";import{t}from"./caret-D6Fn0wlr.js";import{Fragment as n,TransitionGroup as r,computed as i,createBlock as a,createCommentVNode as o,createElementBlock as s,createTextVNode as c,defineComponent as l,normalizeClass as u,openBlock as d,renderList as f,toDisplayString as p,withCtx as m}from"vue";import{createTextModel as h}from"@stream-markdown/core";const g=[`data-stream-markdown`],_={key:1,"data-stream-markdown":`text`,class:`whitespace-pre-wrap break-words`};var v=l({inheritAttrs:!1,__name:`text`,props:{markdownParser:{type:Object,required:!0},nodeRenderers:{type:null,required:!0},blockIndex:{type:Number,required:!1},node:{type:null,required:!0},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},hideCaret:{type:Boolean,required:!1},blocks:{type:Array,required:!1}},setup(l){let v=l,{enableAnimate:y,animation:b,animationSplit:x}=e(),S=i(()=>h({node:v.node,nodeKey:v.nodeKey,enableAnimate:y.value,animation:b.value,animationSplit:x.value,hideCaret:v.hideCaret})),C=i(()=>S.value.showCaret),w=i(()=>S.value.shouldAnimate),T=i(()=>S.value.transitionName),E=i(()=>S.value.parts);return(e,i)=>w.value?(d(),a(r,{key:0,name:T.value,tag:`span`,"data-stream-markdown":`text`,class:`whitespace-pre-wrap break-words`},{default:m(()=>[(d(!0),s(n,null,f(E.value,e=>(d(),s(`span`,{key:e.key,"data-stream-markdown":e.whitespace?`text-space`:`text-${e.animationSplit}`,class:u(e.whitespace?``:`inline-block max-w-full whitespace-pre-wrap break-words`)},p(e.value),11,g))),128)),C.value?(d(),a(t,{key:`stream-markdown-caret`})):o(`v-if`,!0)]),_:1},8,[`name`])):(d(),s(`span`,_,[c(p(l.node.value),1),C.value?(d(),a(t,{key:0})):o(`v-if`,!0)]))}});export{v as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as e,g as t}from"./composables-
|
|
1
|
+
import{b as e,g as t}from"./composables-CNN6iaxK.js";import{Fragment as n,Teleport as r,createBlock as i,createCommentVNode as a,createElementBlock as o,createElementVNode as s,defineComponent as c,mergeProps as l,normalizeStyle as u,openBlock as d,renderSlot as f,toDisplayString as p,toRefs as m,unref as h}from"vue";import{getOverlayContainer as g}from"@stream-markdown/core";const _={"data-stream-markdown":`tooltip-overlay`,class:`text-sm px-2 py-1`};var v=c({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(c,{expose:v}){let{placement:y,delay:b,trigger:x}=m(c),{hideTooltip:S}=e(),{referenceEl:C,floatingEl:w,open:T,appendTo:E,floatingStyle:D,show:O,hide:k,onMouseEnter:A,onMouseLeave:j,onClick:M,onFloatingEnter:N,onFloatingLeave:P}=t({hideTooltip:S,placement:y,delay:b,trigger:x,getContainer:()=>g()});return v({show:O,hide:k}),(e,t)=>(d(),o(n,null,[s(`span`,l(e.$attrs,{ref_key:`_referenceEl`,ref:C,onMouseenter:t[0]||=(...e)=>h(A)&&h(A)(...e),onMouseleave:t[1]||=(...e)=>h(j)&&h(j)(...e),onClick:t[2]||=(...e)=>h(M)&&h(M)(...e)}),[f(e.$slots,`default`)],16),h(E)?(d(),i(r,{key:0,to:h(E)},[h(T)?(d(),o(`div`,{key:0,ref_key:`_floatingEl`,ref:w,style:u(h(D)),"data-stream-markdown":`tooltip`,class:`text-popover-foreground border border-border rounded-lg bg-popover z-[10000]`,onMouseenter:t[3]||=(...e)=>h(N)&&h(N)(...e),onMouseleave:t[4]||=(...e)=>h(P)&&h(P)(...e)},[f(e.$slots,`content`,{},()=>[s(`pre`,_,p(c.content),1)])],36)):a(`v-if`,!0)],8,[`to`])):a(`v-if`,!0)],64))}});export{v as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./vanilla-renderer-
|
|
1
|
+
import{t as e}from"./vanilla-renderer-uGthypEI.js";import{createBlock as t,defineComponent as n,openBlock as r}from"vue";var i=n({__name:`vanilla`,props:{markdownParser:{type:Object,required:!0},nodeRenderers:{type:null,required:!0},blockIndex:{type:Number,required:!1},node:{type:null,required:!0},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},hideCaret:{type:Boolean,required:!1},blocks:{type:Array,required:!1}},setup(n){let i=n;return(n,a)=>(r(),t(e,{node:i.node},null,8,[`node`]))}});export{i as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{S as e,b as t}from"./composables-
|
|
1
|
+
import{S as e,b as t}from"./composables-CNN6iaxK.js";import{computed as n,defineComponent as r,h as i,renderList as a}from"vue";import{createCodeRendererModel as o}from"@stream-markdown/core";var s=r({name:`VanillaRenderer`,props:{node:{type:Object,required:!0}},setup(r){let{codeOptions:s}=t(),c=n(()=>o(r.node)),l=n(()=>c.value.lang),{showLineNumbers:u}=e({codeOptions:s,language:l}),d=n(()=>c.value.lines);return()=>i(`pre`,{"data-stream-markdown":`code`,"data-show-line-numbers":u.value,"data-lang":l.value,class:`text-sm font-mono p-4 [counter-reset:line]`},i(`code`,{translate:`no`,class:`text-sm font-mono`},a(d.value,(e,t)=>i(`div`,{"data-stream-markdown":`code-line`,class:u.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{s as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as e}from"./composables-
|
|
1
|
+
import{b as e}from"./composables-CNN6iaxK.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";import{createYamlTableModel as d}from"@stream-markdown/core";const f={"data-stream-markdown":`yaml`,class:`w-full overflow-x-auto`};var p=a({__name:`yaml`,props:{markdownParser:{type:Object,required:!0},nodeRenderers:{type:null,required:!0},blockIndex:{type:Number,required:!1},node:{type:null,required:!0},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},hideCaret:{type:Boolean,required:!1},blocks:{type:Array,required:!1}},setup(a){let p=a,{uiComponents:m}=e(),h=t(()=>d(p.node)),g=t(()=>h.value.headers),_=t(()=>h.value.rows);return(e,t)=>(o(),r(`div`,f,[(o(),n(s(l(m).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{p as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as e,f as t,t as n}from"./composables-
|
|
1
|
+
import{b as e,f as t,t as n}from"./composables-CNN6iaxK.js";import{Fragment as r,computed as i,createBlock as a,createCommentVNode as o,createElementBlock as s,createElementVNode as c,defineComponent as l,guardReactiveProps as u,mergeProps as d,normalizeProps as f,normalizeStyle as p,openBlock as m,ref as h,renderList as g,renderSlot as _,resolveDynamicComponent as v,unref as y,withModifiers as b}from"vue";import{createZoomContainerModel as x}from"@stream-markdown/core";const S={"data-stream-markdown":`zoom-inner`,class:`flex size-full items-center justify-center`};var C=l({__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(l){let C=l,{uiComponents:w}=e(),T=h(),{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=i(()=>x({zoom:D.value,position:C.position,controlSize:C.controlSize})),H=i(()=>V.value.controlsPosition),U=i(()=>V.value.controlButtonProps),W=i(()=>V.value.controls.map(e=>{let{visible:t,...n}=e;return{...n,name:e.label??E(e.labelKey??``),onClick:(t,n)=>{e.key===`zoomIn`?A():e.key===`zoomOut`?j():e.key===`updateZoom`&&G(n)}}}));function G(e){let t=e?.value||100;t===100?M():N(Number(t)/100)}function K(e){T.value&&L(e,T.value)}function q(e){C.interactive&&(e.preventDefault(),P(e))}function J(e){C.interactive&&(e.preventDefault(),F(e))}function Y(e){C.interactive&&(e.preventDefault(),I())}function X(e){C.interactive&&T.value&&R(e,T.value)}function Z(e){C.interactive&&T.value&&z(e,T.value)}function Q(e){C.interactive&&B(e)}return(e,t)=>(m(),s(`div`,{ref_key:`containerRef`,ref:T,"data-stream-markdown":`zoom-container`,class:`h-full relative overflow-hidden`,style:p({touchAction:l.interactive?`none`:`auto`}),onWheel:K,onTouchstart:X,onTouchmove:Z,onTouchend:Q,onPointerdown:q,onPointermove:J,onPointerup:Y,onPointercancel:Y,onPointerleave:Y},[l.showControl&&l.interactive?(m(),s(`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:p(H.value),onClick:t[0]||=b(()=>{},[`stop`])},[_(e.$slots,`controls`,f(u(U.value))),(m(!0),s(r,null,g(W.value,e=>(m(),a(v(y(w).Button),d({ref_for:!0},e,{key:e.key,onClick:e.onClick}),null,16,[`onClick`]))),128))],4)):o(`v-if`,!0),c(`div`,S,[c(`div`,{"data-stream-markdown":`zoom-transform-container`,class:`shrink-0 w-full`,style:p({...y(k),...l.containerStyle,cursor:y(O)?`grabbing`:`grab`}),onClick:t[1]||=b(()=>{},[`stop`])},[_(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": "1.0.0-beta.
|
|
4
|
+
"version": "1.0.0-beta.5",
|
|
5
5
|
"description": "Streaming markdown output, Useful for text streams like LLM outputs.",
|
|
6
6
|
"author": "jinghaihan",
|
|
7
7
|
"license": "MIT",
|
|
@@ -60,12 +60,12 @@
|
|
|
60
60
|
"dependencies": {
|
|
61
61
|
"@floating-ui/dom": "^1.7.6",
|
|
62
62
|
"@vueuse/core": "^14.3.0",
|
|
63
|
-
"@markmend/ast": "1.0.0-beta.
|
|
64
|
-
"@stream-markdown/code": "1.0.0-beta.
|
|
65
|
-
"@markmend/core": "1.0.0-beta.
|
|
66
|
-
"@stream-markdown/core": "1.0.0-beta.
|
|
67
|
-
"@stream-markdown/math": "1.0.0-beta.
|
|
68
|
-
"@stream-markdown/mermaid": "1.0.0-beta.
|
|
63
|
+
"@markmend/ast": "1.0.0-beta.5",
|
|
64
|
+
"@stream-markdown/code": "1.0.0-beta.5",
|
|
65
|
+
"@markmend/core": "1.0.0-beta.5",
|
|
66
|
+
"@stream-markdown/core": "1.0.0-beta.5",
|
|
67
|
+
"@stream-markdown/math": "1.0.0-beta.5",
|
|
68
|
+
"@stream-markdown/mermaid": "1.0.0-beta.5"
|
|
69
69
|
},
|
|
70
70
|
"devDependencies": {
|
|
71
71
|
"@antfu/utils": "^9.3.0",
|
package/dist/html-Ay9aR_nj.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{computed as e,createElementBlock as t,createElementVNode as n,defineComponent as r,normalizeStyle as i,openBlock as a,ref as o}from"vue";import{createHtmlPreviewModel as s,getIframeBodyHeight as c}from"@stream-markdown/core";const l=[`srcdoc`];var u=r({__name:`html`,props:{markdownParser:{type:Object,required:!0},nodeRenderers:{type:null,required:!0},blockIndex:{type:Number,required:!1},node:{type:null,required:!0},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},hideCaret:{type:Boolean,required:!1},blocks:{type:Array,required:!1}},setup(r){let u=r,d=o(),f=o(0),p=e(()=>s(u.node)),m=e(()=>p.value.code);function h(){f.value=c(d.value)}return(e,r)=>(a(),t(`div`,{class:`html-previewer`,style:i({height:`${f.value}px`})},[n(`iframe`,{ref_key:`iframeRef`,ref:d,"data-stream-markdown":`html-previewer`,class:`size-full`,srcdoc:m.value,sandbox:`allow-scripts allow-same-origin`,frameborder:0,onLoad:h},null,40,l)],4))}});export{u as default};
|
package/dist/image-CDT0r5jO.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{b as e,f as t,s as n,y as ee}from"./composables-B4s4AMLG.js";import{Fragment as r,computed as i,createBlock as a,createElementBlock as o,createElementVNode as s,defineComponent as c,mergeProps as l,normalizeStyle as u,openBlock as d,ref as f,renderList as te,resolveDynamicComponent as p,toRefs as m,unref as h,watch as g,withCtx as _}from"vue";import{createImagePreviewModel as v,createImagePreviewSources as y,flipImagePreviewHorizontal as b,flipImagePreviewVertical as x,resetImagePreviewTransformState as S,rotateImagePreviewLeft as C,rotateImagePreviewRight as w}from"@stream-markdown/core";import{useCycleList as T}from"@vueuse/core";const ne=[`src`,`alt`,`title`],re=[`src`,`alt`,`title`];var E=c({__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:null,required:!1,default:!0},transformHardenUrl:{type:Function,required:!1},nodeProps:{type:Object,required:!0},handleDownload:{type:Function,required:!1}},emits:[`load`,`error`],setup(c,{emit:E}){let D=c,O=E,{icons:k,parsedNodes:A,uiComponents:j}=e(),{margin:M,controls:N}=m(D),{t:P}=t(),{resolveControls:F}=ee({controls:N}),I=f(!1),L=f(!1),R=f(1),z=f(1),B=f(0),V=i(()=>({scaleX:R.value,scaleY:z.value,rotate:B.value})),{isAnimating:H,elementRef:U,zoomElementRef:ie,elementStyle:W,zoomIn:G,zoomOut:K}=n({margin:M,open:()=>L.value=!0,close:()=>L.value=!1}),{state:q,prev:J,next:Y}=T(i(()=>y(A.value,D.transformHardenUrl)),{initialValue:D.src,fallbackIndex:0}),X=i(()=>v({parsedNodes:A.value,src:q.value,controls:N.value,transformHardenUrl:D.transformHardenUrl,hasDownload:!!D.handleDownload,preview:D.preview,loaded:I.value,hasElement:!!U.value,state:V.value,elementStyle:W.value,icons:{arrowRight:!!k.value.arrowRight,flipVertical:!!k.value.flipVertical,rotateRight:!!k.value.rotateRight}})),ae=i(()=>X.value.controlPosition),oe=i(()=>X.value.imageStyle),se=i(()=>X.value.controls.map(e=>({...e,name:P(e.labelKey??``),onClick:()=>he(e.key),visible:()=>e.visible??!0}))),ce=i(()=>F(`image`,se.value,D.nodeProps));function Z(e){I.value=!0,O(`load`,e)}function le(e){O(`error`,e)}function ue(){X.value.canOpen&&G()}function Q(){H.value||K()}function de(){$(b(V.value))}function fe(){$(x(V.value))}function pe(){$(C(V.value))}function me(){$(w(V.value))}function he(e){({download:()=>D.handleDownload?.(q.value),previous:J,next:Y,flipX:de,flipY:fe,rotateLeft:pe,rotateRight:me})[e]()}function $(e){R.value=e.scaleX,z.value=e.scaleY,B.value=e.rotate}return g(L,e=>{e||($(S()),D.src&&(q.value=D.src))}),(e,t)=>(d(),o(r,null,[s(`img`,{ref_key:`elementRef`,ref:U,"data-stream-markdown":`image`,class:`rounded-lg h-auto max-w-full block cursor-pointer object-contain`,src:c.src,alt:c.alt,title:c.title,style:{transition:`transform 300ms cubic-bezier(0.2, 0, 0.2, 1)`},loading:`lazy`,decoding:`async`,onLoad:Z,onError:le,onClick:ue},null,40,ne),(d(),a(p(h(j).Modal),{open:L.value,"onUpdate:open":t[0]||=e=>L.value=e,transition:``,"modal-style":{backgroundColor:`rgba(0, 0, 0, 0.45)`},close:Q},{default:_(()=>[(d(),a(p(h(j).ZoomContainer),{"control-size":`large`,position:ae.value,"container-style":{width:`auto`,maxWidth:`calc(100% - ${D.margin*2}px)`,cursor:`grab`},onClick:Q},{controls:_(e=>[(d(!0),o(r,null,te(ce.value,t=>(d(),a(p(h(j).Button),l({ref_for:!0},{...e,...t},{key:t.key,onClick:t.onClick}),null,16,[`onClick`]))),128))]),default:_(()=>[s(`img`,{ref_key:`_zoomElementRef`,ref:ie,src:h(q),alt:c.alt,title:c.title,style:u(oe.value)},null,12,re)]),_:1},8,[`position`,`container-style`]))]),_:1},40,[`open`]))],64))}});export{E as default};
|
package/dist/image-mKrLIUiV.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as e,b as t,f as n,y as r}from"./composables-B4s4AMLG.js";import{computed as i,createBlock as a,createCommentVNode as o,createElementBlock as s,createElementVNode as c,createTextVNode as l,defineComponent as u,normalizeStyle as d,openBlock as f,ref as p,resolveDynamicComponent as m,toDisplayString as h,unref as g,withCtx as _}from"vue";import{createImageModel as v,saveImage as y}from"@stream-markdown/core";const b={"data-stream-markdown":`image-wrapper`,class:`text-center relative`},x={key:0,"data-stream-markdown":`image-caption`,class:`text-sm text-center italic`};var S=u({__name:`image`,props:{markdownParser:{type:Object,required:!0},nodeRenderers:{type:null,required:!0},blockIndex:{type:Number,required:!1},node:{type:null,required:!0},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},hideCaret:{type:Boolean,required:!1},blocks:{type:Array,required:!1}},setup(u){let S=u,{beforeDownload:C,controls:w,hardenOptions:T,imageOptions:E,uiComponents:D}=t(),{t:O}=n(),{isControlEnabled:k}=r({controls:w}),A=p(),j=p(!1),M=p(!1),N=p(!1),P=i(()=>v({node:S.node,imageOptions:E.value,fallbackAttempted:N.value,imageLoaded:M.value})),F=i(()=>P.value.isLoading),I=i(()=>k(`image.download`)),L=i(()=>k(`image.preview`)),R=i(()=>P.value.fallback),z=i(()=>P.value.imageSrc),{transformedUrl:B,isHardenUrl:V,transformHardenUrl:H}=e({url:z,hardenOptions:T,loading:F,isImage:!0}),U=i(()=>v({node:S.node,imageOptions:E.value,fallbackAttempted:N.value,imageLoaded:M.value,isHardenUrl:V.value,loadError:j.value})),W=i(()=>U.value.alt),G=i(()=>U.value.title),K=i(()=>U.value.showCaption),q=i(()=>V.value?T.value?.errorComponent??D.value.ErrorComponent:E.value?.errorComponent??D.value.ErrorComponent);function J(){M.value=!0}function Y(){if(R.value&&!N.value){N.value=!0;return}j.value=!0}async function X(e=z.value){e&&await C({type:`image`,url:e})&&y(e,W.value)}function Z(){A.value&&(A.value.style.opacity=1)}function Q(){A.value&&(A.value.style.opacity=0)}return(e,t)=>(f(),s(`figure`,{"data-stream-markdown":`image-figure`,class:`inline-block`,style:d({width:U.value.figureWidth}),onMouseenter:Z,onMouseleave:Q},[c(`div`,b,[g(V)?o(`v-if`,!0):(f(),s(`div`,{key:0,ref_key:`maskRef`,ref:A,"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`},[!F.value&&I.value?(f(),a(m(g(D).Button),{key:0,"data-stream-markdown":`image-download-button`,class:`pointer-events-auto bottom-2 right-2 absolute`,icon:`download`,name:g(O)(`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]||=()=>X(z.value)},null,8,[`name`])):o(`v-if`,!0)],512)),U.value.showSpin?(f(),a(m(g(D).Spin),{key:1})):o(`v-if`,!0),U.value.showImage&&typeof g(B)==`string`?(f(),a(m(g(D).Image),{key:g(B),src:g(B),alt:W.value,title:G.value,preview:!N.value&&L.value,controls:g(w),"transform-harden-url":g(H),"node-props":S,"handle-download":X,onLoad:J,onError:Y},null,40,[`src`,`alt`,`title`,`preview`,`controls`,`transform-harden-url`])):U.value.showError?(f(),a(m(q.value),{key:3,variant:U.value.errorVariant},{default:_(()=>[l(h(G.value),1)]),_:1},8,[`variant`])):o(`v-if`,!0)]),K.value&&G.value?(f(),s(`figcaption`,x,h(G.value),1)):o(`v-if`,!0)],36))}});export{S as default};
|