dk-plus
Version:
2 lines (1 loc) • 1.5 kB
JavaScript
;Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const a=require("vue"),n=require("./index3.js");require("../../_icon/index.js");const p=require("../../_hooks/get-popover/index.js"),c=a.defineComponent({name:"DkPopover",props:n.popoverProps,emits:["update:modelValue","hidden"],setup(o,{emit:s}){const{classList:e,styleList:r,wrapperClassList:u,setTop:d}=p.getPopover(o),i=a.reactive({visible:o.visible,trigger:o.trigger,wrapperRef:null,placement:o.placement,top:"0px",left:"0px",showArrow:o.showArrow});a.onMounted(()=>{const{height:t,width:v}=d(i.wrapperRef);i.top=t+"px",i.left=v+"px"});const l={handleMouseEnter:()=>{i.trigger==="hover"&&(e.value.includes("dk-popover-active")||e.value.push("dk-popover-active"),s("update:modelValue",!0),s("hidden",!0))},handleMouseLeave:()=>{i.trigger==="hover"&&(e.value.includes("dk-popover-active")&&e.value.splice(e.value.indexOf("dk-popover-active"),1),s("update:modelValue",!1),s("hidden",!1))},setClassName:t=>{t?e.value.includes("dk-popover-active")||e.value.push("dk-popover-active"):e.value.includes("dk-popover-active")&&e.value.splice(e.value.indexOf("dk-popover-active"),1)},handleClick:()=>{s("update:modelValue",!i.visible),s("hidden",!i.visible)}};return a.watch(()=>o.visible,t=>{i.visible=t,l.setClassName(t)},{immediate:!0}),a.watch(()=>o.modelValue,t=>{i.visible=t,l.setClassName(t)},{immediate:!0}),{...a.toRefs(i),...l,classList:e,styleList:r,wrapperClassList:u}}});exports.default=c;