@hsorby/vue3-katex
Version:
Vue 3 plugin for KaTeX
2 lines (1 loc) • 2.45 kB
JavaScript
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("katex"),require("katex/dist/contrib/auto-render.js"),require("deepmerge"),require("vue")):"function"==typeof define&&define.amd?define(["katex","katex/dist/contrib/auto-render.js","deepmerge","vue"],t):(e="undefined"!=typeof globalThis?globalThis:e||self).Vue3Katex=t(e.Katex,e.renderMathInElement,e.deepmerge,e.Vue)}(this,(function(e,t,r,o){"use strict";var n=function(o){return{name:"katex",directive:function(n,a){var i=a.value&&a.value.options||{},u=r(o,i);if(a.arg&&"auto"===a.arg)t(n,u);else{var l=a.value.expression||a.value,d={};"display"===a.arg&&(d.displayMode=!0);var s=r(u,d);e.render(l,n,s)}}}},a={name:"KatexElement"},i=Object.assign(a,{props:{expression:{type:String,default:"",required:!0},displayMode:{type:Boolean,default:void 0},throwOnError:{type:Boolean,default:void 0},errorColor:{type:String,default:void 0},macros:{type:Object,default:void 0},colorIsTextColor:{type:Boolean,default:void 0},maxSize:{type:Number,default:void 0},maxExpand:{type:Number,default:void 0},allowedProtocols:{type:Array,default:void 0},strict:{type:[Boolean,String,Function],default:void 0}},setup:function(t){var n=t,a=o.toRefs(n),i=a.displayMode,u=a.expression,l=a.throwOnError,d=a.errorColor,s=a.macros,c=a.colorIsTextColor,p=a.maxSize,v=a.maxExpand,m=a.allowedProtocols,f=a.strict,x=o.ref({});x.value=o.inject("$katexOptions");var y=o.computed((function(){return r(x.value,function(e){var t={};for(var r of Object.keys(e))void 0!==e[r]&&(t[r]=e[r]);return t}({displayMode:i.value,throwOnError:l.value,errorColor:d.value,macros:s.value,colorIsTextColor:c.value,maxSize:p.value,maxExpand:v.value,allowedProtocols:m.value,strict:f.value}))})),g=o.computed((function(){return i.value?"div":"span"})),b=o.computed((function(){return e.renderToString(u.value,y.value)}));return function(e,t){return o.openBlock(),o.createBlock(o.resolveDynamicComponent(o.unref(g)),{innerHTML:o.unref(b)},null,8,["innerHTML"])}}});return i.__file="src/components/KatexElement.vue",function(e,t){var r=t&&t.globalOptions||{},o=n(r);t&&t.mhchem&&import("katex/dist/contrib/mhchem.mjs"),t&&t.copyTex&&import("katex/dist/contrib/copy-tex.mjs"),t&&t.mathtexScriptType&&import("katex/dist/contrib/mathtex-script-type.mjs"),t&&t.renderA11yString&&import("katex/dist/contrib/render-a11y-string.mjs"),e.directive(o.name,o.directive),e.component(i.name,i),e.provide("$katexOptions",r)}}));