"use strict";const o=require("vue"),v=require("./index-7N8NxNg5.cjs");function y({tooltip:e,chart:n,clientPosition:t,positionPreference:l="center",defaultOffsetY:a=24}){const r=o.ref(0),f=o.ref(a);if(e&&n){const{width:u,height:s}=e.getBoundingClientRect(),{right:i,left:d,bottom:m}=n.getBoundingClientRect();l==="center"&&(t.x+u/2>i?r.value=-u+(i-t.x):t.x-u/2<d?r.value=-u+(u-(t.x-d)):r.value=-u/2),l==="right"&&(t.x+u>i?r.value=-u+(i-t.x):r.value=0),l==="left"&&(t.x<d+u?r.value=-u+(u-(t.x-d)):r.value=-u),t.y+s>m&&(f.value=-s-a)}return{top:t.y+f.value,left:t.x+r.value}}function b(e,n,t){o.onMounted(()=>e.addEventListener(n,t)),o.onUnmounted(()=>e.removeEventListener(n,t))}function c(){const e=o.ref(0),n=o.ref(0);return b(window,"mousemove",t=>{e.value=t.clientX,n.value=t.clientY}),{x:e,y:n}}const p=["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 n=e,t=o.ref(null),l=o.ref(c()),a=o.computed(()=>y({tooltip:t.value,chart:n.parent,clientPosition:l.value,positionPreference:n.position,defaultOffsetY:n.offsetY}));return(r,f)=>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:${a.value.top}px;left:${a.value.left}px;${e.isCustom?"":`background:${e.backgroundColor}${o.unref(v.opacity)[e.backgroundOpacity]};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(r.$slots,"tooltip-before"),o.renderSlot(r.$slots,"default"),o.createElementVNode("div",{innerHTML:e.content},null,8,p),o.renderSlot(r.$slots,"tooltip-after")],6)):o.createCommentVNode("",!0)}};exports._sfc_main=g;exports.useMouse=c;
