tyh-ui2
Version:
The next generation ui component library of tyh-ui is based on vue3 Version, fully embrace vue3.
49 lines (48 loc) • 1.42 kB
JavaScript
import { defineComponent as h, provide as a, computed as m, openBlock as l, createElementBlock as r, normalizeClass as n, unref as o, normalizeStyle as f, renderSlot as u, createCommentVNode as d } from "vue";
import { Props as y } from "./index2.js";
const C = h({
name: "TyhMenu"
}), g = /* @__PURE__ */ h({
...C,
props: y,
setup(i) {
const e = i;
a("theme", e.theme), a("mode", e.mode), a("textColor", e.textColor);
const s = m(() => e.mode === "horizontal" && "tyh-menu-flex"), c = m(() => [
"tyh-menu",
s.value,
{
"tyh-menu-shadow": e.shadow,
[`tyh-menu-${e.theme}`]: e.theme
}
]), p = m(() => [
{ "tyh-menu-collapse": e.collapse && e.mode === "vertical" }
]);
return (t, k) => (l(), r("ul", {
class: n([...o(c), ...o(p)]),
style: f({ backgroundColor: t.backgroundColor })
}, [
t.$slots.left ? (l(), r("div", {
key: 0,
class: n(["tyh-menu-left", o(s)])
}, [
u(t.$slots, "left")
], 2)) : d("", !0),
t.$slots.default ? (l(), r("div", {
key: 1,
class: n(["tyh-menu-default", o(s)])
}, [
u(t.$slots, "default")
], 2)) : d("", !0),
t.$slots.right ? (l(), r("div", {
key: 2,
class: n(["tyh-menu-right", o(s)])
}, [
u(t.$slots, "right")
], 2)) : d("", !0)
], 6));
}
});
export {
g as default
};