UNPKG

vexip-ui

Version:

A Vue 3 UI library, Highly customizability, full TypeScript, performance pretty good

3 lines (2 loc) 962 B
"use strict";const e=require("vue"),c=require("@vexip-ui/config"),f=require("./props.cjs"),b=require("./hooks.cjs"),v=require("./symbol.cjs"),_=e.defineComponent({name:"DropdownItem",__name:"dropdown-item",props:f.dropdownItemProps,setup(a,{expose:i}){const n=a,o=e.inject(v.SELECT_HANDLER,null),d=c.useNameHelper("dropdown"),r=e.ref(null),u=e.toRef(n,"label"),p=e.ref(n.reference),s=b.useLabel(u,r),m=e.computed(()=>{const t=d.be("item");return{[t]:!0,[`${t}--disabled`]:n.disabled,[`${t}--selected`]:!n.disabled&&n.selected,[`${t}--divided`]:n.divided}});i({wrapper:r,handleSelect:l});function l(){n.disabled||p.value||(typeof o=="function"&&o([s.value],[n.meta||{}]),c.emitEvent(n.onSelect,s.value))}return(t,w)=>(e.openBlock(),e.createElementBlock("li",{ref_key:"wrapper",ref:r,class:e.normalizeClass(m.value),role:"menuitem",tabindex:"0",onClick:l},[e.renderSlot(t.$slots,"default")],2))}});module.exports=_; //# sourceMappingURL=dropdown-item.vue2.cjs.map