UNPKG

vexip-ui

Version:

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

3 lines (2 loc) 1.28 kB
"use strict";const e=require("vue"),m=require("@vexip-ui/config"),f=require("./symbol.cjs"),v=["aria-disabled","aria-selected"],b=e.defineComponent({name:"WheelItem",__name:"wheel-item",props:{value:{type:[Number,String],default:null},disabled:{type:Boolean,default:!1},active:{type:Boolean,default:!1},meta:{type:[String,Number,Object],default:null}},setup(t,{expose:u}){const a=t,l=m.useNameHelper("wheel"),n=e.inject(f.WHEEL_STATE,null),i=e.ref(0),o=e.ref(0),r=e.ref(),s=e.reactive({width:i,height:o,el:r,value:e.toRef(a,"value"),disabled:e.toRef(a,"disabled"),meta:e.toRef(a,"meta")}),c=e.computed(()=>({width:i.value?`${i.value}px`:void 0,height:o.value?`${o.value}px`:void 0}));return n&&(e.onMounted(()=>{n.increaseItem(s)}),e.onBeforeUnmount(()=>{n.decreaseItem(s)})),u({wrapper:r}),(d,h)=>(e.openBlock(),e.createElementBlock("li",{ref_key:"wrapper",ref:r,class:e.normalizeClass([e.unref(l).be("item"),t.disabled&&e.unref(l).bem("item","disabled"),t.active&&e.unref(l).bem("item","active")]),role:"option","aria-disabled":t.disabled?"true":void 0,"aria-selected":t.active,style:e.normalizeStyle(c.value)},[e.renderSlot(d.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(t.value),1)])],14,v))}});module.exports=b; //# sourceMappingURL=wheel-item.vue2.cjs.map