UNPKG

vuepress-plugin-md-enhance

Version:
3 lines (2 loc) 1.07 kB
import{useDarkMode as m,deepAssign as n,decodeData as r}from"@vuepress/helper/client";import{Sandpack as d}from"sandpack-vue3";import{defineComponent as u,computed as a,h as e}from"vue";import"../styles/sandpack.scss";import{u as S}from"../sandpack-D5lmT_3m.js";const v=t=>JSON.parse(r(t)),f=t=>JSON.parse(r(t)),g=t=>JSON.parse(r(t));var k=u({name:"SandPack",props:{files:{type:String,required:!0},title:String,template:String,options:String,customSetup:String,theme:String,rtl:Boolean},setup(t){const p=m(),o=S(),i=a(()=>n({},o.options,f(t.options??"{}"))),s=a(()=>t.template??o.template),l=a(()=>t.theme??(p.value?"dark":"light")),c=a(()=>n({},o.customSetup,g(t.customSetup??"{}")));return()=>[e("div",{class:"vp-container sandpack-wrapper"},[t.title?e("div",{class:"vp-container-header"},e("div",{class:"vp-container-title"},decodeURIComponent(t.title))):null,e("div",{class:"sandpack-container"},e(d,{template:s.value,theme:l.value,files:v(t.files),options:i.value,customSetup:c.value,rtl:t.rtl}))])]}});export{k as default}; //# sourceMappingURL=SandPack.js.map