vuux
Version:
Vue3 Nuxt3 Nuxt4 组件库
2 lines (1 loc) • 1.3 kB
JavaScript
;const e=require("vue"),p=require("./hook/useContextItem.cjs"),a=require("@vuux/icons"),k={class:"item-name"},C=e.defineComponent({name:"ContextItem",__name:"item",props:{icon:{},title:{},disabled:{type:Boolean}},setup(i){const o=i,{isHover:c,hasSubmenu:s,isShadow:m,classNames:d,handleClick:r,onMouseEnter:l,onMouseLeave:u}=p.useContextItem(o);return(f,n)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["context-item",e.unref(d)]),onMouseenter:n[0]||(n[0]=(...t)=>e.unref(l)&&e.unref(l)(...t)),onMouseleave:n[1]||(n[1]=(...t)=>e.unref(u)&&e.unref(u)(...t)),onClick:n[2]||(n[2]=(...t)=>e.unref(r)&&e.unref(r)(...t))},[e.createElementVNode("div",k,[o.icon?(e.openBlock(),e.createBlock(e.unref(a.Icon),{key:0,name:o.icon,class:"item-icon"},null,8,["name"])):e.createCommentVNode("",!0),e.createElementVNode("span",null,e.toDisplayString(o.title),1)]),e.unref(s)?(e.openBlock(),e.createBlock(e.unref(a.Icon),{key:0,name:"Icon6657361"})):e.createCommentVNode("",!0),e.createVNode(e.Transition,{name:"slide-up"},{default:e.withCtx(()=>[e.unref(s)&&e.unref(c)?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["item-slot",{"is-shadow":e.unref(m)}])},[e.renderSlot(f.$slots,"default")],2)):e.createCommentVNode("",!0)]),_:3})],34))}});module.exports=C;