UNPKG

md-editor-v3

Version:

Markdown editor for vue3, developed in jsx and typescript, dark theme、beautify content by prettier、render articles directly、paste or clip the picture and upload it...

164 lines (163 loc) 3.57 kB
import { defineComponent, createVNode, Fragment, isVNode } from "vue"; import { p as prefix } from "./chunks/config.mjs"; import { g as getSlot } from "./chunks/vue-tsx.mjs"; import { M as MdModal } from "./chunks/index2.mjs"; function _isSlot(s) { return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !isVNode(s); } const props = { title: { type: String, default: "" }, modalTitle: { type: [String, Object], default: "" }, visible: { type: Boolean, default: void 0 }, width: { type: String, default: "auto" }, height: { type: String, default: "auto" }, // 展示在工具栏的内容,通常是个图标 trigger: { type: [String, Object], default: void 0 }, onClick: { type: Function, default: void 0 }, onClose: { type: Function, default: void 0 }, /** * 显示全屏按钮 */ showAdjust: { type: Boolean, default: false }, isFullscreen: { type: Boolean, default: false }, onAdjust: { type: Function, default: void 0 }, class: { type: String, default: void 0 }, style: { type: [Object, String], default: void 0 }, showMask: { type: Boolean, default: true }, /** * ==没有意义,仅用于规避克隆组件自动嵌入insert方法时,传入的是该组件而产生的waring */ insert: { type: Function, default: void 0 }, language: { type: String, default: void 0 }, theme: { type: String, default: void 0 }, previewTheme: { type: String, default: void 0 }, codeTheme: { type: String, default: void 0 }, disabled: { type: Boolean, default: void 0 }, showToolbarName: { type: Boolean, default: void 0 } /** * ==结束 */ }; const ModalToolbar = /* @__PURE__ */ defineComponent({ name: "ModalToolbar", props, emits: ["onClick", "onClose", "onAdjust"], setup(props2, ctx) { return () => { const Trigger = getSlot({ props: props2, ctx }, "trigger"); const ModalTitle = getSlot({ props: props2, ctx }, "modalTitle"); const Default = getSlot({ props: props2, ctx }); return createVNode(Fragment, null, [createVNode("div", { "class": [`${prefix}-toolbar-item`, props2.disabled && `${prefix}-disabled`], "title": props2.title, "onClick": () => { var _a; if (props2.disabled) return; (_a = props2.onClick) == null ? void 0 : _a.call(props2); ctx.emit("onClick"); } }, [Trigger]), createVNode(MdModal, { "style": props2.style, "class": props2.class, "width": props2.width, "height": props2.height, "title": ModalTitle, "visible": props2.visible, "showMask": props2.showMask, "onClose": () => { var _a; (_a = props2.onClose) == null ? void 0 : _a.call(props2); ctx.emit("onClose"); }, "showAdjust": props2.showAdjust, "isFullscreen": props2.isFullscreen, "onAdjust": (v) => { var _a; (_a = props2.onAdjust) == null ? void 0 : _a.call(props2, v); ctx.emit("onAdjust", v); } }, _isSlot(Default) ? Default : { default: () => [Default] })]); }; } }); ModalToolbar.install = (app) => { app.component(ModalToolbar.name, ModalToolbar); return app; }; export { ModalToolbar as default };