vue-stream-markdown 0.7.2 → 1.0.0-beta.3
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/README.md +2 -1
- package/dist/alert-DHbpBICh.js +1 -0
- package/dist/blockquote-Dk9pl9M-.js +1 -0
- package/dist/break-D4unDZ1a.js +1 -0
- package/dist/button-3V7RytRY.js +1 -0
- package/dist/{caret-Cu9f_Zbh.js → caret-DLRIteNq.js} +1 -1
- package/dist/code-C5n_LUiO.js +1 -0
- package/dist/code-block-ylHd-i3G.js +1 -0
- package/dist/composables-B4s4AMLG.js +1 -0
- package/dist/css-D3D0yKD2.js +1 -0
- package/dist/delete-C-2OYbLk.js +1 -0
- package/dist/{dropdown-BoCOgZAM.js → dropdown-qgt-5VV-.js} +1 -1
- package/dist/emphasis-Cndk0lvQ.js +1 -0
- package/dist/error-component-Br6Jrd5L.js +1 -0
- package/dist/footnote-definition-RKPcMTPa.js +1 -0
- package/dist/footnote-reference-9NNRbsbz.js +1 -0
- package/dist/heading-BRG7H_kg.js +1 -0
- package/dist/html-Ay9aR_nj.js +1 -0
- package/dist/html-DgmNrDCm.js +1 -0
- package/dist/html.d.ts +12 -0
- package/dist/html.js +1 -0
- package/dist/html5-BkKcNeeK.js +1 -0
- package/dist/icon-D7i2b6RR.js +1 -0
- package/dist/image-CDT0r5jO.js +1 -0
- package/dist/image-mKrLIUiV.js +1 -0
- package/dist/index.css +1 -1
- package/dist/index.d.ts +100 -1543
- package/dist/index.js +1 -1
- package/dist/inline-code-DucIt6Dj.js +1 -0
- package/dist/inline-math-DNY0Ii3r.js +1 -0
- package/dist/javascript-BHfwccOF.js +1 -0
- package/dist/link-CwjpJ2q7.js +1 -0
- package/dist/list-item-DvsSAkN6.js +1 -0
- package/dist/list-sO27Nc-r.js +1 -0
- package/dist/markdown-i33glFcq.js +1 -0
- package/dist/math-BewUoHxs.js +1 -0
- package/dist/mermaid-CemiCIc1.js +1 -0
- package/dist/mermaid-J1W2_-sq.js +1 -0
- package/dist/modal-DA71YhaZ.js +1 -0
- package/dist/node-list-DQ3NLUeU.js +1 -0
- package/dist/paragraph-VwKkTVBg.js +1 -0
- package/dist/python-DoMVbSs_.js +1 -0
- package/dist/react-C2jtS2eA.js +1 -0
- package/dist/rust-C9GFCOeY.js +1 -0
- package/dist/segmented-B0MHjUhe.js +1 -0
- package/dist/shiki-BlE5OYGf.js +1 -0
- package/dist/strong-CQU1yStb.js +1 -0
- package/dist/table-DGV760uS.js +1 -0
- package/dist/text-BlLxaXdF.js +1 -0
- package/dist/thematic-break-D6d6s8v9.js +1 -0
- package/dist/tooltip-BQOZje-l.js +1 -0
- package/dist/typescript-Ce2pP0xK.js +1 -0
- package/dist/vanilla-CJIfUQS1.js +1 -0
- package/dist/vanilla-renderer-ByJcXmWB.js +1 -0
- package/dist/vuedotjs-B8qk0avD.js +1 -0
- package/dist/yaml-BhX_DdK-.js +1 -0
- package/dist/zoom-container-CYipPWJq.js +1 -0
- package/package.json +12 -8
- package/dist/alert-BtQDGT7N.js +0 -1
- package/dist/astro-aSBVHEHa.js +0 -1
- package/dist/bash-BTF1Ne15.js +0 -1
- package/dist/blockquote-BqyEnUiz.js +0 -1
- package/dist/break-3Fx5fl6A.js +0 -1
- package/dist/button-BIzMOX96.js +0 -1
- package/dist/c-BPW0_pOk.js +0 -1
- package/dist/code-BrY1d0Mq.js +0 -1
- package/dist/code-block-DkJs_5pP.js +0 -1
- package/dist/composables-CuMX6XD6.js +0 -2
- package/dist/cpp-J6s-ZBF6.js +0 -1
- package/dist/csharp-B4H1h4kB.js +0 -1
- package/dist/css-B6z9xceG.js +0 -1
- package/dist/csv-CbBXgjOG.js +0 -1
- package/dist/database-CACxdSqQ.js +0 -1
- package/dist/delete-WijGEVyp.js +0 -1
- package/dist/dist-NemZ_xNm.js +0 -1
- package/dist/emphasis-CI9mxBIa.js +0 -1
- package/dist/en-US-kZa1cIuB.js +0 -1
- package/dist/error-component-DrAUChdo.js +0 -1
- package/dist/footnote-definition-BCsECXP0.js +0 -1
- package/dist/footnote-reference-DnYBumxc.js +0 -1
- package/dist/go-Cyk4BQzF.js +0 -1
- package/dist/graphql-DpPfPfsT.js +0 -1
- package/dist/heading--ON69SNL.js +0 -1
- package/dist/html-B3U7q73-.js +0 -1
- package/dist/html-DlhJNKgs.js +0 -1
- package/dist/html-MC9V_Fto.js +0 -1
- package/dist/icon-CgP2lthy.js +0 -1
- package/dist/image-BxpzY1lh.js +0 -1
- package/dist/image-CHmXF34N.js +0 -5
- package/dist/inline-code-CR1fqviI.js +0 -1
- package/dist/inline-math-DPFQ0Szr.js +0 -1
- package/dist/java-DHOK7TQq.js +0 -1
- package/dist/javascript-BxFrrDQ8.js +0 -1
- package/dist/json-DtyhOLB7.js +0 -1
- package/dist/kotlin-1C5q_I09.js +0 -1
- package/dist/less-DIeftIgd.js +0 -1
- package/dist/link-BGjCOugM.js +0 -1
- package/dist/list-Cui5iA6M.js +0 -1
- package/dist/list-item-OOBJYRNo.js +0 -1
- package/dist/lua-CPNZDIVy.js +0 -1
- package/dist/luau-jkO7fBsq.js +0 -1
- package/dist/markdown-DWt95aI0.js +0 -1
- package/dist/math-oJWRU9wV.js +0 -1
- package/dist/mermaid-BdpOOzJJ.js +0 -1
- package/dist/mermaid-gBJZZSXZ.js +0 -1
- package/dist/modal-Ci_4DS_H.js +0 -1
- package/dist/node-list-DpApSbG4.js +0 -1
- package/dist/paragraph-ABx15dUk.js +0 -1
- package/dist/php-BqZA4Rty.js +0 -1
- package/dist/python-DuRpDTRc.js +0 -1
- package/dist/rust-B_cX_ED6.js +0 -1
- package/dist/sass-TXNz01yV.js +0 -1
- package/dist/segmented-DuG0Datn.js +0 -1
- package/dist/shiki-xQYDZK8R.js +0 -1
- package/dist/src-7d8hW45I.js +0 -7
- package/dist/strong-CO7dC0QI.js +0 -1
- package/dist/svelte-B8mYZTJ3.js +0 -1
- package/dist/swift-DCxX7g0M.js +0 -1
- package/dist/table-Da2-Ruz9.js +0 -1
- package/dist/text-DuQ_8fRF.js +0 -1
- package/dist/thematic-break-BCzuvTDm.js +0 -1
- package/dist/toml-BrOpt-Rx.js +0 -1
- package/dist/tooltip-C4fz5KRM.js +0 -1
- package/dist/typescript-BMATPCuy.js +0 -1
- package/dist/vanilla-DTvfUPwd.js +0 -1
- package/dist/vanilla-renderer-ClwK1kGm.js +0 -2
- package/dist/vue-1NqN8tLg.js +0 -1
- package/dist/xml-CuVoLhq2.js +0 -1
- package/dist/yaml-Ct3Hi1Mx.js +0 -1
- package/dist/yaml-D5ndW0Xc.js +0 -2
- package/dist/zh-CN-HSoPiiwS.js +0 -1
- package/dist/zoom-container-BeRLMBeA.js +0 -1
- /package/dist/{arrow-left-C8wGrTTw.js → arrow-left-CTs2KqQN.js} +0 -0
- /package/dist/{check-BiWHbrN_.js → check-cZ2U5OdE.js} +0 -0
- /package/dist/{chevron-down-BHrl3rGZ.js → chevron-down-DtB2MVNn.js} +0 -0
- /package/dist/{circle-alert-DdkxcZxA.js → circle-alert-CcSl8DqY.js} +0 -0
- /package/dist/{code-xml-l4P2xJRz.js → code-xml-gQc2y8sl.js} +0 -0
- /package/dist/{copy-BZwHjxqT.js → copy-DqYfdODZ.js} +0 -0
- /package/dist/{corner-down-left-dvvGBhPG.js → corner-down-left-puxUSnn5.js} +0 -0
- /package/dist/{download-7CglWXDd.js → download-CncPu93-.js} +0 -0
- /package/dist/{external-link-CO2ImDST.js → external-link-BprxAVhK.js} +0 -0
- /package/dist/{eye-CvAddOnw.js → eye-BP_OENm7.js} +0 -0
- /package/dist/{flip-horizontal-Ch1KcnQ1.js → flip-horizontal-AuosoDQq.js} +0 -0
- /package/dist/{image-BjZ0QmwS.js → image-CXal6uxq.js} +0 -0
- /package/dist/{link-BW6NWbMU.js → link-mEfEN3PN2.js} +0 -0
- /package/dist/{maximize-DxqOXY__.js → maximize-Tfc3IYVb.js} +0 -0
- /package/dist/{minimize-BuUXEQi7.js → minimize-CafSv34O.js} +0 -0
- /package/dist/{rotate-ccw-square-wrEg4eUo.js → rotate-ccw-square-BEfRTkA0.js} +0 -0
- /package/dist/{shiki-token-renderer-D2LHWo-W.js → shiki-token-renderer-D4NfVK0C.js} +0 -0
- /package/dist/{spin-uZ6bykcx.js → spin-CwR6HEjC.js} +0 -0
- /package/dist/{table-Bv0wvcgR.js → table-BNreCfO7.js} +0 -0
- /package/dist/{x-D_GUeI7c.js → x-cyEz8ycE.js} +0 -0
- /package/dist/{zoomIn-DbePaEoC.js → zoomIn-DCSVIJLh.js} +0 -0
- /package/dist/{zoomOut-BUKc5XwD.js → zoomOut-nkQbB_hz.js} +0 -0
package/README.md
CHANGED
|
@@ -22,6 +22,7 @@ A markdown renderer specially optimized for streaming scenarios, inspired by [st
|
|
|
22
22
|
- **Incremental rendering** - Leverages [Shiki](https://shiki.style/)'s `codeToTokens` API for token-level updates, reducing DOM recreation overhead
|
|
23
23
|
- **Progressive Mermaid rendering** - Throttled, streaming-friendly diagram rendering with loading states, supporting both vanilla Mermaid.js and beautiful-mermaid renderers with automatic fallback for unsupported diagram types
|
|
24
24
|
- **Streaming LaTeX rendering** - Progressive math equation rendering with KaTeX support
|
|
25
|
+
- **Optional HTML rendering** - Opt in with `@stream-markdown/html` and map safe custom tags to Vue components
|
|
25
26
|
- **Interactive controls** - Copy and download buttons for images, tables, and code blocks
|
|
26
27
|
- **Fully customizable** - Replace any AST node or UI component with your own Vue components
|
|
27
28
|
- **Theme-aware scoped styles** - Scoped styles under `.stream-markdown` with semantic `data-stream-markdown` attributes, following [shadcn/ui](https://ui.shadcn.com/) design system
|
|
@@ -63,7 +64,7 @@ const content = ref('# Hello World\n\nThis is a markdown content.')
|
|
|
63
64
|
I am grateful to the teams and builders who trust this library in their products:
|
|
64
65
|
|
|
65
66
|
- [AI Elements Vue](https://github.com/vuepont/ai-elements-vue)
|
|
66
|
-
- [ElevenLabs UI Vue](https://elevenlabs-ui-vue
|
|
67
|
+
- [ElevenLabs UI Vue](https://github.com/vuepont/elevenlabs-ui-vue)
|
|
67
68
|
|
|
68
69
|
Thank you for your trust and support.
|
|
69
70
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{b as e,f as t}from"./composables-B4s4AMLG.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};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./node-list-DQ3NLUeU.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};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{createElementBlock as e,defineComponent as t,openBlock as n}from"vue";const r={"data-stream-markdown":`break`};var i=t({__name:`break`,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(t){return(t,i)=>(n(),e(`br`,r))}});export{i as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{b as e}from"./composables-B4s4AMLG.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{
|
|
1
|
+
import{t as e}from"./rolldown-runtime-BbypZo7q.js";import{b as t}from"./composables-B4s4AMLG.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};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{b as e,i as t}from"./composables-B4s4AMLG.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-CJIfUQS1.js`)),shiki:i(()=>import(`./shiki-BlE5OYGf.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};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{D as e,b as t,f as n,o as r,y as i}from"./composables-B4s4AMLG.js";import{t as a}from"./segmented-B0MHjUhe.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-C5n_LUiO.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};
|
|
@@ -0,0 +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};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{createElementBlock as e,createElementVNode as t,markRaw as n,openBlock as r}from"vue";const i={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function a(n,a){return r(),e(`svg`,i,[...a[0]||=[t(`path`,{fill:`currentColor`,d:`M0 0v20.16A3.84 3.84 0 0 0 3.84 24h16.32A3.84 3.84 0 0 0 24 20.16V3.84A3.84 3.84 0 0 0 20.16 0Zm14.256 13.08c1.56 0 2.28 1.08 2.304 2.64h-1.608c.024-.288-.048-.6-.144-.84c-.096-.192-.288-.264-.552-.264c-.456 0-.696.264-.696.84c-.024.576.288.888.768 1.08c.72.288 1.608.744 1.92 1.296q.432.648.432 1.656c0 1.608-.912 2.592-2.496 2.592c-1.656 0-2.4-1.032-2.424-2.688h1.68c0 .792.264 1.176.792 1.176c.264 0 .456-.072.552-.24c.192-.312.24-1.176-.048-1.512c-.312-.408-.912-.6-1.32-.816q-.828-.396-1.224-.936c-.24-.36-.36-.888-.36-1.536c0-1.44.936-2.472 2.424-2.448m5.4 0c1.584 0 2.304 1.08 2.328 2.64h-1.608c0-.288-.048-.6-.168-.84c-.096-.192-.264-.264-.528-.264c-.48 0-.72.264-.72.84s.288.888.792 1.08c.696.288 1.608.744 1.92 1.296c.264.432.408.984.408 1.656c.024 1.608-.888 2.592-2.472 2.592c-1.68 0-2.424-1.056-2.448-2.688h1.68c0 .744.264 1.176.792 1.176c.264 0 .456-.072.552-.24c.216-.312.264-1.176-.048-1.512c-.288-.408-.888-.6-1.32-.816c-.552-.264-.96-.576-1.2-.936s-.36-.888-.36-1.536c-.024-1.44.912-2.472 2.4-2.448m-11.031.018c.711-.006 1.419.198 1.839.63c.432.432.672 1.128.648 1.992H9.336c.024-.456-.096-.792-.432-.96c-.312-.144-.768-.048-.888.24c-.12.264-.192.576-.168.864v3.504c0 .744.264 1.128.768 1.128a.65.65 0 0 0 .552-.264c.168-.24.192-.552.168-.84h1.776c.096 1.632-.984 2.712-2.568 2.688c-1.536 0-2.496-.864-2.472-2.472v-4.032c0-.816.24-1.44.696-1.848c.432-.408 1.146-.624 1.857-.63`},null,-1)]])}var o=n({name:`simple-icons-css`,render:a});export{o as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./node-list-DQ3NLUeU.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{
|
|
1
|
+
import{b as e}from"./composables-B4s4AMLG.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};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./node-list-DQ3NLUeU.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};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{b as e,f as t}from"./composables-B4s4AMLG.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};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{b as e,f as t}from"./composables-B4s4AMLG.js";import{t as n}from"./node-list-DQ3NLUeU.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};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{b as e}from"./composables-B4s4AMLG.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};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./node-list-DQ3NLUeU.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{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};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{defineComponent as e}from"vue";var t=e({__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(e){return()=>{}}});export{t as default};
|
package/dist/html.d.ts
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Component } from "vue";
|
|
2
|
+
import { HtmlAstElementNode, HtmlAstNode } from "@stream-markdown/core";
|
|
3
|
+
|
|
4
|
+
//#region src/html.d.ts
|
|
5
|
+
type HtmlComponentMap = Record<string, Component>;
|
|
6
|
+
interface HtmlNodeRendererOptions {
|
|
7
|
+
transform: (raw: string) => HtmlAstNode[];
|
|
8
|
+
components?: HtmlComponentMap;
|
|
9
|
+
}
|
|
10
|
+
declare function createHtmlNodeRenderer(options: HtmlNodeRendererOptions): Component;
|
|
11
|
+
//#endregion
|
|
12
|
+
export { type HtmlAstElementNode, type HtmlAstNode, HtmlComponentMap, HtmlNodeRendererOptions, createHtmlNodeRenderer };
|
package/dist/html.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{computed as e,defineComponent as t,h as n}from"vue";function r(n){let r=o(n.components);return t({name:`StreamMarkdownHtmlNodeRenderer`,props:{node:{type:Object,required:!0}},setup(t){let a=e(()=>n.transform(t.node.value));return()=>i(a.value,r)}})}function i(e,t){return e.map((e,n)=>a(e,t,n))}function a(e,t,r){if(e.type===`text`)return e.value;let a=t[e.tag],o=i(e.children,t);return a?n(a,{...e.attrs,key:r,node:e,tag:e.tag},{default:()=>o}):n(e.tag,{...e.attrs,key:r},o)}function o(e={}){return Object.fromEntries(Object.entries(e).map(([e,t])=>[e.toLowerCase(),t]))}export{r as createHtmlNodeRenderer};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{createElementBlock as e,createElementVNode as t,markRaw as n,openBlock as r}from"vue";const i={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function a(n,a){return r(),e(`svg`,i,[...a[0]||=[t(`path`,{fill:`currentColor`,d:`M1.5 0h21l-1.91 21.563L11.977 24l-8.564-2.438zm7.031 9.75l-.232-2.718l10.059.003l.23-2.622L5.412 4.41l.698 8.01h9.126l-.326 3.426l-2.91.804l-2.955-.81l-.188-2.11H6.248l.33 4.171L12 19.351l5.379-1.443l.744-8.157z`},null,-1)]])}var o=n({name:`simple-icons-html5`,render:a});export{o as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{b as e}from"./composables-B4s4AMLG.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{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};
|
|
@@ -0,0 +1 @@
|
|
|
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};
|
package/dist/index.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.stream-markdown{--default-transition-duration:.15s;--stream-markdown-animation-duration:.5s;color:var(--foreground);line-height:1.5}.stream-markdown *{box-sizing:border-box;border:0 solid;margin:0;padding:0}.stream-markdown.dark .shiki{color:var(--shiki-dark)!important;background-color:var(--shiki-dark-bg)!important}.stream-markdown.dark .shiki span{color:var(--shiki-dark)!important;background-color:var(--shiki-dark-bg)!important}.stream-markdown>:first-child{margin-top:0!important}.stream-markdown>:last-child{margin-bottom:0!important}.stream-markdown ::-webkit-scrollbar{width:6px;height:6px}.stream-markdown ::-webkit-scrollbar-track{background:0 0}.stream-markdown ::-webkit-scrollbar-thumb{background:var(--border);-webkit-border-radius:3px;border-radius:3px}.stream-markdown ::-webkit-scrollbar-thumb:hover{background:var(--border);opacity:.5}.stream-markdown-fade-in-enter-from{opacity:0}.stream-markdown-fade-in-enter-active{transition:opacity var(--stream-markdown-animation-duration) ease-out;will-change:opacity}.stream-markdown-fade-in-enter-to{opacity:1}.stream-markdown-blur-in-enter-from{opacity:0;filter:blur(4px)}.stream-markdown-blur-in-enter-active{transition:opacity var(--stream-markdown-animation-duration) ease-out, filter var(--stream-markdown-animation-duration) ease-out;will-change:opacity, filter}.stream-markdown-blur-in-enter-to{opacity:1;filter:blur()}.stream-markdown-slide-up-enter-from{opacity:0;transform:translateY(4px)}.stream-markdown-slide-up-enter-active{transition:opacity var(--stream-markdown-animation-duration) ease-out, transform var(--stream-markdown-animation-duration) ease-out;will-change:opacity, transform}.stream-markdown-slide-up-enter-to{opacity:1;transform:translateY(0)}.stream-markdown-code-switch-enter-active,.stream-markdown-code-switch-leave-active{transition:opacity var(--default-transition-duration) ease}.stream-markdown-code-switch-enter-from,.stream-markdown-code-switch-leave-to{opacity:0}.stream-markdown-code-switch-enter-to,.stream-markdown-code-switch-leave-from{opacity:1}.stream-markdown-modal-enter-from,.stream-markdown-modal-leave-to{opacity:0;transform:scale(.95)}.stream-markdown-modal-enter-active,.stream-markdown-modal-leave-active{transition:opacity var(--default-transition-duration) ease, transform var(--default-transition-duration) ease}@keyframes stream-markdown-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.stream-markdown{--spacing:.25rem;--radius-xl:.75rem;--fontWeight-semibold:600;--radius-md:.375rem;--default-transition-timingFunction:cubic-bezier(.4, 0, .2, 1);--default-transition-duration:.15s;--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--leading-none:1;--ease-DEFAULT:cubic-bezier(.4, 0, .2, 1);--radius-lg:.5rem;--radius-DEFAULT:.25rem;--text-lg-fontSize:1.125rem;--text-lg-lineHeight:1.75rem;--text-sm-fontSize:.875rem;--text-sm-lineHeight:1.25rem;--text-xs-fontSize:.75rem;--text-xs-lineHeight:1rem;--text-3xl-fontSize:1.875rem;--text-3xl-lineHeight:2.25rem;--text-2xl-fontSize:1.5rem;--text-2xl-lineHeight:2rem;--text-xl-fontSize:1.25rem;--text-xl-lineHeight:1.75rem;--text-base-fontSize:1rem;--text-base-lineHeight:1.5rem}@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*{--stream-markdown-bg-opacity:100%;--stream-markdown-leading:initial;--stream-markdown-ease:initial;--stream-markdown-border-opacity:100%;--stream-markdown-text-opacity:100%;--stream-markdown-border-left-opacity:100%;--stream-markdown-translate-x:initial;--stream-markdown-translate-y:initial;--stream-markdown-translate-z:initial;--stream-markdown-content:""}:before{--stream-markdown-bg-opacity:100%;--stream-markdown-leading:initial;--stream-markdown-ease:initial;--stream-markdown-border-opacity:100%;--stream-markdown-text-opacity:100%;--stream-markdown-border-left-opacity:100%;--stream-markdown-translate-x:initial;--stream-markdown-translate-y:initial;--stream-markdown-translate-z:initial;--stream-markdown-content:""}:after{--stream-markdown-bg-opacity:100%;--stream-markdown-leading:initial;--stream-markdown-ease:initial;--stream-markdown-border-opacity:100%;--stream-markdown-text-opacity:100%;--stream-markdown-border-left-opacity:100%;--stream-markdown-translate-x:initial;--stream-markdown-translate-y:initial;--stream-markdown-translate-z:initial;--stream-markdown-content:""}::backdrop{--stream-markdown-bg-opacity:100%;--stream-markdown-leading:initial;--stream-markdown-ease:initial;--stream-markdown-border-opacity:100%;--stream-markdown-text-opacity:100%;--stream-markdown-border-left-opacity:100%;--stream-markdown-translate-x:initial;--stream-markdown-translate-y:initial;--stream-markdown-translate-z:initial;--stream-markdown-content:""}}@property --stream-markdown-text-opacity{syntax:"<percentage>";inherits:false;initial-value:100%}@property --stream-markdown-leading{syntax:"*";inherits:false}@property --stream-markdown-border-opacity{syntax:"<percentage>";inherits:false;initial-value:100%}@property --stream-markdown-border-left-opacity{syntax:"<percentage>";inherits:false;initial-value:100%}@property --stream-markdown-bg-opacity{syntax:"<percentage>";inherits:false;initial-value:100%}@property --stream-markdown-content{syntax:"*";inherits:false;initial-value:""}@property --stream-markdown-inset-ring-color{syntax:"*";inherits:false}@property --stream-markdown-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 transparent}@property --stream-markdown-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 transparent}@property --stream-markdown-inset-shadow-color{syntax:"*";inherits:false}@property --stream-markdown-ring-color{syntax:"*";inherits:false}@property --stream-markdown-ring-inset{syntax:"*";inherits:false}@property --stream-markdown-ring-offset-color{syntax:"*";inherits:false}@property --stream-markdown-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 transparent}@property --stream-markdown-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --stream-markdown-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 transparent}@property --stream-markdown-shadow{syntax:"*";inherits:false;initial-value:0 0 transparent}@property --stream-markdown-shadow-color{syntax:"*";inherits:false}@property --stream-markdown-translate-x{syntax:"*";inherits:false;initial-value:0}@property --stream-markdown-translate-y{syntax:"*";inherits:false;initial-value:0}@property --stream-markdown-translate-z{syntax:"*";inherits:false;initial-value:0}@property --stream-markdown-ease{syntax:"*";inherits:false}@property --stream-markdown-backdrop-blur{syntax:"*";inherits:false}@property --stream-markdown-backdrop-brightness{syntax:"*";inherits:false}@property --stream-markdown-backdrop-contrast{syntax:"*";inherits:false}@property --stream-markdown-backdrop-grayscale{syntax:"*";inherits:false}@property --stream-markdown-backdrop-hue-rotate{syntax:"*";inherits:false}@property --stream-markdown-backdrop-invert{syntax:"*";inherits:false}@property --stream-markdown-backdrop-opacity{syntax:"*";inherits:false}@property --stream-markdown-backdrop-saturate{syntax:"*";inherits:false}@property --stream-markdown-backdrop-sepia{syntax:"*";inherits:false}.stream-markdown .container{width:100%}.stream-markdown .link-container:link{width:100%}@media (min-width:40rem){.stream-markdown .container{max-width:40rem}.stream-markdown .link-container:link{max-width:40rem}}@media (min-width:48rem){.stream-markdown .container{max-width:48rem}.stream-markdown .link-container:link{max-width:48rem}}@media (min-width:64rem){.stream-markdown .container{max-width:64rem}.stream-markdown .link-container:link{max-width:64rem}}@media (min-width:80rem){.stream-markdown .container{max-width:80rem}.stream-markdown .link-container:link{max-width:80rem}}@media (min-width:96rem){.stream-markdown .container{max-width:96rem}.stream-markdown .link-container:link{max-width:96rem}}.stream-markdown .text-sm{font-size:var(--text-sm-fontSize);line-height:var(--stream-markdown-leading,var(--text-sm-lineHeight))}.stream-markdown :is(.\[\&_td\]\:text-sm td){font-size:var(--text-sm-fontSize);line-height:var(--stream-markdown-leading,var(--text-sm-lineHeight))}.stream-markdown :is(.\[\&_th\]\:text-sm th){font-size:var(--text-sm-fontSize);line-height:var(--stream-markdown-leading,var(--text-sm-lineHeight))}.stream-markdown :is(.\[\&\>button\]\:\!text-sm>button){font-size:var(--text-sm-fontSize)!important;line-height:var(--stream-markdown-leading,var(--text-sm-lineHeight))!important}.stream-markdown .text-2xl{font-size:var(--text-2xl-fontSize);line-height:var(--stream-markdown-leading,var(--text-2xl-lineHeight))}.stream-markdown .text-3xl{font-size:var(--text-3xl-fontSize);line-height:var(--stream-markdown-leading,var(--text-3xl-lineHeight))}.stream-markdown .text-base{font-size:var(--text-base-fontSize);line-height:var(--stream-markdown-leading,var(--text-base-lineHeight))}.stream-markdown .text-lg{font-size:var(--text-lg-fontSize);line-height:var(--stream-markdown-leading,var(--text-lg-lineHeight))}.stream-markdown .text-xl{font-size:var(--text-xl-fontSize);line-height:var(--stream-markdown-leading,var(--text-xl-lineHeight))}.stream-markdown .text-xs{font-size:var(--text-xs-fontSize);line-height:var(--stream-markdown-leading,var(--text-xs-lineHeight))}.stream-markdown .before\:text-\[13px\]:before{font-size:13px}.stream-markdown :is(.\[\&\>button\:last-child\]\:\!text-primary-foreground>button:last-child){color:color-mix(in srgb, var(--primary-foreground) var(--stream-markdown-text-opacity), transparent)!important}.stream-markdown :is(.\[\&\>button\]\:\!text-foreground>button){color:color-mix(in srgb, var(--foreground) var(--stream-markdown-text-opacity), transparent)!important}.stream-markdown .text-muted-foreground{color:color-mix(in srgb, var(--muted-foreground) var(--stream-markdown-text-opacity), transparent)}.stream-markdown .text-popover-foreground{color:color-mix(in srgb, var(--popover-foreground) var(--stream-markdown-text-opacity), transparent)}.stream-markdown .text-primary{color:color-mix(in srgb, var(--primary) var(--stream-markdown-text-opacity), transparent)}.stream-markdown .hover\:text-foreground:hover{color:color-mix(in srgb, var(--foreground) var(--stream-markdown-text-opacity), transparent)}.stream-markdown .before\:text-muted-foreground\/50:before{color:color-mix(in srgb, var(--muted-foreground) 50%, transparent)}.stream-markdown .leading-6{--stream-markdown-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6)}.stream-markdown .leading-none{--stream-markdown-leading:var(--leading-none);line-height:var(--leading-none)}.stream-markdown .font-mono{font-family:var(--font-mono)}.stream-markdown .font-semibold{--stream-markdown-font-weight:var(--fontWeight-semibold);font-weight:var(--fontWeight-semibold)}.stream-markdown .before\:font-mono:before{font-family:var(--font-mono)}.stream-markdown :is(.\[\&_p\]\:m-0 p){margin:calc(var(--spacing) * 0)}.stream-markdown .mx-0{margin-inline:calc(var(--spacing) * 0)}.stream-markdown .my-4{margin-block:calc(var(--spacing) * 4)}.stream-markdown .my-6{margin-block:calc(var(--spacing) * 6)}.stream-markdown :is(.\[\&_p\]\:mb-0 p){margin-bottom:calc(var(--spacing) * 0)}.stream-markdown .mb-2{margin-bottom:calc(var(--spacing) * 2)}.stream-markdown .ml-1{margin-left:calc(var(--spacing) * 1)}.stream-markdown .mr-1{margin-right:calc(var(--spacing) * 1)}.stream-markdown .mr-2{margin-right:calc(var(--spacing) * 2)}.stream-markdown .ms:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){margin-left:calc(var(--spacing) * 4)}.stream-markdown .ms:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){margin-right:calc(var(--spacing) * 4)}.stream-markdown .mt-6{margin-top:calc(var(--spacing) * 6)}.stream-markdown .before\:mr-4:before{margin-right:calc(var(--spacing) * 4)}.stream-markdown .p-0\.5{padding:calc(var(--spacing) * .5)}.stream-markdown .p-1{padding:calc(var(--spacing) * 1)}.stream-markdown .p-2{padding:calc(var(--spacing) * 2)}.stream-markdown .p-3{padding:calc(var(--spacing) * 3)}.stream-markdown .p-4{padding:calc(var(--spacing) * 4)}.stream-markdown .p-6{padding:calc(var(--spacing) * 6)}.stream-markdown .px-4,.stream-markdown .px{padding-inline:calc(var(--spacing) * 4)}.stream-markdown :is(.\[\&_td\]\:px-4 td){padding-inline:calc(var(--spacing) * 4)}.stream-markdown :is(.\[\&_th\]\:px-4 th){padding-inline:calc(var(--spacing) * 4)}.stream-markdown .py-2{padding-block:calc(var(--spacing) * 2)}.stream-markdown :is(.\[\&_td\]\:py-2 td){padding-block:calc(var(--spacing) * 2)}.stream-markdown :is(.\[\&_th\]\:py-2 th){padding-block:calc(var(--spacing) * 2)}.stream-markdown .px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.stream-markdown .px-2{padding-inline:calc(var(--spacing) * 2)}.stream-markdown .py-0\.5{padding-block:calc(var(--spacing) * .5)}.stream-markdown .py-1{padding-block:calc(var(--spacing) * 1)}.stream-markdown .py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.stream-markdown .pl-1{padding-left:calc(var(--spacing) * 1)}.stream-markdown .pl-4{padding-left:calc(var(--spacing) * 4)}.stream-markdown .pl-5{padding-left:calc(var(--spacing) * 5)}.stream-markdown .text-center{text-align:center}.stream-markdown .before\:text-right:before{text-align:right}.stream-markdown .align-middle{vertical-align:middle}.stream-markdown .align-text-bottom{vertical-align:text-bottom}.stream-markdown .list-decimal{list-style-type:decimal}.stream-markdown .list-disc{list-style-type:disc}.stream-markdown :is(.\[\&\>button\]\:\!border>button){border-width:1px!important}.stream-markdown .border-2{border-width:2px}.stream-markdown .border{border-width:1px}.stream-markdown .border-y{border-top-width:1px;border-bottom-width:1px}.stream-markdown .border-b{border-bottom-width:1px}.stream-markdown :is(.\[\&_tr\]\:border-b tr){border-bottom-width:1px}.stream-markdown .border-l-4{border-left-width:4px}.stream-markdown .border-t{border-top-width:1px}.stream-markdown :is(.data-\[collapsed\=true\]\:\[\&_\.code-block-header\]\:border-b-0 .code-block-header[data-collapsed=true]){border-bottom-width:0}.stream-markdown .border-border{border-color:color-mix(in srgb, var(--border) var(--stream-markdown-border-opacity), transparent)}.stream-markdown :is(.\[\&_tr\]\:border-border tr){border-color:color-mix(in srgb, var(--border) var(--stream-markdown-border-opacity), transparent)}.stream-markdown :is(.\[\&\>button\]\:\!border-border>button){border-color:color-mix(in srgb, var(--border) var(--stream-markdown-border-opacity), transparent)!important}.stream-markdown .border-foreground{border-color:color-mix(in srgb, var(--foreground) var(--stream-markdown-border-opacity), transparent)}.stream-markdown .border-l-muted-foreground\/30{border-left-color:color-mix(in srgb, var(--muted-foreground) 30%, transparent)}.stream-markdown .border-t-transparent{border-top-color:transparent}.stream-markdown :is(.\[\&\>button\]\:\!rounded-lg>button){-webkit-border-radius:var(--radius-lg)!important;border-radius:var(--radius-lg)!important}.stream-markdown .rounded-full{-webkit-border-radius:3.40282e38px;border-radius:3.40282e38px}.stream-markdown .rounded-lg{-webkit-border-radius:var(--radius-lg);border-radius:var(--radius-lg)}.stream-markdown .rounded-md{-webkit-border-radius:var(--radius-md);border-radius:var(--radius-md)}.stream-markdown .rounded-xl{-webkit-border-radius:var(--radius-xl);border-radius:var(--radius-xl)}.stream-markdown .rounded{-webkit-border-radius:var(--radius-DEFAULT);border-radius:var(--radius-DEFAULT)}.stream-markdown :is(.\[\&\>button\]\:\!border-solid>button){--stream-markdown-border-style:solid!important;border-style:solid!important}.stream-markdown .border-none{--stream-markdown-border-style:none;border-style:none}.stream-markdown :is(.\[\&\>button\:last-child\:hover\]\:\!bg-primary\/90>button:last-child:hover){background-color:color-mix(in srgb, var(--primary) 90%, transparent)!important}.stream-markdown :is(.\[\&\>button\:last-child\]\:\!bg-primary>button:last-child){background-color:color-mix(in srgb, var(--primary) var(--stream-markdown-bg-opacity), transparent)!important}.stream-markdown :is(.\[\&\>svg\]\:\!bg-transparent>svg){background-color:transparent!important}.stream-markdown .bg-\[rgb\(0_0_0_\/_0\.1\)\]{background-color:color-mix(in oklab, rgba(0,0,0,.1) var(--stream-markdown-bg-opacity), transparent)}.stream-markdown .bg-\[rgb\(0_0_0_\/_0\.5\)\]{background-color:color-mix(in oklab, rgba(0,0,0,.5) var(--stream-markdown-bg-opacity), transparent)}.stream-markdown .bg-background{background-color:color-mix(in srgb, var(--background) var(--stream-markdown-bg-opacity), transparent)}.stream-markdown .bg-muted{background-color:color-mix(in srgb, var(--muted) var(--stream-markdown-bg-opacity), transparent)}.stream-markdown .bg-muted\/20{background-color:color-mix(in srgb, var(--muted) 20%, transparent)}.stream-markdown .bg-muted\/40{background-color:color-mix(in srgb, var(--muted) 40%, transparent)}.stream-markdown .bg-muted\/80{background-color:color-mix(in srgb, var(--muted) 80%, transparent)}.stream-markdown .bg-popover{background-color:color-mix(in srgb, var(--popover) var(--stream-markdown-bg-opacity), transparent)}.stream-markdown .bg-transparent{background-color:transparent}.stream-markdown .hover\:bg-accent:hover{background-color:color-mix(in srgb, var(--accent) var(--stream-markdown-bg-opacity), transparent)}.stream-markdown .opacity-0{opacity:0}.stream-markdown .line-through{text-decoration-line:line-through}.stream-markdown .underline{text-decoration-line:underline}.stream-markdown .data-\[stream-markdown-loading\=true\]\:no-underline[data-stream-markdown-loading=true]{text-decoration:none}.stream-markdown .flex{display:flex}.stream-markdown :is(.\[\&\>\*\:last-child\]\:flex>:last-child){display:flex}.stream-markdown .inline-flex{display:inline-flex}.stream-markdown .flex-1{flex:1}.stream-markdown :is(.\[\&_span\]\:flex-1 span){flex:1}.stream-markdown :is(.\[\&\>\*\:first-child\]\:flex-1>:first-child){flex:1}.stream-markdown :is(.\[\&\>\*\:last-child\]\:flex-1>:last-child){flex:1}.stream-markdown .shrink-0{flex-shrink:0}.stream-markdown .basis-0{flex-basis:calc(var(--spacing) * 0)}.stream-markdown .flex-col{flex-direction:column}.stream-markdown :is(.\[\&\>button\]\:\!gap-2>button){gap:calc(var(--spacing) * 2)!important}.stream-markdown .gap-1{gap:calc(var(--spacing) * 1)}.stream-markdown .gap-2{gap:calc(var(--spacing) * 2)}.stream-markdown .gap-4{gap:calc(var(--spacing) * 4)}.stream-markdown .size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.stream-markdown .size-full{width:100%;height:100%}.stream-markdown :is(.\[\&_span\]\:min-w-0 span){min-width:calc(var(--spacing) * 0)}.stream-markdown :is(.\[\&\>button\]\:\!w-full>button){width:100%!important}.stream-markdown .h-auto{height:auto}.stream-markdown .h-full{height:100%}.stream-markdown .max-w-\[28rem\]{max-width:28rem}.stream-markdown .max-w-full{max-width:100%}.stream-markdown .min-h-4{min-height:calc(var(--spacing) * 4)}.stream-markdown .w-full{width:100%}.stream-markdown .before\:w-4:before{width:calc(var(--spacing) * 4)}.stream-markdown .inline{display:inline}.stream-markdown :is(.\[\&_p\]\:inline p){display:inline}.stream-markdown .block{display:block}.stream-markdown .inline-block{display:inline-block}.stream-markdown :is(.\[\&_p\]\:inline-block p){display:inline-block}.stream-markdown .before\:inline-block:before{display:inline-block}.stream-markdown .list-item{display:list-item}.stream-markdown .visible{visibility:visible}.stream-markdown .collapse{visibility:collapse}.stream-markdown .data-\[stream-markdown-loading\=true\]\:cursor-default[data-stream-markdown-loading=true]{cursor:default}.stream-markdown .cursor-pointer{cursor:pointer}.stream-markdown .pointer-events-auto{pointer-events:auto}.stream-markdown .pointer-events-none{pointer-events:none}.stream-markdown .data-\[stream-markdown-loading\=true\]\:pointer-events-none[data-stream-markdown-loading=true]{pointer-events:none}.stream-markdown .select-none{user-select:none}.stream-markdown .before\:select-none:before{user-select:none}.stream-markdown :is(.\[\&_th\]\:whitespace-nowrap th){white-space:nowrap}.stream-markdown .whitespace-normal{white-space:normal}.stream-markdown .whitespace-pre-wrap{white-space:pre-wrap}.stream-markdown .before\:content-\[counter\(line\)\]:before{--stream-markdown-content:counter(line);content:var(--stream-markdown-content)}.stream-markdown .break-words{overflow-wrap:break-word}.stream-markdown :is(.\[\&_span\]\:break-words span){overflow-wrap:break-word}.stream-markdown .lowercase{text-transform:lowercase}.stream-markdown .italic{font-style:italic}.stream-markdown .shadow-\[0_20px_25px_-5px_rgb\(0_0_0_\/_0\.1\)\,0_8px_10px_-6px_rgb\(0_0_0_\/_0\.1\)\]{--stream-markdown-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);box-shadow:var(--stream-markdown-inset-shadow), var(--stream-markdown-inset-ring-shadow), var(--stream-markdown-ring-offset-shadow), var(--stream-markdown-ring-shadow), var(--stream-markdown-shadow)}.stream-markdown .-translate-x-1\/2{--stream-markdown-translate-x:-50%;translate:var(--stream-markdown-translate-x) var(--stream-markdown-translate-y)}.stream-markdown :is(.\[\&\>\*\:nth-child\(2\)\]\:-translate-x-1\/2>:nth-child(2)){--stream-markdown-translate-x:-50%;translate:var(--stream-markdown-translate-x) var(--stream-markdown-translate-y)}.stream-markdown .-translate-y-1\/2{--stream-markdown-translate-y:-50%;translate:var(--stream-markdown-translate-x) var(--stream-markdown-translate-y)}.stream-markdown .transform{transform:var(--stream-markdown-rotate-x) var(--stream-markdown-rotate-y) var(--stream-markdown-rotate-z) var(--stream-markdown-skew-x) var(--stream-markdown-skew-y)}.stream-markdown .transition-\[height\]{transition-property:height;transition-timing-function:var(--stream-markdown-ease,var(--default-transition-timingFunction));transition-duration:var(--stream-markdown-duration,var(--default-transition-duration))}.stream-markdown .transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,--stream-markdown-gradient-from,--stream-markdown-gradient-via,--stream-markdown-gradient-to;transition-timing-function:var(--stream-markdown-ease,var(--default-transition-timingFunction));transition-duration:var(--stream-markdown-duration,var(--default-transition-duration))}.stream-markdown .transition-opacity{transition-property:opacity;transition-timing-function:var(--stream-markdown-ease,var(--default-transition-timingFunction));transition-duration:var(--stream-markdown-duration,var(--default-transition-duration))}.stream-markdown .transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,--stream-markdown-gradient-from,--stream-markdown-gradient-via,--stream-markdown-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,backdrop-filter;transition-timing-function:var(--stream-markdown-ease,var(--default-transition-timingFunction));transition-duration:var(--stream-markdown-duration,var(--default-transition-duration))}.stream-markdown [transition=""]{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,--stream-markdown-gradient-from,--stream-markdown-gradient-via,--stream-markdown-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,backdrop-filter;transition-timing-function:var(--stream-markdown-ease,var(--default-transition-timingFunction));transition-duration:var(--stream-markdown-duration,var(--default-transition-duration))}.stream-markdown .duration-\[var\(--default-transition-duration\)\]{--stream-markdown-duration:var(--default-transition-duration);transition-duration:var(--default-transition-duration)}.stream-markdown .ease{--stream-markdown-ease:var(--ease-DEFAULT);transition-timing-function:var(--ease-DEFAULT)}.stream-markdown .\[counter-reset\:line\]{counter-reset:line}.stream-markdown .\[overflow-wrap\:anywhere\]{overflow-wrap:anywhere}.stream-markdown .before\:\[counter-increment\:line\]:before{counter-increment:line}.stream-markdown .items-center{align-items:center}.stream-markdown .inset-0{inset:calc(var(--spacing) * 0)}.stream-markdown .-right-3{right:calc(var(--spacing) * -3)}.stream-markdown .-top-3{top:calc(var(--spacing) * -3)}.stream-markdown .top-0{top:calc(var(--spacing) * 0)}.stream-markdown :is(.\[\&_thead\]\:top-0 thead){top:calc(var(--spacing) * 0)}.stream-markdown .left-1\/2{left:50%}.stream-markdown :is(.\[\&\>\*\:nth-child\(2\)\]\:left-1\/2>:nth-child(2)){left:50%}.stream-markdown .bottom-2{bottom:calc(var(--spacing) * 2)}.stream-markdown .right-2{right:calc(var(--spacing) * 2)}.stream-markdown .top-1\/2{top:50%}.stream-markdown .justify-end{justify-content:flex-end}.stream-markdown :is(.\[\&\>\*\:last-child\]\:justify-end>:last-child){justify-content:flex-end}.stream-markdown .justify-center{justify-content:center}.stream-markdown .justify-between{justify-content:space-between}.stream-markdown .sticky{position:sticky}.stream-markdown :is(.\[\&_thead\]\:sticky thead){position:sticky}.stream-markdown .absolute{position:absolute}.stream-markdown :is(.\[\&\>\*\:nth-child\(2\)\]\:absolute>:nth-child(2)){position:absolute}.stream-markdown .relative{position:relative}.stream-markdown .data-\[stream-markdown-loading\=true\]\:relative[data-stream-markdown-loading=true]{position:relative}.stream-markdown .fixed{position:fixed}.stream-markdown :is(.\[\&_thead\]\:z-10 thead){z-index:10}.stream-markdown .z-\[1\]{z-index:1}.stream-markdown .z-\[10000\]{z-index:10000}.stream-markdown .z-\[5\]{z-index:5}.stream-markdown .overflow-auto{overflow:auto}.stream-markdown .overflow-clip{overflow:clip}.stream-markdown .overflow-hidden{overflow:hidden}.stream-markdown .overflow-x-auto{overflow-x:auto}.stream-markdown .animate-\[stream-markdown-spin_1s_linear_infinite\]{animation:1s linear infinite stream-markdown-spin}.stream-markdown .object-contain{object-fit:contain}.stream-markdown .backdrop-blur{--stream-markdown-backdrop-blur:blur(8px);backdrop-filter:var(--stream-markdown-backdrop-blur,) var(--stream-markdown-backdrop-brightness,) var(--stream-markdown-backdrop-contrast,) var(--stream-markdown-backdrop-grayscale,) var(--stream-markdown-backdrop-hue-rotate,) var(--stream-markdown-backdrop-invert,) var(--stream-markdown-backdrop-opacity,) var(--stream-markdown-backdrop-saturate,) var(--stream-markdown-backdrop-sepia,)}.stream-markdown .table{display:table}.stream-markdown .border-collapse{border-collapse:collapse}@media (max-width:calc(64rem - .1px)){.stream-markdown .max-lg\:px-3{padding-inline:calc(var(--spacing) * 3)}.stream-markdown .max-lg\:gap-0{gap:calc(var(--spacing) * 0)}}
|
|
1
|
+
.stream-markdown{--default-transition-duration:.15s;--stream-markdown-animation-duration:.5s;color:var(--foreground);line-height:1.5}.stream-markdown *{box-sizing:border-box;border:0 solid;margin:0;padding:0}.stream-markdown.dark .shiki{color:var(--shiki-dark)!important;background-color:var(--shiki-dark-bg)!important}.stream-markdown.dark .shiki span{color:var(--shiki-dark)!important;background-color:var(--shiki-dark-bg)!important}.stream-markdown>:first-child{margin-top:0!important}.stream-markdown>:last-child{margin-bottom:0!important}.stream-markdown ::-webkit-scrollbar{width:6px;height:6px}.stream-markdown ::-webkit-scrollbar-track{background:0 0}.stream-markdown ::-webkit-scrollbar-thumb{background:var(--border);-webkit-border-radius:3px;border-radius:3px}.stream-markdown ::-webkit-scrollbar-thumb:hover{background:var(--border);opacity:.5}.stream-markdown-fade-in-enter-from{opacity:0}.stream-markdown-fade-in-enter-active{transition:opacity var(--stream-markdown-animation-duration) ease-out;will-change:opacity}.stream-markdown-fade-in-enter-to{opacity:1}.stream-markdown-blur-in-enter-from{opacity:0;filter:blur(4px)}.stream-markdown-blur-in-enter-active{transition:opacity var(--stream-markdown-animation-duration) ease-out, filter var(--stream-markdown-animation-duration) ease-out;will-change:opacity, filter}.stream-markdown-blur-in-enter-to{opacity:1;filter:blur()}.stream-markdown-slide-up-enter-from{opacity:0;transform:translateY(4px)}.stream-markdown-slide-up-enter-active{transition:opacity var(--stream-markdown-animation-duration) ease-out, transform var(--stream-markdown-animation-duration) ease-out;will-change:opacity, transform}.stream-markdown-slide-up-enter-to{opacity:1;transform:translateY(0)}.stream-markdown-code-switch-enter-active,.stream-markdown-code-switch-leave-active{transition:opacity var(--default-transition-duration) ease}.stream-markdown-code-switch-enter-from,.stream-markdown-code-switch-leave-to{opacity:0}.stream-markdown-code-switch-enter-to,.stream-markdown-code-switch-leave-from{opacity:1}.stream-markdown-modal-enter-from,.stream-markdown-modal-leave-to{opacity:0;transform:scale(.95)}.stream-markdown-modal-enter-active,.stream-markdown-modal-leave-active{transition:opacity var(--default-transition-duration) ease, transform var(--default-transition-duration) ease}@keyframes stream-markdown-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.stream-markdown{--spacing:.25rem;--radius-xl:.75rem;--fontWeight-semibold:600;--radius-md:.375rem;--default-transition-timingFunction:cubic-bezier(.4, 0, .2, 1);--default-transition-duration:.15s;--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--leading-none:1;--radius-lg:.5rem;--ease-DEFAULT:cubic-bezier(.4, 0, .2, 1);--radius-DEFAULT:.25rem;--text-lg-fontSize:1.125rem;--text-lg-lineHeight:1.75rem;--text-sm-fontSize:.875rem;--text-sm-lineHeight:1.25rem;--text-xs-fontSize:.75rem;--text-xs-lineHeight:1rem;--text-3xl-fontSize:1.875rem;--text-3xl-lineHeight:2.25rem;--text-2xl-fontSize:1.5rem;--text-2xl-lineHeight:2rem;--text-xl-fontSize:1.25rem;--text-xl-lineHeight:1.75rem;--text-base-fontSize:1rem;--text-base-lineHeight:1.5rem}@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*{--stream-markdown-bg-opacity:100%;--stream-markdown-leading:initial;--stream-markdown-ease:initial;--stream-markdown-border-opacity:100%;--stream-markdown-text-opacity:100%;--stream-markdown-border-left-opacity:100%;--stream-markdown-translate-x:initial;--stream-markdown-translate-y:initial;--stream-markdown-translate-z:initial;--stream-markdown-content:""}:before{--stream-markdown-bg-opacity:100%;--stream-markdown-leading:initial;--stream-markdown-ease:initial;--stream-markdown-border-opacity:100%;--stream-markdown-text-opacity:100%;--stream-markdown-border-left-opacity:100%;--stream-markdown-translate-x:initial;--stream-markdown-translate-y:initial;--stream-markdown-translate-z:initial;--stream-markdown-content:""}:after{--stream-markdown-bg-opacity:100%;--stream-markdown-leading:initial;--stream-markdown-ease:initial;--stream-markdown-border-opacity:100%;--stream-markdown-text-opacity:100%;--stream-markdown-border-left-opacity:100%;--stream-markdown-translate-x:initial;--stream-markdown-translate-y:initial;--stream-markdown-translate-z:initial;--stream-markdown-content:""}::backdrop{--stream-markdown-bg-opacity:100%;--stream-markdown-leading:initial;--stream-markdown-ease:initial;--stream-markdown-border-opacity:100%;--stream-markdown-text-opacity:100%;--stream-markdown-border-left-opacity:100%;--stream-markdown-translate-x:initial;--stream-markdown-translate-y:initial;--stream-markdown-translate-z:initial;--stream-markdown-content:""}}@property --stream-markdown-text-opacity{syntax:"<percentage>";inherits:false;initial-value:100%}@property --stream-markdown-leading{syntax:"*";inherits:false}@property --stream-markdown-border-opacity{syntax:"<percentage>";inherits:false;initial-value:100%}@property --stream-markdown-border-left-opacity{syntax:"<percentage>";inherits:false;initial-value:100%}@property --stream-markdown-bg-opacity{syntax:"<percentage>";inherits:false;initial-value:100%}@property --stream-markdown-content{syntax:"*";inherits:false;initial-value:""}@property --stream-markdown-inset-ring-color{syntax:"*";inherits:false}@property --stream-markdown-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 transparent}@property --stream-markdown-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 transparent}@property --stream-markdown-inset-shadow-color{syntax:"*";inherits:false}@property --stream-markdown-ring-color{syntax:"*";inherits:false}@property --stream-markdown-ring-inset{syntax:"*";inherits:false}@property --stream-markdown-ring-offset-color{syntax:"*";inherits:false}@property --stream-markdown-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 transparent}@property --stream-markdown-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --stream-markdown-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 transparent}@property --stream-markdown-shadow{syntax:"*";inherits:false;initial-value:0 0 transparent}@property --stream-markdown-shadow-color{syntax:"*";inherits:false}@property --stream-markdown-translate-x{syntax:"*";inherits:false;initial-value:0}@property --stream-markdown-translate-y{syntax:"*";inherits:false;initial-value:0}@property --stream-markdown-translate-z{syntax:"*";inherits:false;initial-value:0}@property --stream-markdown-ease{syntax:"*";inherits:false}@property --stream-markdown-backdrop-blur{syntax:"*";inherits:false}@property --stream-markdown-backdrop-brightness{syntax:"*";inherits:false}@property --stream-markdown-backdrop-contrast{syntax:"*";inherits:false}@property --stream-markdown-backdrop-grayscale{syntax:"*";inherits:false}@property --stream-markdown-backdrop-hue-rotate{syntax:"*";inherits:false}@property --stream-markdown-backdrop-invert{syntax:"*";inherits:false}@property --stream-markdown-backdrop-opacity{syntax:"*";inherits:false}@property --stream-markdown-backdrop-saturate{syntax:"*";inherits:false}@property --stream-markdown-backdrop-sepia{syntax:"*";inherits:false}.stream-markdown .container{width:100%}.stream-markdown .link-container:link{width:100%}@media (min-width:40rem){.stream-markdown .container{max-width:40rem}.stream-markdown .link-container:link{max-width:40rem}}@media (min-width:48rem){.stream-markdown .container{max-width:48rem}.stream-markdown .link-container:link{max-width:48rem}}@media (min-width:64rem){.stream-markdown .container{max-width:64rem}.stream-markdown .link-container:link{max-width:64rem}}@media (min-width:80rem){.stream-markdown .container{max-width:80rem}.stream-markdown .link-container:link{max-width:80rem}}@media (min-width:96rem){.stream-markdown .container{max-width:96rem}.stream-markdown .link-container:link{max-width:96rem}}.stream-markdown .text-sm{font-size:var(--text-sm-fontSize);line-height:var(--stream-markdown-leading,var(--text-sm-lineHeight))}.stream-markdown :is(.\[\&_td\]\:text-sm td){font-size:var(--text-sm-fontSize);line-height:var(--stream-markdown-leading,var(--text-sm-lineHeight))}.stream-markdown :is(.\[\&_th\]\:text-sm th){font-size:var(--text-sm-fontSize);line-height:var(--stream-markdown-leading,var(--text-sm-lineHeight))}.stream-markdown :is(.\[\&\>button\]\:\!text-sm>button){font-size:var(--text-sm-fontSize)!important;line-height:var(--stream-markdown-leading,var(--text-sm-lineHeight))!important}.stream-markdown .text-2xl{font-size:var(--text-2xl-fontSize);line-height:var(--stream-markdown-leading,var(--text-2xl-lineHeight))}.stream-markdown .text-3xl{font-size:var(--text-3xl-fontSize);line-height:var(--stream-markdown-leading,var(--text-3xl-lineHeight))}.stream-markdown .text-base{font-size:var(--text-base-fontSize);line-height:var(--stream-markdown-leading,var(--text-base-lineHeight))}.stream-markdown .text-lg{font-size:var(--text-lg-fontSize);line-height:var(--stream-markdown-leading,var(--text-lg-lineHeight))}.stream-markdown .text-xl{font-size:var(--text-xl-fontSize);line-height:var(--stream-markdown-leading,var(--text-xl-lineHeight))}.stream-markdown .text-xs{font-size:var(--text-xs-fontSize);line-height:var(--stream-markdown-leading,var(--text-xs-lineHeight))}.stream-markdown .before\:text-\[13px\]:before{font-size:13px}.stream-markdown :is(.\[\&\>button\:last-child\]\:\!text-primary-foreground>button:last-child){color:color-mix(in srgb, var(--primary-foreground) var(--stream-markdown-text-opacity), transparent)!important}.stream-markdown :is(.\[\&\>button\]\:\!text-foreground>button){color:color-mix(in srgb, var(--foreground) var(--stream-markdown-text-opacity), transparent)!important}.stream-markdown .text-muted-foreground{color:color-mix(in srgb, var(--muted-foreground) var(--stream-markdown-text-opacity), transparent)}.stream-markdown .text-popover-foreground{color:color-mix(in srgb, var(--popover-foreground) var(--stream-markdown-text-opacity), transparent)}.stream-markdown .text-primary{color:color-mix(in srgb, var(--primary) var(--stream-markdown-text-opacity), transparent)}.stream-markdown .hover\:text-foreground:hover{color:color-mix(in srgb, var(--foreground) var(--stream-markdown-text-opacity), transparent)}.stream-markdown .before\:text-muted-foreground\/50:before{color:color-mix(in srgb, var(--muted-foreground) 50%, transparent)}.stream-markdown .leading-6{--stream-markdown-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6)}.stream-markdown .leading-none{--stream-markdown-leading:var(--leading-none);line-height:var(--leading-none)}.stream-markdown .font-mono{font-family:var(--font-mono)}.stream-markdown .font-semibold{--stream-markdown-font-weight:var(--fontWeight-semibold);font-weight:var(--fontWeight-semibold)}.stream-markdown .before\:font-mono:before{font-family:var(--font-mono)}.stream-markdown :is(.\[\&_p\]\:m-0 p){margin:calc(var(--spacing) * 0)}.stream-markdown .mx-0{margin-inline:calc(var(--spacing) * 0)}.stream-markdown .my-4{margin-block:calc(var(--spacing) * 4)}.stream-markdown .my-6{margin-block:calc(var(--spacing) * 6)}.stream-markdown :is(.\[\&_p\]\:mb-0 p){margin-bottom:calc(var(--spacing) * 0)}.stream-markdown .mb-2{margin-bottom:calc(var(--spacing) * 2)}.stream-markdown .ml-1{margin-left:calc(var(--spacing) * 1)}.stream-markdown .mr-1{margin-right:calc(var(--spacing) * 1)}.stream-markdown .mr-2{margin-right:calc(var(--spacing) * 2)}.stream-markdown .mt-6{margin-top:calc(var(--spacing) * 6)}.stream-markdown .before\:mr-4:before{margin-right:calc(var(--spacing) * 4)}.stream-markdown .p-0\.5{padding:calc(var(--spacing) * .5)}.stream-markdown .p-1{padding:calc(var(--spacing) * 1)}.stream-markdown .p-2{padding:calc(var(--spacing) * 2)}.stream-markdown .p-3{padding:calc(var(--spacing) * 3)}.stream-markdown .p-4{padding:calc(var(--spacing) * 4)}.stream-markdown .p-6{padding:calc(var(--spacing) * 6)}.stream-markdown .px-4,.stream-markdown .px{padding-inline:calc(var(--spacing) * 4)}.stream-markdown :is(.\[\&_td\]\:px-4 td){padding-inline:calc(var(--spacing) * 4)}.stream-markdown :is(.\[\&_th\]\:px-4 th){padding-inline:calc(var(--spacing) * 4)}.stream-markdown .py-2{padding-block:calc(var(--spacing) * 2)}.stream-markdown :is(.\[\&_td\]\:py-2 td){padding-block:calc(var(--spacing) * 2)}.stream-markdown :is(.\[\&_th\]\:py-2 th){padding-block:calc(var(--spacing) * 2)}.stream-markdown .px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.stream-markdown .px-2{padding-inline:calc(var(--spacing) * 2)}.stream-markdown .py-0\.5{padding-block:calc(var(--spacing) * .5)}.stream-markdown .py-1{padding-block:calc(var(--spacing) * 1)}.stream-markdown .py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.stream-markdown .pl-1{padding-left:calc(var(--spacing) * 1)}.stream-markdown .pl-4{padding-left:calc(var(--spacing) * 4)}.stream-markdown .pl-5{padding-left:calc(var(--spacing) * 5)}.stream-markdown .text-center{text-align:center}.stream-markdown .before\:text-right:before{text-align:right}.stream-markdown .align-middle{vertical-align:middle}.stream-markdown .align-text-bottom{vertical-align:text-bottom}.stream-markdown .list-decimal{list-style-type:decimal}.stream-markdown .list-disc{list-style-type:disc}.stream-markdown :is(.\[\&\>button\]\:\!border>button){border-width:1px!important}.stream-markdown .border-2{border-width:2px}.stream-markdown .border{border-width:1px}.stream-markdown .border-y{border-top-width:1px;border-bottom-width:1px}.stream-markdown .border-b{border-bottom-width:1px}.stream-markdown :is(.\[\&_tr\]\:border-b tr){border-bottom-width:1px}.stream-markdown .border-l-4{border-left-width:4px}.stream-markdown .border-t{border-top-width:1px}.stream-markdown :is(.data-\[collapsed\=true\]\:\[\&_\.code-block-header\]\:border-b-0 .code-block-header[data-collapsed=true]){border-bottom-width:0}.stream-markdown .border-border{border-color:color-mix(in srgb, var(--border) var(--stream-markdown-border-opacity), transparent)}.stream-markdown :is(.\[\&_tr\]\:border-border tr){border-color:color-mix(in srgb, var(--border) var(--stream-markdown-border-opacity), transparent)}.stream-markdown :is(.\[\&\>button\]\:\!border-border>button){border-color:color-mix(in srgb, var(--border) var(--stream-markdown-border-opacity), transparent)!important}.stream-markdown .border-foreground{border-color:color-mix(in srgb, var(--foreground) var(--stream-markdown-border-opacity), transparent)}.stream-markdown .border-l-muted-foreground\/30{border-left-color:color-mix(in srgb, var(--muted-foreground) 30%, transparent)}.stream-markdown .border-t-transparent{border-top-color:transparent}.stream-markdown :is(.\[\&\>button\]\:\!rounded-lg>button){-webkit-border-radius:var(--radius-lg)!important;border-radius:var(--radius-lg)!important}.stream-markdown .rounded-full{-webkit-border-radius:3.40282e38px;border-radius:3.40282e38px}.stream-markdown .rounded-lg{-webkit-border-radius:var(--radius-lg);border-radius:var(--radius-lg)}.stream-markdown .rounded-md{-webkit-border-radius:var(--radius-md);border-radius:var(--radius-md)}.stream-markdown .rounded-xl{-webkit-border-radius:var(--radius-xl);border-radius:var(--radius-xl)}.stream-markdown .rounded{-webkit-border-radius:var(--radius-DEFAULT);border-radius:var(--radius-DEFAULT)}.stream-markdown :is(.\[\&\>button\]\:\!border-solid>button){--stream-markdown-border-style:solid!important;border-style:solid!important}.stream-markdown .border-none{--stream-markdown-border-style:none;border-style:none}.stream-markdown :is(.\[\&\>button\:last-child\:hover\]\:\!bg-primary\/90>button:last-child:hover){background-color:color-mix(in srgb, var(--primary) 90%, transparent)!important}.stream-markdown :is(.\[\&\>button\:last-child\]\:\!bg-primary>button:last-child){background-color:color-mix(in srgb, var(--primary) var(--stream-markdown-bg-opacity), transparent)!important}.stream-markdown :is(.\[\&\>svg\]\:\!bg-transparent>svg){background-color:transparent!important}.stream-markdown .bg-\[rgb\(0_0_0_\/_0\.1\)\]{background-color:color-mix(in oklab, rgba(0,0,0,.1) var(--stream-markdown-bg-opacity), transparent)}.stream-markdown .bg-\[rgb\(0_0_0_\/_0\.5\)\]{background-color:color-mix(in oklab, rgba(0,0,0,.5) var(--stream-markdown-bg-opacity), transparent)}.stream-markdown .bg-background{background-color:color-mix(in srgb, var(--background) var(--stream-markdown-bg-opacity), transparent)}.stream-markdown .bg-muted{background-color:color-mix(in srgb, var(--muted) var(--stream-markdown-bg-opacity), transparent)}.stream-markdown .bg-muted\/40{background-color:color-mix(in srgb, var(--muted) 40%, transparent)}.stream-markdown .bg-muted\/80{background-color:color-mix(in srgb, var(--muted) 80%, transparent)}.stream-markdown .bg-popover{background-color:color-mix(in srgb, var(--popover) var(--stream-markdown-bg-opacity), transparent)}.stream-markdown .bg-transparent{background-color:transparent}.stream-markdown .hover\:bg-accent:hover{background-color:color-mix(in srgb, var(--accent) var(--stream-markdown-bg-opacity), transparent)}.stream-markdown .opacity-0{opacity:0}.stream-markdown .line-through{text-decoration-line:line-through}.stream-markdown .underline{text-decoration-line:underline}.stream-markdown .data-\[stream-markdown-loading\=true\]\:no-underline[data-stream-markdown-loading=true]{text-decoration:none}.stream-markdown .flex{display:flex}.stream-markdown :is(.\[\&\>\*\:last-child\]\:flex>:last-child){display:flex}.stream-markdown .inline-flex{display:inline-flex}.stream-markdown .flex-1{flex:1}.stream-markdown :is(.\[\&_span\]\:flex-1 span){flex:1}.stream-markdown :is(.\[\&\>\*\:first-child\]\:flex-1>:first-child){flex:1}.stream-markdown :is(.\[\&\>\*\:last-child\]\:flex-1>:last-child){flex:1}.stream-markdown .shrink-0{flex-shrink:0}.stream-markdown .basis-0{flex-basis:calc(var(--spacing) * 0)}.stream-markdown .flex-col{flex-direction:column}.stream-markdown :is(.\[\&\>button\]\:\!gap-2>button){gap:calc(var(--spacing) * 2)!important}.stream-markdown .gap-1{gap:calc(var(--spacing) * 1)}.stream-markdown .gap-2{gap:calc(var(--spacing) * 2)}.stream-markdown .gap-4{gap:calc(var(--spacing) * 4)}.stream-markdown .size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.stream-markdown .size-full{width:100%;height:100%}.stream-markdown :is(.\[\&_span\]\:min-w-0 span){min-width:calc(var(--spacing) * 0)}.stream-markdown :is(.\[\&\>button\]\:\!w-full>button){width:100%!important}.stream-markdown .h-auto{height:auto}.stream-markdown .h-full{height:100%}.stream-markdown .max-w-\[28rem\]{max-width:28rem}.stream-markdown .max-w-full{max-width:100%}.stream-markdown .min-h-4{min-height:calc(var(--spacing) * 4)}.stream-markdown .w-full{width:100%}.stream-markdown .before\:w-4:before{width:calc(var(--spacing) * 4)}.stream-markdown .inline{display:inline}.stream-markdown :is(.\[\&_p\]\:inline p){display:inline}.stream-markdown .block{display:block}.stream-markdown .inline-block{display:inline-block}.stream-markdown :is(.\[\&_p\]\:inline-block p){display:inline-block}.stream-markdown .before\:inline-block:before{display:inline-block}.stream-markdown .list-item{display:list-item}.stream-markdown .visible{visibility:visible}.stream-markdown .collapse{visibility:collapse}.stream-markdown .data-\[stream-markdown-loading\=true\]\:cursor-default[data-stream-markdown-loading=true]{cursor:default}.stream-markdown .cursor-pointer{cursor:pointer}.stream-markdown .pointer-events-auto{pointer-events:auto}.stream-markdown .pointer-events-none{pointer-events:none}.stream-markdown .data-\[stream-markdown-loading\=true\]\:pointer-events-none[data-stream-markdown-loading=true]{pointer-events:none}.stream-markdown .select-none{user-select:none}.stream-markdown .before\:select-none:before{user-select:none}.stream-markdown :is(.\[\&_th\]\:whitespace-nowrap th){white-space:nowrap}.stream-markdown .whitespace-normal{white-space:normal}.stream-markdown .whitespace-pre-wrap{white-space:pre-wrap}.stream-markdown .before\:content-\[counter\(line\)\]:before{--stream-markdown-content:counter(line);content:var(--stream-markdown-content)}.stream-markdown .break-words{overflow-wrap:break-word}.stream-markdown :is(.\[\&_span\]\:break-words span){overflow-wrap:break-word}.stream-markdown .lowercase{text-transform:lowercase}.stream-markdown .italic{font-style:italic}.stream-markdown .shadow-\[0_20px_25px_-5px_rgb\(0_0_0_\/_0\.1\)\,0_8px_10px_-6px_rgb\(0_0_0_\/_0\.1\)\]{--stream-markdown-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);box-shadow:var(--stream-markdown-inset-shadow), var(--stream-markdown-inset-ring-shadow), var(--stream-markdown-ring-offset-shadow), var(--stream-markdown-ring-shadow), var(--stream-markdown-shadow)}.stream-markdown .-translate-x-1\/2{--stream-markdown-translate-x:-50%;translate:var(--stream-markdown-translate-x) var(--stream-markdown-translate-y)}.stream-markdown :is(.\[\&\>\*\:nth-child\(2\)\]\:-translate-x-1\/2>:nth-child(2)){--stream-markdown-translate-x:-50%;translate:var(--stream-markdown-translate-x) var(--stream-markdown-translate-y)}.stream-markdown .-translate-y-1\/2{--stream-markdown-translate-y:-50%;translate:var(--stream-markdown-translate-x) var(--stream-markdown-translate-y)}.stream-markdown .transform{transform:var(--stream-markdown-rotate-x) var(--stream-markdown-rotate-y) var(--stream-markdown-rotate-z) var(--stream-markdown-skew-x) var(--stream-markdown-skew-y)}.stream-markdown .transition-\[height\]{transition-property:height;transition-timing-function:var(--stream-markdown-ease,var(--default-transition-timingFunction));transition-duration:var(--stream-markdown-duration,var(--default-transition-duration))}.stream-markdown .transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,--stream-markdown-gradient-from,--stream-markdown-gradient-via,--stream-markdown-gradient-to;transition-timing-function:var(--stream-markdown-ease,var(--default-transition-timingFunction));transition-duration:var(--stream-markdown-duration,var(--default-transition-duration))}.stream-markdown .transition-opacity{transition-property:opacity;transition-timing-function:var(--stream-markdown-ease,var(--default-transition-timingFunction));transition-duration:var(--stream-markdown-duration,var(--default-transition-duration))}.stream-markdown .transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,--stream-markdown-gradient-from,--stream-markdown-gradient-via,--stream-markdown-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,backdrop-filter;transition-timing-function:var(--stream-markdown-ease,var(--default-transition-timingFunction));transition-duration:var(--stream-markdown-duration,var(--default-transition-duration))}.stream-markdown [transition=""]{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,--stream-markdown-gradient-from,--stream-markdown-gradient-via,--stream-markdown-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,backdrop-filter;transition-timing-function:var(--stream-markdown-ease,var(--default-transition-timingFunction));transition-duration:var(--stream-markdown-duration,var(--default-transition-duration))}.stream-markdown .duration-\[var\(--default-transition-duration\)\]{--stream-markdown-duration:var(--default-transition-duration);transition-duration:var(--default-transition-duration)}.stream-markdown .ease{--stream-markdown-ease:var(--ease-DEFAULT);transition-timing-function:var(--ease-DEFAULT)}.stream-markdown .\[counter-reset\:line\]{counter-reset:line}.stream-markdown .\[overflow-wrap\:anywhere\]{overflow-wrap:anywhere}.stream-markdown .before\:\[counter-increment\:line\]:before{counter-increment:line}.stream-markdown .items-center{align-items:center}.stream-markdown .inset-0{inset:calc(var(--spacing) * 0)}.stream-markdown .-right-3{right:calc(var(--spacing) * -3)}.stream-markdown .-top-3{top:calc(var(--spacing) * -3)}.stream-markdown .top-0{top:calc(var(--spacing) * 0)}.stream-markdown :is(.\[\&_thead\]\:top-0 thead){top:calc(var(--spacing) * 0)}.stream-markdown .left-1\/2{left:50%}.stream-markdown :is(.\[\&\>\*\:nth-child\(2\)\]\:left-1\/2>:nth-child(2)){left:50%}.stream-markdown .bottom-2{bottom:calc(var(--spacing) * 2)}.stream-markdown .right-2{right:calc(var(--spacing) * 2)}.stream-markdown .top-1\/2{top:50%}.stream-markdown .justify-end{justify-content:flex-end}.stream-markdown :is(.\[\&\>\*\:last-child\]\:justify-end>:last-child){justify-content:flex-end}.stream-markdown .justify-center{justify-content:center}.stream-markdown .justify-between{justify-content:space-between}.stream-markdown .sticky{position:sticky}.stream-markdown :is(.\[\&_thead\]\:sticky thead){position:sticky}.stream-markdown .absolute{position:absolute}.stream-markdown :is(.\[\&\>\*\:nth-child\(2\)\]\:absolute>:nth-child(2)){position:absolute}.stream-markdown .relative{position:relative}.stream-markdown .data-\[stream-markdown-loading\=true\]\:relative[data-stream-markdown-loading=true]{position:relative}.stream-markdown .fixed{position:fixed}.stream-markdown :is(.\[\&_thead\]\:z-10 thead){z-index:10}.stream-markdown .z-\[1\]{z-index:1}.stream-markdown .z-\[10000\]{z-index:10000}.stream-markdown .z-\[5\]{z-index:5}.stream-markdown .overflow-auto{overflow:auto}.stream-markdown .overflow-clip{overflow:clip}.stream-markdown .overflow-hidden{overflow:hidden}.stream-markdown .overflow-x-auto{overflow-x:auto}.stream-markdown .animate-\[stream-markdown-spin_1s_linear_infinite\]{animation:1s linear infinite stream-markdown-spin}.stream-markdown .object-contain{object-fit:contain}.stream-markdown .backdrop-blur{--stream-markdown-backdrop-blur:blur(8px);backdrop-filter:var(--stream-markdown-backdrop-blur,) var(--stream-markdown-backdrop-brightness,) var(--stream-markdown-backdrop-contrast,) var(--stream-markdown-backdrop-grayscale,) var(--stream-markdown-backdrop-hue-rotate,) var(--stream-markdown-backdrop-invert,) var(--stream-markdown-backdrop-opacity,) var(--stream-markdown-backdrop-saturate,) var(--stream-markdown-backdrop-sepia,)}.stream-markdown .table{display:table}.stream-markdown .border-collapse{border-collapse:collapse}@media (max-width:calc(64rem - .1px)){.stream-markdown .max-lg\:px-3{padding-inline:calc(var(--spacing) * 3)}.stream-markdown .max-lg\:gap-0{gap:calc(var(--spacing) * 0)}}
|