"use strict";const o=require("vue"),v=require("./index-BwtKB_oG.cjs");function p({tooltip:e,chart:r,clientPosition:t,positionPreference:a="center",defaultOffsetY:d=24}){const u=o.ref(0),l=o.ref(d);if(e&&r){const{width:n,height:f}=e.getBoundingClientRect(),{right:i,left:s,bottom:m}=r.getBoundingClientRect();a==="center"&&(t.x+n/2>i?u.value=-n+(i-t.x):t.x-n/2<s?u.value=-n+(n-(t.x-s)):u.value=-n/2),a==="right"&&(t.x+n>i?u.value=-n+(i-t.x):u.value=0),a==="left"&&(t.x<s+n?u.value=-n+(n-(t.x-s)):u.value=-n),t.y+f>m&&(l.value=-f-d)}return{top:t.y+l.value,left:t.x+u.value}}function y(e,r,t){o.onMounted(()=>e.addEventListener(r,t)),o.onUnmounted(()=>e.removeEventListener(r,t))}function c(){const e=o.ref(0),r=o.ref(0);return y(window,"mousemove",t=>{e.value=t.clientX,r.value=t.clientY}),{x:e,y:r}}const b=["innerHTML"],g={__name:"Tooltip",props:{backgroundColor:{type:String,default:"#FFFFFF"},color:{type:String,default:"#000000"},content:String,maxWidth:{type:String,default:"300px"},parent:{type:Object},show:{type:Boolean,default:!1},isCustom:{type:Boolean,default:!1},fontSize:{type:[Number,String],default:14},borderRadius:{type:Number,default:4},borderColor:{type:String,default:"#e1e5e8"},borderWidth:{type:Number,default:1},backgroundOpacity:{type:Number,default:100},position:{type:String,default:"center"},offsetY:{type:Number,default:24}},setup(e){const r=e,t=o.ref(null),a=o.ref(c()),d=o.computed(()=>p({tooltip:t.value,chart:r.parent,clientPosition:a.value,positionPreference:r.position,defaultOffsetY:r.offsetY})),u=o.computed(()=>v.setOpacity(r.backgroundColor,r.backgroundOpacity));return(l,n)=>e.show?(o.openBlock(),o.createElementBlock("div",{key:0,ref_key:"tooltip",ref:t,class:o.normalizeClass({"vue-data-ui-custom-tooltip":e.isCustom,"vue-data-ui-tooltip":!e.isCustom}),style:o.normalizeStyle(`pointer-events:none;top:${d.value.top}px;left:${d.value.left}px;${e.isCustom?"":`background:${u.value};color:${e.color};max-width:${e.maxWidth};font-size:${e.fontSize}px`};border-radius:${e.borderRadius}px;border:${e.borderWidth}px solid ${e.borderColor};`)},[o.renderSlot(l.$slots,"tooltip-before"),o.renderSlot(l.$slots,"default"),o.createElementVNode("div",{innerHTML:e.content},null,8,b),o.renderSlot(l.$slots,"tooltip-after")],6)):o.createCommentVNode("",!0)}};exports._sfc_main=g;exports.useMouse=c;
