UNPKG

hiller-ui

Version:

A personal Vue.js 3.0 UI Toolkit.

52 lines (43 loc) 1.03 kB
import MessageComponent from "./index.vue"; import { createCompoent } from "../../../composables/component"; const instances = []; // let seed = 1; const Message = (options) => { if (typeof options === "string") { options = { message: options }; } createMessage(options); }; function createMessage(opts) { const instance = createMessageComponentByOpts(opts); appendToBody(instance); addInstance(instance); return instance.proxy; } function addInstance(instance) { instances.push(instance); } function appendToBody(componentInstance) { document.body.append(componentInstance.vnode.el); } function createMessageComponentByOpts(opts) { return createCompoent(MessageComponent, opts); } const TypeArr = [ "success", "info", "warning", "error" ]; TypeArr.forEach(type => { Message[type] = function (message, duration = 2000) { return Message({ message, type, duration }); }; }); export default Message;