tu-view-plus
Version:
2 lines (1 loc) • 1.4 kB
JavaScript
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),c=require("./dropdown-item.js"),p=require("@tu-view-plus/hooks"),k=require("./constants.js"),C=e.defineComponent({name:"TuDropdownItem"}),v=e.defineComponent({...C,props:c.dropdownItemProps,emits:c.dropdownItemEmits,setup(i,{emit:r}){const t=i,a=r,l=e.ref(),u=e.useSlots(),s=p.useNamespace("dropdown-item"),d=e.computed(()=>({[s.b()]:!0,[s.m("suffix")]:u.suffix,[s.is("disabled")]:t.disabled,[s.is("active")]:t.active})),n=t.uninjectContext?void 0:e.inject(k.dropdownInjectionKey,void 0),m=e.computed(()=>{var o;return t.value??((o=l.value)==null?void 0:o.textContent)??void 0}),f=o=>{t.disabled||(a("click",o),n==null||n.onOptionClick(m.value,o))};return(o,b)=>(e.openBlock(),e.createElementBlock("li",{ref_key:"liRef",ref:l,class:e.normalizeClass(d.value),onClick:f},[o.$slots.icon?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(e.unref(s).e("icon"))},[e.renderSlot(o.$slots,"icon")],2)):e.createCommentVNode("",!0),e.createElementVNode("span",{class:e.normalizeClass(e.unref(s).e("content"))},[e.renderSlot(o.$slots,"default")],2),o.$slots.suffix?(e.openBlock(),e.createElementBlock("span",{key:1,class:e.normalizeClass(e.unref(s).e("suffix"))},[e.renderSlot(o.$slots,"suffix")],2)):e.createCommentVNode("",!0)],2))}});exports.default=v;