dm-vue3-ui
Version:
This Components Library will help get you started developing in Vue 3.
2 lines (1 loc) • 1.22 kB
JavaScript
"use strict";const e=require("vue"),r=require("prismjs"),t=["data-prismjs-copy","data-prismjs-copy-success","data-prismjs-copy-error","data-language"],a=["innerHTML"],s=e.defineComponent({name:"dm-preview-code",__name:"index",props:{code:{default:""},type:{default:"markup"},isShowlineNumbers:{type:Boolean,default:!1},copyText:{default:"Copy"},copySuccessText:{default:"Copied!"},copyErrorText:{default:"User to press Ctrl+C"}},setup(s){const o=s,c=e.computed((()=>o.isShowlineNumbers?"line-numbers":"no-line-numbers")),p=e.computed((()=>{try{return r.highlight(o.code,r.languages[o.type],o.type)}catch(e){}return""}));return e.onMounted((()=>{r.highlightAll()})),(r,s)=>(e.openBlock(),e.createElementBlock("pre",{lang:"zh-Hans-CN","data-previewers":"color time","data-prismjs-copy":o.copyText,"data-prismjs-copy-success":r.copySuccessText,"data-prismjs-copy-error":r.copyErrorText,class:e.normalizeClass("hx-scroll dm-preview-code normalize-whitespace "+c.value+" language-"+o.type),"data-language":o.type},[s[0]||(s[0]=e.createTextVNode(" ")),e.createElementVNode("code",{class:e.normalizeClass("language-"+o.type),innerHTML:p.value},null,10,a),s[1]||(s[1]=e.createTextVNode("\n "))],10,t))}});module.exports=s;