UNPKG

vuux

Version:

Vue3 Nuxt3 Nuxt4 组件库

78 lines (77 loc) 2.88 kB
import { defineComponent as S, withDirectives as w, createElementBlock as r, openBlock as o, normalizeClass as v, Fragment as x, renderList as I, unref as e, createElementVNode as i, createBlock as s, createCommentVNode as a, toDisplayString as U, withCtx as h, Transition as _, vShow as b } from "vue"; import z from "../../CollapseTransition/src/index.vue.mjs"; import { Icon as k } from "@vuux/icons"; import { useItemMenu as B } from "./hook/useItemMenu.mjs"; const K = ["onMouseenter", "onMouseleave", "onClick"], $ = { class: "menu-title" }, D = { class: "name" }, p = /* @__PURE__ */ S({ name: "MenuItem", __name: "item", props: { data: {}, itemUl: {}, level: { default: 0 } }, emits: ["change", "select"], setup(t, { emit: y }) { const u = t, C = y, { menuContext: l, onMouseenter: f, onMouseleave: g, handleClick: M, onSelect: d, onChange: m } = B(u, C); return (E, N) => w((o(), r("ul", { class: v(["level-" + t.level, { "is-child": t.itemUl }]) }, [ (o(!0), r(x, null, I(u.data, (n) => (o(), r("li", { key: n[e(l)?.props.skey], class: v({ "is-disabled": n.disabled, "is-down": e(l)?.openKeys.value.includes(n[e(l)?.props.skey]), "is-selected": n[e(l)?.props.skey] === e(l)?.selectKeys.value }), onMouseenter: (c) => e(f)(n), onMouseleave: (c) => e(g)(n), onClick: (c) => e(M)(n, c) }, [ i("div", $, [ i("div", D, [ n.icon ? (o(), s(e(k), { key: 0, name: n.icon, size: 15 }, null, 8, ["name"])) : a("", !0), i("span", null, U(n[e(l)?.props.label]), 1) ]), n.children ? (o(), s(e(k), { key: 0, name: "Icon1336922", size: 14 })) : a("", !0) ]), e(l)?.props.mode === "vertical" ? (o(), s(z, { key: 0 }, { default: h(() => [ n.children ? (o(), s(p, { key: 0, data: n.children, "item-ul": n, level: t.level + 1, onChange: e(m), onSelect: e(d) }, null, 8, ["data", "item-ul", "level", "onChange", "onSelect"])) : a("", !0) ]), _: 2 }, 1024)) : (o(), s(_, { key: 1, name: "ease-drop" }, { default: h(() => [ n.children ? (o(), s(p, { key: 0, data: n.children, "item-ul": n, level: t.level + 1, onChange: e(m), onSelect: e(d) }, null, 8, ["data", "item-ul", "level", "onChange", "onSelect"])) : a("", !0) ]), _: 2 }, 1024)) ], 42, K))), 128)) ], 2)), [ [b, !t.itemUl || e(l)?.openKeys.value.includes(t.itemUl[e(l)?.props.skey])] ]); } }); export { p as default };