UNPKG

@progress/kendo-vue-charts

Version:
9 lines (8 loc) 3.65 kB
/** * @license *------------------------------------------------------------------------------------------- * Copyright © 2025 Progress Software Corporation. All rights reserved. * Licensed under commercial license. See LICENSE.md in the package root for more information *------------------------------------------------------------------------------------------- */ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),a=require("@progress/kendo-vue-common"),d=require("@progress/kendo-svg-icons"),u=require("@progress/kendo-vue-intl"),p=require("./messages.js"),m=3,V=`0 ${m}px`,h={display:"flex",alignItems:"center"},c=e.defineComponent({name:"Square",props:{color:String},render(){return e.createVNode("div",{style:{width:"15px",height:"15px","background-color":this.$props.color,display:"inline-flex",marginLeft:m}},null)}}),s=e.defineComponent({name:"Text",props:{value:String},render(){return e.createVNode("span",{style:{margin:V}},[this.$props.value])}}),f=e.defineComponent({name:"Units",props:{value:Number},inject:{kendoLocalizationService:{default:null}},render(){const o=u.provideLocalizationService(this).toLanguageString(p.tooltipUnitFormat,p.messages[p.tooltipUnitFormat]),n=new u.IntlService("en").format(o,[this.$props.value||0]);return e.createVNode(s,{value:n},null)}}),N=e.defineComponent({name:"NodeTooltipContent",props:{dataItem:Object,nodeValue:Number,dir:String},render(){const{color:t,label:o}=this.$props.dataItem;return e.createVNode("div",{style:h,class:"k-tooltip-content"},[e.createVNode(c,{color:t},null),e.createVNode(s,{value:o.text},null),e.createVNode(f,{value:this.$props.nodeValue},null)])}}),y=e.defineComponent({name:"LinkTooltipContent",props:{dataItem:Object,dir:String,nodeValue:Number},render(){const{dir:t,dataItem:o}=this.$props,{source:n,target:r,value:i}=o,l=t==="rtl"?d.arrowLeftIcon:d.arrowRightIcon;return e.createVNode("div",{style:h},[e.createVNode(c,{color:n.color},null),e.createVNode(s,{value:n.label.text},null),e.createVNode(a.Icon,{icon:l,name:l.name},null),e.createVNode(c,{color:r.color},null),e.createVNode(s,{value:r.label.text},null),e.createVNode(f,{value:i},null)])}}),T=e.defineComponent({name:"SankeyTooltip",props:{eventData:Object,tooltipData:Object,nodeContent:[String,Object,Function],linkContent:[String,Object,Function],dir:String,offset:Number,appendTo:Object},data(){return{top:"",left:"",visibility:"hidden"}},mounted(){this.element=a.getRef(this,"element"),this.showTooltip()},updated(){this.showTooltip();const t=this.$props.appendTo?this.$props.appendTo:this.element.ownerDocument.body;this.element.parentElement!==t&&this.element.ownerDocument.body.append(this.element)},methods:{showTooltip(){const{offset:t,tooltipData:o}=this.$props,n=this.element;if(!o||!n)return;const r={width:n.offsetWidth,height:n.offsetHeight},i={...o.popupOffset},l=o.popupAlign;i.left+=l.horizontal==="left"?t:-1*t,l.horizontal==="right"&&(i.left-=r.width),l.vertical==="bottom"?i.top-=r.height+t:i.top+=t,this.$data.top=i.top+"px",this.$data.left=i.left+"px",this.$data.visibility=""}},render(){const{nodeContent:t,linkContent:o,dir:n,eventData:{dataItem:r,nodeValue:i,targetType:l}}=this.$props,g=l==="node"?t:o,v=l==="node"?N:y,b=a.getTemplate.call(this,{h:e.h,template:g,defaultRendering:e.createVNode(v,{dataItem:r,nodeValue:i,dir:n},null)});return e.createVNode("div",{ref:a.setRef(this,"element"),style:{top:this.top,left:this.left,visibility:this.visibility},class:"k-tooltip k-sankey-tooltip k-chart-tooltip k-chart-shared-tooltip",dir:n},[e.createVNode("div",{class:"k-tooltip-content"},[b])])}});exports.Tooltip=T;