UNPKG

vue-markdown-wasm

Version:
13 lines (11 loc) 2.37 kB
/** * vue-markdown-wasm * * @description markdown-wasm for vue 2 & 3 * @author Logue <logue@hotmail.co.jp> * @copyright 2022-2025 By Masashi Yoshikawa All rights reserved. * @license MIT * @version 0.5.2 * @see {@link https://github.com/logue/vue-markdown-wasm} */ (function(a,o){typeof exports=="object"&&typeof module<"u"?o(exports,require("@logue/markdown-wasm"),require("vue-demi")):typeof define=="function"&&define.amd?define(["exports","@logue/markdown-wasm","vue-demi"],o):(a=typeof globalThis<"u"?globalThis:a||self,o(a.VueMarkdown={},a.markdown,a.VueDemi))})(this,function(a,o,l){"use strict";const f={version:"0.5.2",date:"2025-07-12T05:52:57.079Z"},m=e=>e?Object.entries(e).reduce((r,[n,s])=>(n=n.charAt(0).toUpperCase()+n.slice(1),n=`on${n}`,{...r,[n]:s}),{}):{};function h(e,r={},n){if(l.isVue2)return l.h(e,r,n);const{props:s,domProps:d,on:t,...u}=r,i=t!=null?m(t):{};return l.h(e,{...u,...s,...d,...i},n)}var c=l.defineComponent({name:"VueMarkdown",model:{prop:"modelValue"},props:{modelValue:{type:String,default:""},tag:{type:String,default:"article"},parseFlags:{type:Number,default:o.ParseFlags.DEFAULT},format:{type:String,default:"xhtml"},bytes:{type:Boolean,default:!1},allowJsUri:{type:Boolean,default:!1},onCodeBlock:{type:Function},debug:{type:Boolean,default:!1},verbatimEntities:{type:Boolean,default:!0},disableHeadlineAnchors:{type:Boolean,default:!1}},emits:{render:e=>!0},setup(e,r){const n=l.ref(),s=l.ref("");l.watch(()=>e,async t=>{s.value=d(t.modelValue,{parseFlags:t.parseFlags,xhtml:t.format==="xhtml",bytes:e.bytes,allowJSURIs:t.allowJsUri,onCodeBlock:t.onCodeBlock,debug:t.debug,verbatimEntities:t.verbatimEntities,disableHeadlineAnchors:t.disableHeadlineAnchors}),await l.nextTick()},{deep:!0}),l.onMounted(async()=>{await o.ready(),s.value=d(e.modelValue,{parseFlags:e.parseFlags,xhtml:e.format=="xhtml",bytes:e.bytes,allowJSURIs:e.allowJsUri,onCodeBlock:e.onCodeBlock,debug:e.debug,verbatimEntities:e.verbatimEntities,disableHeadlineAnchors:e.disableHeadlineAnchors})});const d=(t,u)=>{const i=o.parse(t,u);return r.emit("render",i),i};return r.expose({render:d}),{placeholder:n,html:s}},render(){return h(this.$props.tag,{ref:"placeholder",class:"vue-markdown",innerHTML:this.html})}});const b=e=>e.component("VueMarkdown",c);a.Meta=f,a.default=c,a.install=b,Object.defineProperty(a,"__esModule",{value:!0})});