vexip-ui
Version:
A Vue 3 UI library, Highly customizability, full TypeScript, performance pretty good
63 lines (62 loc) • 1.72 kB
JavaScript
import { isVNode as n, defineComponent as i, computed as c, renderSlot as m, createVNode as r } from "vue";
import { useProps as u, useNameHelper as b } from "@vexip-ui/config";
import { textProps as f } from "./props.mjs";
function p(a) {
return typeof a == "function" || Object.prototype.toString.call(a) === "[object Object]" && !n(a);
}
const g = /* @__PURE__ */ i({
name: "Text",
props: f,
emits: [],
setup(a, {
slots: o
}) {
const e = u("text", a, {
type: "default",
tag: "span",
delete: !1,
strong: !1,
italic: !1,
underline: !1,
code: !1,
mark: !1,
disabled: !1,
keyboard: !1,
thin: !1,
reversed: !1
}), t = b("text"), s = c(() => ({
[t.b()]: !0,
[t.bs("vars")]: !0,
[t.bm("inherit")]: e.inherit,
[t.bm(e.type)]: e.type !== "default",
[t.bm("delete")]: e.delete,
[t.bm("strong")]: e.strong,
[t.bm("italic")]: e.italic,
[t.bm("underline")]: e.underline,
[t.bm("code")]: e.code,
[t.bm("mark")]: e.mark,
[t.bm("disabled")]: e.disabled,
[t.bm("keyboard")]: e.keyboard,
[t.bm("thin")]: e.thin,
[t.bm("reversed")]: e.reversed
}));
return () => {
const d = e.tag || "span", l = m(o, "default");
return e.code ? r("code", {
class: s.value
}, [e.delete ? r("del", null, [l]) : l]) : e.keyboard ? r("kbd", {
class: s.value
}, [e.delete ? r("del", null, [l]) : l]) : e.delete ? r("del", {
class: s.value
}, [l]) : r(d, {
class: s.value
}, p(l) ? l : {
default: () => [l]
});
};
}
});
export {
g as default
};
//# sourceMappingURL=text.mjs.map