vuepress-plugin-md-enhance
Version:
Markdown enhancement plugin for vuepress
3 lines (2 loc) • 1.67 kB
JavaScript
import{deepAssign as y,LoadingIcon as P}from"@vuepress/helper/client";import{defineComponent as U,ref as V,shallowRef as n,computed as I,h as r,onMounted as C,version as S}from"vue";import"@vue/repl/style.css";import"../styles/vue-playground.scss";import{u as M}from"../vuePlayground-BYL10dkl.js";const b=e=>JSON.parse(decodeURIComponent(e));var O=U({name:"VuePlayground",props:{files:{type:String,required:!0},title:String,settings:String},setup(e){const{vueVersion:t=S,vueRuntimeDevUrl:a=`https://unpkg.com/@vue/runtime-dom@${t}/dist/runtime-dom.esm-browser.js`,vueRuntimeProdUrl:l=`https://unpkg.com/@vue/runtime-dom@${t}/dist/runtime-dom.esm-browser.prod.js`,vueServerRendererUrl:p=`https://unpkg.com/@vue/server-renderer@${t}/dist/server-renderer.esm-browser.js`,...d}=M(),s=V(!0),o=n(),i=n(),u=n(),m=I(()=>y({},d,b(e.settings??"{}"))),v=async()=>{const[{useStore:c,useVueImportMap:g,Repl:f},{default:R}]=await Promise.all([import("@vue/repl"),VUE_PLAYGROUND_MONACO?import("@vue/repl/monaco-editor"):import("@vue/repl/codemirror-editor")]);o.value=f,u.value=R;const{importMap:h,vueVersion:w}=g({runtimeDev:a,runtimeProd:l,serverRenderer:p});i.value=c({builtinImportMap:h,vueVersion:w},decodeURIComponent(e.files))};return C(async()=>{await v(),s.value=!1}),()=>[r("div",{class:"vp-container vue-playground-wrapper"},[e.title?r("div",{class:"vp-container-header"},r("div",{class:"vp-container-title"},decodeURIComponent(e.title))):null,r("div",{class:"repl-container"},[s.value?r(P,{class:"vue-preview-loading",height:192}):null,o.value?r(o.value,{...m.value,editor:u.value,store:i.value}):null])])]}});export{O as default};
//# sourceMappingURL=VuePlayground.js.map