UNPKG

vuux

Version:

Vue3 Nuxt3 Nuxt4 组件库

32 lines (31 loc) 773 B
import { inject as v, ref as u, useSlots as h, computed as a, onMounted as b } from "vue"; const M = (e) => { const o = v("contextMenuContext"), t = u(!1), s = u(!1), i = h(), l = a(() => o?.isShadow.value), d = a(() => ({ "is-disabled": e.disabled, "is-hover": t.value })), r = (m) => { m.stopPropagation(), !e.disabled && o?.hide(); }; let n; const c = () => { e.disabled || (clearTimeout(n), t.value = !0); }, f = () => { e.disabled || (n = window.setTimeout(() => { t.value = !1; }, 150)); }; return b(() => { s.value = !!i.default?.(); }), { isHover: t, hasSubmenu: s, isShadow: l, classNames: d, handleClick: r, onMouseEnter: c, onMouseLeave: f }; }; export { M as useContextItem };