@progress/kendo-react-gauges
Version:
React Gauges provide a set of React components for building beautiful and customizable gauges. KendoReact Gauges package
9 lines (8 loc) • 1.67 kB
JavaScript
/**
* @license
*-------------------------------------------------------------------------------------------
* Copyright © 2025 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the package root for more information
*-------------------------------------------------------------------------------------------
*/
;Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("react"),d=require("@progress/kendo-charts"),g=require("./GaugeContext.js");function h(n){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const e in n)if(e!=="default"){const r=Object.getOwnPropertyDescriptor(n,e);Object.defineProperty(t,e,r.get?r:{enumerable:!0,get:()=>n[e]})}}return t.default=n,Object.freeze(t)}const c=h(u),l=class l extends c.Component{constructor(t,e){super(t,e),this.state={arcCenterStyles:null,arcCenterValue:{value:0,color:""}},this._element=null,this.gaugeObserver=new d.InstanceObserver(this,{render:"onRender"}),e.observersStore.dispatch({type:"add",payload:this.gaugeObserver})}render(){const{render:t}=this.props,{arcCenterStyles:e,arcCenterValue:r}=this.state,o=e||{zIndex:-1};let s=null;return t&&(s=c.createElement("div",{className:"k-arcgauge-label",ref:i=>this._element=i,style:o},t(r.value,r.color))),s}onRender(t){if(!this._element)return;const e=t.sender.gaugeInstance,r=this._element.offsetWidth,o=this._element.offsetHeight,s=e.centerLabelPosition(r,o);this.setState({arcCenterStyles:{left:s.left,top:s.top},arcCenterValue:{value:e.value(),color:e.currentColor()}})}};l.contextType=g.GaugeContext;let a=l;exports.ArcCenter=a;