realchart
Version:
Wooritech charting library
8 lines (6 loc) • 47.2 kB
JavaScript
/**
* RealChart Gauge v1.4.12
* Copyright (C) 2023-2026 WooriTech Inc.
* All Rights Reserved.
*/
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("realchart")):"function"==typeof define&&define.amd?define(["exports","realchart"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).RealChartGauge={},t.RealChart)}(this,(function(t,e){"use strict";function i(t){var e=Object.create(null);return t&&Object.keys(t).forEach((function(i){if("default"!==i){var n=Object.getOwnPropertyDescriptor(t,i);Object.defineProperty(e,i,n.get?n:{enumerable:!0,get:function(){return t[i]}})}})),e.default=t,Object.freeze(e)}var n,r=i(e),s=(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function i(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)}),o=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return s(i,t),i.prototype.getRange=function(t,e){var i=this.$_internalRanges(t);if(i)for(var n=0,r=i;n<r.length;n++){var s=r[n];if(e>=s.fromValue&&e<s.toValue)return s}},i.prototype._doApply=function(e){var i,n=this;t.prototype._doApply.call(this,e),(i=e.ranges)!==n._ranges&&(n._ranges=i,n._runRanges=null)},i.prototype.$_internalRanges=function(t){return this._runRanges||(this._runRanges=e.buildValueRanges(this._ranges,t.minValue,t.maxValue,this._op.rangeInclusive)),this._runRanges},i.defaults=e.extend(e.ChartItem.defaults,{rangeInclusive:!0}),i}(e.GaugeItem),a=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return s(i,t),i.prototype.getSegmentThickness=function(t){return e.calcPercent(this._segmentThicknessDim,t,t)},i.prototype._doApply=function(e){t.prototype._doApply.call(this,e),this._setDim(e,"segmentThickness")},i.defaults=e.extend(o.defaults,{segmentGap:0}),i}(o),l=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return s(i,t),i.prototype.getThickness=function(t){return e.calcPercent(this._thicknessDim,t,t)},i.prototype._doApply=function(e){t.prototype._doApply.call(this,e),this._setDim(e,"thickness")},i.defaults=e.extend(o.defaults,{thickness:"100%",stroked:!1}),i}(o);!function(t){function i(){return null!==t&&t.apply(this,arguments)||this}s(i,t),i.defaults=e.extend(e.ChartItem.defaults,{visible:!1})}(e.GaugeItem);var u=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return s(i,t),i.prototype.getExtents=function(t){return{radius:e.calcPercent(this._radiusDim,t,0),length:e.calcPercent(this._lengthDim,t,0),offset:e.calcPercent(this._offsetDim,t,0)}},i.prototype._doApply=function(e){t.prototype._doApply.call(this,e),this._setDims(e,"radius","length","offset")},i.defaults=e.extend(e.ChartItem.defaults,{visible:!1,radius:3,length:"100%",offset:0}),i}(e.GaugeItem),c=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return s(i,t),i.prototype.getRadius=function(t){return e.calcPercent(this._radiusDim,t,0)},i.prototype._doApply=function(e){t.prototype._doApply.call(this,e),this._setDim(e,"radius")},i.defaults=e.extend(e.ChartItem.defaults,{visible:!1,radius:5}),i}(e.GaugeItem),h=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return s(i,t),i.prototype._getStepMultiples=function(t){return[1,2,2.5,5,10]},i.defaults=e.extend(e.GaugeScale.defaults,{visible:!1,stepPixels:72}),i}(e.GaugeScale),p=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return s(i,t),i.prototype._doInit=function(i){t.prototype._doInit.call(this,i),i.band=(this._band=new e.GaugeRangeBand(this)).init(),i.scale=(this._scale=new h(this)).init(),i.rim=(this._rim=new a(this)).init(),i.valueRim=(this._valueRim=new l(this)).init(),i.hand=(this._hand=new u(this)).init(),i.pin=(this._pin=new c(this)).init()},Object.defineProperty(i.prototype,"band",{get:function(){return this._band},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,"scale",{get:function(){return this._scale},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,"rim",{get:function(){return this._rim},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,"valueRim",{get:function(){return this._valueRim},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,"hand",{get:function(){return this._hand},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,"pin",{get:function(){return this._pin},enumerable:!1,configurable:!0}),i.prototype.getExtents=function(i){var n=t.prototype.getExtents.call(this,i),r=this.scale,s=this.band,o=n.radius,a=o-n.inner;if(s.visible)switch(n.bandThick=s.getThickness(a),s.options.position){case"inside":n.band=o-(a-n.bandThick)/2;break;case"opposite":n.band=n.inner-s.options.gap,n.inner=n.band-n.bandThick;break;default:n.band=o+=n.bandThick+s.options.gap}if(n.scaleTick=e.maxv(1,r.tick.options.length||0),n.scaleLabel=16,"opposite"===r.options.position)n.scale=e.maxv(n.inner-r.options.gap,0),n.inner=n.scale-n.scaleTick-n.scaleLabel;else n.scale=o+r.options.gap;return n},i.type=e.CircleGaugeType,i}(e.CircularGauge),_=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return s(i,t),i.prototype._gaugesType=function(){return"circle"},i.type=e.CircleGaugeGroupType,i.gaugeType=e.CircleGaugeType,i.defaults=e.extend(e.CircularGaugeGroup.defaults,{innerRadius:"50%"}),i}(e.CircularGaugeGroup),d=function(){var t=function(e,i){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])},t(e,i)};return function(e,i){if("function"!=typeof i&&null!==i)throw new TypeError("Class extends value "+String(i)+" is not a constructor or null");function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}(),g=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return d(e,t),e}(e.ValueGaugeView),f=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return d(i,t),i.prototype.setExtents=function(t,e){this._center=t,this._exts=e},i.prototype._createLine=function(t,i){return new e.ArcElement(t,i)},i.prototype._doMeasure=function(t,e,i,n,r){var s=e._steps.length-(360===e.gauge.options.sweepAngle?1:0);return this._line.setVis(e.line.visible)&&this._line.internalSetStyleOrClass(e.line._style),this._tickContainer.setVis(e.tick.visible)&&(this._tickContainer.internalSetStyleOrClass(e.tick._style),this._ticks.prepare(s)),this._labelContainer.setVis(e.label.visible)&&(this._labelContainer.internalSetStyleOrClass(e.label._style),this._labels.prepare(s)),{width:i,height:n}},i.prototype._doLayout=function(t){var i,n,r,s,o=this.model,a=o._steps,l=o.gauge,u=l.options,c="opposite"===o.options.position?-1:1,h=l._props,p=this._center.x,_=this._center.y,d=this._exts.scale,g=d+this.model.tick.options.length*c,f=h._sweepRad,y=h._startRad,b=u.maxValue-u.minValue,w=u.clockwise;if(this._line.visible&&this._line.setArc(p,_,d,y,w?f:-f,w),this._tickContainer.visible&&this._ticks.forEach((function(t,l,u){var c=o.getRate(a[l])*(w?f:-f)+y;i=p+e.cos(c)*d,n=_+e.sin(c)*d,r=p+e.cos(c)*g,s=_+e.sin(c)*g,t.setLine(i,n,r,s)})),this._labelContainer.visible){this._labels.get(0).setText(String(u.maxValue));var v=g+.2*this._labels.get(0).getBBox().height*c;this._labels.forEach((function(t,i){var n=o.getRate(a[i])*(w?f:-f)+y;t.setText(String(e.fixnum(u.minValue+o.getRate(a[i])*b))),t.setContrast(null).layout("center");var l=t.getBBox();r=p+e.cos(n)*(v+l.width/2*c)-l.width/2,s=_+e.sin(n)*(v+l.height/2*c)-l.height/2,t.trans(r,s)}))}},i}(e.ScaleView),y=function(t){function i(i){var n=t.call(this,i,"rct-circle-gauge-band")||this;return n._sectorViews=new e.ElementPool(n,e.SectorElement),n.add(n._labelContainer=new e.LayerElement(i,"rct-circle-gauge-band-tick-labels")),n._labels=new e.ElementPool(n._labelContainer,e.TextElement),n}return d(i,t),i.prototype.setExtends=function(t,e){this._center=t,this._exts=e},i.prototype._doLayout=function(t){var e=this.model,i=e.gauge,n=i.scale,r=i._props,s=this._center.x,o=this._center.y,a=this._exts.band,l=i.options.clockwise,u=1-this._exts.bandThick/a,c=e.getRanges(),h=r._sweepRad;i.options.maxValue,i.options.minValue;var p=r._startRad;this._sectorViews.prepare(c.length).forEach((function(t,e){var i=n.getRate(c[e].toValue-c[e].fromValue)*h;t.setSector({cx:s,cy:o,rx:a,ry:a,innerRadius:u,start:p,angle:i,clockwise:l}),t.internalClearStyleAndClass(),t.setFill(c[e].color),c[e].style&&t.addStyleOrClass(c[e].style),p+=l?i:-i}))},i}(e.ChartElement),b=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return d(i,t),i.prototype.render=function(t,i){var n=t.getRadius(i);return n!==this._radius&&(this._radius=n,this.setPath((new e.PathBuilder).circle(0,0,n).end())),this.internalSetStyleOrClass(t._style),this},i}(e.PathElement),w=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return d(i,t),i.prototype.render=function(t,i){var n=t.getExtents(i);if(n.radius!==this._radius||n.length!==this._length||n.offset!==this._offset){var r=this._radius=n.radius,s=this._offset=n.offset;if(this._length=n.length,this._radius>0&&this._length>0){var o=new e.PathBuilder;o.move(-r,s).line(0,-this._length+s).line(r,s),this.setPath(o.end())}else this.setPath("")}return this.internalSetStyleOrClass(t._style),this},i}(e.PathElement),v=function(t){function i(e){return t.call(this,e,"rct-circle-gauge")||this}return d(i,t),i.prototype._doInitContents=function(t,i){i.add(this._rimView=new e.SectorElement(t,"rct-circle-gauge-rim")),i.add(this._valueView=new e.SectorElement(t,"rct-circle-gauge-value")),i.add(this._innerView=new e.SectorElement(t,"rct-circle-gauge-inner")),i.add(this._textView=new e.TextElement(t,"rct-circle-gauge-label")),i.add(this._handContainer=new e.LayerElement(t,void 0)),i.add(this._scaleView=new f(t)),i.add(this._bandView=new y(t))},i.prototype._backgroundView=function(){return this._rimView},i.prototype._prepareGauge=function(t,e){this._rimView.setVis(e.rim.visible),this._scaleView.setVis(e.scale.visible),this._bandView.setVis(e.band.visible),this._valueView.setVis(e.valueRim.visible),e.hand.visible?(this._handView||this._handContainer.add(this._handView=new w(t,"rct-circle-gauge-hand")),this._handView.visible=!0):this._handView&&(this._handView.visible=!1),e.pin.visible?(this._pinView||this._handContainer.add(this._pinView=new b(t,"rct-circle-gauge-pin")),this._pinView.visible=!0):this._pinView&&(this._pinView.visible=!1),this._textView.setVis(e.labelVisible())&&this._textView.setStyleOrClass(e.label._style)},i.prototype._renderGauge=function(t,i){var n=this.model,r=n.getCenter(t,i),s=n.getExtents(e.minv(t,i));this.$_renderBackground(n,r,s),this._renderValue()},i.prototype._renderValue=function(){var t=this.model,i=t.options,n=t.scale,r=t.getProps(),s=t.getValue(),o=n.getRate(e.pickNum(s,0)),a=this._center,l=this._exts,u=t.valueRim.getThickness(l.radiusThick),c=this._textView;if(this._valueView.visible){var h=t.valueRim,p=h.options,_=h.getRange(i,s),d=l.value+(p.stroked?0:u/2),g=this._valueView;g.setStyleOrClass(h._style),_&&(g.setStyle(p.stroked?"stroke":"fill",_.color),_.style&&g.addStyleOrClass(_.style)),p.stroked&&(g.setFill("none"),g.setStyle("strokeWidth",e.pixel(u))),g.setBoolData("stroked",p.stroked),g.setSectorEx({cx:a.x,cy:a.y,rx:d,ry:d,innerRadius:(d-u)/d,start:r._startRad,angle:r._sweepRad*o,clockwise:i.clockwise},p.stroked)}if(this._handView){var f=(r._handRad+r._sweepRad*o)*e.RAD_DEG;this._handView.render(t.hand,l.radius).transp(a).rotate(t.options.clockwise?f:-f)}if(c.visible){var y=t.label;if(y.setText(t.getLabel(y,y.options.animatable?s:i.value)),c.text=y.options.text,c.setBoolData("grouped",!!t._group),y.buildSvg(c,null,NaN,NaN,t,y._domain),t._group)this.$_layoutGroupedLabel(t,c,l);else{var b=c.getBBox(),w=y.getOffset(this.width,this.height);c.trans(a.x+w.x,a.y-b.height/2+w.y)}}},i.prototype.$_renderBackground=function(t,e,i){var n=t.getProps(),r=n._startRad;this._center=e,this._exts=i,t.scale.buildSteps(i.scale*n._sweepRad,NaN),this._rimView.visible&&(this._rimView.internalSetStyleOrClass(t.rim._style),this._rimView.setSector({cx:e.x,cy:e.y,rx:i.radius,ry:i.radius,innerRadius:1-i.radiusThick/i.radius,start:r,angle:n._sweepRad,clockwise:t.options.clockwise})),this._scaleView.visible&&(this._scaleView.setStyleOrClass(t.scale._style),this._scaleView.measure(this.doc,t.scale,this.width,this.height,0),this._scaleView.setExtents(e,i),this._scaleView.layout()),this._bandView.visible&&(this._bandView.setStyleOrClass(t.band._style),this._bandView.measure(this.doc,t.band,this.width,this.height,0),this._bandView.setExtends(e,i),this._bandView.layout()),this._innerView.setStyleOrClass(t.options.innerStyle);var s=i.inner,o=getComputedStyle(this._innerView.dom),a=parseFloat(o.strokeWidth);a>1&&(s-=a/2),this._innerView.setSector({cx:e.x,cy:e.y,rx:s,ry:s,innerRadius:0,start:0,angle:2*Math.PI,clockwise:!0}),this._pinView&&this._pinView.render(t.pin,s).trans(e.x,e.y)},i.prototype.$_layoutGroupedLabel=function(t,i,n){var r=i.getBBox(),s=this._rimView.getBBox(),o=+t._group.options.labelGap||0;i.anchor=e.TextAnchor.END,i.trans(s.x+s.width/2-o,s.y+(n.radius-n.inner-r.height)/2)},i}(g),m=function(t){function i(e){return t.call(this,e,"rct-circle-gauge-group")||this}return d(i,t),i.prototype._createPool=function(t){return new e.ElementPool(t,v)},i.prototype._doRenderGauges=function(t,i,n,r){var s=this.doc,o=this.model,a=o.props.getCenter(n,r),l=o.props.getExtents(e.minv(n,r));o.setChildExtents(l),n=r=2*l.radius,i.forEach((function(t,e){t.measure(s,o.getVisible(e),n,r,0),t.resize(n,r),t.layout()})),t.trans(a.x-l.radius,a.y-l.radius)},i}(e.GaugeGroupView),V=function(){var t=function(e,i){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])},t(e,i)};return function(e,i){if("function"!=typeof i&&null!==i)throw new TypeError("Class extends value "+String(i)+" is not a constructor or null");function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}(),x=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return V(e,t),e}(e.GaugeScale),k=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return V(i,t),i.prototype.getWidth=function(t){return e.calcPercent(this._widthDim,t)},i.prototype.getHeight=function(t){return e.calcPercent(this._heightDim,t)},i.prototype.getMaxWidth=function(t){return e.calcPercent(this._maxWidthDim,t)},i.prototype.getMaxHeight=function(t){return e.calcPercent(this._maxHeightDim,t)},i.prototype.getGap=function(t){return e.calcPercent(this._gapDim,t,0)},i.prototype._doApply=function(e){t.prototype._doApply.call(this,e),this._setDims(e,"width","height","maxWidth","maxHeight","gap")},i.defaults=e.extend(e.GaugeLabel.defaults,{maxWidth:"30%",maxHeight:"30%",gap:10}),i}(e.GaugeLabel),C=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return V(i,t),i.prototype._doInit=function(e){t.prototype._doInit.call(this,e),e.scale=(this._scale=new x(this)).init()},Object.defineProperty(i.prototype,"label",{get:function(){return this._label},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,"scale",{get:function(){return this._scale},enumerable:!1,configurable:!0}),i.prototype._createLabel=function(){return new k(this.chart)},i.prototype.isVertical=function(){return this._group?this._group.options.vertical:this._op.vertical},i.prototype.scaleVisible=function(){return!this._group&&this._scale.visible},i.prototype.calcedMinMax=function(){return this._scale.range()},i.prototype._doPrepareRender=function(e){t.prototype._doPrepareRender.call(this,e),this._label._prepareRender()},i.defaults=e.extend(e.ValueGauge.defaults,{reversed:!1}),i}(e.ValueGauge),S=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e._args={gauge:null,value:NaN},e}return V(e,t),e.prototype.getStyle=function(t,e){if(this._op.styleCallback)return this._args.gauge=t,this._args.value=e,this._op.styleCallback(this._args)},e}(e.GaugeItem),E=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return V(i,t),i.prototype._doInit=function(i){t.prototype._doInit.call(this,i),i.valueBar=(this._valueBar=new S(this)).init(),i.band=(this._band=new e.GaugeRangeBand(this)).init()},Object.defineProperty(i.prototype,"valueBar",{get:function(){return this._valueBar},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,"band",{get:function(){return this._band},enumerable:!1,configurable:!0}),i.type=e.LinearGaugeType,i}(C),R=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return V(i,t),i.defaults=e.extend(e.ChartItem.defaults,{opposite:!1,gap:10}),i}(e.ChartItem),P=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return V(i,t),i.defaults=e.extend(k.defaults,{gap:10}),i}(k),O=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return V(i,t),i.prototype._doInit=function(e){t.prototype._doInit.call(this,e),e.label=(this._label=new P(this.chart)).init(),e.itemLabel=(this._itemLabel=new R(this.chart)).init(),e.scale=(this._scale=new x(this)).init()},Object.defineProperty(i.prototype,"label",{get:function(){return this._label},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,"itemLabel",{get:function(){return this._itemLabel},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,"scale",{get:function(){return this._scale},enumerable:!1,configurable:!0}),i.prototype.calcedMinMax=function(){return this.scale.range()},i.defaults=e.extend(e.GaugeGroup.defaults,{vertical:!1,itemGap:10}),i}(e.GaugeGroup),G=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return V(i,t),i.prototype._doInit=function(i){t.prototype._doInit.call(this,i),i.band=(this._band=new e.GaugeRangeBand(this)).init()},Object.defineProperty(i.prototype,"band",{get:function(){return this._band},enumerable:!1,configurable:!0}),i.prototype._gaugesType=function(){return"linear"},i.prototype._doPrepareRender=function(e){t.prototype._doPrepareRender.call(this,e),this.band.visible&&this.band._prepareRender()},i.type=e.LinearGaugeGroupType,i.gaugeType=e.LinearGaugeType,i}(O),T=function(){var t=function(e,i){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])},t(e,i)};return function(e,i){if("function"!=typeof i&&null!==i)throw new TypeError("Class extends value "+String(i)+" is not a constructor or null");function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}(),B=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return T(i,t),i.prototype._createLine=function(t,i){return new e.LineElement(t,i)},i.prototype._doMeasure=function(t,i,n,r,s){var o=i.options,a=i._reversed,l=i._vertical,u=i.label,c=i.tick,h=i._steps,p=h.length,_=l?o.gap:n,d=l?r:o.gap;if(this._tickContainer.setVis(c.visible)&&(this._tickContainer.setStyleOrClass(c._style),this._ticks.prepare(p)),l?_+=c.options.length:d+=c.options.length,this._labelContainer.setVis(u.visible)&&(this._labels.prepare(p,(function(e){e.setModel(t,u,null,null)})),p>0))if(l){var g=0;this._labels.forEach((function(t,i){t.setText(u.getText(h[a?i:p-1-i])),g=e.maxv(t.getBBox().width)})),_+=g}else{var f=0;this._labels.forEach((function(t,i){t.setText(u.getText(h[a?p-1-i:i])),f=e.maxv(t.getBBox().height)})),d+=f}return{width:_,height:d}},i.prototype._doLayout=function(){var t=this.model;t._vertical?this.$_layoutVert(t,this.width,this.height):this.$_layoutHorz(t,this.width,this.height)},i.prototype.$_layoutHorz=function(t,e,i){var n=t.options,r=this._line,s=t.tick,o=t._steps;o.length;var a,l="opposite"===n.position,u=l?-s.options.length:s.options.length,c=l?i-n.gap:n.gap;if(r.setVis(t.line.visible)&&(r.setStyleOrClass(t.line._style),r.setHLine(c,0,e)),this._tickContainer.setVis(s.visible)&&this._ticks.forEach((function(i,n){a=t.getRate(o[n])*e,i.setVLine(a,c,c+u)})),this._labelContainer.visible){var h=this._labelContainer.textAlign()||"center",p=Number.MIN_SAFE_INTEGER;c=l?0:c+u,this._labels.forEach((function(i,n){i.layout(h);var r=i.getBBox();a=t.getRate(o[n])*e,i.setVis(a-r.width/2>p)&&(i.trans(a-r.width/2,c),p=a+r.width/2)}))}},i.prototype.$_layoutVert=function(t,e,i){var n=t.options,r=this._line,s=t.tick,o=t._steps;this.height,o.length;var a,l="opposite"===n.position,u=l?s.options.length:-s.options.length,c=l?n.gap:e-n.gap;if(r.setVis(t.line.visible)&&(r.setStyleOrClass(t.line._style),r.setVLine(c,0,i)),this._tickContainer.setVis(s.visible)&&this._ticks.forEach((function(e,n){a=t.getRate(o[n])*i,e.setHLine(a,c,c+u)})),this._labelContainer.visible){var h=this._labelContainer.textAlign()||(l?"left":"right");c=l?c+u:e-n.gap+u,this._labels.forEach((function(e,n){e.layout(h);var r=e.getBBox(),s=l?c:c-r.width;a=t.getRate(o[n])*i,e.trans(s,a-r.height/2)}))}},i}(e.ScaleView);!function(t){function e(){return null!==t&&t.apply(this,arguments)||this}T(e,t)}(e.GaugeScale);var L=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return T(i,t),i.prototype._measureLabelSize=function(t,i,n){var r=t.label,s=this.labelView();return r.setText(t.getLabel(r,t.options.value)),s.text=r.options.text,r.buildSvg(s,null,i,n,t,r._domain),e.rectToSize(s.getBBox())},i.prototype._renderGauge=function(t,i){var n=this.model,r=e.pickNum(n._runValue,n.options.value);this._measureGauge(n,n.label,this.labelView(),r,n.isVertical(),t,i),this._renderValue()},i.prototype._renderValue=function(){var t=this.model,i=t.label,n=t.scale,r=this.labelView(),s=e.pickNum(t._runValue,t.options.value),o=e.assignObj({},this._rBand);if(this._renderScale(o),this.background().setRect(o),o.height>0&&this._renderBand(t,o,s),"top"!==i._runPos&&"bottom"!==i._runPos||(this._rLabel.height=o.height),this._renderLabel(t,i,r,s),!this._vertical&&("left"===i._runPos||"right"===i._runPos)&&n.visible&&"opposite"===n.options.position){var a=r.getBBox();r.ty+a.height>this.height&&r.transY(e.maxv(0,this.height-a.height))}},i.prototype._measureGauge=function(t,i,n,r,s,o,a){var l=this._rBand=e.createRect(0,0,o,a);if(this._vertical=t._group instanceof O?t._group.options.vertical:s,i.visible){var u=i._runPos=e.pickProp(i.options.position,this._vertical?"top":"left"),c=i._runVert="top"===u||"bottom"===u,h=t._group?t._group.itemLabel.options.gap:i._runGap=i.getGap(c?a:o),p=c?o:i.getWidth(o),_=c?i.getHeight(a):a,d=c?o:i.getMaxWidth(o),g=c?i.getMaxHeight(a):a,f=this._rLabel=e.createRect(0,0,o,a);n.setStyleOrClass(i._style),i.setText(t.getLabel(i,i.options.animatable?r:t.options.value)),n.text=i.options.text,i.buildSvg(n,null,e.pickNum(p,d),e.pickNum(_,g),t,i._domain);var y=n.getBBox();switch(c?(f.height=e.pickNum(_,y.height),l.height=e.maxv(0,l.height-(f.height+h))):(f.width=e.pickNum(p,y.width),this._wLabel=t._group?t._group._labelWidth:f.width,l.width=e.maxv(0,l.width-(this._wLabel+h))),u){case"top":l.y=f.height+h;break;case"bottom":f.y=l.height+h;break;case"right":f.x=l.width+h;break;default:l.x=this._wLabel+h}}else this._rLabel=null},i.prototype._renderLabel=function(t,i,n,r){if(n.visible){var s=this._rLabel,o=n.getBBox(),a=s.x,l=s.y;switch(i._runPos){case"top":case"bottom":a+=s.width/2;break;case"right":a=this.width-s.width,n.anchor=e.TextAnchor.START,l+=e.maxv(0,(s.height-o.height)/2);break;default:n.anchor=e.TextAnchor.END,a+=this._wLabel,l+=e.maxv(0,(s.height-o.height)/2)}n.trans(a,l)}},i.prototype._renderScale=function(t){var i,n,r=this.model,s=r.label,o=r.scale,a=this.scaleView(),l=this._vertical?t.height:t.width;if(o._vertical=this._vertical,o._reversed=r.options.reversed,isNaN(r._runValue)&&o.buildSteps(l,r.options.value),a.setVis(r.scaleVisible())){var u=a.measure(this.doc,o,t.width,t.height,1);this._vertical?(i=0,n=t.y,t.width=e.maxv(0,t.width-u.width),"opposite"===o.options.position?i=t.x+t.width:(s._runVert||(i=t.x),t.x+=u.width)):(i=t.x,t.height=e.maxv(0,t.height-u.height),"opposite"===o.options.position?s._runVert?(n=t.y,t.y+=u.height):(this._rLabel.y=t.y+=u.height,n=t.y-u.height):n=t.y+t.height),a.resizeByMeasured().layout().trans(i,n)}},i}(e.ValueGaugeView),I=function(t){function i(i){var n=t.call(this,i,"rct-linear-gauge-band")||this;return n._thick=0,n._gap=0,n._labelGap=3,n._barViews=new e.ElementPool(n,e.RectElement),n.add(n._labelContainer=new e.LayerElement(i,"rct-linear-gauge-band-tick-labels")),n._labels=new e.ElementPool(n._labelContainer,e.TextElement),n}return T(i,t),i.prototype._doMeasure=function(t,i,n,r,s){var o=i.gauge,a=this._vertical=o instanceof E?o.isVertical():o.options.vertical,l="inside"===i.options.position,u=this._thick=l?a?n:r:i.getThickness(a?n:r)+(this._gap=e.pickNum(i.options.gap,0)),c=a?u:n,h=a?r:u,p=this._ranges=i.getRanges();if(this._labelContainer.setVis(i.tickLabel.visible&&p.length>0)){var _=[p[0].fromValue].concat(p.map((function(t){return t.toValue})));if(this._labelContainer.setStyleOrClass(i.tickLabel._style),this._labels.prepare(p.length+1),a){var d=0;this._labels.forEach((function(t,i){t.text=String(_[i]),d=e.maxv(t.getBBox().width)})),c+=d+this._labelGap}else{var g=0;this._labels.forEach((function(t,i){t.text=String(_[i]),g=e.maxv(t.getBBox().height)})),h+=g}}return{width:c,height:h}},i.prototype._doLayout=function(t){var e=this.model,i=e.gauge,n=i.scale,r=n._max-n._min;this._labelContainer.setVis(this.$_layoutBars(i,r,this._ranges)&&this._labelContainer.visible&&"inside"!==e.options.position)&&this.$_layoutLabels(i,r,this._ranges)},i.prototype.$_layoutBars=function(t,e,i){var n=this;if(this._barViews.prepare(i.length),!this._barViews.isEmpty&&e>0){var r=this._vertical,s="inside"===this.model.options.position,o="opposite"===this.model.options.position,a=this.width,l=this.height,u=r?l:a,c=this._thick,h=0;return this._barViews.prepare(i.length).forEach((function(t,p){var _=i[p],d=u*(_.toValue-_.fromValue)/e;if(r){var g=s||o?0:a-c;t.setBounds(g,l-h-d,c,d)}else{var f=o?l-c:0;t.setBounds(h,f,d,n._thick)}t.internalClearStyleAndClass(),t.setFill(_.color),_.style&&t.addStyleOrClass(_.style),h+=d})),!0}},i.prototype.$_layoutLabels=function(t,i,n){var r="opposite"===this.model.options.position;if(this._vertical){var s=this.height,o=r?e.TextAnchor.START:e.TextAnchor.END,a=r?this._thick+this._labelGap:this.width-this._thick-this._labelGap;(c=this._labels.get(0)).anchor=o,c.trans(a,s-c.getBBox().height/2);for(var l=1;l<=n.length;l++){var u=s-s*n[l-1].toValue/i;(c=this._labels.get(l)).anchor=o,c.trans(a,u-c.getBBox().height/2)}}else{var c;s=this.width,a=r?0:this._thick;(c=this._labels.get(0)).trans(0,a);for(l=1;l<=n.length;l++){var h=s*n[l-1].toValue/i;this._labels.get(l).trans(h,a)}}},i}(e.ChartElement),D=function(t){function i(e){return t.call(this,e,"rct-linear-gauge")||this}return T(i,t),i.prototype._doInitContents=function(t,i){i.add(this._background=new e.RectElement(t,"rct-linear-gauge-background")),i.add(this._bandView=new I(t)),i.add(this._scaleView=new B(t)),i.add(this._valueView=new e.RectElement(t,"rct-linear-gauge-value")),i.add(this._labelView=new e.TextElement(t))},i.prototype._backgroundView=function(){return this._background},i.prototype.labelView=function(){return this._labelView},i.prototype.scaleView=function(){return this._scaleView},i.prototype.background=function(){return this._background},i.prototype._prepareGauge=function(t,e){},i.prototype._renderScale=function(e){var i=this.model.band,n=this._bandView;if(t.prototype._renderScale.call(this,e),n.setVis(i.visible)){var r=+i.options.gap||0,s=n.measure(this.doc,i,e.width,e.height,1);n.resizeByMeasured().layout(),this._vertical?"inside"===i.options.position?n.trans(e.x,e.y):"opposite"===i.options.position?(n.trans(e.x+e.width-s.width,e.y),e.width-=s.width+r):(n.trans(e.x,e.y),e.width-=s.width+r,e.x+=s.width+r):"inside"===i.options.position?n.trans(e.x,e.y):"opposite"===i.options.position?(n.trans(e.x,e.y),e.height-=s.height+r,e.y+=s.height+r):(n.trans(e.x,e.y+e.height-s.height),e.height-=s.height+r)}},i.prototype._renderBand=function(t,i,n){var r=this._valueView,s=t.options.reversed,o=t.valueBar,a=t._group?t._group.scale:t.scale;if(r.setVis(!e.isEmptyRect(i)&&o.visible&&!a.isEmpty()&&!isNaN(t.options.value)))if(r.setStyleOrClass(o._style),r.internalSetStyleOrClass(o.getStyle(t,n)),this._vertical){var l=i.height*a.getRate(n),u=s?i.y:i.y+i.height-l;r.setBounds(i.x,u,i.width,l)}else{var c=i.width*a.getRate(n),h=s?i.x+i.width-c:i.x;r.setBounds(h,i.y,c,i.height)}},i}(L),A=function(t){function i(e,i){return t.call(this,e,i)||this}return T(i,t),i.prototype._doInitContents=function(i,n){t.prototype._doInitContents.call(this,i,n),n.insertFirst(this._scaleView=new B(i)),n.insertFirst(this._textView=new e.TextElement(i,"rct-linear-gauge-group-label"))},i.prototype._prepareGauge=function(e,i){this._textView.setVis(i.label.visible)&&this._textView.setStyleOrClass(i.label._style),this._scaleView.setVis(i.scale.visible)&&this._scaleView.setStyleOrClass(i.scale._style),t.prototype._prepareGauge.call(this,e,i)},i.prototype._doRenderGauges=function(t,i,n,r){var s=this.model,o=s.options,a=this._textView,l=e.createRect(0,0,n,r);if(a.visible){a.text=s.label.options.text,s.label.buildSvg(a,null,NaN,NaN,s,null);var u=this._textView.getBBox().height+s.label.getGap(r);l.y+=u,l.height-=u,a.trans(this.width/2,0)}s._labelWidth=s._labelHeight=0,this._gaugeViews.forEach((function(t,i){var o=t._measureLabelSize(s.get(i),n,r);s._labelWidth=e.maxv(s._labelWidth,o.width),s._labelHeight=e.maxv(s._labelHeight,o.height)}));var c=e.copyObj(l),h=s.itemLabel.options.gap;o.vertical?(c.height-=s._labelHeight+h,s.itemLabel.options.opposite||(c.y+=s._labelHeight+h)):(c.width-=s._labelWidth+h,s.itemLabel.options.opposite||(c.x+=s._labelWidth+h)),this._renderScale(s,l,c),o.vertical?this.$_layoutVert(this.doc,s,i,l):this.$_layoutHorz(this.doc,s,i,l)},i.prototype._renderScale=function(t,e,i){var n,r,s=this._scaleView,o=t.scale,a=t.options.vertical,l=a?e.height:e.width,u=[];if(this._gaugeViews.forEach((function(e,i){u.push(t.get(i).getValue())})),o.buildGroupSteps(l,u),o._vertical=a,s.setVis(o.visible)){var c=s.measure(this.doc,o,i.width,i.height,1);if(a){var h=c.width;i.width-=h,e.width-=h,r=i.y,"opposite"===o.options.position?n=i.x+i.width:(n=i.x,i.x+=h,e.x+=h)}else{var p=c.height;i.height-=p,e.height-=p,n=i.x,"opposite"===o.options.position?(r=i.y,i.y+=p,e.y+=p):r=i.y+i.height}s.resizeByMeasured().layout().trans(n,r)}},i.prototype.$_layoutVert=function(t,e,i,n){var r=n.height,s=(n.width-e.options.itemGap*(i.count-1))/i.count,o=n.y,a=n.x;i.forEach((function(i,n){i.measure(t,e.get(n),s,r,0),i.resize(s,r),i.layout(),i.trans(a,o),a+=s+e.options.itemGap}))},i.prototype.$_layoutHorz=function(t,e,i,n){var r=e.options.itemGap,s=n.width,o=(n.height-r*(i.count-1))/i.count,a=n.x,l=n.y;i.forEach((function(i,n){i.measure(t,e.get(n),s,o,0),i.resize(s,o),i.layout(),i.trans(a,l),l+=o+r}))},i}(e.GaugeGroupView),N=function(t){function i(e){return t.call(this,e,"rct-linear-gauge-group")||this}return T(i,t),i.prototype._doInitContents=function(e,i){t.prototype._doInitContents.call(this,e,i),i.insertChild(this._bandView=new I(e),this._scaleView)},i.prototype._createPool=function(t){return new e.ElementPool(t,D)},i.prototype._renderScale=function(e,i,n){t.prototype._renderScale.call(this,e,i,n);var r,s,o=this._bandView,a=e.band;if(o.setVis(a.visible)){var l=+a.options.gap||0,u=o.measure(this.doc,a,n.width,n.height,1);if(e.options.vertical){var c=u.width+l;n.width-=c,i.width-=c,s=n.y,"opposite"===a.options.position?r=n.x+n.width+l:(r=n.x,n.x+=c,i.x+=c)}else{var h=u.height+l;n.height-=h,i.height-=h,r=n.x,"opposite"===a.options.position?(s=n.y,n.y+=h,i.y+=h):s=n.y+n.height+l}o.resizeByMeasured().layout().trans(r,s)}},i}(A),j=function(){var t=function(e,i){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])},t(e,i)};return function(e,i){if("function"!=typeof i&&null!==i)throw new TypeError("Class extends value "+String(i)+" is not a constructor or null");function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}(),H=function(t){function i(e){var i=t.call(this,e.chart)||this;return i.gauge=e,i}return j(i,t),i.prototype.getRanges=function(){var t;return null===(t=this.$_internalRanges())||void 0===t?void 0:t.slice(0)},i.prototype._doApply=function(e){var i,n=this;t.prototype._doApply.call(this,e),(i=e.ranges)!==n._ranges&&(n._ranges=i,n._runRanges=null)},i.prototype.$_internalRanges=function(){if(!this._runRanges){var t=this.gauge.options;this._runRanges=e.buildValueRanges(this._ranges,t.minValue,t.maxValue,this._op.rangeInclusive)}return this._runRanges},i.defaults=e.extend(e.ChartItem.defaults,{vertical:!0,rangeInclusive:!0}),i}(e.ChartItem),$=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return j(i,t),i.defaults=e.extend(e.ChartItem.defaults,{visible:!0}),i}(e.GaugeItem),M=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return j(e,t),e}(S),z=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return j(i,t),i.prototype._doInit=function(e){t.prototype._doInit.call(this,e),e.band=(this._band=new H(this)).init(),e.targetBar=(this._targetBar=new $(this)).init(),e.valueBar=(this._valueBar=new M(this)).init()},Object.defineProperty(i.prototype,"band",{get:function(){return this._band},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,"targetBar",{get:function(){return this._targetBar},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,"valueBar",{get:function(){return this._valueBar},enumerable:!1,configurable:!0}),i.prototype.getRanges=function(t,i,n){return e.buildValueRanges(this._op.ranges,t,i,e.pickProp(n,this._op.rangeInclusive))},i.type=e.BulletGaugeType,i.defaults=e.extend(C.defaults,{rangeInclusive:!0}),i}(C),W=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return j(i,t),i.prototype.getRanges=function(t,i,n){return e.buildValueRanges(this._op.ranges,t,i,e.pickProp(n,this._op.rangeInclusive))},i.prototype._gaugesType=function(){return"bullet"},i.type=e.BulletGaugeGroupType,i.gaugeType=e.BulletGaugeType,i.defaults=e.extend(O.defaults,{rangeInclusive:!0}),i}(O),F=function(){var t=function(e,i){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])},t(e,i)};return function(e,i){if("function"!=typeof i&&null!==i)throw new TypeError("Class extends value "+String(i)+" is not a constructor or null");function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}(),Y=function(t){function i(e){return t.call(this,e,"rct-bullet-gage")||this}return F(i,t),i.prototype._doInitContents=function(t,i){i.add(this._background=new e.RectElement(t,"rct-bullet-gauge-background")),i.add(this._barContainer=new e.LayerElement(t,void 0)),this._barViews=new e.ElementPool(this._barContainer,e.RectElement),i.add(this._valueView=new e.RectElement(t,"rct-bullet-gauge-value")),i.add(this._targetView=new e.RectElement(t,"rct-bullet-gauge-target")),i.add(this._scaleView=new B(t)),i.add(this._labelView=new e.TextElement(t))},i.prototype._backgroundView=function(){return this._background},i.prototype.labelView=function(){return this._labelView},i.prototype.scaleView=function(){return this._scaleView},i.prototype.background=function(){return this._background},i.prototype._prepareGauge=function(t,e){},i.prototype._renderBand=function(t,i,n){var r=t.options,s=t._group,o=t.options.reversed,a=this._vertical,l=s?s.scale:t.scale,u=this._valueView,c=this._targetView;if(this._barContainer.setVis(!e.isEmptyRect(i)&&!l.isEmpty())){var h=t.getRanges(l._min,l._max,!1)||(null==s?void 0:s.getRanges(l._min,l._max,!1));h&&(this._barContainer.setRect(i),this._barViews.prepare(h.length),a?this._barViews.forEach((function(t,e){var n=h[e],r=i.height*l.getRate(n.toValue-n.fromValue),s=i.height*l.getRate(n.fromValue);t.setBounds(0,o?s:i.height-s-r,i.width,r),t.internalClearStyleAndClass(),t.setFill(n.color),n.style&&t.addStyleOrClass(n.style)})):this._barViews.forEach((function(t,e){var n=h[e],r=i.width*l.getRate(n.toValue-n.fromValue),s=i.width*l.getRate(n.fromValue);t.setBounds(o?i.width-r-s:s,0,r,i.height),t.internalClearStyleAndClass(),t.setFill(n.color),n.style&&t.addStyleOrClass(n.style)})))}if(u.setVis(t.valueBar.visible&&!l.isEmpty()&&!isNaN(n)))if(u.setStyleOrClass(t.valueBar._style),n<r.targetValue&&t.valueBar.options.belowStyle&&u.internalSetStyleOrClass(t.valueBar.options.belowStyle),u.internalSetStyleOrClass(t.valueBar.getStyle(t,n)),a){var p=i.height*l.getRate(n),_=o?i.y:i.y+i.height-p;u.setBounds(i.x+i.width/3,_,i.width/3,p)}else{var d=i.width*l.getRate(n),g=o?i.x+i.width-d:i.x;u.setBounds(g,i.y+i.height/3,d,i.height/3)}if(c.setVis(t.targetBar.visible&&!l.isEmpty()&&!isNaN(r.targetValue)))if(c.setStyleOrClass(t.targetBar._style),a&&i.width>10){_=i.height*l.getRate(r.targetValue);_=o?i.y+_:i.y+i.height-_,c.setBounds(i.x+5,_-1,i.width-10,3)}else if(!a&&i.height>10){g=i.width*l.getRate(r.targetValue);g=o?i.x+i.width-g:i.x+g,c.setBounds(g-1,i.y+5,3,i.height-10)}},i}(L),X=function(t){function i(e){return t.call(this,e,"rct-bullet-gauge-group")||this}return F(i,t),i.prototype._createPool=function(t){return new e.ElementPool(t,Y)},i}(A),U=function(){var t=function(e,i){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])},t(e,i)};return function(e,i){if("function"!=typeof i&&null!==i)throw new TypeError("Class extends value "+String(i)+" is not a constructor or null");function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}(),q=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return U(i,t),i.prototype.getThickness=function(t){return e.calcPercent(this._thicknessDim,t,t)},i.prototype._doApply=function(e){t.prototype._doApply.call(this,e),this._setDim(e,"thickness")},i.defaults=e.extend(e.ChartItem.defaults,{thickness:7}),i}(e.GaugeItem),J=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return U(i,t),i.prototype.getLength=function(t){return e.calcPercent(this._lengthDim,t,t)},i.prototype._doApply=function(e){t.prototype._doApply.call(this,e),this._setDim(e,"length")},i.defaults=e.extend(e.ChartItem.defaults,{thickness:7,length:"60%"}),i}(e.GaugeItem),K=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return U(i,t),i.defaults=e.extend(J.defaults,{thickness:5,length:"85%"}),i}(J),Q=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return U(i,t),i.defaults=e.extend(J.defaults,{thickness:2,length:"95%",animatable:!1,duration:200}),i}(J),Z=function(t){function e(e,i){var n=t.call(this,e)||this;return n.length=i,n}return U(e,t),e}(e.GaugeItem),tt=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return U(i,t),i.defaults=e.extend(e.ChartItem.defaults,{step:1,offset:1}),i}(e.GaugeItem),et=function(t){function e(e,i){var n=t.call(this,e)||this;return n.raidus=i,n}return U(e,t),e}(e.GaugeItem),it=function(t){function i(e){return t.call(this,e.chart)||this}return U(i,t),i.defaults=e.extend(e.ChartText.defaults,{text:"RealChart Clock<br>ver1.0",position:"top"}),i}(e.ChartText),nt=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return U(i,t),i.prototype._doInit=function(e){t.prototype._doInit.call(this,e),e.rim=(this.rim=new q(this)).init(),e.hourHand=(this.hourHand=new J(this)).init(),e.minuteHand=(this.minuteHand=new K(this)).init(),e.secondHand=(this.secondHand=new Q(this)).init(),e.tick=(this.tick=new Z(this,10)).init(),e.minorTick=(this.minorTick=new Z(this,5)).init(),e.tickLabel=(this.tickLabel=new tt(this)).init(),e.pin=(this.pin=new et(this,5)).init(),e.label=(this.label=new it(this)).init()},i.prototype.getTime=function(){var t=this._op;return t.time instanceof this.chart.win.Date?t.time:e.isString(t.time)?new Date(t.time):isNaN(t.time)?void 0:new Date(t.time)},i.prototype.getExtents=function(t,i){var n=e.minv(t,i);return{cx:e.calcPercent(this._centerXDim,t,t/2),cy:e.calcPercent(this._centerYDim,i,i/3),rd:e.calcPercent(this._radiusDim,n,n/2)}},i.prototype._doApply=function(i){var n,r,s,o=this;t.prototype._doApply.call(this,i),n=i.centerX,r=i.centerY,s=i.radius,(o._centerXDim||n!==o._centerX)&&(o._centerXDim=e.parsePercentSize(e.pickProp(o._centerX=n,e.CircularGauge.DEF_CENTER),!0)),o._centerYDim&&r===o._centerY||(o._centerYDim=e.parsePercentSize(e.pickProp(o._centerY=r,e.CircularGauge.DEF_CENTER),!0)),o._radiusDim&&s===o._radius||(o._radiusDim=e.parsePercentSize(e.pickProp(o._radius=s,e.CircularGauge.DEF_RADIUS),!0))},i.type=e.ClockGaugeType,i.defaults=e.extend(e.Gauge.defaults,{centerX:"50%",centerY:"50%",radius:"40%",active:!0}),i}(e.Gauge),rt=function(){var t=function(e,i){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])},t(e,i)};return function(e,i){if("function"!=typeof i&&null!==i)throw new TypeError("Class extends value "+String(i)+" is not a constructor or null");function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}(),st=function(t){function e(e){var i=t.call(this)||this;return i.view=e,i}return rt(e,t),e.prototype._doUpdate=function(t){return this.view._secRate=t,this.view.$_renderHands(this.view.model,this.view._exts),!0},e}(e.RcAnimation),ot=function(t){function i(e){var i=t.call(this,e,"rct-clock-gauge")||this;return i._rimThick=0,i._secRate=1,i}return rt(i,t),i.prototype._doInitContents=function(t,i){i.add(this._faceView=new e.CircleElement(t,"rct-clock-gauge-face")),i.add(this._rimView=new e.SectorElement(t,"rct-clock-gauge-rim")),i.add(this._labelView=new e.TextElement(t,"rct-clock-gauge-label")),this._labelView.layout=e.TextLayout.MIDDLE,i.add(this._tickContainer=new e.LayerElement(t,"rct-clock-gauge-ticks")),i.add(this._tickLabelContainer=new e.LayerElement(t,"rct-clock-gauge-tick-labels")),i.add(this._hourView=new e.PathElement(t,"rct-clock-gauge-hour")),i.add(this._minuteView=new e.PathElement(t,"rct-clock-gauge-minute")),i.add(this._secondView=new e.PathElement(t,"rct-clock-gauge-second")),i.add(this._pinView=new e.CircleElement(t,"rct-clock-gauge-pin")),this._tickViews=new e.ElementPool(this._tickContainer,e.LineElement,"rct-clock-gauge-tick"),this._minorTickViews=new e.ElementPool(this._tickContainer,e.LineElement,"rct-clock-gauge-minor-tick"),this._tickLabelViews=new e.ElementPool(this._tickLabelContainer,e.TextElement,"rct-clock-gauge-tick-label")},i.prototype._prepareGauge=function(t,i){this._tickViews.prepare(i.tick.visible?12:0),this._minorTickViews.prepare(i.minorTick.visible?48:0);var n=Math.round(12/e.maxv(1,Math.floor(i.tickLabel.options.step)||1));this._tickLabelViews.prepare(i.tickLabel.visible?n:0,(function(t){t.layout=e.TextLayout.MIDDLE}))},i.prototype._renderGauge=function(t,i){var n=this,r=this.model,s=this._exts=r.getExtents(t,i);this._secRate=1,this.$_renderFace(r,s),this.$_renderHands(r,s),r.options.active&&!r.getTime()?this._runner||(this._runner=setInterval((function(){var t=n._prevSec;n.$_renderHands(n.model,n._exts),e.absv(t-n._prevSec)>=1&&n._secondView.visible&&r.chart.animatable()&&r.secondHand.options.animatable&&n.$_moveSecond(t)}),1e3)):this._runner&&(clearInterval(this._runner),this._runner=void 0)},i.prototype.$_renderFace=function(t,i){var n=this._labelView,r=this._rimView,s=this._minorTickViews,o=this._tickLabelViews,a=this._pinView,l=i.cx,u=i.cy,c=i.rd,h=this._rimThick=t.rim.getThickness(c);this._faceView.setCircle(l,u,c),r.setVis(t.rim.visible)&&(r.internalSetStyleOrClass(t.rim._style),r.setSector({cx:l,cy:u,rx:c,ry:c,innerRadius:1-h/c,start:0,angle:2*Math.PI,clockwise:!0}));var p=c-(r.visible?h:0),_=p-t.tick.length,d=e.ORG_ANGLE,g=e.PI_2/12;if(this._tickViews.forEach((function(i,n){i.setLine(l+e.cos(d)*p,u+e.sin(d)*p,l+e.cos(d)*_,u+e.sin(d)*_),i.internalSetStyleOrClass(t.tick._style),d+=g})),!s.isEmpty){var f=0;_=p-t.minorTick.length,d=e.ORG_ANGLE,g=e.PI_2/60,s.forEach((function(i){f%5==0&&(d+=g,f++),i.setLine(l+e.cos(d)*p,u+e.sin(d)*p,l+e.cos(d)*_,u+e.sin(d)*_),i.internalSetStyleOrClass(t.minorTick._style),d+=g,f++}))}if(!o.isEmpty){var y=12/o.count,b=e.PI_2/12*y;d=e.ORG_ANGLE,o.get(0).text="12",_=p-(t.tick.length+t.tickLabel.options.offset||0),_-=.5*o.get(0).getBBox().height,o.forEach((function(i,n,r){i.text=String(0===n?12:n*y),i.trans(l+e.cos(d)*_,u+e.sin(d)*_),i.internalSetStyleOrClass(t.tickLabel._style),d+=b}))}a.setVis(t.pin.visible)&&(a.setCircle(l,u,t.pin.raidus),a.setStyleOrClass(t.pin._style)),n.setVis(t.label.visible)&&(n.internalSetStyleOrClass(t.label._style),t.label.buildSvg(n,null,NaN,NaN,null,null),"bottom"===t.label.options.position?n.trans(l,u+_/2):n.trans(l,u-_/2))},i.prototype.$_getNow=function(){var t=this.model.options.timezone,e=this.model.getTime()||new Date;if(!isNaN(t)){var i=e.getMinutes()+(e.getTimezoneOffset()+t);e.setMinutes(i)}return e},i.prototype.$_renderHands=function(t,i){var n,r,s,o,a=this.$_getNow(),l=a.getHours(),u=a.getMinutes(),c=a.getSeconds(),h=i.cx,p=i.cy,_=i.rd,d=new e.PathBuilder;n=t.hourHand,(r=this._hourView).setVis(n.visible)&&(o=e.PI_2*(l/12+u/60/12+c/60/60/12),s=n.getLength(_-this._rimThick),d.rect(-n.options.thickness/2,-s,n.options.thickness,s),r.internalSetStyleOrClass(n._style),r.setPath(d.close(!0)).trans(h,p).rotate(o*e.RAD_DEG)),n=t.minuteHand,(r=this._minuteView).setVis(n.visible)&&(o=e.PI_2*(u/60+c/60/60),s=n.getLength(_-this._rimThick),d.rect(-n.options.thickness/2,-s,n.options.thickness,s),r.internalSetStyleOrClass(n._style),r.setPath(d.close(!0)).trans(h,p).rotate(o*e.RAD_DEG)),n=t.secondHand,(r=this._secondView).setVis(n.visible)&&(o=this._secRate<1?e.PI_2*(this._aniSec+this._secRate)/60:e.PI_2*c/60,s=n.getLength(_-this._rimThick),d.rect(-n.options.thickness/2,-s,n.options.thickness,s),r.internalSetStyleOrClass(n._style),r.setPath(d.close(!0)).trans(h,p).rotate(o*e.RAD_DEG),this._prevSec=c)},i.prototype.$_moveSecond=function(t){if(!isNaN(t)){this._aniSec=t;var e=new st(this);e.duration=this.model.secondHand.options.duration||200,e.start()}},i}(e.GaugeView);function at(t){(function(t){return t.Series&&t.SeriesView})(t)&&(t.Gauge.register(z,p,nt,E),t.GaugeGroup.register(W,_,G),t.GaugeView.register([p,v],[E,D],[z,Y],[nt,ot],[_,m],[G,N],[W,X]))}at(r),t.BulletGauge=z,t.CircleGauge=p,t.ClockGauge=nt,t.LinearGauge=E,t.default=at,Object.defineProperty(t,"__esModule",{value:!0})}));