@vuepress/plugin-markdown-preview
Version:
VuePress plugin - preview
3 lines (2 loc) • 1.3 kB
JavaScript
import{useLocale as u}from"@vuepress/helper/client";import{useToggle as d,useEventListener as c,useResizeObserver as g}from"@vueuse/core";import{defineComponent as w,useId as f,shallowRef as m,ref as b,h as e}from"vue";import"./styles/vp-preview.css";var h=w({name:"VPPreview",props:{title:String,locales:{type:Object,default:()=>({})}},slots:Object,setup(a,{slots:r}){const s=`vp-preview-${f()}`,v=u(a.locales),[t,i]=d(!1),l=m(),o=b("0"),n=()=>{i(),o.value=t.value?`${l.value.clientHeight}px`:"0"};let p=!1;return c("beforeprint",()=>{p=t.value,i(!0)}),c("afterprint",()=>{p||i()}),g(l,()=>{t.value&&(o.value=`${l.value.clientHeight}px`)}),()=>e("div",{class:{"vp-preview":!0,"is-expanded":t.value}},[e("div",{class:"vp-preview-showcase"},r.content()),e("div",{class:"vp-preview-control"},[a.title?e("div",{class:"vp-preview-title"},decodeURIComponent(a.title)):null,e("button",{type:"button",class:"vp-preview-toggle-button",title:v.value.toggle,"aria-label":v.value.toggle,"aria-controls":s,"aria-expanded":t.value,onClick:()=>{n()}},e("div",{class:"vp-preview-toggle-icon"}))]),e("div",{id:s,class:"vp-preview-code-wrapper",style:{height:o.value},"data-allow-mismatch":"attribute"},e("div",{class:"vp-preview-code",ref:l},r.code()))])}});export{h as P};
//# sourceMappingURL=VPPreview-Dzr-2ZZL.js.map