UNPKG

vexip-ui

Version:

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

3 lines (2 loc) 1.65 kB
"use strict";const e=require("vue");require("../renderer/index.cjs");const i=require("@vexip-ui/config"),f=require("@vexip-ui/utils"),v=require("./symbol.cjs"),y=require("../renderer/renderer.cjs"),k=["vxp-index"],x=e.defineComponent({name:"PopupItem",__name:"popup-item",props:{state:{type:Object,default:()=>({})},transitionName:{type:String,default:null},innerClass:{type:i.classProp,default:null}},emits:["enter","leave"],setup(t,{emit:c}){const a=t,l=c,d=e.inject(v.DELETE_HANDLER,f.noop),o=i.useNameHelper("popup"),m=i.useZIndex(),s=e.ref(),p=e.computed(()=>a.transitionName||o.ns("popup-top"));return e.onMounted(()=>{e.nextTick(()=>{const r=a.state;r&&s.value&&(r.height=s.value.offsetHeight)})}),(r,n)=>(e.openBlock(),e.createBlock(e.Transition,{appear:"",name:p.value,onAfterLeave:n[2]||(n[2]=u=>e.unref(d)(t.state.key))},{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("div",{ref_key:"wrapper",ref:s,class:e.normalizeClass(e.unref(o).be("item")),style:e.normalizeStyle({zIndex:e.unref(m)()}),"vxp-index":t.state.key,onPointerenter:n[0]||(n[0]=u=>l("enter")),onPointerleave:n[1]||(n[1]=u=>l("leave"))},[e.createElementVNode("div",{class:e.normalizeClass([e.unref(o).be("item-inner"),t.innerClass])},[e.renderSlot(r.$slots,"default",{item:t.state},()=>[typeof t.state.renderer=="function"?(e.openBlock(),e.createBlock(e.unref(y),{key:0,renderer:t.state.renderer},null,8,["renderer"])):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(e.toDisplayString(t.state.content),1)],64))])],2)],46,k),[[e.vShow,t.state.visible]])]),_:3},8,["name"]))}});module.exports=x; //# sourceMappingURL=popup-item.vue2.cjs.map