UNPKG

vue-devui

Version:

DevUI components based on Vite and Vue3

68 lines (67 loc) 1.88 kB
import { defineComponent, computed, createVNode } from "vue"; function createBem(namespace, element, modifier) { let cls = namespace; if (element) { cls += `__${element}`; } if (modifier) { cls += `--${modifier}`; } return cls; } function useNamespace(block, needDot = false) { const namespace = needDot ? `.devui-${block}` : `devui-${block}`; const b = () => createBem(namespace); const e = (element) => element ? createBem(namespace, element) : ""; const m = (modifier) => modifier ? createBem(namespace, "", modifier) : ""; const em = (element, modifier) => element && modifier ? createBem(namespace, element, modifier) : ""; return { b, e, m, em }; } var status = ""; var Status = defineComponent({ name: "DStatus", props: { type: { default: "invalid", type: String } }, setup(props, ctx) { const ns = useNamespace("status"); const typeClass = computed(() => { const { type } = props; const typeStatus = ["success", "error", "initial", "warning", "waiting", "running", "invalid"]; let typeClassStr = `${ns.b()} ${ns.em("bg", "invalid")}`; if (typeStatus.includes(type)) { typeClassStr = `${ns.b()} ${ns.em("bg", type)}`; } return typeClassStr; }); return () => { var _a, _b; return createVNode("span", { "class": typeClass.value }, [(_b = (_a = ctx.slots).default) == null ? void 0 : _b.call(_a)]); }; } }); var index = { title: "Status \u72B6\u6001", category: "\u901A\u7528", status: "100%", deprecated: { value: true, reason: "Status \u662F\u65E0\u5185\u5BB9\u5305\u88F9\u72B6\u6001\u4E0B\u7684 Badge \u7EC4\u4EF6\uFF0C\u5E94\u8BE5\u4F7F\u7528 Badge \u66FF\u4EE3\u3002" }, install(app) { app.component(Status.name, Status); } }; export { Status, index as default };