@progress/kendo-ui
Version:
This package is part of the [Kendo UI for jQuery](http://www.telerik.com/kendo-ui) suite.
1 lines • 29.5 kB
JavaScript
module.exports=function(i){var r={};function n(t){if(r[t])return r[t].exports;var e=r[t]={exports:{},id:t,loaded:!1};return i[t].call(e.exports,e,e.exports,n),e.loaded=!0,e.exports}return n.m=i,n.c=r,n.p="",n(0)}({0:function(t,e,i){t.exports=i(917)},3:function(t,e){t.exports=function(){throw Error("define cannot be used indirect")}},891:function(t,e){t.exports=require("../../kendo.dataviz.core")},893:function(t,e){t.exports=require("../../kendo.drawing")},896:function(t,e){t.exports=require("../../kendo.core")},897:function(t,e){t.exports=require("../../kendo.color")},917:function(t,e,i){var r;i(3),i=[i(896),i(897),i(893),i(891)],void 0===(e="function"==typeof(r=function(){var r=window.kendo.jQuery,f=(window.kendo.dataviz=window.kendo.dataviz||{},kendo.dataviz),U=f.getSpacing,C=f.defined,x=f.constants,e=x.BLACK,d=x.COORD_PRECISION,n=f.services,s=f.deepExtend,l=f.isArray,t=f.setDefaultOptions,a=f.NumericAxis,o=f.limitValue,P=f.Box,v=f.interpolateValue,p=f.round,i=kendo.drawing,h=i.Group,c=i.Path,u=i.Animation,g=i.AnimationFactory,m=kendo.geometry,M=m.Rect,j=m.Point,B=m.transform,w=150,b=250,k="arrow",y="arrowPointer",A="barPointer",_=200,T=.5,S=200,E=Math.PI/180,X="inside",z="linear",R="outside",O="radialPointer",L="radialRangePointer";function V(t,e){var i=t.getOrigin();var r=t.getSize();var n=U(e);t.setOrigin([i.x-n.left,i.y-n.top]);t.setSize([r.width+(n.left+n.right),r.height+(n.top+n.bottom)]);return t}var D=h,Y=c,G=i.Text;function N(t,e){var i=t.box;var r=t.children[0].box;var n=e.border||{};var a=e.background||"";var o=Y.fromRect(new M([i.x1,i.y1],[i.width(),i.height()]),{stroke:{}});var s=new G(t.text,new j(r.x1,r.y1),{font:e.font,fill:{color:e.color}});var l=V(s.bbox().clone(),e.padding);var h=Y.fromRect(l,{stroke:{color:n.width?n.color:"",width:n.width,opacity:n.opacity,dashType:n.dashType,lineJoin:"round",lineCap:"round"},fill:{color:a}});var v=new D;v.append(o);v.append(h);v.append(s);return v}function I(t,e,i){var r=C(t.from)?t.from:x.MIN_VALUE;var n=C(t.to)?t.to:x.MAX_VALUE;t.from=Math.max(Math.min(n,r),e);t.to=Math.min(Math.max(n,r),i);return t}function q(t,e){var i=U(e);i.left=-i.left;i.top=-i.top;i.right=-i.right;i.bottom=-i.bottom;return V(t,i)}var F=5,W=c,H=i.Surface,J=f.Class.extend({init:function(t,e,i,r){if(r===void 0)r={};this.element=t;this.theme=i;this.contextService=new n.ChartService(this,r);this._originalOptions=s({},this.options,e);this.options=s({},this._originalOptions);this._initTheme(i);this.redraw()},destroy:function(){if(this.surface){this.surface.destroy();this.surface=null}delete this.element;delete this.surfaceElement},value:function(t){var e=this.pointers[0];if(arguments.length===0)return e.value();e.value(t);this._setValueOptions(t)},_draw:function(){var t=this.surface;t.clear();t.draw(this._visuals)},exportVisual:function(){return this._visuals},allValues:function(t){var e=this.pointers;var i=[];if(arguments.length===0){for(var r=0;r<e.length;r++)i.push(e[r].value());return i}if(l(t))for(var n=0;n<t.length;n++)if(f.isNumber(t[n]))e[n].value(t[n]);this._setValueOptions(t)},_setValueOptions:function(t){var e=[].concat(this.options.pointer);var i=[].concat(t);for(var r=0;r<i.length;r++)e[r].value=i[r]},resize:function(){this.noTransitionsRedraw()},noTransitionsRedraw:function(){var t=this.options.transitions;this._toggleTransitions(false);this.redraw();this._toggleTransitions(t)},redraw:function(){var t=this._surfaceSize();var e=new M([0,0],[t.width,t.height]);this._initSurface();this.gaugeArea=this._createGaugeArea();this._createModel();var i=q(e.bbox(),this._gaugeAreaMargin);this.reflow(i)},setOptions:function(t,e){this._originalOptions=s(this._originalOptions,t);this.options=s({},this._originalOptions);this._initTheme(e);this.redraw()},setDirection:function(t){this.contextService.rtl=Boolean(t);if(this.surface&&this.surface.type==="svg"){this.surface.destroy();this.surface=null}},setIntlService:function(t){this.contextService.intl=t},_initTheme:function(t){var e=t||this.theme||{};this.theme=e;this.options=s({},e,this.options);var i=this.options;var r=i.pointer;if(l(r)){var n=[];for(var a=0;a<r.length;a++)n.push(s({},e.pointer,r[a]));i.pointer=n}},_createGaugeArea:function(){var t=this.options.gaugeArea;var e=this.surface.size();var i=t.border||{};var r=new M([0,0],[e.width,e.height]);this._gaugeAreaMargin=t.margin||F;if(i.width>0)r=q(r,i.width);var n=W.fromRect(r,{stroke:{color:i.width?i.color:"",width:i.width,dashType:i.dashType,lineJoin:"round",lineCap:"round"},fill:{color:t.background}});return n},_initSurface:function(){var t=this;var e=t.options;var i=t.surface;var r=this._surfaceElement();var n=this._surfaceSize();f.elementSize(r,n);if(!i||i.options.type!==e.renderAs){if(i)i.destroy();this.surface=H.create(r,{type:e.renderAs})}else{this.surface.clear();this.surface.resize()}},_surfaceSize:function(){var t=this.options;var e=this._getSize();if(t.gaugeArea)s(e,t.gaugeArea);return e},_surfaceElement:function(){if(!this.surfaceElement){this.surfaceElement=document.createElement("div");this.element.appendChild(this.surfaceElement)}return this.surfaceElement},getSize:function(){return this._getSize()},_getSize:function(){var t=this.element;var e=this._defaultSize();var i=t.offsetWidth;var r=t.offsetHeight;if(!i)i=e.width;if(!r)r=e.height;return{width:i,height:r}},_defaultSize:function(){return{width:S,height:_}},_toggleTransitions:function(t){var e=this;this.options.transitions=t;for(var i=0;i<this.pointers.length;i++)e.pointers[i].options.animation.transitions=t}}),K=(t(J,{plotArea:{},theme:"default",renderAs:"",pointer:{},scale:{},gaugeArea:{}}),c),Q=h,Z=j;function $(t,e){var i=t.position;var r=t.tickX;var n=t.tickY;var a,o;if(t.vertical){a=new Z(r,i);o=new Z(r+e.size,i)}else{a=new Z(i,n);o=new Z(i,n+e.size)}var s=new K({stroke:{color:e.color,width:e.width}}).moveTo(a).lineTo(o);return s}function tt(t,e,i,r){var n=e.length;if(r.visible){var a=i.mirror;var o=i.lineBox;for(var s=r.skip;s<n;s+=r.step){if(s%r.skipUnit===0)continue;i.tickX=a?o.x2:o.x2-r.size;i.tickY=a?o.y1-r.size:o.y1;i.position=e[s];t.append($(i,r))}}}var et=a.extend({init:function(t,e){var i=t||{};if(!C(i.reverse)&&i.vertical===false&&(e||{}).rtl)i=r.extend({},i,{reverse:true});a.fn.init.call(this,0,1,i,e);this.options.minorUnit=this.options.minorUnit||this.options.majorUnit/10},initUserOptions:function(t){var e=s({},this.options,t);e=s({},e,{labels:{mirror:e.mirror}});e.majorUnit=e.majorUnit||f.autoMajorUnit(e.min,e.max);return e},initFields:function(){},render:function(){var t=this.elements=new Q;var e=this.renderLabels();var i=this.renderLine();var r=this.renderTicks();var n=this.renderRanges();t.append(i,e,r,n);return t},renderRanges:function(){var t=this;var e=this.options;var h=e.min;var c=e.max;var i=e.vertical;var r=e.labels.mirror;var n=e.ranges||[];var a=new Q;var u=n.length;var f=e.rangeSize||e.minorTicks.size/2;for(var o=0;o<u;o++){var s=I(n[o],h,c);var p=t.getSlot(s.from,s.to);var l=i?t.lineBox():p;var v=i?p:t.lineBox();if(i)l.x1-=f*(r?-1:1);else v.y2+=f*(r?-1:1);a.append(K.fromRect(new M([l.x1,v.y1],[l.x2-l.x1,v.y2-v.y1]),{fill:{color:s.color,opacity:s.opacity},stroke:{}}))}return a},renderLabels:function(){var t=this;var e=t.labels;var i=t.options;var r=new Q;for(var n=0;n<e.length;n++)r.append(N(e[n],i.labels));return r},renderLine:function(){var t=this.options.line;var e=this.lineBox();var i=new Q;if(t.width>0&&t.visible){var r=new K({stroke:{color:t.color,dashType:t.dashType,width:t.width}});r.moveTo(e.x1,e.y1).lineTo(e.x2,e.y2);i.append(r)}return i},renderTicks:function(){var t=new Q;var e=this.options;var i=e.majorTicks.visible?e.majorUnit:0;var r={vertical:e.vertical,mirror:e.labels.mirror,lineBox:this.lineBox()};tt(t,this.getMajorTickPositions(),r,e.majorTicks);tt(t,this.getMinorTickPositions(),r,s({},{skipUnit:i/e.minorUnit},e.minorTicks));return t}}),it=(t(et,{min:0,max:50,majorTicks:{size:15,align:X,color:e,width:T,visible:true},minorTicks:{size:10,align:X,color:e,width:T,visible:true},line:{width:T},labels:{position:X,padding:2},mirror:false,_alignLines:false}),f.Class.extend({init:function(t,e){var i=t.options;var r=i.min;var n=i.max;var a=this.options=s({},this.options,e);a.fill=a.color;this.scale=t;if(C(a.value))a.value=o(a.value,r,n);else a.value=r},value:function(t){var e=this.options;var i=e.value;if(arguments.length===0)return i;var r=this.scale.options;var n=r.min;var a=r.max;e._oldValue=C(e._oldValue)?e.value:n;e.value=o(t,n,a);if(this.elements)this.repaint()}})),rt=(t(it,{color:e}),it.extend({init:function(t,e){it.fn.init.call(this,t,e);this.options=s({track:{visible:C(e.track)}},this.options)},reflow:function(){var t=this;var e=t.options;var h=t.scale;var c=h.options;var i=c.mirror;var u=c.vertical;var r=h.lineBox();var n=e.track.size||e.size;var a=e.size/2;var f=U(e.margin);var o=u?f[i?"left":"right"]:f[i?"bottom":"top"];var s,l,v;o=i?-o:o;if(u){v=new P(r.x1+o,r.y1,r.x1+o,r.y2);if(i)v.x1-=n;else v.x2+=n;if(e.shape!==A){l=new P(r.x2+o,r.y1-a,r.x2+o,r.y2+a);s=l}}else{v=new P(r.x1,r.y1-o,r.x2,r.y1-o);if(i)v.y2+=n;else v.y1-=n;if(e.shape!==A){l=new P(r.x1-a,r.y1-o,r.x2+a,r.y1-o);s=l}}this.trackBox=v;this.pointerRangeBox=l;this.box=s||v.clone().pad(e.border.width)},getElementOptions:function(){var t=this.options;return{fill:{color:t.color,opacity:t.opacity},stroke:C(t.border)?{color:t.border.width?t.border.color||t.color:"",width:t.border.width,dashType:t.border.dashType,opacity:t.opacity}:null}},_margin:function(){var t=this;var e=t.scale;var i=t.options;var r=e.options;var n=r.mirror;var a=r.vertical;var o=U(i.margin);var s=a?o[n?"left":"right"]:o[n?"bottom":"top"];return s}})),nt=(t(rt,{shape:A,track:{border:{width:1}},color:e,border:{width:1},opacity:1,margin:U(3),animation:{type:A},visible:true}),u.extend({setup:function(){var t=this.options;var e=t.margin;var i=t.from;var r=t.to;var n=t.vertical;var a=n?"x1":"y1";if(t.mirror===n){i[a]-=e;r[a]-=e}else{i[a]+=e;r[a]+=e}var o=this.fromScale=new j(i.x1,i.y1);var s=this.toScale=new j(r.x1,r.y1);if(t.duration!==0)t.duration=Math.max(o.distanceTo(s)/t.duration*1e3,1)},step:function(t){var e=v(this.fromScale.x,this.toScale.x,t);var i=v(this.fromScale.y,this.toScale.y,t);this.element.transform(B().translate(e,i))}})),at=(t(nt,{easing:z,duration:b}),g.current.register(y,nt),j),ot=c,st=rt.extend({init:function(t,e){rt.fn.init.call(this,t,e);if(!C(this.options.size))this.options.size=this.scale.options.majorTicks.size*.6},pointerShape:function(){var t=this;var e=t.scale;var i=t.options.size;var r=i/2;var n=e.options.mirror?-1:1;var a;if(e.options.vertical)a=[new at(0,0-r),new at(0-n*i,0),new at(0,0+r)];else a=[new at(0-r,0),new at(0,0+n*i),new at(0+r,0)];return a},repaint:function(){var t=this;var e=t.scale;var i=t.options;var r=new nt(this.elements,s(i.animation,{vertical:e.options.vertical,mirror:e.options.mirror,margin:this._margin(i.margin),from:e.getSlot(i._oldValue),to:e.getSlot(i.value)}));if(i.animation.transitions===false)r.options.duration=0;r.setup();r.play()},render:function(){var t=this;var e=t.scale;var i=t.options;var r=this.getElementOptions();var n=this.pointerShape(i.value);i.animation.type=y;var a=new ot({stroke:r.stroke,fill:r.fill}).moveTo(n[0]).lineTo(n[1]).lineTo(n[2]).close();var o=e.getSlot(i.value);a.transform(B().translate(o.x1,o.y1));this.elements=a;return a}}),lt=u.extend({setup:function(){var t=this.options;var e=this.axis=t.vertical?x.Y:x.X;var i=this.to=t.newPoints[0][e];var r=this.from=t.oldPoints[0][e];if(t.duration!==0)t.duration=Math.max(Math.abs(i-r)/t.speed*1e3,1);this._set(r)},step:function(t){var e=v(this.from,this.to,t);this._set(e)},_set:function(t){var e="set"+this.axis.toUpperCase();var i=this.options.newPoints;i[0][e](t);i[1][e](t)}}),vt=(t(lt,{easing:z,speed:b}),g.current.register(A,lt),h),ht=c,ct=rt.extend({init:function(t,e){rt.fn.init.call(this,t,e);if(!C(this.options.size))this.options.size=this.scale.options.majorTicks.size*.3},pointerShape:function(h){var c=this;var t=c.scale;var u=c.options;var f=t.options;var p=f.mirror;var e=f.vertical;var d=p===e?-1:1;var i=u.size*d;var g=t.getSlot(t.options.min);var m=t.getSlot(h);var r=e?x.Y:x.X;var n=e?x.X:x.Y;var a=this._margin()*d;var o=new j;o[r]=g[r+"1"];o[n]=g[n+"1"];var s=new j;s[r]=m[r+"1"];s[n]=m[n+"1"];if(e){o.translate(a,0);s.translate(a,0)}else{o.translate(0,a);s.translate(0,a)}var l=s.clone();var v=o.clone();if(e){l.translate(i,0);v.translate(i,0)}else{l.translate(0,i);v.translate(0,i)}return[o,s,l,v]},repaint:function(){var t=this;var e=t.scale;var i=t.options;var r=this.pointerShape(i.value);var n=this.pointerPath;var a=this.pointerShape(i._oldValue);n.moveTo(r[0]).lineTo(r[1]).lineTo(r[2]).lineTo(r[3]).close();var o=new lt(n,s(i.animation,{reverse:e.options.reverse,vertical:e.options.vertical,oldPoints:[a[1],a[2]],newPoints:[r[1],r[2]]}));if(i.animation.transitions===false)o.options.duration=0;o.setup();o.play()},render:function(){var t=new vt;var e=this.getElementOptions();if(this.options.track.visible)t.append(this.renderTrack());var i=this.pointerPath=new ht({stroke:e.stroke,fill:e.fill});t.append(i);this.elements=t;return t},renderTrack:function(){var t=this.options.track;var e=t.border||{};var i=this.trackBox.clone().pad(e.width||0);return new ht.fromRect(i.toRect(),{fill:{color:t.color,opacity:t.opacity},stroke:{color:e.width?e.color||t.color:"",width:e.width,dashType:e.dashType}})}}),ut=60,ft=60,pt=h,dt=J.extend({reflow:function(t){var e=this.pointers;var i=t.origin.x;var r=t.origin.y;var n=new P(i,r,i+t.width(),r+t.height());this.scale.reflow(n);this._shrinkScaleWidth(n);for(var a=0;a<e.length;a++)e[a].reflow();this.bbox=this._getBox(n);this._alignElements();this._shrinkElements();this._buildVisual();this._draw()},_buildVisual:function(){var t=new pt;var e=this.scale.render();var i=this.pointers;t.append(this.gaugeArea);t.append(e);for(var r=0;r<i.length;r++){var n=i[r];t.append(n.render());n.value(n.options.value)}this._visuals=t},_createModel:function(){var t=this;var e=this.options;var i=this.scale=new et(e.scale,this.contextService);this.pointers=[];var r=e.pointer;r=l(r)?r:[r];for(var n=0;n<r.length;n++){var a=s({},r[n],{animation:{transitions:e.transitions}});var o=a.shape===k?st:ct;t.pointers.push(new o(i,a))}},_defaultSize:function(){var t=this.options.scale.vertical;return{width:t?ut:S,height:t?_:ft}},_getBox:function(t){var e=this;var i=e.scale;var r=e.pointers;var n=t.center();var a=r[0].box.clone().wrap(i.box);for(var o=0;o<r.length;o++)a.wrap(r[o].box.clone());var s;if(i.options.vertical){s=a.width()/2;a=new P(n.x-s,t.y1,n.x+s,t.y2)}else{s=a.height()/2;a=new P(t.x1,n.y-s,t.x2,n.y+s)}return a},_alignElements:function(){var t=this;var e=this;var i=e.scale;var r=e.pointers;var n=i.box;var a=r[0].box.clone().wrap(i.box);var o=this.bbox;for(var s=0;s<r.length;s++)a.wrap(r[s].box.clone());var l;if(i.options.vertical){l=o.center().x-a.center().x;i.reflow(new P(n.x1+l,o.y1,n.x2+l,o.y2))}else{l=o.center().y-a.center().y;i.reflow(new P(n.x1,n.y1+l,n.x2,n.y2+l))}for(var v=0;v<r.length;v++)r[v].reflow(t.bbox)},_shrinkScaleWidth:function(t){var e=this;var i=e.scale;if(!i.options.vertical){var r=i.contentBox().width()-t.width();if(r>0){i.box.shrink(r,0);i.box.alignTo(t,"center");i.reflow(i.box)}}},_shrinkElements:function(){var t=this;var e=this;var i=e.scale;var r=e.pointers;var n=i.box.clone();var a=i.options.vertical?"y":"x";var o=r[0].box;for(var s=0;s<r.length;s++)o.wrap(r[s].box.clone());n[a+1]+=Math.max(n[a+1]-o[a+1],0);n[a+2]-=Math.max(o[a+2]-n[a+2],0);i.reflow(n);for(var l=0;l<r.length;l++)r[l].reflow(t.bbox)}}),gt=(t(dt,{transitions:true,gaugeArea:{background:""},scale:{vertical:true}}),180),mt=i.Arc,xt=c,wt=h;function bt(t,e,v,i){var r=new wt;var n=t.center;var a=t.getRadiusX();if(i.visible)for(var o=0;o<e.length;o++){var s=t.pointAt(e[o]);var l=new j(n.x+a-i.size,n.y).rotate(e[o],n);r.append(new xt({stroke:{color:i.color,width:i.width}}).moveTo(s).lineTo(l))}return r}function kt(t,e,i,r){return{from:t,to:e,color:i,opacity:r}}var yt=a.extend({init:function(t,e){a.fn.init.call(this,0,1,t,e)},initUserOptions:function(t){var e=s({},this.options,t);e.majorUnit=e.majorUnit||f.autoMajorUnit(e.min,e.max);e.minorUnit=e.minorUnit||e.majorUnit/10;return e},initFields:function(){},render:function(t,e){var i=this.renderArc(t,e);this.bbox=i.bbox();this.labelElements=this.renderLabels();this.ticks=this.renderTicks();this.ranges=this.renderRanges()},reflow:function(t){var e=t.center();var i=Math.min(t.height(),t.width())/2;if(C(this.bbox)){this.bbox=this.arc.bbox();this.radius(this.arc.getRadiusX());this.repositionRanges();this.renderLabels()}else return this.render(e,i)},slotAngle:function(t){var e=this.options;var i=e.min;var r=e.max;var n=e.reverse;var a=e.startAngle;var o=e.endAngle;var s=o-a;var l;if(n)l=o-(t-i)/(r-i)*s;else l=(t-i)/(r-i)*s+a;return l+gt},hasRanges:function(){var t=this.options.ranges;return t&&t.length},ticksSize:function(){var t=this.options;var e=t.majorTicks;var i=t.minorTicks;var r=0;if(e.visible)r=e.size;if(i.visible)r=Math.max(i.size,r);return r},labelsCount:function(){var t=a.fn.labelsCount.call(this);var e=this.options;var i=e.endAngle-e.startAngle;if(i>=360&&e.max%e.majorUnit===0)t-=1;return t},renderLabels:function(){var t=this;var e=this.options;var i=this.arc.clone();var r=i.getRadiusX();var h=this.tickAngles(i,e.majorUnit);var c=e.rangeSize=e.rangeSize||r*.1;var u=new wt;var n=r*.05;if(C(e.rangeDistance))n=e.rangeDistance;else e.rangeDistance=n;var f=e.labels;var a=f.position===X;var p=C(this.labelElements);if(a){r-=this.ticksSize();if(this.hasRanges()&&!p)r-=c+n;i.setRadiusX(r).setRadiusY(r)}var d=this.labels;var g=d.length;var o=U(f.padding);var m=(o.left+o.right)/2;var x=(o.top+o.bottom)/2;for(var s=0;s<g;s++){var l=d[s];var w=l.box.width()/2;var b=l.box.height()/2;var k=h[s];var y=(k-gt)*E;var A=i.pointAt(k);var _=A.x+Math.cos(y)*(w+m)*(a?1:-1);var T=A.y+Math.sin(y)*(b+x)*(a?1:-1);l.reflow(new P(_-w,T-b,_+w,T+b));var S=new j(l.box.x1,l.box.y1);var v=void 0;if(!p){v=N(l,e.labels);u.append(v)}else{v=t.labelElements.children[s];var z=v.bbox().origin;var R=v.transform()||B();R.translate(S.x-z.x,S.y-z.y);v.transform(R)}t.bbox=M.union(t.bbox,v.bbox())}return u},repositionRanges:function(){var t=this.ranges.children;if(t.length>0){var e=this.options;var i=e.rangeDistance;var r=e.rangeSize;var n=this.getRangeRadius();if(this.options.labels.position===X)n+=r+i;var a=n+r/2;for(var o=0;o<t.length;o++)t[o]._geometry.setRadiusX(a).setRadiusY(a);this.bbox=M.union(this.bbox,this.ranges.bbox())}},renderRanges:function(){var t=this;var e=this.rangeSegments();var i=e.length;var r=new wt;if(i){var n=this.options;var h=n.rangeSize;var a=n.reverse;var c=n.rangeDistance;var u=this.getRangeRadius();this.radius(this.radius()-h-c);for(var o=0;o<i;o++){var s=e[o];var l=t.slotAngle(s[a?"to":"from"]);var v=t.slotAngle(s[!a?"to":"from"]);if(v-l!==0)r.append(t.createRange(l,v,u,s))}}return r},createRange:function(t,e,i,r){var n=this.options.rangeSize;var a=new m.Arc(this.arc.center,{radiusX:i+n/2,radiusY:i+n/2,startAngle:t,endAngle:e});return new mt(a,{stroke:{width:n,color:r.color,opacity:r.opacity,lineCap:r.lineCap}})},rangeSegments:function(){var t=this.options;var e=t.ranges||[];var i=e.length;var r=[];if(i){var n=t.min;var a=t.max;var h=t.rangePlaceholderColor;r.push(kt(n,a,h));for(var o=0;o<i;o++){var s=I(e[o],n,a);var c=r.length;for(var l=0;l<c;l++){var v=r[l];if(v.from<=s.from&&s.from<=v.to){r.push(kt(s.from,s.to,s.color,s.opacity));if(v.from<=s.to&&s.to<=v.to)r.push(kt(s.to,v.to,h,s.opacity));v.to=s.from;break}}}}return r},getRangeRadius:function(){var t=this;var e=t.arc;var i=t.options;var r=i.rangeSize;var n=i.rangeDistance;var a=i.majorTicks.size;var o;if(i.labels.position===R)o=e.getRadiusX()-a-n-r;else o=e.getRadiusX()-r;return o},renderArc:function(t,e){var i=this.options;var r=this.arc=new m.Arc(t,{radiusX:e,radiusY:e,startAngle:i.startAngle+gt,endAngle:i.endAngle+gt});return r},renderTicks:function(){var t=this;var e=t.arc;var i=t.options;var r=e.clone();this.majorTickAngles=this.tickAngles(e,i.majorUnit);this.majorTicks=bt(r,this.majorTickAngles,i.majorUnit,i.majorTicks);var n=new wt;n.append(this.majorTicks);var a=i.majorTicks.size;var o=i.minorTicks.size;this._tickDifference=a-o;if(i.labels.position===R){var s=r.getRadiusX();r.setRadiusX(s-a+o).setRadiusY(s-a+o)}this.minorTickAngles=this.normalizeTickAngles(this.tickAngles(e,i.minorUnit));this.minorTicks=bt(r,this.minorTickAngles,i.minorUnit,i.minorTicks);n.append(this.minorTicks);return n},normalizeTickAngles:function(t){var e=this.options;var i=e.majorUnit/e.minorUnit;for(var r=t.length-1;r>=0;r--)if(r%i===0)t.splice(r,1);return t},tickAngles:function(t,e){var i=this.options;var r=i.reverse;var h=i.max-i.min;var n=t.endAngle-t.startAngle;var a=h/e;var o=t.startAngle;var s=n/a;if(r){o+=n;s=-s}if(n>=360&&i.max%e===0)a-=1;var l=[];for(var v=0;v<a;v++){l.push(p(o,d));o+=s}if(p(o)<=t.endAngle)l.push(o);return l},radius:function(t){if(t){this.arc.setRadiusX(t).setRadiusY(t);this.repositionTicks(this.majorTicks.children,this.majorTickAngles);this.repositionTicks(this.minorTicks.children,this.minorTickAngles,true)}else return this.arc.getRadiusX()},repositionTicks:function(t,e,i){var r=i?this._tickDifference||0:0;var n=this.arc;var a=n.getRadiusX();if(i&&this.options.labels.position===R&&r!==0){n=this.arc.clone();n.setRadiusX(a-r).setRadiusY(a-r)}for(var o=0;o<t.length;o++){var s=n.pointAt(e[o]);var l=t[o].segments;var v=s.x-l[0].anchor().x;var h=s.y-l[0].anchor().y;t[o].transform((new B).translate(v,h))}}}),At=(t(yt,{min:0,max:100,majorTicks:{size:15,align:X,color:e,width:T,visible:true},minorTicks:{size:10,align:X,color:e,width:T,visible:true},startAngle:-30,endAngle:210,labels:{position:X,padding:2}}),u.extend({init:function(t,e){u.fn.init.call(this,t,e);var i=this.options;i.duration=Math.max(Math.abs(i.newAngle-i.oldAngle)/i.duration*1e3,1)},step:function(t){var e=this.options;var i=v(e.oldAngle,e.newAngle,t);this.element.transform(B().rotate(i,e.center))}})),_t=(t(At,{easing:z,duration:w}),g.current.register(O,At),.05),Tt=i.Circle,St=h,zt=c,Rt=it.extend({setAngle:function(t){this.elements.transform(B().rotate(t,this.center))},repaint:function(){var t=this;var e=t.scale;var i=t.options;var r=e.slotAngle(i._oldValue);var n=e.slotAngle(i.value);if(i.animation.transitions===false)this.setAngle(n);else new At(this.elements,s(i.animation,{oldAngle:r,newAngle:n})).play()},render:function(){var t=this;var e=t.scale;var i=t.options;var r=new St;if(i.animation!==false)s(i.animation,{startAngle:0,center:e.arc.center,reverse:e.options.reverse});r.append(this._renderNeedle(),this._renderCap());this.elements=r;this.setAngle(E);return r},reflow:function(t){var e=this.center=t.center;var i=o(this.options.length||1,.1,1.5);var r=this.radius=t.getRadiusX()*i;var n=this.capSize=Math.round(r*this.options.cap.size);this.bbox=M.fromPoints(new j(e.x-n,e.y-n),new j(e.x+n,e.y+n))},_renderNeedle:function(){var t=this.scale.options.minorTicks.size;var e=this.center;var i=this.options.color;var r=new zt({fill:{color:i},stroke:{color:i,width:T}});r.moveTo(e.x+this.radius-t,e.y).lineTo(e.x,e.y-this.capSize/2).lineTo(e.x,e.y+this.capSize/2).close();return r},_renderCap:function(){var t=this.options;var e=t.cap.color||t.color;var i=new m.Circle(this.center,this.capSize);var r=new Tt(i,{fill:{color:e},stroke:{color:e}});return r}}),Ct=(t(Rt,{cap:{size:_t},arrow:{width:16,height:14},animation:{type:O,duration:w}}),h),Pt=J.extend({reflow:function(t){var e=this;var i=this.pointers;this.scale.reflow(t);this._initialPlotArea=this.scale.bbox;for(var r=0;r<i.length;r++){i[r].reflow(e.scale.arc);e._initialPlotArea=M.union(e._initialPlotArea,i[r].bbox)}this.fitScale(t);this.alignScale(t);this._buildVisual(this.gaugeArea,i,this.scale);this._draw()},_buildVisual:function(t,e,i){var r=this._visuals=new Ct;r.append(t);r.append(i.ticks);r.append(i.ranges);this._buildPointers(e);r.append(i.labelElements)},_buildPointers:function(t){var e=this;for(var i=0;i<t.length;i++){var r=t[i];r.render();e._visuals.append(r.elements);r.value(r.options.value)}},fitScale:function(t){var e=this;var i=this.scale.arc;var h=this._initialPlotArea;var c=Math.abs(this.getDiff(h,t));var r=p(c,d);var n=p(-c,d);var a,o,s,l,u;var v=0;var f=0;while(f++<100){v=u===s?v+1:0;if(v>5)break;if(r!==l){a=e.getPlotBox(r,t,i);if(0<=a&&a<=2)break}if(n!==l){s=e.getPlotBox(n,t,i);if(0<=s&&s<=2)break}if(a>0&&s>0)l=r*2;else if(a<0&&s<0)l=n*2;else l=p((r+n)/2||1,d);o=e.getPlotBox(l,t,i);if(0<=o&&o<=2)break;u=s;if(o>0){n=l;s=o}else{r=l;a=o}}},getPlotBox:function(t,e,i){var r=this;var n=this.scale;var a=this.pointers;var o=i.getRadiusX();var s=i.clone();s.setRadiusX(o+t).setRadiusY(o+t);n.arc=s;n.reflow(e);this.plotBbox=n.bbox;for(var l=0;l<a.length;l++){a[l].reflow(s);r.plotBbox=M.union(r.plotBbox,a[l].bbox)}return this.getDiff(this.plotBbox,e)},getDiff:function(t,e){return Math.min(e.width()-t.width(),e.height()-t.height())},alignScale:function(t){var e=this;var i=this.plotBbox.center();var r=t.center();var n=i.x-r.x;var a=i.y-r.y;var o=this;var s=o.scale;var l=o.pointers;s.arc.center.x-=n;s.arc.center.y-=a;s.reflow(t);for(var v=0;v<l.length;v++){l[v].reflow(s.arc);e.plotBbox=M.union(s.bbox,l[v].bbox)}},_createModel:function(){var t=this;var e=this.options;var i=e.pointer;var r=this.scale=new yt(e.scale,this.contextService);this.pointers=[];var n=l(i)?i:[i];for(var a=0;a<n.length;a++){var o=new Rt(r,s({},n[a],{animation:{transitions:e.transitions}}));t.pointers.push(o)}}}),Mt=(t(Pt,{transitions:true,gaugeArea:{background:""}}),yt.extend({rangeSegments:function(){var t=this.options;var e=t.min;var i=t.max;var r=t.rangePlaceholderColor;var n=t.rangeLineCap;return[{from:e,to:i,color:r,lineCap:n}]},hasRanges:function(){return true},placeholderRangeAngle:function(t){var e=this.ranges.children[0].geometry();if(this.options.reverse)e.setEndAngle(t);else e.setStartAngle(t)},addRange:function(t,e,i){var r=this.options.reverse;var n=this.slotAngle(r?e:t);var a=this.slotAngle(r?t:e);var o=this.createRange(n,a,this.getRangeRadius(),i);this.ranges.append(o);return o}})),jt=(t(Mt,{min:0,max:100,majorTicks:{visible:false},minorTicks:{visible:false},labels:{visible:false},startAngle:0,endAngle:180,rangeLineCap:"round"}),800),Ut=u.extend({init:function(t,e){u.fn.init.call(this,t,e);var i=this.options;var r=Math.abs(i.newAngle-i.oldAngle)/i.duration*1e3;i.duration=o(r,w,jt);var n=t.elements.options.get("stroke.color");var a=t.currentColor();if(n!==a){this.startColor=new kendo.Color(n);this.color=new kendo.Color(a)}},step:function(t){var e=this;var i=e.options;var r=e.startColor;var n=e.color;var a=v(i.oldAngle,i.newAngle,t);this.element.angle(a);if(n){var o=p(v(r.r,n.r,t));var s=p(v(r.g,n.g,t));var l=p(v(r.b,n.b,t));this.element.stroke(new kendo.Color(o,s,l).toHex())}}}),Bt=(t(Ut,{easing:z,duration:w}),g.current.register(L,Ut),it.extend({repaint:function(){var t=this;var e=t.scale;var i=t.options;var r=e.slotAngle(i._oldValue);var n=e.slotAngle(i.value);if(this.animation)this.animation.abort();if(i.animation.transitions===false){this.angle(n);this.stroke(this.currentColor())}else{this.animation=new Ut(this,s(i.animation,{oldAngle:r,newAngle:n}));this.animation.play()}},angle:function(t){var e=this.elements.geometry();if(this.scale.options.reverse)e.setStartAngle(t);else e.setEndAngle(t);this.scale.placeholderRangeAngle(t)},stroke:function(t){this.elements.stroke(t)},render:function(){if(this.elements)return;var t=this;var e=t.scale;var i=t.options;if(i.animation!==false)s(i.animation,{startAngle:0,center:e.arc.center,reverse:e.options.reverse});this.elements=e.addRange(e.options.min,this.options.value,{color:this.currentColor(),opacity:i.opacity,lineCap:e.options.rangeLineCap})},currentColor:function(){var t=this.scale.options;var e=t.min;var h=t.max;var i=this.options;var r=i.colors;var c=i.color;var n=i.value;var a=f.isNumber(n)?n:e;if(r)for(var o=0;o<r.length;o++){var s=r[o];var u=s.color;var l=s.from;if(l===void 0)l=e;var v=s.to;if(v===void 0)v=h;if(l<=a&&a<=v)return u}return c},reflow:function(){this.render();this.bbox=this.elements.bbox()}})),Et=(t(Bt,{animation:{type:L,duration:w}}),Pt.extend({_initTheme:function(t){Pt.fn._initTheme.call(this,t);this.options.color=this.options.color||(this.theme.pointer||{}).color},_createModel:function(){var t=this.options;var e=this.scale=new Mt(t.scale,this.contextService);var i=new Bt(e,s({},{colors:t.colors,color:t.color,value:t.value,opacity:t.opacity,animation:{transitions:t.transitions}}));this.pointers=[i]},_buildPointers:function(t){for(var e=0;e<t.length;e++){var i=t[e];i.render();i.value(i.options.value)}},_setValueOptions:function(t){this.options.value=t},currentColor:function(){var t=this.pointers[0];if(t)return t.currentColor()},centerLabelPosition:function(t,e){var i=this.getSize();var r=this.scale.arc.center;var n=r.x-t/2;var a=r.y-e/2;if(t<i.width){var o=n+t;n=Math.max(n,0);if(o>i.width)n-=o-i.width}if(e<i.height){var s=this.scale.bbox;var l=s.bottomRight().y;var v=a+e;a=Math.max(a,s.origin.y);if(v>l)a-=v-l}return{left:n,top:a}}})),Xt=90,Ot=Et.extend({_createModel:function(){var t=this.options.scale;if(typeof t.startAngle!=="number")t.startAngle=Xt;t.endAngle=t.startAngle+360;Et.fn._createModel.call(this)}});kendo.deepExtend(kendo.dataviz,{Gauge:J,LinearGauge:dt,LinearPointer:rt,ArrowLinearPointer:st,BarLinearPointer:ct,LinearScale:et,RadialGauge:Pt,RadialPointer:Rt,RadialScale:yt,ArcGauge:Et,RangePointer:Bt,ArcScale:Mt,CircularGauge:Ot})})?r.apply(e,i):r)||(t.exports=e)}});