UNPKG

ant-design-x-vue-next

Version:

Ant Design X for Vue — community continuation aligned with @ant-design/x

2 lines (1 loc) 3.12 kB
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t=require("vue"),C=require("../chunks/module-chunk.js");require("../code-highlighter/index.js");require("../mermaid/index.js");const k=require("./composables/useStreaming.js"),S=require("./DebugPanel.js"),_=require("./htmlToVNodes.js"),w=require("./parser.js");;/* empty css */const v=require("../mermaid/Mermaid.js"),q=require("../code-highlighter/CodeHighlighter.js"),c="|",M=t.defineComponent({name:"AXXMarkdown",__name:"XMarkdown",props:{content:null,children:null,components:null,streaming:null,config:null,rootClassName:null,className:null,class:null,style:null,openLinksInNewTab:{type:Boolean,default:!1},dompurifyConfig:null,escapeRawHtml:{type:Boolean,default:!1},disableDefaultStyles:{type:Boolean},debug:{type:Boolean,default:!1}},setup(d){const n=d,o=t.useSlots(),m=t.defineComponent({name:"AXXMarkdownDefaultCode",props:{lang:{type:String,default:""},block:{type:Boolean,default:!1},content:{type:String,default:""}},setup(e){return()=>{const a=e.content||"";return e.block?e.lang==="mermaid"?t.createVNode(v.default,{children:a},null):e.lang?t.createVNode(q.default,{lang:e.lang,children:a},null):t.createVNode("pre",null,[t.createVNode("code",null,[a])]):t.createVNode("code",{class:e.lang?`language-${e.lang}`:void 0},[a])}}}),f=t.computed(()=>{var r;if(typeof n.content=="string")return n.content;if(typeof n.children=="string")return n.children;const e=(r=o.default)==null?void 0:r.call(o);return e?(Array.isArray(e)?e:[e]).map(l=>{if(typeof l=="string"||typeof l=="number")return String(l);if(l&&typeof l=="object"&&"children"in l){const s=l.children;if(typeof s=="string"||typeof s=="number")return String(s)}return""}).join(""):""}),u=t.computed(()=>({code:m,...n.components})),g=t.computed(()=>({streaming:n.streaming,components:u.value})),i=k.useStreaming(f,g),p=t.computed(()=>{var e;return(e=n.streaming)!=null&&e.hasNextChunk?"loading":"done"}),y=t.computed(()=>{var a,r;const e=(a=n.streaming)==null?void 0:a.tail;return!!((r=n.streaming)!=null&&r.hasNextChunk&&e)}),b=t.computed(()=>{var a;const e=(a=n.streaming)==null?void 0:a.tail;return e&&typeof e=="object"?e.content??c:c}),h=t.computed(()=>{if(n.disableDefaultStyles===!0)return"x-md-disable-all";if(Array.isArray(n.disableDefaultStyles))return n.disableDefaultStyles.map(e=>`x-md-disable-${e}`)}),N=t.computed(()=>{var r,l;const e=i.value;if(!e)return null;const a=w.parseMarkdown(e,{markedConfig:n.config,openLinksInNewTab:n.openLinksInNewTab,injectTail:y.value,tailContent:b.value,escapeRawHtml:n.escapeRawHtml});return _.htmlToVNodes(a,{components:u.value,dompurifyConfig:n.dompurifyConfig,streamStatus:p.value,enableAnimation:(r=n.streaming)==null?void 0:r.enableAnimation,animationConfig:(l=n.streaming)==null?void 0:l.animationConfig})});return()=>i.value?t.createVNode(t.Fragment,null,[t.createVNode("div",{class:C.classnames("x-markdown",h.value,n.rootClassName,n.className,n.class),style:n.style},[N.value]),n.debug?t.createVNode(S.default,null,null):null]):null}});exports.default=M;