UNPKG

vexip-ui

Version:

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

3 lines (2 loc) 936 B
"use strict";const e=require("vue"),r=require("@vexip-ui/config"),a=require("@vexip-ui/utils"),d=require("./props.cjs"),c=["title","aria-disabled","aria-selected"],u=e.defineComponent({name:"Option",__name:"option",props:d.optionProps,setup(s){const t=s,i=r.useNameHelper("option"),n=e.computed(()=>({[i.b()]:!0,[i.bs("vars")]:!0,[i.bm("disabled")]:t.disabled,[i.bm("selected")]:!t.disabled&&t.selected,[i.bm("divided")]:t.divided,[i.bm("hitting")]:t.hitting,[i.bm("no-hover")]:t.noHover}));function l(){t.disabled||r.emitEvent(t.onSelect)}return(o,p)=>(e.openBlock(),e.createElementBlock("li",{ref:"wrapper",class:e.normalizeClass(n.value),title:o.title||void 0,role:"option","aria-disabled":e.unref(a.toAttrValue)(o.disabled),"aria-selected":o.selected,onClick:l},[e.renderSlot(o.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(o.label||o.value),1)])],10,c))}});module.exports=u; //# sourceMappingURL=option.vue2.cjs.map