@grapecity/wijmo.chart 5.20252.44 → 5.20261.48

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  *
3
- * Wijmo Library 5.20252.44
3
+ * Wijmo Library 5.20261.48
4
4
  * https://developer.mescius.com/wijmo
5
5
  *
6
6
  * Copyright(c) MESCIUS inc. All rights reserved.
@@ -11,4 +11,4 @@
11
11
  *
12
12
  */
13
13
 
14
- "use strict";var __importStar=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var i in t)Object.hasOwnProperty.call(t,i)&&(e[i]=t[i]);e.default=t;return e};Object.defineProperty(exports,"__esModule",{value:!0});const wijmo_1=require("@grapecity/wijmo"),selfModule=__importStar(require("@grapecity/wijmo.chart"));class _VolumeHelper{constructor(t,e,i,s,r){this._volumes=wijmo_1.asArray(t);this._xVals=wijmo_1.asArray(e);this._xDataMin=wijmo_1.asNumber(i,!0,!1);this._xDataMax=wijmo_1.asNumber(s,!0,!1);this._xDataType=wijmo_1.asEnum(r,wijmo_1.DataType,!0);this._calcData=[];this._init()}convert(t,e,i){var s=void 0,r=this._calcData.length,a=-1;if(this._hasXs&&this._xDataType===wijmo_1.DataType.Date){if(-1===(a=this._xVals.indexOf(t)))for(var n=0;n<this._xVals.length;n++){if(n<this._xVals.length-1&&this._xVals[n]<=t&&t<=this._xVals[n+1]){a=n;break}if(0===n&&t<=this._xVals[n]){a=n;break}if(n===this._xVals.length-1&&this._xVals[n]<=t){a=n;break}}if(-1===a){a=this._xVals.indexOf(Math.floor(t));a=wijmo_1.clamp(a,0,r-1)}}else if(this._hasXs){if(-1===(a=this._xVals.indexOf(t))){a=this._xVals.indexOf(Math.floor(t));a=wijmo_1.clamp(a,0,r-1)}}else a=wijmo_1.clamp(Math.round(t),0,r-1);if(0<=a&&a<r){this._hasXs&&(t=_VolumeHelper.convertToRange(t,0,r-1,this._xDataMin,this._xDataMax));s=((s=this._calcData[a].value+(t-a)*this._calcData[a].width-.5*this._calcData[a].width)-(e=this._getXVolume(e)))/((i=this._getXVolume(i))-e)}return s}convertBack(t,e,i){var s,r=void 0,a=this._calcData.length,n=-1;for(s=0;s<a;s++)if(this._calcData[s].x1<=t&&t<=this._calcData[s].x2||0===s&&t<=this._calcData[s].x2||s===a-1&&this._calcData[s].x1<=t){n=s;break}if(0<=n&&n<a){r=t/this._calcData[n].width-this._calcData[n].value/this._calcData[n].width+.5+s;this._hasXs&&(r=_VolumeHelper.convertToRange(r,this._xDataMin,this._xDataMax,0,a-1))}return r}_init(){this._hasXs=null!==this._xVals&&this._xVals.length>0;this._hasXs&&!wijmo_1.isNumber(this._xDataMin)&&(this._xDataMin=Math.min.apply(null,this._xVals));this._hasXs&&!wijmo_1.isNumber(this._xDataMax)&&(this._xDataMax=Math.max.apply(null,this._xVals));this._hasXs&&(this._hasXs=wijmo_1.isNumber(this._xDataMin)&&wijmo_1.isNumber(this._xDataMax));this._hasXs&&this._xDataType===wijmo_1.DataType.Date&&this._fillGaps();var t=0,e=0,i=null!==this._volumes&&this._volumes.length>0?this._volumes.length:0;for(e=0;e<i;e++)t+=this._volumes[e]||0;var s,r,a=0;for(e=0;e<i;e++){s=a+(r=(this._volumes[e]||0)/t);this._calcData.push({value:s,width:r,x1:a,x2:s});a=this._calcData[e].value}}_getXVolume(t){var e=this._calcData.length,i=-1;if(this._hasXs){i=this._xVals.indexOf(t);for(var s=0;s<this._xVals.length;s++){if(s<this._xVals.length-1&&this._xVals[s]<=t&&t<=this._xVals[s+1]){i=s;break}if(0===s&&t<=this._xVals[s]){i=s;break}if(s===this._xVals.length-1&&this._xVals[s]<=t){i=s;break}}}this._hasXs&&(t=_VolumeHelper.convertToRange(t,0,e-1,this._xDataMin,this._xDataMax));-1===i&&(i=wijmo_1.clamp(Math.round(t),0,e-1));return this._calcData[i].value+(t-i)*this._calcData[i].width-.5*this._calcData[i].width}static convertToRange(t,e,i,s,r){return e===i||s===r?0:(t-s)*(i-e)/(r-s)+e}_fillGaps(){if(!(this._xDataType!==wijmo_1.DataType.Date||null===this._xVals||this._xVals.length<=0)){var t,e=this._xDataMin,i=this._xDataMax;for(t=1;e<i;t++){(e=new Date(e)).setDate(e.getDate()+1);if((e=e.valueOf())!==this._xVals[t]){this._xVals.splice(t,0,e);this._volumes.splice(t,0,0)}}}}}exports._VolumeHelper=_VolumeHelper;class _Curve{constructor(t,e,i,s){this.monoX=!1;this.monoY=!1;let r=i||Math.min(t.length,e.length),a=0,n=0,h=0,o=0;if(r>3)for(var l=0;l<r-1;l++)if(l>0){n=Math.min(n,t[l]-t[l-1]);a=Math.max(a,t[l]-t[l-1]);o=Math.min(o,e[l]-e[l-1]);h=Math.max(h,e[l]-e[l-1])}this.monoX=a>0&&0===n||n<0&&0===a;this.monoY=h>0&&0===o||o<0&&0===h;this.monoX&&"spline"!==s?this.calc=n<0?new _SplineMono(t.reverse(),e.reverse(),i):new _SplineMono(t,e,i):this.calc=new _Spline(t,e,i)}calculate(){return this.calc.calculate()}}exports._Curve=_Curve;class _Spline{constructor(t,e,i){this.k=.002;this._a=[];this._b=[];this._c=[];this._d=[];this.m=[[-.5,1.5,-1.5,.5],[1,-2.5,2,-.5],[-.5,0,.5,0],[0,1,0,0]];this._x=t;this._y=e;let s=this._len=i||Math.min(t.length,e.length);if(s>3)for(var r=0;r<s-1;r++){var a=0==r?new wijmo_1.Point(t[r],e[r]):new wijmo_1.Point(t[r-1],e[r-1]),n=new wijmo_1.Point(t[r],e[r]),h=new wijmo_1.Point(t[r+1],e[r+1]),o=r==s-2?new wijmo_1.Point(t[r+1],e[r+1]):new wijmo_1.Point(t[r+2],e[r+2]),l=new wijmo_1.Point,_=new wijmo_1.Point,d=new wijmo_1.Point,c=new wijmo_1.Point;l.x=a.x*this.m[0][0]+n.x*this.m[0][1]+h.x*this.m[0][2]+o.x*this.m[0][3];_.x=a.x*this.m[1][0]+n.x*this.m[1][1]+h.x*this.m[1][2]+o.x*this.m[1][3];d.x=a.x*this.m[2][0]+n.x*this.m[2][1]+h.x*this.m[2][2]+o.x*this.m[2][3];c.x=a.x*this.m[3][0]+n.x*this.m[3][1]+h.x*this.m[3][2]+o.x*this.m[3][3];l.y=a.y*this.m[0][0]+n.y*this.m[0][1]+h.y*this.m[0][2]+o.y*this.m[0][3];_.y=a.y*this.m[1][0]+n.y*this.m[1][1]+h.y*this.m[1][2]+o.y*this.m[1][3];d.y=a.y*this.m[2][0]+n.y*this.m[2][1]+h.y*this.m[2][2]+o.y*this.m[2][3];c.y=a.y*this.m[3][0]+n.y*this.m[3][1]+h.y*this.m[3][2]+o.y*this.m[3][3];this._a.push(l);this._b.push(_);this._c.push(d);this._d.push(c)}}calculatePoint(t){var e=Math.floor(t);e<0&&(e=0);e>this._len-2&&(e=this._len-2);var i=t-e;return{x:((this._a[e].x*i+this._b[e].x)*i+this._c[e].x)*i+this._d[e].x,y:((this._a[e].y*i+this._b[e].y)*i+this._c[e].y)*i+this._d[e].y}}calculate(){if(this._len<=3)return{xs:this._x,ys:this._y};let t=[],e=[],i=this.calculatePoint(0);t.push(i.x);e.push(i.y);const s=Math.min(this._len*this.k,.2);for(let r=s;r<=this._len-1;r+=s){let a=Math.ceil(r),n=this.calculatePoint(r);if(Math.abs(i.x-n.x)>=3||Math.abs(i.y-n.y)>=3){t.push(n.x);e.push(n.y);i=n}if(r+s>=a){t.push(this._x[a]);e.push(this._y[a])}}return{xs:t,ys:e}}}exports._Spline=_Spline;class _SplineMono{constructor(t,e,i){this._x=[];this._y=[];this._c1s=[];this._c2s=[];this._c3s=[];let s=this._len=i||Math.min(t.length,e.length);for(let i=0;i<s;i++){this._x.push(t[i]);this._y.push(e[i])}t=this._x;e=this._y;if(this._len<=3)return;let r=[],a=[],n=[];for(let i=0;i<s-1;i++){var h=t[i+1]-t[i],o=e[i+1]-e[i];a[i]=h;r[i]=o;n[i]=o/h}var l=this._c1s;l.push(n[0]);for(let t=0;t<a.length-1;t++){var _=n[t],d=n[t+1];if(_*d<=0)l.push(0);else{var c=a[t],u=a[t+1],g=c+u;l.push(3*g/((g+u)/_+(g+c)/d))}}l.push(n[n.length-1]);let m=this._c2s,p=this._c3s;for(let t=0;t<l.length-1;t++){var f=l[t],x=n[t],w=1/a[t],v=f+l[t+1]-x-x;m[t]=(x-f-v)*w;p[t]=v*w*w}}interpolate(t){let e=this._x.length-1;if(t>=this._x[e])return this._y[e];for(var i,s=0,r=this._c3s.length-1;s<=r;){i=Math.floor(.5*(s+r));var a=this._x[i];if(a<t)s=i+1;else{if(!(a>t))return this._y[i];r=i-1}}e=Math.max(0,r);var n=t-this._x[e];return this._y[e]+n*(this._c1s[e]+n*(this._c2s[e]+n*this._c3s[e]))}calculate(){if(this._len<=3)return{xs:this._x,ys:this._y};let t=[],e=[];const i=this._len,s=this._x[0],r=this._x[i-1],a=Math.min(.001*this._len,.2);for(let i=s;i<=r;i+=a){t.push(i);e.push(this.interpolate(i))}return{xs:t,ys:e}}}exports.AxisClsNames={axisX:"wj-axis-x",axisXLabels:"wj-axis-x-labels",axisY:"wj-axis-y",axisYLabels:"wj-axis-y-labels",gridline:"wj-gridline",gridlineMinor:"wj-gridline-minor",line:"wj-line",tick:"wj-tick",tickMinor:"wj-tick-minor"};exports.DataLabelClsNames={border:"wj-data-label-border",label:"wj-data-label",labels:"wj-data-labels",line:"wj-data-label-line"};exports.FlexChartClsNames={footer:"wj-footer",header:"wj-header",hostElement:"wj-flexchart",label:"wj-label",legend:"wj-legend",plotArea:"wj-plot-area",title:"wj-title",touchDisabled:"wj-flexchart-touch-disabled"};exports.FlexPieClsNames={hostElement:"wj-flexpie",slice:"wj-slice",sliceGroup:"wj-slice-group"};exports.LegendClsNames={legend:"wj-legend",title:"wj-title"};exports.LineMarkerClsNames={container:"wj-chart-linemarker-container",content:"wj-chart-linemarker-content",draggable:"wj-chart-linemarker-draggable",hline:"wj-chart-linemarker-hline",linemarker:"wj-chart-linemarker",vline:"wj-chart-linemarker-vline"};exports.SeriesClsNames={group:"wj-series-group"};class Palettes{static _isExtended(t){return-1!==this._values(Palettes.Diverging).indexOf(t)||-1!==this._values(Palettes.Qualitative).indexOf(t)||-1!==this._values(Palettes.SequentialSingle).indexOf(t)||-1!==this._values(Palettes.SequentialMulti).indexOf(t)}static _values(t){return Object.keys(t).map(e=>t[e])}}Palettes.standard=["#88bde6","#fbb258","#90cd97","#f6aac9","#bfa554","#bc99c7","#eddd46","#f07e6e","#8c8c8c"];Palettes.cocoa=["#466bb0","#c8b422","#14886e","#b54836","#6e5944","#8b3872","#73b22b","#b87320","#141414"];Palettes.coral=["#84d0e0","#f48256","#95c78c","#efa5d6","#ba8452","#ab95c2","#ede9d0","#e96b7d","#888888"];Palettes.dark=["#005fad","#f06400","#009330","#e400b1","#b65800","#6a279c","#d5a211","#dc0127","#000000"];Palettes.highcontrast=["#ff82b0","#0dda2c","#0021ab","#bcf28c","#19c23b","#890d3a","#607efd","#1b7700","#000000"];Palettes.light=["#ddca9a","#778deb","#cb9fbb","#b5eae2","#7270be","#a6c7a7","#9e95c7","#95b0c7","#9b9b9b"];Palettes.midnight=["#83aaca","#e37849","#14a46a","#e097da","#a26d54","#a584b7","#d89c54","#e86996","#2c343b"];Palettes.modern=["#2d9fc7","#ec993c","#89c235","#e377a4","#a68931","#a672a6","#d0c041","#e35855","#68706a"];Palettes.organic=["#9c88d9","#a3d767","#8ec3c0","#e9c3a9","#91ab36","#d4ccc0","#61bbd8","#e2d76f","#80715a"];Palettes.slate=["#7493cd","#f99820","#71b486","#e4a491","#cb883b","#ae83a4","#bacc5c","#e5746a","#505d65"];Palettes.zen=["#7bb5ae","#e2d287","#92b8da","#eac4cb","#7b8bbd","#c7d189","#b9a0c8","#dfb397","#a9a9a9"];Palettes.cyborg=["#2a9fd6","#77b300","#9933cc","#ff8800","#cc0000","#00cca3","#3d6dcc","#525252","#000000"];Palettes.superhero=["#5cb85c","#f0ad4e","#5bc0de","#d9534f","#9f5bde","#46db8c","#b6b86e","#4e5d6c","#2b3e4b"];Palettes.flatly=["#18bc9c","#3498db","#f39c12","#6cc1be","#99a549","#8f54b5","#e74c3c","#8a9899","#2c3e50"];Palettes.darkly=["#375a7f","#00bc8c","#3498db","#f39c12","#e74c3c","#8f61b3","#b08725","#4a4949","#000000"];Palettes.cerulan=["#033e76","#87c048","#59822c","#53b3eb","#fc6506","#d42323","#e3bb00","#cccccc","#222222"];Palettes.Qualitative={Accent:["#7fc97f","#beaed4","#fdc086","#ffff99","#386cb0","#f0027f","#bf5b17","#666666"],Dark2:["#1b9e77","#d95f02","#7570b3","#e7298a","#66a61e","#e6ab02","#a6761d","#666666"],Paired:["#a6cee3","#1f78b4","#b2df8a","#33a02c","#fb9a99","#e31a1c","#fdbf6f","#ff7f00"],Pastel1:["#fbb4ae","#b3cde3","#ccebc5","#decbe4","#fed9a6","#ffffcc","#e5d8bd","#fddaec"],Pastel2:["#b3e2cd","#fdcdac","#cbd5e8","#f4cae4","#e6f5c9","#fff2ae","#f1e2cc","#cccccc"],Set1:["#e41a1c","#377eb8","#4daf4a","#984ea3","#ff7f00","#ffff33","#a65628","#f781bf"],Set2:["#66c2a5","#fc8d62","#8da0cb","#e78ac3","#a6d854","#ffd92f","#e5c494","#b3b3b3"],Set3:["#8dd3c7","#ffffb3","#bebada","#fb8072","#80b1d3","#fdb462","#b3de69","#fccde5"]};Palettes.Diverging={BrBG:["#543005","#8c510a","#bf812d","#dfc27d","#f6e8c3","#f5f5f5","#c7eae5","#80cdc1","#35978f","#01665e","#003c30"],PiYG:["#8e0152","#c51b7d","#de77ae","#f1b6da","#fde0ef","#f7f7f7","#e6f5d0","#b8e186","#7fbc41","#4d9221","#276419"],PRGn:["#40004b","#762a83","#9970ab","#c2a5cf","#e7d4e8","#f7f7f7","#d9f0d3","#a6dba0","#5aae61","#1b7837","#00441b"],PuOr:["#7f3b08","#b35806","#e08214","#fdb863","#fee0b6","#f7f7f7","#d8daeb","#b2abd2","#8073ac","#542788","#2d004b"],RdBu:["#67001f","#b2182b","#d6604d","#f4a582","#fddbc7","#f7f7f7","#d1e5f0","#92c5de","#4393c3","#2166ac","#053061"],RdGy:["#67001f","#b2182b","#d6604d","#f4a582","#fddbc7","#ffffff","#e0e0e0","#bababa","#878787","#4d4d4d","#1a1a1a"],RdYlBu:["#a50026","#d73027","#f46d43","#fdae61","#fee090","#ffffbf","#e0f3f8","#abd9e9","#74add1","#4575b4","#313695"],RdYlGn:["#a50026","#d73027","#f46d43","#fdae61","#fee08b","#ffffbf","#d9ef8b","#a6d96a","#66bd63","#1a9850","#006837"],Spectral:["#9e0142","#d53e4f","#f46d43","#fdae61","#fee08b","#ffffbf","#e6f598","#abdda4","#66c2a5","#3288bd","#5e4fa2"]};Palettes.SequentialSingle={Blues:["#f7fbff","#deebf7","#c6dbef","#9ecae1","#6baed6","#4292c6","#2171b5","#08519c","#08306b"],Greens:["#f7fcf5","#e5f5e0","#c7e9c0","#a1d99b","#74c476","#41ab5d","#238b45","#006d2c","#00441b"],Greys:["#ffffff","#f0f0f0","#d9d9d9","#bdbdbd","#969696","#737373","#525252","#252525","#000000"],Oranges:["#fff5eb","#fee6ce","#fdd0a2","#fdae6b","#fd8d3c","#f16913","#d94801","#a63603","#7f2704"],Purples:["#fcfbfd","#efedf5","#dadaeb","#bcbddc","#9e9ac8","#807dba","#6a51a3","#54278f","#3f007d"],Reds:["#fff5f0","#fee0d2","#fcbba1","#fc9272","#fb6a4a","#ef3b2c","#cb181d","#a50f15","#67000d"]};Palettes.SequentialMulti={BuGn:["#f7fcfd","#e5f5f9","#ccece6","#99d8c9","#66c2a4","#41ae76","#238b45","#006d2c","#00441b"],BuPu:["#f7fcfd","#e0ecf4","#bfd3e6","#9ebcda","#8c96c6","#8c6bb1","#88419d","#810f7c","#4d004b"],GnBu:["#f7fcf0","#e0f3db","#ccebc5","#a8ddb5","#7bccc4","#4eb3d3","#2b8cbe","#0868ac","#084081"],OrRd:["#fff7ec","#fee8c8","#fdd49e","#fdbb84","#fc8d59","#ef6548","#d7301f","#b30000","#7f0000"],PuBu:["#fff7fb","#ece7f2","#d0d1e6","#a6bddb","#74a9cf","#3690c0","#0570b0","#045a8d","#023858"],PuBuGn:["#fff7fb","#ece2f0","#d0d1e6","#a6bddb","#67a9cf","#3690c0","#02818a","#016c59","#014636"],PuRd:["#f7f4f9","#e7e1ef","#d4b9da","#c994c7","#df65b0","#e7298a","#ce1256","#980043","#67001f"],RdPu:["#fff7f3","#fde0dd","#fcc5c0","#fa9fb5","#f768a1","#dd3497","#ae017e","#7a0177","#49006a"],YlGn:["#ffffe5","#f7fcb9","#d9f0a3","#addd8e","#78c679","#41ab5d","#238443","#006837","#004529"],YlGnBu:["#ffffd9","#edf8b1","#c7e9b4","#7fcdbb","#41b6c4","#1d91c0","#225ea8","#253494","#081d58"],YlOrBr:["#ffffe5","#fff7bc","#fee391","#fec44f","#fe9929","#ec7014","#cc4c02","#993404","#662506"],YlOrRd:["#ffffcc","#ffeda0","#fed976","#feb24c","#fd8d3c","#fc4e2a","#e31a1c","#bd0026","#800026"]};exports.Palettes=Palettes;exports.empty={};class PlotArea{constructor(t){this._row=0;this._col=0;this._rect=new wijmo_1.Rect(0,0,0,0);wijmo_1.copy(this,t)}get row(){return this._row}set row(t){if(t!=this._row){this._row=wijmo_1.asInt(t,!0,!0);this._invalidate()}}get column(){return this._col}set column(t){if(t!=this._col){this._col=wijmo_1.asInt(t,!0,!0);this._invalidate()}}get name(){return this._name}set name(t){t!=this._name&&(this._name=wijmo_1.asString(t,!0))}get width(){return this._width}set width(t){if(t!=this._width){this._width=t;this._invalidate()}}get height(){return this._height}set height(t){if(t!=this._height){this._height=t;this._invalidate()}}get style(){return this._style}set style(t){if(t!=this._style){this._style=t;this._invalidate()}}_invalidate(){this._chart&&this._chart.invalidate()}_render(t){t.drawRect(this._rect.left,this._rect.top,this._rect.width,this._rect.height,null,this.style)}_setPlotX(t,e){this._rect.left=t;this._rect.width=e}_setPlotY(t,e){this._rect.top=t;this._rect.height=e}}exports.PlotArea=PlotArea;class PlotAreaCollection extends wijmo_1.ObservableArray{getPlotArea(t){var e=this.indexOf(t);return e>-1?this[e]:null}indexOf(t){for(var e=0;e<this.length;e++)if(this[e].name==t)return e;return-1}_getWidth(t){for(var e=0;e<this.length;e++){var i=this[e];if(i.column==t&&0==i.row)return i.width}}_getHeight(t){for(var e=0;e<this.length;e++){var i=this[e];if(i.row==t&&0==i.column)return i.height}}_calculateWidths(t,e){if(e<=0)throw"ncols";for(var i=[],s=0;s<e;s++){var r=this._getWidth(s);i[s]=new _GridLength(r)}return this._calculateLengths(t,e,i)}_calculateHeights(t,e){if(e<=0)throw"nrows";for(var i=[],s=0;s<e;s++){var r=this._getHeight(s);i[s]=new _GridLength(r)}return this._calculateLengths(t,e,i)}_calculateLengths(t,e,i){for(var s=[e],r=0,a=0,n=0;n<e;n++)if(i[n].isAbsolute){s[n]=i[n].value;r+=s[n]}else i[n].isStar?a+=i[n].value:i[n].isAuto&&a++;var h=(t-r)/a;for(n=0;n<e;n++){i[n].isStar?s[n]=h*i[n].value:i[n].isAuto&&(s[n]=h);s[n]<0&&(s[n]=0)}return s}}exports.PlotAreaCollection=PlotAreaCollection;var _GridUnitType,ImageFormat,SelectionMode,Position,Orientation,ChartType,Stacking,LabelPosition,PieLabelPosition,_MeasureOption,ChartElement,SeriesVisibility,Marker;!function(t){t[t.Auto=0]="Auto";t[t.Pixel=1]="Pixel";t[t.Star=2]="Star"}(_GridUnitType||(_GridUnitType={}));class _GridLength{constructor(t=null){this._unitType=_GridUnitType.Auto;if(t)if((t=t.toString()).indexOf("*")>=0){this._unitType=_GridUnitType.Star;t=t.replace("*","");this._value=parseFloat(t);isNaN(this._value)&&(this._value=1)}else{this._unitType=_GridUnitType.Pixel;this._value=parseFloat(t);if(isNaN(this._value)){this._unitType=_GridUnitType.Auto;this._value=1}}}get value(){return this._value}get isStar(){return this._unitType==_GridUnitType.Star}get isAbsolute(){return this._unitType==_GridUnitType.Pixel}get isAuto(){return this._unitType==_GridUnitType.Auto}}class _SvgRenderEngine{constructor(t){this._STROKE_JOIN="round";this._strokeWidth=1;this._fontSize=null;this._fontFamily=null;this._savedGradient={};this._bbCache={};this._baseUrl="";this._cssPriority=!0;this._readOnly=!1;this._isRtl=!1;this._precision=1;this._options=null;this._htmlText=!1;this._element=t;this._create();this._element&&this._element.appendChild(this._svg);let e=navigator.userAgent.toLowerCase();void 0===_SvgRenderEngine._isff&&(_SvgRenderEngine._isff=e.indexOf("firefox")>=0);void 0===_SvgRenderEngine._isSafari&&(_SvgRenderEngine._isSafari=e.indexOf("safari")>-1&&-1==e.indexOf("chrome"))}attach(t){this._element=t;if(t){t.insertBefore(this._svg,t.childNodes[0]);t.appendChild(this._svg)}}detach(){this._element&&this._element.removeChild(this._svg);for(;this._svg.firstChild;)wijmo_1.removeChild(this._svg.firstChild)}beginRender(){for(;this._svg.firstChild;)wijmo_1.removeChild(this._svg.firstChild);this._savedGradient={};this._bbCache={};this._svg.appendChild(this._defs);this._svg.appendChild(this._textGroup);this._isRtl=this._checkRtl()}endRender(){wijmo_1.removeChild(this._textGroup)}setViewportSize(t,e){this._svg.setAttribute("width",t.toString());this._svg.setAttribute("height",e.toString())}get element(){return this._svg}get fill(){return this._fill}set fill(t){this._fill=t}get fontSize(){return this._fontSize}set fontSize(t){this._fontSize=t}get fontFamily(){return this._fontFamily}set fontFamily(t){this._fontFamily=t}get stroke(){return this._stroke}set stroke(t){this._stroke=t}get strokeWidth(){return this._strokeWidth}set strokeWidth(t){this._strokeWidth=void 0===t?null:t}get textFill(){return this._textFill}set textFill(t){this._textFill=t}get cssPriority(){return this._cssPriority}set cssPriority(t){this._cssPriority=t}get readOnly(){return this._readOnly}set readOnly(t){this._readOnly=t}get precision(){return this._precision}set precision(t){this._precision=wijmo_1.asNumber(t)}get group(){return this._group}get options(){return this._options}set options(t){this._options=t}addClipRect(t,e){if(t&&e){let r=this.precision;var i=document.createElementNS(_SvgRenderEngine.svgNS,"clipPath"),s=document.createElementNS(_SvgRenderEngine.svgNS,"rect");s.setAttribute("x",(t.left-1).toFixed(r));s.setAttribute("y",(t.top-1).toFixed(r));s.setAttribute("width",(t.width+2).toFixed(r));s.setAttribute("height",(t.height+2).toFixed(r));i.appendChild(s);i.setAttribute("id",e);this._svg.appendChild(i)}}drawEllipse(t,e,i,s,r,a){let n=document.createElementNS(_SvgRenderEngine.svgNS,"ellipse"),h=this.precision;this._applyColor(n,"stroke",this._stroke);null!==this._strokeWidth&&this._setAttribute(n,"stroke-width",this._strokeWidth.toString());this._applyColor(n,"fill",this._fill);n.setAttribute("cx",t.toFixed(h));n.setAttribute("cy",e.toFixed(h));n.setAttribute("rx",i.toFixed(h));n.setAttribute("ry",s.toFixed(h));r&&n.setAttribute("class",r);this._applyStyle(n,a);this._appendChild(n);return n}drawRect(t,e,i,s,r,a,n){let h=document.createElementNS(_SvgRenderEngine.svgNS,"rect"),o=this.precision;this._applyColor(h,"fill",this._fill);this._applyColor(h,"stroke",this._stroke);null!==this._strokeWidth&&this._setAttribute(h,"stroke-width",this._strokeWidth.toString());h.setAttribute("x",t.toFixed(o));isNaN(Number(e))||h.setAttribute("y",e.toFixed(o));i>0&&i<.05?h.setAttribute("width","0.1"):h.setAttribute("width",i.toFixed(o));s>0&&s<.05?h.setAttribute("height","0.1"):h.setAttribute("height",s.toFixed(o));n&&this._setClipPath(h,n);r&&h.setAttribute("class",r);this._applyStyle(h,a);this._appendChild(h);return h}drawLine(t,e,i,s,r,a){let n=document.createElementNS(_SvgRenderEngine.svgNS,"line"),h=this.precision;this._applyColor(n,"stroke",this._stroke);null!==this._strokeWidth&&this._setAttribute(n,"stroke-width",this._strokeWidth.toString());n.setAttribute("x1",t.toFixed(h));n.setAttribute("x2",i.toFixed(h));n.setAttribute("y1",e.toFixed(h));n.setAttribute("y2",s.toFixed(h));r&&n.setAttribute("class",r);this._applyStyle(n,a);this._appendChild(n);return n}drawLines(t,e,i,s,r,a){if(t&&e){var n=a||Math.min(t.length,e.length);if(n>0){let a=document.createElementNS(_SvgRenderEngine.svgNS,"polyline"),l=this.precision;this._applyColor(a,"stroke",this._stroke);if(null!==this._strokeWidth){this._setAttribute(a,"stroke-width",this._strokeWidth.toString());this._strokeWidth>1&&this._setAttribute(a,"stroke-linejoin",this._STROKE_JOIN)}a.setAttribute("fill","none");for(var h="",o=0;o<n;o++)h+=t[o].toFixed(l)+","+e[o].toFixed(l)+" ";a.setAttribute("points",h);i&&a.setAttribute("class",i);r&&this._setClipPath(a,r);this._applyStyle(a,s);this._appendChild(a);return a}}return null}drawSplines(t,e,i,s,r,a){if(t&&e){var n=new _Curve(t,e,a,this._options&&this._options.spline).calculate(),h=n.xs,o=n.ys,l=Math.min(h.length,o.length);if(l>0){let t=document.createElementNS(_SvgRenderEngine.svgNS,"polyline"),e=this.precision;this._applyColor(t,"stroke",this._stroke);if(null!==this._strokeWidth){this._setAttribute(t,"stroke-width",this._strokeWidth.toString());this._strokeWidth>1&&this._setAttribute(t,"stroke-linejoin",this._STROKE_JOIN)}t.setAttribute("fill","none");for(var _="",d=0;d<l;d++)_+=h[d].toFixed(e)+","+o[d].toFixed(e)+" ";t.setAttribute("points",_);i&&t.setAttribute("class",i);r&&this._setClipPath(t,r);this._applyStyle(t,s);this._appendChild(t);return t}}return null}drawPolygon(t,e,i,s,r){if(t&&e){var a=Math.min(t.length,e.length);if(a>0){let o=document.createElementNS(_SvgRenderEngine.svgNS,"polygon"),l=this.precision;this._applyColor(o,"stroke",this._stroke);if(null!==this._strokeWidth){this._setAttribute(o,"stroke-width",this._strokeWidth.toString());this._strokeWidth>1&&this._setAttribute(o,"stroke-linejoin",this._STROKE_JOIN)}this._applyColor(o,"fill",this._fill);for(var n="",h=0;h<a;h++)n+=t[h].toFixed(l)+","+e[h].toFixed(l)+" ";o.setAttribute("points",n);i&&o.setAttribute("class",i);r&&this._setClipPath(o,r);this._applyStyle(o,s);this._appendChild(o);return o}}return null}drawPieSegment(t,e,i,s,r,a,n,h){if(r>=2*Math.PI)return this.drawEllipse(t,e,i,i,a,n);let o=document.createElementNS(_SvgRenderEngine.svgNS,"path"),l=this.precision;this._applyColor(o,"fill",this._fill);this._applyColor(o,"stroke",this._stroke);null!==this._strokeWidth&&this._setAttribute(o,"stroke-width",this._strokeWidth.toString());var _=new wijmo_1.Point(t,e);_.x+=i*Math.cos(s);_.y+=i*Math.sin(s);var d=s+r,c=new wijmo_1.Point(t,e);c.x+=i*Math.cos(d);c.y+=i*Math.sin(d);var u=" 0 0,1 ";Math.abs(r)>Math.PI&&(u=" 0 1,1 ");var g="M "+_.x.toFixed(l)+","+_.y.toFixed(l);g+=" A "+i.toFixed(l)+","+i.toFixed(l)+u;g+=c.x.toFixed(l)+","+c.y.toFixed(l);g+=" L "+t.toFixed(l)+","+e.toFixed(l)+" z";o.setAttribute("d",g);h&&this._setClipPath(o,h);a&&o.setAttribute("class",a);this._applyStyle(o,n);this._appendChild(o);return o}drawDonutSegment(t,e,i,s,r,a,n,h,o){var l=!1;if(a>=2*Math.PI){l=!0;a-=.001}let _=document.createElementNS(_SvgRenderEngine.svgNS,"path"),d=this.precision+2;this._applyColor(_,"fill",this._fill);this._applyColor(_,"stroke",this._stroke);null!==this._strokeWidth&&this._setAttribute(_,"stroke-width",this._strokeWidth.toString());var c=new wijmo_1.Point(t,e);c.x+=i*Math.cos(r);c.y+=i*Math.sin(r);var u=r+a,g=new wijmo_1.Point(t,e);g.x+=i*Math.cos(u);g.y+=i*Math.sin(u);var m=new wijmo_1.Point(t,e);m.x+=s*Math.cos(u);m.y+=s*Math.sin(u);var p=new wijmo_1.Point(t,e);p.x+=s*Math.cos(r);p.y+=s*Math.sin(r);var f=" 0 0,1 ",x=" 0 0,0 ";if(Math.abs(a)>Math.PI){f=" 0 1,1 ";x=" 0 1,0 "}var w="M "+c.x.toFixed(d)+","+c.y.toFixed(d);w+=" A "+i.toFixed(d)+","+i.toFixed(d)+f;w+=g.x.toFixed(d)+","+g.y.toFixed(d);w+=l?" M "+m.x.toFixed(d)+","+m.y.toFixed(d):" L "+m.x.toFixed(d)+","+m.y.toFixed(d);w+=" A "+s.toFixed(d)+","+s.toFixed(d)+x;w+=p.x.toFixed(d)+","+p.y.toFixed(d);l||(w+=" z");_.setAttribute("d",w);o&&this._setClipPath(_,o);n&&_.setAttribute("class",n);this._applyStyle(_,h);this._appendChild(_);return _}drawString(t,e,i,s){return this._isHtmlString(t)?this._drawStringHtml(t,e,i,s):this._drawString(t,e,i,s)}_isHtmlString(t){return this._htmlText&&/<\/?[a-z][\s\S]*>/i.test(t)}_drawString(t,e,i,s){let r=this._createText(e,t),a=this.precision;i&&r.setAttribute("class",i);this._applyStyle(r,s);this._appendChild(r);var n,h=this._getKey(t,i,this._groupCls);if(this._bbCache[h]){n=this._bbCache[h];r.setAttribute("y",(e.y-(n.y+n.height)).toFixed(a))}else{n=this._getBBox(r);r.setAttribute("y",(e.y-(n.y+n.height-e.y)).toFixed(a))}this._isRtl&&!wijmo_1.isIE()&&r.setAttribute("x",(e.x+n.width).toFixed(a));return r}_drawStringHtml(t,e,i,s){const r=document.createElementNS("http://www.w3.org/2000/svg","foreignObject");r.setAttribute("width","1000");r.setAttribute("height","100");r.setAttribute("x",e.x.toFixed(2));const a=document.createElement("span"),n=this._groupCls;n&&wijmo_1.addClass(a,n);i&&wijmo_1.addClass(a,i);this._applyStyle(a,s);a.innerHTML=t;r.appendChild(a);this._appendChild(r);const h=a.getBoundingClientRect();r.setAttribute("width",Math.ceil(h.width+2).toFixed(2));r.setAttribute("height",Math.ceil(h.height+1).toFixed(2));r.setAttribute("y",(e.y-h.height).toFixed(2));return r}drawStringRotated(t,e,i,s,r,a){return this._isHtmlString(t)?this._drawStringRotatedHtml(t,e,i,s,r,a):this._drawStringRotated(t,e,i,s,r,a)}_drawStringRotated(t,e,i,s,r,a){let n=this._createText(e,t),h=this.precision;r&&n.setAttribute("class",r);this._applyStyle(n,a);var o=document.createElementNS(_SvgRenderEngine.svgNS,"g");o.setAttribute("transform","rotate("+s.toFixed(h)+","+i.x.toFixed(h)+","+i.y.toFixed(h)+")");o.appendChild(n);this._appendChild(o);var l=this._getBBox(n);n.setAttribute("y",(e.y-(l.y+l.height-e.y)).toFixed(h));this._isRtl&&!wijmo_1.isIE()&&n.setAttribute("x",(e.x+l.width).toFixed(h));return n}_drawStringRotatedHtml(t,e,i,s,r,a){let n=this.precision;const h=document.createElementNS("http://www.w3.org/2000/svg","foreignObject");h.setAttribute("width","1000");h.setAttribute("height","100");h.setAttribute("x",e.x.toFixed(2));const o=document.createElement("span"),l=this._groupCls;l&&wijmo_1.addClass(o,l);r&&wijmo_1.addClass(o,r);this._applyStyle(o,a);o.innerHTML=t;h.appendChild(o);this._appendChild(h);const _=o.getBoundingClientRect();h.setAttribute("width",Math.ceil(_.width+2).toFixed(2));h.setAttribute("height",Math.ceil(_.height+1).toFixed(2));h.setAttribute("y",(e.y-_.height).toFixed(2));var d=document.createElementNS(_SvgRenderEngine.svgNS,"g");d.setAttribute("transform","rotate("+s.toFixed(n)+","+i.x.toFixed(n)+","+i.y.toFixed(n)+")");d.appendChild(h);this._appendChild(d);return h}measureString(t,e,i,s){return this._isHtmlString(t)?this._measureStringHtml(t,e,i,s):this._measureString(t,e,i,s)}_measureString(t,e,i,s){var r=new wijmo_1.Size(0,0);if(!this._fontFamily&&!this._fontSize){let s=this._getKey(t,e,i);if(this._bbCache[s])return this._bbCache[s]}if(this.cssPriority){this._fontSize&&this._text.setAttribute("font-size",this._fontSize);this._fontFamily&&this._text.setAttribute("font-family",this._fontFamily)}else{let t={};this._fontSize&&(t.fontSize=this._fontSize);this._fontFamily&&(t.fontFamily=this._fontFamily);Object.keys(t).length>0&&wijmo_1.setCss(this._text,t)}e&&this._text.setAttribute("class",e);i&&this._textGroup.setAttribute("class",i);this._applyStyle(this._text,s);this._setText(this._text,t);var a=this._getBBox(this._text);r.width=a.width;r.height=a.height;this._text.removeAttribute("font-size");this._text.removeAttribute("font-family");this._text.removeAttribute("class");this._text.removeAttribute("style");if(s)for(var n in s)this._text.removeAttribute(this._deCase(n));this._textGroup.removeAttribute("class");this._text.textContent=null;if(!this._fontFamily&&!this._fontSize){let s=this._getKey(t,e,i);this._bbCache[s]={x:a.x,y:a.y+1e3,width:a.width,height:a.height}}return r}_measureStringHtml(t,e,i,s){var r=new wijmo_1.Size(0,0);const a=document.createElementNS("http://www.w3.org/2000/svg","foreignObject");a.setAttribute("width","1000");a.setAttribute("height","100");a.setAttribute("x","-1000");a.setAttribute("y","-1000");const n=document.createElement("span");i&&wijmo_1.addClass(n,i);e&&wijmo_1.addClass(n,e);this._applyStyle(n,s);n.innerHTML=t;a.appendChild(n);e&&this._text.setAttribute("class",e);this._applyStyle(this._text,s);this._appendChild(a);const h=n.getBoundingClientRect();r.width=h.width;r.height=h.height;a.remove();return r}startGroup(t,e,i=!1){var s=document.createElementNS(_SvgRenderEngine.svgNS,"g");if(t){s.setAttribute("class",t);this._groupCls=t}e&&this._setClipPath(s,e);this._appendChild(s);i&&s.transform.baseVal.appendItem(this._svg.createSVGTransform());this._group=s;return s}endGroup(){if(this._group){var t=this._group.parentNode;if(t==this._svg){this._group=null;this._groupCls=null}else{this._group=t;this._groupCls=this._getClass(this._group)}}}drawImage(t,e,i,s,r){let a=document.createElementNS(_SvgRenderEngine.svgNS,"image"),n=this.precision;a.setAttributeNS(_SvgRenderEngine.xlinkNS,"href",t);a.setAttribute("x",e.toFixed(n));a.setAttribute("y",i.toFixed(n));a.setAttribute("width",s.toFixed(n));a.setAttribute("height",r.toFixed(n));this._appendChild(a);return a}_setClipPath(t,e){t.setAttribute("clip-path","url(#"+e+")");_SvgRenderEngine._isSafari&&wijmo_1.setCss(t,{"-webkit-clip-path":"url(#"+e+")"})}_appendChild(t){if(!this.readOnly){var e=this._group;e||(e=this._svg);e.appendChild(t)}}_create(){this._svg=document.createElementNS(_SvgRenderEngine.svgNS,"svg");this._defs=document.createElementNS(_SvgRenderEngine.svgNS,"defs");this._svg.appendChild(this._defs);this._text=this._createText(new wijmo_1.Point(-1e3,-1e3),"");this._textGroup=document.createElementNS(_SvgRenderEngine.svgNS,"g");this._textGroup.appendChild(this._text);this._svg.appendChild(this._textGroup)}_setText(t,e){var i=e?e.toString():null;if(i&&i.indexOf("tspan")>=0)try{t.textContent=null;for(var s=new DOMParser,r='<svg xmlns="http://www.w3.org/2000/svg">'+i+"</svg>",a=s.parseFromString(r,"text/xml").documentElement.firstChild;a;){t.appendChild(t.ownerDocument.importNode(a,!0));a=a.nextSibling}}catch(t){throw new Error("Error parsing XML string.")}else t.textContent=i}_getKey(t,e,i){return t+(e||"")+(i||"")}_createText(t,e){let i=document.createElementNS(_SvgRenderEngine.svgNS,"text"),s=this.precision;this._setText(i,e);i.setAttribute("x",t.x.toFixed(s));i.setAttribute("y",t.y.toFixed(s));if(this.cssPriority){null!=this._textFill&&i.setAttribute("fill",this._textFill);this._fontSize&&i.setAttribute("font-size",this._fontSize);this._fontFamily&&i.setAttribute("font-family",this._fontFamily)}else{let t={};null!=this._textFill&&(t.fill=this._textFill);this._fontSize&&(t.fontSize=this._fontSize);this._fontFamily&&(t.fontFamily=this._fontFamily);Object.keys(t).length>0&&wijmo_1.setCss(i,t)}return i}_applyStyle(t,e){if(e)for(var i in e)"fill"===i||"stroke"===i?this._applyColor(t,i,e[i]):t.setAttribute(this._deCase(i),e[i])}_deCase(t){return t.replace(/[A-Z]/g,(function(t){return"-"+t.toLowerCase()}))}_getClass(t){let e;if(t)for(let i=t;i;i=i.parentNode){e=i.getAttribute("class");if(e)break}return e}_getBBox(t){if(!_SvgRenderEngine._isff)return t.getBBox();try{return t.getBBox()}catch(t){return{x:0,y:0,width:0,height:0}}}_applyColor(t,e,i){let s=_GradientColorUtil.tryParse(i);if(null!=s){if(!wijmo_1.isString(s)){if(null==this._savedGradient[i]){var r,a="gc"+(1e6*Math.random()).toFixed();if(null!=s.x1){r=document.createElementNS(_SvgRenderEngine.svgNS,"linearGradient");["x1","y1","x2","y2","gradientUnits"].forEach(t=>{null!=s[t]&&r.setAttribute(t,s[t])})}else if(null!=s.r){r=document.createElementNS(_SvgRenderEngine.svgNS,"radialGradient");["cx","cy","r","fx","fy","fr","gradientUnits"].forEach(t=>{null!=s[t]&&r.setAttribute(t,s[t])})}s.colors&&s.colors&&s.colors.length>0&&s.colors.forEach(t=>{var e=document.createElementNS(_SvgRenderEngine.svgNS,"stop");null!=t.color&&e.setAttribute("stop-color",t.color);null!=t.offset&&e.setAttribute("offset",t.offset);null!=t.opacity&&e.setAttribute("stop-opacity",t.opacity);r.appendChild(e)});r.setAttribute("id",a);this._defs.appendChild(r);this._savedGradient[i]=a}s=`url(${this._baseUrl}#${this._savedGradient[i]})`}this.cssPriority?t.setAttribute(e,s):this._addInlineStyle(t,e,s)}}_addInlineStyle(t,e,i){let s={};s[e.replace(/-([a-z])/g,t=>t[1].toUpperCase())]=i;wijmo_1.setCss(t,s)}_setAttribute(t,e,i){this.cssPriority?t.setAttribute(e,i):this._addInlineStyle(t,e,i)}_checkRtl(){return this._element&&wijmo_1.hasClass(this._element,wijmo_1.UtilitesClsNames.rtl)}}_SvgRenderEngine.svgNS="http://www.w3.org/2000/svg";_SvgRenderEngine.xlinkNS="http://www.w3.org/1999/xlink";exports._SvgRenderEngine=_SvgRenderEngine;class _GradientColorUtil{static tryParse(t){if(_GradientColorUtil.parsedColor[t])return _GradientColorUtil.parsedColor[t];if(null==t||-1===t.indexOf("-")||-1!==t.indexOf("var("))return t;var e,i=t.replace(/\s+/g,"").split(/\-/g),s=i[0][0],r=!1,a=i[0].match(/\(\S+\)/);if(!a||0==a.length)return t;var n=a[0].replace(/[\(\\)]/g,"").split(/\,/g);if("l"===s||"L"===s){e={x1:"0",y1:"0",x2:"0",y2:"0",colors:[]};"l"===s&&(r=!0);["x1","y1","x2","y2"].forEach((t,i)=>{null!=n[i]&&(e[t]=r?100*+n[i]+"%":n[i]+"")})}else if("r"===s||"R"===s){e={cx:"0",cy:"0",r:"0",colors:[]};"r"===s&&(r=!0);["cx","cy","r","fx","fy","fr"].forEach((t,i)=>{null!=n[i]&&""!==n[i]&&(e[t]=r?100*+n[i]+"%":n[i]+"")})}r||(e.gradientUnits="userSpaceOnUse");_GradientColorUtil.parsedColor[t]=e;var h=i.length-1;i.forEach((t,i)=>{t.indexOf(")")>-1&&(t=t.match(/\)\S+/)[0].replace(")",""));var s=t.split(":"),a={color:"black"};null!=s[0]&&(a.color=s[0]);null!=s[1]?a.offset=r?100*+s[1]+"%":s[1]+"":a.offset=i/h*100+"%";null!=s[2]&&(a.opacity=s[2]);e.colors.push(a)});return e}}_GradientColorUtil.parsedColor={};class SvgRenderEngine extends _SvgRenderEngine{}exports.SvgRenderEngine=SvgRenderEngine;class Legend{constructor(t){this._position=Position.Right;this._title="";this._titleAlign="left";this._titlePadding=5;this._areas=new Array;this._sz=new wijmo_1.Size;this._colRowLens=[];this._orient=Orientation.Auto;this._scrollbar=!1;this._chart=t}get position(){return this._position}set position(t){if((t=wijmo_1.asEnum(t,Position))!=this._position){this._position=t;this._invalidate()}}get reverse(){return this._reverse}set reverse(t){if(t!=this._reverse){this._reverse=wijmo_1.asBoolean(t,!0);this._invalidate()}}get title(){return this._title}set title(t){if(t!=this._title){this._title=wijmo_1.asString(t,!1);this._invalidate()}}get titleAlign(){return this._titleAlign}set titleAlign(t){if(t!=this._titleAlign){var e=wijmo_1.asString(t,!1);this._titleAlign="right"===e?"right":"center"===e?"center":"left";this._invalidate()}}get orientation(){return this._orient}set orientation(t){if((t=wijmo_1.asEnum(t,Orientation))!=this._orient){this._orient=t;this._invalidate()}}get maxSize(){return this._maxSz}set maxSize(t){if(t!=this._maxSz){if(wijmo_1.isNumber(t))this._maxSz=t;else if(wijmo_1.isString(t)){let e=wijmo_1.asString(t);wijmo_1.assert(FlexChartBase._endsWith(e,"px")||FlexChartBase._endsWith(e,"%"),"number with unit (px or %) expected.");this._maxSz=e}else t&&wijmo_1.assert(!1,"number or string expected.");this._invalidate()}}get scrollbar(){return this._scrollbar}set scrollbar(t){if(t!=this._scrollbar){this._scrollbar=wijmo_1.asBoolean(t,!1);this._invalidate()}}get isVertical(){return this.orientation==Orientation.Auto?null==this.position||this.position==Position.Auto||this.position==Position.Right||this.position==Position.Left||this.position==Position.LeftTop||this.position==Position.LeftBottom||this.position==Position.RightTop||this.position==Position.RightBottom:this.orientation==Orientation.Vertical}_getDesiredSize(t,e,i,s){if(e==Position.None)return null;let r=new wijmo_1.Size;if(this.title.length>0){r=t.measureString(this.title,exports.LegendClsNames.title,exports.LegendClsNames.legend);s-=r.height+this._titlePadding}var a=this._chart._getDesiredLegendSize(t,this.isVertical,i,s);if(null!=a){if(this.title.length>0){a.height+=r.height+this._titlePadding;if(r.width>a.width)if(this.position==Position.Left||this.position==Position.Right||this.position==Position.LeftTop||this.position==Position.LeftBottom||this.position==Position.RightTop||this.position==Position.RightBottom){let t=Math.min(r.width,this._getMaxSize(i));a.width=t;r.width=t}else i>a.width&&i<r.width?a.width=i:i>=r.width&&(a.width=r.width)}this._sz=a.clone();if(this.scrollbar)if(this.isVertical&&a.height>s){a.width+=18;a.height=s}else if(!this.isVertical&&a.width>i){a.width=i;a.height+=18}}return a}_getPosition(t,e){return this.position==Position.Auto?t>=e?Position.Right:Position.Bottom:this.position}_render(t,e,i,s,r){this._areas=[];let a=0;t.fill="transparent";t.stroke=null;t.drawRect(e.x,e.y,s,r);if(this.title.length){let i=e.clone(),n=t.measureString(this.title,exports.LegendClsNames.title+"`");i.y+=n.height;"right"===this.titleAlign?i.x=e.x+s-n.width:"center"===this.titleAlign&&(i.x=e.x+.5*(s-n.width));t.drawString(this.title,i,exports.LegendClsNames.title);a=n.height+this._titlePadding;e.y+=a;r-=a}let n=!1;this.scrollbar&&(this._sz.height>r&&this.isVertical||this._sz.width>s&&!this.isVertical)&&(n=!0);this._chart._renderLegend(t,e,this._areas,this.isVertical,n?s-18:s,r);if(n){r+=a;this._addScrollbar(t,e,s,r,this._sz,this.isVertical,a)}}_hitTest(t){for(var e=this._areas,i=0;i<e.length;i++)if(e[i]&&FlexChartBase._contains(e[i],t))return i;return null}_addScrollbar(t,e,i,s,r,a,n){t.endGroup();const h=100-n/s*100,o=t.element,l=o.children.item(o.children.length-1),_=l.getBoundingClientRect();l.removeAttribute("clip-path");let d=[];l.children.length>0&&d.push(l.children.item(0));n>0&&d.push(l.children.item(1));Array.from(l.querySelectorAll("text,rect")).forEach(t=>{if(-1==d.indexOf(t)){t.setAttribute("x",(+t.getAttribute("x")-e.x).toFixed(2));t.setAttribute("y",(+t.getAttribute("y")-e.y).toFixed(2))}});Array.from(l.querySelectorAll("foreignObject")).forEach(t=>{if(-1==d.indexOf(t)){t.setAttribute("x",(+t.getAttribute("x")-e.x).toFixed(2));t.setAttribute("y",(+t.getAttribute("y")-e.y).toFixed(2))}});Array.from(l.querySelectorAll("ellipse")).forEach(t=>{t.setAttribute("cx",(+t.getAttribute("cx")-e.x).toFixed(2));t.setAttribute("cy",(+t.getAttribute("cy")-e.y).toFixed(2))});Array.from(l.querySelectorAll("line")).forEach(t=>{t.setAttribute("x1",(+t.getAttribute("x1")-e.x).toFixed(2));t.setAttribute("y1",(+t.getAttribute("y1")-e.y).toFixed(2));t.setAttribute("x2",(+t.getAttribute("x2")-e.x).toFixed(2));t.setAttribute("y2",(+t.getAttribute("y2")-e.y).toFixed(2))});const c=document.createElementNS("http://www.w3.org/2000/svg","foreignObject");c.setAttribute("x",e.x.toFixed(2));c.setAttribute("y",e.y.toFixed(2));c.setAttribute("width",i.toFixed(2));c.setAttribute("height",s.toFixed(2));const u=document.createElement("div");u.className="wj-legend-scrollable";a?wijmo_1.setCss(u,{width:"100%",height:h+"%",overflowX:"hidden",overflowY:"scroll"}):wijmo_1.setCss(u,{width:"100%",height:h+"%",overflowY:"hidden",overflowX:"scroll"});const g=document.createElementNS("http://www.w3.org/2000/svg","svg");g.setAttribute("height",(_.height-n).toFixed(2));let m=_.width;!a&&r.width<m&&(m=r.width);g.setAttribute("width",m.toFixed(2));for(;l.children.length>d.length;){var p=l.children.item(d.length);l.removeChild(p);g.appendChild(p)}u.appendChild(g);c.appendChild(u);l.appendChild(c)}_invalidate(){this._chart&&this._chart.invalidate()}_getMaxSize(t){let e=this.maxSize;if(wijmo_1.isNumber(e)){let i=wijmo_1.asNumber(e,!0);if(i>0)return Math.min(i,t)}else{let i=wijmo_1.asString(e,!0);if(i)if(FlexChartBase._endsWith(i,"px")){let e=parseFloat(i.replace("px",""));if(e>0)return Math.min(e,t)}else if(FlexChartBase._endsWith(i,"%")){let e=parseFloat(i.replace("%",""));if(e>0)return t*Math.min(e,100)/100}}return.5*t}}exports.Legend=Legend;class DataPoint{constructor(t=0,e=0){this.x=t;this.y=e}}exports.DataPoint=DataPoint;class RenderEventArgs extends wijmo_1.CancelEventArgs{constructor(t){super();this._engine=t}get engine(){return this._engine}}exports.RenderEventArgs=RenderEventArgs;class SeriesRenderingEventArgs extends RenderEventArgs{constructor(t,e,i){super(t);this._index=e;this._count=i}get index(){return this._index}get count(){return this._count}}exports.SeriesRenderingEventArgs=SeriesRenderingEventArgs;!function(t){t[t.Png=0]="Png";t[t.Jpeg=1]="Jpeg";t[t.Svg=2]="Svg"}(ImageFormat=exports.ImageFormat||(exports.ImageFormat={}));!function(t){t[t.None=0]="None";t[t.Series=1]="Series";t[t.Point=2]="Point"}(SelectionMode=exports.SelectionMode||(exports.SelectionMode={}));!function(t){t[t.None=0]="None";t[t.Left=1]="Left";t[t.Top=2]="Top";t[t.Right=3]="Right";t[t.Bottom=4]="Bottom";t[t.Auto=5]="Auto";t[t.TopLeft=6]="TopLeft";t[t.TopRight=7]="TopRight";t[t.BottomLeft=8]="BottomLeft";t[t.BottomRight=9]="BottomRight";t[t.LeftTop=10]="LeftTop";t[t.LeftBottom=11]="LeftBottom";t[t.RightTop=12]="RightTop";t[t.RightBottom=13]="RightBottom"}(Position=exports.Position||(exports.Position={}));!function(t){t[t.Auto=0]="Auto";t[t.Vertical=1]="Vertical";t[t.Horizontal=2]="Horizontal"}(Orientation=exports.Orientation||(exports.Orientation={}));class FlexChartBase extends wijmo_1.Control{constructor(){super(...arguments);this._palette=null;this._selectionMode=SelectionMode.None;this._defPalette=Palettes.standard;this._notifyCurrentChanged=!0;this._legendHost=null;this._needBind=!1;this._skipLightClr=!1;this.rendering=new wijmo_1.Event;this.rendered=new wijmo_1.Event;this.itemsSourceChanging=new wijmo_1.Event;this.itemsSourceChanged=new wijmo_1.Event;this.selectionChanged=new wijmo_1.Event}get itemsSource(){return this._items}set itemsSource(t){if(this._items!=t){let e=new wijmo_1.CancelEventArgs;if(!this.onItemsSourceChanging(e))return;if(this._cv){this._cv.currentChanged.removeHandler(this._cvCurrentChanged,this);this._cv.collectionChanged.removeHandler(this._cvCollectionChanged,this);this._cv=null}this._items=t;this._cv=wijmo_1.asCollectionView(t);if(null!=this._cv){this._cv.currentChanged.addHandler(this._cvCurrentChanged,this);this._cv.collectionChanged.addHandler(this._cvCollectionChanged,this)}this._clearCachedValues();this.onItemsSourceChanged(e);this._bindChart()}}get collectionView(){return this._cv}get palette(){return this._palette}set palette(t){if(t!=this._palette){this._palette=wijmo_1.asArray(t);this._skipLightClr=Palettes._isExtended(this._palette);this.invalidate()}}get plotMargin(){return this._plotMargin}set plotMargin(t){if(t!=this._plotMargin){this._plotMargin=t;this.invalidate()}}get legend(){return this._legend}set legend(t){if(t!=this._legend){this._legend=wijmo_1.asType(t,Legend);null!=this._legend&&(this._legend._chart=this)}}get header(){return this._header}set header(t){if(t!=this._header){this._header=wijmo_1.asString(t,!0);this.invalidate()}}get footer(){return this._footer}set footer(t){if(t!=this._footer){this._footer=wijmo_1.asString(t,!0);this.invalidate()}}get headerStyle(){return this._headerStyle}set headerStyle(t){if(t!=this._headerStyle){this._headerStyle=t;this.invalidate()}}get footerStyle(){return this._footerStyle}set footerStyle(t){if(t!=this._footerStyle){this._footerStyle=t;this.invalidate()}}get selectionMode(){return this._selectionMode}set selectionMode(t){if((t=wijmo_1.asEnum(t,SelectionMode))!=this._selectionMode){this._selectionMode=t;this.invalidate()}}get itemFormatter(){return this._itemFormatter}set itemFormatter(t){if(t!=this._itemFormatter){this._itemFormatter=wijmo_1.asFunction(t);this.invalidate()}}get options(){return this._options}set options(t){if(t!=this._options){this._options=t;this.invalidate()}}onRendering(t){this.rendering.raise(this,t)}onRendered(t){this.rendered.raise(this,t)}onItemsSourceChanging(t){this.itemsSourceChanging.raise(this,t);return!t.cancel}onItemsSourceChanged(t){this.itemsSourceChanged.raise(this,t)}saveImageToFile(t){var e,i,s,r;t&&0!==t.length&&-1!==t.indexOf(".")||(t="image.png");r=t.split(".");e=r[0];i=r[1].toLowerCase();s=ImageFormat[i[0].toUpperCase()+i.substring(1)];this.saveImageToDataUrl(s,t=>{ExportHelper.downloadImage(t,e,i)})}saveImageToDataUrl(t,e){var i=wijmo_1.asEnum(t,ImageFormat,!1),s=ImageFormat[i].toLowerCase();s&&s.length&&this._exportToImage(s,t=>{e.call(e,t)})}saveSvgToDataUrl(t,e=!0){this._exportToImage("svg",e=>{t.call(t,e)},{embedCss:e})}saveSvgToFile(t,e=!0){this.saveSvgToDataUrl(e=>{ExportHelper.downloadImage(e,t,"svg")},e)}_exportToImage(t,e,i=null){const s=this._currentRenderEngine.element;i&&!1===i.embedCss?ExportHelper.getDataUri2(s,this,i=>{this.prepareDataUri(s,t,i,e)}):ExportHelper.getDataUri(s,this,i=>{this.prepareDataUri(s,t,i,e)})}prepareDataUri(t,e,i,s){if("svg"===e)s.call(null,i);else{let r=new Image;r.onload=()=>{var i,a=document.createElement("canvas"),n=t.parentNode||t,h=wijmo_1.getElementRect(n);a.width=h.width;a.height=h.height;var o=a.getContext("2d");let l=this._bgColor(this.hostElement);this._isTransparent(l)&&(l="#ffffff");o.fillStyle=l;o.fillRect(0,0,h.width,h.height);var _=window.getComputedStyle(n,null).getPropertyValue("padding-left").replace("px",""),d=window.getComputedStyle(n,null).getPropertyValue("padding-top").replace("px","");o.drawImage(r,+_||0,+d||0);i=a.toDataURL("image/"+e);s.call(null,i);a=null};r.src=i}}refresh(t=!0){super.refresh(t);this.isUpdating||this.disposed||this._refreshChart()}onSelectionChanged(t){this.selectionChanged.raise(this,t)}onLostFocus(t){this._tooltip&&this._tooltip.isVisible&&!this.isTouching&&this._tooltip.hide();super.onLostFocus(t)}_cvCollectionChanged(t,e){this._clearCachedValues();this._bindChart()}_cvCurrentChanged(t,e){this._notifyCurrentChanged&&this._bindChart()}_bgColor(t){if(!t)return"transparent";let e=getComputedStyle(t).backgroundColor;return this._isTransparent(e)?this._bgColor(t.parentElement):e}_isTransparent(t){let e=new wijmo_1.Color(t);return 0==e.a&&0==e.b&&0==e.g&&0==e.r}_getColor(t){var e=this._defPalette;null!=this._palette&&this._palette.length>0&&(e=this._palette);return e[t%e.length]}_getColorLight(t){let e=this._getColor(t);this._skipLightClr||(e=this._getLightColor(e));return e}_getLightColor(t){var e=new wijmo_1.Color(t);if(null!=e&&-1===t.indexOf("-")){1==e.a&&-1==t.indexOf("rgba")&&-1==t.indexOf("hsla")&&(e.a*=.7);t=e.toString()}return t}_bindChart(){this._needBind=!0;this.invalidate()}_clearCachedValues(){}_renderEls(t,e,i=!0,s=null,r=!1){let a=e.width,n=e.height;if(0==a)return;(isNaN(a)||a<0)&&(a=FlexChartBase._WIDTH);(n<=0||isNaN(n))&&(n=FlexChartBase._HEIGHT);let h=a>0&&n>0;h&&t.setViewportSize(a,n);let o=0,l=0;if(this.legend.scrollbar&&this._legendHost){const t=this._legendHost.querySelector(".wj-legend-scrollable");if(t)if(this.legend.isVertical){l=0;o=t.scrollTop}else{o=0;l=t.scrollLeft}}this._currentRenderEngine._htmlText=this._isHtmlText();t.beginRender();t.cssPriority=!0;if(h){this._rectChart=new wijmo_1.Rect(0,0,a,n);this._prepareRender();if(s){let e=t.stroke,i=t.fill;t.fill=s;t.stroke=null;t.drawRect(0,0,a,n);t.fill=i;t.stroke=e}let e=new wijmo_1.Rect(0,0,a,n);this._chartRectId="chartRect"+(1e6*Math.random()).toFixed();t.addClipRect(e,this._chartRectId);this._renderHeader(t,e);this._renderFooter(t,e);this._renderLegends(t,e);this._renderChart(t,e,i);if(this.legend.scrollbar&&this._legendHost){const t=this._legendHost.querySelector(".wj-legend-scrollable");if(t){t.scrollTop=o;t.scrollLeft=l}}}t.endRender()}_render(t,e=!0,i=null){let s=this._getHostSize();if(this._h){let t=s.height-this._h;t>=4&&t<=6&&!1!==this._isPCUnit("height")&&(s.height=this._h)}this._h=s.height;this._renderEls(t,s,e,i)}_isPCUnit(t){let e=null,i=this.hostElement;if(i&&i.computedStyleMap){let s=i.computedStyleMap();if(s){let i=s.get(t);i&&(e="percent"==i.unit)}}return e}_renderHidden(t=null,e=null){let i=document.createElement("div");wijmo_1.addClass(i,this.hostElement.getAttribute("class")||"");i.style.visibility="hidden";let s=new _SvgRenderEngine(i);document.body.appendChild(i);if(!t){let e=this._getHostComputedStyle(),i=0,s=0;if(e){i=this._parsePx(e.width);s=this._parsePx(e.height);0==i&&(i=FlexChartBase._WIDTH);0==s&&(s=FlexChartBase._HEIGHT);i-=this._parsePx(e.paddingLeft);i-=this._parsePx(e.paddingRight);s-=this._parsePx(e.paddingTop);s-=this._parsePx(e.paddingBottom);i-=this._parsePx(e.borderLeftWidth);i-=this._parsePx(e.borderRightWidth);s-=this._parsePx(e.borderTopWidth);s-=this._parsePx(e.borderBottomWidth)}0==i&&(i=FlexChartBase._WIDTH);0==s&&(s=FlexChartBase._HEIGHT);t=new wijmo_1.Size(i,s)}this._renderEls(s,t,!0,e,!0);wijmo_1.removeChild(i);return s.element}_renderHeader(t,e){t.startGroup(FlexChartBase._CSS_HEADER,this._chartRectId);e=this._drawTitle(t,e,this.header,this.headerStyle,!1);t.endGroup()}_renderFooter(t,e){t.startGroup(FlexChartBase._CSS_FOOTER,this._chartRectId);e=this._drawTitle(t,e,this.footer,this.footerStyle,!0);t.endGroup()}_renderLegends(t,e){var i,s,r=this.legend,a=e.width,n=e.height,h=r._getPosition(a,n);let o=a,l=n;h==Position.Left||h==Position.Right||h==Position.LeftTop||h==Position.LeftBottom||h==Position.RightTop||h==Position.RightBottom?o=this._getLegendSize(a,o):l=this._getLegendSize(n,l);if(!(i=r._getDesiredSize(t,h,o,l))){this._legendHost=null;this._rectLegend=null;return}h==Position.Left||h==Position.Right||h==Position.LeftTop||h==Position.LeftBottom||h==Position.RightTop||h==Position.RightBottom?i.width=this._getLegendSize(a,i.width):i.height=this._getLegendSize(n,i.height);i.height>e.height&&(i.height=e.height);switch(h){case Position.Right:a-=i.width;s=new wijmo_1.Point(a,e.top+.5*(n-i.height));break;case Position.RightTop:a-=i.width;s=new wijmo_1.Point(a,e.top);break;case Position.RightBottom:a-=i.width;s=new wijmo_1.Point(a,e.top+(n-i.height));break;case Position.Left:e.left+=i.width;a-=i.width;s=new wijmo_1.Point(0,e.top+.5*(n-i.height));break;case Position.LeftTop:e.left+=i.width;a-=i.width;s=new wijmo_1.Point(0,e.top);break;case Position.LeftBottom:e.left+=i.width;a-=i.width;s=new wijmo_1.Point(0,e.top+(n-i.height));break;case Position.Top:n-=i.height;s=new wijmo_1.Point(.5*(a-i.width),e.top);e.top+=i.height;break;case Position.TopLeft:n-=i.height;s=new wijmo_1.Point(0,e.top);e.top+=i.height;break;case Position.TopRight:n-=i.height;s=new wijmo_1.Point(a-i.width,e.top);e.top+=i.height;break;case Position.Bottom:n-=i.height;s=new wijmo_1.Point(.5*(a-i.width),e.top+n);break;case Position.BottomLeft:n-=i.height;s=new wijmo_1.Point(0,e.top+n);break;case Position.BottomRight:n-=i.height;s=new wijmo_1.Point(a-i.width,e.top+n)}e.width=a;e.height=n;this._rectLegend=new wijmo_1.Rect(s.x,s.y,i.width,i.height);let _="legRect"+(1e6*Math.random()).toFixed();t.addClipRect(this._rectLegend,_);this._legendHost=t.startGroup(FlexChartBase._CSS_LEGEND,_);this.legend._render(t,s,h,i.width,i.height);t.endGroup()}_prepareRender(){}_renderChart(t,e,i){}_performBind(){}_getDesiredLegendSize(t,e,i,s){return null}_renderLegend(t,e,i,s,r,a){}_getHitTestItem(t){return null}_getHitTestValue(t,e){return null}_getHitTestLabel(t){return null}_refreshChart(){if(this._needBind){this._needBind=!1;this._performBind()}this.hostElement&&this._render(this._currentRenderEngine)}_drawTitle(t,e,i,s,r){var a=FlexChartBase._CSS_TITLE,n=r?FlexChartBase._CSS_FOOTER:FlexChartBase._CSS_HEADER,h=null;r?this._rectFooter=null:this._rectHeader=null;if(null!=i){var o=null,l=null,_=null,d=null;if(s){s.fontSize&&(o=s.fontSize);s.foreground&&(l=s.foreground);s.fill&&(l=s.fill);s.fontFamily&&(_=s.fontFamily);s.halign&&(d=s.halign)}t.fontSize=o;t.fontFamily=_;h=t.measureString(i,a,n,s);e.height-=h.height;l||(l=FlexChartBase._FG);t.textFill=l;if(r){"left"==d?FlexChartBase._renderText(t,i,new wijmo_1.Point(e.left,e.bottom),0,0,a,n,s):"right"==d?FlexChartBase._renderText(t,i,new wijmo_1.Point(e.left+e.width,e.bottom),2,0,a,n,s):FlexChartBase._renderText(t,i,new wijmo_1.Point(e.left+.5*e.width,e.bottom),1,0,a,n,s);this._rectFooter=new wijmo_1.Rect(e.left,e.bottom,e.width,h.height)}else{this._rectHeader=new wijmo_1.Rect(e.left,e.top,e.width,h.height);e.top+=h.height;"left"==d?FlexChartBase._renderText(t,i,new wijmo_1.Point(e.left,0),0,0,a,n,s):"right"==d?FlexChartBase._renderText(t,i,new wijmo_1.Point(e.left+e.width,0),2,0,a,n,s):FlexChartBase._renderText(t,i,new wijmo_1.Point(e.left+.5*e.width,0),1,0,a,n,s)}t.textFill=null;t.fontSize=null;t.fontFamily=null}return e}pageToControl(t,e){return this._toControl(t,e)}_toControl(t,e){wijmo_1.isNumber(t)&&wijmo_1.isNumber(e)?t=new wijmo_1.Point(t,e):t instanceof MouseEvent&&(t=wijmo_1.mouseToPage(t));wijmo_1.asType(t,wijmo_1.Point);var i=t.clone(),s=this._getHostOffset();i.x-=s.x;i.y-=s.y;let r=this._currentRenderEngine?this._currentRenderEngine.element:null;if(null!=r){let t=r.getBoundingClientRect(),e=parseFloat(r.getAttribute("width")),s=parseFloat(r.getAttribute("height"));t.width!=e&&(i.x*=e/t.width);t.height!=s&&(i.y*=s/t.height)}var a=this._getHostComputedStyle();if(a){var n=parseInt(a.paddingLeft.replace("px",""));n&&!isNaN(n)&&(i.x-=n);var h=parseInt(a.paddingTop.replace("px",""));h&&!isNaN(h)&&(i.y-=h)}return i}_highlightItems(t,e,i){if(i)for(var s=0;s<t.length;s++)wijmo_1.addClass(t[s],e);else for(s=0;s<t.length;s++)wijmo_1.removeClass(t[s],e)}_parseMargin(t){var e={};if(wijmo_1.isNumber(t)&&!isNaN(t))e.top=e.bottom=e.left=e.right=wijmo_1.asNumber(t);else if(wijmo_1.isString(t)){var i=wijmo_1.asString(t).split(" ",4),s=NaN,r=NaN,a=NaN,n=NaN;if(i){if(4==i.length){s=parseFloat(i[0]);n=parseFloat(i[1]);r=parseFloat(i[2]);a=parseFloat(i[3])}else if(2==i.length){s=r=parseFloat(i[0]);a=n=parseFloat(i[1])}else 1==i.length&&(s=r=a=n=parseFloat(i[1]));isNaN(s)||(e.top=s);isNaN(r)||(e.bottom=r);isNaN(a)||(e.left=a);isNaN(n)||(e.right=n)}}return e}_showToolTip(t,e){var i=this,s=this._tooltip.showDelay;i._clearTimeouts();if(!i.isDisabled){t||i._tooltip.hide();if(s>0)i._toShow=setTimeout((function(){i._tooltip.show(i.hostElement,t,e);i._tooltip.hideDelay>0&&(i._toHide=setTimeout((function(){i._tooltip.hide()}),i._tooltip.hideDelay))}),s);else{i._tooltip.show(i.hostElement,t,e);i._tooltip.hideDelay>0&&(i._toHide=setTimeout((function(){i._tooltip.hide()}),i._tooltip.hideDelay))}}}_hideToolTip(){this._clearTimeouts();this._tooltip.hide()}_clearTimeouts(){if(this._toShow){clearTimeout(this._toShow);this._toShow=null}if(this._toHide){clearTimeout(this._toHide);this._toHide=null}}_getHostOffset(){var t=wijmo_1.getElementRect(this.hostElement);return new wijmo_1.Point(t.left,t.top)}_getHostSize(){var t=new wijmo_1.Size,e=this.hostElement,i=this._getHostComputedStyle(),s=e.offsetWidth,r=e.offsetHeight;if(i){s-=this._parsePx(i.paddingLeft);s-=this._parsePx(i.paddingRight);r-=this._parsePx(i.paddingTop);r-=this._parsePx(i.paddingBottom);s-=this._parsePx(i.borderLeftWidth);s-=this._parsePx(i.borderRightWidth);r-=this._parsePx(i.borderTopWidth);r-=this._parsePx(i.borderBottomWidth);t.width=s;t.height=r}return t}_parsePx(t){let e=parseFloat(t.replace("px",""));return isNaN(e)?0:e}_getHostComputedStyle(){var t=this.hostElement;return t&&t.ownerDocument&&t.ownerDocument.defaultView?t.ownerDocument.defaultView.getComputedStyle(this.hostElement):null}_find(t,e){for(var i=[],s=0;s<t.childElementCount;s++){var r=t.childNodes.item(s);if(e.indexOf(r.nodeName)>=0)i.push(r);else{var a=this._find(r,e);if(a.length>0)for(var n=0;n<a.length;n++)i.push(a[n])}}return i}_getLegendSize(t,e){return Math.min(e,this.legend._getMaxSize(t))}_isHtmlText(){return this._options&&this._options.htmlText}static _contains(t,e){return!(!t||!e)&&(e.x>=t.left&&e.x<=t.right&&e.y>=t.top&&e.y<=t.bottom)}static _intersects(t,e){return!(t.left>e.right||t.right<e.left||t.top>e.bottom||t.bottom<e.top)}static _toOADate(t){return t.valueOf()}static _fromOADate(t){return new Date(t)}static _renderText(t,e,i,s,r,a,n,h,o){var l=t.measureString(e,a,n,h),_=i.x,d=i.y;switch(s){case 1:_-=.5*l.width;break;case 2:_-=l.width}switch(r){case 1:d+=.5*l.height;break;case 0:d+=l.height}var c=new wijmo_1.Rect(_,d-l.height,l.width,l.height);if(o){if(o(c)){t.drawString(e,new wijmo_1.Point(_,d),a,h);return c}return null}t.drawString(e,new wijmo_1.Point(_,d),a,h);return c}static _renderRotatedText(t,e,i,s,r,a,n,h,o,l){var _=t.measureString(e,h,o,l),d=i.x,c=i.y;switch(s){case 1:d-=.5*_.width;break;case 2:d-=_.width}switch(r){case 1:c+=.5*_.height;break;case 0:c+=_.height}return t.drawStringRotated(e,new wijmo_1.Point(d,c),a,n,h,l)}static _endsWith(t,e){if(t&&e){let i=t.length-e.length;return i>=0&&t.indexOf(e,i)===i}return!1}}FlexChartBase._WIDTH=300;FlexChartBase._HEIGHT=200;FlexChartBase._SELECTION_THRESHOLD=15;FlexChartBase._CSS_LEGEND=exports.FlexChartClsNames.legend;FlexChartBase._CSS_HEADER=exports.FlexChartClsNames.header;FlexChartBase._CSS_FOOTER=exports.FlexChartClsNames.footer;FlexChartBase._CSS_TITLE=exports.FlexChartClsNames.title;FlexChartBase._CSS_LABEL=exports.FlexChartClsNames.label;FlexChartBase._CSS_SELECTION=wijmo_1.ControlStateClsNames.selected;FlexChartBase._CSS_PLOT_AREA=exports.FlexChartClsNames.plotArea;FlexChartBase._FG="#666";FlexChartBase._epoch=new Date(1899,11,30).getTime();FlexChartBase._msPerDay=864e5;exports.FlexChartBase=FlexChartBase;class _KeyWords{constructor(){this._keys={};this._keys.seriesName=null;this._keys.pointIndex=null;this._keys.x=null;this._keys.y=null;this._keys.value=null;this._keys.name=null}replace(t,e){var i=this;return wijmo_1.format(t,{},(function(t,s,r,a){return i.getValue(s,e,r)}))}getValue(t,e,i){switch(t){case"seriesName":return e.series?e.series.name:"";case"pointIndex":return null!=e.pointIndex?e.pointIndex.toFixed():"";case"x":return i?wijmo_1.Globalize.format(e.x,i):e._xfmt;case"y":return i?wijmo_1.Globalize.format(e.y,i):e._yfmt;case"value":return i?wijmo_1.Globalize.format(e.value,i):e._getValueFmt();case"name":return e.name}if(e.item){0==t.indexOf("item.")&&(t=t.substr(5));let s=e.item[t];if(!wijmo_1.isUndefined(s))return i?wijmo_1.Globalize.format(s,i):s}return""}}exports._KeyWords=_KeyWords;class ExportHelper{static downloadImage(t,e,i){var s=document.createElement("a"),r="image/"+i;if(navigator.msSaveOrOpenBlob){t=t.substring(t.indexOf(",")+1);var a,n,h,o=atob(t),l=[];for(a=0;a<o.length;a+=512){n=o.slice(a,a+512);for(var _=new Array(n.length),d=0;d<n.length;d++)_[d]=n.charCodeAt(d);var c=new Uint8Array(_);l.push(c)}h=new Blob(l,{type:r});navigator.msSaveOrOpenBlob(h,e+"."+i)}else{s.download=e+"."+i;s.href=t;document.body.appendChild(s);s.addEventListener("click",(function(t){wijmo_1.removeChild(s)}));s.click()}}static getDataUri(t,e,i){var s,r,a,n,h,o,l,_,d,c,u=document.createElement("div"),g=t.cloneNode(!0);let m=!1;if("svg"==t.tagName){r=(s=wijmo_1.getElementRect(t.parentNode||t)).width||0;a=s.height||0;0==r&&(m=!0);n=t.viewBox.baseVal&&0!==t.viewBox.baseVal.width?t.viewBox.baseVal.width:r;h=t.viewBox.baseVal&&0!==t.viewBox.baseVal.height?t.viewBox.baseVal.height:a}else{r=(o=t.getBBox()).x+o.width;a=o.y+o.height;g.setAttribute("transform",g.getAttribute("transform").replace(/translate\(.*?\)/,""));n=r;h=a;(_=document.createElementNS("http://www.w3.org/2000/svg","svg")).appendChild(g);g=_}if(m){let t=e._renderHidden(),i=e._getHostComputedStyle(),s=0,o=0;if(i){s=e._parsePx(i.width);o=e._parsePx(i.height)}0==s&&(s=FlexChartBase._WIDTH);0==o&&(o=FlexChartBase._HEIGHT);n=r=s;h=a=o;g=t.cloneNode(!0)}g.setAttribute("version","1.1");g.setAttributeNS(ExportHelper.xmlns,"xmlns","http://www.w3.org/2000/svg");g.setAttributeNS(ExportHelper.xmlns,"xmlns:xlink","http://www.w3.org/1999/xlink");g.setAttribute("width",r);g.setAttribute("height",a);g.setAttribute("viewBox","0 0 "+n+" "+h);wijmo_1.addClass(g,t.parentNode&&t.parentNode.getAttribute("class")||"");u.appendChild(g);l=ExportHelper.getStyles(t);l+=`.${exports.FlexChartClsNames.hostElement}{margin:0px;padding:0px;border:none;width:${r}px;height:${a}px;}\n`;(d=document.createElement("style")).setAttribute("type","text/css");d.innerHTML="<![CDATA[\n"+l+"\n]]>";(c=document.createElementNS("http://www.w3.org/2000/svg","defs")).appendChild(d);g.insertBefore(c,g.firstChild);wijmo_1.isIE()||g.querySelectorAll("foreignObject").forEach(t=>{if(g===t.parentNode)g.removeChild(t);else for(const e of t.children)e.setAttribute("xmlns","http://www.w3.org/1999/xhtml")});let p=e._currentRenderEngine.canvas;if(p){let t=document.createElementNS("http://www.w3.org/2000/svg","image");t.setAttribute("width",p.width);t.setAttribute("height",p.height);t.setAttribute("href",p.toDataURL());g.insertBefore(t,g.firstChild);e.invalidate()}this.convertImagesToDataUrl(g,()=>{const t="data:image/svg+xml;base64,"+window.btoa(window.unescape(encodeURIComponent(ExportHelper.doctype+u.innerHTML)));i.call(null,t)})}static convertImagesToDataUrl(t,e){let i=t.querySelectorAll("image");if(0===i.length){e();return}let s=Array.from(i);Array.from(i).forEach(t=>{const i=new Image;i.onload=()=>{const r=document.createElement("canvas");r.width=+t.getAttribute("width");r.height=+t.getAttribute("height");const a=r.getContext("2d");let n=i.width/i.height;n<r.width/r.height?a.drawImage(i,0,0,i.width,i.height,.5*(r.width-n*r.height),0,n*r.height,r.height):a.drawImage(i,0,0,i.width,i.height,0,.5*(r.height-r.width/n),r.width,r.width/n);t.setAttribute("href",r.toDataURL());i.remove();s.splice(s.indexOf(t),1);0==s.length&&e()};i.src=t.getAttribute("href")})}static getDataUri2(t,e,i){var s,r,a,n,h,o,l,_=document.createElement("div"),d=this.cloneWithComputedStyles(t);let c=!1;if("svg"==t.tagName){r=(s=wijmo_1.getElementRect(t.parentNode||t)).width||0;a=s.height||0;0==r&&(c=!0);n=t.viewBox.baseVal&&0!==t.viewBox.baseVal.width?t.viewBox.baseVal.width:r;h=t.viewBox.baseVal&&0!==t.viewBox.baseVal.height?t.viewBox.baseVal.height:a}else{r=(o=t.getBBox()).x+o.width;a=o.y+o.height;d.setAttribute("transform",d.getAttribute("transform").replace(/translate\(.*?\)/,""));n=r;h=a;(l=document.createElementNS("http://www.w3.org/2000/svg","svg")).appendChild(d);d=l}if(c){let t=e._renderHidden(),i=e._getHostComputedStyle(),s=0,o=0;if(i){s=e._parsePx(i.width);o=e._parsePx(i.height)}0==s&&(s=FlexChartBase._WIDTH);0==o&&(o=FlexChartBase._HEIGHT);n=r=s;h=a=o;d=this.cloneWithComputedStyles(t)}d.setAttribute("version","1.1");d.setAttributeNS(ExportHelper.xmlns,"xmlns","http://www.w3.org/2000/svg");d.setAttributeNS(ExportHelper.xmlns,"xmlns:xlink","http://www.w3.org/1999/xlink");d.setAttribute("width",r);d.setAttribute("height",a);d.setAttribute("viewBox","0 0 "+n+" "+h);_.appendChild(d);let u=e._currentRenderEngine.canvas;if(u){let t=document.createElementNS("http://www.w3.org/2000/svg","image");t.setAttribute("width",u.width);t.setAttribute("height",u.height);t.setAttribute("href",u.toDataURL());d.insertBefore(t,d.firstChild);e.invalidate()}this.convertImagesToDataUrl(d,()=>{const t="data:image/svg+xml;base64,"+window.btoa(window.unescape(encodeURIComponent(ExportHelper.doctype+_.innerHTML)));i.call(null,t)})}static computeAttributes(t,e,i){let s=getComputedStyle(t);i.forEach(t=>{let i=s.getPropertyValue(t);i&&i.length>0&&e.setAttribute(t,i)})}static cloneWithComputedStyles(t){let e=t.cloneNode();Array.from(t.childNodes).forEach(t=>{let i=this.cloneWithComputedStyles(t);1===t.nodeType&&("text"===t.nodeName?this.computeAttributes(t,i,this.textAttrs):"line"===t.nodeName&&this.computeAttributes(t,i,this.lineAttrs));e.appendChild(i)});return e}static getStyles(t){var e="",i=document.styleSheets;if(null==i||0===i.length)return null;[].forEach.call(i,i=>{var s;try{if(null==i.cssRules||0===i.cssRules.length)return!0}catch(t){if("SecurityError"==t.name){console.log("SecurityError. Can't read: "+i.href);return!0}}s=i.cssRules;[].forEach.call(s,i=>{var s,r=i.style;if(null==r)return!0;let a=i.selectorText;if(wijmo_1.isIE()&&a){const t=a.match(/\[(.*?)\]/g);t&&t.forEach(t=>a=a.replace(t,t.replace(":","\\:")))}try{s=a=="."+exports.FlexChartClsNames.hostElement||t.querySelector(a)}catch(t){console.warn('Invalid CSS selector "'+i.selectorText+'"',t)}s?e+=i.selectorText+" { "+r.cssText+" }\n":i.cssText.match(/^@font-face/)&&(e+=i.cssText+"\n")})});const s=getComputedStyle(t),r=s?s.getPropertyValue("font"):null;r&&(e+=`.${exports.FlexChartClsNames.hostElement}{font:${r}}\n`);return e}}ExportHelper.doctype='<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">';ExportHelper.xmlns="http://www.w3.org/2000/xmlns/";ExportHelper.textAttrs=["font-family","font-size","font-style","font-weight","fill"];ExportHelper.lineAttrs=["stroke","stroke-width","stroke-dasharray"];class ChartTooltip extends wijmo_1.Tooltip{constructor(){super();this._content="<b>{seriesName}</b><br/>{x} {y}";this._threshold=15}get content(){return this._content}set content(t){t!=this._content&&(this._content=t)}get threshold(){return this._threshold}set threshold(t){t!=this._threshold&&(this._threshold=wijmo_1.asNumber(t))}show(t,e,i){super.show(t,e,i);let s=ChartTooltip._eTip;s&&s.style&&(s.style.pointerEvents="none")}}exports.ChartTooltip=ChartTooltip;!function(t){t[t.Column=0]="Column";t[t.Bar=1]="Bar";t[t.Scatter=2]="Scatter";t[t.Line=3]="Line";t[t.LineSymbols=4]="LineSymbols";t[t.Area=5]="Area";t[t.Bubble=6]="Bubble";t[t.Candlestick=7]="Candlestick";t[t.HighLowOpenClose=8]="HighLowOpenClose";t[t.Spline=9]="Spline";t[t.SplineSymbols=10]="SplineSymbols";t[t.SplineArea=11]="SplineArea";t[t.Funnel=12]="Funnel";t[t.Step=13]="Step";t[t.StepSymbols=14]="StepSymbols";t[t.StepArea=15]="StepArea"}(ChartType=exports.ChartType||(exports.ChartType={}));!function(t){t[t.None=0]="None";t[t.Stacked=1]="Stacked";t[t.Stacked100pc=2]="Stacked100pc"}(Stacking=exports.Stacking||(exports.Stacking={}));class FlexChartCore extends FlexChartBase{constructor(t,e){super(t,null,!0);this._series=new wijmo_1.ObservableArray;this._axes=new AxisCollection;this._pareas=new PlotAreaCollection;this._interpolateNulls=!1;this._legendToggle=!1;this._symbolSize=10;this._dataInfo=new _DataInfo;this.__barPlotter=null;this.__linePlotter=null;this.__areaPlotter=null;this.__bubblePlotter=null;this.__financePlotter=null;this.__funnelPlotter=null;this._plotters=[];this._rotated=!1;this._stacking=Stacking.None;this._xlabels=[];this._xvals=[];this._lblAreas=[];this._colRowLens=[];this._selectedEls=[];this._markers=[];this._bindingSeparator=",";this.seriesVisibilityChanged=new wijmo_1.Event;this.applyTemplate(`${wijmo_1.ControlClsNames.hostElement} ${exports.FlexChartClsNames.hostElement}`,null,null);var i=this;i._series.collectionChanged.addHandler((function(){for(var t=i._series,e=0;e<t.length;e++){var s=wijmo_1.tryCast(t[e],SeriesBase);if(!s)throw"chartSeries array must contain SeriesBase objects.";s._chart=i;if(s.axisX&&null==s.axisX._chart){s.axisX._chart=i;i.axes.push(s.axisX)}if(s.axisY&&null==s.axisY._chart){s.axisY._chart=i;i.axes.push(s.axisY)}}i.invalidate()}));this._currentRenderEngine=new _SvgRenderEngine(this.hostElement);this._hitTester=new _HitTester(this);this._legend=new Legend(this);this._tooltip=new ChartTooltip;this._tooltip.showDelay=0;this._lbl=new DataLabel;this._lbl._chart=this;this._initAxes();i._axes.collectionChanged.addHandler((function(){for(var t=i._axes,e=0;e<t.length;e++){var s=wijmo_1.tryCast(t[e],Axis);if(!s)throw"axes array must contain Axis objects.";s._chart=i}i.invalidate()}));i._pareas.collectionChanged.addHandler((function(){for(var t=i._pareas,e=0;e<t.length;e++){var s=wijmo_1.tryCast(t[e],PlotArea);if(!s)throw"plotAreas array must contain PlotArea objects.";s._chart=i}i.invalidate()}));this._keywords=new _KeyWords;this.addEventListener(this.hostElement,"click",(function(t){var e=i._tooltip;e.content&&i.isTouching&&i._updateTooltip(e,t)}));this.addEventListener(this.hostElement,"mousemove",(function(t){var e=i._tooltip;e.content&&!i.isTouching&&i._updateTooltip(e,t)}));this.addEventListener(this.hostElement,"mouseleave",(function(t){i._hideToolTip()}));this.addEventListener(this.hostElement,"click",(function(t){if(i.selectionMode!=SelectionMode.None){var e=i._hitTestData(t),s=FlexChartCore._SELECTION_THRESHOLD;i.tooltip&&i.tooltip.threshold&&(s=i.tooltip.threshold);e.distance<=s&&e.series?i._select(e.series,e.pointIndex):i.selectionMode==SelectionMode.Series&&(e=i.hitTest(t)).chartElement==ChartElement.Legend&&e.series?i._select(e.series,null):i._select(null,null)}if(!0===i.legendToggle&&(e=i.hitTest(t)).chartElement==ChartElement.Legend&&e.series){e.series.visibility==SeriesVisibility.Legend?e.series.visibility=SeriesVisibility.Visible:e.series.visibility==SeriesVisibility.Visible&&(e.series.visibility=SeriesVisibility.Legend);i.focus()}}));this.deferUpdate(()=>this.initialize(e))}initialize(t){if(t&&t.renderEngine){let t=wijmo_1.asType(this._currentRenderEngine,_SvgRenderEngine,!0);t&&t.detach();this._currentRenderEngine=null}super.initialize(t)}_initAxes(){this._axisX=new Axis(Position.Bottom);this._axisY=new Axis(Position.Left);this._axisX.majorGrid=!1;this._axisX.name="axisX";this._axisY.majorGrid=!0;this._axisY.majorTickMarks=TickMark.None;this._axisY.name="axisY";this._axisX._chart=this;this._axisY._chart=this;this._axes.push(this._axisX);this._axes.push(this._axisY)}get series(){return this._series}get axes(){return this._axes}get axisX(){return this._axisX}set axisX(t){if(t!=this._axisX){var e=this._axisX=wijmo_1.asType(t,Axis);this.beginUpdate();if(e){void 0===e.majorGrid&&(e.majorGrid=!1);void 0===e.name&&(e.name="axisX");e._axisType=AxisType.X;null!=e.position&&e.position!=Position.Left&&e.position!=Position.Right&&e.position!=Position.BottomLeft&&e.position!=Position.BottomRight&&e.position!=Position.TopLeft&&e.position!=Position.TopRight&&e.position!=Position.LeftTop&&e.position!=Position.LeftBottom&&e.position!=Position.RightTop&&e.position!=Position.RightBottom||(e.position=Position.Bottom);e._chart=this}this.endUpdate()}}get axisY(){return this._axisY}set axisY(t){if(t!=this._axisY){var e=this._axisY=wijmo_1.asType(t,Axis);this.beginUpdate();if(e){void 0===e.majorGrid&&(e.majorGrid=!0);void 0===e.name&&(e.name="axisY");void 0===e.majorTickMarks&&(e.majorTickMarks=TickMark.None);e._axisType=AxisType.Y;null!=e.position&&e.position!=Position.Top&&e.position!=Position.Bottom&&e.position!=Position.BottomLeft&&e.position!=Position.BottomRight&&e.position!=Position.TopLeft&&e.position!=Position.TopRight&&e.position!=Position.LeftTop&&e.position!=Position.LeftBottom&&e.position!=Position.RightTop&&e.position!=Position.RightBottom||(e.position=Position.Left);e._chart=this}this.endUpdate()}}get plotAreas(){return this._pareas}get binding(){return this._binding}set binding(t){if(t!=this._binding){this._binding=wijmo_1.asString(t,!0);this.invalidate()}}get bindingX(){return this._bindingX}set bindingX(t){if(t!=this._bindingX){this._bindingX=wijmo_1.asString(t,!0);this._bindChart()}}get symbolSize(){return this._symbolSize}set symbolSize(t){if(t!=this._symbolSize){this._symbolSize=wijmo_1.asNumber(t,!1,!0);this.invalidate()}}get interpolateNulls(){return this._interpolateNulls}set interpolateNulls(t){if(t!=this._interpolateNulls){this._interpolateNulls=wijmo_1.asBoolean(t);this.invalidate()}}get legendToggle(){return this._legendToggle}set legendToggle(t){t!=this._legendToggle&&(this._legendToggle=wijmo_1.asBoolean(t))}get tooltip(){return this._tooltip}get dataLabel(){return this._lbl}set dataLabel(t){if(t!=this._lbl){this._lbl=wijmo_1.asType(t,DataLabel);this._lbl&&(this._lbl._chart=this)}}get selection(){return this._selection}set selection(t){if(t!=this._selection){this._selection=wijmo_1.asType(t,SeriesBase,!0);this.invalidate()}}get renderEngine(){return this._currentRenderEngine}set renderEngine(t){if(t!=this._currentRenderEngine){let e=wijmo_1.asType(this._currentRenderEngine,_SvgRenderEngine,!0);e&&e.detach();this._currentRenderEngine=t;let i=wijmo_1.asType(this._currentRenderEngine,_SvgRenderEngine,!0);i&&i.attach(this.hostElement);this.refresh()}}onSeriesVisibilityChanged(t){this.seriesVisibilityChanged.raise(this,t)}hitTest(t,e){var i=this._toControl(t,e),s=new HitTestInfo(this,i),r=null;if(FlexChartCore._contains(this._rectHeader,i))s._chartElement=ChartElement.Header;else if(FlexChartCore._contains(this._rectFooter,i))s._chartElement=ChartElement.Footer;else if(FlexChartCore._contains(this._rectLegend,i)){s._chartElement=ChartElement.Legend;var a=i.clone();if(this.legend.scrollbar&&this._legendHost){var n=this._legendHost.querySelector(".wj-legend-scrollable");if(n){if(this.rightToLeft&&!this.legend.isVertical){let t=n.scrollWidth-n.clientWidth-1;a.x+=t+n.scrollLeft}else a.x+=n.scrollLeft;a.y+=n.scrollTop}}null!==(r=this.legend._hitTest(a))&&r>=0&&r<this.series.length&&s._setData(this.series[r])}else if(FlexChartCore._contains(this._rectChart,i)){var h=this._hitTestLabels(i);if(h){s._chartElement=ChartElement.DataLabel;s._dist=0;s._setDataPoint(h.tag)}else{for(var o=this._hitTester.hitTest(i),l=null,_=null,d=this.series.length-1;d>=0;d--)if(this.series[d].hitTest!==Series.prototype.hitTest){var c=this.series[d].hitTest(t);if(c){if(!l||c.distance<l.distance){l=c;_=d}if(0===c.distance)break}}if(o&&o.area)if(l&&l.distance<o.distance)s=l;else if(l&&l.distance==o.distance&&_>o.area.tag.seriesIndex)s=l;else{s._setDataPoint(o.area.tag);s._dist=o.distance}else l&&(s=l);let e=!1;this.axes.some(t=>{if(FlexChartCore._contains(t._axrect,i)){let r;if(t.axisType===AxisType.X){s._chartElement=ChartElement.AxisX;r=t._hitTest(i)}else{s._chartElement=ChartElement.AxisY;r=t._hitTest(i)}r?s._setName(r.label):s._setName("");e=!0;return!0}});e||(FlexChartCore._contains(this._plotRect,i)?s._chartElement=ChartElement.PlotArea:FlexChartCore._contains(this._rectChart,i)&&(s._chartElement=ChartElement.ChartArea))}}else s._chartElement=ChartElement.None;return s}pointToData(t,e){wijmo_1.isNumber(t)&&wijmo_1.isNumber(e)&&(t=new wijmo_1.Point(t,e));if(t instanceof MouseEvent){t=new wijmo_1.Point(t.pageX,t.pageY);t=this._toControl(t)}else t=t.clone();t.x=this.axisX.convertBack(t.x);t.y=this.axisY.convertBack(t.y);return t}dataToPoint(t,e){wijmo_1.isNumber(t)&&wijmo_1.isNumber(e)&&(t=new wijmo_1.Point(t,e));wijmo_1.asType(t,wijmo_1.Point);var i=t.clone();i.x=this.axisX.convert(i.x);i.y=this.axisY.convert(i.y);return i}dispose(){this._markers.forEach(t=>t.remove());this._markers=[];super.dispose()}_copy(t,e){if("series"==t){this.series.clear();for(var i=wijmo_1.asArray(e),s=0;s<i.length;s++){var r=this._createSeries();wijmo_1.copy(r,i[s]);this.series.push(r)}return!0}return!1}_createSeries(){return new Series}_clearCachedValues(){for(var t=0;t<this._series.length;t++){var e=this._series[t];null==e.itemsSource&&e._clearValues()}}_performBind(){this._xDataType=null;this._xlabels.splice(0);this._xvals.splice(0);if(this._cv){var t=this._cv.items;if(t){var e=t.length;let a=this.bindingX?new wijmo_1.Binding(this.bindingX):null;for(var i=0;i<e;i++){var s=t[i];if(a){var r=a.getValue(s);if(wijmo_1.isNumber(r)){this._xvals.push(wijmo_1.asNumber(r));this._xDataType=wijmo_1.DataType.Number}else if(wijmo_1.isDate(r)){this._xvals.push(wijmo_1.asDate(r).valueOf());this._xDataType=wijmo_1.DataType.Date}this._xlabels.push(r)}}this._xvals.length==e?this._xlabels.splice(0):this._xvals.splice(0)}}}_hitTestSeries(t,e){var i=this._toControl(t),s=new HitTestInfo(this,i),r=this._hitTester.hitTestSeries(i,e);if(r&&r.area){s._setDataPoint(r.area.tag);s._chartElement=ChartElement.PlotArea;s._dist=r.distance}return s}_hitTestData(t){var e=this._toControl(t),i=new HitTestInfo(this,e),s=this._hitTester.hitTest(e,!0);if(s&&s.area){i._setDataPoint(s.area.tag);i._dist=s.distance}return i}_hitTestLabels(t){for(var e=null,i=this._lblAreas.length,s=0;s<i;s++)if(this._lblAreas[s].contains(t)){e=this._lblAreas[s];break}return e}static _dist2(t,e){var i=t.x-e.x,s=t.y-e.y;return i*i+s*s}static _dist(t,e,i){return Math.sqrt(FlexChartCore._distToSegmentSquared(t,e,i))}static _distToSegmentSquared(t,e,i){var s=FlexChartCore._dist2(e,i);if(0==s)return FlexChartCore._dist2(t,e);var r=((t.x-e.x)*(i.x-e.x)+(t.y-e.y)*(i.y-e.y))/s;return r<0?FlexChartCore._dist2(t,e):r>1?FlexChartCore._dist2(t,i):FlexChartCore._dist2(t,new wijmo_1.Point(e.x+r*(i.x-e.x),e.y+r*(i.y-e.y)))}_isRotated(){return this._getChartType()==ChartType.Bar?!this._rotated:this._rotated}_getChartType(){return null}_prepareRender(){this._hitTester.clear()}_renderChart(t,e,i){var s=this._rectChart.clone(),r=new wijmo_1.Size(s.width,s.height);e.width,e.height;this._selectedEls.length=0;(p=this._getPlotter(null)).stacking=this._stacking;if(this._curPlotter!=p){this._curPlotter&&this._curPlotter.unload();this._curPlotter=p}p.load();var a=this._isRotated();this._dataInfo.analyse(this._series,a,p.stacking,this._xvals.length>0?this._xvals:null,this.axisX._getLogBase()>0,this.axisY._getLogBase()>0);var n=p.adjustLimits(this._dataInfo,e.clone());if(a){var h=this._dataInfo.getDataTypeX();h||(h=this._xDataType);this.axisX._updateActualLimits(this._dataInfo.getDataTypeY(),n.left,n.right);this.axisY._updateActualLimits(h,n.top,n.bottom,this._xlabels,this._xvals)}else{var o=this._dataInfo.getDataTypeX();o||(o=this._xDataType);this.axisX._updateActualLimits(o,n.left,n.right,this._xlabels,this._xvals);this.axisY._updateActualLimits(this._dataInfo.getDataTypeY(),n.top,n.bottom)}var l=this._getAxes();this._updateAuxAxes(l,a);this._layout(e,r,t);t.startGroup(FlexChartCore._CSS_PLOT_AREA);t.fill="transparent";t.stroke=null;if(this.plotAreas.length>0)for(var _=0;_<this.plotAreas.length;_++){this.plotAreas[_]._render(t)}else{var d=this._plotRect;t.drawRect(d.left,d.top,d.width,d.height)}t.endGroup();var c=this._series.length;this._clearPlotters();var u={};for(_=0;_<c;_++){var g=this._series[_];if(((v=g.visibility)==SeriesVisibility.Visible||v==SeriesVisibility.Plot)&&g.getValues(0)){var m=g._getAxisY(),p=this._getPlotter(g);if(!m||m==this.axisY||p instanceof _BarPlotter)p.seriesCount++;else{var f=m._uniqueId;u[f]?u[f].count+=1:u[f]={count:1,index:0}}}}this.onRendering(new RenderEventArgs(t));if(this._getChartType()!==ChartType.Funnel)for(_=0;_<l.length;_++){var x=l[_];w=x.axisType==AxisType.X?t.startGroup(FlexChartCore._CSS_AXIS_X,this._chartRectId):t.startGroup(FlexChartCore._CSS_AXIS_Y,this._chartRectId);x._hostElement=i?w:x._hostElement;x._render(t);t.endGroup()}t.startGroup(exports.SeriesClsNames.group);this._plotrectId="plotRect"+(1e6*Math.random()).toFixed();t.addClipRect(this._plotRect,this._plotrectId);t.options=this._options&&this._options.spline?{spline:this._options.spline.approximation}:null;for(_=0;_<c;_++){let e=this._series[_];e._pointIndexes=[];p=this._getPlotter(e);e._plotter=p;var w=t.startGroup(e.cssClass,p.clipping?this._plotrectId:null);e._hostElement=i?w:e._hostElement;var v=e.visibility,b=e.axisX,y=e.axisY;b||(b=this.axisX);y||(y=this.axisY);if(v==SeriesVisibility.Visible||v==SeriesVisibility.Plot){var S,C,T=u[y._uniqueId];if(!T||p instanceof _BarPlotter){S=p.seriesIndex;C=p.seriesCount;p.seriesIndex++;e.onRendering(t,S,C)||p.plotSeries(t,b,y,e,this,S,C)}else{S=T.index;C=T.count;T.index++;e.onRendering(t,S,C)||p.plotSeries(t,b,y,e,this,S,C)}e.onRendered(t)}t.endGroup()}t.endGroup();this._lblAreas=[];this.dataLabel.content&&this.dataLabel.position!=LabelPosition.None&&this._renderLabels(t);this._highlightCurrent();this.onRendered(new RenderEventArgs(t))}_getDesiredLegendSize(t,e,i,s){let r=new wijmo_1.Size;const a=this.series,n=a.length;this.legend.scrollbar;let h=0,o=0;this._colRowLens=[];for(var l=0;l<n;l++){var _=l;this._legendReversed()&&(_=n-l-1);var d=wijmo_1.tryCast(a[_],SeriesBase),c=d.visibility;if(d.name&&c!=SeriesVisibility.Hidden&&c!=SeriesVisibility.Plot)for(var u=d.legendItemLength(),g=0;g<u;g++){var m=d.measureLegendItem(t,g);if(e){if(h+m.height>s&&!this.legend.scrollbar){r.height=s;this._colRowLens.push(o);o=0;h=0}o<m.width&&(o=m.width);h+=m.height}else{if(o+m.width>i&&!this.legend.scrollbar){r.width=i;this._colRowLens.push(h);h=0;o=0}h<m.height&&(h=m.height);o+=m.width}}}if(e){r.height<h&&(r.height=h);this._colRowLens.push(o);r.width=this._colRowLens.reduce((t,e)=>t+e,0)}else{r.width<o&&(r.width=o);this._colRowLens.push(h);r.height=this._colRowLens.reduce((t,e)=>t+e,0)}return r}_renderLegend(t,e,i,s,r,a){var n,h=this.series,o=h.length,l=e.clone(),_=0;if(this._legendReversed()){for(var d=o-1;d>=0;d--){n=wijmo_1.tryCast(h[d],SeriesBase);_=this._renderLegendElements(t,n,e,l,i,s,r,a,_)}i.reverse()}else for(d=0;d<o;d++){n=wijmo_1.tryCast(h[d],SeriesBase);_=this._renderLegendElements(t,n,e,l,i,s,r,a,_)}}_legendReversed(){if(null==this._legend.reverse||null===this._legend.reverse){var t=!1,e=this._getChartType();(e===ChartType.Bar||e===ChartType.Column&&this._rotated)&&(this._stacking!==Stacking.None||this.axisY.reversed||(t=!0));return t}return this._legend.reverse}_renderLegendElements(t,e,i,s,r,a,n,h,o){var l=new wijmo_1.Rect(i.x,i.y,n,h),_=o;if(!e)return _;var d=e.visibility;if(!e.name||d==SeriesVisibility.Hidden||d==SeriesVisibility.Plot){e._legendElement=null;r.push(null);return _}var c=e.legendItemLength(),u=t.startGroup(e.cssClass);if(d==SeriesVisibility.Legend){u.setAttribute("opacity","0.5");e._legendElement=u}else d==SeriesVisibility.Visible?e._legendElement=u:e._legendElement=null;for(var g=0;g<c;g++){var m=e.measureLegendItem(t,g);if(a){if(s.y+m.height>l.bottom+1&&!this.legend.scrollbar){s.x+=this._colRowLens[_];_++;s.y=i.y}}else if(s.x+m.width>l.right+1&&!this.legend.scrollbar){s.y+=this._colRowLens[_];_++;s.x=i.x}var p=new wijmo_1.Rect(s.x,s.y,m.width,m.height);d!=SeriesVisibility.Legend&&d!=SeriesVisibility.Visible||e.drawLegendItem(t,p,g);r.push(p);a?s.y+=m.height:s.x+=m.width}t.endGroup();return _}_renderLabels(t){var e=this.series,i=e.length;t.stroke="null";t.fill="transparent";t.strokeWidth=1;var s=FlexChartCore._CSS_DATA_LABELS;t.startGroup(s);for(var r=0;r<i;r++){var a=e[r],n=this._hitTester._map[r];n&&a._renderLabels(t,n,this,this._lblAreas)}t.endGroup()}_getAxes(){for(var t=[this.axisX,this.axisY],e=this.series.length,i=0;i<e;i++){var s=this.series[i],r=s.axisX;r&&-1===t.indexOf(r)&&t.push(r);var a=s.axisY;a&&-1===t.indexOf(a)&&t.push(a)}return t}_clearPlotters(){for(var t=this._plotters.length,e=0;e<t;e++)this._plotters[e].clear()}_initPlotter(t){t.chart=this;t.dataInfo=this._dataInfo;t.hitTester=this._hitTester;this._plotters.push(t)}get _barPlotter(){if(null===this.__barPlotter){this.__barPlotter=new _BarPlotter;this._initPlotter(this.__barPlotter)}return this.__barPlotter}get _linePlotter(){if(null===this.__linePlotter){this.__linePlotter=new _LinePlotter;this._initPlotter(this.__linePlotter)}return this.__linePlotter}get _areaPlotter(){if(null===this.__areaPlotter){this.__areaPlotter=new _AreaPlotter;this._initPlotter(this.__areaPlotter)}return this.__areaPlotter}get _bubblePlotter(){if(null===this.__bubblePlotter){this.__bubblePlotter=new _BubblePlotter;this._initPlotter(this.__bubblePlotter)}return this.__bubblePlotter}get _financePlotter(){if(null===this.__financePlotter){this.__financePlotter=new _FinancePlotter;this._initPlotter(this.__financePlotter)}return this.__financePlotter}get _funnelPlotter(){if(null===this.__funnelPlotter){this.__funnelPlotter=new _FunnelPlotter;this._initPlotter(this.__funnelPlotter)}return this.__funnelPlotter}_getPlotter(t){var e,i=this._getChartType(),s=!1;if(t){var r=t._getChartType();if(null!=r&&r!=i){i=r;s=!0}}switch(i){case ChartType.Column:this._barPlotter.isVolume=!1;this._barPlotter.width=.7;e=this._barPlotter;break;case ChartType.Bar:this._barPlotter.rotated=!this._rotated;this._barPlotter.isVolume=!1;this._barPlotter.width=.7;e=this._barPlotter;break;case ChartType.Line:this._linePlotter.hasSymbols=!1;this._linePlotter.hasLines=!0;this._linePlotter.isSpline=!1;this._linePlotter.isStep=!1;e=this._linePlotter;break;case ChartType.Scatter:this._linePlotter.hasSymbols=!0;this._linePlotter.hasLines=!1;this._linePlotter.isSpline=!1;this._linePlotter.isStep=!1;e=this._linePlotter;break;case ChartType.LineSymbols:this._linePlotter.hasSymbols=!0;this._linePlotter.hasLines=!0;this._linePlotter.isSpline=!1;this._linePlotter.isStep=!1;e=this._linePlotter;break;case ChartType.Area:this._areaPlotter.isSpline=!1;this._areaPlotter.isStep=!1;e=this._areaPlotter;break;case ChartType.Bubble:e=this._bubblePlotter;break;case ChartType.Candlestick:(a=this._financePlotter).isCandle=!0;a.isEqui=!1;a.isArms=!1;a.isVolume=!1;e=a;break;case ChartType.HighLowOpenClose:var a;(a=this._financePlotter).isCandle=!1;a.isEqui=!1;a.isArms=!1;a.isVolume=!1;e=a;break;case ChartType.Spline:this._linePlotter.hasSymbols=!1;this._linePlotter.hasLines=!0;this._linePlotter.isSpline=!0;this._linePlotter.isStep=!1;e=this._linePlotter;break;case ChartType.SplineSymbols:this._linePlotter.hasSymbols=!0;this._linePlotter.hasLines=!0;this._linePlotter.isSpline=!0;this._linePlotter.isStep=!1;e=this._linePlotter;break;case ChartType.SplineArea:this._areaPlotter.isSpline=!0;this._areaPlotter.isStep=!1;e=this._areaPlotter;break;case ChartType.Funnel:e=this._funnelPlotter;break;case ChartType.Step:this._linePlotter.hasSymbols=!1;this._linePlotter.hasLines=!0;this._linePlotter.isSpline=!1;this._linePlotter.isStep=!0;e=this._linePlotter;break;case ChartType.StepSymbols:this._linePlotter.hasSymbols=!0;this._linePlotter.hasLines=!0;this._linePlotter.isSpline=!1;this._linePlotter.isStep=!0;e=this._linePlotter;break;case ChartType.StepArea:this._areaPlotter.isSpline=!1;this._areaPlotter.isStep=!0;e=this._areaPlotter;break;default:throw"Invalid chart type."}e.rotated=this._rotated;i==ChartType.Bar&&(e.rotated=!e.rotated);s&&(e.rotated=this._isRotated());return e}_layout(t,e,i){this.plotAreas.length>0?this._layoutMultiple(t,e,i):this._layoutSingle(t,e,i)}_layoutSingle(t,e,i){var s=t.width,r=t.height,a=new wijmo_1.Size(s,.75*r),n=new wijmo_1.Size(r,.75*s),h=0,o=0,l=s,_=r,d=0,c=0,u=s,g=r;if(this.dataLabel.position===LabelPosition.Top?this.dataLabel.content:null){o=i.measureString(this.dataLabel.content,exports.DataLabelClsNames.label).height}for(var m=this._getAxes(),p=this.axisY._getHeight(i,r),f=0;f<m.length;f++){var x=(M=m[f]).origin,w=M._getPosition();if(M.axisType==AxisType.X){(S=M._getHeight(i,Math.max(10,s-p)))>a.height&&(S=a.height);M._desiredSize=new wijmo_1.Size(a.width,S);var v=M._hasOrigin=wijmo_1.isNumber(x)&&x>this.axisY._getMinNum()&&x<this.axisY._getMaxNum(),b=Math.min(.25*s,M._annoSize.width);if(w==Position.Bottom){h=Math.max(h,.5*b);l=Math.min(l,s-.5*b);if(v){var y=this._convertY(x,c,g);g-=Math.max(0,y+S-g)}else g-=S}else if(w==Position.Top){h=Math.max(h,.5*b);l=Math.min(l,s-.5*b);if(v){y=this._convertY(x,c,g);c+=Math.max(0,c-(y-S))}else c+=S}}else if(M.axisType==AxisType.Y){var S;(S=M===this.axisX?p:M._getHeight(i,r))>n.height&&(S=n.height);M._desiredSize=new wijmo_1.Size(n.width,S);v=M._hasOrigin=wijmo_1.isNumber(x)&&x>this.axisX._getMinNum()&&x<this.axisX._getMaxNum();if(w==Position.Left){if(M._actualAngle<0)_=Math.min(_,r-M._annoSize.height);else if(M._actualAngle>0)o=Math.max(o,M._annoSize.height);else{o=Math.max(o,M._annoSize.height);_=Math.min(_,r-M._annoSize.height)}if(v){var C=this._convertX(x,d,u);d+=Math.max(0,d-(C-S))}else d+=S}else if(w==Position.Right){if(M._actualAngle>0)_=Math.min(_,r-M._annoSize.height);else if(M._actualAngle<0)o=Math.max(o,M._annoSize.height);else{o=Math.max(o,M._annoSize.height);_=Math.min(_,r-M._annoSize.height)}if(v){C=this._convertX(x,d,u);u-=Math.max(0,C+S-u)}else u-=S}}}var T=this._parseMargin(this.plotMargin);h=d=isNaN(T.left)?Math.max(h,d)+t.left:T.left;l=u=isNaN(T.right)?Math.min(l,u)+t.left:e.width-T.right;o=c=isNaN(T.top)?Math.max(o,c)+t.top:T.top;_=g=isNaN(T.bottom)?Math.min(_,g)+t.top:e.height-T.bottom;s=Math.max(1,l-h);r=Math.max(1,_-o);this._plotRect=new wijmo_1.Rect(h,o,s,r);_<=o&&(g=c+1);i.stroke=null;for(f=0;f<m.length;f++){var M;x=(M=m[f]).origin,w=M._getPosition();if(M.axisType==AxisType.X){var P;if(M._hasOrigin){y=this._convertY(x,this._plotRect.top,this._plotRect.bottom);if(w==Position.Bottom){P=new wijmo_1.Rect(h,y,s,M._desiredSize.height);g+=Math.max(0,P.bottom-this._plotRect.bottom)}else if(w==Position.Top){P=new wijmo_1.Rect(h,y-M._desiredSize.height,s,M._desiredSize.height);c-=Math.max(0,this._plotRect.top-P.top)}else P=new wijmo_1.Rect(h,y,s,1)}else if(w==Position.Bottom){P=new wijmo_1.Rect(h,g,s,M._desiredSize.height);g+=M._desiredSize.height}else if(w==Position.Top){P=new wijmo_1.Rect(h,c-M._desiredSize.height,s,M._desiredSize.height);c-=M._desiredSize.height}else P=new wijmo_1.Rect(h,c,s,1);M._layout(P,this._plotRect)}else if(M.axisType==AxisType.Y){var A;if(M._hasOrigin){C=this._convertX(x,this._plotRect.left,this._plotRect.right);if(w==Position.Left){A=new wijmo_1.Rect(C-M._desiredSize.height,o,r,M._desiredSize.height);d-=M._desiredSize.height}else if(w==Position.Right){A=new wijmo_1.Rect(C,o,r,M._desiredSize.height);u+=M._desiredSize.height}else A=new wijmo_1.Rect(C,o,r,1)}else if(w==Position.Left){A=new wijmo_1.Rect(d-M._desiredSize.height,o,r,M._desiredSize.height);d-=M._desiredSize.height}else if(w==Position.Right){A=new wijmo_1.Rect(u,o,r,M._desiredSize.height);u+=M._desiredSize.height}else A=new wijmo_1.Rect(d,o,r,1);M._layout(A,this._plotRect)}}}_layoutMultiple(t,e,i){for(var s=t.width,r=t.height,a=[],n=[],h=this._getAxes(),o=h.length,l=0;l<o;l++){(C=h[l])._plotrect=null;if(C.axisType==AxisType.X){for(var _=C.plotArea?C.plotArea.column:0;a.length<=_;)a.push(new _AreaDef);a[_].axes.push(C)}else if(C.axisType==AxisType.Y){for(var d=C.plotArea?C.plotArea.row:0;n.length<=d;)n.push(new _AreaDef);n[d].axes.push(C)}}for(var c=a.length,u=n.length,g=new wijmo_1.Size(s,.3*r),m=new wijmo_1.Size(r,.3*s),p=0,f=0,x=s,w=r,v=0;v<c;v++){(N=a[v]).right=s;N.bottom=r;for(l=0;l<N.axes.length;l++){var b=(C=N.axes[l])._getHeight(i,C.axisType==AxisType.X?s:r);b>g.height&&(b=g.height);var y=new wijmo_1.Size(g.width,b);C._desiredSize=y;0==v&&(N.left=Math.max(N.left,.5*C._annoSize.width));v==c-1&&(N.right=Math.min(N.right,s-.5*C._annoSize.width));(D=C._getPosition())==Position.Bottom?N.bottom-=y.height:D==Position.Top&&(N.top+=y.height)}}for(var S=0;S<u;S++){(N=n[S]).right=s;N.bottom=r;for(l=0;l<N.axes.length;l++){var C=N.axes[l],T=new wijmo_1.Size(m.width,C._getHeight(i,C.axisType==AxisType.X?s:r));T.height>m.height&&(T.height=m.height);C._desiredSize=T;0==S&&(N.top=Math.max(N.top,.5*C._annoSize.width));S==u-1&&(N.bottom=Math.min(N.bottom,r-.5*C._annoSize.width));(D=C._getPosition())==Position.Left?N.left+=T.height:D==Position.Right&&(N.right-=T.height)}}var M=0,P=0,A=s,L=r;for(v=0;v<c;v++){var N=a[v];M=Math.max(M,N.left);P=Math.max(P,N.top);A=Math.min(A,N.right);L=Math.min(L,N.bottom)}for(S=0;S<u;S++){N=n[S];M=Math.max(M,N.left);P=Math.max(P,N.top);A=Math.min(A,N.right);L=Math.min(L,N.bottom)}M=p=Math.max(p,M);A=x=Math.min(x,A);P=f=Math.max(f,P);L=w=Math.min(w,L);this._plotRect=new wijmo_1.Rect(p,f,x-p,w-f);var k=this._plotRect.clone(),E=p,j=this.plotAreas._calculateWidths(this._plotRect.width,c);for(v=0;v<c;v++){L=w;P=f;N=a[v];var I=j[v];for(l=0;l<N.axes.length;l++){var R,D=(C=N.axes[l])._getPosition(),F=new wijmo_1.Rect(E,k.top,I,k.height);if(D==Position.Bottom){R=new wijmo_1.Rect(E,L,I,C._desiredSize.height);L+=C._desiredSize.height}else if(D==Position.Top){R=new wijmo_1.Rect(E,P-C._desiredSize.height,I,C._desiredSize.height);P-=C._desiredSize.height}C._layout(R,F)}for(l=0;l<this.plotAreas.length;l++){(O=this.plotAreas[l]).column==v&&O._setPlotX(E,I)}E+=I}var B=f,V=this.plotAreas._calculateHeights(this._plotRect.height,u);for(S=0;S<u;S++){M=p;A=x;N=n[S];var z=V[S];for(l=0;l<N.axes.length;l++){var X;D=(C=N.axes[l])._getPosition(),F=new wijmo_1.Rect(k.left,B,k.width,z);if(C._plotrect){F.left=C._plotrect.left;F.width=C._plotrect.width}else j&&j.length>0&&(F.width=j[0]);if(D==Position.Left){X=new wijmo_1.Rect(M-C._desiredSize.height,B,z,C._desiredSize.height);M-=C._desiredSize.height}else if(D==Position.Right){X=new wijmo_1.Rect(A,B,z,C._desiredSize.height);A+=C._desiredSize.height}C._layout(X,F)}for(l=0;l<this.plotAreas.length;l++){var O;(O=this.plotAreas[l]).row==S&&O._setPlotY(B,z)}B+=z}}_convertX(t,e,i){var s=this.axisX;return s.reversed?i-(i-e)*(t-s._getMinNum())/(s._getMaxNum()-s._getMinNum()):e+(i-e)*(t-s._getMinNum())/(s._getMaxNum()-s._getMinNum())}_convertY(t,e,i){var s=this.axisY;return s.reversed?e+(i-e)*(t-s._getMinNum())/(s._getMaxNum()-s._getMinNum()):i-(i-e)*(t-s._getMinNum())/(s._getMaxNum()-s._getMinNum())}_getLabelContent(t,e){return t.chartElement!==ChartElement.AxisX&&t.chartElement!==ChartElement.AxisY||!t.name?wijmo_1.isString(e)?this._keywords.replace(e,t):wijmo_1.isFunction(e)?e(t):null:t.name}_select(t,e){const i=this.selectionMode;var s=!1;(t!=this._selection||i==SelectionMode.Point&&e!=this._selectionIndex)&&(s=!0);this._selection&&this._highlight(this._selection,!1,this._selectionIndex);this._selection=t;this._selectionIndex=e;this._selection&&this._highlight(this._selection,!0,this._selectionIndex);if(i==SelectionMode.Point){var r=t?t.collectionView:this._cv;if(r){this._notifyCurrentChanged=!1;r.moveCurrentToPosition(t?e:-1);this._notifyCurrentChanged=!0}}s&&this.onSelectionChanged()}_highlightCurrent(){if(this.selectionMode!=SelectionMode.None){var t=this._selection,e=-1;if(t){var i=t.collectionView;i||(i=this._cv);i&&(e=i.currentPosition);this._highlight(t,!0,e)}}}_highlight(t,e,i){t=wijmo_1.asType(t,SeriesBase,!0);if(this.selectionMode==SelectionMode.Series){var s=this.series.indexOf(t),r=t.hostElement;e?r.parentNode.appendChild(r):r.parentNode.insertBefore(r,r.parentNode.childNodes.item(s));var a=this._find(r,["rect","ellipse","polyline","polygon","line","path"]);this._highlightItems(a,FlexChartCore._CSS_SELECTION,e);t.legendElement&&this._highlightItems(this._find(t.legendElement,["rect","ellipse","line"]),FlexChartCore._CSS_SELECTION,e)}else if(this.selectionMode==SelectionMode.Point){s=this.series.indexOf(t),r=t.hostElement;if(e){r.parentNode.appendChild(r);var n=t.getPlotElement(i);if(n)if(n instanceof SVGElement){if("g"!=n.nodeName){this._highlightItems([n],FlexChartCore._CSS_SELECTION,e);this._selectedEls.push(n)}if((a=this._find(n,["line","rect","ellipse","path","polygon"])).length>0){this._highlightItems(a,FlexChartCore._CSS_SELECTION,e);for(let t=0;t<a.length;t++)this._selectedEls.push(a[t])}}else if(Array.isArray(n)){this._highlightItems(n,FlexChartCore._CSS_SELECTION,e);for(let t=0;t<n.length;t++)this._selectedEls.push(n[t])}}else{r.parentNode.insertBefore(r,r.parentNode.childNodes.item(s));if(this._selectedEls.length>0){this._highlightItems(this._selectedEls,FlexChartCore._CSS_SELECTION,e);this._selectedEls.length=0}}}}_updateTooltip(t,e){let i,s=this.hitTest(e);if(s.distance<=t.threshold){let e=t.content;if(s.series){let t=s.series.tooltipContent;(t||""===t)&&(e=t)}i=this._getLabelContent(s,e)}this._hideToolTip();i&&this._showToolTip(i,new wijmo_1.Rect(e.clientX,e.clientY,5,5))}_updateAuxAxes(t,e){for(var i=2;i<t.length;i++){var s=t[i];s._chart=this;for(var r,a,n=[],h=0;h<this.series.length;h++){var o=this.series[h];o.axisX!=s&&o.axisY!=s||n.push(o)}for(h=0;h<n.length;h++){var l=n[h].getDataRect()||n[h]._getDataRect();if(l)if(s.axisType==AxisType.X&&!e||s.axisType==AxisType.Y&&e){(void 0===r||l.left<r)&&(r=l.left);(void 0===a||l.right>a)&&(a=l.right)}else{(void 0===r||l.top<r)&&(r=l.top);(void 0===a||l.bottom>a)&&(a=l.bottom)}}var _=n[0].getDataType(0);null==_&&(_=wijmo_1.DataType.Number);t[i]._updateActualLimits(_,r,a)}}}FlexChartCore._CSS_AXIS_X=exports.AxisClsNames.axisX;FlexChartCore._CSS_AXIS_Y=exports.AxisClsNames.axisY;FlexChartCore._CSS_LINE=exports.AxisClsNames.line;FlexChartCore._CSS_GRIDLINE=exports.AxisClsNames.gridline;FlexChartCore._CSS_TICK=exports.AxisClsNames.tick;FlexChartCore._CSS_GRIDLINE_MINOR=exports.AxisClsNames.gridlineMinor;FlexChartCore._CSS_TICK_MINOR=exports.AxisClsNames.tickMinor;FlexChartCore._CSS_DATA_LABELS=exports.DataLabelClsNames.labels;exports.FlexChartCore=FlexChartCore;class _AreaDef{constructor(){this._axes=new Array;this.left=0;this.right=0;this.top=0;this.bottom=0}get axes(){return this._axes}}class _DataInfo{constructor(){this.stackAbs={};this._xvals=null}analyse(t,e,i,s,r,a){this.minY=NaN;this.maxY=NaN;this.minX=NaN;this.maxX=NaN;this.minXp=NaN;this.minYp=NaN;this.dx=0;var n={},h={},o={};this.dataTypeX=null;this.dataTypeY=null;this._xvals=s;if(null!=s)for(var l=s.length,_=0;_<l;_++){var d=s[_];(isNaN(this.minX)||this.minX>d)&&(this.minX=d);(isNaN(this.maxX)||this.maxX<d)&&(this.maxX=d);d>0&&(isNaN(this.minXp)||this.minXp>d)&&(this.minXp=d);if(_>0){var c=Math.abs(d-s[_-1]);!isNaN(c)&&(c<this.dx||0==this.dx)&&(this.dx=c)}}for(_=0;_<t.length;_++){var u=t[_],g=u._getChartType(),m=void 0!==u.chartType,p=u.visibility;if(p!=SeriesVisibility.Hidden&&p!=SeriesVisibility.Legend){var f,x=u.getDataRect();if(x){if(!isNaN(this.minX)&&this.minX<x.left){f=x.right;x.left=this.minX;x.width=f-this.minX}!isNaN(this.maxX)&&this.maxX>x.right&&(x.width=this.maxX-x.left);if(!u._isCustomAxisY()){if(!isNaN(this.minY)&&this.minY<x.top){f=x.bottom;x.top=this.minY;x.height=f-this.minY}!isNaN(this.maxY)&&this.maxY>x.bottom&&(x.height=this.maxY-x.top)}}var w=null;e?u._isCustomAxisY()||(w=u.getValues(1)):u._isCustomAxisX()||(w=u.getValues(1));if(w){this.dataTypeX||(this.dataTypeX=u.getDataType(1));for(var v=0;v<w.length;v++){var b=w[v];if(isFinite(b)){(isNaN(this.minX)||this.minX>b)&&(this.minX=b);(isNaN(this.maxX)||this.maxX<b)&&(this.maxX=b);if(v>0&&(!g||g==ChartType.Column||g==ChartType.Bar)){c=Math.abs(b-w[v-1]);!isNaN(c)&&c>0&&(c<this.dx||0==this.dx)&&(this.dx=c)}}}}var y=null,S=!1;if(e){S=u._isCustomAxisX();y=u.getValues(0)}else{S=u._isCustomAxisY();y=u.getValues(0)}if(y){this.dataTypeY||S||(this.dataTypeY=u.getDataType(0));isNaN(this.minX)?this.minX=0:w||s||(this.minX=Math.min(this.minX,0));isNaN(this.maxX)?this.maxX=y.length-1:w||s||(this.maxX=Math.max(this.maxX,y.length-1));if(!S){let t=i==Stacking.None||m;for(let e=0;e<y.length;e++){let i=y[e],r=w?wijmo_1.asNumber(w[e],!0):s?wijmo_1.asNumber(s[e],!0):e;wijmo_1.isArray(i)?i.forEach(e=>{this._parseYVal(e,r,t,o,n,h)}):this._parseYVal(i,r,t,o,n,h)}}}var C=u.getDataRect(new wijmo_1.Rect(this.minX,this.minY,this.maxX-this.minX,this.maxY-this.minY),x);if(C){this.minX=C.left;this.maxX=C.right;if(!S){this.minY=C.top;this.maxY=C.bottom}}}}if(i==Stacking.Stacked){for(var T in n)n[T]>this.maxY&&(this.maxY=n[T]);for(var T in h)h[T]<this.minY&&(this.minY=h[T])}else if(i==Stacking.Stacked100pc){this.minY=0;this.maxY=0;for(var T in o){var M=o[T];if(isFinite(M)&&0!=M){var P=n[T],A=h[T];isFinite(P)&&(P=Math.max(P/M,this.maxY))>this.maxY&&(this.maxY=P);isFinite(A)&&(A=Math.min(A/M,this.minY))<this.minY&&(this.minY=A)}}if(this.minY==this.maxY){this.minY=0;this.maxY=1}}this.stackAbs=o;r&&(e?this.minY=isNaN(this.minYp)?1:this.minYp:this.minX=isNaN(this.minXp)?1:this.minXp);a&&(e?this.minX=isNaN(this.minXp)?1:this.minXp:this.minY=isNaN(this.minYp)?1:this.minYp)}_parseYVal(t,e,i,s,r,a){if(isFinite(t)){null!=t&&(isNaN(this.minY)||this.minY>t)&&(this.minY=t);null!=t&&(isNaN(this.maxY)||this.maxY<t)&&(this.maxY=t);t>0&&(isNaN(this.minYp)||this.minYp>t)&&(this.minYp=t);if(!i){t>0?isNaN(r[e])?r[e]=t:r[e]+=t:isNaN(a[e])?a[e]=t:a[e]+=t;isNaN(s[e])?s[e]=Math.abs(t):s[e]+=Math.abs(t)}}}getMinY(){return this.minY}getMaxY(){return this.maxY}getMinX(){return this.minX}getMaxX(){return this.maxX}getMinXp(){return this.minXp}getMinYp(){return this.minYp}getDeltaX(){return this.dx}getDataTypeX(){return this.dataTypeX}getDataTypeY(){return this.dataTypeY}getStackedAbsSum(t){var e=this.stackAbs[t];return isFinite(e)?e:0}getXVals(){return this._xvals}static isValid(...t){let e=t.length;for(let i=0;i<e;i++)if(!isFinite(t[i]))return!1;return!0}}exports._DataInfo=_DataInfo;class FlexChart extends FlexChartCore{constructor(t,e){super(t,null);this._chartType=ChartType.Column;this.initialize(e)}_getChartType(){return this._chartType}get chartType(){return this._chartType}set chartType(t){if((t=wijmo_1.asEnum(t,ChartType))!=this._chartType){this._chartType=t;this.invalidate()}}get rotated(){return this._rotated}set rotated(t){if(t!=this._rotated){this._rotated=wijmo_1.asBoolean(t);this.invalidate()}}get stacking(){return this._stacking}set stacking(t){if((t=wijmo_1.asEnum(t,Stacking))!=this._stacking){this._stacking=t;this.invalidate()}}get options(){return this._options}set options(t){if(t!=this._options){this._options=t;this.invalidate()}}}exports.FlexChart=FlexChart;!function(t){t[t.None=0]="None";t[t.Left=1]="Left";t[t.Top=2]="Top";t[t.Right=3]="Right";t[t.Bottom=4]="Bottom";t[t.Center=5]="Center"}(LabelPosition=exports.LabelPosition||(exports.LabelPosition={}));!function(t){t[t.None=0]="None";t[t.Inside=1]="Inside";t[t.Center=2]="Center";t[t.Outside=3]="Outside";t[t.Radial=4]="Radial";t[t.Circular=5]="Circular"}(PieLabelPosition=exports.PieLabelPosition||(exports.PieLabelPosition={}));class DataLabelRenderEventArgs extends RenderEventArgs{constructor(t,e,i,s){super(t);this.cancel=!1;this._ht=e;this._pt=i;this._text=s}get point(){return this._pt}get text(){return this._text}set text(t){this._text=wijmo_1.asString(t)}get hitTestInfo(){return this._ht}}exports.DataLabelRenderEventArgs=DataLabelRenderEventArgs;class DataLabelBase{constructor(){this.rendering=new wijmo_1.Event}get content(){return this._content}set content(t){if(t!=this._content){this._content=t;this._invalidate()}}get border(){return this._bdr}set border(t){if(t!=this._bdr){this._bdr=wijmo_1.asBoolean(t,!0);this._invalidate()}}get offset(){return this._off}set offset(t){if(t!=this._off){this._off=wijmo_1.asNumber(t,!0);this._invalidate()}}get connectingLine(){return this._line}set connectingLine(t){if(t!=this._line){this._line=wijmo_1.asBoolean(t,!0);this._invalidate()}}onRendering(t){this.rendering.raise(this,t);return!t.cancel}_invalidate(){this._chart&&this._chart.invalidate()}}exports.DataLabelBase=DataLabelBase;class DataLabel extends DataLabelBase{constructor(){super(...arguments);this._pos=LabelPosition.Top}get position(){return this._pos}set position(t){if((t=wijmo_1.asEnum(t,LabelPosition))!=this._pos){this._pos=t;this._invalidate()}}}exports.DataLabel=DataLabel;class PieDataLabel extends DataLabelBase{constructor(){super(...arguments);this._pos=PieLabelPosition.Center}get position(){return this._pos}set position(t){if((t=wijmo_1.asEnum(t,PieLabelPosition))!=this._pos){this._pos=t;this._invalidate()}}}exports.PieDataLabel=PieDataLabel;class _DataPoint{constructor(t,e,i,s){this._seriesIndex=t;this._pointIndex=e;this._dataX=i;this._dataY=s}get seriesIndex(){return this._seriesIndex}get pointIndex(){return this._pointIndex}get dataX(){return this._dataX}set dataX(t){t!==this._dataX&&(this._dataX=t)}get dataY(){return this._dataY}set dataY(t){t!==this._dataY&&(this._dataY=t)}}exports._DataPoint=_DataPoint;!function(t){t[t.X=0]="X";t[t.Y=1]="Y";t[t.XY=2]="XY"}(_MeasureOption=exports._MeasureOption||(exports._MeasureOption={}));class _RectArea{constructor(t){this._rect=t}get rect(){return this._rect}contains(t){var e=this._rect;return t.x>=e.left&&t.x<=e.right&&t.y>=e.top&&t.y<=e.bottom}pointDistance(t,e,i){var s=e.x-t.x,r=e.y-t.y;return i==_MeasureOption.X?Math.abs(s):i==_MeasureOption.Y?Math.abs(r):Math.sqrt(s*s+r*r)}distance(t){var e=_MeasureOption.XY;isNaN(t.x)||null===t.x?e=_MeasureOption.Y:(isNaN(t.y)||null===t.y)&&(e=_MeasureOption.X);var i=this._rect;return t.x<i.left?t.y<i.top?this.pointDistance(t,new wijmo_1.Point(i.left,i.top),e):t.y>i.bottom?this.pointDistance(t,new wijmo_1.Point(i.left,i.bottom),e):e==_MeasureOption.Y?0:i.left-t.x:t.x>i.right?t.y<i.top?this.pointDistance(t,new wijmo_1.Point(i.right,i.top),e):t.y>i.bottom?this.pointDistance(t,new wijmo_1.Point(i.right,i.bottom),e):e==_MeasureOption.Y?0:t.x-i.right:e==_MeasureOption.X?0:t.y<i.top?i.top-t.y:t.y>i.bottom?t.y-i.bottom:0}}exports._RectArea=_RectArea;class _CircleArea{constructor(t,e){this._center=t;this.setRadius(e)}setRadius(t){this._rad=t;this._rad2=t*t}get center(){return this._center}contains(t){var e=this._center.x-t.x,i=this._center.y-t.y;return e*e+i*i<=this._rad2}distance(t){var e=isNaN(t.x)?0:this._center.x-t.x,i=isNaN(t.y)?0:this._center.y-t.y,s=e*e+i*i;return s<=this._rad2?0:Math.sqrt(s)-this._rad}}exports._CircleArea=_CircleArea;class _LinesArea{constructor(t,e){this._x=[];this._y=[];this._x=t;this._y=e}contains(t){return!1}distance(t){for(var e=NaN,i=0;i<this._x.length-1;i++){var s=FlexChartCore._dist(t,new wijmo_1.Point(this._x[i],this._y[i]),new wijmo_1.Point(this._x[i+1],this._y[i+1]));(isNaN(e)||s<e)&&(e=s)}return e}}exports._LinesArea=_LinesArea;class _HitResult{}exports._HitResult=_HitResult;class _HitTester{constructor(t){this._map={};this._chart=t}add(t,e){if(this._map[e]){t.tag||(t.tag=new _DataPoint(e,NaN,NaN,NaN));this._map[e].push(t)}}clear(){this._map={};for(var t=this._chart.series,e=0;e<t.length;e++)t[e].hitTest===Series.prototype.hitTest&&(this._map[e]=new Array)}hitTest(t,e=!1){for(var i=null,s=Number.MAX_VALUE,r=this._chart.series.length-1;r>=0;r--){var a=this._map[r];if(a){for(var n=a.length-1;n>=0;n--){var h=a[n];if(!wijmo_1.tryCast(h,_LinesArea)||e){var o=h.distance(t);if(o<s){i=h;if(0==(s=o))break}}}if(0==s)break}}if(i){var l=new _HitResult;l.area=i;l.distance=s;return l}return null}hitTestSeries(t,e){var i=null,s=Number.MAX_VALUE,r=this._map[e];if(r)for(var a=r.length-1;a>=0;a--){var n=r[a],h=n.distance(t);if(h<s){i=n;if(0==(s=h))break}}if(i){var o=new _HitResult;o.area=i;o.distance=s;return o}return null}}exports._HitTester=_HitTester;!function(t){t[t.PlotArea=0]="PlotArea";t[t.AxisX=1]="AxisX";t[t.AxisY=2]="AxisY";t[t.ChartArea=3]="ChartArea";t[t.Legend=4]="Legend";t[t.Header=5]="Header";t[t.Footer=6]="Footer";t[t.Series=7]="Series";t[t.SeriesSymbol=8]="SeriesSymbol";t[t.DataLabel=9]="DataLabel";t[t.None=10]="None"}(ChartElement=exports.ChartElement||(exports.ChartElement={}));class HitTestInfo{constructor(t,e,i){this._pointIndex=null;this._chartElement=ChartElement.None;this._chart=t;this._pt=e;this._chartElement=i}get chart(){return this._chart}get point(){return this._pt}get series(){return this._series}get pointIndex(){return this._pointIndex}get chartElement(){return this._chartElement}get distance(){return this._dist}get item(){if(null==this._item&&null!==this.pointIndex)if(null!=this.series)this._item=this.series._getItem(this.pointIndex);else{var t=this._chart._getHitTestItem(this.pointIndex);t&&(this._item=t)}return this._item}get x(){void 0===this._x&&(this._x=this._getValue(1,!1));return this._x}get y(){void 0===this._y&&(this._y=this._getValue(0,!1));return this._y}get value(){var t=this._chart._getHitTestValue(this.pointIndex,this._groupIndex);return null!=t?t:this.series&&null!=this.series._getValue?this.series._getValue(this.pointIndex):this.y}get name(){if(void 0===this._name){var t=this._chart._getHitTestLabel(this.pointIndex);return null==t?this.series.name:t.toString()}return this._name}get groupIndex(){return this._groupIndex}get _xfmt(){void 0===this.__xfmt&&(this.__xfmt=this._getValue(1,!0));return this.__xfmt}get _yfmt(){void 0===this.__yfmt&&(this.__yfmt=this._getValue(0,!0));return this.__yfmt}_setData(t,e){this._series=t;this._pointIndex=e}_setDataGroup(t,e){this._groupIndex=t;this._pointIndex=e}_setName(t){this._name=t;t&&(this._dist=0)}_setDataPoint(t){if(t=wijmo_1.asType(t,_DataPoint,!0)){this._pointIndex=t.pointIndex;var e=wijmo_1.asType(this._chart,FlexChartCore,!0),i=t.seriesIndex;null!==i&&i>=0&&i<e.series.length&&(this._series=e.series[i]);null!=t.item&&(this._item=t.item);null!=t.x&&(this._x=t.x);null!=t.y&&(this._y=t.y);null!=t.xfmt&&(this.__xfmt=t.xfmt);null!=t.yfmt&&(this.__yfmt=t.yfmt);null!=t.name&&(this._name=t.name)}}_getValueFmt(){let t=this.value;if(null!=t){if(null==this.series){var e=t==Math.round(t)?"{val:n0}":"{val:n}";return wijmo_1.format(e,{val:t})}t=this._chart._isRotated()?this.ax._formatValue(t):this.ay._formatValue(t)}return t}_getValue(t,e){var i=this._chart._getHitTestValue(this.pointIndex,this.groupIndex);if(null!==i)return i;var s=null,r=this._chart,a=this.pointIndex,n=r._isRotated();if(null!==this.series&&null!==a){var h=this.series.getValues(t),o=this.series.getDataType(t);if(h&&this.pointIndex<h.length){s=h[this.pointIndex];o!=wijmo_1.DataType.Date||e||(s=new Date(s))}else if(1==t)if(r._xlabels&&r._xlabels.length>0&&a<r._xlabels.length)s=r._xlabels[a];else if(r._xvals&&a<r._xvals.length){s=r._xvals[a];r._xDataType!=wijmo_1.DataType.Date||e||(s=new Date(s))}}null!==s&&e&&(n?0==t?s=this.ax._formatValue(s):1==t&&(s=this.ay._formatValue(s)):0==t?s=this.ay._formatValue(s):1==t&&(s=this.ax._formatValue(s)));return s}get ax(){return this.series.axisX?this.series.axisX:this._chart.axisX}get ay(){return this.series.axisY?this.series.axisY:this._chart.axisY}}exports.HitTestInfo=HitTestInfo;!function(t){t[t.Visible=0]="Visible";t[t.Plot=1]="Plot";t[t.Legend=2]="Legend";t[t.Hidden=3]="Hidden"}(SeriesVisibility=exports.SeriesVisibility||(exports.SeriesVisibility={}));!function(t){t[t.Dot=0]="Dot";t[t.Box=1]="Box"}(Marker=exports.Marker||(exports.Marker={}));class DataArray{}exports.DataArray=DataArray;class SeriesEventArgs extends wijmo_1.EventArgs{constructor(t){super();this._series=wijmo_1.asType(t,SeriesBase)}get series(){return this._series}}exports.SeriesEventArgs=SeriesEventArgs;class SeriesBase{constructor(t){this._altStyle=null;this._symbolMarker=Marker.Dot;this._visibility=SeriesVisibility.Visible;this._interpolateNulls=null;this._cache={};this.rendering=new wijmo_1.Event;this.rendered=new wijmo_1.Event;this.initialize(t)}get interpolateNulls(){return null==this._interpolateNulls?this._chart&&this._chart.interpolateNulls:this._interpolateNulls}set interpolateNulls(t){if(t!=this._interpolateNulls){this._interpolateNulls=wijmo_1.asBoolean(t,!0);this._invalidate()}}get style(){return this._style}set style(t){if(t!=this._style){this._style=t;this._invalidate()}}get altStyle(){return this._altStyle}set altStyle(t){if(t!=this._altStyle){this._altStyle=t;this._invalidate()}}get symbolStyle(){return this._symbolStyle}set symbolStyle(t){if(t!=this._symbolStyle){this._symbolStyle=t;this._invalidate()}}get symbolSize(){return this._symbolSize}set symbolSize(t){if(t!=this._symbolSize){this._symbolSize=wijmo_1.asNumber(t,!0,!0);this._invalidate()}}get symbolMarker(){return this._symbolMarker}set symbolMarker(t){if((t=wijmo_1.asEnum(t,Marker,!0))!=this._symbolMarker){this._symbolMarker=t;this._invalidate()}}get binding(){return this._binding?this._binding:this._chart?this._chart.binding:null}set binding(t){if(t!=this._binding){this._binding=wijmo_1.asString(t,!0);this._clearValues();this._invalidate()}}get bindingX(){return this._bindingX?this._bindingX:this._chart?this._chart.bindingX:null}set bindingX(t){if(t!=this._bindingX){this._bindingX=wijmo_1.asString(t,!0);this._clearValues();this._invalidate()}}get name(){return this._name}set name(t){this._name=t}get itemsSource(){return this._itemsSource}set itemsSource(t){if(t!=this._itemsSource){if(this._cv){this._cv.currentChanged.removeHandler(this._cvCurrentChanged,this);this._cv.collectionChanged.removeHandler(this._cvCollectionChanged,this);this._cv=null}this._itemsSource=t;this._cv=wijmo_1.asCollectionView(t);if(null!=this._cv){this._cv.currentChanged.addHandler(this._cvCurrentChanged,this);this._cv.collectionChanged.addHandler(this._cvCollectionChanged,this)}this._clearValues();this._itemsSource=t;this._invalidate()}}get collectionView(){return this._cv?this._cv:this._chart?this._chart.collectionView:null}get chart(){return this._chart}get hostElement(){return this._hostElement}get legendElement(){return this._legendElement}get cssClass(){return this._cssClass}set cssClass(t){this._cssClass=wijmo_1.asString(t,!0)}get visibility(){return this._visibility}set visibility(t){if((t=wijmo_1.asEnum(t,SeriesVisibility))!=this._visibility){this._visibility=t;this._clearValues();this._invalidate();this._chart&&this._chart.onSeriesVisibilityChanged(new SeriesEventArgs(this))}}get tooltipContent(){return this._tooltipContent}set tooltipContent(t){t!=this._tooltipContent&&(this._tooltipContent=t)}get itemFormatter(){return this._itemFormatter}set itemFormatter(t){if(t!=this._itemFormatter){this._itemFormatter=wijmo_1.asFunction(t);this._invalidate()}}hitTest(t,e){wijmo_1.isNumber(t)&&wijmo_1.isNumber(e)?t=new wijmo_1.Point(t,e):t instanceof MouseEvent&&(t=new wijmo_1.Point(t.pageX,t.pageY));wijmo_1.asType(t,wijmo_1.Point);return this._chart?this._chart._hitTestSeries(t,this._chart.series.indexOf(this)):null}getPlotElement(t){if(this.hostElement&&t<this._pointIndexes.length){var e=this._pointIndexes[t];if(e<this.hostElement.childNodes.length)return this.hostElement.childNodes[e]}return null}get axisX(){return this._axisX}set axisX(t){if(t!=this._axisX){this._axisX=wijmo_1.asType(t,Axis,!0);if(this._axisX){var e=this._axisX._chart=this._chart;e&&-1==e.axes.indexOf(this._axisX)&&e.axes.push(this._axisX)}this._invalidate()}}get axisY(){return this._axisY}set axisY(t){if(t!=this._axisY){this._axisY=wijmo_1.asType(t,Axis,!0);if(this._axisY){var e=this._axisY._chart=this._chart;e&&-1==e.axes.indexOf(this._axisY)&&e.axes.push(this._axisY)}this._invalidate()}}initialize(t){wijmo_1.copy(this,t)}pointToData(t){wijmo_1.asType(t,wijmo_1.Point);(t=t.clone()).x=this._getAxisX().convertBack(t.x);t.y=this._getAxisY().convertBack(t.y);return t}dataToPoint(t){wijmo_1.asType(t,wijmo_1.Point);(t=t.clone()).x=this._getAxisX().convert(t.x);t.y=this._getAxisY().convert(t.y);return t}onRendering(t,e,i){var s=new SeriesRenderingEventArgs(t,e,i);this.rendering.raise(this,s);return s.cancel}onRendered(t){this.rendered.raise(this,new RenderEventArgs(t))}get _chart(){return this.__chart}set _chart(t){t!==this.__chart&&(this.__chart=t)}_getSymbolSize(){return null!=this.symbolSize?this.symbolSize:this.chart.symbolSize}get _plotter(){this.chart&&!this.__plotter&&(this.__plotter=this.chart._getPlotter(this));return this.__plotter}set _plotter(t){t!=this.__plotter&&(this.__plotter=t)}getDataType(t){return 0==t?this._valueDataType:1==t?this._xvalueDataType:null}getValues(t){if(0==t){if(null==this._values){this._valueDataType=null;if(null!=this._cv){var e=this._bindValues(this._cv.items,this._getBinding(0));this._values=e.values;this._valueDataType=e.dataType}else if(null!=this.binding&&null!=this._chart&&null!=this._chart.collectionView){e=this._bindValues(this._chart.collectionView.items,this._getBinding(0));this._values=e.values;this._valueDataType=e.dataType}}return this._values}if(1==t){if(null==this._xvalues){this._xvalueDataType=null;if(null!=this.bindingX)if(null!=this._cv){e=this._bindValues(this._cv.items,this.bindingX,!0);this._xvalueDataType=e.dataType;this._xvalues=e.values}else{if(null==this._bindingX)return null;if(null!=this._chart&&null!=this._chart.collectionView){e=this._bindValues(this._chart.collectionView.items,this.bindingX,!0);this._xvalueDataType=e.dataType;this._xvalues=e.values}}}return this._xvalues}return null}drawLegendItem(t,e,i){var s=this._getChartType();null==s&&(s=this._chart._getChartType());let r=this._getLegendStyle(this.style);s===ChartType.Funnel?this._drawFunnelLegendItem(t,e,i,r,this.symbolStyle):this._drawLegendItem(t,e,s,this.name,r,this.symbolStyle)}_getLegendStyle(t){if(!t)return;let e={};t.fill&&(e.fill=t.fill);t.stroke&&(e.stroke=t.stroke);return e}measureLegendItem(t,e){var i=this._getChartType();null==i&&(i=this._chart._getChartType());return i===ChartType.Funnel?this._measureLegendItem(t,this._getFunnelLegendName(e)):this._measureLegendItem(t,this.name)}legendItemLength(){var t=this._getChartType();null==t&&(t=this._chart._getChartType());return t===ChartType.Funnel?this._chart._xlabels&&this._chart._xlabels.length?this._chart._xlabels.length:this._chart._xvals&&this._chart._xvals.length?this._chart._xvals.length:1:1}getDataRect(t,e){return null}_getChartType(){return this._chartType}_clearValues(){this._values=null;this._xvalues=null;this.__plotter=null;this._cache={}}_getBinding(t){var e=this.binding;if(e){var i=this.chart?this.chart._bindingSeparator:",";if(i){var s=e.split(i);s&&s.length>t&&(e=s[t].trim())}}return e}_getBindingValues(t){if(this._cache[t])return this._cache[t];var e;null!=this._cv?e=this._cv.items:null!=this._chart&&null!=this._chart.collectionView&&(e=this._chart.collectionView.items);var i=this._bindValues(e,this._getBinding(t));return this._cache[t]=i.values}_getItem(t){var e=null,i=null;null!=this.itemsSource?i=null!=this._cv?this._cv.items:this.itemsSource:null!=this._chart.itemsSource&&(i=null!=this._chart.collectionView?this._chart.collectionView.items:this._chart.itemsSource);null!=i&&(e=i[t]);return e}_getLength(){var t=0,e=null;null!=this.itemsSource?e=null!=this._cv?this._cv.items:this.itemsSource:null!=this._chart.itemsSource&&(e=null!=this._chart.collectionView?this._chart.collectionView.items:this._chart.itemsSource);null!=e&&(t=e.length);return t}_setPointIndex(t,e){this._pointIndexes[t]=e}_getDataRect(){var t=this.getValues(0),e=this.getValues(1);if(t){for(var i=NaN,s=NaN,r=NaN,a=NaN,n=t.length,h=0;h<n;h++){var o=t[h];if(wijmo_1.isArray(o)){const t=o,e=Math.min(...t),i=Math.max(...t);if(isNaN(s)){s=e;a=i}else{e<s&&(s=e);i>a&&(a=i)}}else isFinite(o)&&(isNaN(s)?s=a=o:o<s?s=o:o>a&&(a=o));if(e){var l=e[h];isFinite(l)&&(isNaN(i)?i=r=l:l<i?i=l:o>a&&(r=l))}}if(!e){i=0;r=n-1}if(!isNaN(s))return new wijmo_1.Rect(i,s,r-i,a-s)}return null}_isCustomAxisX(){return!!this._axisX&&(!this._chart||this._axisX!=this.chart.axisX)}_isCustomAxisY(){return!!this._axisY&&(!this._chart||this._axisY!=this.chart.axisY)}_getAxisX(){var t=null;this.axisX?t=this.axisX:this.chart&&(t=this.chart.axisX);return t}_getAxisY(){var t=null;this.axisY?t=this.axisY:this.chart&&(t=this.chart.axisY);return t}_measureLegendItem(t,e){var i=new wijmo_1.Size;i.width=SeriesBase._LEGEND_ITEM_WIDTH;i.height=SeriesBase._LEGEND_ITEM_HEIGHT;if(this._name){var s=t.measureString(e,FlexChartCore._CSS_LABEL,FlexChartCore._CSS_LEGEND);i.width+=s.width;i.height<s.height&&(i.height=s.height)}i.width+=3*SeriesBase._LEGEND_ITEM_MARGIN;i.height+=2*SeriesBase._LEGEND_ITEM_MARGIN;return i}_drawFunnelLegendItem(t,e,i,s,r){t.strokeWidth=1;var a=SeriesBase._LEGEND_ITEM_MARGIN,n=null,h=null;null===n&&(n=this._chart._getColorLight(i));null===h&&(h=this._chart._getColor(i));t.fill=n;t.stroke=h;var o=e.top+.5*e.height,l=SeriesBase._LEGEND_ITEM_WIDTH,_=SeriesBase._LEGEND_ITEM_HEIGHT,d=this._getFunnelLegendName(i);t.drawRect(e.left+a,o-.5*_,l,_,null,r||s);null!=d&&FlexChartCore._renderText(t,d,new wijmo_1.Point(e.left+_+2*a,o),0,1,FlexChartCore._CSS_LABEL,FlexChartCore._CSS_LEGEND)}_getFunnelLegendName(t){var e,i=this._chart;if(i._xlabels&&i._xlabels.length&&t<i._xlabels.length)e=i._xlabels[t];else if(i._xvals&&i._xvals.length&&t<i._xvals.length){e=i._xvals[t];i._xDataType===wijmo_1.DataType.Date&&(e=FlexChartCore._fromOADate(e))}null==e&&(e=this.name);return e.toString()}_drawLegendItem(t,e,i,s,r,a){t.strokeWidth=1;var n=SeriesBase._LEGEND_ITEM_MARGIN,h=null,o=null;null===h&&(h=this._chart._getColorLight(this._chart.series.indexOf(this)));null===o&&(o=this._chart._getColor(this._chart.series.indexOf(this)));t.fill=h;t.stroke=o;var l=e.top+.5*e.height,_=SeriesBase._LEGEND_ITEM_WIDTH,d=SeriesBase._LEGEND_ITEM_HEIGHT;switch(i){case ChartType.Area:case ChartType.SplineArea:case ChartType.StepArea:t.drawRect(e.left+n,l-.5*d,_,d,null,r);break;case ChartType.Bar:case ChartType.Column:t.drawRect(e.left+n,l-.5*d,_,d,null,a||r);break;case ChartType.Scatter:case ChartType.Bubble:var c=.3*_,u=.3*d;this.symbolMarker==Marker.Box?t.drawRect(e.left+n+.5*_-c,l-u,2*c,2*u,null,a||r):t.drawEllipse(e.left+.5*_+n,l,c,u,null,a||r);break;case ChartType.Line:case ChartType.Spline:case ChartType.Step:t.drawLine(e.left+n,l,e.left+_+n,l,null,r);break;case ChartType.LineSymbols:case ChartType.SplineSymbols:case ChartType.StepSymbols:c=.3*_,u=.3*d;this.symbolMarker==Marker.Box?t.drawRect(e.left+n+.5*_-c,l-u,2*c,2*u,null,a||r):t.drawEllipse(e.left+.5*_+n,l,c,u,null,a||r);t.drawLine(e.left+n,l,e.left+_+n,l,null,r);break;case ChartType.Candlestick:case ChartType.HighLowOpenClose:t.drawLine(e.left+n,l,e.left+_+n,l,null,a||r)}this._name&&FlexChartCore._renderText(t,s,new wijmo_1.Point(e.left+d+2*n,l),0,1,FlexChartCore._CSS_LABEL,FlexChartCore._CSS_LEGEND)}_cvCollectionChanged(t,e){this._clearValues();this._invalidate()}_cvCurrentChanged(t,e){this._chart&&this._chart._notifyCurrentChanged&&this._invalidate()}_bindValues(t,e,i=!1){var s,r,a;if(null!=t){var n=t.length;s=new Array(t.length);let l=e?new wijmo_1.Binding(e):null;for(var h=0;h<n;h++){a=null;var o=t[h];null!=l&&(o=l.getValue(o));if(wijmo_1.isArray(o)&&o.length>0){a=o;o=o[0]}if(wijmo_1.isNumber(o)){s[h]=o;r=wijmo_1.DataType.Number}else if(wijmo_1.isDate(o)){s[h]=o.valueOf();r=wijmo_1.DataType.Date}else if(i&&o){s[h]=h;r=wijmo_1.DataType.Number}wijmo_1.isArray(a)&&a.length>0&&(s[h]=a)}}var l=new DataArray;l.values=s;l.dataType=r;return l}_invalidate(){this._chart&&this._chart.invalidate()}_indexToPoint(t){if(t>=0&&t<this._values.length){var e=this._values[t],i=this._xvalues?this._xvalues[t]:t;return new wijmo_1.Point(i,e)}return null}_getSymbolFill(t){var e=null;this.symbolStyle&&(e=this.symbolStyle.fill);!e&&this.style&&(e=this.style.fill);!e&&this.chart&&(e=this.chart._getColorLight(t));return e}_getSymbolStroke(t){var e=null;this.symbolStyle&&(e=this.symbolStyle.stroke);!e&&this.style&&(e=this.style.stroke);!e&&this.chart&&(e=this.chart._getColor(t));return e}_getAltSymbolStroke(t){var e=null;this.altStyle&&(e=this.altStyle.stroke);return e}_getAltSymbolFill(t){var e=null;this.altStyle&&(e=this.altStyle.fill);return e}_renderLabels(t,e,i,s){this._plotter&&this._plotter._renderLabels(t,this,e,i,s)}}SeriesBase._LEGEND_ITEM_WIDTH=10;SeriesBase._LEGEND_ITEM_HEIGHT=10;SeriesBase._LEGEND_ITEM_MARGIN=4;SeriesBase._DEFAULT_SYM_SIZE=10;exports.SeriesBase=SeriesBase;class _BasePlotter{constructor(){this._DEFAULT_WIDTH=2;this._DEFAULT_SYM_SIZE=10;this.clipping=!0}clear(){this.seriesCount=0;this.seriesIndex=0}_renderLabels(t,e,i,s,r){var a=i.length,n=s.dataLabel,h=n.border,o=n.offset,l=n.connectingLine;void 0===o&&(o=l?16:0);h&&(o-=2);for(var _=0;_<a;_++){var d=i[_],c=wijmo_1.asType(d.tag,_DataPoint,!0);c&&!d.ignoreLabel&&this._renderLabel(t,d,c,s,n,e,o,r)}}_renderLabel(t,e,i,s,r,a,n,h){var o=null==r.position?LabelPosition.Top:r.position,l=r.border,_=r.connectingLine,d=new HitTestInfo(s,u);d._setDataPoint(i);var c=s._getLabelContent(d,r.content),u=this._getLabelPoint(a,i);this._getPointAndPosition(u,o,e,s);if(s._plotRect.contains(u)){var g=new DataLabelRenderEventArgs(t,d,u,c);if(r.onRendering)if(r.onRendering(g)){c=g.text;u=g.point}else c=null;if(c){var m=this._renderLabelAndBorder(t,c,o,n,u,_,2,l);if(m){var p=new _RectArea(m);p.tag=i;h.push(p)}}t.cssPriority=!0}}_getPointAndPosition(t,e,i,s){if(i instanceof _RectArea){var r=i;s._isRotated()?t.y=r.rect.top+.5*r.rect.height:t.x=r.rect.left+.5*r.rect.width}}_getLabelPoint(t,e){var i=t._getAxisX(),s=t._getAxisY();return new wijmo_1.Point(i.convert(e.dataX),s.convert(e.dataY))}_renderLabelAndBorder(t,e,i,s,r,a,n,h){var o,l=exports.DataLabelClsNames.label,_=exports.DataLabelClsNames.line,d=exports.DataLabelClsNames.border,c=FlexChartCore._CSS_DATA_LABELS;switch(i){case LabelPosition.Top:a&&t.drawLine(r.x,r.y,r.x,r.y-s,_);r.y-=n+s;o=FlexChartCore._renderText(t,e,r,1,2,l,c);break;case LabelPosition.Bottom:a&&t.drawLine(r.x,r.y,r.x,r.y+s,_);r.y+=n+s;o=FlexChartCore._renderText(t,e,r,1,0,l,c);break;case LabelPosition.Left:a&&t.drawLine(r.x,r.y,r.x-s,r.y,_);r.x-=n+s;o=FlexChartCore._renderText(t,e,r,2,1,l,c);break;case LabelPosition.Right:a&&t.drawLine(r.x,r.y,r.x+s,r.y,_);r.x+=n+s;o=FlexChartCore._renderText(t,e,r,0,1,l,c);break;case LabelPosition.Center:o=FlexChartCore._renderText(t,e,r,1,1,l,c)}h&&o&&t.drawRect(o.left-n,o.top-n,o.width+2*n,o.height+2*n,d);return o}getOption(t,e){var i=this.chart._options;e&&(i=i?i[e]:null);if(i&&!wijmo_1.isUndefined(i[t])&&null!==i[t])return i[t]}getNumOption(t,e){var i=this.chart._options;e&&(i=i?i[e]:null);if(i&&i[t])return wijmo_1.asNumber(i[t],!0)}getItemFormatter(t){if(t instanceof SeriesBase){var e=t;return e.itemFormatter?e.itemFormatter:this.chart.itemFormatter}return this.chart.itemFormatter}static cloneStyle(t,e){if(!t)return t;var i={};for(var s in t)e&&e.indexOf(s)>=0||(i[s]=t[s]);return i}isValid(t,e,i,s){return isFinite(t)&&isFinite(e)&&FlexChartCore._contains(this.chart._plotRect,new wijmo_1.Point(t,e))}load(){}unload(){}_createSteps(t,e,i){let s=this.getOption("position","step"),r=i||t.length,a=[],n=[],h=this.chart._isRotated();if("center"==s)if(h)for(let i=0;i<r;i++){let s=0==i?e[i+1]-e[i]:e[i]-e[i-1],h=i==r-1?e[i]-e[i-1]:e[i+1]-e[i];a.push(t[i]);n.push(e[i]-.5*s);a.push(t[i]);n.push(e[i]+.5*h)}else for(let i=0;i<r;i++){let s=0==i?t[i+1]-t[i]:t[i]-t[i-1],h=i==r-1?t[i]-t[i-1]:t[i+1]-t[i];a.push(t[i]-.5*s);n.push(e[i]);a.push(t[i]+.5*h);n.push(e[i])}else if("end"==s)for(let i=0;i<r;i++){if(i>0)if(h){a.push(t[i]);n.push(e[i-1])}else{a.push(t[i-1]);n.push(e[i])}a.push(t[i]);n.push(e[i])}else for(let i=0;i<r;i++){a.push(t[i]);n.push(e[i]);if(i<r-1)if(h){a.push(t[i]);n.push(e[i+1])}else{a.push(t[i+1]);n.push(e[i])}}return{x:a,y:n}}}exports._BasePlotter=_BasePlotter;class Series extends SeriesBase{get chartType(){return this._chartType}set chartType(t){if((t=wijmo_1.asEnum(t,ChartType,!0))!=this._chartType){this._chartType=t;this._invalidate()}}}exports.Series=Series;class FlexPie extends FlexChartBase{constructor(t,e){super(t,null,!0);this._areas=[];this._keywords=new _KeyWords;this._startAngle=0;this._innerRadius=0;this._offset=0;this._reversed=!1;this._isAnimated=!1;this._selectedItemPosition=Position.None;this._selectedItemOffset=0;this._pieGroups=[];this._rotationAngles=[];this._centers=[new wijmo_1.Point];this._selectedOffset=new wijmo_1.Point;this._selectedIndex=-1;this._angles=[];this._colRowLens=[];this._titles=void 0;this._values=[];this._labels=[];this._pels=[];this._sum=0;this._sums=[];this._bindingSeparator=",";this.applyTemplate(`${wijmo_1.ControlClsNames.hostElement} ${exports.FlexChartClsNames.hostElement} ${exports.FlexPieClsNames.hostElement}`,null,null);this._currentRenderEngine=new _SvgRenderEngine(this.hostElement);this._legend=new Legend(this);this._tooltip=new ChartTooltip;this._tooltip.content="<b>{name}</b><br/>{value}";this._tooltip.showDelay=0;this._lbl=new PieDataLabel;this._lbl._chart=this;var i=this;this.addEventListener(this.hostElement,"mousemove",(function(t){var e=i._tooltip;if(e.content&&!i.isTouching){var s=i.hitTest(t,void 0,!0);if(s.distance<=e.threshold){var r=i._getLabelContent(s,i.tooltip.content);i._showToolTip(r,new wijmo_1.Rect(t.clientX,t.clientY,5,5))}else i._hideToolTip()}}));this.addEventListener(this.hostElement,"click",(function(t){var e=!0;if(i.selectionMode==SelectionMode.Point){var s=i.hitTest(t),r=FlexChartBase._SELECTION_THRESHOLD;i.tooltip&&i.tooltip.threshold&&(r=i.tooltip.threshold);if(s.distance<=r){s.pointIndex!=i._selectionIndex&&i.selectedItemPosition!=Position.None&&(e=!1);s.pointIndex!=i._selectionIndex&&i._select(s.pointIndex,!0)}else i._selectedIndex>=0&&i._select(null)}if(e&&i.isTouching){var a=i._tooltip;if(a.content){if((s=i.hitTest(t,void 0,!0)).distance<=a.threshold){var n=i._getLabelContent(s,i.tooltip.content);i._showToolTip(n,new wijmo_1.Rect(t.clientX,t.clientY,5,5))}else i._hideToolTip()}}}));this.addEventListener(this.hostElement,"mouseleave",(function(t){i._hideToolTip()}));this.deferUpdate(()=>this.initialize(e))}get binding(){return this._binding}set binding(t){if(t!=this._binding){this._binding=wijmo_1.asString(t,!0);this._bindChart()}}get bindingName(){return this._bindingName}set bindingName(t){if(t!=this._bindingName){this._bindingName=wijmo_1.asString(t,!0);this._bindChart()}}get startAngle(){return this._startAngle}set startAngle(t){if(t!=this._startAngle){this._startAngle=wijmo_1.asNumber(t,!0);this.invalidate()}}get offset(){return this._offset}set offset(t){if(t!=this._offset){this._offset=wijmo_1.asNumber(t,!0);this.invalidate()}}get innerRadius(){return this._innerRadius}set innerRadius(t){if(t!=this._innerRadius){this._innerRadius=wijmo_1.asNumber(t,!0);this.invalidate()}}get innerTextStyle(){return this._innerTextStyle}set innerTextStyle(t){if(t!=this._innerText){this._innerTextStyle=t;this.invalidate()}}get innerText(){return this._innerText}set innerText(t){if(t!=this._innerText){this._innerText=t;this.invalidate()}}get reversed(){return this._reversed}set reversed(t){if(t!=this._reversed){this._reversed=wijmo_1.asBoolean(t,!0);this.invalidate()}}get selectedItemPosition(){return this._selectedItemPosition}set selectedItemPosition(t){if((t=wijmo_1.asEnum(t,Position,!0))!=this._selectedItemPosition){this._selectedItemPosition=t;this.invalidate()}}get selectedItemOffset(){return this._selectedItemOffset}set selectedItemOffset(t){if(t!=this._selectedItemOffset){this._selectedItemOffset=wijmo_1.asNumber(t,!0);this.invalidate()}}get isAnimated(){return this._isAnimated}set isAnimated(t){t!=this._isAnimated&&(this._isAnimated=t)}get tooltip(){return this._tooltip}get dataLabel(){return this._lbl}set dataLabel(t){if(t!=this._lbl){this._lbl=t;this._lbl&&(this._lbl._chart=this)}}get selectedIndex(){return this._selectedIndex}set selectedIndex(t){if(t!=this._selectedIndex){var e=wijmo_1.asNumber(t,!0);this._select(e,!0)}}get titles(){return this._titles}set titles(t){if(t!==this._titles){this._titles=t;this.invalidate()}}get chartsPerLine(){return this._chartsPerLine}set chartsPerLine(t){if(t!=this._chartsPerLine){this._chartsPerLine=wijmo_1.asNumber(t,!0,!0);this.invalidate()}}_getLabelsForLegend(){return this._labels}hitTest(t,e,i){var s=this._toControl(t,e),r=new HitTestInfo(this,s),a=null;if(FlexChartBase._contains(this._rectHeader,s))r._chartElement=ChartElement.Header;else if(FlexChartBase._contains(this._rectFooter,s))r._chartElement=ChartElement.Footer;else if(FlexChartBase._contains(this._rectLegend,s)){r._chartElement=ChartElement.Legend;null!==(a=this.legend._hitTest(s))&&a>=0&&a<this._areas.length&&r._setData(null,a)}else if(FlexChartBase._contains(this._rectChart,s)){this._hitTestData(r,s,i);r._chartElement=ChartElement.ChartArea}else r._chartElement=ChartElement.None;return r}_hitTestData(t,e,i){for(var s,r=this._areas.length,a=NaN,n=0;n<r;n++){var h=e.clone();let r=this._areas[n],_=this._rotationAngles[r.gi];if(0!=_){let t=this._centers[r.gi],e=t.x,i=t.y,s=-e+h.x,a=-i+h.y,n=Math.sqrt(s*s+a*a),o=Math.atan2(a,s)-_*Math.PI/180;h.x=e+n*Math.cos(o);h.y=i+n*Math.sin(o)}if(n==this._selectedIndex){h.x-=this._selectedOffset.x;h.y-=this._selectedOffset.y}var o=this._areas[n];if(o.contains(h)){if(!0===i){a=0;s=o;continue}t._setDataGroup(r.gi,o.tag);t._dist=0;if(n!=this._selectedIndex)break}var l=o.distance(h);if(void 0!==l&&(isNaN(a)||l<a||!0===i&&this._isSmallSegment(l,s,o))){a=l;s=o}}if(0!==t._dist&&null!=s){t._setDataGroup(s.gi,s.tag);t._dist=a}}_isSmallSegment(t,e,i){return t<=.5*this.tooltip.threshold&&Math.abs(i.sweep)<=.035&&Math.abs(e.sweep/i.sweep)>=10}_performBind(){this._initData();if(this._cv){this._selectionIndex=this._cv.currentPosition;let e=this._cv.items;if(e){let i=e.length,s=this._getBindings();for(let t=0;t<s.length;t++){this._values[t]=[];this._sums[t]=0}for(var t=0;t<i;t++){let i=e[t];for(let t=0;t<s.length;t++)this._sums[t]+=Math.abs(this._getBindData(i,this._values[t],0==t?this._labels:null,s[t],this.bindingName))}}}}_getBindings(){let t=[],e=this.binding;if(e){var i=this._bindingSeparator;i&&(t=e.split(i))}return t}_initData(){this._sum=0;this._sums=[];this._values=[];this._labels=[]}_getBindData(t,e,i,s,r){var a,n=0;let h=s?new wijmo_1.Binding(s):null;h&&(a=h.getValue(t));n=0;wijmo_1.isNumber(a)?n=wijmo_1.asNumber(a):a&&(n=parseFloat(a.toString()));if(!isNaN(n)&&isFinite(n))e.push(n);else{n=0;e.push(n)}let o=r?new wijmo_1.Binding(r):null;if(i)if(o&&t){var l=o.getValue(t);l&&(l=l.toString());i.push(l)}else i.push(n.toString());return n}_render(t,e=!0,i=null){this._selectionAnimationID&&clearInterval(this._selectionAnimationID);this.onRendering(new RenderEventArgs(t));super._render(t,e,i)}_prepareRender(){this._areas=[]}_renderChart(t,e,i){var s=this._rectChart.clone(),r=(new wijmo_1.Size(s.width,s.height),e.width),a=e.height,n=this._parseMargin(this.plotMargin),h=this.dataLabel,o=h.content&&h.position==PieLabelPosition.Outside,l=o?(wijmo_1.isNumber(h.offset)?h.offset:0)+24:0;isNaN(n.left)&&(n.left=o?l:FlexPie._MARGIN);isNaN(n.right)&&(n.right=o?l:FlexPie._MARGIN);isNaN(n.top)&&(n.top=o?l:FlexPie._MARGIN);isNaN(n.bottom)&&(n.bottom=o?l:FlexPie._MARGIN);e.top+=n.top;a=e.height-(n.top+n.bottom);e.height=a>0?a:24;e.left+=n.left;r=e.width-(n.left+n.right);e.width=r>0?r:24;let _=this._getBindings(),d=this.titles;void 0===d&&_.length>1&&(d=_);let c=this._layout(t,e,d,_.length);this._angles=[];this._pels=[];this._pieGroups=[];this._rotationAngles=[];for(let e=0;e<_.length;e++){let i=c[e];d&&e<d.length&&d[e]&&FlexChartBase._renderText(t,d[e],new wijmo_1.Point(i.left+.5*i.width,i.top),1,2,FlexPie._CSS_GROUP_TITLE);let s=t.startGroup(exports.FlexPieClsNames.sliceGroup,null,!0);this._pieGroups.push(s);this._renderData(t,i,e,s);t.endGroup();this._rotationAngles.push(0)}this._highlightCurrent();this.innerText&&this._renderInnerText(t);this.dataLabel.content&&this.dataLabel.position!=PieLabelPosition.None&&this._renderLabels(t);this.onRendered(new RenderEventArgs(t))}_layout(t,e,i,s){let r=0,a=s,n=1,h=0;if(i)for(let e=0;e<i.length;e++)h=Math.max(h,t.measureString(i[e],FlexPie._CSS_GROUP_TITLE).height);let o=Math.floor(this.chartsPerLine);if(o>0){a=Math.min(s,o);n=Math.ceil(s/a);let t=Math.floor(e.width/a),i=Math.floor(e.height/n)-h;r=Math.min(t,i)}else for(let t=1;t<=s;t++){let i=Math.floor((s+(t-1))/t),o=Math.floor(e.width/t),l=Math.floor(e.height/i);l-=h;l<o&&(o=l);if(o>r){r=o;a=t;n=i}}let l=[],_=.5*(e.width-r*a),d=.5*(e.height-(r+h)*n);for(let t=0;t<n;t++)for(let i=0;i<a;i++)l.push(new wijmo_1.Rect(e.left+r*i+8+_,e.top+(r+h)*t+8+d+h,r-16,r-16));return l}_getDesiredLegendSize(t,e,i,s){var r=new wijmo_1.Size,a=(new wijmo_1.Size(i,s),this._getLabelsForLegend()),n=a.length,h=0,o=0;this.legend.scrollbar;this._colRowLens=[];for(var l=0;l<n;l++){var _=this._measureLegendItem(t,a[l]);if(e){if(o+_.height>s&&!this.legend.scrollbar){r.height=s;this._colRowLens.push(h);h=0;o=0}h<_.width&&(h=_.width);o+=_.height}else{if(h+_.width>i&&!this.legend.scrollbar){r.width=i;this._colRowLens.push(o);o=0;h=0}o<_.height&&(o=_.height);h+=_.width}}if(e){r.height<o&&(r.height=o);this._colRowLens.push(h);r.width=this._colRowLens.reduce((t,e)=>t+e,0)}else{r.width<h&&(r.width=h);this._colRowLens.push(o);r.height=this._colRowLens.reduce((t,e)=>t+e,0)}return r}_renderLegend(t,e,i,s,r,a){for(var n=new wijmo_1.Rect(e.x,e.y,r,a),h=this._getLabelsForLegend(),o=h.length,l=0,_=e.clone(),d=0;d<o;d++){var c=this._measureLegendItem(t,h[d]);if(s){if(_.y+c.height>n.bottom+1&&!this.legend.scrollbar){_.x+=this._colRowLens[l];l++;_.y=e.y}}else if(_.x+c.width>n.right+1&&!this.legend.scrollbar){_.y+=this._colRowLens[l];l++;_.x=e.x}var u=new wijmo_1.Rect(_.x,_.y,c.width,c.height);this._drawLegendItem(t,u,d,h[d]);i.push(u);s?_.y+=c.height:_.x+=c.width}}_renderData(t,e,i,s){var r=this._sums[i],a=this.startAngle+180,n=this.innerRadius,h=this.offset;n>1&&(n=1);if(r>0){var o=a*Math.PI/180,l=e.left+.5*e.width,_=e.top+.5*e.height,d=Math.min(.5*e.width,.5*e.height);this._centers[i]=new wijmo_1.Point(l,_);var c=Math.max(h,this.selectedItemOffset);c>0&&(h*=d/=1+c);this._radius=d;var u=n*d;this._renderPie(t,i,d,u,o,h)}}_renderPie(t,e,i,s,r,a){this._renderSlices(t,this._values[e],this._sums[e],e,i,s,r,2*Math.PI,a)}_getCenter(){return this._centers[0]}_renderSlices(t,e,i,s,r,a,n,h,o){var l,_,d,c=e.length,u=0,g=n,m=1==this.reversed,p=this._centers[s];for(let t=0;t<c;t++)e[t]>0&&u++;var f=1===u?360:359.9/360;for(let n=0;n<c;n++){_=p.x;d=p.y;l=t.startGroup(exports.FlexPieClsNames.slice);t.fill=this._getColorLight(n);t.stroke=this._getColor(n);var x=Math.abs(e[n]),w=Math.abs(x-i)<1e-10?h:h*x/i;w=Math.min(w,h*f);var v=m?g-.5*w:g+.5*w;if(o>0&&w<h){_+=o*Math.cos(v);d+=o*Math.sin(v)}this._renderSlice(t,_,d,v,s,n,r,a,g,w,h);m?g-=w:g+=w;t.endGroup();this._pels.push(l)}}_renderSlice(t,e,i,s,r,a,n,h,o,l,_){var d=!!this.reversed;this._angles.push(s);if(this.itemFormatter){var c=new HitTestInfo(this,new wijmo_1.Point(e+n*Math.cos(s),i+n*Math.sin(s)),ChartElement.SeriesSymbol);c._setData(null,a);this.itemFormatter(t,c,()=>{this._drawSlice(t,r,a,d,e,i,n,h,o,l)});t.cssPriority=!0}else this._drawSlice(t,r,a,d,e,i,n,h,o,l)}_getSelectedItemOffset(t,e){var i=0,s=0,r=0;t==this._selectedIndex&&this.selectedItemOffset>0&&(r=this.selectedItemOffset);if(r>0){i=Math.cos(e)*r*this._radius;s=Math.sin(e)*r*this._radius}return{x:i,y:s}}_renderInnerText(t){let e=this.innerText,i=this.innerTextStyle;for(let s=0;s<this._centers.length;s++){let r,a=this._centers[s];r=wijmo_1.isFunction(e)?e(s):wijmo_1.isArray(e)?wijmo_1.asString(e[s]):wijmo_1.asString(e);if(r){r=wijmo_1.format(r,{total:this._sums[s],binding:this._getBindings()[s]});i&&(t.cssPriority=!1);FlexPie._renderText(t,r,a,1,1,FlexChartBase._CSS_TITLE,null,i);t.cssPriority=!0}}}_renderLabels(t){var e=this._areas.length,i=this.dataLabel,s=i.position,r=exports.DataLabelClsNames.labels,a=exports.DataLabelClsNames.label,n=exports.DataLabelClsNames.border,h=exports.DataLabelClsNames.line,o=this._rotationAngles,l=i.connectingLine,_=i.offset?i.offset:0;t.stroke="null";t.fill="transparent";t.strokeWidth=1;t.startGroup(r);for(var d=0;d<e;d++){var c=this._areas[d];if(c){var u=c.radius,g=c.langle+o[c.gi],m=1,p=1;if(s==PieLabelPosition.Center||s===PieLabelPosition.Radial||s===PieLabelPosition.Circular)u*=.5*(1+(c.innerRadius||0)/c.radius);else{if((g=_Math.clampAngle(g))<=-170||g>=170){m=2;p=1}else if(g>=-100&&g<=-80){m=1;p=2}else if(g>=-10&&g<=10){m=0;p=1}else if(g>=80&&g<=100){m=1;p=0}else if(-180<g&&g<-90){m=2;p=2}else if(-90<=g&&g<0){m=0;p=2}else if(0<g&&g<90){m=0;p=0}else if(90<g&&g<180){m=2;p=0}if(s==PieLabelPosition.Inside){m=2-m;p=2-p}}g*=Math.PI/180;let e=c.gi?d-c.gi*this._values[0].length:d;var f=this._getSelectedItemOffset(e,g),x=f.x,w=f.y,v=u;s==PieLabelPosition.Outside?v+=_:s==PieLabelPosition.Inside&&(v-=_);var b=c.center.x,y=c.center.y;let r=this._centers[c.gi];var S=b-r.x,C=y-r.y;if(0!=this._rotationAngles[c.gi]){var T=Math.sqrt(S*S+C*C),M=Math.atan2(C,S)+this._rotationAngles[c.gi]*Math.PI/180;b=r.x+T*Math.cos(M);y=r.y+T*Math.sin(M)}var P=new wijmo_1.Point(b+x+v*Math.cos(g),y+w+v*Math.sin(g));if(i.border&&s!=PieLabelPosition.Center){0==m?P.x+=2:2==m&&(P.x-=2);0==p?P.y+=2:2==p&&(P.y-=2)}var A=new HitTestInfo(this,P);A._setDataGroup(c.gi,c.tag);var L=this._getLabelContent(A,i.content),N=new DataLabelRenderEventArgs(t,A,P,L);if(i.onRendering)if(i.onRendering(N)){L=N.text;P=N.point}else L=null;if(L){var k,E=180*Math.atan2(y-P.y,b-P.x)/Math.PI;E=(E+360)%360;if(s===PieLabelPosition.Radial||s===PieLabelPosition.Circular){if(s===PieLabelPosition.Radial)E>90&&E<270&&(E+=180);else{E>180&&E<360&&(E+=180);E-=90}(k=FlexChartBase._renderRotatedText(t,L,P,m,p,P,E,a).getBBox()).left=k.x;k.top=k.y}else k=FlexChartBase._renderText(t,L,P,m,p,a);i.border&&t.drawRect(k.left-2,k.top-2,k.width+4,k.height+4,n);if(l){var j=new wijmo_1.Point(b+x+u*Math.cos(g),y+w+u*Math.sin(g));t.drawLine(P.x,P.y,j.x,j.y,h)}}t.cssPriority=!0}}t.endGroup()}_drawSlice(t,e,i,s,r,a,n,h,o,l){var _;if(s)if(h>0){0!=l&&t.drawDonutSegment(r,a,n,h,o-l,l);(_=new _DonutSegment(new wijmo_1.Point(r,a),n,h,o-l,l,this.startAngle)).tag=i;this._areas.push(_)}else{0!=l&&t.drawPieSegment(r,a,n,o-l,l);(_=new _PieSegment(new wijmo_1.Point(r,a),n,o-l,l,this.startAngle)).tag=i;this._areas.push(_)}else{if(h>0){0!=l&&t.drawDonutSegment(r,a,n,h,o,l);(_=new _DonutSegment(new wijmo_1.Point(r,a),n,h,o,l,this.startAngle)).tag=i;this._areas.push(_)}else{0!=l&&t.drawPieSegment(r,a,n,o,l);(_=new _PieSegment(new wijmo_1.Point(r,a),n,o,l,this.startAngle)).tag=i;this._areas.push(_)}o+=l}_&&(_.gi=e)}_measureLegendItem(t,e){var i=new wijmo_1.Size;i.width=Series._LEGEND_ITEM_WIDTH;i.height=Series._LEGEND_ITEM_HEIGHT;if(e){var s=t.measureString(e,FlexChartBase._CSS_LABEL,FlexChartBase._CSS_LEGEND);i.width+=s.width;i.height<s.height&&(i.height=s.height)}i.width+=3*Series._LEGEND_ITEM_MARGIN;i.height+=2*Series._LEGEND_ITEM_MARGIN;return i}_drawLegendItem(t,e,i,s){t.strokeWidth=1;var r=Series._LEGEND_ITEM_MARGIN,a=null,n=null;null===a&&(a=this._getColorLight(i));null===n&&(n=this._getColor(i));t.fill=a;t.stroke=n;var h=e.top+.5*e.height,o=Series._LEGEND_ITEM_WIDTH,l=Series._LEGEND_ITEM_HEIGHT;t.drawRect(e.left+r,h-.5*l,o,l,null);null!=s&&FlexChartBase._renderText(t,s.toString(),new wijmo_1.Point(e.left+l+2*r,h),0,1,FlexChartBase._CSS_LABEL)}_getLabelContent(t,e){return wijmo_1.isString(e)?this._keywords.replace(e,t):wijmo_1.isFunction(e)?e(t):null}_select(t,e=!1){this._highlight(!1,this._selectionIndex);this._selectionIndex=t;if(this.selectionMode==SelectionMode.Point){var i=this._cv;if(i){this._notifyCurrentChanged=!1;i.moveCurrentToPosition(t);this._notifyCurrentChanged=!0}}if(null==t){this._selectedIndex=-1;this.invalidate()}else if(this.isAnimated&&this.selectedItemPosition!=Position.None||!(this.selectedItemOffset>0||this.selectedItemPosition!=Position.None))this._highlight(!0,this._selectionIndex,e);else{this._selectedIndex=t;this.invalidate()}this.onSelectionChanged()}_highlightCurrent(){if(this.selectionMode!=SelectionMode.None){var t=-1,e=this._cv;e&&(t=e.currentPosition);this._highlight(!0,t)}}_highlight(t,e,i=!1){if(this.selectionMode==SelectionMode.Point&&null!=e&&e>=0)if(t){let d=[];for(let c=0;c<this._pieGroups.length;c++){if(_=this._pels[e+c*this._values[0].length]){_.parentNode.appendChild(_);var s=this._find(_,["ellipse"]);this._highlightItems(this._find(_,["path","ellipse"]),FlexChartBase._CSS_SELECTION,t)}var r=this._angles[e+c*this._values[0].length];if(this.selectedItemPosition!=Position.None&&0!=r){var a=0;this.selectedItemPosition==Position.Left?a=180:this.selectedItemPosition==Position.Top?a=-90:this.selectedItemPosition==Position.Bottom&&(a=90);var n=a*Math.PI/180-r;n*=180/Math.PI;if(i&&this.isAnimated)d.push(n);else{this._rotationAngles[c]=n;this._pieGroups[c].transform.baseVal.getItem(0).setRotate(n,this._centers[c].x,this._centers[c].y)}}var h=this.selectedItemOffset;if(h>0&&s&&0==s.length){var o=this._selectedOffset.x=Math.cos(r)*h*this._radius,l=this._selectedOffset.y=Math.sin(r)*h*this._radius;_&&_.setAttribute("transform","translate("+o.toFixed()+","+l.toFixed()+")")}this._selectedIndex=e}d.length>0&&this._animateSelectionAngle(d,.5)}else{for(let i=0;i<this._pieGroups.length;i++){var _;if(_=this._pels[e+i*this._values[0].length]){_.parentNode.insertBefore(_,_.parentNode.childNodes.item(e));_.removeAttribute("transform");this._highlightItems(this._find(_,["path","ellipse"]),FlexChartBase._CSS_SELECTION,t)}}this._selectedIndex==e&&(this._selectedIndex=-1)}}_animateSelectionAngle(t,e){var i=this,s=i._pieGroups;i._selectionAnimationID&&clearInterval(this._selectionAnimationID);this._selectionAnimationID=wijmo_1.animate((function(e){if(s==i._pieGroups){for(let r=0;r<s.length;r++){let a=_Math.clampAngle(i._rotationAngles[r]),n=_Math.clampAngle(t[r])-a,h=a;i._rotationAngles[r]=a=h+n*e;s[r].transform.baseVal.getItem(0).setRotate(a,i._centers[r].x,i._centers[r].y)}1==e&&clearInterval(i._selectionAnimationID);e>.99&&(i.selectedItemOffset>0||i.selectedItemPosition!=Position.None)&&i.invalidate()}}),1e3*e)}_getHitTestItem(t){var e=null,i=null;(e=null!=this._cv?this._cv.items:this.itemsSource)&&t<e.length&&(i=e[t]);return i}_getHitTestValue(t,e){null==e&&(e=0);return this._values[e][t]}_getHitTestLabel(t){return this._labels[t]}}FlexPie._MARGIN=4;FlexPie._CSS_GROUP_TITLE=exports.FlexChartClsNames.label;exports.FlexPie=FlexPie;class _Math{static clampAngle(t,e=0){var i=(t+180)%360-180;i<-180+(e<0?e+360:e)&&(i+=360);return i}}class _PieSegment{constructor(t,e,i,s,r=0){this._isFull=!1;this._center=t;this._radius=e;this._originAngle=i;this._originSweep=s;s>=2*Math.PI&&(this._isFull=!0);this._sweep=.5*s*180/Math.PI;this._angle=_Math.clampAngle(180*i/Math.PI+this._sweep);this._radius2=e*e;this._startAngle=r}contains(t){var e=t.x-this._center.x,i=t.y-this._center.y;if(e*e+i*i<=this._radius2){var s=180*Math.atan2(i,e)/Math.PI,r=_Math.clampAngle(this._angle,this._startAngle)-_Math.clampAngle(s,this._startAngle);if(this._isFull||Math.abs(r)<=this._sweep)return!0}return!1}distance(t){if(this.contains(t))return 0;var e=t.x-this._center.x,i=t.y-this._center.y,s=e*e+i*i,r=180*Math.atan2(i,e)/Math.PI,a=_Math.clampAngle(this._angle,this._startAngle)-_Math.clampAngle(r,this._startAngle);if(this._isFull||Math.abs(a)<=this._sweep)return Math.sqrt(s)-this._radius;let n=this.center.clone();n.x+=this.radius*Math.cos(this._originAngle);n.y+=this.radius*Math.sin(this._originAngle);let h=this.center.clone();h.x+=this.radius*Math.cos(this._originAngle+this._originSweep);h.y+=this.radius*Math.sin(this._originAngle+this._originSweep);const o=FlexChartCore._dist(t,this.center,n),l=FlexChartCore._dist(t,this.center,h);return Math.min(o,l)}get center(){return this._center}get radius(){return this._radius}get langle(){return this._angle}get angle(){return this._originAngle}get sweep(){return this._originSweep}}exports._PieSegment=_PieSegment;class _DonutSegment{constructor(t,e,i,s,r,a=0){this._isFull=!1;this._center=t;this._radius=e;this._iradius=i;this._originAngle=s;this._originSweep=r;r>=2*Math.PI&&(this._isFull=!0);this._sweep=.5*r*180/Math.PI;this._angle=_Math.clampAngle(180*s/Math.PI+this._sweep);this._radius2=e*e;this._iradius2=i*i;this._startAngle=a}contains(t){var e=t.x-this._center.x,i=t.y-this._center.y,s=e*e+i*i;if(s>=this._iradius2&&s<=this._radius2){var r=180*Math.atan2(i,e)/Math.PI,a=_Math.clampAngle(this._angle,this._startAngle)-_Math.clampAngle(r,this._startAngle);if(this._isFull||Math.abs(a)<=this._sweep)return!0}return!1}distance(t){if(this.contains(t))return 0;let e=this.center.clone();e.x+=this.radius*Math.cos(this._originAngle);e.y+=this.radius*Math.sin(this._originAngle);let i=this.center.clone();i.x+=this._iradius*Math.cos(this._originAngle);i.y+=this._iradius*Math.sin(this._originAngle);let s=this.center.clone();s.x+=this.radius*Math.cos(this._originAngle+this._originSweep);s.y+=this.radius*Math.sin(this._originAngle+this._originSweep);let r=this.center.clone();r.x+=this._iradius*Math.cos(this._originAngle+this._originSweep);r.y+=this._iradius*Math.sin(this._originAngle+this._originSweep);const a=FlexChartCore._dist(t,e,i),n=FlexChartCore._dist(t,s,r);return Math.min(a,n)}get center(){return this._center}get radius(){return this._radius}get langle(){return this._angle}get angle(){return this._originAngle}get sweep(){return this._originSweep}get innerRadius(){return this._iradius}}exports._DonutSegment=_DonutSegment;class LineMarkers{constructor(){this._moveMarker=function(t){var e=t.currentTarget,i=this._markers,s=e.getAttribute("data-markerIndex");null!=s&&i[s].forEach((function(e){e._moveMarker(t)}))};this._markers=[];this._bindMoveMarker=this._moveMarker.bind(this)}attach(t){var e,i,s=t.chart.hostElement,r=this._markers,a=s.getAttribute("data-markerIndex");if(null!=a)if((i=r[a])&&wijmo_1.isArray(i))i.push(t);else{r[a]=[t];this._bindMoveEvent(s)}else{e=r.length,i=[t];r.push(i);s.setAttribute("data-markerIndex",e);this._bindMoveEvent(s)}}detach(t){var e,i,s=t.chart.hostElement,r=this._markers,a=s.getAttribute("data-markerIndex");if(null!=a){(e=(i=r[a]).indexOf(t))>-1&&i.splice(e,1);if(0===i.length){(e=r.indexOf(i))>-1&&(r[e]=void 0);this._unbindMoveEvent(s)}}}_unbindMoveEvent(t){var e=this._bindMoveMarker;t.removeEventListener("mousemove",e);"ontouchstart"in window&&t.removeEventListener("touchmove",e)}_bindMoveEvent(t){var e=this._bindMoveMarker;t.addEventListener("mousemove",e);"ontouchstart"in window&&t.addEventListener("touchmove",e)}}var LineMarkerLines,LineMarkerInteraction,LineMarkerAlignment,AxisType,OverlappingLabels,TickMark,AxisGroupsDisplay,_tmInc,lineMarkers=new LineMarkers;!function(t){t[t.None=0]="None";t[t.Vertical=1]="Vertical";t[t.Horizontal=2]="Horizontal";t[t.Both=3]="Both"}(LineMarkerLines=exports.LineMarkerLines||(exports.LineMarkerLines={}));!function(t){t[t.None=0]="None";t[t.Move=1]="Move";t[t.Drag=2]="Drag"}(LineMarkerInteraction=exports.LineMarkerInteraction||(exports.LineMarkerInteraction={}));!function(t){t[t.Auto=2]="Auto";t[t.Right=0]="Right";t[t.Left=1]="Left";t[t.Bottom=4]="Bottom";t[t.Top=6]="Top"}(LineMarkerAlignment=exports.LineMarkerAlignment||(exports.LineMarkerAlignment={}));class LineMarker{constructor(t,e){this._wrapperMousedown=null;this._wrapperMouseup=null;this._savedPosition=new wijmo_1.Point;this.positionChanged=new wijmo_1.Event;this._chart=t;t._markers.push(this);t.rendered.addHandler(this._initialize,this);this._resetDefaultValue();wijmo_1.copy(this,e);this._initialize()}get chart(){return this._chart}get isVisible(){return this._isVisible}set isVisible(t){if(t!==this._isVisible){this._isVisible=wijmo_1.asBoolean(t);this._marker&&this._toggleVisibility()}}get seriesIndex(){return this._seriesIndex}set seriesIndex(t){t!==this._seriesIndex&&(this._seriesIndex=wijmo_1.asNumber(t,!0))}get horizontalPosition(){return this._horizontalPosition}set horizontalPosition(t){if(t!==this._horizontalPosition){this._horizontalPosition=wijmo_1.asNumber(t,!0);this._savedPosition.x=this._horizontalPosition;if(this._horizontalPosition<0||this._horizontalPosition>1)throw"horizontalPosition's value should be in (0, 1).";this._marker&&this._updateMarkerPosition()}}get x(){var t=this._chart.axisX;let e=this.chart.pageToControl(this._targetPoint);return t.convertBack(e.x)}get y(){var t=this._chart.axisY;let e=this.chart.pageToControl(this._targetPoint);return t.convertBack(e.y)}get content(){return this._content}set content(t){if(t!==this._content){this._content=wijmo_1.asFunction(t);this._updateMarkerPosition()}}get verticalPosition(){return this._verticalPosition}set verticalPosition(t){if(t!==this._verticalPosition){this._verticalPosition=wijmo_1.asNumber(t,!0);this._savedPosition.y=this._verticalPosition;if(this._verticalPosition<0||this._verticalPosition>1)throw"verticalPosition's value should be in (0, 1).";this._marker&&this._updateMarkerPosition()}}get alignment(){return this._alignment}set alignment(t){if(t!==this._alignment){this._alignment=t;this._marker&&this._updatePositionByAlignment()}}get lines(){return this._lines}set lines(t){if((t=wijmo_1.asEnum(t,LineMarkerLines))!=this._lines){this._lines=t;this._marker&&this._resetLinesVisibility()}}get interaction(){return this._interaction}set interaction(t){if((t=wijmo_1.asEnum(t,LineMarkerInteraction))!=this._interaction){this._marker&&this._detach();this._interaction=t;this._marker&&this._attach();this._toggleElesDraggableClass(this._interaction==LineMarkerInteraction.Drag)}}get dragThreshold(){return this._dragThreshold}set dragThreshold(t){t!=this._dragThreshold&&(this._dragThreshold=wijmo_1.asNumber(t))}get dragContent(){return this._dragContent}set dragContent(t){t!==this._dragContent&&(this._dragContent=wijmo_1.asBoolean(t));wijmo_1.toggleClass(this._dragEle,LineMarker._CSS_LINE_DRAGGABLE,this._interaction===LineMarkerInteraction.Drag&&this._dragContent&&this._lines!==LineMarkerLines.None)}get dragLines(){return this._dragLines}set dragLines(t){t!=this._dragLines&&(this._dragLines=wijmo_1.asBoolean(t))}onPositionChanged(t){this.positionChanged.raise(this,t)}remove(){var t=this._chart;if(this._marker){t.rendered.removeHandler(this._initialize,this);this._detach();this._removeMarker();this._wrapperMoveMarker=null;this._wrapperMousedown=null;this._wrapperMouseup=null}}_attach(){var t=this._chart.hostElement;this._interaction!==LineMarkerInteraction.None?wijmo_1.addClass(t,LineMarker._CSS_TOUCH_DISABLED):wijmo_1.removeClass(t,LineMarker._CSS_TOUCH_DISABLED);lineMarkers.attach(this);this._attachDrag()}_attachDrag(){if(this._interaction===LineMarkerInteraction.Drag){this._wrapperMousedown||(this._wrapperMousedown=this._onMousedown.bind(this));this._wrapperMouseup||(this._wrapperMouseup=this._onMouseup.bind(this));this._toggleDragEventAttach(!0)}}_detach(){wijmo_1.removeClass(this._chart.hostElement,LineMarker._CSS_TOUCH_DISABLED);lineMarkers.detach(this);this._detachDrag()}_detachDrag(){this._interaction===LineMarkerInteraction.Drag&&this._toggleDragEventAttach(!1)}_toggleDragEventAttach(t){var e=this._chart.hostElement,i=t?"addEventListener":"removeEventListener";e[i]("mousedown",this._wrapperMousedown);document[i]("mouseup",this._wrapperMouseup);"ontouchstart"in window&&e[i]("touchstart",this._wrapperMousedown);"ontouchend"in window&&document[i]("touchend",this._wrapperMouseup)}_onMousedown(t){var e,i,s,r,a,n=this._getEventPoint(t);if(this._interaction===LineMarkerInteraction.Drag){r=!(0===(e=wijmo_1.getElementRect(this._hLine)).width||0===e.height);a=!(0===(i=wijmo_1.getElementRect(this._vLine)).width||0===i.height);s=wijmo_1.getElementRect(this._markerContent);if(this._dragContent&&this._pointInRect(n,s)){this._capturedEle=this._markerContent;this._contentDragStartPoint=new wijmo_1.Point(n.x,n.y);this._mouseDownCrossPoint=new wijmo_1.Point(this._targetPoint.x,this._targetPoint.y)}else if(r&&(Math.abs(e.top-n.y)<=this._dragThreshold||Math.abs(n.y-e.top-e.height)<=this._dragThreshold||n.y>=e.top&&n.y<=e.top+e.height)){this._capturedEle=this._hLine;this._contentDragStartPoint=void 0;wijmo_1.addClass(this._chart.hostElement,LineMarker._CSS_LINE_DRAGGABLE)}else if(a&&(Math.abs(i.left-n.x)<=this._dragThreshold||Math.abs(n.x-i.left-i.width)<=this._dragThreshold||n.x>=i.left&&n.x<=i.left+i.width)){this._capturedEle=this._vLine;this._contentDragStartPoint=void 0;wijmo_1.addClass(this._chart.hostElement,LineMarker._CSS_LINE_DRAGGABLE)}t.preventDefault()}}_onMouseup(t){var e=this._alignment===LineMarkerAlignment.Auto&&this._capturedEle===this._markerContent&&this._lines!==LineMarkerLines.None;this._capturedEle=void 0;this._contentDragStartPoint=void 0;this._mouseDownCrossPoint=void 0;if(e){this._updatePositionByAlignment();this._updatePositionByAlignment()}wijmo_1.removeClass(this._chart.hostElement,LineMarker._CSS_LINE_DRAGGABLE)}_moveMarker(t){var e,i,s,r,a,n,h=this._chart,o=this._getEventPoint(t),l=this._plotRect,_=this._interaction===LineMarkerInteraction.Drag,d=this._lines===LineMarkerLines.Horizontal,c=this._lines===LineMarkerLines.Vertical,u=this._seriesIndex,g=wijmo_1.getElementRect(h.hostElement);if(l&&this._isVisible&&this._interaction!==LineMarkerInteraction.None&&(this._interaction!==LineMarkerInteraction.Drag||this._capturedEle&&this._lines!==LineMarkerLines.None)){if(_)if(this._contentDragStartPoint){o.x=d?this._targetPoint.x:this._mouseDownCrossPoint.x+o.x-this._contentDragStartPoint.x;o.y=c?this._targetPoint.y:this._mouseDownCrossPoint.y+o.y-this._contentDragStartPoint.y}else d||!this._dragLines&&this._capturedEle===this._hLine?o.x=this._targetPoint.x:(c||!this._dragLines&&this._capturedEle===this._vLine)&&(o.y=this._targetPoint.y);if(_&&this._lines===LineMarkerLines.Horizontal||!this._dragLines&&this._capturedEle===this._hLine){if(o.y<=l.top||o.y>=l.top+l.height)return}else if(_&&this._lines===LineMarkerLines.Vertical||!this._dragLines&&this._capturedEle===this._vLine){if(o.x<=l.left||o.x>=l.left+l.width)return}else{const t=this._getTop();if(o.x<=l.left||o.y<=t||o.x>=l.left+l.width||o.y>=t+l.height)return}if(null!=u&&u>=0&&u<h.series.length){if(null==(i=(e=h.series[u]).hitTest(new wijmo_1.Point(o.x,NaN)))||null==i.x||null==i.y)return;s=e.axisX||h.axisX;r=e._getAxisY();a=wijmo_1.isDate(i.x)?FlexChartCore._toOADate(i.x):i.x;a=wijmo_1.isString(a)?i.pointIndex:a;n=wijmo_1.isDate(i.y)?FlexChartCore._toOADate(i.y):i.y;let t=this._getElementPaddingValuee(h.hostElement,"padding-left"),l=this._getElementPaddingValuee(h.hostElement,"padding-top");o.x=s.convert(a)+t+g.left;this.chart._stacking!=Stacking.None&&(n=this._calcStackedValue(u,a,n));o.y=r.convert(n)+l+g.top}this._updateMarkerPosition(o);t.preventDefault()}}_calcStackedValue(t,e,i){let s=i,r=this.chart._stacking==Stacking.Stacked100pc;for(let a=0;a<t;a++){let t=this.chart.series[a],n=t.getValues(1),h=t.getValues(0);if(h)for(let t=0;t<h.length;t++){if(e===(n?n[t]:t)){isFinite(h[t])&&(r||this._sign(i)==this._sign(h[t]))&&(s+=h[t]);break}}}if(r&&s){s/=this.chart._dataInfo.getStackedAbsSum(e);s>1&&(s=1)}return s}_sign(t){return t>0?1:t<0?-1:0}_getElementPaddingValuee(t,e){return+window.getComputedStyle(t,null).getPropertyValue(e).replace("px","")}_show(t){(t||this._marker).style.display="block"}_hide(t){(t||this._marker).style.display="none"}_toggleVisibility(){this._isVisible?this._show():this._hide()}_resetDefaultValue(){this._isVisible=!0;this._alignment=LineMarkerAlignment.Auto;this._lines=LineMarkerLines.None;this._interaction=LineMarkerInteraction.None;this._horizontalPosition=null;this._verticalPosition=null;this._content=null;this._seriesIndex=null;this._dragThreshold=15;this._dragContent=!1;this._dragLines=!1;this._targetPoint=new wijmo_1.Point}_initialize(){var t,e=this._chart.hostElement.querySelector("."+FlexChartCore._CSS_PLOT_AREA);this._plot=e;this._marker||this._createMarker();if(e){this._plotRect=wijmo_1.getElementRect(e);t=e.getBBox();this._plotRect.width=t.width;this._plotRect.height=t.height;this._updateMarkerSize();this._updateLinesSize()}this._updateMarkerPosition();this._wrapperMoveMarker=this._moveMarker.bind(this);this._attach()}_createMarker(){var t,e;t=document.createElement("div");wijmo_1.addClass(t,LineMarker._CSS_MARKER);(e=this._getContainer()).appendChild(t);this._markerContainer=e;this._marker=t;this._createChildren()}_removeMarker(){var t=this._markerContainer;t.removeChild(this._marker);this._content=null;this._hLine=null;this._vLine=null;if(!t.hasChildNodes()){this._chart.hostElement.removeChild(this._markerContainer);this._markerContainer=null}this._marker=null}_getContainer(){var t=this._chart.hostElement.querySelector(LineMarker._CSS_MARKER_CONTAINER);t||(t=this._createContainer());return t}_createContainer(){var t=document.createElement("div"),e=this._chart.hostElement;wijmo_1.addClass(t,LineMarker._CSS_MARKER_CONTAINER);e.insertBefore(t,e.firstChild);return t}_createChildren(){var t,e,i,s,r=this._marker;(s=document.createElement("div")).style.position="absolute";s.style.height="100%";s.style.width="100%";r.appendChild(s);this._dragEle=s;t=document.createElement("div");wijmo_1.addClass(t,LineMarker._CSS_MARKER_CONTENT);r.appendChild(t);this._markerContent=t;e=document.createElement("div");wijmo_1.addClass(e,LineMarker._CSS_MARKER_HLINE);r.appendChild(e);this._hLine=e;i=document.createElement("div");wijmo_1.addClass(i,LineMarker._CSS_MARKER_VLINE);r.appendChild(i);this._vLine=i;this._toggleElesDraggableClass(this._interaction===LineMarkerInteraction.Drag);this._resetLinesVisibility()}_toggleElesDraggableClass(t){wijmo_1.toggleClass(this._hLine,LineMarker._CSS_LINE_DRAGGABLE,t);wijmo_1.toggleClass(this._vLine,LineMarker._CSS_LINE_DRAGGABLE,t);wijmo_1.toggleClass(this._dragEle,LineMarker._CSS_LINE_DRAGGABLE,t&&this._dragContent&&this._lines!==LineMarkerLines.None)}_updateMarkerSize(){var t=this._plotRect,e=this._chart.hostElement,i=window.getComputedStyle(e,null),s=wijmo_1.getElementRect(e);if(this._marker){this._marker.style.marginTop=t.top-s.top-(parseFloat(i.getPropertyValue("padding-top"))||0)+"px";this._marker.style.marginLeft=t.left-s.left-(parseFloat(i.getPropertyValue("padding-left"))||0)+"px"}}_updateLinesSize(){var t=this._plotRect;if(this._hLine&&this._vLine){this._hLine.style.width=t.width+"px";this._vLine.style.height=t.height+"px"}}_resetLinesVisibility(){if(this._hLine&&this._vLine){this._hide(this._hLine);this._hide(this._vLine);this._lines!==LineMarkerLines.Horizontal&&this._lines!==LineMarkerLines.Both||this._show(this._hLine);this._lines!==LineMarkerLines.Vertical&&this._lines!==LineMarkerLines.Both||this._show(this._vLine)}}_updateMarkerPosition(t){var e,i,s=this._plotRect,r=this._targetPoint,a=!1;this._interaction,LineMarkerInteraction.Drag;if(this._plot){e=s.left+s.width*(this._horizontalPosition||0);i=s.top+s.height*(this._verticalPosition||0);null==this._horizontalPosition&&t?e=t.x:this._savedPosition.x>0&&(e=s.left+s.width*this._savedPosition.x);null==this._verticalPosition&&t?i=t.y:this._savedPosition.y>0&&(i=s.top+s.height*this._savedPosition.y);e===r.x&&i===r.y||(a=!0);r.x=e;r.y=i;this._savedPosition.x=wijmo_1.clamp((e-s.left)/s.width,0,1);this._savedPosition.y=wijmo_1.clamp((i-s.top)/s.height,0,1);this._toggleVisibility();this._content&&this._updateContent();a&&this._raisePositionChanged(e,i);this._updatePositionByAlignment(!!t)}}_updateContent(){var t,e=this._chart,i=this._targetPoint,s=e.hitTest(i);t=this._content.call(null,s,i);this._markerContent.innerHTML=t||""}_raisePositionChanged(t,e){this._plotRect;this.onPositionChanged(new wijmo_1.Point(t,e))}_updatePositionByAlignment(t){var e=this._alignment,i=this._targetPoint,s=this._marker,r=0,a=0,n=s.clientWidth,h=s.clientHeight,o=this._plotRect;if(!this._plot)return;const l=this._getTop();if(!this._capturedEle||this._capturedEle&&this._capturedEle!==this._markerContent){if(e===LineMarkerAlignment.Auto){i.x+n+12>o.left+o.width&&i.x-n>=0&&(a=n);r=h;i.y-h<l&&(r=0)}else{1==(1&e)&&(a=n);2==(2&e)&&(r=h)}this._interaction===LineMarkerInteraction.Move&&0===r&&0===a&&null==this.verticalPosition&&(a=-12)}else{parseInt(this._hLine.style.top)>0&&(r=h);parseInt(this._vLine.style.left)>0&&(a=n)}s.style.left=i.x-a-o.left+"px";s.style.top=i.y-r-l+"px";this._hLine.style.top=r+"px";this._hLine.style.left=o.left-i.x+a+"px";this._vLine.style.top=l-i.y+r+"px";this._vLine.style.left=a+"px"}_getEventPoint(t){return t instanceof MouseEvent?new wijmo_1.Point(t.pageX,t.pageY):new wijmo_1.Point(t.changedTouches[0].pageX,t.changedTouches[0].pageY)}_pointInRect(t,e){return!(!t||!e)&&(t.x>=e.left&&t.x<=e.left+e.width&&t.y>=e.top&&t.y<=e.top+e.height)}_getTop(){let t=0,e=this.chart._getHostComputedStyle();if(e){t+=this.chart._parsePx(e.paddingTop);t+=this.chart._parsePx(e.borderTopWidth);t+=this.chart._parsePx(e.marginTop)}return this._chart._plotRect.top+this._plot.getBoundingClientRect().top-t}}LineMarker._CSS_MARKER=exports.LineMarkerClsNames.linemarker;LineMarker._CSS_MARKER_HLINE=exports.LineMarkerClsNames.hline;LineMarker._CSS_MARKER_VLINE=exports.LineMarkerClsNames.vline;LineMarker._CSS_MARKER_CONTENT=exports.LineMarkerClsNames.content;LineMarker._CSS_MARKER_CONTAINER=exports.LineMarkerClsNames.container;LineMarker._CSS_LINE_DRAGGABLE=exports.LineMarkerClsNames.draggable;LineMarker._CSS_TOUCH_DISABLED=exports.FlexChartClsNames.touchDisabled;exports.LineMarker=LineMarker;!function(t){t[t.X=0]="X";t[t.Y=1]="Y"}(AxisType=exports.AxisType||(exports.AxisType={}));!function(t){t[t.Auto=0]="Auto";t[t.Show=1]="Show"}(OverlappingLabels=exports.OverlappingLabels||(exports.OverlappingLabels={}));!function(t){t[t.None=0]="None";t[t.Outside=1]="Outside";t[t.Inside=2]="Inside";t[t.Cross=3]="Cross"}(TickMark=exports.TickMark||(exports.TickMark={}));!function(t){t[t.None=0]="None";t[t.Show=1]="Show";t[t.ShowGrid=2]="ShowGrid"}(AxisGroupsDisplay=exports.AxisGroupsDisplay||(exports.AxisGroupsDisplay={}));class Axis{constructor(t){this._GRIDLINE_WIDTH=1;this._LINE_WIDTH=1;this._TICK_WIDTH=1;this._TICK_HEIGHT=4;this._TICK_OVERLAP=1;this._TICK_LABEL_DISTANCE=4;this._minorGrid=!1;this._isMinimumAuto=!0;this._isMaximumAuto=!0;this._labels=!0;this._isTimeAxis=!1;this._labelPadding=5;this._actualLabels=[];this._labelMin=!1;this._labelMax=!1;this.rangeChanged=new wijmo_1.Event;this._customConvert=null;this._customConvertBack=null;this.__uniqueId=Axis._id++;t==Position.BottomLeft||t==Position.BottomRight||t==Position.TopLeft||t==Position.TopRight||t==Position.LeftTop||t==Position.LeftBottom||t==Position.RightTop||t==Position.RightBottom?this._position=void 0:this._position=t;this._position==Position.Bottom||this._position==Position.Top?this._axisType=AxisType.X:this._position!=Position.Left&&this._position!=Position.Right||(this._axisType=AxisType.Y);this._minorTickMarks=TickMark.None;this._overlap=OverlappingLabels.Auto}get hostElement(){return this._hostElement}get actualMin(){return this._isTimeAxis?new Date(this._actualMin):this._actualMin}get actualMax(){return this._isTimeAxis?new Date(this._actualMax):this._actualMax}get min(){return this._min}set min(t){if(t!=this._min){this._isMinimumAuto=!1;wijmo_1.isDate(t)?this._min=wijmo_1.asDate(t,!0):this._min=wijmo_1.asNumber(t,!0);this._invalidate()}}get max(){return this._max}set max(t){if(t!=this._max){this._isMaximumAuto=!1;wijmo_1.isDate(t)?this._max=wijmo_1.asDate(t,!0):this._max=wijmo_1.asNumber(t,!0);this._invalidate()}}get reversed(){return this._reversed}set reversed(t){if(this._reversed!=t){this._reversed=wijmo_1.asBoolean(t);this._invalidate()}}get position(){return this._position}set position(t){if((t=wijmo_1.asEnum(t,Position,!1))!=this._position){t==Position.BottomLeft||t==Position.BottomRight||t==Position.TopLeft||t==Position.TopRight||t==Position.LeftTop||t==Position.LeftBottom||t==Position.RightTop||t==Position.RightBottom?this._position=this._axisType==AxisType.X?Position.Bottom:this._axisType==AxisType.Y?Position.Left:void 0:this._position=t;this._position==Position.Bottom||this._position==Position.Top?null==this._axisType?this._axisType=AxisType.X:this._axisType==AxisType.Y&&(this._position=Position.Left):this._position!=Position.Left&&this._position!=Position.Right||(null==this._axisType?this._axisType=AxisType.Y:this._axisType==AxisType.X&&(this._position=Position.Bottom));this._invalidate()}}get majorUnit(){return this._majorUnit}set majorUnit(t){if(t!=this._majorUnit){this._majorUnit=wijmo_1.asNumber(t,!0);this._invalidate()}}get minorUnit(){return this._minorUnit}set minorUnit(t){if(t!=this._minorUnit){this._minorUnit=wijmo_1.asNumber(t,!0);this._invalidate()}}get name(){return this._name}set name(t){t!=this._name&&(this._name=wijmo_1.asString(t,!0))}get title(){return this._title}set title(t){if(t!=this._title){this._title=wijmo_1.asString(t,!0);this._invalidate()}}get format(){return this._format}set format(t){if(t!=this._format){this._format=wijmo_1.asString(t,!0);this._invalidate()}}get majorGrid(){return this._majorGrid}set majorGrid(t){if(t!=this._majorGrid){this._majorGrid=wijmo_1.asBoolean(t,!0);this._invalidate()}}get majorTickMarks(){return this._majorTickMarks}set majorTickMarks(t){if((t=wijmo_1.asEnum(t,TickMark,!0))!=this._majorTickMarks){this._majorTickMarks=t;this._invalidate()}}get minorGrid(){return this._minorGrid}set minorGrid(t){if(t!=this._minorGrid){this._minorGrid=wijmo_1.asBoolean(t,!0);this._invalidate()}}get minorTickMarks(){return this._minorTickMarks}set minorTickMarks(t){if((t=wijmo_1.asEnum(t,TickMark,!0))!=this._minorTickMarks){this._minorTickMarks=t;this._invalidate()}}get axisLine(){return void 0===this._axisLine?this.axisType==AxisType.X:this._axisLine}set axisLine(t){if(t!=this._axisLine){this._axisLine=wijmo_1.asBoolean(t,!0);this._invalidate()}}get labels(){return this._labels}set labels(t){if(t!=this._labels){this._labels=wijmo_1.asBoolean(t,!0);this._invalidate()}}get labelAlign(){return this._labelAlign}set labelAlign(t){if(t!=this._labelAlign){this._labelAlign=wijmo_1.asString(t,!0);this._invalidate()}}get labelAngle(){return this._labelAngle}set labelAngle(t){if(t!=this._labelAngle){this._labelAngle=wijmo_1.asNumber(t,!0);this._invalidate()}}get labelMin(){return this._labelMin}set labelMin(t){if(t!=this._labelMin){this._labelMin=wijmo_1.asBoolean(t,!0);this._invalidate()}}get labelMax(){return this._labelMax}set labelMax(t){if(t!=this._labelMax){this._labelMax=wijmo_1.asBoolean(t,!0);this._invalidate()}}get origin(){return this._origin}set origin(t){if(t!=this._origin){this._origin=wijmo_1.asNumber(t,!0);this._invalidate()}}get overlappingLabels(){return this._overlap}set overlappingLabels(t){if((t=wijmo_1.asEnum(t,OverlappingLabels,!0))!=this._overlap){this._overlap=t;this._invalidate()}}get itemsSource(){return this._items}set itemsSource(t){if(this._items!=t){if(this._cv){this._cv.collectionChanged.removeHandler(this._cvCollectionChanged,this);this._cv=null}this._items=t;this._cv=wijmo_1.asCollectionView(t);null!=this._cv&&this._cv.collectionChanged.addHandler(this._cvCollectionChanged,this)}}get binding(){return this._binding}set binding(t){if(t!=this._binding){this._binding=wijmo_1.asString(t,!0);this._invalidate()}}get itemFormatter(){return this._ifmt}set itemFormatter(t){if(this._ifmt!=t){this._ifmt=wijmo_1.asFunction(t,!0);this._invalidate()}}get logBase(){return this._logBase}set logBase(t){if(t!=this._logBase){this._logBase=wijmo_1.asNumber(t,!0,!0);this._invalidate()}}get groupsOptions(){return this._groupsOptions}set groupsOptions(t){if(t!=this._groupsOptions){this._groupsOptions=t;this._invalidate()}}get axisLabels(){return this._actualLabels}_getLogBase(){return this._chart&&this._chart._stacking===Stacking.Stacked100pc?0:this.logBase}_isLogAxis(){let t=this._getLogBase();return null!=t&&t>0}get plotArea(){return this._parea}set plotArea(t){if(t!=this._parea){this._parea=wijmo_1.asType(t,PlotArea,!0);this._invalidate()}}get labelPadding(){return this._labelPadding}set labelPadding(t){if(t!=this._labelPadding){this._labelPadding=wijmo_1.asNumber(t,!0,!0);this._invalidate()}}get _groupClass(){return this.axisType===AxisType.X?FlexChartCore._CSS_AXIS_X:FlexChartCore._CSS_AXIS_Y}onRangeChanged(t){this.rangeChanged.raise(this,t)}_getPosition(){if(this.axisType==AxisType.X){if(this.position==Position.Auto)return Position.Bottom}else if(this.axisType==AxisType.Y&&this.position==Position.Auto)return Position.Left;return this.position}_isOverlapped(t,e,i,s){var r=this._lbls;if(null!=r&&r.length>1)for(var a=r.length,n=this._values&&this._values.length==a?this._values:null,h=0,o=0,l=0;l<a;l++){var _=n?n[l]:l;if(_>=this._actualMin&&_<=this._actualMax){var d=e*(_-this._actualMin)/(this._actualMax-this._actualMin),c=t.measureString(r[l],i,this._groupClass);if(this.axisType==AxisType.X){if(l>0&&Math.abs(d-h)<.5*(c.width+o))return!0;h=d;o=c.width}else this.axisType,AxisType.Y}}return!1}_getHeight(t,e){this._actualAngle=null;let i=FlexChartCore._CSS_LABEL,s=FlexChartCore._CSS_TITLE,r=.1*this._getActualRange(),a=this._lbls,n=this.labelAngle;if(this.labels&&this._chart._getChartType()!==ChartType.Funnel){r=this._updateAutoFormat(r);if(null!=a&&a.length>0){let s=a.length,r=this._values&&this._values.length==s?this._values:null;this._annoSize=new wijmo_1.Size;for(var h=0;h<s;h++){let e=r?r[h]:h;if(e>=this._actualMin&&e<=this._actualMax){let s=a[h],r=i;if(this.itemFormatter){let a=this._getFormattedItem(t,e,s,new wijmo_1.Point,i,!0);s=a.text;r=a.cls}let n=t.measureString(s,r,this._groupClass);this.axisType,AxisType.X,n.width>this._annoSize.width&&(this._annoSize.width=n.width);n.height>this._annoSize.height&&(this._annoSize.height=n.height)}}null==n&&this.axisType==AxisType.X&&(this._isOverlapped(t,Math.max(10,e-this._annoSize.width),i,this.axisType)?n=this._actualAngle=-45:this._actualAngle=0)}else if(wijmo_1.isNumber(this.majorUnit)&&this._axisType===AxisType.Y&&this.itemFormatter){let e=[],s=[];this._annoSize=new wijmo_1.Size;this._getAutoLbsAndVals(e,s);for(let e=0;e<s.length;e++){let r=s[e],a=this._formatValue(r),n=i;a=this._getFormattedItem(t,r,a,new wijmo_1.Point,i,!0).text;n=i;let h=t.measureString(a,n,this._groupClass);h.width>this._annoSize.width&&(this._annoSize.width=h.width);h.height>this._annoSize.height&&(this._annoSize.height=h.height)}}else{let e=this._actualMin-r,s=this._formatValue(e),a=i;if(this.itemFormatter){s=this._getFormattedItem(t,e,s,new wijmo_1.Point,i,!0).text;a=i}let n=t.measureString(s,a,this._groupClass);this._annoSize=n;e=this._actualMax+r;s=this._formatValue(e);a=i;if(this.itemFormatter){s=this._getFormattedItem(t,e,s,new wijmo_1.Point,i,!0).text;a=i}n=t.measureString(s,a,this._groupClass);n.width>this._annoSize.width&&(this._annoSize.width=n.width);n.height>this._annoSize.height&&(this._annoSize.height=n.height)}this._annoSizeBase=new wijmo_1.Size(this._annoSize.width,this._annoSize.height);if(n){n>90?n=90:n<-90&&(n=-90);let t=n*Math.PI/180,e=this._annoSize.width,i=this._annoSize.height;this._annoSize.width=e*Math.abs(Math.cos(t))+i*Math.abs(Math.sin(t));this._annoSize.height=e*Math.abs(Math.sin(t))+i*Math.abs(Math.cos(t));this._actualAngle=n}}else{this._annoSize=new wijmo_1.Size(8,8);this._annoSizeBase=new wijmo_1.Size(this._annoSize.width,this._annoSize.height)}let o=0;if(this.labels){o=2*(this._labelPadding||5);this._axisType==AxisType.X?o+=this._annoSize.height:o+=this._annoSize.width+this._TICK_LABEL_DISTANCE+2}let l=this._TICK_HEIGHT,_=this._TICK_OVERLAP,d=this.majorTickMarks;d==TickMark.Outside?_=1:d==TickMark.Inside?_=-1:d==TickMark.Cross&&(_=0);null==d&&(d=TickMark.Outside);d!=TickMark.None&&(o+=.5*(1+_)*l);if(this._title){let e=this._title;this._szTitle=t.measureString(e,s,this._groupClass);o+=this._szTitle.height}else this._szTitle=void 0;if(this._lbls&&this.groupsOptions&&this.groupsOptions.display!==AxisGroupsDisplay.None){this._groupsPanel||(this._groupsPanel=new _AxisGroups(this));this._groupsPanel.createGroups();o+=this._groupsPanel.getHeight(t)}t.fontSize=null;return o}_updateAutoFormat(t){if(this._isTimeAxis){var e=this.format,i=.001*this._getActualRange()/10,s=new _timeSpan(i*_timeSpan.TicksPerSecond),r=wijmo_1.isNumber(this._majorUnit)?_timeSpan.fromDays(this._majorUnit):_timeHelper.NiceTimeSpan(s,e);e||(this._tfmt=_timeHelper.GetTimeDefaultFormat(1e3*r.TotalSeconds,0));t=r.TotalSeconds}return t}_getActualRange(){return this._actualMax-this._actualMin}_updateActualLimitsByChartType(t,e,i){if(t&&t.length>0&&!this._isTimeAxis){var s=this._chart._getChartType();if(s!=ChartType.Column&&s!=ChartType.Bar){e-=.5;i+=.5}}return{min:e,max:i}}_updateActualLimits(t,e,i,s=null,r=null){var a=this._actualMin,n=this._actualMax;this._isTimeAxis=t==wijmo_1.DataType.Date;var h=this._updateActualLimitsByChartType(s,e,i);e=h.min;i=h.max;var o=this._min,l=this._max;wijmo_1.isDate(o)&&(o=o.valueOf());wijmo_1.isDate(l)&&(l=l.valueOf());let _=this._getSeries(),d=this._chart&&(null!=_&&void 0!==_._getChartType()||this._chart._stacking!==Stacking.Stacked100pc);d||(d=this._chart._isRotated()?this.axisType==AxisType.Y:this.axisType==AxisType.X);const c=this._actualMin=null!=o&&d?o:e;if(c==(this._actualMax=null!=l&&d?l:i))if(void 0!==o&&void 0===l)this._actualMax+=1;else if(void 0===o&&void 0!==l)this._actualMin-=1;else if(0===c)this._actualMax=1;else{const t=Math.abs(c);if(t<1){this._actualMin-=t;this._actualMax+=t}else{this._actualMin-=1;this._actualMax+=1}}if(this._getLogBase()>0){const t=this.logBase,e=Math.log(t);if(!this._max){var u=Math.ceil(Math.log(this._actualMax)/e);this._actualMax=Math.pow(t,u)}if(!this._min){var g=Math.floor(Math.log(this._actualMin)/e);this._actualMin=Math.pow(t,g)}(this._actualMin<=0||!wijmo_1.isNumber(this._actualMin))&&(this._actualMin=1);this._actualMax<this._actualMin?this._actualMax=this._actualMin+1:this._actualMax===this._actualMin&&(this._actualMin=.1*this._actualMax)}(a!=this._actualMin&&(wijmo_1.isNumber(a)||wijmo_1.isNumber(this._actualMin))||n!=this._actualMax&&(wijmo_1.isNumber(n)||wijmo_1.isNumber(this._actualMax)))&&this.onRangeChanged();if(this._items){this._values=[];this._lbls=[];var m=this._items.length,p="value",f="text";if(this.binding){var x=this.binding.split(",");if(2==x.length){p=x[0];f=x[1]}}for(var w=0;w<m;w++){var v=this._items[w],b=v[p];if(wijmo_1.isNumber(b)){this._values.push(b);this._lbls.push(v[f])}else if(wijmo_1.isDate(b)){this._values.push(b.getTime());this._lbls.push(v[f])}}}else{this._lbls=s;this._values=r}}_layout(t,e){var i=this.axisType==AxisType.Y;this._plotrect=e;this._axrect=i?new wijmo_1.Rect(t.left,t.top,t.height,t.width):t;this._groupsPanel&&this._groupsPanel.layout()}_hasVisibileSeries(){for(var t,e=this._chart.series,i=0,s=e.length;i<s;i++)if((t=e[i].visibility)==SeriesVisibility.Plot||t==SeriesVisibility.Visible)return!0;return!1}_getSeries(){if(this._chart)for(var t=this._chart.series,e=0,i=t.length;e<i;e++)if(t[e].axisY==this||t[e].axisX==this)return t[e];return null}_render(t){if(this.position!=Position.None&&this._hasVisibileSeries()){this.axisLabels.length=0;this._vals={};var e=0;this.labelAngle&&((e=this.labelAngle)>90?e=90:e<-90&&(e=-90));null==this.labelAngle&&null!=this._actualAngle&&(e=this._actualAngle);var i=FlexChartCore._FG,s=this._getActualRange();if(wijmo_1.isNumber(s)){var r=[],a=[];this._rects=[];this._vals.major=r;this._vals.hasLbls=[];var n=!1;if(this._lbls&&this._lbls.length>0){a=this._lbls;if(0==this._values.length){n=!0;for(var h=0;h<a.length;h++)r.push(h)}else r=this._values}else this._getAutoLbsAndVals(a,r);var o=Math.min(r.length,a.length);t.textFill=i;var l=this._TICK_HEIGHT,_=this._TICK_OVERLAP,d=this.majorTickMarks;null==d&&(d=TickMark.Outside);d==TickMark.Outside?_=1:d==TickMark.Inside?_=-1:d==TickMark.Cross&&(_=0);var c=.5*(_-1)*l,u=.5*(1+_)*l;for(h=0;h<o;h++){var g=!0,m=r[h],p=a[h],f=this.labels;f&&(n||this.itemsSource)&&this.majorUnit&&h%this.majorUnit!=0&&(f=!1);if(m>=this._actualMin&&m<=this._actualMax){var x=t.textFill;g=this._renderLabelsAndTicks(t,h,m,p,e,d,f,c,u);t.textFill=x}this._vals.hasLbls.push(g);g&&this.axisLabels.push(p)}}(this.minorGrid||this.minorTickMarks!=TickMark.None)&&this._renderMinor(t,r,n);t.stroke=i;t.fontSize=null;this._renderLineAndTitle(t);this._lbls&&this.groupsOptions&&this.groupsOptions.display!==AxisGroupsDisplay.None&&this._groupsPanel&&this._groupsPanel.render(t);t.stroke=null;t.fontSize=null;t.textFill=null;t.strokeWidth=null}}_getAutoLbsAndVals(t,e){var i=this._actualMax-this._actualMin,s=this._calcMajorUnit();0==s&&(s=.1*this._niceTickNumber(i));var r=Math.floor(this._actualMin/s)*s;r<this._actualMin&&(r+=s);var a=Math.min(Axis.MAX_MAJOR,Math.floor(i/s)+1);if(this._isTimeAxis){this._createTimeLabels(r,a,e,t);this._addMinMaxLabels(e,t)}else if(this._getLogBase()){this._createLogarithmicLabels(this._actualMin,this._actualMax,this.majorUnit,e,t,!0);this._addMinMaxLabels(e,t)}else{this._createLabels(r,a,s,e,t);this._addMinMaxLabels(e,t)}}_renderLineAndTitle(t){var e=this._getPosition(),i=this.axisType==AxisType.Y,s=e!=Position.Top&&e!=Position.Right,r=FlexChartCore._CSS_TITLE,a=FlexChartCore._CSS_LINE;if(i)if(s){if(this._title){var n=new wijmo_1.Point(this._axrect.left+.5*this._szTitle.height,this._axrect.top+.5*this._axrect.height);FlexChartCore._renderRotatedText(t,this._title,n,1,1,n,-90,r,this._groupClass)}this.axisLine&&t.drawLine(this._axrect.right,this._axrect.top,this._axrect.right,this._axrect.bottom,a)}else{if(this._title){n=new wijmo_1.Point(this._axrect.right-.5*this._szTitle.height,this._axrect.top+.5*this._axrect.height);FlexChartCore._renderRotatedText(t,this._title,n,1,1,n,90,r,this._groupClass)}this.axisLine&&t.drawLine(this._axrect.left,this._axrect.top,this._axrect.left,this._axrect.bottom,a)}else if(s){this.axisLine&&t.drawLine(this._axrect.left,this._axrect.top,this._axrect.right,this._axrect.top,a);this._title&&FlexChartCore._renderText(t,this._title,new wijmo_1.Point(this._axrect.left+.5*this._axrect.width,this._axrect.bottom),1,2,r)}else{this.axisLine&&t.drawLine(this._axrect.left,this._axrect.bottom,this._axrect.right,this._axrect.bottom,a);this._title&&FlexChartCore._renderText(t,this._title,new wijmo_1.Point(this._axrect.left+.5*this._axrect.width,this._axrect.top),1,0,r)}}_renderMinor(t,e,i){var s=this._getPosition(),r=this.axisType==AxisType.Y,a=s!=Position.Top&&s!=Position.Right;this._getLogBase()?this._createLogarithmicMinors(t,e,r,a,i):this._createMinors(t,e,r,a,i)}_renderRotatedText(t,e,i,s,r,a,n,h,o,l,_){if(this.itemFormatter){var d=this._getFormattedItem(t,e,i,s,o);if(d){i=d.text;o=d.cls}else i=null}FlexChartCore._renderRotatedText(t,i,s,r,a,n,h,o,l,_)}_getFormattedItem(t,e,i,s,r,a=!1){if(this.itemFormatter){let n=s.clone();this._plotrect&&(this.axisType==AxisType.X?this.position==Position.Top?n.y=this._plotrect.top:n.y=this._plotrect.bottom:this.position==Position.Right?n.x=this._plotrect.right:n.x=this._plotrect.left);let h={val:e,text:i,pos:n,cls:r};a&&(t.readOnly=!0);h=this.itemFormatter(t,h);a&&(t.readOnly=!1);return h}}_renderLabelsAndTicks(t,e,i,s,r,a,n,h,o){var l=this._getPosition(),_=!1,d=this.axisType==AxisType.Y,c=l!=Position.Top&&l!=Position.Right,u=this.labelPadding||5,g=this._TICK_WIDTH,m=this._getLabelAlign(d),p=FlexChartCore._CSS_LABEL,f=FlexChartCore._CSS_GRIDLINE,x=FlexChartCore._CSS_TICK,w=FlexChartCore._FG,v=FlexChartCore._FG,b=this._GRIDLINE_WIDTH,y=i!=this._actualMin&&this.majorGrid;if(d){var S=this.convert(i);if(y){t.stroke=w;t.strokeWidth=b;t.drawLine(this._plotrect.left,S,this._plotrect.right,S,f)}t.stroke=v;t.strokeWidth=g;if(c){if(n){_=!0;var C=new wijmo_1.Point(this._axrect.right-o-this._TICK_LABEL_DISTANCE-u,S);r>0?90==r?this._renderRotatedText(t,i,s,C,1,0,C,r,p,this._groupClass):this._renderRotatedText(t,i,s,C,2,1,C,r,p,this._groupClass):r<0?-90==r?this._renderRotatedText(t,i,s,C,1,2,C,r,p,this._groupClass):this._renderRotatedText(t,i,s,C,2,1,C,r,p,this._groupClass):_=this._renderLabel(t,i,s,C,2,m,p)}a!=TickMark.None&&_&&t.drawLine(this._axrect.right-h,S,this._axrect.right-o,S,x)}else{if(n){_=!0;C=new wijmo_1.Point(this._axrect.left+o+this._TICK_LABEL_DISTANCE+u,S);r>0?90==r?this._renderRotatedText(t,i,s,C,1,2,C,r,p,this._groupClass):this._renderRotatedText(t,i,s,C,0,1,C,r,p,this._groupClass):r<0?-90==r?this._renderRotatedText(t,i,s,C,1,0,C,r,p,this._groupClass):this._renderRotatedText(t,i,s,C,0,1,C,r,p,this._groupClass):_=this._renderLabel(t,i,s,C,0,m,p)}a!=TickMark.None&&_&&t.drawLine(this._axrect.left+h,S,this._axrect.left+o,S,x)}}else{var T=this.convert(i);if(y&&n){t.stroke=w;t.strokeWidth=b;t.drawLine(T,this._plotrect.top,T,this._plotrect.bottom,f)}this.overlappingLabels==OverlappingLabels.Auto&&this._xCross(T)&&(n=!1);t.stroke=v;t.strokeWidth=g;if(c){if(n){C=new wijmo_1.Point(T,this._axrect.top+o+u);_=0!=r?this._renderRotatedLabel(t,i,s,C,m,r,p,c):this._renderLabel(t,i,s,C,m,0,p)}if(a!=TickMark.None&&_){T=this.convert(i);t.drawLine(T,this._axrect.top+h,T,this._axrect.top+o,x)}}else{if(n){C=new wijmo_1.Point(T,this._axrect.bottom-o-u);_=0!=r?this._renderRotatedLabel(t,i,s,C,m,r,p,c):this._renderLabel(t,i,s,C,m,2,p)}if(a!=TickMark.None&&_){T=this.convert(i);t.drawLine(T,this._axrect.bottom-h,T,this._axrect.bottom-o,x)}}}return _}_xCross(t){for(var e=this._rects.length,i=0;i<e;i++){var s=this._rects[i];if(t>=s.left&&t<=s.right)return!0}return!1}_createMinors(t,e,i,s,r){if(e){var a=this.majorUnit?this._isTimeAxis?24*this.majorUnit*3600*1e3:this.majorUnit:e.length>1?e[1]-e[0]:e[0],n=wijmo_1.isNumber(this.minorUnit)?this._isTimeAxis?24*this.minorUnit*3600*1e3:this.minorUnit:.5*a;if(n<=0)return;for(var h=[],o=e[0];o>this._actualMin&&h.length<Axis.MAX_MINOR;o-=n)-1==e.indexOf(o)&&h.push(o);for(o=e[0]+n;o<this._actualMax&&h.length<Axis.MAX_MINOR;o+=n)(-1==e.indexOf(o)||r&&this.majorUnit&&o%this.majorUnit!=0)&&h.push(o);this._renderMinors(t,h,i,s)}}_createLogarithmicMinors(t,e,i,s,r){if(e&&(!this.minorUnit||this.minorUnit<this._getLogBase())){var a=this.logBase;this.majorUnit>a&&(a=this.majorUnit);if(0==e.length){var n=Math.log(a),h=Math.floor(Math.log(this._actualMin)/n),o=Math.ceil(Math.log(this.actualMax)/n);if(this.majorUnit>0){e.push(Math.pow(a,h));e.push(Math.pow(a,o))}else{e.push(Math.pow(a,o));e.push(Math.pow(a,h))}}this.minorUnit||(this.minorUnit=a-1<1?.2*(a-1):.2*a);var l=[];if(this.majorUnit>0){for(var _=e[0]-e[0]/a*this.minorUnit;_>=this._actualMin&&l.length<Axis.MAX_MINOR;_-=e[0]/a*this.minorUnit)l.push(_);for(var d=0;d<e.length-1;d++)for(_=e[d]+e[d]*this.minorUnit;_<e[d+1]&&l.length<Axis.MAX_MINOR;_+=e[d]*this.minorUnit)_>=this._actualMin&&_<=this._actualMax&&l.push(_);for(_=e[e.length-1]+e[e.length-1]*this.minorUnit;_<=this._actualMax&&l.length<Axis.MAX_MINOR;_+=e[e.length-1]*this.minorUnit)l.push(_)}else{for(_=e[e.length-1]-e[e.length-1]/a*this.minorUnit;_>=this._actualMin&&l.length<Axis.MAX_MINOR;_-=e[e.length-1]/a*this.minorUnit)l.push(_);for(d=0;d<e.length-1;d++)for(_=e[d]-e[d+1]*this.minorUnit;_>e[d+1]&&l.length<Axis.MAX_MINOR;_-=e[d+1]*this.minorUnit)_>=this._actualMin&&_<=this._actualMax&&l.push(_);for(_=e[0]+e[0]*this.minorUnit;_<=this._actualMax&&l.length<Axis.MAX_MINOR;_+=e[0]*this.minorUnit)l.push(_)}this._renderMinors(t,l,i,s)}}_renderMinors(t,e,i,s){var r=this._TICK_HEIGHT,a=this._TICK_WIDTH,n=this._TICK_OVERLAP,h=FlexChartCore._FG,o=this.minorTickMarks,l=!0;this._vals.minor=e;o==TickMark.Outside?n=1:o==TickMark.Inside?n=-1:o==TickMark.Cross?n=0:l=!1;for(var _=.5*(n-1)*r,d=.5*(1+n)*r,c=e?e.length:0,u=this.minorGrid,g=this._plotrect,m=this._GRIDLINE_WIDTH,p=FlexChartCore._FG,f=FlexChartCore._CSS_GRIDLINE_MINOR,x=FlexChartCore._CSS_TICK_MINOR,w=0;w<c;w++)if(e[w]>=this.actualMin&&e[w]<=this.actualMax)if(i){var v=this.convert(e[w]);if(l){t.stroke=h;t.strokeWidth=a;s?t.drawLine(this._axrect.right-_,v,this._axrect.right-d,v,x):t.drawLine(this._axrect.left+_,v,this._axrect.left+d,v,x)}if(u){t.stroke=p;t.strokeWidth=m;t.drawLine(g.left,v,g.right,v,f)}}else{var b=this.convert(e[w]);if(l){t.stroke=h;t.strokeWidth=a;s?t.drawLine(b,this._axrect.top+_,b,this._axrect.top+d,x):t.drawLine(b,this._axrect.bottom-_,b,this._axrect.bottom-d,x)}if(u){t.stroke=p;t.strokeWidth=m;t.drawLine(b,g.top,b,g.bottom,f)}}}_renderLabel(t,e,i,s,r,a,n){var h=!1;if(this.itemFormatter){var o=this._getFormattedItem(t,e,i,s,n);if(o){i=o.text;n=o.cls}else i=null}if(i){var l=this._rects,_=this.overlappingLabels==OverlappingLabels.Auto&&!wijmo_1.isNumber(this._actualAngle),d=FlexChartCore._renderText(t,i,s,r,a,n,this._groupClass,null,(function(t){if(_)for(var e=l.length,i=0;i<e;i++)if(FlexChartCore._intersects(l[i],t))return!1;return!0}));if(d){d.left+=4;d.width+=8;l.push(d);h=!0}}return h}_renderRotatedLabel(t,e,i,s,r,a,n,h){if(this.itemFormatter){var o=this._getFormattedItem(t,e,i,s,n);if(o){i=o.text;n=o.cls}else i=null}if(i){var l=t.measureString(i,n,this._groupClass),_=.5*l.height,d=.5*l.width*Math.abs(Math.sin(a*Math.PI/180)),c=.5*l.width,u=.5*(l.width*Math.abs(Math.cos(a*Math.PI/180))+l.height*Math.abs(Math.sin(a*Math.PI/180))),g=new wijmo_1.Point(s.x,s.y),m=new wijmo_1.Point(s.x,s.y);this.labelAlign||(r=90==a||-90==a?1:h?a>0?0:2:a>0?2:0);if(h){s.y+=_+d;g.y+=_+d-.5*l.height}else{s.y-=_+d-l.height;g.y-=_+d-.5*l.height}var p=0;if(2===r){g.x-=u;s.x-=c+u;p=g.x+u-l.height-2}else if(0===r){g.x+=u;s.x-=c-u;p=g.x-u}else{s.x-=c;p=g.x-l.height/2}var f=new wijmo_1.Rect(p,m.y,l.height+2,l.width),x=this._rects;if(this.overlappingLabels==OverlappingLabels.Auto)for(var w=x.length,v=0;v<w;v++)if(FlexChartCore._intersects(x[v],f))return!1;FlexChartCore._renderRotatedText(t,i,s,0,2,g,a,n,this._groupClass);this._rects.push(f);return!0}return!1}_getLabelAlign(t){var e=1;if(this.labelAlign){var i=this.labelAlign.toLowerCase();t?"top"==i?e=0:"bottom"==i&&(e=2):"left"==i?e=0:"right"==i&&(e=2)}return e}_addMinMaxLabels(t,e){if(this.labelMin){const i=this.actualMin;if(isFinite(i)&&!t.includes(i)){e.splice(0,0,this._formatValue(i));t.splice(0,0,i)}}if(this.labelMax){const i=this.actualMax;if(isFinite(i)&&!t.includes(i)){e.splice(0,0,this._formatValue(i));t.splice(0,0,i)}}}convert(t,e,i){var s=null==e?this._actualMax:e,r=null==i?this._actualMin:i;if(s==r||!this._axrect)return 0;var a=this._axrect.left,n=this._axrect.width,h=this._axrect.top,o=this._axrect.height;if(null!=this._customConvert){var l=this._customConvert(t,r,s);return this.axisType==AxisType.Y?h+l*o:a+l*n}if(this._getLogBase()){if(t<=0)return NaN;var _=Math.log(s/r);return this._reversed?this.axisType==AxisType.Y?h+Math.log(t/r)/_*o:a+n-Math.log(t/r)/_*n:this.axisType==AxisType.Y?h+o-Math.log(t/r)/_*o:a+Math.log(t/r)/_*n}return this._reversed?this.axisType==AxisType.Y?h+(t-r)/(s-r)*o:a+n-(t-r)/(s-r)*n:this.axisType==AxisType.Y?h+o-(t-r)/(s-r)*o:a+(t-r)/(s-r)*n}convertBack(t){if(this._actualMax==this._actualMin)return 0;var e=this._plotrect.left,i=this._plotrect.width,s=this._plotrect.top,r=this._plotrect.height,a=this._getActualRange(),n=this._getLogBase();if(null!=this._customConvertBack)return this.axisType==AxisType.Y?this._customConvertBack((t-s)/r,this._actualMin,this._actualMax):this._customConvertBack((t-e)/i,this._actualMin,this._actualMax);if(n){var h=0;h=this._reversed?this.axisType==AxisType.Y?(t-s)/r:1-(t-e)/i:this.axisType==AxisType.Y?1-(t-s)/r:(t-e)/i;return Math.pow(n,(Math.log(this._actualMin)+(Math.log(this._actualMax)-Math.log(this._actualMin))*h)/Math.log(n))}return this._reversed?this.axisType==AxisType.Y?this._actualMin+(t-s)*a/r:this._actualMin+(e+i-t)*a/i:this.axisType==AxisType.Y?this._actualMax-(t-s)*a/r:this._actualMin+(t-e)*a/i}get axisType(){var t=this._chart;if(t){if(t.axisX==this)return AxisType.X;if(t.axisY==this)return AxisType.Y}return this._axisType}_getMinNum(){return this._actualMin}_getMaxNum(){return this._actualMax}_getTitleSize(){return this._szTitle?this._szTitle:new wijmo_1.Size}_invalidate(){this._chart&&this._chart.invalidate()}_cvCollectionChanged(t,e){this._invalidate()}_createLabels(t,e,i,s,r){for(var a=0;a<e;a++){var n=(t+i*a).toFixed(14),h=parseFloat(n),o=this._formatAxisValue(h);let e=r.indexOf(o);if(e>=0&&!wijmo_1.isNumber(this.majorUnit)&&!this._format){let t=parseFloat(o);Math.abs(t-h)<Math.abs(t-s[e])&&(s[e]=h)}else{s.push(h);r.push(o)}}}_createLogarithmicLabels(t,e,i,s,r,a){var n=this._getLogBase(),h=Math.log(n),o=Math.floor(Math.log(t)/h),l=Math.ceil(Math.log(e)/h),_=n,d=!0;if(i>0){d=!1;_=i}_<n&&(_=n);var c=(l-o+1)*n/_,u=1;if(a){var g=this._getPosition(),m=this._getAnnoNumber(g==Position.Left||g==Position.Right);c>m?u=Math.floor(c/m+1):d&&(c<=.2*m?_=.2*n:c<=.1*m&&(_=.1*n))}for(var p=o;p<=l;p+=u)if(d)for(var f=Math.pow(n,p),x=0;x*_<n-1;x++){if((w=f*(1+x*_))>=t&&w<=e)if(0==x){s.unshift(w);r&&r.unshift(this._formatValue(w))}else if(!this.minorGrid&&this.minorTickMarks==TickMark.None){s.push(w);r&&r.push(this._formatValue(w))}}else{var w;if((w=Math.pow(_,p))>=t&&w<=e){s.push(w);r&&r.push(this._formatValue(w))}}}_createTimeLabels(t,e,i,s){var r=this._actualMin,a=this._actualMax,n=new Date(r),h=new Date(a),o=this._format,l=this._getAnnoNumber(this._axisType==AxisType.Y);l>10&&(l=10);var _=.001*(this._actualMax-this._actualMin)/l,d=new _timeSpan(_*_timeSpan.TicksPerSecond),c=wijmo_1.isNumber(this._majorUnit)?_timeSpan.fromDays(this._majorUnit):_timeHelper.NiceTimeSpan(d,o);o||(this._tfmt=o=_timeHelper.GetTimeDefaultFormat(1e3*c.TotalSeconds,0));var u=c.Ticks,g=_timeHelper.RoundTime(r,c.TotalDays,!1);isFinite(g)&&(r=g);var m=_timeHelper.RoundTime(a,c.TotalDays,!0);isFinite(m)&&(a=m);var p=new Date(r);new Date(a);if(c.TotalDays>=365&&!wijmo_1.isNumber(this._majorUnit)){(p=new Date(n.getFullYear(),0,1))<n&&p.setFullYear(p.getFullYear()+1);var f=c.TotalDays/365;f-=f%1;for(var x=p;x<=h&&f;x.setFullYear(x.getFullYear()+f)){var w=x.valueOf();i.push(w);s.push(this._formatValue(w))}}else if(c.TotalDays>=30&&!wijmo_1.isNumber(this._majorUnit)){(p=new Date(n.getFullYear(),n.getMonth(),1))<n&&p.setMonth(p.getMonth()+1);var v=c.TotalDays/30;v-=v%1;for(x=p;x<=h;x.setMonth(x.getMonth()+v)){w=x.valueOf();i.push(w);s.push(this._formatValue(w))}}else{var b=1e3*u/_timeSpan.TicksPerSecond,y=(x=p,n.getTime()-x.getTime());y>b&&(x=new Date(x.getTime()+Math.floor(y/b)*b));for(;x<=h&&b;x=new Date(x.getTime()+b)){if((w=x.valueOf()+y)>=n.valueOf()){i.push(w);s.push(this._formatValue(w))}}}}_formatValue(t){if(this._isTimeAxis)return this._format?wijmo_1.Globalize.format(new Date(t),this._format):wijmo_1.Globalize.format(new Date(t),this._tfmt);if(this._format)return wijmo_1.Globalize.format(t,this._format);var e=t==Math.round(t)?"n0":"n";return wijmo_1.Globalize.format(t,e)}_hitTest(t){return this._groupsPanel?this._groupsPanel.hitTest(t):void 0}_formatAxisValue(t,e){if(this._isTimeAxis)return this._format?wijmo_1.Globalize.format(new Date(t),this._format):wijmo_1.Globalize.format(new Date(t),this._tfmt);if(this._format)return wijmo_1.Globalize.format(t,this._format);if(wijmo_1.isNumber(t)){let i=this._findFormat(t,e);return wijmo_1.Globalize.format(t,i)}return t}_findFormat(t,e){var i=t==Math.round(t)?"n0":"n";void 0!==e&&(i+=e.toString());if("n"==i){let s=t.toFixed(14),r=s.search(".");if(r>=0){e=1;for(let t=s.length-1;t>=r;t--)if("0"!=s[t]){e=t-r-1;break}i+=e.toString()}}return i}_calcMajorUnit(){var t=this._majorUnit;if(!wijmo_1.isNumber(t)){var e=this._getActualRange(),i=this._nicePrecision(e),s=e/this._getAnnoNumber(this.axisType==AxisType.Y);(t=this._niceNumber(2*s,-i,!0))<s&&(t=this._niceNumber(s,1-i,!1));t<s&&(t=this._niceTickNumber(s))>s&&(t*=.5)}return t}_getAnnoNumber(t){var e=t?this._annoSizeBase&&this._annoSizeBase.height:this._annoSize&&this._annoSize.width,i=t?this._axrect&&this._axrect.height:this._axrect&&this._axrect.width;if(e>0&&i>0){var s=Math.floor(i/(e+6));s<=0&&(s=1);return s}return 10}_nicePrecision(t){if(!wijmo_1.isNumber(t)||t<=0)return 0;var e,i=Math.log(t)/Math.LN10;e=i>=0?Math.floor(i):Math.ceil(i);var s=t/Math.pow(10,e);if(s<3){e=1-e;(s=t/Math.pow(10,e))<3&&(e+=1)}return e}_niceTickNumber(t){if(0==t)return t;t<0&&(t=-t);var e=Math.log(t)/Math.LN10,i=Math.floor(e),s=t/Math.pow(10,i),r=10;s<=1?r=1:s<=2?r=2:s<=5&&(r=5);return r*Math.pow(10,i)}_niceNumber(t,e,i){if(0==t)return t;t<0&&(t=-t);var s=t/Math.pow(10,e),r=10;i?s<1.5?r=1:s<3?r=2:s<4.5?r=4:s<7&&(r=5):s<=1?r=1:s<=2?r=2:s<=5&&(r=5);return r*Math.pow(10,e)}get _uniqueId(){return this.__uniqueId}}Axis.MAX_MAJOR=1e3;Axis.MAX_MINOR=2e3;Axis._id=0;exports.Axis=Axis;class AxisCollection extends wijmo_1.ObservableArray{getAxis(t){var e=this.indexOf(t);return e>-1?this[e]:null}indexOf(t){for(var e=0;e<this.length;e++)if(this[e].name==t)return e;return-1}}exports.AxisCollection=AxisCollection;!function(t){t[t.tickf7=-7]="tickf7";t[t.tickf6=-6]="tickf6";t[t.tickf5=-5]="tickf5";t[t.tickf4=-4]="tickf4";t[t.tickf3=-3]="tickf3";t[t.tickf2=-2]="tickf2";t[t.tickf1=-1]="tickf1";t[t.second=1]="second";t[t.minute=60]="minute";t[t.hour=3600]="hour";t[t.day=86400]="day";t[t.week=604800]="week";t[t.month=2678400]="month";t[t.year=31536e3]="year";t[t.maxtime=Number.MAX_VALUE]="maxtime"}(_tmInc||(_tmInc={}));class _timeSpan{constructor(t){this.ticks=t}get Ticks(){return this.ticks}get TotalSeconds(){return this.ticks/1e7}get TotalDays(){return this.ticks/1e7/86400}static fromSeconds(t){return new _timeSpan(1e7*t)}static fromDays(t){return new _timeSpan(1e7*t*24*60*60)}}_timeSpan.TicksPerSecond=1e7;class _timeHelper{constructor(t){wijmo_1.isDate(t)?this.init(t):wijmo_1.isNumber(t)&&this.init(FlexChartCore._fromOADate(t))}init(t){this.year=t.getFullYear();this.month=t.getMonth();this.day=t.getDate();this.hour=t.getHours();this.minute=t.getMinutes();this.second=t.getSeconds()}getTimeAsDateTime(){if(this.hour>=24){this.hour-=24;this.day+=1}if(this.month<0){-1-this.day;this.month=1}else if(this.month>11){this.month-12;this.month=11}if(this.day<1){-1-this.day;this.day=1}else if(this.day>28&&1==this.month){this.day-28;this.day=28}else if(this.day>30&&(3==this.month||5==this.month||8==this.month||10==this.month)){this.day-30;this.day=30}else if(this.day>31){this.day-31;this.day=31}if(this.second>59){this.second-59;this.second=59}if(this.minute>59){this.minute-59;this.minute=59}return new Date(this.year,this.month,this.day,this.hour,this.minute,this.second)}getTimeAsDouble(){return this.getTimeAsDateTime().valueOf()}static tround(t,e,i){var s=t/e*e;s-=s%1;i&&s!=t&&(s+=e-=e%1);return s}static RoundTime(t,e,i){var s=24*e*60*60;if(s>0){var r=new _timeHelper(t);if(s<_tmInc.minute){r.second=this.tround(r.second,s,i);return r.getTimeAsDouble()}r.second=0;if(s<_tmInc.hour){s/=_tmInc.minute;r.minute=this.tround(r.minute,s,i);return r.getTimeAsDouble()}r.minute=0;if(s<_tmInc.day){s/=_tmInc.hour;r.hour=this.tround(r.hour,s,i);return r.getTimeAsDouble()}r.hour=0;if(s<_tmInc.month){s/=_tmInc.day;r.day=this.tround(r.day,s,i);return r.getTimeAsDouble()}r.day=1;if(s<_tmInc.year){s/=_tmInc.month;1!=r.month&&(r.month=this.tround(r.month,s,i));return r.getTimeAsDouble()}r.month=1;s/=_tmInc.year;r.year=this.tround(r.year,s,i);return r.getTimeAsDouble()}var a=t,n=a-s,h=n/e*e;i&&h!=n&&(h+=e);return a=s+h}static TimeSpanFromTmInc(t){var e=_timeSpan.fromSeconds(1);if(t!=_tmInc.maxtime)if(t>_tmInc.tickf1)e=_timeSpan.fromSeconds(t);else{var i=t,s=1;i+=7;for(;i>0;){s*=10;i--}e=new _timeSpan(s)}return e}static manualTimeInc(t){var e=_tmInc.second;if(null==t||0==t.length)return e;var i=t.indexOf("f");if(i>=0){var s=-1;if(i>0&&"%"==t.substr(i-1,1))s=-1;else for(var r=1;r<6&&!(i+r>=t.length);r++){if("f"!=t.substr(i+r,1))break;s--}e=s}else t.indexOf("s")>=0?e=_tmInc.second:t.indexOf("m")>=0?e=_tmInc.minute:t.indexOf("h")>=0||t.indexOf("H")?e=_tmInc.hour:t.indexOf("d")>=0?e=_tmInc.day:t.indexOf("M")>=0?e=_tmInc.month:t.indexOf("y")>=0&&(e=_tmInc.year);return e}static getNiceInc(t,e,i){for(var s=0;s<t.length;s++){var r=t[s]*i;if(e<=r)return r}return 0}static NiceTimeSpan(t,e){var i=_tmInc.second;null!=e&&e.length>0&&(i=_timeHelper.manualTimeInc(e));var s=0,r=0;if(i<_tmInc.second&&t.TotalSeconds<10){s=t.Ticks;r=_timeHelper.TimeSpanFromTmInc(i).Ticks;for(;s>10*r;)r*=10;var a=r;s>a&&(a*=2);s>a&&(a=5*r);s>a&&(a=10*r);return new _timeSpan(a)}if(0==(s=Math.ceil(t.TotalSeconds)))return _timeHelper.TimeSpanFromTmInc(i);r=1;if(i<_tmInc.minute){if(s<_tmInc.minute&&0!=(r=_timeHelper.getNiceInc([1,2,5,10,15,30],s,i)))return _timeSpan.fromSeconds(r);i=_tmInc.minute}if(i<_tmInc.hour){if(s<_tmInc.hour&&0!=(r=_timeHelper.getNiceInc([1,2,5,10,15,30],s,i)))return _timeSpan.fromSeconds(r);i=_tmInc.hour}if(i<_tmInc.day){if(s<_tmInc.day&&0!=(r=_timeHelper.getNiceInc([1,3,6,12],s,i)))return _timeSpan.fromSeconds(r);i=_tmInc.day}if(i<_tmInc.month){if(s<_tmInc.month&&0!=(r=_timeHelper.getNiceInc([1,2,7,14],s,i)))return _timeSpan.fromSeconds(r);i=_tmInc.month}if(i<_tmInc.year){if(s<_tmInc.year&&0!=(r=_timeHelper.getNiceInc([1,2,3,4,6],s,i)))return _timeSpan.fromSeconds(r);i=_tmInc.year}s<(r=100*_tmInc.year)&&0==(r=_timeHelper.getNiceInc([1,2,5,10,20,50],s,i))&&(r=100*_tmInc.year);return _timeSpan.fromSeconds(r)}static NiceTimeUnit(t,e){var i=_timeSpan.fromDays(t);return(i=_timeHelper.NiceTimeSpan(i,e)).TotalDays}static GetTimeDefaultFormat(t,e){if(!wijmo_1.isNumber(t)||!wijmo_1.isNumber(e))return"";var i="s",s=_timeSpan.fromSeconds(.001*(t-e)),r=s.TotalSeconds;if(r>=_tmInc.year)i="yyyy";else if(r>=_tmInc.month)i="MMM yyyy";else if(r>=_tmInc.day)i="MMM d";else if(r>=_tmInc.hour)i="ddd H:mm";else if(r>=.5*_tmInc.hour)i="H:mm";else if(r>=1)i="H:mm:ss";else if(r>0){var a=s.Ticks;i="s.";for(;a<_timeSpan.TicksPerSecond;){a*=10;i+="f"}}return i}}_timeHelper.secInYear=86400;class _AxisLabel{constructor(t,e,i){this._start=e-.5;this._end=e+i-.5;this._value=e+.5*(i-1);this._label=t}get value(){return this._value}get label(){return this._label}get start(){return this._start}get end(){return this._end}set rect(t){this._rect=t}get rect(){return this._rect}}exports._AxisLabel=_AxisLabel;class _AxisGroup{constructor(t,e){this._labels=[];this._index=0;this._size=new wijmo_1.Size;this._level=0;this._level=t;this._last=e}get labels(){return this._labels}set index(t){this._index=t}get index(){return this._index}set height(t){this._size.height=t}get height(){return this._size.height}set width(t){this._size.width=t}get width(){return this._size.width}get level(){return this._level}getSize(t,e,i){this._size=new wijmo_1.Size;this.labels.forEach(s=>{const r=t.measureString(s.label,e,i);this._size.width=Math.max(this._size.width,r.width);this._size.height=Math.max(this._size.height,r.height)});return this._size}render(t,e,i,s,r){const a=e._getPosition(),n=e.axisType===AxisType.X;this.labels.forEach(h=>{let o,l=h.label,_=!1;const d=n?Math.abs(e.convert(h.end)-e.convert(h.start)):this.width,c=t.measureString(l,s,r);if(c.width>d){l=this._trimText(l,c.width,d);_=!0}switch(a){case Position.Bottom:o=FlexChartCore._renderText(t,l,new wijmo_1.Point(e.convert(h.value),i),1,2,s,r);break;case Position.Top:o=FlexChartCore._renderText(t,l,new wijmo_1.Point(e.convert(h.value),i),1,0,s,r);break;case Position.Left:o=FlexChartCore._renderText(t,l,new wijmo_1.Point(i+this._size.width,e.convert(h.value)),2,1,s,r);break;case Position.Right:o=FlexChartCore._renderText(t,l,new wijmo_1.Point(i-this._size.width,e.convert(h.value)),0,1,s,r)}h.rect=_?o:void 0});a===Position.Bottom||a===Position.Top?this.renderLinesX(t,e,i):this.renderLinesY(t,e,i)}hitTest(t){let e;for(let i=0;i<this.labels.length;i++){const s=this.labels[i];if(s.rect&&s.rect.contains(t)){e=s;break}}return e}renderLinesX(t,e,i){const s=e.groupsOptions.display===AxisGroupsDisplay.ShowGrid,r=e._getPosition();let a=4,n=r===Position.Bottom?1:-1,h=i-n*(this.height+a);a*=n;if(s){let s=e.convert(e.actualMin),r=e.convert(e.actualMax);this.drawLine(t,s,i+a,r,i+a);this.drawLine(t,s,h,r,h);let o=e.convert(this.labels[0].start),l=0===this.level?1===n?e._axrect.top:e._axrect.bottom:h;this.drawLine(t,o,i+a,o,l);this.labels.forEach(s=>{let r=new wijmo_1.Point(e.convert(s.end),i);this._last?this.drawLine(t,r.x,r.y+a,r.x,1===n?e._axrect.top:e._axrect.bottom):this.drawLine(t,r.x,r.y+a,r.x,l)})}else this.labels.forEach(i=>{let s=e.convert(i.start)+Math.abs(a),r=e.convert(i.end)-Math.abs(a);this.drawLine(t,s,h,r,h);if(e.labels||!this._last){this.drawLine(t,s,h,s,h-2*a);this.drawLine(t,r,h,r,h-2*a)}let n=e.convert(i.value);this.drawLine(t,n,h,n,h+a)})}renderLinesY(t,e,i){const s=e.groupsOptions.display===AxisGroupsDisplay.ShowGrid,r=e._getPosition();let a=4,n=r===Position.Left?-1:1,h=i-n*(this.width+a);a*=n;if(s){let s=e.convert(e.actualMin),r=e.convert(e.actualMax);this.drawLine(t,i+a,s,i+a,r);this.drawLine(t,h,s,h,r);let o=e.convert(this.labels[0].start),l=0===this.level?1===n?e._axrect.left:e._axrect.right:h;this.drawLine(t,i+a,o,l,o);this.labels.forEach(s=>{let r=e.convert(s.end);this._last?this.drawLine(t,i+a,r,1===n?e._axrect.left:e._axrect.right,r):this.drawLine(t,i+a,r,l,r)})}else this.labels.forEach(i=>{let s=e.convert(i.start)-Math.abs(a),r=e.convert(i.end)+Math.abs(a);this.drawLine(t,h,s,h,r);this.drawLine(t,h,s,h-2*a,s);this.drawLine(t,h,r,h-2*a,r);let n=e.convert(i.value);this.drawLine(t,h,n,h+a,n)})}drawLine(t,e,i,s,r){t.drawLine(e,i,s,r,FlexChartCore._CSS_LINE)}_trimText(t,e,i){var s="",r=t.length,a=Math.floor((1-(e-i)/e)*r);t.length>0&&(s=t[0]+(a>1?t.substring(1,a-1)+"..":""));return s}}class _AxisGroups{constructor(t){this._groups=[];this._margin=8;this._axis=t}get groups(){return this._groups}get axis(){return this._axis}createGroups(){this._groups=[];const t=this.axis._chart.collectionView;t&&t.groups&&t.groups.length>0&&t.groups.forEach(t=>this.createGroup(t,0))}createGroup(t,e){this.groups[e]||(this.groups[e]=new _AxisGroup(e,t.isBottomLevel));let i=this.groups[e],s=t.items;i.labels.push(new _AxisLabel(t.name,i.index,s.length));i.index+=s.length;t.groups.forEach(t=>this.createGroup(t,e+1))}layoutGroups(t){this.groups.forEach(e=>{e.width*=t})}getHeight(t){const e=this._axis._getPosition();let i=0;e===Position.Bottom||e===Position.Top?this.groups.forEach(e=>i+=this._margin+e.getSize(t,FlexChartCore._CSS_LABEL,this._axis._groupClass).height):this.groups.forEach(e=>i+=this._margin+e.getSize(t,FlexChartCore._CSS_LABEL,this._axis._groupClass).width);if(i>0&&this._axis.labels){let t=this.groups.length;i+=this._margin*t}this._height=i;return i}layout(){const t=this._axis,e=t._axrect;if(t.axisType===AxisType.Y){let i=(t.labels?t._annoSize.width+t._TICK_LABEL_DISTANCE+12:4)+t._getTitleSize().height,s=e.width-i;if(s<this._height){const t=this._margin*this._groups.length;this.layoutGroups((s-t)/(this._height-t));this._height=s}}}render(t){const e=this._axis._getPosition(),i=this._axis._getTitleSize();if(e===Position.Bottom){let e=this.axis._axrect.bottom-i.height-this._margin;this.groups.forEach(i=>{i.render(t,this.axis,e,FlexChartCore._CSS_LABEL,this._axis._groupClass);e-=i.height+this._margin})}else if(e===Position.Top){let e=this.axis._axrect.top+i.height+this._margin;this.groups.forEach(i=>{i.render(t,this.axis,e,FlexChartCore._CSS_LABEL,this._axis._groupClass);e+=i.height+this._margin})}else if(e===Position.Left){let e=this.axis._axrect.left+i.height+this._margin;this.groups.forEach(i=>{i.render(t,this.axis,e,FlexChartCore._CSS_LABEL,this._axis._groupClass);e+=i.width+this._margin})}else if(e===Position.Right){let e=this.axis._axrect.right-i.height-this._margin;this.groups.forEach(i=>{i.render(t,this.axis,e,FlexChartCore._CSS_LABEL,this._axis._groupClass);e-=i.width+this._margin})}}hitTest(t){let e;for(let i=0;i<this._groups.length;i++){const s=this._groups[i].hitTest(t);if(s){e=s;break}}return e}}exports._AxisGroups=_AxisGroups;class _AreaPlotter extends _BasePlotter{constructor(){super();this.stacking=Stacking.None;this.isSpline=!1;this.isStep=!1;this.stackPos={};this.stackNeg={}}adjustLimits(t,e){this.dataInfo=t;let i=t.getMinX(),s=t.getMinY(),r=t.getMaxX(),a=t.getMaxY();for(let t=0;t<this.chart.series.length;t++){let e=this.chart.series[t];if(this._isRange(e)){let t=e._getChartType();if(!t||t==ChartType.Area){let t=e._getBindingValues(1);for(let e=0;e<t.length;e++)t[e]>a?a=t[e]:t[e]<s&&(s=t[e])}}}if(this.isSpline){let t=.1*(a-s);this.chart.axisY._getLogBase()||(s-=t);a+=t}return this.rotated?new wijmo_1.Rect(s,i,a-s,r-i):new wijmo_1.Rect(i,s,r-i,a-s)}clear(){super.clear();this.stackNeg={};this.stackPos={}}plotSeries(t,e,i,s,r,a,n,h){let o=s;if(this._isRange(o)){this.plotSeriesRanged(t,e,i,s,r,a,n,h);return}let l=[],_=this.chart.series.indexOf(s),d=s.getValues(0),c=s.getValues(1);if(!d)return;let u=d.length;if(!u)return;c||(c=this.dataInfo.getXVals());let g=!0;if(c)c.length<u&&(u=c.length);else{g=!1;c=new Array(u)}let m=new Array,p=new Array,f=new Array,x=new Array,w=this.stacking!=Stacking.None&&!o._isCustomAxisY(),v=this.stacking==Stacking.Stacked100pc&&!o._isCustomAxisY();void 0!==o._getChartType()&&(w=v=!1);let b=this.rotated,y=!1,S=o.interpolateNulls,C=null,T=null,M=this.chart._plotRect;for(let t=0;t<u;t++){let s=g?c[t]:t,r=d[t];(null===C||s>C)&&(C=s);(null===T||s<T)&&(T=s);if(_DataInfo.isValid(s,r)){let a=b?i.convert(s):e.convert(s);if(w){if(v){r/=this.dataInfo.getStackedAbsSum(s)}let t=0;if(r>=0){t=isNaN(this.stackPos[s])?0:this.stackPos[s];r=this.stackPos[s]=t+r}else{t=isNaN(this.stackNeg[s])?0:this.stackNeg[s];r=this.stackNeg[s]=t+r}if(b){t<e.actualMin&&(t=e.actualMin);f.push(e.convert(t));x.push(a)}else{f.push(a);t<i.actualMin&&(t=i.actualMin);x.push(i.convert(t))}}if(b){let i=e.convert(r);if(isNaN(a)||isNaN(i)){y=!0;if(!w&&!0!==S){m.push(void 0);p.push(void 0)}}else{m.push(i);p.push(a);if(FlexChartCore._contains(M,new wijmo_1.Point(i,a))){let e=new _CircleArea(new wijmo_1.Point(i,a),this._DEFAULT_SYM_SIZE);e.tag=new _DataPoint(_,t,r,s);this.hitTester.add(e,_)}}}else{let e=i.convert(r);if(isNaN(a)||isNaN(e)){y=!0;if(!w&&!0!==S){m.push(void 0);p.push(void 0)}}else{m.push(a);p.push(e);if(FlexChartCore._contains(M,new wijmo_1.Point(a,e))){let i=new _CircleArea(new wijmo_1.Point(a,e),this._DEFAULT_SYM_SIZE);i.tag=new _DataPoint(_,t,s,r);this.hitTester.add(i,_)}}}}else{y=!0;if(!w&&!0!==S){m.push(void 0);p.push(void 0)}}}h&&m.forEach((t,e)=>{null!=t&&l.push(new wijmo_1.Point(t,p[e]))});let P=this._DEFAULT_WIDTH,A=r._getColorLight(_),L=r._getColor(_),N=_BasePlotter.cloneStyle(s.style,["fill"]),k=_BasePlotter.cloneStyle(s.style,["stroke"]);if(!w&&!0!==S&&y){let s=[],r=[];for(let a=0;a<u;a++)if(void 0===m[a]){if(s.length>1){let a=this._modifyPoints(s,r);s=a.x;r=a.y;t.stroke=L;t.strokeWidth=P;t.fill="none";t.drawLines(s,r,null,N);this.hitTester.add(new _LinesArea(s,r),_);if(b){s.push(e.convert(e.actualMin),e.convert(e.actualMin));r.push(i.convert(i.actualMax),i.convert(i.actualMin))}else{s.push(s[s.length-1],s[0]);r.push(i.convert(i.actualMin),i.convert(i.actualMin))}t.fill=A;t.stroke="none";t.drawPolygon(s,r,null,k,this.chart._plotrectId)}s=[];r=[]}else{s.push(m[a]);r.push(p[a])}if(s.length>1){let a=this._modifyPoints(s,r);s=a.x;r=a.y;t.stroke=L;t.strokeWidth=P;t.fill="none";t.drawLines(s,r,null,N);this.hitTester.add(new _LinesArea(s,r),_);if(b){s.push(e.convert(e.actualMin),e.convert(e.actualMin));r.push(i.convert(i.actualMax),i.convert(i.actualMin))}else{s.push(s[s.length-1],s[0]);r.push(i.convert(i.actualMin),i.convert(i.actualMin))}t.fill=A;t.stroke="none";t.drawPolygon(s,r,null,k,this.chart._plotrectId)}}else{let s=this._modifyPoints(m,p);m=s.x;p=s.y;if(w){let t=this._modifyPoints(f,x);f=t.x;x=t.y;m=m.concat(f.reverse());p=p.concat(x.reverse())}else if(b){m.push(e.convert(e.actualMin),e.convert(e.actualMin));p.push(p[p.length-1],p[0])}else{m.push(m[m.length-1],m[0]);p.push(i.convert(i.actualMin),i.convert(i.actualMin))}t.fill=A;t.stroke="none";t.drawPolygon(m,p,null,k,this.chart._plotrectId);if(w){m=m.slice(0,m.length-f.length);p=p.slice(0,p.length-x.length)}else{m=m.slice(0,m.length-2);p=p.slice(0,p.length-2)}t.stroke=L;t.strokeWidth=P;t.fill="none";t.drawLines(m,p,null,N,this.chart._plotrectId);this.hitTester.add(new _LinesArea(m,p),_)}this._drawSymbols(t,s,_);h&&l&&l.length&&h(l)}_isRange(t){let e=this.chart?this.chart._bindingSeparator:",",i=null==t.binding?null:t.binding.split(e);return null!=i&&2==i.length}_modifyPoints(t,e){let i={x:t,y:e};if(this.isSpline){let s=this._convertToSpline(t,e);i.x=s.xs;i.y=s.ys}else if(this.isStep){let s=this._createSteps(t,e);i.x=s.x;i.y=s.y}return i}plotSeriesRanged(t,e,i,s,r,a,n,h){let o=[],l=this.chart.series.indexOf(s),_=s,d=s.getValues(0),c=s.getValues(1),u=_._getBindingValues(1);if(!d)return;let g=d.length;if(!g)return;c||(c=this.dataInfo.getXVals());let m=!0;if(c)c.length<g&&(g=c.length);else{m=!1;c=new Array(g)}let p=new Array,f=new Array,x=new Array,w=this.rotated,v=!1,b=_.interpolateNulls,y=this.chart._plotRect;for(let t=0;t<g;t++){let s=m?c[t]:t,r=d[t],a=u[t];if(_DataInfo.isValid(s,r,a)){let n=w?i.convert(s):e.convert(s);if(w){let i=e.convert(r),h=e.convert(a);if(isNaN(n)||isNaN(i)){v=!0;if(!0!==b){p.push(void 0);f.push(void 0);x.push(void 0)}}else{p.push(i);f.push(n);x.push(h);if(FlexChartCore._contains(y,new wijmo_1.Point(i,n))){let e=new _CircleArea(new wijmo_1.Point(i,n),this._DEFAULT_SYM_SIZE);e.tag=new _DataPoint(l,t,r,s);this.hitTester.add(e,l)}if(FlexChartCore._contains(y,new wijmo_1.Point(h,n))){let e=new _CircleArea(new wijmo_1.Point(h,n),this._DEFAULT_SYM_SIZE);e.tag=new _DataPoint(l,t,a,s);this.hitTester.add(e,l)}}}else{let e=i.convert(r),h=i.convert(a);if(isNaN(n)||isNaN(e)){v=!0;if(!0!==b){p.push(void 0);f.push(void 0);x.push(void 0)}}else{p.push(n);f.push(e);x.push(h);if(FlexChartCore._contains(y,new wijmo_1.Point(n,e))){let i=new _CircleArea(new wijmo_1.Point(n,e),this._DEFAULT_SYM_SIZE);i.tag=new _DataPoint(l,t,s,r);this.hitTester.add(i,l)}if(FlexChartCore._contains(y,new wijmo_1.Point(n,h))){let e=new _CircleArea(new wijmo_1.Point(n,h),this._DEFAULT_SYM_SIZE);e.tag=new _DataPoint(l,t,s,a);this.hitTester.add(e,l)}}}}else{v=!0;if(!0!==b){p.push(void 0);f.push(void 0);x.push(void 0)}}}h&&p.forEach((t,e)=>{null!=t&&o.push(new wijmo_1.Point(t,f[e]))});let S=this._DEFAULT_WIDTH,C=r._getColorLight(l),T=r._getColor(l),M=_BasePlotter.cloneStyle(s.style,["fill"]),P=_BasePlotter.cloneStyle(s.style,["stroke"]);if(!0!==b&&v){let e=[],i=[],s=[];for(let r=0;r<g;r++)if(void 0===p[r]){if(e.length>1){let r=w?s.slice(0).reverse():e.slice(0).reverse(),a=w?i.slice(0).reverse():s.slice(0).reverse();this._drawRangedArea(t,e,i,r,a,C,T,S,P,M);this.hitTester.add(new _LinesArea(e,i),l);this.hitTester.add(new _LinesArea(r,a),l)}e=[];i=[];s=[]}else{e.push(p[r]);i.push(f[r]);s.push(x[r])}if(e.length>1){let r=w?s.slice(0).reverse():e.slice(0).reverse(),a=w?i.slice(0).reverse():s.slice(0).reverse();this._drawRangedArea(t,e,i,r,a,C,T,S,P,M);this.hitTester.add(new _LinesArea(e,i),l);this.hitTester.add(new _LinesArea(r,a),l)}}else{let e=w?x.slice(0).reverse():p.slice(0).reverse(),i=w?f.slice(0).reverse():x.slice(0).reverse();this._drawRangedArea(t,p,f,e,i,C,T,S,P,M);this.hitTester.add(new _LinesArea(p,f),l);this.hitTester.add(new _LinesArea(e,i),l)}this._drawSymbols(t,s,l);h&&o&&o.length&&h(o)}_drawRangedArea(t,e,i,s,r,a,n,h,o,l){if(this.isSpline){let t=this._convertToSpline(e,i),a=this._convertToSpline(s,r);e=t.xs;i=t.ys;s=a.xs;r=a.ys}e=e.concat(s);i=i.concat(r);t.fill=a;t.stroke="none";t.drawPolygon(e,i,null,o);e=e.slice(0,e.length-s.length);i=i.slice(0,i.length-r.length);t.stroke=n;t.strokeWidth=h;t.fill="none";t.drawLines(e,i,null,l);t.drawLines(s,r,null,l)}_convertToSpline(t,e){if(t&&e){var i=new _Curve(t,e).calculate();return{xs:i.xs,ys:i.ys}}return{xs:t,ys:e}}_drawSymbols(t,e,i){let s=this.getItemFormatter(e);if(null!=s){let e=this.hitTester._map[i];for(let i=0;i<e.length;i++){let r=wijmo_1.tryCast(e[i],_CircleArea);if(r){let e=r.tag;t.startGroup();let i=new HitTestInfo(this.chart,r.center,ChartElement.SeriesSymbol);i._setDataPoint(e);s(t,i,()=>{});t.endGroup()}}t.cssPriority=!0}}}exports._AreaPlotter=_AreaPlotter;class _BarPlotter extends _BasePlotter{constructor(){super(...arguments);this.origin=0;this.width=.7;this.isVolume=!1;this._volHelper=null;this.stackPosMap={};this.stackNegMap={};this.stacking=Stacking.None}clear(){super.clear();this.stackNegMap[this.chart.axisY._uniqueId]={};this.stackPosMap[this.chart.axisY._uniqueId]={};this._volHelper=null}load(){super.load();if(this.isVolume){var t,e,i,s,r,a,n,h,o=null,l=null;for(a=0;a<this.chart.series.length;a++){r=(t=this.chart.series[a]).getDataType(1)||t.chart._xDataType;e=t._getAxisX();if((i=null===(i=t._getChartType())||wijmo_1.isUndefined(i)?this.chart._getChartType():i)===ChartType.Column){let e=this.chart?this.chart._bindingSeparator:",",i=t.binding.split(e).length-1;s=t._getBindingValues(i)}else s=i===ChartType.Candlestick?t._getBindingValues(4):null;if(r===wijmo_1.DataType.Date){var _;n=[];h=[];for(a=0;a<t._getLength();a++){_=t._getItem(a)[t.bindingX].valueOf();n.push(_);h.push({value:_,text:wijmo_1.Globalize.format(new Date(_),e.format||"d")})}}else n=this.dataInfo.getXVals();o=this.dataInfo.getMinX();l=this.dataInfo.getMaxX();if(s&&s.length>0){this._volHelper=new _VolumeHelper(s,n,o,l,r);e._customConvert=this._volHelper.convert.bind(this._volHelper);e._customConvertBack=this._volHelper.convertBack.bind(this._volHelper);h&&h.length>0&&(this._itemsSource=e.itemsSource=h);break}}}}unload(){super.unload();for(var t,e=0;e<this.chart.series.length;e++)if(t=this.chart.series[e]._getAxisX()){t._customConvert=null;t._customConvertBack=null;t.itemsSource&&t.itemsSource==this._itemsSource&&(this._itemsSource=t.itemsSource=null)}}adjustLimits(t,e){this.dataInfo=t;var i=t.getMinX(),s=t.getMaxX(),r=t.getMinY(),a=t.getMaxY(),n=t.getDeltaX();n<=0&&(n=1);let h=!1;!this.isVolume||this.chart._getChartType()!==ChartType.Column&&this.chart._getChartType()!==ChartType.Candlestick?this.unload():this.load();for(let t=0;t<this.chart.series.length;t++){let e=this.chart.series[t],i=e._getChartType();i=null===i||wijmo_1.isUndefined(i)?this.chart._getChartType():i;if(i===ChartType.Column||i===ChartType.Bar){if(this._isRange(e)){e._getBindingValues(1).forEach(t=>{t<r?r=t:t>a&&(a=t)})}}h||"BoxWhisker"==e.constructor.name||(h=!0)}if(this.rotated){!this.chart.axisY._getLogBase()&&t.getDataTypeY()!==wijmo_1.DataType.Date&&h&&(this.origin>a?a=this.origin:this.origin<r&&(r=this.origin));return new wijmo_1.Rect(r,i-.5*n,a-r,s-i+n)}!this.chart.axisY._getLogBase()&&t.getDataTypeY()!==wijmo_1.DataType.Date&&h&&(this.origin>a?a=this.origin:this.origin<r&&(r=this.origin));return new wijmo_1.Rect(i-.5*n,r,s-i+n,a-r)}_isRange(t){let e=this.chart?this.chart._bindingSeparator:",",i=(null==t.binding?"":t.binding.split(e)).length-1;return this.isVolume?2===i:1===i}plotSeries(t,e,i,s,r,a,n,h){var o=[],l=this.chart.series.indexOf(s),_=wijmo_1.asType(s,SeriesBase),d=this.chart._options,c=this.width,u=0;a=a||0;n=n||1;if(d&&d.groupWidth){var g=d.groupWidth;if(wijmo_1.isNumber(g)){var m=wijmo_1.asNumber(g);if(isFinite(m)&&m>0){u=m;c=1}}else if(wijmo_1.isString(g)){var p=wijmo_1.asString(g);if(p&&p.indexOf("%")>=0){p=p.replace("%","");m=parseFloat(p);if(isFinite(m)){m<0?m=0:m>100&&(m=100);u=0;c=m/100}}else{m=parseFloat(p);if(isFinite(m)&&m>0){u=m;c=1}}}}var f=c/n,x=_._getAxisY()._uniqueId,w=this.stackNegMap[x],v=this.stackPosMap[x],b=s.getValues(0),y=s.getValues(1);let S=this._isRange(_),C=_._bindValues(null==_._cv?null==this.chart.collectionView?null:this.chart.collectionView.items:_._cv.items,_._getBinding(1)).values;if(!b)return;y||(y=this.dataInfo.getXVals());if(y){var T=this.dataInfo.getDeltaX();if(T>0){c*=T;f*=T}}var M=_._getSymbolFill(l),P=_._getAltSymbolFill(l)||M,A=_._getSymbolStroke(l),L=_._getAltSymbolStroke(l)||A,N=b.length;null!=y&&(N=Math.min(N,y.length));var k,E,j=this.origin,I=0,R=this.stacking!=Stacking.None,D=this.stacking==Stacking.Stacked100pc;void 0!==_._getChartType()&&(R=D=!1);let F=this.getItemFormatter(s),B=e._actualMin,V=e._actualMax,z=i._actualMin,X=i._actualMax;if(this.rotated){j<B?j=B:j>V&&(j=V);_._isCustomAxisY()&&(R=D=!1);for(H=e.convert(j),Y=0;Y<N;Y++){G=y?y[Y]:Y,U=b[Y];let r=H;this._getSymbolOrigin&&(r=i.convert(this._getSymbolOrigin(j,Y)));if(S&&C&&C.length){let t=C[Y];_DataInfo.isValid(t)&&(r=e.convert(t))}if(this._getSymbolStyles){M=(W=this._getSymbolStyles(Y))&&W.fill?W.fill:M;P=W&&W.fill?W.fill:P;A=W&&W.stroke?W.fill:A;L=W&&W.stroke?W.fill:L}k=U>0?M:P;E=U>0?A:L;t.fill=k;t.stroke=E;if(_DataInfo.isValid(G,U))if(R){K=G+.5*c;if((q=G-.5*c)<z&&K<z||q>X&&K>X)continue;q=i.convert(Math.max(q,z));K=i.convert(Math.min(K,X));if(D){U/=this.dataInfo.getStackedAbsSum(G)}$=0;if(U>=0){$=isNaN(v[G])?0:v[G];et=e.convert($);Z=e.convert($+U);v[G]=$+U}else{$=isNaN(w[G])?0:w[G];et=e.convert($);Z=e.convert($+U);w[G]=$+U}h&&o.push(new wijmo_1.Point(Z,i.convert(G)));if(!_DataInfo.isValid(et,Z))continue;J=new wijmo_1.Rect(Math.min(et,Z),Math.min(q,K),Math.abs(Z-et),Math.abs(K-q));if(u>0){(st=1-u/J.height)<0&&(st=0);var O=J.top+.5*J.height;J.top+=(O-J.top)*st;J.height=Math.min(u,J.height)}tt=new _RectArea(J);this.drawSymbol(t,J,s,Y,new wijmo_1.Point(Z,J.top+.5*J.height),F);s._setPointIndex(Y,I);I++;const r=D?Math.min($+U,1):$+U;tt.tag=new _DataPoint(l,Y,r,G);this.hitTester.add(tt,l)}else{K=G-.5*c+(a+1)*f;if((q=G-.5*c+a*f)<z&&K<z||q>X&&K>X)continue;q=i.convert(Math.max(q,z));K=i.convert(Math.min(K,X));let _=e.convert(U);if(!_DataInfo.isValid(_,q,K))continue;let d=new wijmo_1.Rect(Math.min(_,r),Math.min(q,K),Math.abs(r-_),Math.abs(K-q));h&&o.push(new wijmo_1.Point(_,(q+K)/2));if(u>0){(st=1-(it=u/n)/d.height)<0&&(st=0);O=i.convert(G);d.top+=(O-d.top)*st;d.height=Math.min(it,d.height)}tt=new _RectArea(d);this.drawSymbol(t,d,s,Y,new wijmo_1.Point(_,d.top+.5*d.height),F);s._setPointIndex(Y,I);I++;tt.tag=new _DataPoint(l,Y,U,G);this.hitTester.add(tt,l)}else h&&o.push(null)}}else{j<z?j=z:j>X&&(j=X);var H=i.convert(j);_._isCustomAxisY()&&(R=D=!1);for(var Y=0;Y<N;Y++){let r=H;var G=y?y[Y]:Y,U=b[Y];this._getSymbolOrigin&&(r=i.convert(this._getSymbolOrigin(j,Y,N)));if(S&&C&&C.length){let t=C[Y];_DataInfo.isValid(t)&&(r=i.convert(t))}if(this._getSymbolStyles){var W;M=(W=this._getSymbolStyles(Y,N))&&W.fill?W.fill:M;P=W&&W.fill?W.fill:P;A=W&&W.stroke?W.stroke:A;L=W&&W.stroke?W.stroke:L}k=U>0?M:P;E=U>0?A:L;t.fill=k;t.stroke=E;t.strokeWidth=null;if(_DataInfo.isValid(G,U))if(R){var q,K,Z=G+.5*c;if((et=G-.5*c)<B&&Z<B||et>V&&Z>V)continue;et=e.convert(et);Z=e.convert(Z);if(!_DataInfo.isValid(et,Z))continue;if(D){U/=this.dataInfo.getStackedAbsSum(G)}var $=0;if(U>=0){$=isNaN(v[G])?0:v[G];q=i.convert(Math.max($,z));K=i.convert(Math.max($+U,z));v[G]=$+U}else{$=isNaN(w[G])?0:w[G];q=i.convert($);K=i.convert($+U);w[G]=$+U}h&&o.push(new wijmo_1.Point(e.convert(G),K));if(!_DataInfo.isValid(q,K))continue;var J=new wijmo_1.Rect(Math.min(et,Z),Math.min(q,K),Math.abs(Z-et),Math.abs(K-q));if(u>0){(st=1-u/J.width)<0&&(st=0);var Q=J.left+.5*J.width;J.left+=(Q-J.left)*st;J.width=Math.min(u,J.width)}var tt=new _RectArea(J);this.drawSymbol(t,J,s,Y,new wijmo_1.Point(J.left+.5*J.width,K),F);s._setPointIndex(Y,I);I++;const r=D?Math.min($+U,1):$+U;tt.tag=new _DataPoint(l,Y,G,r);this.hitTester.add(tt,l)}else{var et,Z=G-.5*c+(a+1)*f;if((et=G-.5*c+a*f)<B&&Z<B||et>V&&Z>V)continue;et=e.convert(et);Z=e.convert(Z);let _=i.convert(U);if(!_DataInfo.isValid(_,et,Z))continue;let d=new wijmo_1.Rect(Math.min(et,Z),Math.min(_,r),Math.abs(Z-et),Math.abs(r-_));h&&o.push(new wijmo_1.Point((et+Z)/2,_));if(u>0){var it,st;(st=1-(it=u/n)/d.width)<0&&(st=0);Q=e.convert(G);d.left+=(Q-d.left)*st;d.width=Math.min(it,d.width)}var tt=new _RectArea(d);this.drawSymbol(t,d,s,Y,new wijmo_1.Point(d.left+.5*d.width,_),F);s._setPointIndex(Y,I);I++;tt.tag=new _DataPoint(l,Y,G,U);this.hitTester.add(tt,l)}else h&&o.push(null)}}h&&o&&o.length&&h(o)}drawSymbol(t,e,i,s,r,a){if(a){t.startGroup();var n=new HitTestInfo(this.chart,r,ChartElement.SeriesSymbol);n._setData(i,s);a(t,n,()=>{this.drawDefaultSymbol(t,e,i)});t.cssPriority=!0;t.endGroup()}else this.drawDefaultSymbol(t,e,i)}drawDefaultSymbol(t,e,i){t.drawRect(e.left,e.top,e.width,e.height,null,i.symbolStyle)}}exports._BarPlotter=_BarPlotter;class _FunnelPlotter extends _BasePlotter{constructor(){super(...arguments);this.stacking=Stacking.None}adjustLimits(t,e){this.dataInfo=t;var i=t.getMinX(),s=t.getMinY(),r=t.getMaxX(),a=t.getMaxY();return new wijmo_1.Rect(i,s,r-i,a-s)}plotSeries(t,e,i,s,r,a,n,h){var o=this.chart.series.indexOf(s);if(o>0)return;var l,_,d,c,u,g=wijmo_1.asType(s,SeriesBase),m=this.chart._options,p=s.getValues(0),f=s.getValues(1),x=this.chart._plotRect,w=m&&m.funnel&&null!=m.funnel.neckWidth?m.funnel.neckWidth:.2,v=m&&m.funnel&&null!=m.funnel.neckHeight?m.funnel.neckHeight:0,b=w*x.width,y=0,S=0,C=0,T=0,M=x.left,P=x.top,A=x.width,L=x.height;if(!p)return;this.rotated&&(P+=x.height);b=b||1;f||(f=this.dataInfo.getXVals());var N=p.length;null!=f&&(N=Math.min(N,f.length));let k=0;for(y=0;y<N;y++)if(_DataInfo.isValid(p[y])){S+=p[y];p[y]>k&&(k=p[y])}var E,j,I=0;if(m&&m.funnel&&"rectangle"===m.funnel.type&&k>0){v=L/N;w=A;var R=A/k;for(y=0;y<N;y++){var D=f?f[y]:y,F=p[y],B=g._getSymbolFill(y),V=g._getAltSymbolFill(y)||B,z=g._getSymbolStroke(y),X=g._getAltSymbolStroke(y)||z;if(this._getSymbolStyles){B=(U=this._getSymbolStyles(y,N))&&U.fill?U.fill:B;V=U&&U.fill?U.fill:V;z=U&&U.stroke?U.stroke:z;X=U&&U.stroke?U.stroke:X}E=F>0?B:V;j=F>0?z:X;t.fill=E;t.stroke=j;if(_DataInfo.isValid(D)&&_DataInfo.isValid(F)){R||(R=A/F);var O=R*F;M+=(w-O)/2;this.rotated&&(P-=v);t.drawRect(M,P,O,v);H=new _FunnelSegment(new wijmo_1.Point(M,P),O,v,O,v);this.rotated||(P+=v);w=O;H.tag=new _DataPoint(o,y,D,F);this.hitTester.add(H,o);s._setPointIndex(y,I);I++}}}else{C=x.left+x.width*(1-w)/2;T=x.top+x.height*(this.rotated?v:1-v);_=(1-w)*x.width/2/(x.height*(1-v));if(isNaN(_)||!isFinite(_)){A=b;M=C;P=T}l=x.width*w*x.height+x.width*(1-w)/2*x.height*(1-v);for(y=0;y<N;y++){D=f?f[y]:y,F=p[y];var H,Y=[],G=[];B=g._getSymbolFill(y),V=g._getAltSymbolFill(y)||B,z=g._getSymbolStroke(y),X=g._getAltSymbolStroke(y)||z;if(this._getSymbolStyles){var U;B=(U=this._getSymbolStyles(y,N))&&U.fill?U.fill:B;V=U&&U.fill?U.fill:V;z=U&&U.stroke?U.stroke:z;X=U&&U.stroke?U.stroke:X}E=F>0?B:V;j=F>0?z:X;t.fill=E;t.stroke=j;if(_DataInfo.isValid(D)&&_DataInfo.isValid(F)){var W=l*F/S;if(A>b){c=this._getTrapezoidOffsetY(A,W,_);if(this.rotated)if(P-c>T){Y=[M,M+(d=_*c),M+A-d,M+A];G=[P,P-c,P-c,P];H=new _FunnelSegment(new wijmo_1.Point(M,P-c),A,c,A-2*d,0,!0);A-=2*d;M+=d;P-=c}else{d=_*(c=P-T);u=(W-=this._getTrapezoidArea(A,_,c))/b;Y.push(M,M+d,M+d,M+d+b,M+d+b,M+A);G.push(P,P-c,P-c-u,P-c-u,P-c,P);H=new _FunnelSegment(new wijmo_1.Point(M,P-c-u),A,c+u,b,u,!0);A=b;M+=d;P=P-c-u}else if(P+c<T){Y=[M,M+(d=_*c),M+A-d,M+A];G=[P,P+c,P+c,P];H=new _FunnelSegment(new wijmo_1.Point(M,P),A,c,A-2*d,0);A-=2*d;M+=d;P+=c}else{d=_*(c=T-P);u=(W-=this._getTrapezoidArea(A,_,c))/b;Y.push(M,M+d,M+d,M+d+b,M+d+b,M+A);G.push(P,P+c,P+c+u,P+c+u,P+c,P);H=new _FunnelSegment(new wijmo_1.Point(M,P),A,c+u,b,u);A=b;M+=d;P=P+c+u}t.drawPolygon(Y,G)}else{u=W/b;this.rotated&&(P-=u);t.drawRect(M,P,A,u);H=new _FunnelSegment(new wijmo_1.Point(M,P),b,u,b,u);this.rotated||(P+=u)}H.tag=new _DataPoint(o,y,D,F);this.hitTester.add(H,o);s._setPointIndex(y,I);I++}}}}_getTrapezoidArea(t,e,i){var s=i*e;return s*i+(t-2*s)*i}_getTrapezoidOffsetY(t,e,i){var s=Math.pow(t/2/i,2)-e/i;return t/2/i-Math.sqrt(s>=0?s:0)}drawDefaultSymbol(t,e,i){t.drawRect(e.left,e.top,e.width,e.height,null,i.symbolStyle)}_getPointAndPosition(t,e,i,s){var r=i;t.x=r.center.x;t.y=r.center.y;e=null==e?LabelPosition.Center:e}}exports._FunnelPlotter=_FunnelPlotter;class _FunnelSegment{constructor(t,e,i,s,r,a=!1){this._startPoint=t;this._width=e;this._height=i;this._neckWidth=s;this._neckHeight=r;this._center=new wijmo_1.Point(this._startPoint.x+e/2,this._startPoint.y+i/2);this._offsetX=(e-s)/2;this._offsetY=i-r;this._rotated=a}contains(t){var e=this._startPoint,i=this._offsetX,s=this._offsetY;if(this._rotated){if(t.x>=e.x&&t.x<=e.x+this._width&&t.y>=e.y&&t.y<=e.y+this._height){if(t.x>=e.x+i&&t.x<=e.x+this._width-i)return!0;if(t.y<e.y+this._neckHeight)return!1;if(t.x<this._center.x)return(e.y+this._height-t.y)/(t.x-e.x)<s/i;if(t.x>this._center.x)return(e.y+this._height-t.y)/(e.x+this._width-t.x)<s/i}}else if(t.x>=e.x&&t.x<=e.x+this._width&&t.y>=e.y&&t.y<=e.y+this._height){if(t.x>=e.x+i&&t.x<=e.x+this._width-i)return!0;if(t.y>e.y+s)return!1;if(t.x<this._center.x)return(t.y-e.y)/(t.x-e.x)<s/i;if(t.x>this._center.x)return(t.y-e.y)/(e.x+this._width-t.x)<s/i}return!1}distance(t){if(this.contains(t))return 0;var e=this._startPoint,i=this._width,s=this._height,r=this._offsetX,a=this._offsetY;if(this._rotated){if(t.y>e.y+s)return t.x<e.x?Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y+s-t.y,2)):t.x>e.x+i?Math.sqrt(Math.pow(t.x-e.x-i,2)+Math.pow(e.y+s-t.y,2)):t.y-e.y-s;if(t.y<e.y)return t.x<e.x+r?Math.sqrt(Math.pow(e.x+r-t.x,2)+Math.pow(t.y-e.y-s,2)):t.x>e.x+i-r?Math.sqrt(Math.pow(t.x-e.x-i+r,2)+Math.pow(t.y-e.y-s,2)):e.y-t.y;if(!(t.y<e.y+s-a))return t.x<e.x+r?Math.min(Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(t.y-e.y-s,2)),Math.sqrt(Math.pow(t.x-r/2-e.x,2)+Math.pow(t.y-s+a/2-e.y,2)),Math.sqrt(Math.pow(t.x-r-e.x,2)+Math.pow(t.y-s+a-e.y,2))):Math.min(Math.sqrt(Math.pow(t.x-i-e.x,2)+Math.pow(t.y-s-e.y,2)),Math.sqrt(Math.pow(t.x-i+r/2-e.x,2)+Math.pow(t.y-s+a/2-e.y,2)),Math.sqrt(Math.pow(t.x-i+r-e.x,2)+Math.pow(t.y-s+a-e.y,2)));if(t.x<e.x+r)return e.x+r-t.x;if(t.x>e.x+i-r)return t.x-e.x-i+r}else{if(t.y<e.y)return t.x<e.x?Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2)):t.x>e.x+i?Math.sqrt(Math.pow(t.x-e.x-i,2)+Math.pow(e.y-t.y,2)):e.y-t.y;if(t.y>e.y+s)return t.x<e.x+r?Math.sqrt(Math.pow(e.x+r-t.x,2)+Math.pow(t.y-e.y-s,2)):t.x>e.x+i-r?Math.sqrt(Math.pow(t.x-e.x-i+r,2)+Math.pow(t.y-e.y-s,2)):t.y-e.y-s;if(!(t.y>e.y+a))return t.x<e.x+r?Math.min(Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(t.y-e.y,2)),Math.sqrt(Math.pow(t.x-r/2-e.x,2)+Math.pow(t.y-a/2-e.y,2)),Math.sqrt(Math.pow(t.x-r-e.x,2)+Math.pow(t.y-a-e.y,2))):Math.min(Math.sqrt(Math.pow(t.x-i-e.x,2)+Math.pow(t.y-e.y,2)),Math.sqrt(Math.pow(t.x-i+r/2-e.x,2)+Math.pow(t.y-a/2-e.y,2)),Math.sqrt(Math.pow(t.x-i+r-e.x,2)+Math.pow(t.y-a-e.y,2)));if(t.x<e.x+r)return e.x+r-t.x;if(t.x>e.x+i-r)return t.x-e.x-i+r}}get center(){return this._center}}exports._FunnelSegment=_FunnelSegment;class _FinancePlotter extends _BasePlotter{constructor(){super(...arguments);this.isCandle=!0;this.isArms=!1;this.isEqui=!1;this.isVolume=!1;this._volHelper=null;this._symWidth=.7}clear(){super.clear();this._volHelper=null}load(){super.load();if(this.isVolume){var t,e,i,s,r,a,n,h,o=null,l=null;for(a=0;a<this.chart.series.length;a++){r=(t=this.chart.series[a]).getDataType(1)||t.chart._xDataType;e=t._getAxisX();s=(i=null===(i=t._getChartType())||wijmo_1.isUndefined(i)?this.chart._getChartType():i)===ChartType.Column?t._getBindingValues(1):i===ChartType.Candlestick?t._getBindingValues(4):null;if(r===wijmo_1.DataType.Date){var _;n=[];h=[];for(a=0;a<t._getLength();a++){_=t._getItem(a)[t.bindingX].valueOf();n.push(_);h.push({value:_,text:wijmo_1.Globalize.format(new Date(_),e.format||"d")})}}else n=this.dataInfo.getXVals();o=this.dataInfo.getMinX();l=this.dataInfo.getMaxX();if(s&&s.length>0){this._volHelper=new _VolumeHelper(s,n,o,l,r);e._customConvert=this._volHelper.convert.bind(this._volHelper);e._customConvertBack=this._volHelper.convertBack.bind(this._volHelper);h&&h.length>0&&(this._itemsSource=e.itemsSource=h);break}}}}unload(){super.unload();for(var t,e=0;e<this.chart.series.length;e++)if(t=this.chart.series[e]._getAxisX()){t._customConvert=null;t._customConvertBack=null;t.itemsSource&&t.itemsSource==this._itemsSource&&(this._itemsSource=t.itemsSource=null)}}parseSymbolWidth(t){this._isPixel=void 0;if(t)if(wijmo_1.isNumber(t)){var e=wijmo_1.asNumber(t);if(isFinite(e)&&e>0){this._symWidth=e;this._isPixel=!0}}else if(wijmo_1.isString(t)){var i=wijmo_1.asString(t);if(i&&i.indexOf("%")>=0){i=i.replace("%","");var s=parseFloat(i);if(isFinite(s)){s<0?s=0:s>100&&(s=100);this._symWidth=s/100;this._isPixel=!1}}else{s=parseFloat(t);if(isFinite(s)&&s>0){this._symWidth=s;this._isPixel=!0}}}}adjustLimits(t,e){this.dataInfo=t;var i=t.getMinX(),s=t.getMinY(),r=t.getMaxX(),a=t.getMaxY(),n=t.getDeltaX(),h=this.chart._xDataType;n<=0&&(n=1);var o=this.chart.series,l=o.length,_=0;this.parseSymbolWidth(this.symbolWidth);!this.isVolume||this.chart._getChartType()!==ChartType.Column&&this.chart._getChartType()!==ChartType.Candlestick?this.unload():this.load();for(var d=0;d<l;d++){var c=o[d];if(!c._isCustomAxisY()){var u=c._getBinding(1),g=c._getBinding(2),m=c._getBinding(3),p=c._getLength();if(p){var f=c._getSymbolSize();f>_&&(_=f);for(var x=0;x<p;x++){var w=c._getItem(x);if(w){[u?w[u]:null,g?w[g]:null,m?w[m]:null].forEach(t=>{if(_DataInfo.isValid(t)&&null!==t){(isNaN(s)||t<s)&&(s=t);(isNaN(a)||t>a)&&(a=t)}})}}}}}var v=r-i;return!(h===wijmo_1.DataType.Date&&this.isVolume||h===wijmo_1.DataType.Number)||this.chart._getChartType()!==ChartType.Column&&this.chart._getChartType()!==ChartType.Candlestick?this.chart._isRotated()?new wijmo_1.Rect(s,i,a-s,v):new wijmo_1.Rect(i,s,v,a-s):new wijmo_1.Rect(i-.5*n,s,r-i+n,a-s)}plotSeries(t,e,i,s,r,a,n,h){var o=wijmo_1.asType(s,SeriesBase),l=this.chart.series.indexOf(s),_=s.getValues(0),d=s.getValues(1),c=this._symWidth,u=this.chart._isRotated();if(!_)return;d||(d=this.dataInfo.getXVals());if(d){var g=this.dataInfo.getDeltaX();g>0&&!1===this._isPixel&&(c*=g)}var m=_.length,p=!0;if(d)m=Math.min(m,d.length);else{p=!1;d=new Array(m)}var f=this._DEFAULT_WIDTH,x=o._getSymbolFill(l),w=o._getAltSymbolFill(l)||"transparent",v=o._getSymbolStroke(l),b=o._getAltSymbolStroke(l)||v,y=void 0===this._isPixel?o._getSymbolSize():c;t.stroke=v;t.strokeWidth=f;t.fill=x;var S,C,T=o._getBinding(1),M=o._getBinding(2),P=o._getBinding(3),A=u?i.actualMin:e.actualMin,L=u?i.actualMax:e.actualMax,N=0,k=null,E=null;let j=this.getItemFormatter(s);for(var I=0;I<m;I++)if(k=o._getItem(I)){var R=p?d[I]:I;if(_DataInfo.isValid(R)&&A<=R&&R<=L){var D=_[I],F=T?k[T]:null,B=M?k[M]:null,V=P?k[P]:null;t.startGroup();if(this.isEqui&&null!==E){if(E[P]!==k[P]){S=E[P]<k[P]?w:x;C=E[P]<k[P]?b:v}}else{S=B<V?w:x;C=B<V?b:v}t.fill=S;t.stroke=C;t.strokeWidth=f;if(j){var z=new HitTestInfo(this.chart,new wijmo_1.Point(e.convert(R),i.convert(D)),ChartElement.SeriesSymbol);z._setData(o,I);j(t,z,()=>{this._drawSymbol(t,e,i,l,I,S,y,R,D,F,B,V,m)});t.cssPriority=!0}else this._drawSymbol(t,e,i,l,I,S,y,R,D,F,B,V,m);t.endGroup();s._setPointIndex(I,N);N++}E=k}}_drawSymbol(t,e,i,s,r,a,n,h,o,l,_,d,c){var u,g=null,m=null,p=null,f=null,x=this.chart._isRotated(),w=e.convert(h),v=e._axrect,b=n/2,y=0===r&&w-v.left<=b,S=r===c-1&&v.right-w<=b,C=x?new _DataPoint(s,r,o,h):new _DataPoint(s,r,h,o);if(x){var T=i;i=e;e=T}if(!1===this._isPixel){if(y){p=h;f=h+n}else if(S){p=h-n;f=h}else{p=h-.5*n;f=h+.5*n}if((p=e.convert(p))>(f=e.convert(f))){var M=p;p=f;f=M}}h=w;if(!1!==this._isPixel)if(y){p=h;f=h+n}else if(S){p=h-n;f=h}else{p=h-.5*n;f=h+.5*n}if(this.isCandle){if(_DataInfo.isValid(_)&&_DataInfo.isValid(d)){_=i.convert(_);d=i.convert(d);m=(g=Math.min(_,d))+Math.abs(_-d);if(x){t.drawRect(g,p,m-g||1,f-p||1);u=new _RectArea(new wijmo_1.Rect(g,p,m-g||1,f-p||1))}else{t.drawRect(p,g,f-p||1,m-g||1);u=new _RectArea(new wijmo_1.Rect(p,g,f-p||1,m-g||1))}u.tag=C;this.hitTester.add(u,s)}if(_DataInfo.isValid(o)){o=i.convert(o);if(null!==g)if(x){t.drawLine(m,h,o,h);u.rect.width=u.rect.width+o}else{t.drawLine(h,g,h,o);u.rect.top=o;u.rect.height=u.rect.height+o}}if(_DataInfo.isValid(l)){l=i.convert(l);if(null!==m)if(x){t.drawLine(g,h,l,h);u.rect.left=l;u.rect.width=u.rect.width+l}else{t.drawLine(h,m,h,l);u.rect.height=u.rect.height+l}}}else if(this.isEqui){if(_DataInfo.isValid(o)&&_DataInfo.isValid(l)){o=i.convert(o);l=i.convert(l);m=(g=Math.min(o,l))+Math.abs(o-l);t.drawRect(p,g,f-p||1,m-g||1);(u=new _RectArea(new wijmo_1.Rect(p,g,f-p||1,m-g||1))).tag=C;this.hitTester.add(u,s)}}else if(this.isArms){if(_DataInfo.isValid(_)&&_DataInfo.isValid(d)){_=i.convert(_);d=i.convert(d);m=(g=Math.min(_,d))+Math.abs(_-d);t.drawRect(p,g,f-p||1,m-g||1)}if(_DataInfo.isValid(o)&&null!==g){o=i.convert(o);t.drawLine(h,g,h,o)}if(_DataInfo.isValid(l)&&null!==m){l=i.convert(l);t.drawLine(h,m,h,l)}if(_DataInfo.isValid(o)&&_DataInfo.isValid(l)){t.fill="transparent";m=(g=Math.min(o,l))+Math.abs(o-l);t.drawRect(p,g,f-p||1,m-g||1);(u=new _RectArea(new wijmo_1.Rect(p,g,f-p||1,m-g||1))).tag=C;this.hitTester.add(u,s)}}else{if(_DataInfo.isValid(o)&&_DataInfo.isValid(l)){o=i.convert(o);l=i.convert(l);m=(g=Math.min(o,l))+Math.abs(o-l);if(x){t.drawLine(l,h,o,h);u=new _RectArea(new wijmo_1.Rect(g,p,m-g||1,f-p||1))}else{t.drawLine(h,l,h,o);u=new _RectArea(new wijmo_1.Rect(p,g,f-p||1,m-g||1))}u.tag=C;this.hitTester.add(u,s)}if(_DataInfo.isValid(_)){_=i.convert(_);x?t.drawLine(_,p,_,h):t.drawLine(p,_,h,_)}if(_DataInfo.isValid(d)){d=i.convert(d);x?t.drawLine(d,h,d,f):t.drawLine(h,d,f,d)}}}}exports._FinancePlotter=_FinancePlotter;class _LinePlotter extends _BasePlotter{constructor(){super();this.hasSymbols=!1;this.hasLines=!0;this.isSpline=!1;this.isStep=!1;this.hitTestSymbols=!0;this.stacking=Stacking.None;this.stackPos={};this.stackNeg={};this.clipping=!1}clear(){super.clear();this.stackNeg={};this.stackPos={}}adjustLimits(t,e){this.dataInfo=t;var i=t.getMinX(),s=t.getMinY(),r=t.getMaxX(),a=t.getMaxY();if(this.isSpline&&!this.chart.axisY._getLogBase()){var n=.1*(a-s);s-=n;a+=n}return this.rotated?new wijmo_1.Rect(s,i,a-s,r-i):new wijmo_1.Rect(i,s,r-i,a-s)}plotSeries(t,e,i,s,r,a,n,h){var o=[],l=wijmo_1.asType(s,SeriesBase),_=this.chart.series.indexOf(s),d=s.getValues(0),c=s.getValues(1);if(!d)return;c||(c=this.dataInfo.getXVals());var u=_BasePlotter.cloneStyle(s.style,["fill"]),g=d.length,m=!0;if(c)g=Math.min(g,c.length);else{m=!1;c=new Array(g)}var p=this._DEFAULT_WIDTH,f=l._getSymbolFill(_),x=l._getAltSymbolFill(_)||f,w=l._getSymbolStroke(_),v=l._getAltSymbolStroke(_)||w,b=l._getSymbolSize();t.stroke=w;t.strokeWidth=p;t.fill=f;let y=new Float64Array(g),S=new Float64Array(g),C=0,T=new Int8Array(g),M=0;var P=this.rotated,A=this.stacking!=Stacking.None&&!l._isCustomAxisY(),L=this.stacking==Stacking.Stacked100pc&&!l._isCustomAxisY();void 0!==l._getChartType()&&(A=L=!1);var N=l.interpolateNulls,k=!1;let E=this.getItemFormatter(s);for(var j=0;j<g;j++){var I=m?c[j]:j,R=d[j];if(isFinite(I)&&isFinite(R)){if(A){if(L){R/=this.dataInfo.getStackedAbsSum(I)}if(R>=0){var D=isNaN(this.stackPos[I])?0:this.stackPos[I];R=this.stackPos[I]=D+R}else{D=isNaN(this.stackNeg[I])?0:this.stackNeg[I];R=this.stackNeg[I]=D+R}}var F;if(P){F=new _DataPoint(_,j,R,I);var B=e.convert(R);R=i.convert(I);I=B}else{F=new _DataPoint(_,j,I,R);I=e.convert(I);R=i.convert(R)}if(isNaN(I)||isNaN(R)){k=!0;if(!0!==N){y[C]=NaN;S[C++]=NaN}T[M++]=1;h&&o.push(null)}else{y[C]=I;S[C++]=R;M++;h&&o.push(new wijmo_1.Point(I,R));if(this.hitTestSymbols){var V=new _CircleArea(new wijmo_1.Point(I,R),.5*b);V.tag=F;this.hitTester.add(V,_)}}}else{k=!0;if(!0!==N){y[C]=NaN;S[C++]=NaN}T[M++]=1;h&&o.push(null)}}var z=0;if(this.hasLines){t.fill=null;if(k&&!0!==N){var X=[],O=[];for(j=0;j<g;j++)if(isNaN(y[j])){if(X.length>1){this._drawLines(t,X,O,null,u,this.chart._plotrectId);this.hitTester.add(new _LinesArea(X,O),_);z++}X=[];O=[]}else{X.push(y[j]);O.push(S[j])}if(X.length>1){this._drawLines(t,X,O,null,u,this.chart._plotrectId);this.hitTester.add(new _LinesArea(X,O),_);z++}}else{this._drawLines(t,y,S,null,u,this.chart._plotrectId,C);this.hitTester.add(new _LinesArea(y,S),_);z++}}if(this.hasSymbols&&b>0||E){t.fill=f;var H=0;for(j=0;j<g;j++)if(!N||!T[j]){I=y[H],R=S[H];if(!1===this.hasLines||E){t.fill=d[j]>0?f:x;t.stroke=d[j]>0?w:v;t.strokeWidth=p}if(this.isValid(I,R,e,i)){this._drawSymbol(t,I,R,b,l,j,E);s._setPointIndex(j,z);z++}H++}}h&&o&&o.length&&h(o)}_drawLines(t,e,i,s,r,a,n){if(this.isSpline&&n>3)t.drawSplines(e,i,s,r,a,n);else if(this.isStep){let h=this._createSteps(e,i,n);e=h.x;i=h.y;t.drawLines(e,i,s,r,a)}else t.drawLines(e,i,s,r,a,n)}_drawSymbol(t,e,i,s,r,a,n){if(n){t.startGroup();var h=new HitTestInfo(this.chart,new wijmo_1.Point(e,i),ChartElement.SeriesSymbol);h._setData(r,a);n(t,h,()=>{this.hasSymbols&&s>0&&this._drawDefaultSymbol(t,e,i,s,r.symbolMarker,r.symbolStyle)});t.cssPriority=!0;t.endGroup()}else this._drawDefaultSymbol(t,e,i,s,r.symbolMarker,r.symbolStyle)}_drawDefaultSymbol(t,e,i,s,r,a){r==Marker.Dot?t.drawEllipse(e,i,.5*s,.5*s,null,a):r==Marker.Box&&t.drawRect(e-.5*s,i-.5*s,s,s,null,a)}}exports._LinePlotter=_LinePlotter;class _BubblePlotter extends _LinePlotter{constructor(){super();this._MIN_SIZE=5;this._MAX_SIZE=30;this.hasLines=!1;this.hasSymbols=!0;this.clipping=!0;this.hitTestSymbols=!1}adjustLimits(t,e){var i=this.getNumOption("minSize","bubble");this._minSize=i||this._MIN_SIZE;var s=this.getNumOption("maxSize","bubble");this._maxSize=s||this._MAX_SIZE;for(var r=this.chart.series,a=r.length,n=NaN,h=NaN,o=0;o<a;o++){if((p=r[o])._getChartType()==ChartType.Bubble||null==p._getChartType()&&p._chart._getChartType()==ChartType.Bubble){let t=p._getBindingValues(1);if(t)for(var l=t.length,_=0;_<l;_++)if(isFinite(t[_])){(isNaN(n)||t[_]<n)&&(n=t[_]);(isNaN(h)||t[_]>h)&&(h=t[_])}}}this._minValue=n;this._maxValue=h;let d=super.adjustLimits(t,e),c=e.left,u=e.right,g=e.top,m=e.bottom;for(o=0;o<a;o++){var p;if((p=r[o])._getChartType()==ChartType.Bubble||null==p._getChartType()&&p._chart._getChartType()==ChartType.Bubble){let t=p._getBindingValues(1),i=p.getValues(1),s=p.getValues(0);if(t&&i&&s){let r=t.length;for(_=0;_<r;_++){let r=i?i[_]:_,a=s[_],o=t[_];if(_DataInfo.isValid(r,a,o)){r=e.left+e.width*(r-d.left)/d.width;a=e.top+e.height*(a-d.top)/d.height;o=this._minSize+(this._maxSize-this._minSize)*(o-n)/(h-n);r-o<c&&(c=r-o);r+o>u&&(u=r+o);a-o<g&&(g=a-o);a+o>m&&(m=a+o)}}}}}c=e.left-c+5;u=u-e.right+5;g=e.top-g+5;m=m-e.bottom+5;var f=this.chart.axisX,x=this.chart.axisY;if(!f._isLogAxis())if(this.stacking==Stacking.Stacked100pc&&this.rotated){let t=(e.width-this._maxSize)/d.width;d.left-=.5*this._maxSize/t;d.width+=this._maxSize/t}else{let t=(e.width-(c+u))/d.width;d.left-=c/t;d.width+=(c+u)/t}if(!x._isLogAxis())if(this.stacking!=Stacking.Stacked100pc||this.rotated){let t=(e.height-(g+m))/d.height;d.top-=g/t;d.height+=(g+m)/t}else{let t=(e.height-this._maxSize)/d.height;d.top-=.5*this._maxSize/t;d.height+=this._maxSize/t}return d}_drawSymbol(t,e,i,s,r,a,n){if(null==this._minSize){var h=this.getNumOption("minSize","bubble");this._minSize=h||this._MIN_SIZE}if(null==this._maxSize){var o=this.getNumOption("maxSize","bubble");this._maxSize=o||this._MAX_SIZE}var l=r._getItem(a);if(l){var _=r._getBinding(1);if(_){s=l[_];if(isFinite(s)){null==s&&(s=this._minValue);var d=this._minValue==this._maxValue?1:Math.sqrt((s-this._minValue)/(this._maxValue-this._minValue));s=this._minSize+(this._maxSize-this._minSize)*d;if(n){var c=new HitTestInfo(this.chart,new wijmo_1.Point(e,i),ChartElement.SeriesSymbol);c._setData(r,a);t.startGroup();n(t,c,()=>{this._drawDefaultSymbol(t,e,i,s,r.symbolMarker,r.symbolStyle)});t.endGroup()}else this._drawDefaultSymbol(t,e,i,s,r.symbolMarker,r.symbolStyle);let h=r.getValues(1);h||(h=this.dataInfo.getXVals());const o=h?h[a]:a,l=r.getValues(0)[a],_=this.chart.series.indexOf(r);let u=new _CircleArea(new wijmo_1.Point(e,i),.5*s);u.tag=new _DataPoint(_,a,o,l);this.hitTester.add(u,_)}}}}}exports._BubblePlotter=_BubblePlotter;wijmo_1._registerModule("wijmo.chart",selfModule);
14
+ "use strict";var __importStar=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var i in t)Object.hasOwnProperty.call(t,i)&&(e[i]=t[i]);e.default=t;return e};Object.defineProperty(exports,"__esModule",{value:!0});const wijmo_1=require("@grapecity/wijmo"),selfModule=__importStar(require("@grapecity/wijmo.chart"));class _VolumeHelper{constructor(t,e,i,s,n){this._volumes=wijmo_1.asArray(t);this._xVals=wijmo_1.asArray(e);this._xDataMin=wijmo_1.asNumber(i,!0,!1);this._xDataMax=wijmo_1.asNumber(s,!0,!1);this._xDataType=wijmo_1.asEnum(n,wijmo_1.DataType,!0);this._calcData=[];this._init()}convert(t,e,i){var s,n=this._calcData.length,r=-1;if(this._hasXs&&this._xDataType===wijmo_1.DataType.Date){if(-1===(r=this._xVals.indexOf(t)))for(let e=0;e<this._xVals.length;e++){if(e<this._xVals.length-1&&this._xVals[e]<=t&&t<=this._xVals[e+1]){r=e;break}if(0===e&&t<=this._xVals[e]){r=e;break}if(e===this._xVals.length-1&&this._xVals[e]<=t){r=e;break}}if(-1===r){r=this._xVals.indexOf(Math.floor(t));r=wijmo_1.clamp(r,0,n-1)}}else if(this._hasXs){if(-1===(r=this._xVals.indexOf(t))){r=this._xVals.indexOf(Math.floor(t));r=wijmo_1.clamp(r,0,n-1)}}else r=wijmo_1.clamp(Math.round(t),0,n-1);if(0<=r&&r<n){this._hasXs&&(t=_VolumeHelper.convertToRange(t,0,n-1,this._xDataMin,this._xDataMax));s=((s=this._calcData[r].value+(t-r)*this._calcData[r].width-.5*this._calcData[r].width)-(e=this._getXVolume(e)))/((i=this._getXVolume(i))-e)}return s}convertBack(t,e,i){var s,n,r=this._calcData.length,a=-1;for(n=0;n<r;n++)if(this._calcData[n].x1<=t&&t<=this._calcData[n].x2||0===n&&t<=this._calcData[n].x2||n===r-1&&this._calcData[n].x1<=t){a=n;break}if(0<=a&&a<r){s=t/this._calcData[a].width-this._calcData[a].value/this._calcData[a].width+.5+n;this._hasXs&&(s=_VolumeHelper.convertToRange(s,this._xDataMin,this._xDataMax,0,r-1))}return s}_init(){this._hasXs=null!==this._xVals&&this._xVals.length>0;this._hasXs&&!wijmo_1.isNumber(this._xDataMin)&&(this._xDataMin=Math.min.apply(null,this._xVals));this._hasXs&&!wijmo_1.isNumber(this._xDataMax)&&(this._xDataMax=Math.max.apply(null,this._xVals));this._hasXs&&(this._hasXs=wijmo_1.isNumber(this._xDataMin)&&wijmo_1.isNumber(this._xDataMax));this._hasXs&&this._xDataType===wijmo_1.DataType.Date&&this._fillGaps();var t=0,e=0,i=null!==this._volumes&&this._volumes.length>0?this._volumes.length:0;for(e=0;e<i;e++)t+=this._volumes[e]||0;var s,n,r=0;for(e=0;e<i;e++){s=r+(n=(this._volumes[e]||0)/t);this._calcData.push({value:s,width:n,x1:r,x2:s});r=this._calcData[e].value}}_getXVolume(t){var e=this._calcData.length,i=-1;if(this._hasXs){i=this._xVals.indexOf(t);for(let e=0;e<this._xVals.length;e++){if(e<this._xVals.length-1&&this._xVals[e]<=t&&t<=this._xVals[e+1]){i=e;break}if(0===e&&t<=this._xVals[e]){i=e;break}if(e===this._xVals.length-1&&this._xVals[e]<=t){i=e;break}}}this._hasXs&&(t=_VolumeHelper.convertToRange(t,0,e-1,this._xDataMin,this._xDataMax));-1===i&&(i=wijmo_1.clamp(Math.round(t),0,e-1));return this._calcData[i].value+(t-i)*this._calcData[i].width-.5*this._calcData[i].width}static convertToRange(t,e,i,s,n){return e===i||s===n?0:(t-s)*(i-e)/(n-s)+e}_fillGaps(){if(!(this._xDataType!==wijmo_1.DataType.Date||null===this._xVals||this._xVals.length<=0)){var t,e=this._xDataMin,i=this._xDataMax;for(t=1;e<i;t++){(e=new Date(e)).setDate(e.getDate()+1);if((e=e.valueOf())!==this._xVals[t]){this._xVals.splice(t,0,e);this._volumes.splice(t,0,0)}}}}}exports._VolumeHelper=_VolumeHelper;class _Curve{constructor(t,e,i,s){this.monoX=!1;const n=i||Math.min(t.length,e.length);let r=0,a=0,h=0,o=0;if(n>3)for(let i=0;i<n-1;i++)if(i>0){a=Math.min(a,t[i]-t[i-1]);r=Math.max(r,t[i]-t[i-1]);o=Math.min(o,e[i]-e[i-1]);h=Math.max(h,e[i]-e[i-1])}this.monoX=r>0&&0===a||a<0&&0===r;this.monoX&&"spline"!==s?this.calc=a<0?new _SplineMono(t.reverse(),e.reverse(),i):new _SplineMono(t,e,i):this.calc=new _Spline(t,e,i)}calculate(){return this.calc.calculate()}}exports._Curve=_Curve;class _Spline{constructor(t,e,i){this.k=.002;this._a=[];this._b=[];this._c=[];this._d=[];this.m=[[-.5,1.5,-1.5,.5],[1,-2.5,2,-.5],[-.5,0,.5,0],[0,1,0,0]];this._x=t;this._y=e;this._len=i||Math.min(t.length,e.length);const s=this._len;if(s>3)for(let i=0;i<s-1;i++){const n=0==i?new wijmo_1.Point(t[i],e[i]):new wijmo_1.Point(t[i-1],e[i-1]),r=new wijmo_1.Point(t[i],e[i]),a=new wijmo_1.Point(t[i+1],e[i+1]),h=i==s-2?new wijmo_1.Point(t[i+1],e[i+1]):new wijmo_1.Point(t[i+2],e[i+2]),o=new wijmo_1.Point,l=new wijmo_1.Point,_=new wijmo_1.Point,c=new wijmo_1.Point;o.x=n.x*this.m[0][0]+r.x*this.m[0][1]+a.x*this.m[0][2]+h.x*this.m[0][3];l.x=n.x*this.m[1][0]+r.x*this.m[1][1]+a.x*this.m[1][2]+h.x*this.m[1][3];_.x=n.x*this.m[2][0]+r.x*this.m[2][1]+a.x*this.m[2][2]+h.x*this.m[2][3];c.x=n.x*this.m[3][0]+r.x*this.m[3][1]+a.x*this.m[3][2]+h.x*this.m[3][3];o.y=n.y*this.m[0][0]+r.y*this.m[0][1]+a.y*this.m[0][2]+h.y*this.m[0][3];l.y=n.y*this.m[1][0]+r.y*this.m[1][1]+a.y*this.m[1][2]+h.y*this.m[1][3];_.y=n.y*this.m[2][0]+r.y*this.m[2][1]+a.y*this.m[2][2]+h.y*this.m[2][3];c.y=n.y*this.m[3][0]+r.y*this.m[3][1]+a.y*this.m[3][2]+h.y*this.m[3][3];this._a.push(o);this._b.push(l);this._c.push(_);this._d.push(c)}}calculatePoint(t){var e=Math.floor(t);e<0&&(e=0);e>this._len-2&&(e=this._len-2);var i=t-e;return{x:((this._a[e].x*i+this._b[e].x)*i+this._c[e].x)*i+this._d[e].x,y:((this._a[e].y*i+this._b[e].y)*i+this._c[e].y)*i+this._d[e].y}}calculate(){if(this._len<=3)return{xs:this._x,ys:this._y};const t=[],e=[];let i=this.calculatePoint(0);t.push(i.x);e.push(i.y);const s=Math.min(this._len*this.k,.2);for(let n=s;n<=this._len-1;n+=s){const r=Math.ceil(n),a=this.calculatePoint(n);if(Math.abs(i.x-a.x)>=3||Math.abs(i.y-a.y)>=3){t.push(a.x);e.push(a.y);i=a}if(n+s>=r){t.push(this._x[r]);e.push(this._y[r])}}return{xs:t,ys:e}}}exports._Spline=_Spline;class _SplineMono{constructor(t,e,i){this._x=[];this._y=[];this._c1s=[];this._c2s=[];this._c3s=[];this._len=i||Math.min(t.length,e.length);const s=this._len;for(let i=0;i<s;i++){this._x.push(t[i]);this._y.push(e[i])}t=this._x;e=this._y;if(this._len<=3)return;const n=[],r=[],a=[];for(let i=0;i<s-1;i++){const s=t[i+1]-t[i],h=e[i+1]-e[i];r[i]=s;n[i]=h;a[i]=h/s}var h=this._c1s;h.push(a[0]);for(let t=0;t<r.length-1;t++){const e=a[t],i=a[t+1];if(e*i<=0)h.push(0);else{const s=r[t],n=r[t+1],a=s+n;h.push(3*a/((a+n)/e+(a+s)/i))}}h.push(a[a.length-1]);const o=this._c2s,l=this._c3s;for(let t=0;t<h.length-1;t++){const e=h[t],i=a[t],s=1/r[t],n=e+h[t+1]-i-i;o[t]=(i-e-n)*s;l[t]=n*s*s}}interpolate(t){let e=this._x.length-1;if(t>=this._x[e])return this._y[e];for(var i,s=0,n=this._c3s.length-1;s<=n;){i=Math.floor(.5*(s+n));const e=this._x[i];if(e<t)s=i+1;else{if(!(e>t))return this._y[i];n=i-1}}e=Math.max(0,n);var r=t-this._x[e];return this._y[e]+r*(this._c1s[e]+r*(this._c2s[e]+r*this._c3s[e]))}calculate(){if(this._len<=3)return{xs:this._x,ys:this._y};const t=[],e=[],i=this._len,s=this._x[0],n=this._x[i-1],r=Math.min(.001*this._len,.2);for(let i=s;i<=n;i+=r){t.push(i);e.push(this.interpolate(i))}return{xs:t,ys:e}}}exports.AxisClsNames={axisX:"wj-axis-x",axisXLabels:"wj-axis-x-labels",axisY:"wj-axis-y",axisYLabels:"wj-axis-y-labels",gridline:"wj-gridline",gridlineMinor:"wj-gridline-minor",line:"wj-line",tick:"wj-tick",tickMinor:"wj-tick-minor"};exports.DataLabelClsNames={border:"wj-data-label-border",label:"wj-data-label",labels:"wj-data-labels",line:"wj-data-label-line"};exports.FlexChartClsNames={footer:"wj-footer",header:"wj-header",hostElement:"wj-flexchart",label:"wj-label",legend:"wj-legend",plotArea:"wj-plot-area",title:"wj-title",touchDisabled:"wj-flexchart-touch-disabled"};exports.FlexPieClsNames={hostElement:"wj-flexpie",slice:"wj-slice",sliceGroup:"wj-slice-group"};exports.LegendClsNames={legend:"wj-legend",title:"wj-title"};exports.LineMarkerClsNames={container:"wj-chart-linemarker-container",content:"wj-chart-linemarker-content",draggable:"wj-chart-linemarker-draggable",hline:"wj-chart-linemarker-hline",linemarker:"wj-chart-linemarker",vline:"wj-chart-linemarker-vline"};exports.SeriesClsNames={group:"wj-series-group"};class Palettes{static _isExtended(t){return-1!==Palettes._values(Palettes.Diverging).indexOf(t)||-1!==Palettes._values(Palettes.Qualitative).indexOf(t)||-1!==Palettes._values(Palettes.SequentialSingle).indexOf(t)||-1!==Palettes._values(Palettes.SequentialMulti).indexOf(t)}static _values(t){return Object.keys(t).map(e=>t[e])}}Palettes.standard=["#88bde6","#fbb258","#90cd97","#f6aac9","#bfa554","#bc99c7","#eddd46","#f07e6e","#8c8c8c"];Palettes.cocoa=["#466bb0","#c8b422","#14886e","#b54836","#6e5944","#8b3872","#73b22b","#b87320","#141414"];Palettes.coral=["#84d0e0","#f48256","#95c78c","#efa5d6","#ba8452","#ab95c2","#ede9d0","#e96b7d","#888888"];Palettes.dark=["#005fad","#f06400","#009330","#e400b1","#b65800","#6a279c","#d5a211","#dc0127","#000000"];Palettes.highcontrast=["#ff82b0","#0dda2c","#0021ab","#bcf28c","#19c23b","#890d3a","#607efd","#1b7700","#000000"];Palettes.light=["#ddca9a","#778deb","#cb9fbb","#b5eae2","#7270be","#a6c7a7","#9e95c7","#95b0c7","#9b9b9b"];Palettes.midnight=["#83aaca","#e37849","#14a46a","#e097da","#a26d54","#a584b7","#d89c54","#e86996","#2c343b"];Palettes.modern=["#2d9fc7","#ec993c","#89c235","#e377a4","#a68931","#a672a6","#d0c041","#e35855","#68706a"];Palettes.organic=["#9c88d9","#a3d767","#8ec3c0","#e9c3a9","#91ab36","#d4ccc0","#61bbd8","#e2d76f","#80715a"];Palettes.slate=["#7493cd","#f99820","#71b486","#e4a491","#cb883b","#ae83a4","#bacc5c","#e5746a","#505d65"];Palettes.zen=["#7bb5ae","#e2d287","#92b8da","#eac4cb","#7b8bbd","#c7d189","#b9a0c8","#dfb397","#a9a9a9"];Palettes.cyborg=["#2a9fd6","#77b300","#9933cc","#ff8800","#cc0000","#00cca3","#3d6dcc","#525252","#000000"];Palettes.superhero=["#5cb85c","#f0ad4e","#5bc0de","#d9534f","#9f5bde","#46db8c","#b6b86e","#4e5d6c","#2b3e4b"];Palettes.flatly=["#18bc9c","#3498db","#f39c12","#6cc1be","#99a549","#8f54b5","#e74c3c","#8a9899","#2c3e50"];Palettes.darkly=["#375a7f","#00bc8c","#3498db","#f39c12","#e74c3c","#8f61b3","#b08725","#4a4949","#000000"];Palettes.cerulan=["#033e76","#87c048","#59822c","#53b3eb","#fc6506","#d42323","#e3bb00","#cccccc","#222222"];Palettes.Qualitative={Accent:["#7fc97f","#beaed4","#fdc086","#ffff99","#386cb0","#f0027f","#bf5b17","#666666"],Dark2:["#1b9e77","#d95f02","#7570b3","#e7298a","#66a61e","#e6ab02","#a6761d","#666666"],Paired:["#a6cee3","#1f78b4","#b2df8a","#33a02c","#fb9a99","#e31a1c","#fdbf6f","#ff7f00"],Pastel1:["#fbb4ae","#b3cde3","#ccebc5","#decbe4","#fed9a6","#ffffcc","#e5d8bd","#fddaec"],Pastel2:["#b3e2cd","#fdcdac","#cbd5e8","#f4cae4","#e6f5c9","#fff2ae","#f1e2cc","#cccccc"],Set1:["#e41a1c","#377eb8","#4daf4a","#984ea3","#ff7f00","#ffff33","#a65628","#f781bf"],Set2:["#66c2a5","#fc8d62","#8da0cb","#e78ac3","#a6d854","#ffd92f","#e5c494","#b3b3b3"],Set3:["#8dd3c7","#ffffb3","#bebada","#fb8072","#80b1d3","#fdb462","#b3de69","#fccde5"]};Palettes.Diverging={BrBG:["#543005","#8c510a","#bf812d","#dfc27d","#f6e8c3","#f5f5f5","#c7eae5","#80cdc1","#35978f","#01665e","#003c30"],PiYG:["#8e0152","#c51b7d","#de77ae","#f1b6da","#fde0ef","#f7f7f7","#e6f5d0","#b8e186","#7fbc41","#4d9221","#276419"],PRGn:["#40004b","#762a83","#9970ab","#c2a5cf","#e7d4e8","#f7f7f7","#d9f0d3","#a6dba0","#5aae61","#1b7837","#00441b"],PuOr:["#7f3b08","#b35806","#e08214","#fdb863","#fee0b6","#f7f7f7","#d8daeb","#b2abd2","#8073ac","#542788","#2d004b"],RdBu:["#67001f","#b2182b","#d6604d","#f4a582","#fddbc7","#f7f7f7","#d1e5f0","#92c5de","#4393c3","#2166ac","#053061"],RdGy:["#67001f","#b2182b","#d6604d","#f4a582","#fddbc7","#ffffff","#e0e0e0","#bababa","#878787","#4d4d4d","#1a1a1a"],RdYlBu:["#a50026","#d73027","#f46d43","#fdae61","#fee090","#ffffbf","#e0f3f8","#abd9e9","#74add1","#4575b4","#313695"],RdYlGn:["#a50026","#d73027","#f46d43","#fdae61","#fee08b","#ffffbf","#d9ef8b","#a6d96a","#66bd63","#1a9850","#006837"],Spectral:["#9e0142","#d53e4f","#f46d43","#fdae61","#fee08b","#ffffbf","#e6f598","#abdda4","#66c2a5","#3288bd","#5e4fa2"]};Palettes.SequentialSingle={Blues:["#f7fbff","#deebf7","#c6dbef","#9ecae1","#6baed6","#4292c6","#2171b5","#08519c","#08306b"],Greens:["#f7fcf5","#e5f5e0","#c7e9c0","#a1d99b","#74c476","#41ab5d","#238b45","#006d2c","#00441b"],Greys:["#ffffff","#f0f0f0","#d9d9d9","#bdbdbd","#969696","#737373","#525252","#252525","#000000"],Oranges:["#fff5eb","#fee6ce","#fdd0a2","#fdae6b","#fd8d3c","#f16913","#d94801","#a63603","#7f2704"],Purples:["#fcfbfd","#efedf5","#dadaeb","#bcbddc","#9e9ac8","#807dba","#6a51a3","#54278f","#3f007d"],Reds:["#fff5f0","#fee0d2","#fcbba1","#fc9272","#fb6a4a","#ef3b2c","#cb181d","#a50f15","#67000d"]};Palettes.SequentialMulti={BuGn:["#f7fcfd","#e5f5f9","#ccece6","#99d8c9","#66c2a4","#41ae76","#238b45","#006d2c","#00441b"],BuPu:["#f7fcfd","#e0ecf4","#bfd3e6","#9ebcda","#8c96c6","#8c6bb1","#88419d","#810f7c","#4d004b"],GnBu:["#f7fcf0","#e0f3db","#ccebc5","#a8ddb5","#7bccc4","#4eb3d3","#2b8cbe","#0868ac","#084081"],OrRd:["#fff7ec","#fee8c8","#fdd49e","#fdbb84","#fc8d59","#ef6548","#d7301f","#b30000","#7f0000"],PuBu:["#fff7fb","#ece7f2","#d0d1e6","#a6bddb","#74a9cf","#3690c0","#0570b0","#045a8d","#023858"],PuBuGn:["#fff7fb","#ece2f0","#d0d1e6","#a6bddb","#67a9cf","#3690c0","#02818a","#016c59","#014636"],PuRd:["#f7f4f9","#e7e1ef","#d4b9da","#c994c7","#df65b0","#e7298a","#ce1256","#980043","#67001f"],RdPu:["#fff7f3","#fde0dd","#fcc5c0","#fa9fb5","#f768a1","#dd3497","#ae017e","#7a0177","#49006a"],YlGn:["#ffffe5","#f7fcb9","#d9f0a3","#addd8e","#78c679","#41ab5d","#238443","#006837","#004529"],YlGnBu:["#ffffd9","#edf8b1","#c7e9b4","#7fcdbb","#41b6c4","#1d91c0","#225ea8","#253494","#081d58"],YlOrBr:["#ffffe5","#fff7bc","#fee391","#fec44f","#fe9929","#ec7014","#cc4c02","#993404","#662506"],YlOrRd:["#ffffcc","#ffeda0","#fed976","#feb24c","#fd8d3c","#fc4e2a","#e31a1c","#bd0026","#800026"]};exports.Palettes=Palettes;exports.empty={};class PlotArea{constructor(t){this._row=0;this._col=0;this._rect=new wijmo_1.Rect(0,0,0,0);wijmo_1.copy(this,t)}get row(){return this._row}set row(t){if(t!=this._row){this._row=wijmo_1.asInt(t,!0,!0);this._invalidate()}}get column(){return this._col}set column(t){if(t!=this._col){this._col=wijmo_1.asInt(t,!0,!0);this._invalidate()}}get name(){return this._name}set name(t){t!=this._name&&(this._name=wijmo_1.asString(t,!0))}get width(){return this._width}set width(t){if(t!=this._width){this._width=t;this._invalidate()}}get height(){return this._height}set height(t){if(t!=this._height){this._height=t;this._invalidate()}}get style(){return this._style}set style(t){if(t!=this._style){this._style=t;this._invalidate()}}_invalidate(){this._chart&&this._chart.invalidate()}_render(t){t.drawRect(this._rect.left,this._rect.top,this._rect.width,this._rect.height,null,this.style)}_setPlotX(t,e){this._rect.left=t;this._rect.width=e}_setPlotY(t,e){this._rect.top=t;this._rect.height=e}}exports.PlotArea=PlotArea;class PlotAreaCollection extends wijmo_1.ObservableArray{getPlotArea(t){var e=this.indexOf(t);return e>-1?this[e]:null}indexOf(t){for(let e=0;e<this.length;e++)if(this[e].name==t)return e;return-1}_getWidth(t){for(let e=0;e<this.length;e++){const i=this[e];if(i.column==t&&0==i.row)return i.width}}_getHeight(t){for(let e=0;e<this.length;e++){const i=this[e];if(i.row==t&&0==i.column)return i.height}}_calculateWidths(t,e){if(e<=0)throw"ncols";var i=[];for(let t=0;t<e;t++){const e=this._getWidth(t);i[t]=new _GridLength(e)}return this._calculateLengths(t,e,i)}_calculateHeights(t,e){if(e<=0)throw"nrows";var i=[];for(let t=0;t<e;t++){const e=this._getHeight(t);i[t]=new _GridLength(e)}return this._calculateLengths(t,e,i)}_calculateLengths(t,e,i){var s=[e],n=0,r=0;for(let t=0;t<e;t++)if(i[t].isAbsolute){s[t]=i[t].value;n+=s[t]}else i[t].isStar?r+=i[t].value:i[t].isAuto&&r++;var a=(t-n)/r;for(let t=0;t<e;t++){i[t].isStar?s[t]=a*i[t].value:i[t].isAuto&&(s[t]=a);s[t]<0&&(s[t]=0)}return s}}exports.PlotAreaCollection=PlotAreaCollection;var _GridUnitType,ImageFormat,SelectionMode,Position,Orientation,ChartType,Stacking,LabelPosition,PieLabelPosition,_MeasureOption,ChartElement,SeriesVisibility,Marker,AxisType,OverlappingLabels,TickMark,AxisGroupsDisplay,_tmInc;!function(t){t[t.Auto=0]="Auto";t[t.Pixel=1]="Pixel";t[t.Star=2]="Star"}(_GridUnitType||(_GridUnitType={}));class _GridLength{constructor(t=null){this._unitType=_GridUnitType.Auto;if(t)if((t=t.toString()).indexOf("*")>=0){this._unitType=_GridUnitType.Star;t=t.replace("*","");this._value=parseFloat(t);isNaN(this._value)&&(this._value=1)}else{this._unitType=_GridUnitType.Pixel;this._value=parseFloat(t);if(isNaN(this._value)){this._unitType=_GridUnitType.Auto;this._value=1}}}get value(){return this._value}get isStar(){return this._unitType==_GridUnitType.Star}get isAbsolute(){return this._unitType==_GridUnitType.Pixel}get isAuto(){return this._unitType==_GridUnitType.Auto}}class _SvgRenderEngine{constructor(t){this._STROKE_JOIN="round";this._strokeWidth=1;this._fontSize=null;this._fontFamily=null;this._savedGradient={};this._bbCache={};this._baseUrl="";this._cssPriority=!0;this._readOnly=!1;this._isRtl=!1;this._precision=1;this._options=null;this._htmlText=!1;this._element=t;this._create();this._element&&this._element.appendChild(this._svg);const e=navigator.userAgent.toLowerCase();void 0===_SvgRenderEngine._isff&&(_SvgRenderEngine._isff=e.indexOf("firefox")>=0);void 0===_SvgRenderEngine._isSafari&&(_SvgRenderEngine._isSafari=e.indexOf("safari")>-1&&-1==e.indexOf("chrome"))}attach(t){this._element=t;if(t){t.insertBefore(this._svg,t.childNodes[0]);t.appendChild(this._svg)}}detach(){this._element&&this._element.removeChild(this._svg);for(;this._svg.firstChild;)wijmo_1.removeChild(this._svg.firstChild)}beginRender(){for(;this._svg.firstChild;)wijmo_1.removeChild(this._svg.firstChild);this._savedGradient={};this._bbCache={};this._svg.appendChild(this._defs);this._svg.appendChild(this._textGroup);this._isRtl=this._checkRtl()}endRender(){wijmo_1.removeChild(this._textGroup)}setViewportSize(t,e){this._svg.setAttribute("width",t.toString());this._svg.setAttribute("height",e.toString())}get element(){return this._svg}get fill(){return this._fill}set fill(t){this._fill=t}get fontSize(){return this._fontSize}set fontSize(t){this._fontSize=t}get fontFamily(){return this._fontFamily}set fontFamily(t){this._fontFamily=t}get stroke(){return this._stroke}set stroke(t){this._stroke=t}get strokeWidth(){return this._strokeWidth}set strokeWidth(t){this._strokeWidth=void 0===t?null:t}get textFill(){return this._textFill}set textFill(t){this._textFill=t}get cssPriority(){return this._cssPriority}set cssPriority(t){this._cssPriority=t}get readOnly(){return this._readOnly}set readOnly(t){this._readOnly=t}get precision(){return this._precision}set precision(t){this._precision=wijmo_1.asNumber(t)}get group(){return this._group}get options(){return this._options}set options(t){this._options=t}addClipRect(t,e){if(t&&e){const i=this.precision,s=document.createElementNS(_SvgRenderEngine.svgNS,"clipPath"),n=document.createElementNS(_SvgRenderEngine.svgNS,"rect");n.setAttribute("x",(t.left-1).toFixed(i));n.setAttribute("y",(t.top-1).toFixed(i));n.setAttribute("width",(t.width+2).toFixed(i));n.setAttribute("height",(t.height+2).toFixed(i));s.appendChild(n);s.setAttribute("id",e);this._svg.appendChild(s)}}drawEllipse(t,e,i,s,n,r){const a=document.createElementNS(_SvgRenderEngine.svgNS,"ellipse"),h=this.precision;this._applyColor(a,"stroke",this._stroke);null!==this._strokeWidth&&this._setAttribute(a,"stroke-width",this._strokeWidth.toString());this._applyColor(a,"fill",this._fill);a.setAttribute("cx",t.toFixed(h));a.setAttribute("cy",e.toFixed(h));a.setAttribute("rx",i.toFixed(h));a.setAttribute("ry",s.toFixed(h));n&&a.setAttribute("class",n);this._applyStyle(a,r);this._appendChild(a);return a}drawRect(t,e,i,s,n,r,a){const h=document.createElementNS(_SvgRenderEngine.svgNS,"rect"),o=this.precision;this._applyColor(h,"fill",this._fill);this._applyColor(h,"stroke",this._stroke);null!==this._strokeWidth&&this._setAttribute(h,"stroke-width",this._strokeWidth.toString());h.setAttribute("x",t.toFixed(o));isNaN(Number(e))||h.setAttribute("y",e.toFixed(o));i>0&&i<.05?h.setAttribute("width","0.1"):h.setAttribute("width",i.toFixed(o));s>0&&s<.05?h.setAttribute("height","0.1"):h.setAttribute("height",s.toFixed(o));a&&this._setClipPath(h,a);n&&h.setAttribute("class",n);this._applyStyle(h,r);this._appendChild(h);return h}drawLine(t,e,i,s,n,r){const a=document.createElementNS(_SvgRenderEngine.svgNS,"line"),h=this.precision;this._applyColor(a,"stroke",this._stroke);null!==this._strokeWidth&&this._setAttribute(a,"stroke-width",this._strokeWidth.toString());a.setAttribute("x1",t.toFixed(h));a.setAttribute("x2",i.toFixed(h));a.setAttribute("y1",e.toFixed(h));a.setAttribute("y2",s.toFixed(h));n&&a.setAttribute("class",n);this._applyStyle(a,r);this._appendChild(a);return a}drawLines(t,e,i,s,n,r){if(t&&e){const a=r||Math.min(t.length,e.length);if(a>0){const r=document.createElementNS(_SvgRenderEngine.svgNS,"polyline"),h=this.precision;this._applyColor(r,"stroke",this._stroke);if(null!==this._strokeWidth){this._setAttribute(r,"stroke-width",this._strokeWidth.toString());this._strokeWidth>1&&this._setAttribute(r,"stroke-linejoin",this._STROKE_JOIN)}r.setAttribute("fill","none");let o="";for(let i=0;i<a;i++)o+=`${t[i].toFixed(h)},${e[i].toFixed(h)} `;r.setAttribute("points",o);i&&r.setAttribute("class",i);n&&this._setClipPath(r,n);this._applyStyle(r,s);this._appendChild(r);return r}}return null}drawSplines(t,e,i,s,n,r){if(t&&e){const a=new _Curve(t,e,r,this._options&&this._options.spline).calculate(),h=a.xs,o=a.ys,l=Math.min(h.length,o.length);if(l>0){const t=document.createElementNS(_SvgRenderEngine.svgNS,"polyline"),e=this.precision;this._applyColor(t,"stroke",this._stroke);if(null!==this._strokeWidth){this._setAttribute(t,"stroke-width",this._strokeWidth.toString());this._strokeWidth>1&&this._setAttribute(t,"stroke-linejoin",this._STROKE_JOIN)}t.setAttribute("fill","none");let r="";for(let t=0;t<l;t++)r+=`${h[t].toFixed(e)},${o[t].toFixed(e)} `;t.setAttribute("points",r);i&&t.setAttribute("class",i);n&&this._setClipPath(t,n);this._applyStyle(t,s);this._appendChild(t);return t}}return null}drawPolygon(t,e,i,s,n){if(t&&e){const r=Math.min(t.length,e.length);if(r>0){const a=document.createElementNS(_SvgRenderEngine.svgNS,"polygon"),h=this.precision;this._applyColor(a,"stroke",this._stroke);if(null!==this._strokeWidth){this._setAttribute(a,"stroke-width",this._strokeWidth.toString());this._strokeWidth>1&&this._setAttribute(a,"stroke-linejoin",this._STROKE_JOIN)}this._applyColor(a,"fill",this._fill);let o="";for(let i=0;i<r;i++)o+=`${t[i].toFixed(h)},${e[i].toFixed(h)} `;a.setAttribute("points",o);i&&a.setAttribute("class",i);n&&this._setClipPath(a,n);this._applyStyle(a,s);this._appendChild(a);return a}}return null}drawPieSegment(t,e,i,s,n,r,a,h){if(n>=2*Math.PI)return this.drawEllipse(t,e,i,i,r,a);const o=document.createElementNS(_SvgRenderEngine.svgNS,"path"),l=this.precision;this._applyColor(o,"fill",this._fill);this._applyColor(o,"stroke",this._stroke);null!==this._strokeWidth&&this._setAttribute(o,"stroke-width",this._strokeWidth.toString());var _=new wijmo_1.Point(t,e);_.x+=i*Math.cos(s);_.y+=i*Math.sin(s);var c=s+n,d=new wijmo_1.Point(t,e);d.x+=i*Math.cos(c);d.y+=i*Math.sin(c);var u=" 0 0,1 ";Math.abs(n)>Math.PI&&(u=" 0 1,1 ");var g=`M ${_.x.toFixed(l)},${_.y.toFixed(l)}`;g+=` A ${i.toFixed(l)},${i.toFixed(l)}${u}`;g+=`${d.x.toFixed(l)},${d.y.toFixed(l)}`;g+=` L ${t.toFixed(l)},${e.toFixed(l)} z`;o.setAttribute("d",g);h&&this._setClipPath(o,h);r&&o.setAttribute("class",r);this._applyStyle(o,a);this._appendChild(o);return o}drawDonutSegment(t,e,i,s,n,r,a,h,o){var l=!1;if(r>=2*Math.PI){l=!0;r-=.001}const _=document.createElementNS(_SvgRenderEngine.svgNS,"path"),c=this.precision+2;this._applyColor(_,"fill",this._fill);this._applyColor(_,"stroke",this._stroke);null!==this._strokeWidth&&this._setAttribute(_,"stroke-width",this._strokeWidth.toString());var d=new wijmo_1.Point(t,e);d.x+=i*Math.cos(n);d.y+=i*Math.sin(n);var u=n+r,g=new wijmo_1.Point(t,e);g.x+=i*Math.cos(u);g.y+=i*Math.sin(u);var m=new wijmo_1.Point(t,e);m.x+=s*Math.cos(u);m.y+=s*Math.sin(u);var p=new wijmo_1.Point(t,e);p.x+=s*Math.cos(n);p.y+=s*Math.sin(n);var f=" 0 0,1 ",x=" 0 0,0 ";if(Math.abs(r)>Math.PI){f=" 0 1,1 ";x=" 0 1,0 "}var w=`M ${d.x.toFixed(c)},${d.y.toFixed(c)}`;w+=` A ${i.toFixed(c)},${i.toFixed(c)}${f}`;w+=` ${g.x.toFixed(c)},${g.y.toFixed(c)}`;w+=l?` M ${m.x.toFixed(c)},${m.y.toFixed(c)}`:` L ${m.x.toFixed(c)},${m.y.toFixed(c)}`;w+=` A ${s.toFixed(c)},${s.toFixed(c)}${x}`;w+=`${p.x.toFixed(c)},${p.y.toFixed(c)}`;l||(w+=" z");_.setAttribute("d",w);o&&this._setClipPath(_,o);a&&_.setAttribute("class",a);this._applyStyle(_,h);this._appendChild(_);return _}drawString(t,e,i,s){return this._isHtmlString(t)?this._drawStringHtml(t,e,i,s):this._drawString(t,e,i,s)}_isHtmlString(t){return this._htmlText&&/<\/?[a-z][\s\S]*>/i.test(t)}_drawString(t,e,i,s){const n=this._createText(e,t),r=this.precision;i&&n.setAttribute("class",i);this._applyStyle(n,s);this._appendChild(n);var a,h=this._getKey(t,i,this._groupCls);if(this._bbCache[h]){a=this._bbCache[h];n.setAttribute("y",(e.y-(a.y+a.height)).toFixed(r))}else{a=this._getBBox(n);n.setAttribute("y",(e.y-(a.y+a.height-e.y)).toFixed(r))}this._isRtl&&!wijmo_1.isIE()&&n.setAttribute("x",(e.x+a.width).toFixed(r));return n}_drawStringHtml(t,e,i,s){const n=document.createElementNS("http://www.w3.org/2000/svg","foreignObject");n.setAttribute("width","1000");n.setAttribute("height","100");n.setAttribute("x",e.x.toFixed(2));const r=document.createElement("span"),a=this._groupCls;a&&wijmo_1.addClass(r,a);i&&wijmo_1.addClass(r,i);this._applyStyle(r,s);r.innerHTML=t;n.appendChild(r);this._appendChild(n);const h=r.getBoundingClientRect();n.setAttribute("width",Math.ceil(h.width+2).toFixed(2));n.setAttribute("height",Math.ceil(h.height+1).toFixed(2));n.setAttribute("y",(e.y-h.height).toFixed(2));return n}drawStringRotated(t,e,i,s,n,r){return this._isHtmlString(t)?this._drawStringRotatedHtml(t,e,i,s,n,r):this._drawStringRotated(t,e,i,s,n,r)}_drawStringRotated(t,e,i,s,n,r){const a=this._createText(e,t),h=this.precision;n&&a.setAttribute("class",n);this._applyStyle(a,r);var o=document.createElementNS(_SvgRenderEngine.svgNS,"g");o.setAttribute("transform",`rotate(${s.toFixed(h)},${i.x.toFixed(h)},${i.y.toFixed(h)})`);o.appendChild(a);this._appendChild(o);var l=this._getBBox(a);a.setAttribute("y",(e.y-(l.y+l.height-e.y)).toFixed(h));this._isRtl&&!wijmo_1.isIE()&&a.setAttribute("x",(e.x+l.width).toFixed(h));return a}_drawStringRotatedHtml(t,e,i,s,n,r){const a=this.precision,h=document.createElementNS("http://www.w3.org/2000/svg","foreignObject");h.setAttribute("width","1000");h.setAttribute("height","100");h.setAttribute("x",e.x.toFixed(2));const o=document.createElement("span"),l=this._groupCls;l&&wijmo_1.addClass(o,l);n&&wijmo_1.addClass(o,n);this._applyStyle(o,r);o.innerHTML=t;h.appendChild(o);this._appendChild(h);const _=o.getBoundingClientRect();h.setAttribute("width",Math.ceil(_.width+2).toFixed(2));h.setAttribute("height",Math.ceil(_.height+1).toFixed(2));h.setAttribute("y",(e.y-_.height).toFixed(2));var c=document.createElementNS(_SvgRenderEngine.svgNS,"g");c.setAttribute("transform",`rotate(${s.toFixed(a)},${i.x.toFixed(a)},${i.y.toFixed(a)})`);c.appendChild(h);this._appendChild(c);return h}measureString(t,e,i,s){return this._isHtmlString(t)?this._measureStringHtml(t,e,i,s):this._measureString(t,e,i,s)}_measureString(t,e,i,s){var n=new wijmo_1.Size(0,0);if(!this._fontFamily&&!this._fontSize){const s=this._getKey(t,e,i);if(this._bbCache[s])return this._bbCache[s]}if(this.cssPriority){this._fontSize&&this._text.setAttribute("font-size",this._fontSize);this._fontFamily&&this._text.setAttribute("font-family",this._fontFamily)}else{const t={};this._fontSize&&(t.fontSize=this._fontSize);this._fontFamily&&(t.fontFamily=this._fontFamily);Object.keys(t).length>0&&wijmo_1.setCss(this._text,t)}e&&this._text.setAttribute("class",e);i&&this._textGroup.setAttribute("class",i);this._applyStyle(this._text,s);this._setText(this._text,t);var r=this._getBBox(this._text);n.width=r.width;n.height=r.height;this._text.removeAttribute("font-size");this._text.removeAttribute("font-family");this._text.removeAttribute("class");this._text.removeAttribute("style");if(s)for(const t in s)this._text.removeAttribute(this._deCase(t));this._textGroup.removeAttribute("class");this._text.textContent=null;if(!this._fontFamily&&!this._fontSize){const s=this._getKey(t,e,i);this._bbCache[s]={x:r.x,y:r.y+1e3,width:r.width,height:r.height}}return n}_measureStringHtml(t,e,i,s){var n=new wijmo_1.Size(0,0);const r=document.createElementNS("http://www.w3.org/2000/svg","foreignObject");r.setAttribute("width","1000");r.setAttribute("height","100");r.setAttribute("x","-1000");r.setAttribute("y","-1000");const a=document.createElement("span");i&&wijmo_1.addClass(a,i);e&&wijmo_1.addClass(a,e);this._applyStyle(a,s);a.innerHTML=t;r.appendChild(a);e&&this._text.setAttribute("class",e);this._applyStyle(this._text,s);this._appendChild(r);const h=a.getBoundingClientRect();n.width=h.width;n.height=h.height;r.remove();return n}startGroup(t,e,i=!1){var s=document.createElementNS(_SvgRenderEngine.svgNS,"g");if(t){s.setAttribute("class",t);this._groupCls=t}e&&this._setClipPath(s,e);this._appendChild(s);i&&s.transform.baseVal.appendItem(this._svg.createSVGTransform());this._group=s;return s}endGroup(){if(this._group){const t=this._group.parentNode;if(t==this._svg){this._group=null;this._groupCls=null}else{this._group=t;this._groupCls=this._getClass(this._group)}}}drawImage(t,e,i,s,n){const r=document.createElementNS(_SvgRenderEngine.svgNS,"image"),a=this.precision;r.setAttributeNS(_SvgRenderEngine.xlinkNS,"href",t);r.setAttribute("x",e.toFixed(a));r.setAttribute("y",i.toFixed(a));r.setAttribute("width",s.toFixed(a));r.setAttribute("height",n.toFixed(a));this._appendChild(r);return r}_setClipPath(t,e){t.setAttribute("clip-path",`url(#${e})`);_SvgRenderEngine._isSafari&&wijmo_1.setCss(t,{"-webkit-clip-path":`url(#${e})`})}_appendChild(t){if(!this.readOnly){var e=this._group;e||(e=this._svg);e.appendChild(t)}}_create(){this._svg=document.createElementNS(_SvgRenderEngine.svgNS,"svg");this._defs=document.createElementNS(_SvgRenderEngine.svgNS,"defs");this._svg.appendChild(this._defs);this._text=this._createText(new wijmo_1.Point(-1e3,-1e3),"");this._textGroup=document.createElementNS(_SvgRenderEngine.svgNS,"g");this._textGroup.appendChild(this._text);this._svg.appendChild(this._textGroup)}_setText(t,e){var i=e?e.toString():null;if(i&&i.indexOf("tspan")>=0)try{t.textContent=null;const e=new DOMParser,s=`<svg xmlns="http://www.w3.org/2000/svg">${i}</svg>`;let n=e.parseFromString(s,"text/xml").documentElement.firstChild;for(;n;){t.appendChild(t.ownerDocument.importNode(n,!0));n=n.nextSibling}}catch(t){throw new Error("Error parsing XML string.")}else t.textContent=i}_getKey(t,e,i){return t+(e||"")+(i||"")}_createText(t,e){const i=document.createElementNS(_SvgRenderEngine.svgNS,"text"),s=this.precision;this._setText(i,e);i.setAttribute("x",t.x.toFixed(s));i.setAttribute("y",t.y.toFixed(s));if(this.cssPriority){null!=this._textFill&&i.setAttribute("fill",this._textFill);this._fontSize&&i.setAttribute("font-size",this._fontSize);this._fontFamily&&i.setAttribute("font-family",this._fontFamily)}else{const t={};null!=this._textFill&&(t.fill=this._textFill);this._fontSize&&(t.fontSize=this._fontSize);this._fontFamily&&(t.fontFamily=this._fontFamily);Object.keys(t).length>0&&wijmo_1.setCss(i,t)}return i}_applyStyle(t,e){if(e)for(const i in e)"fill"===i||"stroke"===i?this._applyColor(t,i,e[i]):t.setAttribute(this._deCase(i),e[i])}_deCase(t){return t.replace(/[A-Z]/g,t=>"-"+t.toLowerCase())}_getClass(t){let e;if(t)for(let i=t;i;i=i.parentNode){e=i.getAttribute("class");if(e)break}return e}_getBBox(t){if(!_SvgRenderEngine._isff)return t.getBBox();try{return t.getBBox()}catch(t){return{x:0,y:0,width:0,height:0}}}_applyColor(t,e,i){let s=_GradientColorUtil.tryParse(i);if(null!=s){if(!wijmo_1.isString(s)){if(null==this._savedGradient[i]){const t="gc"+(1e6*Math.random()).toFixed();let e;if(null!=s.x1){e=document.createElementNS(_SvgRenderEngine.svgNS,"linearGradient");["x1","y1","x2","y2","gradientUnits"].forEach(t=>{null!=s[t]&&e.setAttribute(t,s[t])})}else if(null!=s.r){e=document.createElementNS(_SvgRenderEngine.svgNS,"radialGradient");["cx","cy","r","fx","fy","fr","gradientUnits"].forEach(t=>{null!=s[t]&&e.setAttribute(t,s[t])})}s.colors&&s.colors&&s.colors.length>0&&s.colors.forEach(t=>{const i=document.createElementNS(_SvgRenderEngine.svgNS,"stop");null!=t.color&&i.setAttribute("stop-color",t.color);null!=t.offset&&i.setAttribute("offset",t.offset);null!=t.opacity&&i.setAttribute("stop-opacity",t.opacity);e.appendChild(i)});e.setAttribute("id",t);this._defs.appendChild(e);this._savedGradient[i]=t}s=`url(${this._baseUrl}#${this._savedGradient[i]})`}this.cssPriority?t.setAttribute(e,s):this._addInlineStyle(t,e,s)}}_addInlineStyle(t,e,i){const s={};s[e.replace(/-([a-z])/g,t=>t[1].toUpperCase())]=i;wijmo_1.setCss(t,s)}_setAttribute(t,e,i){this.cssPriority?t.setAttribute(e,i):this._addInlineStyle(t,e,i)}_checkRtl(){return this._element&&wijmo_1.hasClass(this._element,wijmo_1.UtilitesClsNames.rtl)}}_SvgRenderEngine.svgNS="http://www.w3.org/2000/svg";_SvgRenderEngine.xlinkNS="http://www.w3.org/1999/xlink";exports._SvgRenderEngine=_SvgRenderEngine;class _GradientColorUtil{static tryParse(t){if(_GradientColorUtil.parsedColor[t])return _GradientColorUtil.parsedColor[t];if(null==t||-1===t.indexOf("-")||-1!==t.indexOf("var("))return t;var e,i=t.replace(/\s+/g,"").split(/-/g),s=i[0][0],n=!1,r=i[0].match(/\(\S+\)/);if(!r||0==r.length)return t;var a=r[0].replace(/[(\\)]/g,"").split(/,/g);if("l"===s||"L"===s){e={x1:"0",y1:"0",x2:"0",y2:"0",colors:[]};"l"===s&&(n=!0);["x1","y1","x2","y2"].forEach((t,i)=>{null!=a[i]&&(e[t]=n?100*+a[i]+"%":""+a[i])})}else if("r"===s||"R"===s){e={cx:"0",cy:"0",r:"0",colors:[]};"r"===s&&(n=!0);["cx","cy","r","fx","fy","fr"].forEach((t,i)=>{null!=a[i]&&""!==a[i]&&(e[t]=n?100*+a[i]+"%":""+a[i])})}n||(e.gradientUnits="userSpaceOnUse");_GradientColorUtil.parsedColor[t]=e;var h=i.length-1;i.forEach((t,i)=>{t.indexOf(")")>-1&&(t=t.match(/\)\S+/)[0].replace(")",""));const s=t.split(":"),r={color:"black"};null!=s[0]&&(r.color=s[0]);null!=s[1]?r.offset=n?100*+s[1]+"%":""+s[1]:r.offset=i/h*100+"%";null!=s[2]&&(r.opacity=s[2]);e.colors.push(r)});return e}}_GradientColorUtil.parsedColor={};class SvgRenderEngine extends _SvgRenderEngine{}exports.SvgRenderEngine=SvgRenderEngine;class Legend{constructor(t){this._position=Position.Right;this._title="";this._titleAlign="left";this._titlePadding=5;this._areas=[];this._sz=new wijmo_1.Size;this._orient=Orientation.Auto;this._scrollbar=!1;this._chart=t}get position(){return this._position}set position(t){if((t=wijmo_1.asEnum(t,Position))!=this._position){this._position=t;this._invalidate()}}get reverse(){return this._reverse}set reverse(t){if(t!=this._reverse){this._reverse=wijmo_1.asBoolean(t,!0);this._invalidate()}}get title(){return this._title}set title(t){if(t!=this._title){this._title=wijmo_1.asString(t,!1);this._invalidate()}}get titleAlign(){return this._titleAlign}set titleAlign(t){if(t!=this._titleAlign){const e=wijmo_1.asString(t,!1);this._titleAlign="right"===e?"right":"center"===e?"center":"left";this._invalidate()}}get orientation(){return this._orient}set orientation(t){if((t=wijmo_1.asEnum(t,Orientation))!=this._orient){this._orient=t;this._invalidate()}}get maxSize(){return this._maxSz}set maxSize(t){if(t!=this._maxSz){if(wijmo_1.isNumber(t))this._maxSz=t;else if(wijmo_1.isString(t)){const e=wijmo_1.asString(t);wijmo_1.assert(FlexChartBase._endsWith(e,"px")||FlexChartBase._endsWith(e,"%"),"number with unit (px or %) expected.");this._maxSz=e}else t&&wijmo_1.assert(!1,"number or string expected.");this._invalidate()}}get scrollbar(){return this._scrollbar}set scrollbar(t){if(t!=this._scrollbar){this._scrollbar=wijmo_1.asBoolean(t,!1);this._invalidate()}}get isVertical(){return this.orientation==Orientation.Auto?null==this.position||this.position==Position.Auto||this.position==Position.Right||this.position==Position.Left||this.position==Position.LeftTop||this.position==Position.LeftBottom||this.position==Position.RightTop||this.position==Position.RightBottom:this.orientation==Orientation.Vertical}_getDesiredSize(t,e,i,s){if(e==Position.None)return null;let n=new wijmo_1.Size;if(this.title.length>0){n=t.measureString(this.title,exports.LegendClsNames.title,exports.LegendClsNames.legend);s-=n.height+this._titlePadding}var r=this._chart._getDesiredLegendSize(t,this.isVertical,i,s);if(null!=r){if(this.title.length>0){r.height+=n.height+this._titlePadding;if(n.width>r.width)if(this.position==Position.Left||this.position==Position.Right||this.position==Position.LeftTop||this.position==Position.LeftBottom||this.position==Position.RightTop||this.position==Position.RightBottom){const t=Math.min(n.width,this._getMaxSize(i));r.width=t;n.width=t}else i>r.width&&i<n.width?r.width=i:i>=n.width&&(r.width=n.width)}this._sz=r.clone();if(this.scrollbar)if(this.isVertical&&r.height>s){r.width+=18;r.height=s}else if(!this.isVertical&&r.width>i){r.width=i;r.height+=18}}return r}_getPosition(t,e){return this.position==Position.Auto?t>=e?Position.Right:Position.Bottom:this.position}_render(t,e,i,s,n){this._areas=[];let r=0;t.fill="transparent";t.stroke=null;t.drawRect(e.x,e.y,s,n);if(this.title.length){const i=e.clone(),a=t.measureString(this.title,exports.LegendClsNames.title+"`");i.y+=a.height;"right"===this.titleAlign?i.x=e.x+s-a.width:"center"===this.titleAlign&&(i.x=e.x+.5*(s-a.width));t.drawString(this.title,i,exports.LegendClsNames.title);r=a.height+this._titlePadding;e.y+=r;n-=r}let a=!1;this.scrollbar&&(this._sz.height>n&&this.isVertical||this._sz.width>s&&!this.isVertical)&&(a=!0);this._chart._renderLegend(t,e,this._areas,this.isVertical,a?s-18:s,n);if(a){n+=r;this._addScrollbar(t,e,s,n,this._sz,this.isVertical,r)}}_hitTest(t){var e=this._areas;for(let i=0;i<e.length;i++)if(e[i]&&FlexChartBase._contains(e[i],t))return i;return null}_addScrollbar(t,e,i,s,n,r,a){t.endGroup();const h=100-a/s*100,o=t.element,l=o.children.item(o.children.length-1),_=l.getBoundingClientRect();l.removeAttribute("clip-path");const c=[];l.children.length>0&&c.push(l.children.item(0));a>0&&c.push(l.children.item(1));Array.from(l.querySelectorAll("text,rect")).forEach(t=>{if(-1==c.indexOf(t)){t.setAttribute("x",(+t.getAttribute("x")-e.x).toFixed(2));t.setAttribute("y",(+t.getAttribute("y")-e.y).toFixed(2))}});Array.from(l.querySelectorAll("foreignObject")).forEach(t=>{if(-1==c.indexOf(t)){t.setAttribute("x",(+t.getAttribute("x")-e.x).toFixed(2));t.setAttribute("y",(+t.getAttribute("y")-e.y).toFixed(2))}});Array.from(l.querySelectorAll("ellipse")).forEach(t=>{t.setAttribute("cx",(+t.getAttribute("cx")-e.x).toFixed(2));t.setAttribute("cy",(+t.getAttribute("cy")-e.y).toFixed(2))});Array.from(l.querySelectorAll("line")).forEach(t=>{t.setAttribute("x1",(+t.getAttribute("x1")-e.x).toFixed(2));t.setAttribute("y1",(+t.getAttribute("y1")-e.y).toFixed(2));t.setAttribute("x2",(+t.getAttribute("x2")-e.x).toFixed(2));t.setAttribute("y2",(+t.getAttribute("y2")-e.y).toFixed(2))});const d=document.createElementNS("http://www.w3.org/2000/svg","foreignObject");d.setAttribute("x",e.x.toFixed(2));d.setAttribute("y",e.y.toFixed(2));d.setAttribute("width",i.toFixed(2));d.setAttribute("height",s.toFixed(2));const u=document.createElement("div");u.className="wj-legend-scrollable";r?wijmo_1.setCss(u,{width:"100%",height:h+"%",overflowX:"hidden",overflowY:"scroll"}):wijmo_1.setCss(u,{width:"100%",height:h+"%",overflowY:"hidden",overflowX:"scroll"});const g=document.createElementNS("http://www.w3.org/2000/svg","svg");g.setAttribute("height",(_.height-a).toFixed(2));let m=_.width;!r&&n.width<m&&(m=n.width);g.setAttribute("width",m.toFixed(2));for(;l.children.length>c.length;){const t=l.children.item(c.length);l.removeChild(t);g.appendChild(t)}u.appendChild(g);d.appendChild(u);l.appendChild(d)}_invalidate(){this._chart&&this._chart.invalidate()}_getMaxSize(t){const e=this.maxSize;if(wijmo_1.isNumber(e)){const i=wijmo_1.asNumber(e,!0);if(i>0)return Math.min(i,t)}else{const i=wijmo_1.asString(e,!0);if(i)if(FlexChartBase._endsWith(i,"px")){const e=parseFloat(i.replace("px",""));if(e>0)return Math.min(e,t)}else if(FlexChartBase._endsWith(i,"%")){const e=parseFloat(i.replace("%",""));if(e>0)return t*Math.min(e,100)/100}}return.5*t}}exports.Legend=Legend;class DataPoint{constructor(t=0,e=0){this.x=t;this.y=e}}exports.DataPoint=DataPoint;class RenderEventArgs extends wijmo_1.CancelEventArgs{constructor(t){super();this._engine=t}get engine(){return this._engine}}exports.RenderEventArgs=RenderEventArgs;class SeriesRenderingEventArgs extends RenderEventArgs{constructor(t,e,i){super(t);this._index=e;this._count=i}get index(){return this._index}get count(){return this._count}}exports.SeriesRenderingEventArgs=SeriesRenderingEventArgs;!function(t){t[t.Png=0]="Png";t[t.Jpeg=1]="Jpeg";t[t.Svg=2]="Svg"}(ImageFormat=exports.ImageFormat||(exports.ImageFormat={}));!function(t){t[t.None=0]="None";t[t.Series=1]="Series";t[t.Point=2]="Point"}(SelectionMode=exports.SelectionMode||(exports.SelectionMode={}));!function(t){t[t.None=0]="None";t[t.Left=1]="Left";t[t.Top=2]="Top";t[t.Right=3]="Right";t[t.Bottom=4]="Bottom";t[t.Auto=5]="Auto";t[t.TopLeft=6]="TopLeft";t[t.TopRight=7]="TopRight";t[t.BottomLeft=8]="BottomLeft";t[t.BottomRight=9]="BottomRight";t[t.LeftTop=10]="LeftTop";t[t.LeftBottom=11]="LeftBottom";t[t.RightTop=12]="RightTop";t[t.RightBottom=13]="RightBottom"}(Position=exports.Position||(exports.Position={}));!function(t){t[t.Auto=0]="Auto";t[t.Vertical=1]="Vertical";t[t.Horizontal=2]="Horizontal"}(Orientation=exports.Orientation||(exports.Orientation={}));class FlexChartBase extends wijmo_1.Control{constructor(){super(...arguments);this._palette=null;this._selectionMode=SelectionMode.None;this._defPalette=Palettes.standard;this._notifyCurrentChanged=!0;this._legendHost=null;this._needBind=!1;this._skipLightClr=!1;this.rendering=new wijmo_1.Event;this.rendered=new wijmo_1.Event;this.itemsSourceChanging=new wijmo_1.Event;this.itemsSourceChanged=new wijmo_1.Event;this.selectionChanged=new wijmo_1.Event}get itemsSource(){return this._items}set itemsSource(t){if(this._items!=t){const e=new wijmo_1.CancelEventArgs;if(!this.onItemsSourceChanging(e))return;if(this._cv){this._cv.currentChanged.removeHandler(this._cvCurrentChanged,this);this._cv.collectionChanged.removeHandler(this._cvCollectionChanged,this);this._cv=null}this._items=t;this._cv=wijmo_1.asCollectionView(t);if(null!=this._cv){this._cv.currentChanged.addHandler(this._cvCurrentChanged,this);this._cv.collectionChanged.addHandler(this._cvCollectionChanged,this)}this._clearCachedValues();this.onItemsSourceChanged(e);this._bindChart()}}get collectionView(){return this._cv}get palette(){return this._palette}set palette(t){if(t!=this._palette){this._palette=wijmo_1.asArray(t);this._skipLightClr=Palettes._isExtended(this._palette);this.invalidate()}}get plotMargin(){return this._plotMargin}set plotMargin(t){if(t!=this._plotMargin){this._plotMargin=t;this.invalidate()}}get legend(){return this._legend}set legend(t){if(t!=this._legend){this._legend=wijmo_1.asType(t,Legend);null!=this._legend&&(this._legend._chart=this)}}get header(){return this._header}set header(t){if(t!=this._header){this._header=wijmo_1.asString(t,!0);this.invalidate()}}get footer(){return this._footer}set footer(t){if(t!=this._footer){this._footer=wijmo_1.asString(t,!0);this.invalidate()}}get headerStyle(){return this._headerStyle}set headerStyle(t){if(t!=this._headerStyle){this._headerStyle=t;this.invalidate()}}get footerStyle(){return this._footerStyle}set footerStyle(t){if(t!=this._footerStyle){this._footerStyle=t;this.invalidate()}}get selectionMode(){return this._selectionMode}set selectionMode(t){if((t=wijmo_1.asEnum(t,SelectionMode))!=this._selectionMode){this._selectionMode=t;this.invalidate()}}get itemFormatter(){return this._itemFormatter}set itemFormatter(t){if(t!=this._itemFormatter){this._itemFormatter=wijmo_1.asFunction(t);this.invalidate()}}get options(){return this._options}set options(t){if(t!=this._options){this._options=t;this.invalidate()}}onRendering(t){this.rendering.raise(this,t)}onRendered(t){this.rendered.raise(this,t)}onItemsSourceChanging(t){this.itemsSourceChanging.raise(this,t);return!t.cancel}onItemsSourceChanged(t){this.itemsSourceChanged.raise(this,t)}saveImageToFile(t){var e,i,s,n;t&&0!==t.length&&-1!==t.indexOf(".")||(t="image.png");n=t.split(".");e=n[0];i=n[1].toLowerCase();s=ImageFormat[i[0].toUpperCase()+i.substring(1)];this.saveImageToDataUrl(s,t=>{ExportHelper.downloadImage(t,e,i)})}saveImageToDataUrl(t,e){var i=wijmo_1.asEnum(t,ImageFormat,!1),s=ImageFormat[i].toLowerCase();s&&s.length&&this._exportToImage(s,t=>{e.call(e,t)})}saveSvgToDataUrl(t,e=!0){this._exportToImage("svg",e=>{t.call(t,e)},{embedCss:e})}saveSvgToFile(t,e=!0){this.saveSvgToDataUrl(e=>{ExportHelper.downloadImage(e,t,"svg")},e)}_exportToImage(t,e,i=null){const s=this._currentRenderEngine.element;i&&!1===i.embedCss?ExportHelper.getDataUri2(s,this,i=>{this.prepareDataUri(s,t,i,e)}):ExportHelper.getDataUri(s,this,i=>{this.prepareDataUri(s,t,i,e)})}prepareDataUri(t,e,i,s){if("svg"===e)s.call(null,i);else{const n=new Image;n.onload=()=>{var i,r=document.createElement("canvas"),a=t.parentNode||t,h=wijmo_1.getElementRect(a);r.width=h.width;r.height=h.height;var o=r.getContext("2d");let l=this._bgColor(this.hostElement);this._isTransparent(l)&&(l="#ffffff");o.fillStyle=l;o.fillRect(0,0,h.width,h.height);var _=window.getComputedStyle(a,null).getPropertyValue("padding-left").replace("px",""),c=window.getComputedStyle(a,null).getPropertyValue("padding-top").replace("px","");o.drawImage(n,+_||0,+c||0);i=r.toDataURL("image/"+e);s.call(null,i);r=null};n.src=i}}refresh(t=!0){super.refresh(t);this.isUpdating||this.disposed||this._refreshChart()}onSelectionChanged(t){this.selectionChanged.raise(this,t)}onLostFocus(t){this._tooltip&&this._tooltip.isVisible&&!this.isTouching&&this._tooltip.hide();super.onLostFocus(t)}_cvCollectionChanged(t,e){this._clearCachedValues();this._bindChart()}_cvCurrentChanged(t,e){this._notifyCurrentChanged&&this._bindChart()}_bgColor(t){if(!t)return"transparent";const e=getComputedStyle(t).backgroundColor;return this._isTransparent(e)?this._bgColor(t.parentElement):e}_isTransparent(t){const e=new wijmo_1.Color(t);return 0==e.a&&0==e.b&&0==e.g&&0==e.r}_getColor(t){var e=this._defPalette;null!=this._palette&&this._palette.length>0&&(e=this._palette);return e[t%e.length]}_getColorLight(t){let e=this._getColor(t);this._skipLightClr||(e=this._getLightColor(e));return e}_getLightColor(t){var e=new wijmo_1.Color(t);if(null!=e&&-1===t.indexOf("-")){1==e.a&&-1==t.indexOf("rgba")&&-1==t.indexOf("hsla")&&(e.a*=.7);t=e.toString()}return t}_bindChart(){this._needBind=!0;this.invalidate()}_clearCachedValues(){}_renderEls(t,e,i=!0,s=null,n=!1){let r=e.width,a=e.height;if(0==r)return;(isNaN(r)||r<0)&&(r=FlexChartBase._WIDTH);(a<=0||isNaN(a))&&(a=FlexChartBase._HEIGHT);const h=r>0&&a>0;h&&t.setViewportSize(r,a);let o=0,l=0;if(this.legend.scrollbar&&this._legendHost){const t=this._legendHost.querySelector(".wj-legend-scrollable");if(t)if(this.legend.isVertical){l=0;o=t.scrollTop}else{o=0;l=t.scrollLeft}}this._currentRenderEngine._htmlText=this._isHtmlText();t.beginRender();t.cssPriority=!0;if(h){this._rectChart=new wijmo_1.Rect(0,0,r,a);this._prepareRender();if(s){const e=t.stroke,i=t.fill;t.fill=s;t.stroke=null;t.drawRect(0,0,r,a);t.fill=i;t.stroke=e}const e=new wijmo_1.Rect(0,0,r,a);this._chartRectId="chartRect"+(1e6*Math.random()).toFixed();t.addClipRect(e,this._chartRectId);this._renderHeader(t,e);this._renderFooter(t,e);this._renderLegends(t,e);this._renderChart(t,e,i);if(this.legend.scrollbar&&this._legendHost){const t=this._legendHost.querySelector(".wj-legend-scrollable");if(t){t.scrollTop=o;t.scrollLeft=l}}}t.endRender()}_render(t,e=!0,i=null){const s=this._getHostSize();if(this._h){const t=s.height-this._h;t>=4&&t<=6&&!1!==this._isPCUnit("height")&&(s.height=this._h)}this._h=s.height;this._renderEls(t,s,e,i)}_isPCUnit(t){let e=null;const i=this.hostElement;if(i&&i.computedStyleMap){const s=i.computedStyleMap();if(s){const i=s.get(t);i&&(e="percent"==i.unit)}}return e}_renderHidden(t=null,e=null){const i=document.createElement("div");wijmo_1.addClass(i,this.hostElement.getAttribute("class")||"");i.style.visibility="hidden";const s=new _SvgRenderEngine(i);document.body.appendChild(i);if(!t){const e=this._getHostComputedStyle();let i=0,s=0;if(e){i=this._parsePx(e.width);s=this._parsePx(e.height);0==i&&(i=FlexChartBase._WIDTH);0==s&&(s=FlexChartBase._HEIGHT);i-=this._parsePx(e.paddingLeft);i-=this._parsePx(e.paddingRight);s-=this._parsePx(e.paddingTop);s-=this._parsePx(e.paddingBottom);i-=this._parsePx(e.borderLeftWidth);i-=this._parsePx(e.borderRightWidth);s-=this._parsePx(e.borderTopWidth);s-=this._parsePx(e.borderBottomWidth)}0==i&&(i=FlexChartBase._WIDTH);0==s&&(s=FlexChartBase._HEIGHT);t=new wijmo_1.Size(i,s)}this._renderEls(s,t,!0,e,!0);wijmo_1.removeChild(i);return s.element}_renderHeader(t,e){t.startGroup(FlexChartBase._CSS_HEADER,this._chartRectId);e=this._drawTitle(t,e,this.header,this.headerStyle,!1);t.endGroup()}_renderFooter(t,e){t.startGroup(FlexChartBase._CSS_FOOTER,this._chartRectId);e=this._drawTitle(t,e,this.footer,this.footerStyle,!0);t.endGroup()}_renderLegends(t,e){var i,s,n=this.legend,r=e.width,a=e.height,h=n._getPosition(r,a);let o=r,l=a;h==Position.Left||h==Position.Right||h==Position.LeftTop||h==Position.LeftBottom||h==Position.RightTop||h==Position.RightBottom?o=this._getLegendSize(r,o):l=this._getLegendSize(a,l);if(!(i=n._getDesiredSize(t,h,o,l))){this._legendHost=null;this._rectLegend=null;return}h==Position.Left||h==Position.Right||h==Position.LeftTop||h==Position.LeftBottom||h==Position.RightTop||h==Position.RightBottom?i.width=this._getLegendSize(r,i.width):i.height=this._getLegendSize(a,i.height);i.height>e.height&&(i.height=e.height);switch(h){case Position.Right:r-=i.width;s=new wijmo_1.Point(r,e.top+.5*(a-i.height));break;case Position.RightTop:r-=i.width;s=new wijmo_1.Point(r,e.top);break;case Position.RightBottom:r-=i.width;s=new wijmo_1.Point(r,e.top+(a-i.height));break;case Position.Left:e.left+=i.width;r-=i.width;s=new wijmo_1.Point(0,e.top+.5*(a-i.height));break;case Position.LeftTop:e.left+=i.width;r-=i.width;s=new wijmo_1.Point(0,e.top);break;case Position.LeftBottom:e.left+=i.width;r-=i.width;s=new wijmo_1.Point(0,e.top+(a-i.height));break;case Position.Top:a-=i.height;s=new wijmo_1.Point(.5*(r-i.width),e.top);e.top+=i.height;break;case Position.TopLeft:a-=i.height;s=new wijmo_1.Point(0,e.top);e.top+=i.height;break;case Position.TopRight:a-=i.height;s=new wijmo_1.Point(r-i.width,e.top);e.top+=i.height;break;case Position.Bottom:a-=i.height;s=new wijmo_1.Point(.5*(r-i.width),e.top+a);break;case Position.BottomLeft:a-=i.height;s=new wijmo_1.Point(0,e.top+a);break;case Position.BottomRight:a-=i.height;s=new wijmo_1.Point(r-i.width,e.top+a)}e.width=r;e.height=a;this._rectLegend=new wijmo_1.Rect(s.x,s.y,i.width,i.height);const _="legRect"+(1e6*Math.random()).toFixed();t.addClipRect(this._rectLegend,_);this._legendHost=t.startGroup(FlexChartBase._CSS_LEGEND,_);this.legend._render(t,s,h,i.width,i.height);t.endGroup()}_prepareRender(){}_renderChart(t,e,i){}_performBind(){}_getDesiredLegendSize(t,e,i,s){return null}_renderLegend(t,e,i,s,n,r){}_getHitTestItem(t){return null}_getHitTestValue(t,e){return null}_getHitTestLabel(t){return null}_refreshChart(){if(this._needBind){this._needBind=!1;this._performBind()}this.hostElement&&this._render(this._currentRenderEngine)}_drawTitle(t,e,i,s,n){var r=FlexChartBase._CSS_TITLE,a=n?FlexChartBase._CSS_FOOTER:FlexChartBase._CSS_HEADER,h=null;n?this._rectFooter=null:this._rectHeader=null;if(null!=i){let o=null,l=null,_=null,c=null;if(s){s.fontSize&&(o=s.fontSize);s.foreground&&(l=s.foreground);s.fill&&(l=s.fill);s.fontFamily&&(_=s.fontFamily);s.halign&&(c=s.halign)}t.fontSize=o;t.fontFamily=_;h=t.measureString(i,r,a,s);e.height-=h.height;l||(l=FlexChartBase._FG);t.textFill=l;if(n){"left"==c?FlexChartBase._renderText(t,i,new wijmo_1.Point(e.left,e.bottom),0,0,r,a,s):"right"==c?FlexChartBase._renderText(t,i,new wijmo_1.Point(e.left+e.width,e.bottom),2,0,r,a,s):FlexChartBase._renderText(t,i,new wijmo_1.Point(e.left+.5*e.width,e.bottom),1,0,r,a,s);this._rectFooter=new wijmo_1.Rect(e.left,e.bottom,e.width,h.height)}else{this._rectHeader=new wijmo_1.Rect(e.left,e.top,e.width,h.height);e.top+=h.height;"left"==c?FlexChartBase._renderText(t,i,new wijmo_1.Point(e.left,0),0,0,r,a,s):"right"==c?FlexChartBase._renderText(t,i,new wijmo_1.Point(e.left+e.width,0),2,0,r,a,s):FlexChartBase._renderText(t,i,new wijmo_1.Point(e.left+.5*e.width,0),1,0,r,a,s)}t.textFill=null;t.fontSize=null;t.fontFamily=null}return e}pageToControl(t,e){return this._toControl(t,e)}_toControl(t,e){wijmo_1.isNumber(t)&&wijmo_1.isNumber(e)?t=new wijmo_1.Point(t,e):t instanceof MouseEvent&&(t=wijmo_1.mouseToPage(t));wijmo_1.asType(t,wijmo_1.Point);var i=t.clone(),s=this._getHostOffset();i.x-=s.x;i.y-=s.y;const n=this._currentRenderEngine?this._currentRenderEngine.element:null;if(null!=n){const t=n.getBoundingClientRect(),e=parseFloat(n.getAttribute("width")),s=parseFloat(n.getAttribute("height"));t.width!=e&&(i.x*=e/t.width);t.height!=s&&(i.y*=s/t.height)}var r=this._getHostComputedStyle();if(r){const t=parseInt(r.paddingLeft.replace("px",""));t&&!isNaN(t)&&(i.x-=t);const e=parseInt(r.paddingTop.replace("px",""));e&&!isNaN(e)&&(i.y-=e)}return i}_highlightItems(t,e,i){if(i)for(let i=0;i<t.length;i++)wijmo_1.addClass(t[i],e);else for(let i=0;i<t.length;i++)wijmo_1.removeClass(t[i],e)}_parseMargin(t){var e={};if(wijmo_1.isNumber(t)&&!isNaN(t))e.top=e.bottom=e.left=e.right=wijmo_1.asNumber(t);else if(wijmo_1.isString(t)){const i=wijmo_1.asString(t).split(" ",4);let s=NaN,n=NaN,r=NaN,a=NaN;if(i){if(4==i.length){s=parseFloat(i[0]);a=parseFloat(i[1]);n=parseFloat(i[2]);r=parseFloat(i[3])}else if(2==i.length){s=n=parseFloat(i[0]);r=a=parseFloat(i[1])}else 1==i.length&&(s=n=r=a=parseFloat(i[1]));isNaN(s)||(e.top=s);isNaN(n)||(e.bottom=n);isNaN(r)||(e.left=r);isNaN(a)||(e.right=a)}}return e}_showToolTip(t,e){var i=this._tooltip.showDelay;this._clearTimeouts();if(!this.isDisabled){t||this._tooltip.hide();if(i>0)this._toShow=setTimeout(()=>{this._tooltip.show(this.hostElement,t,e);this._tooltip.hideDelay>0&&(this._toHide=setTimeout(()=>{this._tooltip.hide()},this._tooltip.hideDelay))},i);else{this._tooltip.show(this.hostElement,t,e);this._tooltip.hideDelay>0&&(this._toHide=setTimeout(()=>{this._tooltip.hide()},this._tooltip.hideDelay))}}}_hideToolTip(){this._clearTimeouts();this._tooltip.hide()}_clearTimeouts(){if(this._toShow){clearTimeout(this._toShow);this._toShow=null}if(this._toHide){clearTimeout(this._toHide);this._toHide=null}}_getHostOffset(){var t=wijmo_1.getElementRect(this.hostElement);return new wijmo_1.Point(t.left,t.top)}_getHostSize(){var t=new wijmo_1.Size,e=this.hostElement,i=this._getHostComputedStyle(),s=e.offsetWidth,n=e.offsetHeight;if(i){s-=this._parsePx(i.paddingLeft);s-=this._parsePx(i.paddingRight);n-=this._parsePx(i.paddingTop);n-=this._parsePx(i.paddingBottom);s-=this._parsePx(i.borderLeftWidth);s-=this._parsePx(i.borderRightWidth);n-=this._parsePx(i.borderTopWidth);n-=this._parsePx(i.borderBottomWidth);t.width=s;t.height=n}return t}_parsePx(t){const e=parseFloat(t.replace("px",""));return isNaN(e)?0:e}_getHostComputedStyle(){var t=this.hostElement;return t&&t.ownerDocument&&t.ownerDocument.defaultView?t.ownerDocument.defaultView.getComputedStyle(this.hostElement):null}_find(t,e){var i=[];for(let s=0;s<t.childElementCount;s++){const n=t.childNodes.item(s);if(e.indexOf(n.nodeName)>=0)i.push(n);else{const t=this._find(n,e);if(t.length>0)for(let e=0;e<t.length;e++)i.push(t[e])}}return i}_getLegendSize(t,e){return Math.min(e,this.legend._getMaxSize(t))}_isHtmlText(){return this._options&&this._options.htmlText}static _contains(t,e){return!(!t||!e)&&(e.x>=t.left&&e.x<=t.right&&e.y>=t.top&&e.y<=t.bottom)}static _intersects(t,e){return!(t.left>e.right||t.right<e.left||t.top>e.bottom||t.bottom<e.top)}static _toOADate(t){return t.valueOf()}static _fromOADate(t){return new Date(t)}static _renderText(t,e,i,s,n,r,a,h,o){var l=t.measureString(e,r,a,h),_=i.x,c=i.y;switch(s){case 1:_-=.5*l.width;break;case 2:_-=l.width}switch(n){case 1:c+=.5*l.height;break;case 0:c+=l.height}var d=new wijmo_1.Rect(_,c-l.height,l.width,l.height);if(o){if(o(d)){t.drawString(e,new wijmo_1.Point(_,c),r,h);return d}return null}t.drawString(e,new wijmo_1.Point(_,c),r,h);return d}static _renderRotatedText(t,e,i,s,n,r,a,h,o,l){var _=t.measureString(e,h,o,l),c=i.x,d=i.y;switch(s){case 1:c-=.5*_.width;break;case 2:c-=_.width}switch(n){case 1:d+=.5*_.height;break;case 0:d+=_.height}return t.drawStringRotated(e,new wijmo_1.Point(c,d),r,a,h,l)}static _endsWith(t,e){if(t&&e){const i=t.length-e.length;return i>=0&&t.indexOf(e,i)===i}return!1}}FlexChartBase._WIDTH=300;FlexChartBase._HEIGHT=200;FlexChartBase._SELECTION_THRESHOLD=15;FlexChartBase._CSS_LEGEND=exports.FlexChartClsNames.legend;FlexChartBase._CSS_HEADER=exports.FlexChartClsNames.header;FlexChartBase._CSS_FOOTER=exports.FlexChartClsNames.footer;FlexChartBase._CSS_TITLE=exports.FlexChartClsNames.title;FlexChartBase._CSS_LABEL=exports.FlexChartClsNames.label;FlexChartBase._CSS_SELECTION=wijmo_1.ControlStateClsNames.selected;FlexChartBase._CSS_PLOT_AREA=exports.FlexChartClsNames.plotArea;FlexChartBase._FG="#666";FlexChartBase._epoch=new Date(1899,11,30).getTime();FlexChartBase._msPerDay=864e5;exports.FlexChartBase=FlexChartBase;class _KeyWords{constructor(){this._keys={};this._keys.seriesName=null;this._keys.pointIndex=null;this._keys.x=null;this._keys.y=null;this._keys.value=null;this._keys.name=null}replace(t,e){return wijmo_1.format(t,{},(t,i,s,n)=>this.getValue(i,e,s))}getValue(t,e,i){switch(t){case"seriesName":return e.series?e.series.name:"";case"pointIndex":return null!=e.pointIndex?e.pointIndex.toFixed():"";case"x":return i?wijmo_1.Globalize.format(e.x,i):e._xfmt;case"y":return i?wijmo_1.Globalize.format(e.y,i):e._yfmt;case"value":return i?wijmo_1.Globalize.format(e.value,i):e._getValueFmt();case"name":return e.name}if(e.item){0==t.indexOf("item.")&&(t=t.substr(5));const s=e.item[t];if(!wijmo_1.isUndefined(s))return i?wijmo_1.Globalize.format(s,i):s}return""}}exports._KeyWords=_KeyWords;class ExportHelper{static downloadImage(t,e,i){var s=document.createElement("a"),n="image/"+i;if(navigator.msSaveOrOpenBlob){t=t.substring(t.indexOf(",")+1);let s,r,a,h=atob(t),o=[],l=512;for(s=0;s<h.length;s+=l){r=h.slice(s,s+l);const t=new Array(r.length);for(let e=0;e<r.length;e++)t[e]=r.charCodeAt(e);const e=new Uint8Array(t);o.push(e)}a=new Blob(o,{type:n});navigator.msSaveOrOpenBlob(a,`${e}.${i}`)}else{s.download=`${e}.${i}`;s.href=t;document.body.appendChild(s);s.addEventListener("click",t=>{wijmo_1.removeChild(s)});s.click()}}static getDataUri(t,e,i){var s,n,r,a,h,o,l,_,c,d,u=document.createElement("div"),g=t.cloneNode(!0);let m=!1;if("svg"==t.tagName){n=(s=wijmo_1.getElementRect(t.parentNode||t)).width||0;r=s.height||0;0==n&&(m=!0);a=t.viewBox.baseVal&&0!==t.viewBox.baseVal.width?t.viewBox.baseVal.width:n;h=t.viewBox.baseVal&&0!==t.viewBox.baseVal.height?t.viewBox.baseVal.height:r}else{n=(o=t.getBBox()).x+o.width;r=o.y+o.height;g.setAttribute("transform",g.getAttribute("transform").replace(/translate\(.*?\)/,""));a=n;h=r;(_=document.createElementNS("http://www.w3.org/2000/svg","svg")).appendChild(g);g=_}if(m){const t=e._renderHidden(),i=e._getHostComputedStyle();let s=0,o=0;if(i){s=e._parsePx(i.width);o=e._parsePx(i.height)}0==s&&(s=FlexChartBase._WIDTH);0==o&&(o=FlexChartBase._HEIGHT);a=n=s;h=r=o;g=t.cloneNode(!0)}g.setAttribute("version","1.1");g.setAttributeNS(ExportHelper.xmlns,"xmlns","http://www.w3.org/2000/svg");g.setAttributeNS(ExportHelper.xmlns,"xmlns:xlink","http://www.w3.org/1999/xlink");g.setAttribute("width",n);g.setAttribute("height",r);g.setAttribute("viewBox",`0 0 ${a} ${h}`);wijmo_1.addClass(g,t.parentNode&&t.parentNode.getAttribute("class")||"");u.appendChild(g);l=ExportHelper.getStyles(t);l+=`.${exports.FlexChartClsNames.hostElement}{margin:0px;padding:0px;border:none;width:${n}px;height:${r}px;}\n`;(c=document.createElement("style")).setAttribute("type","text/css");c.innerHTML=`<![CDATA[\n${l}\n]]>`;(d=document.createElementNS("http://www.w3.org/2000/svg","defs")).appendChild(c);g.insertBefore(d,g.firstChild);wijmo_1.isIE()||g.querySelectorAll("foreignObject").forEach(t=>{if(g===t.parentNode)g.removeChild(t);else for(const e of t.children)e.setAttribute("xmlns","http://www.w3.org/1999/xhtml")});const p=e._currentRenderEngine.canvas;if(p){const t=document.createElementNS("http://www.w3.org/2000/svg","image");t.setAttribute("width",p.width);t.setAttribute("height",p.height);t.setAttribute("href",p.toDataURL());g.insertBefore(t,g.firstChild);e.invalidate()}ExportHelper.convertImagesToDataUrl(g,()=>{const t="data:image/svg+xml;base64,"+window.btoa(window.unescape(encodeURIComponent(ExportHelper.doctype+u.innerHTML)));i.call(null,t)})}static convertImagesToDataUrl(t,e){const i=t.querySelectorAll("image");if(0===i.length){e();return}const s=Array.from(i);Array.from(i).forEach(t=>{const i=new Image;i.onload=()=>{const n=document.createElement("canvas");n.width=+t.getAttribute("width");n.height=+t.getAttribute("height");const r=n.getContext("2d"),a=i.width/i.height;a<n.width/n.height?r.drawImage(i,0,0,i.width,i.height,.5*(n.width-a*n.height),0,a*n.height,n.height):r.drawImage(i,0,0,i.width,i.height,0,.5*(n.height-n.width/a),n.width,n.width/a);t.setAttribute("href",n.toDataURL());i.remove();s.splice(s.indexOf(t),1);0==s.length&&e()};i.src=t.getAttribute("href")})}static getDataUri2(t,e,i){var s,n,r,a,h,o,l,_=document.createElement("div"),c=ExportHelper.cloneWithComputedStyles(t);let d=!1;if("svg"==t.tagName){n=(s=wijmo_1.getElementRect(t.parentNode||t)).width||0;r=s.height||0;0==n&&(d=!0);a=t.viewBox.baseVal&&0!==t.viewBox.baseVal.width?t.viewBox.baseVal.width:n;h=t.viewBox.baseVal&&0!==t.viewBox.baseVal.height?t.viewBox.baseVal.height:r}else{n=(o=t.getBBox()).x+o.width;r=o.y+o.height;c.setAttribute("transform",c.getAttribute("transform").replace(/translate\(.*?\)/,""));a=n;h=r;(l=document.createElementNS("http://www.w3.org/2000/svg","svg")).appendChild(c);c=l}if(d){const t=e._renderHidden(),i=e._getHostComputedStyle();let s=0,o=0;if(i){s=e._parsePx(i.width);o=e._parsePx(i.height)}0==s&&(s=FlexChartBase._WIDTH);0==o&&(o=FlexChartBase._HEIGHT);a=n=s;h=r=o;c=ExportHelper.cloneWithComputedStyles(t)}c.setAttribute("version","1.1");c.setAttributeNS(ExportHelper.xmlns,"xmlns","http://www.w3.org/2000/svg");c.setAttributeNS(ExportHelper.xmlns,"xmlns:xlink","http://www.w3.org/1999/xlink");c.setAttribute("width",n.toString());c.setAttribute("height",r.toString());c.setAttribute("viewBox",`0 0 ${a} ${h}`);_.appendChild(c);const u=e._currentRenderEngine.canvas;if(u){const t=document.createElementNS("http://www.w3.org/2000/svg","image");t.setAttribute("width",u.width);t.setAttribute("height",u.height);t.setAttribute("href",u.toDataURL());c.insertBefore(t,c.firstChild);e.invalidate()}ExportHelper.convertImagesToDataUrl(c,()=>{const t="data:image/svg+xml;base64,"+window.btoa(window.unescape(encodeURIComponent(ExportHelper.doctype+_.innerHTML)));i.call(null,t)})}static computeAttributes(t,e,i){const s=getComputedStyle(t);i.forEach(t=>{const i=s.getPropertyValue(t);i&&i.length>0&&e.setAttribute(t,i)})}static cloneWithComputedStyles(t){const e=t.cloneNode();Array.from(t.childNodes).forEach(t=>{const i=ExportHelper.cloneWithComputedStyles(t);1===t.nodeType&&("text"===t.nodeName?ExportHelper.computeAttributes(t,i,ExportHelper.textAttrs):"line"===t.nodeName&&ExportHelper.computeAttributes(t,i,ExportHelper.lineAttrs));e.appendChild(i)});return e}static getStyles(t){var e="",i=document.styleSheets;if(null==i||0===i.length)return null;[].forEach.call(i,i=>{var s;try{if(null==i.cssRules||0===i.cssRules.length)return!0}catch(t){if("SecurityError"==t.name){console.log("SecurityError. Can't read: "+i.href);return!0}}s=i.cssRules;[].forEach.call(s,i=>{var s,n=i.style;if(null==n)return!0;let r=i.selectorText;if(wijmo_1.isIE()&&r){const t=r.match(/\[(.*?)\]/g);t&&t.forEach(t=>{r=r.replace(t,t.replace(":","\\:"))})}try{s=r=="."+exports.FlexChartClsNames.hostElement||t.querySelector(r)}catch(t){console.warn(`Invalid CSS selector "${i.selectorText}"`,t)}s?e+=`${i.selectorText} { ${n.cssText} }\n`:i.cssText.match(/^@font-face/)&&(e+=i.cssText+"\n")})});const s=getComputedStyle(t),n=s?s.getPropertyValue("font"):null;n&&(e+=`.${exports.FlexChartClsNames.hostElement}{font:${n}}\n`);return e}}ExportHelper.doctype='<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">';ExportHelper.xmlns="http://www.w3.org/2000/xmlns/";ExportHelper.textAttrs=["font-family","font-size","font-style","font-weight","fill"];ExportHelper.lineAttrs=["stroke","stroke-width","stroke-dasharray"];class ChartTooltip extends wijmo_1.Tooltip{constructor(){super();this._content="<b>{seriesName}</b><br/>{x} {y}";this._threshold=15}get content(){return this._content}set content(t){t!=this._content&&(this._content=t)}get threshold(){return this._threshold}set threshold(t){t!=this._threshold&&(this._threshold=wijmo_1.asNumber(t))}show(t,e,i){super.show(t,e,i);const s=ChartTooltip._eTip;s&&s.style&&(s.style.pointerEvents="none")}}exports.ChartTooltip=ChartTooltip;!function(t){t[t.Column=0]="Column";t[t.Bar=1]="Bar";t[t.Scatter=2]="Scatter";t[t.Line=3]="Line";t[t.LineSymbols=4]="LineSymbols";t[t.Area=5]="Area";t[t.Bubble=6]="Bubble";t[t.Candlestick=7]="Candlestick";t[t.HighLowOpenClose=8]="HighLowOpenClose";t[t.Spline=9]="Spline";t[t.SplineSymbols=10]="SplineSymbols";t[t.SplineArea=11]="SplineArea";t[t.Funnel=12]="Funnel";t[t.Step=13]="Step";t[t.StepSymbols=14]="StepSymbols";t[t.StepArea=15]="StepArea"}(ChartType=exports.ChartType||(exports.ChartType={}));!function(t){t[t.None=0]="None";t[t.Stacked=1]="Stacked";t[t.Stacked100pc=2]="Stacked100pc"}(Stacking=exports.Stacking||(exports.Stacking={}));class FlexChartCore extends FlexChartBase{constructor(t,e){super(t,null,!0);this._series=new wijmo_1.ObservableArray;this._axes=new AxisCollection;this._pareas=new PlotAreaCollection;this._interpolateNulls=!1;this._legendToggle=!1;this._symbolSize=10;this._dataInfo=new _DataInfo;this.__barPlotter=null;this.__linePlotter=null;this.__areaPlotter=null;this.__bubblePlotter=null;this.__financePlotter=null;this.__funnelPlotter=null;this._plotters=[];this._rotated=!1;this._stacking=Stacking.None;this._xlabels=[];this._xvals=[];this._lblAreas=[];this._colRowLens=[];this._selectedEls=[];this._markers=[];this._bindingSeparator=",";this.seriesVisibilityChanged=new wijmo_1.Event;this.applyTemplate(`${wijmo_1.ControlClsNames.hostElement} ${exports.FlexChartClsNames.hostElement}`,null,null);this._series.collectionChanged.addHandler(()=>{var t=this._series;for(let e=0;e<t.length;e++){const i=wijmo_1.tryCast(t[e],SeriesBase);if(!i)throw"chartSeries array must contain SeriesBase objects.";i._chart=this;if(i.axisX&&null==i.axisX._chart){i.axisX._chart=this;this.axes.push(i.axisX)}if(i.axisY&&null==i.axisY._chart){i.axisY._chart=this;this.axes.push(i.axisY)}}this.invalidate()});this._currentRenderEngine=new _SvgRenderEngine(this.hostElement);this._hitTester=new _HitTester(this);this._legend=new Legend(this);this._tooltip=new ChartTooltip;this._tooltip.showDelay=0;this._lbl=new DataLabel;this._lbl._chart=this;this._initAxes();this._axes.collectionChanged.addHandler(()=>{var t=this._axes;for(let e=0;e<t.length;e++){const i=wijmo_1.tryCast(t[e],Axis);if(!i)throw"axes array must contain Axis objects.";i._chart=this}this.invalidate()});this._pareas.collectionChanged.addHandler(()=>{var t=this._pareas;for(let e=0;e<t.length;e++){const i=wijmo_1.tryCast(t[e],PlotArea);if(!i)throw"plotAreas array must contain PlotArea objects.";i._chart=this}this.invalidate()});this._keywords=new _KeyWords;this.addEventListener(this.hostElement,"click",t=>{var e=this._tooltip;e.content&&this.isTouching&&this._updateTooltip(e,t)});this.addEventListener(this.hostElement,"mousemove",t=>{var e=this._tooltip;e.content&&!this.isTouching&&this._updateTooltip(e,t)});this.addEventListener(this.hostElement,"mouseleave",t=>{this._hideToolTip()});this.addEventListener(this.hostElement,"click",t=>{var e=this._hitTestData(t);if(this.selectionMode!=SelectionMode.None){let i=FlexChartCore._SELECTION_THRESHOLD;this.tooltip&&this.tooltip.threshold&&(i=this.tooltip.threshold);e.distance<=i&&e.series?this._select(e.series,e.pointIndex):this.selectionMode==SelectionMode.Series&&(e=this.hitTest(t)).chartElement==ChartElement.Legend&&e.series?this._select(e.series,null):this._select(null,null)}if(!0===this.legendToggle&&(e=this.hitTest(t)).chartElement==ChartElement.Legend&&e.series){e.series.visibility==SeriesVisibility.Legend?e.series.visibility=SeriesVisibility.Visible:e.series.visibility==SeriesVisibility.Visible&&(e.series.visibility=SeriesVisibility.Legend);this.focus()}});this.deferUpdate(()=>this.initialize(e))}initialize(t){if(t&&t.renderEngine){const t=wijmo_1.asType(this._currentRenderEngine,_SvgRenderEngine,!0);t&&t.detach();this._currentRenderEngine=null}super.initialize(t)}_initAxes(){this._axisX=new Axis(Position.Bottom);this._axisY=new Axis(Position.Left);this._axisX.majorGrid=!1;this._axisX.name="axisX";this._axisY.majorGrid=!0;this._axisY.majorTickMarks=TickMark.None;this._axisY.name="axisY";this._axisX._chart=this;this._axisY._chart=this;this._axes.push(this._axisX);this._axes.push(this._axisY)}get series(){return this._series}get axes(){return this._axes}get axisX(){return this._axisX}set axisX(t){if(t!=this._axisX){this._axisX=wijmo_1.asType(t,Axis);const e=this._axisX;this.beginUpdate();if(e){void 0===e.majorGrid&&(e.majorGrid=!1);void 0===e.name&&(e.name="axisX");e._axisType=AxisType.X;null!=e.position&&e.position!=Position.Left&&e.position!=Position.Right&&e.position!=Position.BottomLeft&&e.position!=Position.BottomRight&&e.position!=Position.TopLeft&&e.position!=Position.TopRight&&e.position!=Position.LeftTop&&e.position!=Position.LeftBottom&&e.position!=Position.RightTop&&e.position!=Position.RightBottom||(e.position=Position.Bottom);e._chart=this}this.endUpdate()}}get axisY(){return this._axisY}set axisY(t){if(t!=this._axisY){this._axisY=wijmo_1.asType(t,Axis);const e=this._axisY;this.beginUpdate();if(e){void 0===e.majorGrid&&(e.majorGrid=!0);void 0===e.name&&(e.name="axisY");void 0===e.majorTickMarks&&(e.majorTickMarks=TickMark.None);e._axisType=AxisType.Y;null!=e.position&&e.position!=Position.Top&&e.position!=Position.Bottom&&e.position!=Position.BottomLeft&&e.position!=Position.BottomRight&&e.position!=Position.TopLeft&&e.position!=Position.TopRight&&e.position!=Position.LeftTop&&e.position!=Position.LeftBottom&&e.position!=Position.RightTop&&e.position!=Position.RightBottom||(e.position=Position.Left);e._chart=this}this.endUpdate()}}get plotAreas(){return this._pareas}get binding(){return this._binding}set binding(t){if(t!=this._binding){this._binding=wijmo_1.asString(t,!0);this.invalidate()}}get bindingX(){return this._bindingX}set bindingX(t){if(t!=this._bindingX){this._bindingX=wijmo_1.asString(t,!0);this._bindChart()}}get symbolSize(){return this._symbolSize}set symbolSize(t){if(t!=this._symbolSize){this._symbolSize=wijmo_1.asNumber(t,!1,!0);this.invalidate()}}get interpolateNulls(){return this._interpolateNulls}set interpolateNulls(t){if(t!=this._interpolateNulls){this._interpolateNulls=wijmo_1.asBoolean(t);this.invalidate()}}get legendToggle(){return this._legendToggle}set legendToggle(t){t!=this._legendToggle&&(this._legendToggle=wijmo_1.asBoolean(t))}get tooltip(){return this._tooltip}get dataLabel(){return this._lbl}set dataLabel(t){if(t!=this._lbl){this._lbl=wijmo_1.asType(t,DataLabel);this._lbl&&(this._lbl._chart=this)}}get selection(){return this._selection}set selection(t){if(t!=this._selection){this._selection=wijmo_1.asType(t,SeriesBase,!0);this.invalidate()}}get renderEngine(){return this._currentRenderEngine}set renderEngine(t){if(t!=this._currentRenderEngine){const e=wijmo_1.asType(this._currentRenderEngine,_SvgRenderEngine,!0);e&&e.detach();this._currentRenderEngine=t;const i=wijmo_1.asType(this._currentRenderEngine,_SvgRenderEngine,!0);i&&i.attach(this.hostElement);this.refresh()}}onSeriesVisibilityChanged(t){this.seriesVisibilityChanged.raise(this,t)}hitTest(t,e){var i=this._toControl(t,e),s=new HitTestInfo(this,i),n=null;if(FlexChartCore._contains(this._rectHeader,i))s._chartElement=ChartElement.Header;else if(FlexChartCore._contains(this._rectFooter,i))s._chartElement=ChartElement.Footer;else if(FlexChartCore._contains(this._rectLegend,i)){s._chartElement=ChartElement.Legend;const t=i.clone();if(this.legend.scrollbar&&this._legendHost){const e=this._legendHost.querySelector(".wj-legend-scrollable");if(e){if(this.rightToLeft&&!this.legend.isVertical){const i=e.scrollWidth-e.clientWidth-1;t.x+=i+e.scrollLeft}else t.x+=e.scrollLeft;t.y+=e.scrollTop}}null!==(n=this.legend._hitTest(t))&&n>=0&&n<this.series.length&&s._setData(this.series[n])}else if(FlexChartCore._contains(this._rectChart,i)){const e=this._hitTestLabels(i);if(e){s._chartElement=ChartElement.DataLabel;s._dist=0;s._setDataPoint(e.tag)}else{const e=this._hitTester.hitTest(i);let n=null,r=null;for(let e=this.series.length-1;e>=0;e--)if(this.series[e].hitTest!==Series.prototype.hitTest){const i=this.series[e].hitTest(t);if(i){if(!n||i.distance<n.distance){n=i;r=e}if(0===i.distance)break}}if(e&&e.area)if(n&&n.distance<e.distance)s=n;else if(n&&n.distance==e.distance&&r>e.area.tag.seriesIndex)s=n;else{s._setDataPoint(e.area.tag);s._dist=e.distance}else n&&(s=n);let a=!1;this.axes.some(t=>{if(FlexChartCore._contains(t._axrect,i)){let e;if(t.axisType===AxisType.X){s._chartElement=ChartElement.AxisX;e=t._hitTest(i)}else{s._chartElement=ChartElement.AxisY;e=t._hitTest(i)}e?s._setName(e.label):s._setName("");a=!0;return!0}return!1});a||(FlexChartCore._contains(this._plotRect,i)?s._chartElement=ChartElement.PlotArea:FlexChartCore._contains(this._rectChart,i)&&(s._chartElement=ChartElement.ChartArea))}}else s._chartElement=ChartElement.None;return s}pointToData(t,e){wijmo_1.isNumber(t)&&wijmo_1.isNumber(e)&&(t=new wijmo_1.Point(t,e));if(t instanceof MouseEvent){t=new wijmo_1.Point(t.pageX,t.pageY);t=this._toControl(t)}else t=t.clone();t.x=this.axisX.convertBack(t.x);t.y=this.axisY.convertBack(t.y);return t}dataToPoint(t,e){wijmo_1.isNumber(t)&&wijmo_1.isNumber(e)&&(t=new wijmo_1.Point(t,e));wijmo_1.asType(t,wijmo_1.Point);var i=t.clone();i.x=this.axisX.convert(i.x);i.y=this.axisY.convert(i.y);return i}dispose(){this._markers.forEach(t=>{t.remove()});this._markers=[];super.dispose()}_copy(t,e){if("series"==t){this.series.clear();const t=wijmo_1.asArray(e);for(let e=0;e<t.length;e++){const i=this._createSeries();wijmo_1.copy(i,t[e]);this.series.push(i)}return!0}return!1}_createSeries(){return new Series}_clearCachedValues(){for(let t=0;t<this._series.length;t++){const e=this._series[t];null==e.itemsSource&&e._clearValues()}}_performBind(){this._xDataType=null;this._xlabels.splice(0);this._xvals.splice(0);if(this._cv){const t=this._cv.items;if(t){const e=t.length,i=this.bindingX?new wijmo_1.Binding(this.bindingX):null;for(let s=0;s<e;s++){const e=t[s];if(i){const t=i.getValue(e);if(wijmo_1.isNumber(t)){this._xvals.push(wijmo_1.asNumber(t));this._xDataType=wijmo_1.DataType.Number}else if(wijmo_1.isDate(t)){this._xvals.push(wijmo_1.asDate(t).valueOf());this._xDataType=wijmo_1.DataType.Date}this._xlabels.push(t)}}this._xvals.length==e?this._xlabels.splice(0):this._xvals.splice(0)}}}_hitTestSeries(t,e){var i=this._toControl(t),s=new HitTestInfo(this,i),n=this._hitTester.hitTestSeries(i,e);if(n&&n.area){s._setDataPoint(n.area.tag);s._chartElement=ChartElement.PlotArea;s._dist=n.distance}return s}_hitTestData(t){var e=this._toControl(t),i=new HitTestInfo(this,e),s=this._hitTester.hitTest(e,!0);if(s&&s.area){i._setDataPoint(s.area.tag);i._dist=s.distance}return i}_hitTestLabels(t){var e=null,i=this._lblAreas.length;for(let s=0;s<i;s++)if(this._lblAreas[s].contains(t)){e=this._lblAreas[s];break}return e}static _dist2(t,e){var i=t.x-e.x,s=t.y-e.y;return i*i+s*s}static _dist(t,e,i){return Math.sqrt(FlexChartCore._distToSegmentSquared(t,e,i))}static _distToSegmentSquared(t,e,i){var s=FlexChartCore._dist2(e,i);if(0==s)return FlexChartCore._dist2(t,e);var n=((t.x-e.x)*(i.x-e.x)+(t.y-e.y)*(i.y-e.y))/s;return n<0?FlexChartCore._dist2(t,e):n>1?FlexChartCore._dist2(t,i):FlexChartCore._dist2(t,new wijmo_1.Point(e.x+n*(i.x-e.x),e.y+n*(i.y-e.y)))}_isRotated(){return this._getChartType()==ChartType.Bar?!this._rotated:this._rotated}_getChartType(){return null}_prepareRender(){this._hitTester.clear()}_renderChart(t,e,i){var s=this._rectChart.clone(),n=new wijmo_1.Size(s.width,s.height);e.width,e.height;this._selectedEls.length=0;var r=this._getPlotter(null);r.stacking=this._stacking;if(this._curPlotter!=r){this._curPlotter&&this._curPlotter.unload();this._curPlotter=r}r.load();var a=this._isRotated();this._dataInfo.analyse(this._series,a,r.stacking,this._xvals.length>0?this._xvals:null,this.axisX._getLogBase()>0,this.axisY._getLogBase()>0);var h=r.adjustLimits(this._dataInfo,e.clone());if(a){let t=this._dataInfo.getDataTypeX();t||(t=this._xDataType);this.axisX._updateActualLimits(this._dataInfo.getDataTypeY(),h.left,h.right);this.axisY._updateActualLimits(t,h.top,h.bottom,this._xlabels,this._xvals)}else{let t=this._dataInfo.getDataTypeX();t||(t=this._xDataType);this.axisX._updateActualLimits(t,h.left,h.right,this._xlabels,this._xvals);this.axisY._updateActualLimits(this._dataInfo.getDataTypeY(),h.top,h.bottom)}var o=this._getAxes();this._updateAuxAxes(o,a);this._layout(e,n,t);t.startGroup(FlexChartCore._CSS_PLOT_AREA);t.fill="transparent";t.stroke=null;if(this.plotAreas.length>0)for(let e=0;e<this.plotAreas.length;e++){this.plotAreas[e]._render(t)}else{const e=this._plotRect;t.drawRect(e.left,e.top,e.width,e.height)}t.endGroup();var l=this._series.length;this._clearPlotters();var _,c,d,u={};for(let t=0;t<l;t++){const e=this._series[t],i=e.visibility;if((i==SeriesVisibility.Visible||i==SeriesVisibility.Plot)&&e.getValues(0)){const t=e._getAxisY(),i=this._getPlotter(e);if(!t||t==this.axisY||i instanceof _BarPlotter)i.seriesCount++;else{const e=t._uniqueId;u[e]?u[e].count+=1:u[e]={count:1,index:0}}}}this.onRendering(new RenderEventArgs(t));if(this._getChartType()!==ChartType.Funnel)for(let e=0;e<o.length;e++){const s=o[e];_=s.axisType==AxisType.X?t.startGroup(FlexChartCore._CSS_AXIS_X,this._chartRectId):t.startGroup(FlexChartCore._CSS_AXIS_Y,this._chartRectId);s._hostElement=i?_:s._hostElement;s._render(t);t.endGroup()}t.startGroup(exports.SeriesClsNames.group);this._plotrectId="plotRect"+(1e6*Math.random()).toFixed();t.addClipRect(this._plotRect,this._plotrectId);t.options=this._options&&this._options.spline?{spline:this._options.spline.approximation}:null;for(let e=0;e<l;e++){const s=this._series[e];s._pointIndexes=[];const n=this._getPlotter(s);s._plotter=n;const r=t.startGroup(s.cssClass,n.clipping?this._plotrectId:null);s._hostElement=i?r:s._hostElement;const a=s.visibility;let h=s.axisX,o=s.axisY;h||(h=this.axisX);o||(o=this.axisY);if(a==SeriesVisibility.Visible||a==SeriesVisibility.Plot){const e=u[o._uniqueId];if(!e||n instanceof _BarPlotter){c=n.seriesIndex;d=n.seriesCount;n.seriesIndex++;s.onRendering(t,c,d)||n.plotSeries(t,h,o,s,this,c,d)}else{c=e.index;d=e.count;e.index++;s.onRendering(t,c,d)||n.plotSeries(t,h,o,s,this,c,d)}s.onRendered(t)}t.endGroup()}t.endGroup();this._lblAreas=[];this.dataLabel.content&&this.dataLabel.position!=LabelPosition.None&&this._renderLabels(t);this._highlightCurrent();this.onRendered(new RenderEventArgs(t))}_getDesiredLegendSize(t,e,i,s){const n=new wijmo_1.Size,r=this.series,a=r.length;this.legend.scrollbar;let h=0,o=0;this._colRowLens=[];for(let l=0;l<a;l++){let _=l;this._legendReversed()&&(_=a-l-1);const c=wijmo_1.tryCast(r[_],SeriesBase),d=c.visibility;if(!c.name||d==SeriesVisibility.Hidden||d==SeriesVisibility.Plot)continue;const u=c.legendItemLength();for(let r=0;r<u;r++){const a=c.measureLegendItem(t,r);if(e){if(h+a.height>s&&!this.legend.scrollbar){n.height=s;this._colRowLens.push(o);o=0;h=0}o<a.width&&(o=a.width);h+=a.height}else{if(o+a.width>i&&!this.legend.scrollbar){n.width=i;this._colRowLens.push(h);h=0;o=0}h<a.height&&(h=a.height);o+=a.width}}}if(e){n.height<h&&(n.height=h);this._colRowLens.push(o);n.width=this._colRowLens.reduce((t,e)=>t+e,0)}else{n.width<o&&(n.width=o);this._colRowLens.push(h);n.height=this._colRowLens.reduce((t,e)=>t+e,0)}return n}_renderLegend(t,e,i,s,n,r){var a,h=this.series,o=h.length,l=e.clone(),_=0;if(this._legendReversed()){for(let c=o-1;c>=0;c--){a=wijmo_1.tryCast(h[c],SeriesBase);_=this._renderLegendElements(t,a,e,l,i,s,n,r,_)}i.reverse()}else for(let c=0;c<o;c++){a=wijmo_1.tryCast(h[c],SeriesBase);_=this._renderLegendElements(t,a,e,l,i,s,n,r,_)}}_legendReversed(){if(null==this._legend.reverse||null===this._legend.reverse){let t=!1;const e=this._getChartType();(e===ChartType.Bar||e===ChartType.Column&&this._rotated)&&(this._stacking!==Stacking.None||this.axisY.reversed||(t=!0));return t}return this._legend.reverse}_renderLegendElements(t,e,i,s,n,r,a,h,o){var l=new wijmo_1.Rect(i.x,i.y,a,h),_=o;if(!e)return _;var c=e.visibility;if(!e.name||c==SeriesVisibility.Hidden||c==SeriesVisibility.Plot){e._legendElement=null;n.push(null);return _}var d=e.legendItemLength(),u=t.startGroup(e.cssClass);if(c==SeriesVisibility.Legend){u.setAttribute("opacity","0.5");e._legendElement=u}else c==SeriesVisibility.Visible?e._legendElement=u:e._legendElement=null;for(let a=0;a<d;a++){const h=e.measureLegendItem(t,a);if(r){if(s.y+h.height>l.bottom+1&&!this.legend.scrollbar){s.x+=this._colRowLens[_];_++;s.y=i.y}}else if(s.x+h.width>l.right+1&&!this.legend.scrollbar){s.y+=this._colRowLens[_];_++;s.x=i.x}const o=new wijmo_1.Rect(s.x,s.y,h.width,h.height);c!=SeriesVisibility.Legend&&c!=SeriesVisibility.Visible||e.drawLegendItem(t,o,a);n.push(o);r?s.y+=h.height:s.x+=h.width}t.endGroup();return _}_renderLabels(t){var e=this.series,i=e.length;t.stroke="null";t.fill="transparent";t.strokeWidth=1;var s=FlexChartCore._CSS_DATA_LABELS;t.startGroup(s);for(let s=0;s<i;s++){const i=e[s],n=this._hitTester._map[s];n&&i._renderLabels(t,n,this,this._lblAreas)}t.endGroup()}_getAxes(){var t=[this.axisX,this.axisY],e=this.series.length;for(let i=0;i<e;i++){const e=this.series[i],s=e.axisX;s&&-1===t.indexOf(s)&&t.push(s);const n=e.axisY;n&&-1===t.indexOf(n)&&t.push(n)}return t}_clearPlotters(){var t=this._plotters.length;for(let e=0;e<t;e++)this._plotters[e].clear()}_initPlotter(t){t.chart=this;t.dataInfo=this._dataInfo;t.hitTester=this._hitTester;this._plotters.push(t)}get _barPlotter(){if(null===this.__barPlotter){this.__barPlotter=new _BarPlotter;this._initPlotter(this.__barPlotter)}return this.__barPlotter}get _linePlotter(){if(null===this.__linePlotter){this.__linePlotter=new _LinePlotter;this._initPlotter(this.__linePlotter)}return this.__linePlotter}get _areaPlotter(){if(null===this.__areaPlotter){this.__areaPlotter=new _AreaPlotter;this._initPlotter(this.__areaPlotter)}return this.__areaPlotter}get _bubblePlotter(){if(null===this.__bubblePlotter){this.__bubblePlotter=new _BubblePlotter;this._initPlotter(this.__bubblePlotter)}return this.__bubblePlotter}get _financePlotter(){if(null===this.__financePlotter){this.__financePlotter=new _FinancePlotter;this._initPlotter(this.__financePlotter)}return this.__financePlotter}get _funnelPlotter(){if(null===this.__funnelPlotter){this.__funnelPlotter=new _FunnelPlotter;this._initPlotter(this.__funnelPlotter)}return this.__funnelPlotter}_getPlotter(t){var e,i=this._getChartType(),s=!1;if(t){const e=t._getChartType();if(null!=e&&e!=i){i=e;s=!0}}switch(i){case ChartType.Column:this._barPlotter.isVolume=!1;this._barPlotter.width=.7;e=this._barPlotter;break;case ChartType.Bar:this._barPlotter.rotated=!this._rotated;this._barPlotter.isVolume=!1;this._barPlotter.width=.7;e=this._barPlotter;break;case ChartType.Line:this._linePlotter.hasSymbols=!1;this._linePlotter.hasLines=!0;this._linePlotter.isSpline=!1;this._linePlotter.isStep=!1;e=this._linePlotter;break;case ChartType.Scatter:this._linePlotter.hasSymbols=!0;this._linePlotter.hasLines=!1;this._linePlotter.isSpline=!1;this._linePlotter.isStep=!1;e=this._linePlotter;break;case ChartType.LineSymbols:this._linePlotter.hasSymbols=!0;this._linePlotter.hasLines=!0;this._linePlotter.isSpline=!1;this._linePlotter.isStep=!1;e=this._linePlotter;break;case ChartType.Area:this._areaPlotter.isSpline=!1;this._areaPlotter.isStep=!1;e=this._areaPlotter;break;case ChartType.Bubble:e=this._bubblePlotter;break;case ChartType.Candlestick:{const t=this._financePlotter;t.isCandle=!0;t.isEqui=!1;t.isArms=!1;t.isVolume=!1;e=t;break}case ChartType.HighLowOpenClose:{const t=this._financePlotter;t.isCandle=!1;t.isEqui=!1;t.isArms=!1;t.isVolume=!1;e=t;break}case ChartType.Spline:this._linePlotter.hasSymbols=!1;this._linePlotter.hasLines=!0;this._linePlotter.isSpline=!0;this._linePlotter.isStep=!1;e=this._linePlotter;break;case ChartType.SplineSymbols:this._linePlotter.hasSymbols=!0;this._linePlotter.hasLines=!0;this._linePlotter.isSpline=!0;this._linePlotter.isStep=!1;e=this._linePlotter;break;case ChartType.SplineArea:this._areaPlotter.isSpline=!0;this._areaPlotter.isStep=!1;e=this._areaPlotter;break;case ChartType.Funnel:e=this._funnelPlotter;break;case ChartType.Step:this._linePlotter.hasSymbols=!1;this._linePlotter.hasLines=!0;this._linePlotter.isSpline=!1;this._linePlotter.isStep=!0;e=this._linePlotter;break;case ChartType.StepSymbols:this._linePlotter.hasSymbols=!0;this._linePlotter.hasLines=!0;this._linePlotter.isSpline=!1;this._linePlotter.isStep=!0;e=this._linePlotter;break;case ChartType.StepArea:this._areaPlotter.isSpline=!1;this._areaPlotter.isStep=!0;e=this._areaPlotter;break;default:throw"Invalid chart type."}e.rotated=this._rotated;i==ChartType.Bar&&(e.rotated=!e.rotated);s&&(e.rotated=this._isRotated());return e}_layout(t,e,i){this.plotAreas.length>0?this._layoutMultiple(t,e,i):this._layoutSingle(t,e,i)}_layoutSingle(t,e,i){var s=t.width,n=t.height,r=new wijmo_1.Size(s,.75*n),a=new wijmo_1.Size(n,.75*s),h=0,o=0,l=s,_=n,c=0,d=0,u=s,g=n;if(this.dataLabel.position===LabelPosition.Top?this.dataLabel.content:null){o=i.measureString(this.dataLabel.content,exports.DataLabelClsNames.label).height}var m=this._getAxes(),p=this.axisY._getHeight(i,n);for(let t=0;t<m.length;t++){const e=m[t],f=e.origin,x=e._getPosition();if(e.axisType==AxisType.X){let t=e._getHeight(i,Math.max(10,s-p));t>r.height&&(t=r.height);e._desiredSize=new wijmo_1.Size(r.width,t);e._hasOrigin=wijmo_1.isNumber(f)&&f>this.axisY._getMinNum()&&f<this.axisY._getMaxNum();const n=e._hasOrigin,a=Math.min(.25*s,e._annoSize.width);if(x==Position.Bottom){h=Math.max(h,.5*a);l=Math.min(l,s-.5*a);if(n){const e=this._convertY(f,d,g);g-=Math.max(0,e+t-g)}else g-=t}else if(x==Position.Top){h=Math.max(h,.5*a);l=Math.min(l,s-.5*a);if(n){const e=this._convertY(f,d,g);d+=Math.max(0,d-(e-t))}else d+=t}}else if(e.axisType==AxisType.Y){let t=e===this.axisX?p:e._getHeight(i,n);t>a.height&&(t=a.height);e._desiredSize=new wijmo_1.Size(a.width,t);e._hasOrigin=wijmo_1.isNumber(f)&&f>this.axisX._getMinNum()&&f<this.axisX._getMaxNum();const s=e._hasOrigin;if(x==Position.Left){if(e._actualAngle<0)_=Math.min(_,n-e._annoSize.height);else if(e._actualAngle>0)o=Math.max(o,e._annoSize.height);else{o=Math.max(o,e._annoSize.height);_=Math.min(_,n-e._annoSize.height)}if(s){const e=this._convertX(f,c,u);c+=Math.max(0,c-(e-t))}else c+=t}else if(x==Position.Right){if(e._actualAngle>0)_=Math.min(_,n-e._annoSize.height);else if(e._actualAngle<0)o=Math.max(o,e._annoSize.height);else{o=Math.max(o,e._annoSize.height);_=Math.min(_,n-e._annoSize.height)}if(s){const e=this._convertX(f,c,u);u-=Math.max(0,e+t-u)}else u-=t}}}var f,x,w=this._parseMargin(this.plotMargin);h=c=isNaN(w.left)?Math.max(h,c)+t.left:w.left;l=u=isNaN(w.right)?Math.min(l,u)+t.left:e.width-w.right;o=d=isNaN(w.top)?Math.max(o,d)+t.top:w.top;_=g=isNaN(w.bottom)?Math.min(_,g)+t.top:e.height-w.bottom;s=Math.max(1,l-h);n=Math.max(1,_-o);this._plotRect=new wijmo_1.Rect(h,o,s,n);_<=o&&(g=d+1);i.stroke=null;for(let t=0;t<m.length;t++){const e=m[t],i=e.origin,r=e._getPosition();if(e.axisType==AxisType.X){if(e._hasOrigin){const t=this._convertY(i,this._plotRect.top,this._plotRect.bottom);if(r==Position.Bottom){f=new wijmo_1.Rect(h,t,s,e._desiredSize.height);g+=Math.max(0,f.bottom-this._plotRect.bottom)}else if(r==Position.Top){f=new wijmo_1.Rect(h,t-e._desiredSize.height,s,e._desiredSize.height);d-=Math.max(0,this._plotRect.top-f.top)}else f=new wijmo_1.Rect(h,t,s,1)}else if(r==Position.Bottom){f=new wijmo_1.Rect(h,g,s,e._desiredSize.height);g+=e._desiredSize.height}else if(r==Position.Top){f=new wijmo_1.Rect(h,d-e._desiredSize.height,s,e._desiredSize.height);d-=e._desiredSize.height}else f=new wijmo_1.Rect(h,d,s,1);e._layout(f,this._plotRect)}else if(e.axisType==AxisType.Y){if(e._hasOrigin){const t=this._convertX(i,this._plotRect.left,this._plotRect.right);if(r==Position.Left){x=new wijmo_1.Rect(t-e._desiredSize.height,o,n,e._desiredSize.height);c-=e._desiredSize.height}else if(r==Position.Right){x=new wijmo_1.Rect(t,o,n,e._desiredSize.height);u+=e._desiredSize.height}else x=new wijmo_1.Rect(t,o,n,1)}else if(r==Position.Left){x=new wijmo_1.Rect(c-e._desiredSize.height,o,n,e._desiredSize.height);c-=e._desiredSize.height}else if(r==Position.Right){x=new wijmo_1.Rect(u,o,n,e._desiredSize.height);u+=e._desiredSize.height}else x=new wijmo_1.Rect(c,o,n,1);e._layout(x,this._plotRect)}}}_layoutMultiple(t,e,i){var s=t.width,n=t.height,r=[],a=[],h=this._getAxes(),o=h.length;for(let t=0;t<o;t++){const e=h[t];e._plotrect=null;if(e.axisType==AxisType.X){const t=e.plotArea?e.plotArea.column:0;for(;r.length<=t;)r.push(new _AreaDef);r[t].axes.push(e)}else if(e.axisType==AxisType.Y){const t=e.plotArea?e.plotArea.row:0;for(;a.length<=t;)a.push(new _AreaDef);a[t].axes.push(e)}}var l=r.length,_=a.length,c=new wijmo_1.Size(s,.3*n),d=new wijmo_1.Size(n,.3*s),u=0,g=0,m=s,p=n;for(let t=0;t<l;t++){const e=r[t];e.right=s;e.bottom=n;for(let r=0;r<e.axes.length;r++){const a=e.axes[r];let h=a._getHeight(i,a.axisType==AxisType.X?s:n);h>c.height&&(h=c.height);const o=new wijmo_1.Size(c.width,h);a._desiredSize=o;0==t&&(e.left=Math.max(e.left,.5*a._annoSize.width));t==l-1&&(e.right=Math.min(e.right,s-.5*a._annoSize.width));const _=a._getPosition();_==Position.Bottom?e.bottom-=o.height:_==Position.Top&&(e.top+=o.height)}}for(let t=0;t<_;t++){const e=a[t];e.right=s;e.bottom=n;for(let r=0;r<e.axes.length;r++){const a=e.axes[r],h=new wijmo_1.Size(d.width,a._getHeight(i,a.axisType==AxisType.X?s:n));h.height>d.height&&(h.height=d.height);a._desiredSize=h;0==t&&(e.top=Math.max(e.top,.5*a._annoSize.width));t==_-1&&(e.bottom=Math.min(e.bottom,n-.5*a._annoSize.width));const o=a._getPosition();o==Position.Left?e.left+=h.height:o==Position.Right&&(e.right-=h.height)}}var f=0,x=0,w=s,b=n;for(let t=0;t<l;t++){const e=r[t];f=Math.max(f,e.left);x=Math.max(x,e.top);w=Math.min(w,e.right);b=Math.min(b,e.bottom)}for(let t=0;t<_;t++){const e=a[t];f=Math.max(f,e.left);x=Math.max(x,e.top);w=Math.min(w,e.right);b=Math.min(b,e.bottom)}f=u=Math.max(u,f);w=m=Math.min(m,w);x=g=Math.max(g,x);b=p=Math.min(p,b);this._plotRect=new wijmo_1.Rect(u,g,m-u,p-g);var y,S=this._plotRect.clone(),v=u,C=this.plotAreas._calculateWidths(this._plotRect.width,l);for(let t=0;t<l;t++){b=p;x=g;const e=r[t],i=C[t];for(let t=0;t<e.axes.length;t++){const s=e.axes[t],n=s._getPosition(),r=new wijmo_1.Rect(v,S.top,i,S.height);if(n==Position.Bottom){y=new wijmo_1.Rect(v,b,i,s._desiredSize.height);b+=s._desiredSize.height}else if(n==Position.Top){y=new wijmo_1.Rect(v,x-s._desiredSize.height,i,s._desiredSize.height);x-=s._desiredSize.height}s._layout(y,r)}for(let e=0;e<this.plotAreas.length;e++){const s=this.plotAreas[e];s.column==t&&s._setPlotX(v,i)}v+=i}var M,T=g,P=this.plotAreas._calculateHeights(this._plotRect.height,_);for(let t=0;t<_;t++){f=u;w=m;const e=a[t],i=P[t];for(let t=0;t<e.axes.length;t++){const s=e.axes[t],n=s._getPosition(),r=new wijmo_1.Rect(S.left,T,S.width,i);if(s._plotrect){r.left=s._plotrect.left;r.width=s._plotrect.width}else C&&C.length>0&&(r.width=C[0]);if(n==Position.Left){M=new wijmo_1.Rect(f-s._desiredSize.height,T,i,s._desiredSize.height);f-=s._desiredSize.height}else if(n==Position.Right){M=new wijmo_1.Rect(w,T,i,s._desiredSize.height);w+=s._desiredSize.height}s._layout(M,r)}for(let e=0;e<this.plotAreas.length;e++){const s=this.plotAreas[e];s.row==t&&s._setPlotY(T,i)}T+=i}}_convertX(t,e,i){var s=this.axisX;return s.reversed?i-(i-e)*(t-s._getMinNum())/(s._getMaxNum()-s._getMinNum()):e+(i-e)*(t-s._getMinNum())/(s._getMaxNum()-s._getMinNum())}_convertY(t,e,i){var s=this.axisY;return s.reversed?e+(i-e)*(t-s._getMinNum())/(s._getMaxNum()-s._getMinNum()):i-(i-e)*(t-s._getMinNum())/(s._getMaxNum()-s._getMinNum())}_getLabelContent(t,e){return t.chartElement!==ChartElement.AxisX&&t.chartElement!==ChartElement.AxisY||!t.name?wijmo_1.isString(e)?this._keywords.replace(e,t):wijmo_1.isFunction(e)?e(t):null:t.name}_select(t,e){const i=this.selectionMode;var s=!1;(t!=this._selection||i==SelectionMode.Point&&e!=this._selectionIndex)&&(s=!0);this._selection&&this._highlight(this._selection,!1,this._selectionIndex);this._selection=t;this._selectionIndex=e;this._selection&&this._highlight(this._selection,!0,this._selectionIndex);if(i==SelectionMode.Point){const i=t?t.collectionView:this._cv;if(i){this._notifyCurrentChanged=!1;i.moveCurrentToPosition(t?e:-1);this._notifyCurrentChanged=!0}}s&&this.onSelectionChanged()}_highlightCurrent(){if(this.selectionMode!=SelectionMode.None){const t=this._selection;let e=-1;if(t){let i=t.collectionView;i||(i=this._cv);i&&(e=i.currentPosition);this._highlight(t,!0,e)}}}_highlight(t,e,i){t=wijmo_1.asType(t,SeriesBase,!0);if(this.selectionMode==SelectionMode.Series){const i=this.series.indexOf(t),s=t.hostElement;e?s.parentNode.appendChild(s):s.parentNode.insertBefore(s,s.parentNode.childNodes.item(i));const n=this._find(s,["rect","ellipse","polyline","polygon","line","path"]);this._highlightItems(n,FlexChartCore._CSS_SELECTION,e);t.legendElement&&this._highlightItems(this._find(t.legendElement,["rect","ellipse","line"]),FlexChartCore._CSS_SELECTION,e)}else if(this.selectionMode==SelectionMode.Point){const s=this.series.indexOf(t),n=t.hostElement;if(e){n.parentNode.appendChild(n);const s=t.getPlotElement(i);if(s)if(s instanceof SVGElement){if("g"!=s.nodeName){this._highlightItems([s],FlexChartCore._CSS_SELECTION,e);this._selectedEls.push(s)}const t=this._find(s,["line","rect","ellipse","path","polygon"]);if(t.length>0){this._highlightItems(t,FlexChartCore._CSS_SELECTION,e);for(let e=0;e<t.length;e++)this._selectedEls.push(t[e])}}else if(Array.isArray(s)){this._highlightItems(s,FlexChartCore._CSS_SELECTION,e);for(let t=0;t<s.length;t++)this._selectedEls.push(s[t])}}else{n.parentNode.insertBefore(n,n.parentNode.childNodes.item(s));if(this._selectedEls.length>0){this._highlightItems(this._selectedEls,FlexChartCore._CSS_SELECTION,e);this._selectedEls.length=0}}}}_updateTooltip(t,e){const i=this.hitTest(e);let s;if(i.distance<=t.threshold){let e=t.content;if(i.series){const t=i.series.tooltipContent;(t||""===t)&&(e=t)}s=this._getLabelContent(i,e)}this._hideToolTip();s&&this._showToolTip(s,new wijmo_1.Rect(e.clientX,e.clientY,5,5))}_updateAuxAxes(t,e){let i,s;for(let n=2;n<t.length;n++){const r=t[n];r._chart=this;const a=[];for(let t=0;t<this.series.length;t++){const e=this.series[t];e.axisX!=r&&e.axisY!=r||a.push(e)}for(let t=0;t<a.length;t++){const n=a[t].getDataRect()||a[t]._getDataRect();if(n)if(r.axisType==AxisType.X&&!e||r.axisType==AxisType.Y&&e){(void 0===i||n.left<i)&&(i=n.left);(void 0===s||n.right>s)&&(s=n.right)}else{(void 0===i||n.top<i)&&(i=n.top);(void 0===s||n.bottom>s)&&(s=n.bottom)}}let h=a[0].getDataType(0);null==h&&(h=wijmo_1.DataType.Number);t[n]._updateActualLimits(h,i,s)}}}FlexChartCore._CSS_AXIS_X=exports.AxisClsNames.axisX;FlexChartCore._CSS_AXIS_Y=exports.AxisClsNames.axisY;FlexChartCore._CSS_LINE=exports.AxisClsNames.line;FlexChartCore._CSS_GRIDLINE=exports.AxisClsNames.gridline;FlexChartCore._CSS_TICK=exports.AxisClsNames.tick;FlexChartCore._CSS_GRIDLINE_MINOR=exports.AxisClsNames.gridlineMinor;FlexChartCore._CSS_TICK_MINOR=exports.AxisClsNames.tickMinor;FlexChartCore._CSS_DATA_LABELS=exports.DataLabelClsNames.labels;exports.FlexChartCore=FlexChartCore;class _AreaDef{constructor(){this._axes=[];this.left=0;this.right=0;this.top=0;this.bottom=0}get axes(){return this._axes}}class _DataInfo{constructor(){this.stackAbs={};this._xvals=null}analyse(t,e,i,s,n,r){this.minY=NaN;this.maxY=NaN;this.minX=NaN;this.maxX=NaN;this.minXp=NaN;this.minYp=NaN;this.dx=0;var a,h={},o={},l={};this.dataTypeX=null;this.dataTypeY=null;this._xvals=s;if(null!=s){const t=s.length;for(let e=0;e<t;e++){const t=s[e];(isNaN(this.minX)||this.minX>t)&&(this.minX=t);(isNaN(this.maxX)||this.maxX<t)&&(this.maxX=t);t>0&&(isNaN(this.minXp)||this.minXp>t)&&(this.minXp=t);if(e>0){const i=Math.abs(t-s[e-1]);!isNaN(i)&&(i<this.dx||0==this.dx)&&(this.dx=i)}}}for(let n=0;n<t.length;n++){const r=t[n],_=r._getChartType(),c=void 0!==r.chartType,d=r.visibility;if(d==SeriesVisibility.Hidden||d==SeriesVisibility.Legend)continue;const u=r.getDataRect();if(u){if(!isNaN(this.minX)&&this.minX<u.left){a=u.right;u.left=this.minX;u.width=a-this.minX}!isNaN(this.maxX)&&this.maxX>u.right&&(u.width=this.maxX-u.left);if(!r._isCustomAxisY()){if(!isNaN(this.minY)&&this.minY<u.top){a=u.bottom;u.top=this.minY;u.height=a-this.minY}!isNaN(this.maxY)&&this.maxY>u.bottom&&(u.height=this.maxY-u.top)}}let g=null;e?r._isCustomAxisY()||(g=r.getValues(1)):r._isCustomAxisX()||(g=r.getValues(1));if(g){this.dataTypeX||(this.dataTypeX=r.getDataType(1));for(let t=0;t<g.length;t++){const e=g[t];if(isFinite(e)){(isNaN(this.minX)||this.minX>e)&&(this.minX=e);(isNaN(this.maxX)||this.maxX<e)&&(this.maxX=e);if(t>0&&(!_||_==ChartType.Column||_==ChartType.Bar)){const i=Math.abs(e-g[t-1]);!isNaN(i)&&i>0&&(i<this.dx||0==this.dx)&&(this.dx=i)}}}}let m=null,p=!1;if(e){p=r._isCustomAxisX();m=r.getValues(0)}else{p=r._isCustomAxisY();m=r.getValues(0)}if(m){this.dataTypeY||p||(this.dataTypeY=r.getDataType(0));isNaN(this.minX)?this.minX=0:g||s||(this.minX=Math.min(this.minX,0));isNaN(this.maxX)?this.maxX=m.length-1:g||s||(this.maxX=Math.max(this.maxX,m.length-1));if(!p){const t=i==Stacking.None||c;for(let e=0;e<m.length;e++){const i=m[e],n=g?wijmo_1.asNumber(g[e],!0):s?wijmo_1.asNumber(s[e],!0):e;wijmo_1.isArray(i)?i.forEach(e=>{this._parseYVal(e,n,t,l,h,o)}):this._parseYVal(i,n,t,l,h,o)}}}const f=r.getDataRect(new wijmo_1.Rect(this.minX,this.minY,this.maxX-this.minX,this.maxY-this.minY),u);if(f){this.minX=f.left;this.maxX=f.right;if(!p){this.minY=f.top;this.maxY=f.bottom}}}if(i==Stacking.Stacked){for(const t in h)h[t]>this.maxY&&(this.maxY=h[t]);for(const t in o)o[t]<this.minY&&(this.minY=o[t])}else if(i==Stacking.Stacked100pc){this.minY=0;this.maxY=0;for(const t in l){const e=l[t];if(isFinite(e)&&0!=e){let i=h[t],s=o[t];if(isFinite(i)){i=Math.max(i/e,this.maxY);i>this.maxY&&(this.maxY=i)}if(isFinite(s)){s=Math.min(s/e,this.minY);s<this.minY&&(this.minY=s)}}}if(this.minY==this.maxY){this.minY=0;this.maxY=1}}this.stackAbs=l;n&&(e?this.minY=isNaN(this.minYp)?1:this.minYp:this.minX=isNaN(this.minXp)?1:this.minXp);r&&(e?this.minX=isNaN(this.minXp)?1:this.minXp:this.minY=isNaN(this.minYp)?1:this.minYp)}_parseYVal(t,e,i,s,n,r){if(isFinite(t)){null!=t&&(isNaN(this.minY)||this.minY>t)&&(this.minY=t);null!=t&&(isNaN(this.maxY)||this.maxY<t)&&(this.maxY=t);t>0&&(isNaN(this.minYp)||this.minYp>t)&&(this.minYp=t);if(!i){t>0?isNaN(n[e])?n[e]=t:n[e]+=t:isNaN(r[e])?r[e]=t:r[e]+=t;isNaN(s[e])?s[e]=Math.abs(t):s[e]+=Math.abs(t)}}}getMinY(){return this.minY}getMaxY(){return this.maxY}getMinX(){return this.minX}getMaxX(){return this.maxX}getMinXp(){return this.minXp}getMinYp(){return this.minYp}getDeltaX(){return this.dx}getDataTypeX(){return this.dataTypeX}getDataTypeY(){return this.dataTypeY}getStackedAbsSum(t){var e=this.stackAbs[t];return isFinite(e)?e:0}getXVals(){return this._xvals}static isValid(...t){const e=t.length;for(let i=0;i<e;i++)if(!isFinite(t[i]))return!1;return!0}}exports._DataInfo=_DataInfo;class FlexChart extends FlexChartCore{constructor(t,e){super(t,null);this._chartType=ChartType.Column;this.initialize(e)}_getChartType(){return this._chartType}get chartType(){return this._chartType}set chartType(t){if((t=wijmo_1.asEnum(t,ChartType))!=this._chartType){this._chartType=t;this.invalidate()}}get rotated(){return this._rotated}set rotated(t){if(t!=this._rotated){this._rotated=wijmo_1.asBoolean(t);this.invalidate()}}get stacking(){return this._stacking}set stacking(t){if((t=wijmo_1.asEnum(t,Stacking))!=this._stacking){this._stacking=t;this.invalidate()}}get options(){return this._options}set options(t){if(t!=this._options){this._options=t;this.invalidate()}}}exports.FlexChart=FlexChart;!function(t){t[t.None=0]="None";t[t.Left=1]="Left";t[t.Top=2]="Top";t[t.Right=3]="Right";t[t.Bottom=4]="Bottom";t[t.Center=5]="Center"}(LabelPosition=exports.LabelPosition||(exports.LabelPosition={}));!function(t){t[t.None=0]="None";t[t.Inside=1]="Inside";t[t.Center=2]="Center";t[t.Outside=3]="Outside";t[t.Radial=4]="Radial";t[t.Circular=5]="Circular"}(PieLabelPosition=exports.PieLabelPosition||(exports.PieLabelPosition={}));class DataLabelRenderEventArgs extends RenderEventArgs{constructor(t,e,i,s){super(t);this.cancel=!1;this._ht=e;this._pt=i;this._text=s}get point(){return this._pt}get text(){return this._text}set text(t){this._text=wijmo_1.asString(t)}get hitTestInfo(){return this._ht}}exports.DataLabelRenderEventArgs=DataLabelRenderEventArgs;class DataLabelBase{constructor(){this.rendering=new wijmo_1.Event}get content(){return this._content}set content(t){if(t!=this._content){this._content=t;this._invalidate()}}get border(){return this._bdr}set border(t){if(t!=this._bdr){this._bdr=wijmo_1.asBoolean(t,!0);this._invalidate()}}get offset(){return this._off}set offset(t){if(t!=this._off){this._off=wijmo_1.asNumber(t,!0);this._invalidate()}}get connectingLine(){return this._line}set connectingLine(t){if(t!=this._line){this._line=wijmo_1.asBoolean(t,!0);this._invalidate()}}onRendering(t){this.rendering.raise(this,t);return!t.cancel}_invalidate(){this._chart&&this._chart.invalidate()}}exports.DataLabelBase=DataLabelBase;class DataLabel extends DataLabelBase{constructor(){super(...arguments);this._pos=LabelPosition.Top}get position(){return this._pos}set position(t){if((t=wijmo_1.asEnum(t,LabelPosition))!=this._pos){this._pos=t;this._invalidate()}}}exports.DataLabel=DataLabel;class PieDataLabel extends DataLabelBase{constructor(){super(...arguments);this._pos=PieLabelPosition.Center}get position(){return this._pos}set position(t){if((t=wijmo_1.asEnum(t,PieLabelPosition))!=this._pos){this._pos=t;this._invalidate()}}}exports.PieDataLabel=PieDataLabel;class _DataPoint{constructor(t,e,i,s){this._seriesIndex=t;this._pointIndex=e;this._dataX=i;this._dataY=s}get seriesIndex(){return this._seriesIndex}get pointIndex(){return this._pointIndex}get dataX(){return this._dataX}set dataX(t){t!==this._dataX&&(this._dataX=t)}get dataY(){return this._dataY}set dataY(t){t!==this._dataY&&(this._dataY=t)}}exports._DataPoint=_DataPoint;!function(t){t[t.X=0]="X";t[t.Y=1]="Y";t[t.XY=2]="XY"}(_MeasureOption=exports._MeasureOption||(exports._MeasureOption={}));class _RectArea{constructor(t){this._rect=t}get rect(){return this._rect}contains(t){var e=this._rect;return t.x>=e.left&&t.x<=e.right&&t.y>=e.top&&t.y<=e.bottom}pointDistance(t,e,i){var s=e.x-t.x,n=e.y-t.y;return i==_MeasureOption.X?Math.abs(s):i==_MeasureOption.Y?Math.abs(n):Math.sqrt(s*s+n*n)}distance(t){var e=_MeasureOption.XY;isNaN(t.x)||null===t.x?e=_MeasureOption.Y:(isNaN(t.y)||null===t.y)&&(e=_MeasureOption.X);var i=this._rect;return t.x<i.left?t.y<i.top?this.pointDistance(t,new wijmo_1.Point(i.left,i.top),e):t.y>i.bottom?this.pointDistance(t,new wijmo_1.Point(i.left,i.bottom),e):e==_MeasureOption.Y?0:i.left-t.x:t.x>i.right?t.y<i.top?this.pointDistance(t,new wijmo_1.Point(i.right,i.top),e):t.y>i.bottom?this.pointDistance(t,new wijmo_1.Point(i.right,i.bottom),e):e==_MeasureOption.Y?0:t.x-i.right:e==_MeasureOption.X?0:t.y<i.top?i.top-t.y:t.y>i.bottom?t.y-i.bottom:0}}exports._RectArea=_RectArea;class _CircleArea{constructor(t,e){this._center=t;this.setRadius(e)}setRadius(t){this._rad=t;this._rad2=t*t}get center(){return this._center}contains(t){var e=this._center.x-t.x,i=this._center.y-t.y;return e*e+i*i<=this._rad2}distance(t){var e=isNaN(t.x)?0:this._center.x-t.x,i=isNaN(t.y)?0:this._center.y-t.y,s=e*e+i*i;return s<=this._rad2?0:Math.sqrt(s)-this._rad}}exports._CircleArea=_CircleArea;class _LinesArea{constructor(t,e){this._x=[];this._y=[];this._x=t;this._y=e}contains(t){return!1}distance(t){var e=NaN;for(let i=0;i<this._x.length-1;i++){const s=FlexChartCore._dist(t,new wijmo_1.Point(this._x[i],this._y[i]),new wijmo_1.Point(this._x[i+1],this._y[i+1]));(isNaN(e)||s<e)&&(e=s)}return e}}exports._LinesArea=_LinesArea;class _HitResult{}exports._HitResult=_HitResult;class _HitTester{constructor(t){this._map={};this._chart=t}add(t,e){if(this._map[e]){t.tag||(t.tag=new _DataPoint(e,NaN,NaN,NaN));this._map[e].push(t)}}clear(){this._map={};var t=this._chart.series;for(let e=0;e<t.length;e++)t[e].hitTest===Series.prototype.hitTest&&(this._map[e]=[])}hitTest(t,e=!1){var i=null,s=Number.MAX_VALUE;for(let n=this._chart.series.length-1;n>=0;n--){const r=this._map[n];if(r){for(let n=r.length-1;n>=0;n--){const a=r[n];if(wijmo_1.tryCast(a,_LinesArea)&&!e)continue;const h=a.distance(t);if(h<s){i=a;if(0==(s=h))break}}if(0==s)break}}if(i){const t=new _HitResult;t.area=i;t.distance=s;return t}return null}hitTestSeries(t,e){var i=null,s=Number.MAX_VALUE,n=this._map[e];if(n){for(let e=n.length-1;e>=0;e--){const r=n[e],a=r.distance(t);if(a<s){i=r;if(0==(s=a))break}}}if(i){const t=new _HitResult;t.area=i;t.distance=s;return t}return null}}exports._HitTester=_HitTester;!function(t){t[t.PlotArea=0]="PlotArea";t[t.AxisX=1]="AxisX";t[t.AxisY=2]="AxisY";t[t.ChartArea=3]="ChartArea";t[t.Legend=4]="Legend";t[t.Header=5]="Header";t[t.Footer=6]="Footer";t[t.Series=7]="Series";t[t.SeriesSymbol=8]="SeriesSymbol";t[t.DataLabel=9]="DataLabel";t[t.None=10]="None"}(ChartElement=exports.ChartElement||(exports.ChartElement={}));class HitTestInfo{constructor(t,e,i){this._pointIndex=null;this._chartElement=ChartElement.None;this._chart=t;this._pt=e;this._chartElement=i}get chart(){return this._chart}get point(){return this._pt}get series(){return this._series}get pointIndex(){return this._pointIndex}get chartElement(){return this._chartElement}get distance(){return this._dist}get item(){if(null==this._item&&null!==this.pointIndex)if(null!=this.series)this._item=this.series._getItem(this.pointIndex);else{const t=this._chart._getHitTestItem(this.pointIndex);t&&(this._item=t)}return this._item}get x(){void 0===this._x&&(this._x=this._getValue(1,!1));return this._x}get y(){void 0===this._y&&(this._y=this._getValue(0,!1));return this._y}get value(){var t=this._chart._getHitTestValue(this.pointIndex,this._groupIndex);return null!=t?t:this.series&&null!=this.series._getValue?this.series._getValue(this.pointIndex):this.y}get name(){if(void 0===this._name){const t=this._chart._getHitTestLabel(this.pointIndex);return null==t?this.series.name:t.toString()}return this._name}get groupIndex(){return this._groupIndex}get _xfmt(){void 0===this.__xfmt&&(this.__xfmt=this._getValue(1,!0));return this.__xfmt}get _yfmt(){void 0===this.__yfmt&&(this.__yfmt=this._getValue(0,!0));return this.__yfmt}_setData(t,e){this._series=t;this._pointIndex=e}_setDataGroup(t,e){this._groupIndex=t;this._pointIndex=e}_setName(t){this._name=t;t&&(this._dist=0)}_setDataPoint(t){if(t=wijmo_1.asType(t,_DataPoint,!0)){this._pointIndex=t.pointIndex;const e=wijmo_1.asType(this._chart,FlexChartCore,!0),i=t.seriesIndex;null!==i&&i>=0&&i<e.series.length&&(this._series=e.series[i]);null!=t.item&&(this._item=t.item);null!=t.x&&(this._x=t.x);null!=t.y&&(this._y=t.y);null!=t.xfmt&&(this.__xfmt=t.xfmt);null!=t.yfmt&&(this.__yfmt=t.yfmt);null!=t.name&&(this._name=t.name)}}_getValueFmt(){let t=this.value;if(null!=t){if(null==this.series){const e=t==Math.round(t)?"{val:n0}":"{val:n}";return wijmo_1.format(e,{val:t})}t=this._chart._isRotated()?this.ax._formatValue(t):this.ay._formatValue(t)}return t}_getValue(t,e){var i=this._chart._getHitTestValue(this.pointIndex,this.groupIndex);if(null!==i)return i;var s=null,n=this._chart,r=this.pointIndex,a=n._isRotated();if(null!==this.series&&null!==r){const i=this.series.getValues(t),a=this.series.getDataType(t);if(i&&this.pointIndex<i.length){s=i[this.pointIndex];a!=wijmo_1.DataType.Date||e||(s=new Date(s))}else if(1==t)if(n._xlabels&&n._xlabels.length>0&&r<n._xlabels.length)s=n._xlabels[r];else if(n._xvals&&r<n._xvals.length){s=n._xvals[r];n._xDataType!=wijmo_1.DataType.Date||e||(s=new Date(s))}}null!==s&&e&&(a?0==t?s=this.ax._formatValue(s):1==t&&(s=this.ay._formatValue(s)):0==t?s=this.ay._formatValue(s):1==t&&(s=this.ax._formatValue(s)));return s}get ax(){return this.series.axisX?this.series.axisX:this._chart.axisX}get ay(){return this.series.axisY?this.series.axisY:this._chart.axisY}}exports.HitTestInfo=HitTestInfo;!function(t){t[t.Visible=0]="Visible";t[t.Plot=1]="Plot";t[t.Legend=2]="Legend";t[t.Hidden=3]="Hidden"}(SeriesVisibility=exports.SeriesVisibility||(exports.SeriesVisibility={}));!function(t){t[t.Dot=0]="Dot";t[t.Box=1]="Box"}(Marker=exports.Marker||(exports.Marker={}));class DataArray{}exports.DataArray=DataArray;class SeriesEventArgs extends wijmo_1.EventArgs{constructor(t){super();this._series=wijmo_1.asType(t,SeriesBase)}get series(){return this._series}}exports.SeriesEventArgs=SeriesEventArgs;class SeriesBase{constructor(t){this._altStyle=null;this._symbolMarker=Marker.Dot;this._visibility=SeriesVisibility.Visible;this._interpolateNulls=null;this._cache={};this.rendering=new wijmo_1.Event;this.rendered=new wijmo_1.Event;this.initialize(t)}get interpolateNulls(){return null==this._interpolateNulls?this._chart&&this._chart.interpolateNulls:this._interpolateNulls}set interpolateNulls(t){if(t!=this._interpolateNulls){this._interpolateNulls=wijmo_1.asBoolean(t,!0);this._invalidate()}}get style(){return this._style}set style(t){if(t!=this._style){this._style=t;this._invalidate()}}get altStyle(){return this._altStyle}set altStyle(t){if(t!=this._altStyle){this._altStyle=t;this._invalidate()}}get symbolStyle(){return this._symbolStyle}set symbolStyle(t){if(t!=this._symbolStyle){this._symbolStyle=t;this._invalidate()}}get symbolSize(){return this._symbolSize}set symbolSize(t){if(t!=this._symbolSize){this._symbolSize=wijmo_1.asNumber(t,!0,!0);this._invalidate()}}get symbolMarker(){return this._symbolMarker}set symbolMarker(t){if((t=wijmo_1.asEnum(t,Marker,!0))!=this._symbolMarker){this._symbolMarker=t;this._invalidate()}}get binding(){return this._binding?this._binding:this._chart?this._chart.binding:null}set binding(t){if(t!=this._binding){this._binding=wijmo_1.asString(t,!0);this._clearValues();this._invalidate()}}get bindingX(){return this._bindingX?this._bindingX:this._chart?this._chart.bindingX:null}set bindingX(t){if(t!=this._bindingX){this._bindingX=wijmo_1.asString(t,!0);this._clearValues();this._invalidate()}}get name(){return this._name}set name(t){this._name=t}get itemsSource(){return this._itemsSource}set itemsSource(t){if(t!=this._itemsSource){if(this._cv){this._cv.currentChanged.removeHandler(this._cvCurrentChanged,this);this._cv.collectionChanged.removeHandler(this._cvCollectionChanged,this);this._cv=null}this._itemsSource=t;this._cv=wijmo_1.asCollectionView(t);if(null!=this._cv){this._cv.currentChanged.addHandler(this._cvCurrentChanged,this);this._cv.collectionChanged.addHandler(this._cvCollectionChanged,this)}this._clearValues();this._itemsSource=t;this._invalidate()}}get collectionView(){return this._cv?this._cv:this._chart?this._chart.collectionView:null}get chart(){return this._chart}get hostElement(){return this._hostElement}get legendElement(){return this._legendElement}get cssClass(){return this._cssClass}set cssClass(t){this._cssClass=wijmo_1.asString(t,!0)}get visibility(){return this._visibility}set visibility(t){if((t=wijmo_1.asEnum(t,SeriesVisibility))!=this._visibility){this._visibility=t;this._clearValues();this._invalidate();this._chart&&this._chart.onSeriesVisibilityChanged(new SeriesEventArgs(this))}}get tooltipContent(){return this._tooltipContent}set tooltipContent(t){t!=this._tooltipContent&&(this._tooltipContent=t)}get itemFormatter(){return this._itemFormatter}set itemFormatter(t){if(t!=this._itemFormatter){this._itemFormatter=wijmo_1.asFunction(t);this._invalidate()}}hitTest(t,e){wijmo_1.isNumber(t)&&wijmo_1.isNumber(e)?t=new wijmo_1.Point(t,e):t instanceof MouseEvent&&(t=new wijmo_1.Point(t.pageX,t.pageY));wijmo_1.asType(t,wijmo_1.Point);return this._chart?this._chart._hitTestSeries(t,this._chart.series.indexOf(this)):null}getPlotElement(t){if(this.hostElement&&t<this._pointIndexes.length){const e=this._pointIndexes[t];if(e<this.hostElement.childNodes.length)return this.hostElement.childNodes[e]}return null}get axisX(){return this._axisX}set axisX(t){if(t!=this._axisX){this._axisX=wijmo_1.asType(t,Axis,!0);if(this._axisX){this._axisX._chart=this._chart;const t=this._axisX._chart;t&&-1==t.axes.indexOf(this._axisX)&&t.axes.push(this._axisX)}this._invalidate()}}get axisY(){return this._axisY}set axisY(t){if(t!=this._axisY){this._axisY=wijmo_1.asType(t,Axis,!0);if(this._axisY){this._axisY._chart=this._chart;const t=this._axisY._chart;t&&-1==t.axes.indexOf(this._axisY)&&t.axes.push(this._axisY)}this._invalidate()}}initialize(t){wijmo_1.copy(this,t)}pointToData(t){wijmo_1.asType(t,wijmo_1.Point);(t=t.clone()).x=this._getAxisX().convertBack(t.x);t.y=this._getAxisY().convertBack(t.y);return t}dataToPoint(t){wijmo_1.asType(t,wijmo_1.Point);(t=t.clone()).x=this._getAxisX().convert(t.x);t.y=this._getAxisY().convert(t.y);return t}onRendering(t,e,i){var s=new SeriesRenderingEventArgs(t,e,i);this.rendering.raise(this,s);return s.cancel}onRendered(t){this.rendered.raise(this,new RenderEventArgs(t))}get _chart(){return this.__chart}set _chart(t){t!==this.__chart&&(this.__chart=t)}_getSymbolSize(){return null!=this.symbolSize?this.symbolSize:this.chart.symbolSize}get _plotter(){this.chart&&!this.__plotter&&(this.__plotter=this.chart._getPlotter(this));return this.__plotter}set _plotter(t){t!=this.__plotter&&(this.__plotter=t)}getDataType(t){return 0==t?this._valueDataType:1==t?this._xvalueDataType:null}getValues(t){if(0==t){if(null==this._values){this._valueDataType=null;if(null!=this._cv){const t=this._bindValues(this._cv.items,this._getBinding(0));this._values=t.values;this._valueDataType=t.dataType}else if(null!=this.binding&&null!=this._chart&&null!=this._chart.collectionView){const t=this._bindValues(this._chart.collectionView.items,this._getBinding(0));this._values=t.values;this._valueDataType=t.dataType}}return this._values}if(1==t){if(null==this._xvalues){this._xvalueDataType=null;if(null!=this.bindingX)if(null!=this._cv){const t=this._bindValues(this._cv.items,this.bindingX,!0);this._xvalueDataType=t.dataType;this._xvalues=t.values}else{if(null==this._bindingX)return null;if(null!=this._chart&&null!=this._chart.collectionView){const t=this._bindValues(this._chart.collectionView.items,this.bindingX,!0);this._xvalueDataType=t.dataType;this._xvalues=t.values}}}return this._xvalues}return null}drawLegendItem(t,e,i){var s=this._getChartType();null==s&&(s=this._chart._getChartType());const n=this._getLegendStyle(this.style);s===ChartType.Funnel?this._drawFunnelLegendItem(t,e,i,n,this.symbolStyle):this._drawLegendItem(t,e,s,this.name,n,this.symbolStyle)}_getLegendStyle(t){if(!t)return;const e={};t.fill&&(e.fill=t.fill);t.stroke&&(e.stroke=t.stroke);return e}measureLegendItem(t,e){var i=this._getChartType();null==i&&(i=this._chart._getChartType());return i===ChartType.Funnel?this._measureLegendItem(t,this._getFunnelLegendName(e)):this._measureLegendItem(t,this.name)}legendItemLength(){var t=this._getChartType();null==t&&(t=this._chart._getChartType());return t===ChartType.Funnel?this._chart._xlabels&&this._chart._xlabels.length?this._chart._xlabels.length:this._chart._xvals&&this._chart._xvals.length?this._chart._xvals.length:1:1}getDataRect(t,e){return null}_getChartType(){return this._chartType}_clearValues(){this._values=null;this._xvalues=null;this.__plotter=null;this._cache={}}_getBinding(t){var e=this.binding;if(e){const i=this.chart?this.chart._bindingSeparator:",";if(i){const s=e.split(i);s&&s.length>t&&(e=s[t].trim())}}return e}_getBindingValues(t){if(this._cache[t])return this._cache[t];{let e;null!=this._cv?e=this._cv.items:null!=this._chart&&null!=this._chart.collectionView&&(e=this._chart.collectionView.items);const i=this._bindValues(e,this._getBinding(t));this._cache[t]=i.values;return this._cache[t]}}_getItem(t){var e=null,i=null;null!=this.itemsSource?i=null!=this._cv?this._cv.items:this.itemsSource:null!=this._chart.itemsSource&&(i=null!=this._chart.collectionView?this._chart.collectionView.items:this._chart.itemsSource);null!=i&&(e=i[t]);return e}_getLength(){var t=0,e=null;null!=this.itemsSource?e=null!=this._cv?this._cv.items:this.itemsSource:null!=this._chart.itemsSource&&(e=null!=this._chart.collectionView?this._chart.collectionView.items:this._chart.itemsSource);null!=e&&(t=e.length);return t}_setPointIndex(t,e){this._pointIndexes[t]=e}_getDataRect(){var t=this.getValues(0),e=this.getValues(1);if(t){let i=NaN,s=NaN,n=NaN,r=NaN;const a=t.length;for(let h=0;h<a;h++){const a=t[h];if(wijmo_1.isArray(a)){const t=a,e=Math.min(...t),i=Math.max(...t);if(isNaN(s)){s=e;r=i}else{e<s&&(s=e);i>r&&(r=i)}}else isFinite(a)&&(isNaN(s)?s=r=a:a<s?s=a:a>r&&(r=a));if(e){const t=e[h];isFinite(t)&&(isNaN(i)?i=n=t:t<i?i=t:a>r&&(n=t))}}if(!e){i=0;n=a-1}if(!isNaN(s))return new wijmo_1.Rect(i,s,n-i,r-s)}return null}_isCustomAxisX(){return!!this._axisX&&(!this._chart||this._axisX!=this.chart.axisX)}_isCustomAxisY(){return!!this._axisY&&(!this._chart||this._axisY!=this.chart.axisY)}_getAxisX(){var t=null;this.axisX?t=this.axisX:this.chart&&(t=this.chart.axisX);return t}_getAxisY(){var t=null;this.axisY?t=this.axisY:this.chart&&(t=this.chart.axisY);return t}_measureLegendItem(t,e){var i=new wijmo_1.Size;i.width=SeriesBase._LEGEND_ITEM_WIDTH;i.height=SeriesBase._LEGEND_ITEM_HEIGHT;if(this._name){const s=t.measureString(e,FlexChartCore._CSS_LABEL,FlexChartCore._CSS_LEGEND);i.width+=s.width;i.height<s.height&&(i.height=s.height)}i.width+=3*SeriesBase._LEGEND_ITEM_MARGIN;i.height+=2*SeriesBase._LEGEND_ITEM_MARGIN;return i}_drawFunnelLegendItem(t,e,i,s,n){t.strokeWidth=1;var r=SeriesBase._LEGEND_ITEM_MARGIN,a=null,h=null;null===a&&(a=this._chart._getColorLight(i));null===h&&(h=this._chart._getColor(i));t.fill=a;t.stroke=h;var o=e.top+.5*e.height,l=SeriesBase._LEGEND_ITEM_WIDTH,_=SeriesBase._LEGEND_ITEM_HEIGHT,c=this._getFunnelLegendName(i);t.drawRect(e.left+r,o-.5*_,l,_,null,n||s);null!=c&&FlexChartCore._renderText(t,c,new wijmo_1.Point(e.left+_+2*r,o),0,1,FlexChartCore._CSS_LABEL,FlexChartCore._CSS_LEGEND)}_getFunnelLegendName(t){var e,i=this._chart;if(i._xlabels&&i._xlabels.length&&t<i._xlabels.length)e=i._xlabels[t];else if(i._xvals&&i._xvals.length&&t<i._xvals.length){e=i._xvals[t];i._xDataType===wijmo_1.DataType.Date&&(e=FlexChartCore._fromOADate(e))}null==e&&(e=this.name);return e.toString()}_drawLegendItem(t,e,i,s,n,r){t.strokeWidth=1;var a=SeriesBase._LEGEND_ITEM_MARGIN,h=null,o=null;null===h&&(h=this._chart._getColorLight(this._chart.series.indexOf(this)));null===o&&(o=this._chart._getColor(this._chart.series.indexOf(this)));t.fill=h;t.stroke=o;var l=e.top+.5*e.height,_=SeriesBase._LEGEND_ITEM_WIDTH,c=SeriesBase._LEGEND_ITEM_HEIGHT;switch(i){case ChartType.Area:case ChartType.SplineArea:case ChartType.StepArea:t.drawRect(e.left+a,l-.5*c,_,c,null,n);break;case ChartType.Bar:case ChartType.Column:t.drawRect(e.left+a,l-.5*c,_,c,null,r||n);break;case ChartType.Scatter:case ChartType.Bubble:{const i=.3*_,s=.3*c;this.symbolMarker==Marker.Box?t.drawRect(e.left+a+.5*_-i,l-s,2*i,2*s,null,r||n):t.drawEllipse(e.left+.5*_+a,l,i,s,null,r||n)}break;case ChartType.Line:case ChartType.Spline:case ChartType.Step:t.drawLine(e.left+a,l,e.left+_+a,l,null,n);break;case ChartType.LineSymbols:case ChartType.SplineSymbols:case ChartType.StepSymbols:{const i=.3*_,s=.3*c;this.symbolMarker==Marker.Box?t.drawRect(e.left+a+.5*_-i,l-s,2*i,2*s,null,r||n):t.drawEllipse(e.left+.5*_+a,l,i,s,null,r||n);t.drawLine(e.left+a,l,e.left+_+a,l,null,n)}break;case ChartType.Candlestick:case ChartType.HighLowOpenClose:t.drawLine(e.left+a,l,e.left+_+a,l,null,r||n)}this._name&&FlexChartCore._renderText(t,s,new wijmo_1.Point(e.left+c+2*a,l),0,1,FlexChartCore._CSS_LABEL,FlexChartCore._CSS_LEGEND)}_cvCollectionChanged(t,e){this._clearValues();this._invalidate()}_cvCurrentChanged(t,e){this._chart&&this._chart._notifyCurrentChanged&&this._invalidate()}_bindValues(t,e,i=!1){var s,n,r;if(null!=t){const a=t.length;s=new Array(t.length);const h=e?new wijmo_1.Binding(e):null;for(let e=0;e<a;e++){r=null;let a=t[e];null!=h&&(a=h.getValue(a));if(wijmo_1.isArray(a)&&a.length>0){r=a;a=a[0]}if(wijmo_1.isNumber(a)){s[e]=a;n=wijmo_1.DataType.Number}else if(wijmo_1.isDate(a)){s[e]=a.valueOf();n=wijmo_1.DataType.Date}else if(i&&a){s[e]=e;n=wijmo_1.DataType.Number}wijmo_1.isArray(r)&&r.length>0&&(s[e]=r)}}var a=new DataArray;a.values=s;a.dataType=n;return a}_invalidate(){this._chart&&this._chart.invalidate()}_indexToPoint(t){if(t>=0&&t<this._values.length){const e=this._values[t],i=this._xvalues?this._xvalues[t]:t;return new wijmo_1.Point(i,e)}return null}_getSymbolFill(t){var e=null;this.symbolStyle&&(e=this.symbolStyle.fill);!e&&this.style&&(e=this.style.fill);!e&&this.chart&&(e=this.chart._getColorLight(t));return e}_getSymbolStroke(t){var e=null;this.symbolStyle&&(e=this.symbolStyle.stroke);!e&&this.style&&(e=this.style.stroke);!e&&this.chart&&(e=this.chart._getColor(t));return e}_getAltSymbolStroke(t){var e=null;this.altStyle&&(e=this.altStyle.stroke);return e}_getAltSymbolFill(t){var e=null;this.altStyle&&(e=this.altStyle.fill);return e}_renderLabels(t,e,i,s){this._plotter&&this._plotter._renderLabels(t,this,e,i,s)}}SeriesBase._LEGEND_ITEM_WIDTH=10;SeriesBase._LEGEND_ITEM_HEIGHT=10;SeriesBase._LEGEND_ITEM_MARGIN=4;exports.SeriesBase=SeriesBase;class _BasePlotter{constructor(){this._DEFAULT_WIDTH=2;this._DEFAULT_SYM_SIZE=10;this.clipping=!0}clear(){this.seriesCount=0;this.seriesIndex=0}_renderLabels(t,e,i,s,n){var r=i.length,a=s.dataLabel,h=a.border,o=a.offset,l=a.connectingLine;void 0===o&&(o=l?16:0);h&&(o-=2);for(let h=0;h<r;h++){const r=i[h],l=wijmo_1.asType(r.tag,_DataPoint,!0);l&&!r.ignoreLabel&&this._renderLabel(t,r,l,s,a,e,o,n)}}_renderLabel(t,e,i,s,n,r,a,h){var o,l=null==n.position?LabelPosition.Top:n.position,_=n.border,c=n.connectingLine,d=new HitTestInfo(s,o);d._setDataPoint(i);var u=s._getLabelContent(d,n.content);o=this._getLabelPoint(r,i);this._getPointAndPosition(o,l,e,s);if(s._plotRect.contains(o)){var g=new DataLabelRenderEventArgs(t,d,o,u);if(n.onRendering)if(n.onRendering(g)){u=g.text;o=g.point}else u=null;if(u){const e=this._renderLabelAndBorder(t,u,l,a,o,c,2,_);if(e){const t=new _RectArea(e);t.tag=i;h.push(t)}}t.cssPriority=!0}}_getPointAndPosition(t,e,i,s){if(i instanceof _RectArea){const e=i;s._isRotated()?t.y=e.rect.top+.5*e.rect.height:t.x=e.rect.left+.5*e.rect.width}}_getLabelPoint(t,e){var i=t._getAxisX(),s=t._getAxisY();return new wijmo_1.Point(i.convert(e.dataX),s.convert(e.dataY))}_renderLabelAndBorder(t,e,i,s,n,r,a,h){let o,l=exports.DataLabelClsNames.label,_=exports.DataLabelClsNames.line,c=exports.DataLabelClsNames.border,d=FlexChartCore._CSS_DATA_LABELS;switch(i){case LabelPosition.Top:r&&t.drawLine(n.x,n.y,n.x,n.y-s,_);n.y-=a+s;o=FlexChartCore._renderText(t,e,n,1,2,l,d);break;case LabelPosition.Bottom:r&&t.drawLine(n.x,n.y,n.x,n.y+s,_);n.y+=a+s;o=FlexChartCore._renderText(t,e,n,1,0,l,d);break;case LabelPosition.Left:r&&t.drawLine(n.x,n.y,n.x-s,n.y,_);n.x-=a+s;o=FlexChartCore._renderText(t,e,n,2,1,l,d);break;case LabelPosition.Right:r&&t.drawLine(n.x,n.y,n.x+s,n.y,_);n.x+=a+s;o=FlexChartCore._renderText(t,e,n,0,1,l,d);break;case LabelPosition.Center:o=FlexChartCore._renderText(t,e,n,1,1,l,d)}h&&o&&t.drawRect(o.left-a,o.top-a,o.width+2*a,o.height+2*a,c);return o}getOption(t,e){var i=this.chart._options;e&&(i=i?i[e]:null);if(i&&!wijmo_1.isUndefined(i[t])&&null!==i[t])return i[t]}getNumOption(t,e){var i=this.chart._options;e&&(i=i?i[e]:null);if(i&&i[t])return wijmo_1.asNumber(i[t],!0)}getItemFormatter(t){if(t instanceof SeriesBase){const e=t;return e.itemFormatter?e.itemFormatter:this.chart.itemFormatter}return this.chart.itemFormatter}static cloneStyle(t,e){if(!t)return t;var i={};for(var s in t)e&&e.indexOf(s)>=0||(i[s]=t[s]);return i}isValid(t,e,i,s){return isFinite(t)&&isFinite(e)&&FlexChartCore._contains(this.chart._plotRect,new wijmo_1.Point(t,e))}load(){}unload(){}_createSteps(t,e,i){const s=this.getOption("position","step"),n=i||t.length,r=[],a=[],h=this.chart._isRotated();if("center"==s)if(h)for(let i=0;i<n;i++){const s=0==i?e[i+1]-e[i]:e[i]-e[i-1],h=i==n-1?e[i]-e[i-1]:e[i+1]-e[i];r.push(t[i]);a.push(e[i]-.5*s);r.push(t[i]);a.push(e[i]+.5*h)}else for(let i=0;i<n;i++){const s=0==i?t[i+1]-t[i]:t[i]-t[i-1],h=i==n-1?t[i]-t[i-1]:t[i+1]-t[i];r.push(t[i]-.5*s);a.push(e[i]);r.push(t[i]+.5*h);a.push(e[i])}else if("end"==s)for(let i=0;i<n;i++){if(i>0)if(h){r.push(t[i]);a.push(e[i-1])}else{r.push(t[i-1]);a.push(e[i])}r.push(t[i]);a.push(e[i])}else for(let i=0;i<n;i++){r.push(t[i]);a.push(e[i]);if(i<n-1)if(h){r.push(t[i]);a.push(e[i+1])}else{r.push(t[i+1]);a.push(e[i])}}return{x:r,y:a}}}exports._BasePlotter=_BasePlotter;class Series extends SeriesBase{get chartType(){return this._chartType}set chartType(t){if((t=wijmo_1.asEnum(t,ChartType,!0))!=this._chartType){this._chartType=t;this._invalidate()}}}exports.Series=Series;class FlexPie extends FlexChartBase{constructor(t,e){super(t,null,!0);this._areas=[];this._keywords=new _KeyWords;this._startAngle=0;this._innerRadius=0;this._offset=0;this._reversed=!1;this._isAnimated=!1;this._selectedItemPosition=Position.None;this._selectedItemOffset=0;this._pieGroups=[];this._rotationAngles=[];this._centers=[new wijmo_1.Point];this._selectedOffset=new wijmo_1.Point;this._selectedIndex=-1;this._angles=[];this._colRowLens=[];this._titles=void 0;this._values=[];this._labels=[];this._pels=[];this._sum=0;this._sums=[];this._bindingSeparator=",";this.applyTemplate(`${wijmo_1.ControlClsNames.hostElement} ${exports.FlexChartClsNames.hostElement} ${exports.FlexPieClsNames.hostElement}`,null,null);this._currentRenderEngine=new _SvgRenderEngine(this.hostElement);this._legend=new Legend(this);this._tooltip=new ChartTooltip;this._tooltip.content="<b>{name}</b><br/>{value}";this._tooltip.showDelay=0;this._lbl=new PieDataLabel;this._lbl._chart=this;this.addEventListener(this.hostElement,"mousemove",t=>{var e=this._tooltip;if(e.content&&!this.isTouching){const i=this.hitTest(t,void 0,!0);if(i.distance<=e.threshold){const e=this._getLabelContent(i,this.tooltip.content);this._showToolTip(e,new wijmo_1.Rect(t.clientX,t.clientY,5,5))}else this._hideToolTip()}});this.addEventListener(this.hostElement,"click",t=>{var e=!0;if(this.selectionMode==SelectionMode.Point){const i=this.hitTest(t);let s=FlexChartBase._SELECTION_THRESHOLD;this.tooltip&&this.tooltip.threshold&&(s=this.tooltip.threshold);if(i.distance<=s){i.pointIndex!=this._selectionIndex&&this.selectedItemPosition!=Position.None&&(e=!1);i.pointIndex!=this._selectionIndex&&this._select(i.pointIndex,!0)}else this._selectedIndex>=0&&this._select(null)}if(e&&this.isTouching){const e=this._tooltip;if(e.content){const i=this.hitTest(t,void 0,!0);if(i.distance<=e.threshold){const e=this._getLabelContent(i,this.tooltip.content);this._showToolTip(e,new wijmo_1.Rect(t.clientX,t.clientY,5,5))}else this._hideToolTip()}}});this.addEventListener(this.hostElement,"mouseleave",t=>{this._hideToolTip()});this.deferUpdate(()=>this.initialize(e))}get binding(){return this._binding}set binding(t){if(t!=this._binding){this._binding=wijmo_1.asString(t,!0);this._bindChart()}}get bindingName(){return this._bindingName}set bindingName(t){if(t!=this._bindingName){this._bindingName=wijmo_1.asString(t,!0);this._bindChart()}}get startAngle(){return this._startAngle}set startAngle(t){if(t!=this._startAngle){this._startAngle=wijmo_1.asNumber(t,!0);this.invalidate()}}get offset(){return this._offset}set offset(t){if(t!=this._offset){this._offset=wijmo_1.asNumber(t,!0);this.invalidate()}}get innerRadius(){return this._innerRadius}set innerRadius(t){if(t!=this._innerRadius){this._innerRadius=wijmo_1.asNumber(t,!0);this.invalidate()}}get innerTextStyle(){return this._innerTextStyle}set innerTextStyle(t){if(t!=this._innerText){this._innerTextStyle=t;this.invalidate()}}get innerText(){return this._innerText}set innerText(t){if(t!=this._innerText){this._innerText=t;this.invalidate()}}get reversed(){return this._reversed}set reversed(t){if(t!=this._reversed){this._reversed=wijmo_1.asBoolean(t,!0);this.invalidate()}}get selectedItemPosition(){return this._selectedItemPosition}set selectedItemPosition(t){if((t=wijmo_1.asEnum(t,Position,!0))!=this._selectedItemPosition){this._selectedItemPosition=t;this.invalidate()}}get selectedItemOffset(){return this._selectedItemOffset}set selectedItemOffset(t){if(t!=this._selectedItemOffset){this._selectedItemOffset=wijmo_1.asNumber(t,!0);this.invalidate()}}get isAnimated(){return this._isAnimated}set isAnimated(t){t!=this._isAnimated&&(this._isAnimated=t)}get tooltip(){return this._tooltip}get dataLabel(){return this._lbl}set dataLabel(t){if(t!=this._lbl){this._lbl=t;this._lbl&&(this._lbl._chart=this)}}get selectedIndex(){return this._selectedIndex}set selectedIndex(t){if(t!=this._selectedIndex){const e=wijmo_1.asNumber(t,!0);this._select(e,!0)}}get titles(){return this._titles}set titles(t){if(t!==this._titles){this._titles=t;this.invalidate()}}get chartsPerLine(){return this._chartsPerLine}set chartsPerLine(t){if(t!=this._chartsPerLine){this._chartsPerLine=wijmo_1.asNumber(t,!0,!0);this.invalidate()}}_getLabelsForLegend(){return this._labels}hitTest(t,e,i){var s=this._toControl(t,e),n=new HitTestInfo(this,s),r=null;if(FlexChartBase._contains(this._rectHeader,s))n._chartElement=ChartElement.Header;else if(FlexChartBase._contains(this._rectFooter,s))n._chartElement=ChartElement.Footer;else if(FlexChartBase._contains(this._rectLegend,s)){n._chartElement=ChartElement.Legend;null!==(r=this.legend._hitTest(s))&&r>=0&&r<this._areas.length&&n._setData(null,r)}else if(FlexChartBase._contains(this._rectChart,s)){this._hitTestData(n,s,i);n._chartElement=ChartElement.ChartArea}else n._chartElement=ChartElement.None;return n}_hitTestData(t,e,i){var s,n=this._areas.length,r=NaN;for(let a=0;a<n;a++){const n=e.clone(),h=this._areas[a],o=this._rotationAngles[h.gi];if(0!=o){const t=this._centers[h.gi],e=t.x,i=t.y,s=-e+n.x,r=-i+n.y,a=Math.sqrt(s*s+r*r),l=Math.atan2(r,s)-o*Math.PI/180;n.x=e+a*Math.cos(l);n.y=i+a*Math.sin(l)}if(a==this._selectedIndex){n.x-=this._selectedOffset.x;n.y-=this._selectedOffset.y}const l=this._areas[a];if(l.contains(n)){if(!0===i){r=0;s=l;continue}t._setDataGroup(h.gi,l.tag);t._dist=0;if(a!=this._selectedIndex)break}const _=l.distance(n);if(void 0!==_&&(isNaN(r)||_<r||!0===i&&this._isSmallSegment(_,s,l))){r=_;s=l}}if(0!==t._dist&&null!=s){t._setDataGroup(s.gi,s.tag);t._dist=r}}_isSmallSegment(t,e,i){return t<=.5*this.tooltip.threshold&&Math.abs(i.sweep)<=.035&&Math.abs(e.sweep/i.sweep)>=10}_performBind(){this._initData();if(this._cv){this._selectionIndex=this._cv.currentPosition;const t=this._cv.items;if(t){const e=t.length,i=this._getBindings();for(let t=0;t<i.length;t++){this._values[t]=[];this._sums[t]=0}for(let s=0;s<e;s++){const e=t[s];for(let t=0;t<i.length;t++)this._sums[t]+=Math.abs(this._getBindData(e,this._values[t],0==t?this._labels:null,i[t],this.bindingName))}}}}_getBindings(){let t=[];const e=this.binding;if(e){const i=this._bindingSeparator;i&&(t=e.split(i))}return t}_initData(){this._sum=0;this._sums=[];this._values=[];this._labels=[]}_getBindData(t,e,i,s,n){var r,a=0;const h=s?new wijmo_1.Binding(s):null;h&&(r=h.getValue(t));a=0;wijmo_1.isNumber(r)?a=wijmo_1.asNumber(r):r&&(a=parseFloat(r.toString()));if(!isNaN(a)&&isFinite(a))e.push(a);else{a=0;e.push(a)}const o=n?new wijmo_1.Binding(n):null;if(i)if(o&&t){let e=o.getValue(t);e&&(e=e.toString());i.push(e)}else i.push(a.toString());return a}_render(t,e=!0,i=null){this._selectionAnimationID&&clearInterval(this._selectionAnimationID);this.onRendering(new RenderEventArgs(t));super._render(t,e,i)}_prepareRender(){this._areas=[]}_renderChart(t,e,i){var s=this._rectChart.clone(),n=(new wijmo_1.Size(s.width,s.height),e.width),r=e.height,a=this._parseMargin(this.plotMargin),h=this.dataLabel,o=h.content&&h.position==PieLabelPosition.Outside,l=o?(wijmo_1.isNumber(h.offset)?h.offset:0)+24:0;isNaN(a.left)&&(a.left=o?l:FlexPie._MARGIN);isNaN(a.right)&&(a.right=o?l:FlexPie._MARGIN);isNaN(a.top)&&(a.top=o?l:FlexPie._MARGIN);isNaN(a.bottom)&&(a.bottom=o?l:FlexPie._MARGIN);e.top+=a.top;r=e.height-(a.top+a.bottom);e.height=r>0?r:24;e.left+=a.left;n=e.width-(a.left+a.right);e.width=n>0?n:24;const _=this._getBindings();let c=this.titles;void 0===c&&_.length>1&&(c=_);const d=this._layout(t,e,c,_.length);this._angles=[];this._pels=[];this._pieGroups=[];this._rotationAngles=[];for(let e=0;e<_.length;e++){const i=d[e];c&&e<c.length&&c[e]&&FlexChartBase._renderText(t,c[e],new wijmo_1.Point(i.left+.5*i.width,i.top),1,2,FlexPie._CSS_GROUP_TITLE);const s=t.startGroup(exports.FlexPieClsNames.sliceGroup,null,!0);this._pieGroups.push(s);this._renderData(t,i,e,s);t.endGroup();this._rotationAngles.push(0)}this._highlightCurrent();this.innerText&&this._renderInnerText(t);this.dataLabel.content&&this.dataLabel.position!=PieLabelPosition.None&&this._renderLabels(t);this.onRendered(new RenderEventArgs(t))}_layout(t,e,i,s){let n=0,r=s,a=1,h=0;if(i)for(let e=0;e<i.length;e++)h=Math.max(h,t.measureString(i[e],FlexPie._CSS_GROUP_TITLE).height);const o=Math.floor(this.chartsPerLine);if(o>0){r=Math.min(s,o);a=Math.ceil(s/r);const t=Math.floor(e.width/r),i=Math.floor(e.height/a)-h;n=Math.min(t,i)}else for(let t=1;t<=s;t++){const i=Math.floor((s+(t-1))/t);let o=Math.floor(e.width/t),l=Math.floor(e.height/i);l-=h;l<o&&(o=l);if(o>n){n=o;r=t;a=i}}const l=[],_=.5*(e.width-n*r),c=.5*(e.height-(n+h)*a);for(let t=0;t<a;t++)for(let i=0;i<r;i++)l.push(new wijmo_1.Rect(e.left+n*i+8+_,e.top+(n+h)*t+8+c+h,n-16,n-16));return l}_getDesiredLegendSize(t,e,i,s){var n=new wijmo_1.Size,r=(new wijmo_1.Size(i,s),this._getLabelsForLegend()),a=r.length,h=0,o=0;this.legend.scrollbar;this._colRowLens=[];for(let l=0;l<a;l++){const a=this._measureLegendItem(t,r[l]);if(e){if(o+a.height>s&&!this.legend.scrollbar){n.height=s;this._colRowLens.push(h);h=0;o=0}h<a.width&&(h=a.width);o+=a.height}else{if(h+a.width>i&&!this.legend.scrollbar){n.width=i;this._colRowLens.push(o);o=0;h=0}o<a.height&&(o=a.height);h+=a.width}}if(e){n.height<o&&(n.height=o);this._colRowLens.push(h);n.width=this._colRowLens.reduce((t,e)=>t+e,0)}else{n.width<h&&(n.width=h);this._colRowLens.push(o);n.height=this._colRowLens.reduce((t,e)=>t+e,0)}return n}_renderLegend(t,e,i,s,n,r){var a=new wijmo_1.Rect(e.x,e.y,n,r),h=this._getLabelsForLegend(),o=h.length,l=0,_=e.clone();for(let n=0;n<o;n++){const r=this._measureLegendItem(t,h[n]);if(s){if(_.y+r.height>a.bottom+1&&!this.legend.scrollbar){_.x+=this._colRowLens[l];l++;_.y=e.y}}else if(_.x+r.width>a.right+1&&!this.legend.scrollbar){_.y+=this._colRowLens[l];l++;_.x=e.x}const o=new wijmo_1.Rect(_.x,_.y,r.width,r.height);this._drawLegendItem(t,o,n,h[n]);i.push(o);s?_.y+=r.height:_.x+=r.width}}_renderData(t,e,i,s){var n=this._sums[i],r=this.startAngle+180,a=this.innerRadius,h=this.offset;a>1&&(a=1);if(n>0){let s=r*Math.PI/180,n=e.left+.5*e.width,o=e.top+.5*e.height,l=Math.min(.5*e.width,.5*e.height);this._centers[i]=new wijmo_1.Point(n,o);const _=Math.max(h,this.selectedItemOffset);if(_>0){l/=1+_;h*=l}this._radius=l;const c=a*l;this._renderPie(t,i,l,c,s,h)}}_renderPie(t,e,i,s,n,r){this._renderSlices(t,this._values[e],this._sums[e],e,i,s,n,2*Math.PI,r)}_getCenter(){return this._centers[0]}_renderSlices(t,e,i,s,n,r,a,h,o){var l,_,c,d=e.length,u=0,g=a,m=1==this.reversed,p=this._centers[s];for(let t=0;t<d;t++)e[t]>0&&u++;var f=1===u?360:359.9/360;for(let a=0;a<d;a++){_=p.x;c=p.y;l=t.startGroup(exports.FlexPieClsNames.slice);t.fill=this._getColorLight(a);t.stroke=this._getColor(a);const d=Math.abs(e[a]);let u=Math.abs(d-i)<1e-10?h:h*d/i;u=Math.min(u,h*f);const x=m?g-.5*u:g+.5*u;if(o>0&&u<h){_+=o*Math.cos(x);c+=o*Math.sin(x)}this._renderSlice(t,_,c,x,s,a,n,r,g,u,h);m?g-=u:g+=u;t.endGroup();this._pels.push(l)}}_renderSlice(t,e,i,s,n,r,a,h,o,l,_){var c=!!this.reversed;this._angles.push(s);if(this.itemFormatter){const _=new HitTestInfo(this,new wijmo_1.Point(e+a*Math.cos(s),i+a*Math.sin(s)),ChartElement.SeriesSymbol);_._setData(null,r);this.itemFormatter(t,_,()=>{this._drawSlice(t,n,r,c,e,i,a,h,o,l)});t.cssPriority=!0}else this._drawSlice(t,n,r,c,e,i,a,h,o,l)}_getSelectedItemOffset(t,e){var i=0,s=0,n=0;t==this._selectedIndex&&this.selectedItemOffset>0&&(n=this.selectedItemOffset);if(n>0){i=Math.cos(e)*n*this._radius;s=Math.sin(e)*n*this._radius}return{x:i,y:s}}_renderInnerText(t){const e=this.innerText,i=this.innerTextStyle;for(let s=0;s<this._centers.length;s++){const n=this._centers[s];let r;r=wijmo_1.isFunction(e)?e(s):wijmo_1.isArray(e)?wijmo_1.asString(e[s]):wijmo_1.asString(e);if(r){r=wijmo_1.format(r,{total:this._sums[s],binding:this._getBindings()[s]});i&&(t.cssPriority=!1);FlexPie._renderText(t,r,n,1,1,FlexChartBase._CSS_TITLE,null,i);t.cssPriority=!0}}}_renderLabels(t){var e,i=this._areas.length,s=this.dataLabel,n=s.position,r=exports.DataLabelClsNames.labels,a=exports.DataLabelClsNames.label,h=exports.DataLabelClsNames.border,o=exports.DataLabelClsNames.line,l=this._rotationAngles,_=s.connectingLine,c=s.offset?s.offset:0;t.stroke="null";t.fill="transparent";t.strokeWidth=1;t.startGroup(r);for(let r=0;r<i;r++){const i=this._areas[r];if(i){let d=i.radius,u=i.langle+l[i.gi],g=1,m=1;if(n==PieLabelPosition.Center||n===PieLabelPosition.Radial||n===PieLabelPosition.Circular)d*=.5*(1+(i.innerRadius||0)/i.radius);else{u=_Math.clampAngle(u);if(u<=-170||u>=170){g=2;m=1}else if(u>=-100&&u<=-80){g=1;m=2}else if(u>=-10&&u<=10){g=0;m=1}else if(u>=80&&u<=100){g=1;m=0}else if(-180<u&&u<-90){g=2;m=2}else if(-90<=u&&u<0){g=0;m=2}else if(0<u&&u<90){g=0;m=0}else if(90<u&&u<180){g=2;m=0}if(n==PieLabelPosition.Inside){g=2-g;m=2-m}}u*=Math.PI/180;const p=i.gi?r-i.gi*this._values[0].length:r,f=this._getSelectedItemOffset(p,u),x=f.x,w=f.y;let b=d;n==PieLabelPosition.Outside?b+=c:n==PieLabelPosition.Inside&&(b-=c);let y=i.center.x,S=i.center.y;const v=this._centers[i.gi],C=y-v.x,M=S-v.y;if(0!=this._rotationAngles[i.gi]){const t=Math.sqrt(C*C+M*M),e=Math.atan2(M,C)+this._rotationAngles[i.gi]*Math.PI/180;y=v.x+t*Math.cos(e);S=v.y+t*Math.sin(e)}let T=new wijmo_1.Point(y+x+b*Math.cos(u),S+w+b*Math.sin(u));if(s.border&&n!=PieLabelPosition.Center){0==g?T.x+=2:2==g&&(T.x-=2);0==m?T.y+=2:2==m&&(T.y-=2)}const P=new HitTestInfo(this,T);P._setDataGroup(i.gi,i.tag);let A=this._getLabelContent(P,s.content);const L=new DataLabelRenderEventArgs(t,P,T,A);if(s.onRendering)if(s.onRendering(L)){A=L.text;T=L.point}else A=null;if(A){let i=180*Math.atan2(S-T.y,y-T.x)/Math.PI;i=(i+360)%360;if(n===PieLabelPosition.Radial||n===PieLabelPosition.Circular){if(n===PieLabelPosition.Radial)i>90&&i<270&&(i+=180);else{i>180&&i<360&&(i+=180);i-=90}(e=FlexChartBase._renderRotatedText(t,A,T,g,m,T,i,a).getBBox()).left=e.x;e.top=e.y}else e=FlexChartBase._renderText(t,A,T,g,m,a);s.border&&t.drawRect(e.left-2,e.top-2,e.width+4,e.height+4,h);if(_){const e=new wijmo_1.Point(y+x+d*Math.cos(u),S+w+d*Math.sin(u));t.drawLine(T.x,T.y,e.x,e.y,o)}}t.cssPriority=!0}}t.endGroup()}_drawSlice(t,e,i,s,n,r,a,h,o,l){var _;if(s)if(h>0){0!=l&&t.drawDonutSegment(n,r,a,h,o-l,l);(_=new _DonutSegment(new wijmo_1.Point(n,r),a,h,o-l,l,this.startAngle)).tag=i;this._areas.push(_)}else{0!=l&&t.drawPieSegment(n,r,a,o-l,l);(_=new _PieSegment(new wijmo_1.Point(n,r),a,o-l,l,this.startAngle)).tag=i;this._areas.push(_)}else{if(h>0){0!=l&&t.drawDonutSegment(n,r,a,h,o,l);(_=new _DonutSegment(new wijmo_1.Point(n,r),a,h,o,l,this.startAngle)).tag=i;this._areas.push(_)}else{0!=l&&t.drawPieSegment(n,r,a,o,l);(_=new _PieSegment(new wijmo_1.Point(n,r),a,o,l,this.startAngle)).tag=i;this._areas.push(_)}o+=l}_&&(_.gi=e)}_measureLegendItem(t,e){var i=new wijmo_1.Size;i.width=Series._LEGEND_ITEM_WIDTH;i.height=Series._LEGEND_ITEM_HEIGHT;if(e){const s=t.measureString(e,FlexChartBase._CSS_LABEL,FlexChartBase._CSS_LEGEND);i.width+=s.width;i.height<s.height&&(i.height=s.height)}i.width+=3*Series._LEGEND_ITEM_MARGIN;i.height+=2*Series._LEGEND_ITEM_MARGIN;return i}_drawLegendItem(t,e,i,s){t.strokeWidth=1;var n=Series._LEGEND_ITEM_MARGIN,r=null,a=null;null===r&&(r=this._getColorLight(i));null===a&&(a=this._getColor(i));t.fill=r;t.stroke=a;var h=e.top+.5*e.height,o=Series._LEGEND_ITEM_WIDTH,l=Series._LEGEND_ITEM_HEIGHT;t.drawRect(e.left+n,h-.5*l,o,l,null);null!=s&&FlexChartBase._renderText(t,s.toString(),new wijmo_1.Point(e.left+l+2*n,h),0,1,FlexChartBase._CSS_LABEL)}_getLabelContent(t,e){return wijmo_1.isString(e)?this._keywords.replace(e,t):wijmo_1.isFunction(e)?e(t):null}_select(t,e=!1){this._highlight(!1,this._selectionIndex);this._selectionIndex=t;if(this.selectionMode==SelectionMode.Point){const e=this._cv;if(e){this._notifyCurrentChanged=!1;e.moveCurrentToPosition(t);this._notifyCurrentChanged=!0}}if(null==t){this._selectedIndex=-1;this.invalidate()}else if(this.isAnimated&&this.selectedItemPosition!=Position.None||!(this.selectedItemOffset>0||this.selectedItemPosition!=Position.None))this._highlight(!0,this._selectionIndex,e);else{this._selectedIndex=t;this.invalidate()}this.onSelectionChanged()}_highlightCurrent(){if(this.selectionMode!=SelectionMode.None){let t=-1;const e=this._cv;e&&(t=e.currentPosition);this._highlight(!0,t)}}_highlight(t,e,i=!1){if(this.selectionMode==SelectionMode.Point&&null!=e&&e>=0)if(t){const n=[];for(let r=0;r<this._pieGroups.length;r++){const a=this._pels[e+r*this._values[0].length];if(a){a.parentNode.appendChild(a);var s=this._find(a,["ellipse"]);this._highlightItems(this._find(a,["path","ellipse"]),FlexChartBase._CSS_SELECTION,t)}const h=this._angles[e+r*this._values[0].length];if(this.selectedItemPosition!=Position.None&&0!=h){let t=0;this.selectedItemPosition==Position.Left?t=180:this.selectedItemPosition==Position.Top?t=-90:this.selectedItemPosition==Position.Bottom&&(t=90);let e=t*Math.PI/180-h;e*=180/Math.PI;if(i&&this.isAnimated)n.push(e);else{this._rotationAngles[r]=e;this._pieGroups[r].transform.baseVal.getItem(0).setRotate(e,this._centers[r].x,this._centers[r].y)}}const o=this.selectedItemOffset;if(o>0&&s&&0==s.length){this._selectedOffset.x=Math.cos(h)*o*this._radius;const t=this._selectedOffset.x;this._selectedOffset.y=Math.sin(h)*o*this._radius;const e=this._selectedOffset.y;a&&a.setAttribute("transform",`translate(${t.toFixed()},${e.toFixed()})`)}this._selectedIndex=e}n.length>0&&this._animateSelectionAngle(n,.5)}else{for(let i=0;i<this._pieGroups.length;i++){const s=this._pels[e+i*this._values[0].length];if(s){s.parentNode.insertBefore(s,s.parentNode.childNodes.item(e));s.removeAttribute("transform");this._highlightItems(this._find(s,["path","ellipse"]),FlexChartBase._CSS_SELECTION,t)}}this._selectedIndex==e&&(this._selectedIndex=-1)}}_animateSelectionAngle(t,e){var i=this._pieGroups;this._selectionAnimationID&&clearInterval(this._selectionAnimationID);this._selectionAnimationID=wijmo_1.animate(e=>{if(i==this._pieGroups){for(let s=0;s<i.length;s++){let n=_Math.clampAngle(this._rotationAngles[s]);const r=_Math.clampAngle(t[s])-n,a=n;this._rotationAngles[s]=n=a+r*e;i[s].transform.baseVal.getItem(0).setRotate(n,this._centers[s].x,this._centers[s].y)}1==e&&clearInterval(this._selectionAnimationID);e>.99&&(this.selectedItemOffset>0||this.selectedItemPosition!=Position.None)&&this.invalidate()}},1e3*e)}_getHitTestItem(t){var e=null,i=null;(e=null!=this._cv?this._cv.items:this.itemsSource)&&t<e.length&&(i=e[t]);return i}_getHitTestValue(t,e){null==e&&(e=0);return this._values[e][t]}_getHitTestLabel(t){return this._labels[t]}}FlexPie._MARGIN=4;FlexPie._CSS_GROUP_TITLE=exports.FlexChartClsNames.label;exports.FlexPie=FlexPie;class _Math{static clampAngle(t,e=0){var i=(t+180)%360-180;i<-180+(e<0?e+360:e)&&(i+=360);return i}}class _PieSegment{constructor(t,e,i,s,n=0){this._isFull=!1;this._center=t;this._radius=e;this._originAngle=i;this._originSweep=s;s>=2*Math.PI&&(this._isFull=!0);this._sweep=.5*s*180/Math.PI;this._angle=_Math.clampAngle(180*i/Math.PI+this._sweep);this._radius2=e*e;this._startAngle=n}contains(t){var e=t.x-this._center.x,i=t.y-this._center.y;if(e*e+i*i<=this._radius2){const t=180*Math.atan2(i,e)/Math.PI,s=_Math.clampAngle(this._angle,this._startAngle)-_Math.clampAngle(t,this._startAngle);if(this._isFull||Math.abs(s)<=this._sweep)return!0}return!1}distance(t){if(this.contains(t))return 0;var e=t.x-this._center.x,i=t.y-this._center.y,s=e*e+i*i,n=180*Math.atan2(i,e)/Math.PI,r=_Math.clampAngle(this._angle,this._startAngle)-_Math.clampAngle(n,this._startAngle);if(this._isFull||Math.abs(r)<=this._sweep)return Math.sqrt(s)-this._radius;const a=this.center.clone();a.x+=this.radius*Math.cos(this._originAngle);a.y+=this.radius*Math.sin(this._originAngle);const h=this.center.clone();h.x+=this.radius*Math.cos(this._originAngle+this._originSweep);h.y+=this.radius*Math.sin(this._originAngle+this._originSweep);const o=FlexChartCore._dist(t,this.center,a),l=FlexChartCore._dist(t,this.center,h);return Math.min(o,l)}get center(){return this._center}get radius(){return this._radius}get langle(){return this._angle}get angle(){return this._originAngle}get sweep(){return this._originSweep}}exports._PieSegment=_PieSegment;class _DonutSegment{constructor(t,e,i,s,n,r=0){this._isFull=!1;this._center=t;this._radius=e;this._iradius=i;this._originAngle=s;this._originSweep=n;n>=2*Math.PI&&(this._isFull=!0);this._sweep=.5*n*180/Math.PI;this._angle=_Math.clampAngle(180*s/Math.PI+this._sweep);this._radius2=e*e;this._iradius2=i*i;this._startAngle=r}contains(t){var e=t.x-this._center.x,i=t.y-this._center.y,s=e*e+i*i;if(s>=this._iradius2&&s<=this._radius2){const t=180*Math.atan2(i,e)/Math.PI,s=_Math.clampAngle(this._angle,this._startAngle)-_Math.clampAngle(t,this._startAngle);if(this._isFull||Math.abs(s)<=this._sweep)return!0}return!1}distance(t){if(this.contains(t))return 0;const e=this.center.clone();e.x+=this.radius*Math.cos(this._originAngle);e.y+=this.radius*Math.sin(this._originAngle);const i=this.center.clone();i.x+=this._iradius*Math.cos(this._originAngle);i.y+=this._iradius*Math.sin(this._originAngle);const s=this.center.clone();s.x+=this.radius*Math.cos(this._originAngle+this._originSweep);s.y+=this.radius*Math.sin(this._originAngle+this._originSweep);const n=this.center.clone();n.x+=this._iradius*Math.cos(this._originAngle+this._originSweep);n.y+=this._iradius*Math.sin(this._originAngle+this._originSweep);const r=FlexChartCore._dist(t,e,i),a=FlexChartCore._dist(t,s,n);return Math.min(r,a)}get center(){return this._center}get radius(){return this._radius}get langle(){return this._angle}get angle(){return this._originAngle}get sweep(){return this._originSweep}get innerRadius(){return this._iradius}}exports._DonutSegment=_DonutSegment;!function(t){t[t.X=0]="X";t[t.Y=1]="Y"}(AxisType=exports.AxisType||(exports.AxisType={}));!function(t){t[t.Auto=0]="Auto";t[t.Show=1]="Show"}(OverlappingLabels=exports.OverlappingLabels||(exports.OverlappingLabels={}));!function(t){t[t.None=0]="None";t[t.Outside=1]="Outside";t[t.Inside=2]="Inside";t[t.Cross=3]="Cross"}(TickMark=exports.TickMark||(exports.TickMark={}));!function(t){t[t.None=0]="None";t[t.Show=1]="Show";t[t.ShowGrid=2]="ShowGrid"}(AxisGroupsDisplay=exports.AxisGroupsDisplay||(exports.AxisGroupsDisplay={}));class Axis{constructor(t){this._GRIDLINE_WIDTH=1;this._LINE_WIDTH=1;this._TICK_WIDTH=1;this._TICK_HEIGHT=4;this._TICK_OVERLAP=1;this._TICK_LABEL_DISTANCE=4;this._minorGrid=!1;this._isMinimumAuto=!0;this._isMaximumAuto=!0;this._labels=!0;this._isTimeAxis=!1;this._labelPadding=5;this._actualLabels=[];this._labelMin=!1;this._labelMax=!1;this.rangeChanged=new wijmo_1.Event;this._customConvert=null;this._customConvertBack=null;this.__uniqueId=Axis._id++;t==Position.BottomLeft||t==Position.BottomRight||t==Position.TopLeft||t==Position.TopRight||t==Position.LeftTop||t==Position.LeftBottom||t==Position.RightTop||t==Position.RightBottom?this._position=void 0:this._position=t;this._position==Position.Bottom||this._position==Position.Top?this._axisType=AxisType.X:this._position!=Position.Left&&this._position!=Position.Right||(this._axisType=AxisType.Y);this._minorTickMarks=TickMark.None;this._overlap=OverlappingLabels.Auto}get hostElement(){return this._hostElement}get actualMin(){return this._isTimeAxis?new Date(this._actualMin):this._actualMin}get actualMax(){return this._isTimeAxis?new Date(this._actualMax):this._actualMax}get min(){return this._min}set min(t){if(t!=this._min){this._isMinimumAuto=!1;wijmo_1.isDate(t)?this._min=wijmo_1.asDate(t,!0):this._min=wijmo_1.asNumber(t,!0);this._invalidate()}}get max(){return this._max}set max(t){if(t!=this._max){this._isMaximumAuto=!1;wijmo_1.isDate(t)?this._max=wijmo_1.asDate(t,!0):this._max=wijmo_1.asNumber(t,!0);this._invalidate()}}get reversed(){return this._reversed}set reversed(t){if(this._reversed!=t){this._reversed=wijmo_1.asBoolean(t);this._invalidate()}}get position(){return this._position}set position(t){if((t=wijmo_1.asEnum(t,Position,!1))!=this._position){t==Position.BottomLeft||t==Position.BottomRight||t==Position.TopLeft||t==Position.TopRight||t==Position.LeftTop||t==Position.LeftBottom||t==Position.RightTop||t==Position.RightBottom?this._position=this._axisType==AxisType.X?Position.Bottom:this._axisType==AxisType.Y?Position.Left:void 0:this._position=t;this._position==Position.Bottom||this._position==Position.Top?null==this._axisType?this._axisType=AxisType.X:this._axisType==AxisType.Y&&(this._position=Position.Left):this._position!=Position.Left&&this._position!=Position.Right||(null==this._axisType?this._axisType=AxisType.Y:this._axisType==AxisType.X&&(this._position=Position.Bottom));this._invalidate()}}get majorUnit(){return this._majorUnit}set majorUnit(t){if(t!=this._majorUnit){this._majorUnit=wijmo_1.asNumber(t,!0);this._invalidate()}}get minorUnit(){return this._minorUnit}set minorUnit(t){if(t!=this._minorUnit){this._minorUnit=wijmo_1.asNumber(t,!0);this._invalidate()}}get name(){return this._name}set name(t){t!=this._name&&(this._name=wijmo_1.asString(t,!0))}get title(){return this._title}set title(t){if(t!=this._title){this._title=wijmo_1.asString(t,!0);this._invalidate()}}get format(){return this._format}set format(t){if(t!=this._format){this._format=wijmo_1.asString(t,!0);this._invalidate()}}get majorGrid(){return this._majorGrid}set majorGrid(t){if(t!=this._majorGrid){this._majorGrid=wijmo_1.asBoolean(t,!0);this._invalidate()}}get majorTickMarks(){return this._majorTickMarks}set majorTickMarks(t){if((t=wijmo_1.asEnum(t,TickMark,!0))!=this._majorTickMarks){this._majorTickMarks=t;this._invalidate()}}get minorGrid(){return this._minorGrid}set minorGrid(t){if(t!=this._minorGrid){this._minorGrid=wijmo_1.asBoolean(t,!0);this._invalidate()}}get minorTickMarks(){return this._minorTickMarks}set minorTickMarks(t){if((t=wijmo_1.asEnum(t,TickMark,!0))!=this._minorTickMarks){this._minorTickMarks=t;this._invalidate()}}get axisLine(){return void 0===this._axisLine?this.axisType==AxisType.X:this._axisLine}set axisLine(t){if(t!=this._axisLine){this._axisLine=wijmo_1.asBoolean(t,!0);this._invalidate()}}get labels(){return this._labels}set labels(t){if(t!=this._labels){this._labels=wijmo_1.asBoolean(t,!0);this._invalidate()}}get labelAlign(){return this._labelAlign}set labelAlign(t){if(t!=this._labelAlign){this._labelAlign=wijmo_1.asString(t,!0);this._invalidate()}}get labelAngle(){return this._labelAngle}set labelAngle(t){if(t!=this._labelAngle){this._labelAngle=wijmo_1.asNumber(t,!0);this._invalidate()}}get labelMin(){return this._labelMin}set labelMin(t){if(t!=this._labelMin){this._labelMin=wijmo_1.asBoolean(t,!0);this._invalidate()}}get labelMax(){return this._labelMax}set labelMax(t){if(t!=this._labelMax){this._labelMax=wijmo_1.asBoolean(t,!0);this._invalidate()}}get origin(){return this._origin}set origin(t){if(t!=this._origin){this._origin=wijmo_1.asNumber(t,!0);this._invalidate()}}get overlappingLabels(){return this._overlap}set overlappingLabels(t){if((t=wijmo_1.asEnum(t,OverlappingLabels,!0))!=this._overlap){this._overlap=t;this._invalidate()}}get itemsSource(){return this._items}set itemsSource(t){if(this._items!=t){if(this._cv){this._cv.collectionChanged.removeHandler(this._cvCollectionChanged,this);this._cv=null}this._items=t;this._cv=wijmo_1.asCollectionView(t);null!=this._cv&&this._cv.collectionChanged.addHandler(this._cvCollectionChanged,this)}}get binding(){return this._binding}set binding(t){if(t!=this._binding){this._binding=wijmo_1.asString(t,!0);this._invalidate()}}get itemFormatter(){return this._ifmt}set itemFormatter(t){if(this._ifmt!=t){this._ifmt=wijmo_1.asFunction(t,!0);this._invalidate()}}get logBase(){return this._logBase}set logBase(t){if(t!=this._logBase){this._logBase=wijmo_1.asNumber(t,!0,!0);this._invalidate()}}get groupsOptions(){return this._groupsOptions}set groupsOptions(t){if(t!=this._groupsOptions){this._groupsOptions=t;this._invalidate()}}get axisLabels(){return this._actualLabels}_getLogBase(){return this._chart&&this._chart._stacking===Stacking.Stacked100pc?0:this.logBase}_isLogAxis(){const t=this._getLogBase();return null!=t&&t>0}get plotArea(){return this._parea}set plotArea(t){if(t!=this._parea){this._parea=wijmo_1.asType(t,PlotArea,!0);this._invalidate()}}get labelPadding(){return this._labelPadding}set labelPadding(t){if(t!=this._labelPadding){this._labelPadding=wijmo_1.asNumber(t,!0,!0);this._invalidate()}}get _groupClass(){return this.axisType===AxisType.X?FlexChartCore._CSS_AXIS_X:FlexChartCore._CSS_AXIS_Y}onRangeChanged(t){this.rangeChanged.raise(this,t)}_getPosition(){if(this.axisType==AxisType.X){if(this.position==Position.Auto)return Position.Bottom}else if(this.axisType==AxisType.Y&&this.position==Position.Auto)return Position.Left;return this.position}_isOverlapped(t,e,i,s){var n=this._lbls;if(null!=n&&n.length>1){const s=n.length,r=this._values&&this._values.length==s?this._values:null;let a=0,h=0;for(let o=0;o<s;o++){const s=r?r[o]:o;if(s>=this._actualMin&&s<=this._actualMax){const r=e*(s-this._actualMin)/(this._actualMax-this._actualMin),l=t.measureString(n[o],i,this._groupClass);if(this.axisType==AxisType.X){if(o>0&&Math.abs(r-a)<.5*(l.width+h))return!0;a=r;h=l.width}else this.axisType,AxisType.Y}}}return!1}_getHeight(t,e){this._actualAngle=null;const i=FlexChartCore._CSS_LABEL,s=FlexChartCore._CSS_TITLE;let n=.1*this._getActualRange();const r=this._lbls;let a=this.labelAngle;if(this.labels&&this._chart._getChartType()!==ChartType.Funnel){n=this._updateAutoFormat(n);if(null!=r&&r.length>0){const s=r.length,n=this._values&&this._values.length==s?this._values:null;this._annoSize=new wijmo_1.Size;for(let e=0;e<s;e++){const s=n?n[e]:e;if(s>=this._actualMin&&s<=this._actualMax){let n=r[e],a=i;if(this.itemFormatter){const e=this._getFormattedItem(t,s,n,new wijmo_1.Point,i,!0);n=e.text;a=e.cls}const h=t.measureString(n,a,this._groupClass);this.axisType,AxisType.X,h.width>this._annoSize.width&&(this._annoSize.width=h.width);h.height>this._annoSize.height&&(this._annoSize.height=h.height)}}null==a&&this.axisType==AxisType.X&&(this._isOverlapped(t,Math.max(10,e-this._annoSize.width),i,this.axisType)?a=this._actualAngle=-45:this._actualAngle=0)}else if(wijmo_1.isNumber(this.majorUnit)&&this._axisType===AxisType.Y&&this.itemFormatter){const e=[],s=[];this._annoSize=new wijmo_1.Size;this._getAutoLbsAndVals(e,s);for(let e=0;e<s.length;e++){const n=s[e];let r=this._formatValue(n),a=i;r=this._getFormattedItem(t,n,r,new wijmo_1.Point,i,!0).text;a=i;const h=t.measureString(r,a,this._groupClass);h.width>this._annoSize.width&&(this._annoSize.width=h.width);h.height>this._annoSize.height&&(this._annoSize.height=h.height)}}else{let e=this._actualMin-n,s=this._formatValue(e),r=i;if(this.itemFormatter){s=this._getFormattedItem(t,e,s,new wijmo_1.Point,i,!0).text;r=i}let a=t.measureString(s,r,this._groupClass);this._annoSize=a;e=this._actualMax+n;s=this._formatValue(e);r=i;if(this.itemFormatter){s=this._getFormattedItem(t,e,s,new wijmo_1.Point,i,!0).text;r=i}a=t.measureString(s,r,this._groupClass);a.width>this._annoSize.width&&(this._annoSize.width=a.width);a.height>this._annoSize.height&&(this._annoSize.height=a.height)}this._annoSizeBase=new wijmo_1.Size(this._annoSize.width,this._annoSize.height);if(a){a>90?a=90:a<-90&&(a=-90);const t=a*Math.PI/180,e=this._annoSize.width,i=this._annoSize.height;this._annoSize.width=e*Math.abs(Math.cos(t))+i*Math.abs(Math.sin(t));this._annoSize.height=e*Math.abs(Math.sin(t))+i*Math.abs(Math.cos(t));this._actualAngle=a}}else{this._annoSize=new wijmo_1.Size(8,8);this._annoSizeBase=new wijmo_1.Size(this._annoSize.width,this._annoSize.height)}let h=0;if(this.labels){h=2*(this._labelPadding||5);this._axisType==AxisType.X?h+=this._annoSize.height:h+=this._annoSize.width+this._TICK_LABEL_DISTANCE+2}const o=this._TICK_HEIGHT;let l=this._TICK_OVERLAP,_=this.majorTickMarks;_==TickMark.Outside?l=1:_==TickMark.Inside?l=-1:_==TickMark.Cross&&(l=0);null==_&&(_=TickMark.Outside);_!=TickMark.None&&(h+=.5*(1+l)*o);if(this._title){const e=this._title;this._szTitle=t.measureString(e,s,this._groupClass);h+=this._szTitle.height}else this._szTitle=void 0;if(this._lbls&&this.groupsOptions&&this.groupsOptions.display!==AxisGroupsDisplay.None){this._groupsPanel||(this._groupsPanel=new _AxisGroups(this));this._groupsPanel.createGroups();h+=this._groupsPanel.getHeight(t)}t.fontSize=null;return h}_updateAutoFormat(t){if(this._isTimeAxis){const e=this.format,i=.001*this._getActualRange()/10,s=new _timeSpan(i*_timeSpan.TicksPerSecond),n=wijmo_1.isNumber(this._majorUnit)?_timeSpan.fromDays(this._majorUnit):_timeHelper.NiceTimeSpan(s,e);e||(this._tfmt=_timeHelper.GetTimeDefaultFormat(1e3*n.TotalSeconds,0));t=n.TotalSeconds}return t}_getActualRange(){return this._actualMax-this._actualMin}_updateActualLimitsByChartType(t,e,i){if(t&&t.length>0&&!this._isTimeAxis){const t=this._chart._getChartType();if(t!=ChartType.Column&&t!=ChartType.Bar){e-=.5;i+=.5}}return{min:e,max:i}}_updateActualLimits(t,e,i,s=null,n=null){var r=this._actualMin,a=this._actualMax;this._isTimeAxis=t==wijmo_1.DataType.Date;var h=this._updateActualLimitsByChartType(s,e,i);e=h.min;i=h.max;var o=this._min,l=this._max;wijmo_1.isDate(o)&&(o=o.valueOf());wijmo_1.isDate(l)&&(l=l.valueOf());let _=this._getSeries(),c=this._chart&&(null!=_&&void 0!==_._getChartType()||this._chart._stacking!==Stacking.Stacked100pc);c||(c=this._chart._isRotated()?this.axisType==AxisType.Y:this.axisType==AxisType.X);this._actualMin=null!=o&&c?o:e;const d=this._actualMin;this._actualMax=null!=l&&c?l:i;if(d==this._actualMax)if(void 0!==o&&void 0===l)this._actualMax+=1;else if(void 0===o&&void 0!==l)this._actualMin-=1;else if(0===d)this._actualMax=1;else{const t=Math.abs(d);if(t<1){this._actualMin-=t;this._actualMax+=t}else{this._actualMin-=1;this._actualMax+=1}}if(this._getLogBase()>0){const t=this.logBase,e=Math.log(t);if(!this._max){const i=Math.ceil(Math.log(this._actualMax)/e);this._actualMax=Math.pow(t,i)}if(!this._min){const i=Math.floor(Math.log(this._actualMin)/e);this._actualMin=Math.pow(t,i)}(this._actualMin<=0||!wijmo_1.isNumber(this._actualMin))&&(this._actualMin=1);this._actualMax<this._actualMin?this._actualMax=this._actualMin+1:this._actualMax===this._actualMin&&(this._actualMin=.1*this._actualMax)}(r!=this._actualMin&&(wijmo_1.isNumber(r)||wijmo_1.isNumber(this._actualMin))||a!=this._actualMax&&(wijmo_1.isNumber(a)||wijmo_1.isNumber(this._actualMax)))&&this.onRangeChanged();if(this._items){this._values=[];this._lbls=[];const t=this._items.length;let e="value",i="text";if(this.binding){const t=this.binding.split(",");if(2==t.length){e=t[0];i=t[1]}}for(let s=0;s<t;s++){const t=this._items[s],n=t[e];if(wijmo_1.isNumber(n)){this._values.push(n);this._lbls.push(t[i])}else if(wijmo_1.isDate(n)){this._values.push(n.getTime());this._lbls.push(t[i])}}}else{this._lbls=s;this._values=n}}_layout(t,e){var i=this.axisType==AxisType.Y;this._plotrect=e;this._axrect=i?new wijmo_1.Rect(t.left,t.top,t.height,t.width):t;this._groupsPanel&&this._groupsPanel.layout()}_hasVisibileSeries(){for(var t,e=this._chart.series,i=0,s=e.length;i<s;i++)if((t=e[i].visibility)==SeriesVisibility.Plot||t==SeriesVisibility.Visible)return!0;return!1}_getSeries(){if(this._chart){let t=this._chart.series,e=0,i=t.length;for(;e<i;e++)if(t[e].axisY==this||t[e].axisX==this)return t[e]}return null}_render(t){if(this.position==Position.None)return;if(!this._hasVisibileSeries())return;this.axisLabels.length=0;this._vals={};var e=0;this.labelAngle&&((e=this.labelAngle)>90?e=90:e<-90&&(e=-90));null==this.labelAngle&&null!=this._actualAngle&&(e=this._actualAngle);var i=FlexChartCore._FG;let s=[],n=!1;var r=this._getActualRange();if(wijmo_1.isNumber(r)){let r=[];this._rects=[];this._vals.major=s;this._vals.hasLbls=[];if(this._lbls&&this._lbls.length>0){r=this._lbls;if(0==this._values.length){n=!0;for(let t=0;t<r.length;t++)s.push(t)}else s=this._values}else this._getAutoLbsAndVals(r,s);const a=Math.min(s.length,r.length);t.textFill=i;const h=this._TICK_HEIGHT;let o=this._TICK_OVERLAP,l=this.majorTickMarks;null==l&&(l=TickMark.Outside);l==TickMark.Outside?o=1:l==TickMark.Inside?o=-1:l==TickMark.Cross&&(o=0);const _=.5*(o-1)*h,c=.5*(1+o)*h;if(this._isTimeAxis&&a>=2){if(s[1]-s[0]>864e5){null==this._min&&(this._actualMin=_timeHelper.FloorDay(this._actualMin));null==this._max&&(this._actualMax=_timeHelper.CeilDay(this._actualMax))}}for(let i=0;i<a;i++){let a=!0;const h=s[i],o=r[i];let d=this.labels;d&&(n||this.itemsSource)&&this.majorUnit&&i%this.majorUnit!=0&&(d=!1);if(h>=this._actualMin&&h<=this._actualMax){const s=t.textFill;a=this._renderLabelsAndTicks(t,i,h,o,e,l,d,_,c);t.textFill=s}this._vals.hasLbls.push(a);a&&this.axisLabels.push(o)}}(this.minorGrid||this.minorTickMarks!=TickMark.None)&&this._renderMinor(t,s,n);t.stroke=i;t.fontSize=null;this._renderLineAndTitle(t);this._lbls&&this.groupsOptions&&this.groupsOptions.display!==AxisGroupsDisplay.None&&this._groupsPanel&&this._groupsPanel.render(t);t.stroke=null;t.fontSize=null;t.textFill=null;t.strokeWidth=null}_getAutoLbsAndVals(t,e){var i=this._actualMax-this._actualMin,s=this._calcMajorUnit();0==s&&(s=.1*this._niceTickNumber(i));var n=Math.floor(this._actualMin/s)*s;n<this._actualMin&&(n+=s);var r=Math.min(Axis.MAX_MAJOR,Math.floor(i/s)+1);if(this._isTimeAxis){this._createTimeLabels(n,r,e,t);this._addMinMaxLabels(e,t)}else if(this._getLogBase()){this._createLogarithmicLabels(this._actualMin,this._actualMax,this.majorUnit,e,t,!0);this._addMinMaxLabels(e,t)}else{this._createLabels(n,r,s,e,t);this._addMinMaxLabels(e,t)}}_renderLineAndTitle(t){var e=this._getPosition(),i=this.axisType==AxisType.Y,s=e!=Position.Top&&e!=Position.Right,n=FlexChartCore._CSS_TITLE,r=FlexChartCore._CSS_LINE;if(i)if(s){if(this._title){const e=new wijmo_1.Point(this._axrect.left+.5*this._szTitle.height,this._axrect.top+.5*this._axrect.height);FlexChartCore._renderRotatedText(t,this._title,e,1,1,e,-90,n,this._groupClass)}this.axisLine&&t.drawLine(this._axrect.right,this._axrect.top,this._axrect.right,this._axrect.bottom,r)}else{if(this._title){const e=new wijmo_1.Point(this._axrect.right-.5*this._szTitle.height,this._axrect.top+.5*this._axrect.height);FlexChartCore._renderRotatedText(t,this._title,e,1,1,e,90,n,this._groupClass)}this.axisLine&&t.drawLine(this._axrect.left,this._axrect.top,this._axrect.left,this._axrect.bottom,r)}else if(s){this.axisLine&&t.drawLine(this._axrect.left,this._axrect.top,this._axrect.right,this._axrect.top,r);this._title&&FlexChartCore._renderText(t,this._title,new wijmo_1.Point(this._axrect.left+.5*this._axrect.width,this._axrect.bottom),1,2,n)}else{this.axisLine&&t.drawLine(this._axrect.left,this._axrect.bottom,this._axrect.right,this._axrect.bottom,r);this._title&&FlexChartCore._renderText(t,this._title,new wijmo_1.Point(this._axrect.left+.5*this._axrect.width,this._axrect.top),1,0,n)}}_renderMinor(t,e,i){var s=this._getPosition(),n=this.axisType==AxisType.Y,r=s!=Position.Top&&s!=Position.Right;this._getLogBase()?this._createLogarithmicMinors(t,e,n,r,i):this._createMinors(t,e,n,r,i)}_renderRotatedText(t,e,i,s,n,r,a,h,o,l,_){if(this.itemFormatter){const n=this._getFormattedItem(t,e,i,s,o);if(n){i=n.text;o=n.cls}else i=null}FlexChartCore._renderRotatedText(t,i,s,n,r,a,h,o,l,_)}_getFormattedItem(t,e,i,s,n,r=!1){if(this.itemFormatter){const a=s.clone();this._plotrect&&(this.axisType==AxisType.X?this.position==Position.Top?a.y=this._plotrect.top:a.y=this._plotrect.bottom:this.position==Position.Right?a.x=this._plotrect.right:a.x=this._plotrect.left);let h={val:e,text:i,pos:a,cls:n};r&&(t.readOnly=!0);h=this.itemFormatter(t,h);r&&(t.readOnly=!1);return h}}_renderLabelsAndTicks(t,e,i,s,n,r,a,h,o){var l=this._getPosition(),_=!1,c=this.axisType==AxisType.Y,d=l!=Position.Top&&l!=Position.Right,u=this.labelPadding||5,g=this._TICK_WIDTH,m=this._getLabelAlign(c),p=FlexChartCore._CSS_LABEL,f=FlexChartCore._CSS_GRIDLINE,x=FlexChartCore._CSS_TICK,w=FlexChartCore._FG,b=FlexChartCore._FG,y=this._GRIDLINE_WIDTH,S=i!=this._actualMin&&this.majorGrid;if(c){const e=this.convert(i);if(S){t.stroke=w;t.strokeWidth=y;t.drawLine(this._plotrect.left,e,this._plotrect.right,e,f)}t.stroke=b;t.strokeWidth=g;if(d){if(a){_=!0;const r=new wijmo_1.Point(this._axrect.right-o-this._TICK_LABEL_DISTANCE-u,e);n>0?90==n?this._renderRotatedText(t,i,s,r,1,0,r,n,p,this._groupClass):this._renderRotatedText(t,i,s,r,2,1,r,n,p,this._groupClass):n<0?-90==n?this._renderRotatedText(t,i,s,r,1,2,r,n,p,this._groupClass):this._renderRotatedText(t,i,s,r,2,1,r,n,p,this._groupClass):_=this._renderLabel(t,i,s,r,2,m,p)}r!=TickMark.None&&_&&t.drawLine(this._axrect.right-h,e,this._axrect.right-o,e,x)}else{if(a){_=!0;const r=new wijmo_1.Point(this._axrect.left+o+this._TICK_LABEL_DISTANCE+u,e);n>0?90==n?this._renderRotatedText(t,i,s,r,1,2,r,n,p,this._groupClass):this._renderRotatedText(t,i,s,r,0,1,r,n,p,this._groupClass):n<0?-90==n?this._renderRotatedText(t,i,s,r,1,0,r,n,p,this._groupClass):this._renderRotatedText(t,i,s,r,0,1,r,n,p,this._groupClass):_=this._renderLabel(t,i,s,r,0,m,p)}r!=TickMark.None&&_&&t.drawLine(this._axrect.left+h,e,this._axrect.left+o,e,x)}}else{let e=this.convert(i);if(S&&a){t.stroke=w;t.strokeWidth=y;t.drawLine(e,this._plotrect.top,e,this._plotrect.bottom,f)}this.overlappingLabels==OverlappingLabels.Auto&&this._xCross(e)&&(a=!1);t.stroke=b;t.strokeWidth=g;if(d){if(a){const r=new wijmo_1.Point(e,this._axrect.top+o+u);_=0!=n?this._renderRotatedLabel(t,i,s,r,m,n,p,d):this._renderLabel(t,i,s,r,m,0,p)}if(r!=TickMark.None&&_){e=this.convert(i);t.drawLine(e,this._axrect.top+h,e,this._axrect.top+o,x)}}else{if(a){const r=new wijmo_1.Point(e,this._axrect.bottom-o-u);_=0!=n?this._renderRotatedLabel(t,i,s,r,m,n,p,d):this._renderLabel(t,i,s,r,m,2,p)}if(r!=TickMark.None&&_){e=this.convert(i);t.drawLine(e,this._axrect.bottom-h,e,this._axrect.bottom-o,x)}}}return _}_xCross(t){var e=this._rects.length;for(let i=0;i<e;i++){const e=this._rects[i];if(t>=e.left&&t<=e.right)return!0}return!1}_createMinors(t,e,i,s,n){if(e){const r=this.majorUnit?this._isTimeAxis?24*this.majorUnit*3600*1e3:this.majorUnit:e.length>1?e[1]-e[0]:e[0],a=wijmo_1.isNumber(this.minorUnit)?this._isTimeAxis?24*this.minorUnit*3600*1e3:this.minorUnit:.5*r;if(a<=0)return;const h=[];for(let t=e[0];t>this._actualMin&&h.length<Axis.MAX_MINOR;t-=a)-1==e.indexOf(t)&&h.push(t);for(let t=e[0]+a;t<this._actualMax&&h.length<Axis.MAX_MINOR;t+=a)(-1==e.indexOf(t)||n&&this.majorUnit&&t%this.majorUnit!=0)&&h.push(t);this._renderMinors(t,h,i,s)}}_createLogarithmicMinors(t,e,i,s,n){if(e&&(!this.minorUnit||this.minorUnit<this._getLogBase())){let n=this.logBase;this.majorUnit>n&&(n=this.majorUnit);if(0==e.length){const t=Math.log(n),i=Math.floor(Math.log(this._actualMin)/t),s=Math.ceil(Math.log(this.actualMax)/t);if(this.majorUnit>0){e.push(Math.pow(n,i));e.push(Math.pow(n,s))}else{e.push(Math.pow(n,s));e.push(Math.pow(n,i))}}this.minorUnit||(this.minorUnit=n-1<1?.2*(n-1):.2*n);const r=[];if(this.majorUnit>0){for(let t=e[0]-e[0]/n*this.minorUnit;t>=this._actualMin&&r.length<Axis.MAX_MINOR;t-=e[0]/n*this.minorUnit)r.push(t);for(let t=0;t<e.length-1;t++)for(let i=e[t]+e[t]*this.minorUnit;i<e[t+1]&&r.length<Axis.MAX_MINOR;i+=e[t]*this.minorUnit)i>=this._actualMin&&i<=this._actualMax&&r.push(i);for(let t=e[e.length-1]+e[e.length-1]*this.minorUnit;t<=this._actualMax&&r.length<Axis.MAX_MINOR;t+=e[e.length-1]*this.minorUnit)r.push(t)}else{for(let t=e[e.length-1]-e[e.length-1]/n*this.minorUnit;t>=this._actualMin&&r.length<Axis.MAX_MINOR;t-=e[e.length-1]/n*this.minorUnit)r.push(t);for(let t=0;t<e.length-1;t++)for(let i=e[t]-e[t+1]*this.minorUnit;i>e[t+1]&&r.length<Axis.MAX_MINOR;i-=e[t+1]*this.minorUnit)i>=this._actualMin&&i<=this._actualMax&&r.push(i);for(let t=e[0]+e[0]*this.minorUnit;t<=this._actualMax&&r.length<Axis.MAX_MINOR;t+=e[0]*this.minorUnit)r.push(t)}this._renderMinors(t,r,i,s)}}_renderMinors(t,e,i,s){var n=this._TICK_HEIGHT,r=this._TICK_WIDTH,a=this._TICK_OVERLAP,h=FlexChartCore._FG,o=this.minorTickMarks,l=!0;this._vals.minor=e;o==TickMark.Outside?a=1:o==TickMark.Inside?a=-1:o==TickMark.Cross?a=0:l=!1;var _=.5*(a-1)*n,c=.5*(1+a)*n,d=e?e.length:0,u=this.minorGrid,g=this._plotrect,m=this._GRIDLINE_WIDTH,p=FlexChartCore._FG,f=FlexChartCore._CSS_GRIDLINE_MINOR,x=FlexChartCore._CSS_TICK_MINOR;for(let n=0;n<d;n++)if(e[n]>=this.actualMin&&e[n]<=this.actualMax)if(i){const i=this.convert(e[n]);if(l){t.stroke=h;t.strokeWidth=r;s?t.drawLine(this._axrect.right-_,i,this._axrect.right-c,i,x):t.drawLine(this._axrect.left+_,i,this._axrect.left+c,i,x)}if(u){t.stroke=p;t.strokeWidth=m;t.drawLine(g.left,i,g.right,i,f)}}else{const i=this.convert(e[n]);if(l){t.stroke=h;t.strokeWidth=r;s?t.drawLine(i,this._axrect.top+_,i,this._axrect.top+c,x):t.drawLine(i,this._axrect.bottom-_,i,this._axrect.bottom-c,x)}if(u){t.stroke=p;t.strokeWidth=m;t.drawLine(i,g.top,i,g.bottom,f)}}}_renderLabel(t,e,i,s,n,r,a){var h=!1;if(this.itemFormatter){const n=this._getFormattedItem(t,e,i,s,a);if(n){i=n.text;a=n.cls}else i=null}if(i){const e=this._rects,o=this.overlappingLabels==OverlappingLabels.Auto&&!wijmo_1.isNumber(this._actualAngle),l=FlexChartCore._renderText(t,i,s,n,r,a,this._groupClass,null,t=>{if(o){const i=e.length;for(let s=0;s<i;s++)if(FlexChartCore._intersects(e[s],t))return!1}return!0});if(l){l.left+=4;l.width+=8;e.push(l);h=!0}}return h}_renderRotatedLabel(t,e,i,s,n,r,a,h){if(this.itemFormatter){const n=this._getFormattedItem(t,e,i,s,a);if(n){i=n.text;a=n.cls}else i=null}if(i){const e=t.measureString(i,a,this._groupClass),o=.5*e.height,l=.5*e.width*Math.abs(Math.sin(r*Math.PI/180)),_=.5*e.width,c=.5*(e.width*Math.abs(Math.cos(r*Math.PI/180))+e.height*Math.abs(Math.sin(r*Math.PI/180))),d=new wijmo_1.Point(s.x,s.y),u=new wijmo_1.Point(s.x,s.y);this.labelAlign||(n=90==r||-90==r?1:h?r>0?0:2:r>0?2:0);if(h){s.y+=o+l;d.y+=o+l-.5*e.height}else{s.y-=o+l-e.height;d.y-=o+l-.5*e.height}let g=0;if(2===n){d.x-=c;s.x-=_+c;g=d.x+c-e.height-2}else if(0===n){d.x+=c;s.x-=_-c;g=d.x-c}else{s.x-=_;g=d.x-e.height/2}const m=new wijmo_1.Rect(g,u.y,e.height+2,e.width),p=this._rects;if(this.overlappingLabels==OverlappingLabels.Auto){const t=p.length;for(let e=0;e<t;e++)if(FlexChartCore._intersects(p[e],m))return!1}FlexChartCore._renderRotatedText(t,i,s,0,2,d,r,a,this._groupClass);this._rects.push(m);return!0}return!1}_getLabelAlign(t){var e=1;if(this.labelAlign){const i=this.labelAlign.toLowerCase();t?"top"==i?e=0:"bottom"==i&&(e=2):"left"==i?e=0:"right"==i&&(e=2)}return e}_addMinMaxLabels(t,e){if(this.labelMin){const i=this.actualMin;if(isFinite(i)&&!t.includes(i)){e.splice(0,0,this._formatValue(i));t.splice(0,0,i)}}if(this.labelMax){const i=this.actualMax;if(isFinite(i)&&!t.includes(i)){e.splice(0,0,this._formatValue(i));t.splice(0,0,i)}}}convert(t,e,i){var s=null==e?this._actualMax:e,n=null==i?this._actualMin:i;if(s==n||!this._axrect)return 0;var r=this._axrect.left,a=this._axrect.width,h=this._axrect.top,o=this._axrect.height;if(null!=this._customConvert){const e=this._customConvert(t,n,s);return this.axisType==AxisType.Y?h+e*o:r+e*a}if(this._getLogBase()){if(t<=0)return NaN;const e=Math.log(s/n);return this._reversed?this.axisType==AxisType.Y?h+Math.log(t/n)/e*o:r+a-Math.log(t/n)/e*a:this.axisType==AxisType.Y?h+o-Math.log(t/n)/e*o:r+Math.log(t/n)/e*a}return this._reversed?this.axisType==AxisType.Y?h+(t-n)/(s-n)*o:r+a-(t-n)/(s-n)*a:this.axisType==AxisType.Y?h+o-(t-n)/(s-n)*o:r+(t-n)/(s-n)*a}convertBack(t){if(this._actualMax==this._actualMin)return 0;var e=this._plotrect.left,i=this._plotrect.width,s=this._plotrect.top,n=this._plotrect.height,r=this._getActualRange(),a=this._getLogBase();if(null!=this._customConvertBack)return this.axisType==AxisType.Y?this._customConvertBack((t-s)/n,this._actualMin,this._actualMax):this._customConvertBack((t-e)/i,this._actualMin,this._actualMax);if(a){let r=0;r=this._reversed?this.axisType==AxisType.Y?(t-s)/n:1-(t-e)/i:this.axisType==AxisType.Y?1-(t-s)/n:(t-e)/i;return Math.pow(a,(Math.log(this._actualMin)+(Math.log(this._actualMax)-Math.log(this._actualMin))*r)/Math.log(a))}return this._reversed?this.axisType==AxisType.Y?this._actualMin+(t-s)*r/n:this._actualMin+(e+i-t)*r/i:this.axisType==AxisType.Y?this._actualMax-(t-s)*r/n:this._actualMin+(t-e)*r/i}get axisType(){var t=this._chart;if(t){if(t.axisX==this)return AxisType.X;if(t.axisY==this)return AxisType.Y}return this._axisType}_getMinNum(){return this._actualMin}_getMaxNum(){return this._actualMax}_getTitleSize(){return this._szTitle?this._szTitle:new wijmo_1.Size}_invalidate(){this._chart&&this._chart.invalidate()}_cvCollectionChanged(t,e){this._invalidate()}_createLabels(t,e,i,s,n){for(let r=0;r<e;r++){const e=(t+i*r).toFixed(14),a=parseFloat(e),h=this._formatAxisValue(a),o=n.indexOf(h);if(o>=0&&!wijmo_1.isNumber(this.majorUnit)&&!this._format){const t=parseFloat(h);Math.abs(t-a)<Math.abs(t-s[o])&&(s[o]=a)}else{s.push(a);n.push(h)}}}_createLogarithmicLabels(t,e,i,s,n,r){var a=this._getLogBase(),h=Math.log(a),o=Math.floor(Math.log(t)/h),l=Math.ceil(Math.log(e)/h),_=a,c=!0;if(i>0){c=!1;_=i}_<a&&(_=a);var d=(l-o+1)*a/_,u=1;if(r){const t=this._getPosition(),e=this._getAnnoNumber(t==Position.Left||t==Position.Right);d>e?u=Math.floor(d/e+1):c&&(d<=.2*e?_=.2*a:d<=.1*e&&(_=.1*a))}for(let i=o;i<=l;i+=u)if(c){const r=Math.pow(a,i);for(let i=0;i*_<a-1;i++){const a=r*(1+i*_);if(a>=t&&a<=e)if(0==i){s.unshift(a);n&&n.unshift(this._formatValue(a))}else if(!this.minorGrid&&this.minorTickMarks==TickMark.None){s.push(a);n&&n.push(this._formatValue(a))}}}else{const r=Math.pow(_,i);if(r>=t&&r<=e){s.push(r);n&&n.push(this._formatValue(r))}}}_createTimeLabels(t,e,i,s){var n=this._actualMin,r=this._actualMax,a=new Date(n),h=new Date(r),o=this._format,l=this._getAnnoNumber(this._axisType==AxisType.Y);l>10&&(l=10);var _=.001*(this._actualMax-this._actualMin)/l,c=new _timeSpan(_*_timeSpan.TicksPerSecond),d=wijmo_1.isNumber(this._majorUnit)?_timeSpan.fromDays(this._majorUnit):_timeHelper.NiceTimeSpan(c,o);o||(this._tfmt=o=_timeHelper.GetTimeDefaultFormat(1e3*d.TotalSeconds,0));var u=d.Ticks,g=_timeHelper.RoundTime(n,d.TotalDays,!1);isFinite(g)&&(n=g);var m=_timeHelper.RoundTime(r,d.TotalDays,!0);isFinite(m)&&(r=m);var p=new Date(n);new Date(r);if(d.TotalDays>=365&&!wijmo_1.isNumber(this._majorUnit)){(p=new Date(a.getFullYear(),0,1))<a&&p.setFullYear(p.getFullYear()+1);let t=d.TotalDays/365;t-=t%1;for(let e=p;e<=h&&t;e.setFullYear(e.getFullYear()+t)){const t=e.valueOf();i.push(t);s.push(this._formatValue(t))}}else if(d.TotalDays>=30&&!wijmo_1.isNumber(this._majorUnit)){(p=new Date(a.getFullYear(),a.getMonth(),1))<a&&p.setMonth(p.getMonth()+1);let t=d.TotalDays/30;t-=t%1;for(let e=p;e<=h;e.setMonth(e.getMonth()+t)){const t=e.valueOf();i.push(t);s.push(this._formatValue(t))}}else{let t=1e3*u/_timeSpan.TicksPerSecond,e=p,n=a.getTime()-e.getTime();n>t&&(e=new Date(e.getTime()+Math.floor(n/t)*t));for(;e<=h&&t;e=new Date(e.getTime()+t)){const t=e.valueOf();i.push(t);s.push(this._formatValue(t))}}}_formatValue(t){if(this._isTimeAxis)return this._format?wijmo_1.Globalize.format(new Date(t),this._format):wijmo_1.Globalize.format(new Date(t),this._tfmt);if(this._format)return wijmo_1.Globalize.format(t,this._format);{const e=t==Math.round(t)?"n0":"n";return wijmo_1.Globalize.format(t,e)}}_hitTest(t){return this._groupsPanel?this._groupsPanel.hitTest(t):void 0}_formatAxisValue(t,e){if(this._isTimeAxis)return this._format?wijmo_1.Globalize.format(new Date(t),this._format):wijmo_1.Globalize.format(new Date(t),this._tfmt);if(this._format)return wijmo_1.Globalize.format(t,this._format);if(wijmo_1.isNumber(t)){const i=this._findFormat(t,e);return wijmo_1.Globalize.format(t,i)}return t}_findFormat(t,e){var i=t==Math.round(t)?"n0":"n";void 0!==e&&(i+=e.toString());if("n"==i){const s=t.toFixed(14),n=s.search(".");if(n>=0){e=1;for(let t=s.length-1;t>=n;t--)if("0"!=s[t]){e=t-n-1;break}i+=e.toString()}}return i}_calcMajorUnit(){var t=this._majorUnit;if(!wijmo_1.isNumber(t)){const e=this._getActualRange(),i=this._nicePrecision(e),s=e/this._getAnnoNumber(this.axisType==AxisType.Y);(t=this._niceNumber(2*s,-i,!0))<s&&(t=this._niceNumber(s,1-i,!1));t<s&&(t=this._niceTickNumber(s))>s&&(t*=.5)}return t}_getAnnoNumber(t){var e=t?this._annoSizeBase&&this._annoSizeBase.height:this._annoSize&&this._annoSize.width,i=t?this._axrect&&this._axrect.height:this._axrect&&this._axrect.width;if(e>0&&i>0){let t=Math.floor(i/(e+6));t<=0&&(t=1);return t}return 10}_nicePrecision(t){if(!wijmo_1.isNumber(t)||t<=0)return 0;var e,i=Math.log(t)/Math.LN10;e=i>=0?Math.floor(i):Math.ceil(i);var s=t/Math.pow(10,e);if(s<3){e=1-e;(s=t/Math.pow(10,e))<3&&(e+=1)}return e}_niceTickNumber(t){if(0==t)return t;t<0&&(t=-t);var e=Math.log(t)/Math.LN10,i=Math.floor(e),s=t/Math.pow(10,i),n=10;s<=1?n=1:s<=2?n=2:s<=5&&(n=5);return n*Math.pow(10,i)}_niceNumber(t,e,i){if(0==t)return t;t<0&&(t=-t);var s=t/Math.pow(10,e),n=10;i?s<1.5?n=1:s<3?n=2:s<4.5?n=4:s<7&&(n=5):s<=1?n=1:s<=2?n=2:s<=5&&(n=5);return n*Math.pow(10,e)}get _uniqueId(){return this.__uniqueId}}Axis.MAX_MAJOR=1e3;Axis.MAX_MINOR=2e3;Axis._id=0;exports.Axis=Axis;class AxisCollection extends wijmo_1.ObservableArray{getAxis(t){var e=this.indexOf(t);return e>-1?this[e]:null}indexOf(t){for(let e=0;e<this.length;e++)if(this[e].name==t)return e;return-1}}exports.AxisCollection=AxisCollection;!function(t){t[t.tickf7=-7]="tickf7";t[t.tickf6=-6]="tickf6";t[t.tickf5=-5]="tickf5";t[t.tickf4=-4]="tickf4";t[t.tickf3=-3]="tickf3";t[t.tickf2=-2]="tickf2";t[t.tickf1=-1]="tickf1";t[t.second=1]="second";t[t.minute=60]="minute";t[t.hour=3600]="hour";t[t.day=86400]="day";t[t.week=604800]="week";t[t.month=2678400]="month";t[t.year=31536e3]="year";t[t.maxtime=Number.MAX_VALUE]="maxtime"}(_tmInc||(_tmInc={}));class _timeSpan{constructor(t){this.ticks=t}get Ticks(){return this.ticks}get TotalSeconds(){return this.ticks/1e7}get TotalDays(){return this.ticks/1e7/86400}static fromSeconds(t){return new _timeSpan(1e7*t)}static fromDays(t){return new _timeSpan(1e7*t*24*60*60)}}_timeSpan.TicksPerSecond=1e7;class _timeHelper{init(t){this.year=t.getFullYear();this.month=t.getMonth();this.day=t.getDate();this.hour=t.getHours();this.minute=t.getMinutes();this.second=t.getSeconds()}constructor(t){wijmo_1.isDate(t)?this.init(t):wijmo_1.isNumber(t)&&this.init(FlexChartCore._fromOADate(t))}getTimeAsDateTime(){let t=0,e=0,i=0;if(this.hour>=24){this.hour-=24;this.day+=1}if(this.month<0){t=-1-this.day;this.month=1}else if(this.month>11){t=this.month-12;this.month=11}if(this.day<1){e=-1-this.day;this.day=1}else if(this.day>28&&1==this.month){e=this.day-28;this.day=28}else if(this.day>30&&(3==this.month||5==this.month||8==this.month||10==this.month)){e=this.day-30;this.day=30}else if(this.day>31){e=this.day-31;this.day=31}if(this.second>59){i=this.second-59;this.second=59}let s=0;if(this.minute>59){s=this.minute-59;this.minute=59}return new Date(this.year,this.month,this.day,this.hour,this.minute,this.second)}getTimeAsDouble(){return this.getTimeAsDateTime().valueOf()}static tround(t,e,i){var s=t/e*e;s-=s%1;i&&s!=t&&(s+=e-=e%1);return s}static FloorDay(t){const e=new Date(t);return new Date(e.getFullYear(),e.getMonth(),e.getDate()).valueOf()}static CeilDay(t){const e=new Date(t),i=new Date(e.getFullYear(),e.getMonth(),e.getDate()).valueOf();return i<t?new Date(e.getFullYear(),e.getMonth(),e.getDate()+1).valueOf():i}static RoundTime(t,e,i){var s=24*e*60*60;if(s>0){const e=new _timeHelper(t);if(s<_tmInc.minute){e.second=_timeHelper.tround(e.second,s,i);return e.getTimeAsDouble()}e.second=0;if(s<_tmInc.hour){s/=_tmInc.minute;e.minute=_timeHelper.tround(e.minute,s,i);return e.getTimeAsDouble()}e.minute=0;if(s<_tmInc.day){s/=_tmInc.hour;e.hour=_timeHelper.tround(e.hour,s,i);return e.getTimeAsDouble()}e.hour=0;if(s<_tmInc.month){s/=_tmInc.day;e.day=_timeHelper.tround(e.day,s,i);return e.getTimeAsDouble()}e.day=1;if(s<_tmInc.year){s/=_tmInc.month;1!=e.month&&(e.month=_timeHelper.tround(e.month,s,i));return e.getTimeAsDouble()}e.month=1;s/=_tmInc.year;e.year=_timeHelper.tround(e.year,s,i);return e.getTimeAsDouble()}{let n=t;const r=n-s;let a=r/e*e;i&&a!=r&&(a+=e);n=s+a;return n}}static TimeSpanFromTmInc(t){var e=_timeSpan.fromSeconds(1);if(t!=_tmInc.maxtime)if(t>_tmInc.tickf1)e=_timeSpan.fromSeconds(t);else{let i=t,s=1;i+=7;for(;i>0;){s*=10;i--}e=new _timeSpan(s)}return e}static manualTimeInc(t){var e=_tmInc.second;if(null==t||0==t.length)return e;var i=t.indexOf("f");if(i>=0){let s=-1;if(i>0&&"%"==t.substr(i-1,1))s=-1;else for(let e=1;e<6&&!(i+e>=t.length);e++){if("f"!=t.substr(i+e,1))break;s--}e=s}else t.indexOf("s")>=0?e=_tmInc.second:t.indexOf("m")>=0?e=_tmInc.minute:t.indexOf("h")>=0||t.indexOf("H")?e=_tmInc.hour:t.indexOf("d")>=0?e=_tmInc.day:t.indexOf("M")>=0?e=_tmInc.month:t.indexOf("y")>=0&&(e=_tmInc.year);return e}static getNiceInc(t,e,i){for(let s=0;s<t.length;s++){const n=t[s]*i;if(e<=n)return n}return 0}static NiceTimeSpan(t,e){var i=_tmInc.second;null!=e&&e.length>0&&(i=_timeHelper.manualTimeInc(e));var s=0,n=0;if(i<_tmInc.second&&t.TotalSeconds<10){s=t.Ticks;n=_timeHelper.TimeSpanFromTmInc(i).Ticks;for(;s>10*n;)n*=10;let e=n;s>e&&(e*=2);s>e&&(e=5*n);s>e&&(e=10*n);return new _timeSpan(e)}if(0==(s=Math.ceil(t.TotalSeconds)))return _timeHelper.TimeSpanFromTmInc(i);n=1;if(i<_tmInc.minute){if(s<_tmInc.minute&&0!=(n=_timeHelper.getNiceInc([1,2,5,10,15,30],s,i)))return _timeSpan.fromSeconds(n);i=_tmInc.minute}if(i<_tmInc.hour){if(s<_tmInc.hour&&0!=(n=_timeHelper.getNiceInc([1,2,5,10,15,30],s,i)))return _timeSpan.fromSeconds(n);i=_tmInc.hour}if(i<_tmInc.day){if(s<_tmInc.day&&0!=(n=_timeHelper.getNiceInc([1,3,6,12],s,i)))return _timeSpan.fromSeconds(n);i=_tmInc.day}if(i<_tmInc.month){if(s<_tmInc.month&&0!=(n=_timeHelper.getNiceInc([1,2,7,14],s,i)))return _timeSpan.fromSeconds(n);i=_tmInc.month}if(i<_tmInc.year){if(s<_tmInc.year&&0!=(n=_timeHelper.getNiceInc([1,2,3,4,6],s,i)))return _timeSpan.fromSeconds(n);i=_tmInc.year}s<(n=100*_tmInc.year)&&0==(n=_timeHelper.getNiceInc([1,2,5,10,20,50],s,i))&&(n=100*_tmInc.year);return _timeSpan.fromSeconds(n)}static NiceTimeUnit(t,e){var i=_timeSpan.fromDays(t);return(i=_timeHelper.NiceTimeSpan(i,e)).TotalDays}static GetTimeDefaultFormat(t,e){if(!wijmo_1.isNumber(t)||!wijmo_1.isNumber(e))return"";var i="s",s=_timeSpan.fromSeconds(.001*(t-e)),n=s.TotalSeconds;if(n>=_tmInc.year)i="yyyy";else if(n>=_tmInc.month)i="MMM yyyy";else if(n>=_tmInc.day)i="MMM d";else if(n>=_tmInc.hour)i="ddd H:mm";else if(n>=.5*_tmInc.hour)i="H:mm";else if(n>=1)i="H:mm:ss";else if(n>0){let t=s.Ticks;i="s.";for(;t<_timeSpan.TicksPerSecond;){t*=10;i+="f"}}return i}}class _AxisLabel{constructor(t,e,i){this._start=e-.5;this._end=e+i-.5;this._value=e+.5*(i-1);this._label=t}get value(){return this._value}get label(){return this._label}get start(){return this._start}get end(){return this._end}set rect(t){this._rect=t}get rect(){return this._rect}}exports._AxisLabel=_AxisLabel;class _AxisGroup{constructor(t,e){this._labels=[];this._index=0;this._size=new wijmo_1.Size;this._level=0;this._level=t;this._last=e}get labels(){return this._labels}set index(t){this._index=t}get index(){return this._index}set height(t){this._size.height=t}get height(){return this._size.height}set width(t){this._size.width=t}get width(){return this._size.width}get level(){return this._level}getSize(t,e,i){this._size=new wijmo_1.Size;this.labels.forEach(s=>{const n=t.measureString(s.label,e,i);this._size.width=Math.max(this._size.width,n.width);this._size.height=Math.max(this._size.height,n.height)});return this._size}render(t,e,i,s,n){const r=e._getPosition(),a=e.axisType===AxisType.X;this.labels.forEach(h=>{let o,l=h.label,_=!1;const c=a?Math.abs(e.convert(h.end)-e.convert(h.start)):this.width,d=t.measureString(l,s,n);if(d.width>c){l=this._trimText(l,d.width,c);_=!0}switch(r){case Position.Bottom:o=FlexChartCore._renderText(t,l,new wijmo_1.Point(e.convert(h.value),i),1,2,s,n);break;case Position.Top:o=FlexChartCore._renderText(t,l,new wijmo_1.Point(e.convert(h.value),i),1,0,s,n);break;case Position.Left:o=FlexChartCore._renderText(t,l,new wijmo_1.Point(i+this._size.width,e.convert(h.value)),2,1,s,n);break;case Position.Right:o=FlexChartCore._renderText(t,l,new wijmo_1.Point(i-this._size.width,e.convert(h.value)),0,1,s,n)}h.rect=_?o:void 0});r===Position.Bottom||r===Position.Top?this.renderLinesX(t,e,i):this.renderLinesY(t,e,i)}hitTest(t){let e;for(let i=0;i<this.labels.length;i++){const s=this.labels[i];if(s.rect&&s.rect.contains(t)){e=s;break}}return e}renderLinesX(t,e,i){const s=e.groupsOptions.display===AxisGroupsDisplay.ShowGrid,n=e._getPosition();let r=4;const a=n===Position.Bottom?1:-1,h=i-a*(this.height+r);r*=a;if(s){const s=e.convert(e.actualMin),n=e.convert(e.actualMax);this.drawLine(t,s,i+r,n,i+r);this.drawLine(t,s,h,n,h);const o=e.convert(this.labels[0].start),l=0===this.level?1===a?e._axrect.top:e._axrect.bottom:h;this.drawLine(t,o,i+r,o,l);this.labels.forEach(s=>{const n=new wijmo_1.Point(e.convert(s.end),i);this._last?this.drawLine(t,n.x,n.y+r,n.x,1===a?e._axrect.top:e._axrect.bottom):this.drawLine(t,n.x,n.y+r,n.x,l)})}else this.labels.forEach(i=>{const s=e.convert(i.start)+Math.abs(r),n=e.convert(i.end)-Math.abs(r);this.drawLine(t,s,h,n,h);if(e.labels||!this._last){this.drawLine(t,s,h,s,h-2*r);this.drawLine(t,n,h,n,h-2*r)}const a=e.convert(i.value);this.drawLine(t,a,h,a,h+r)})}renderLinesY(t,e,i){const s=e.groupsOptions.display===AxisGroupsDisplay.ShowGrid,n=e._getPosition();let r=4;const a=n===Position.Left?-1:1,h=i-a*(this.width+r);r*=a;if(s){const s=e.convert(e.actualMin),n=e.convert(e.actualMax);this.drawLine(t,i+r,s,i+r,n);this.drawLine(t,h,s,h,n);const o=e.convert(this.labels[0].start),l=0===this.level?1===a?e._axrect.left:e._axrect.right:h;this.drawLine(t,i+r,o,l,o);this.labels.forEach(s=>{const n=e.convert(s.end);this._last?this.drawLine(t,i+r,n,1===a?e._axrect.left:e._axrect.right,n):this.drawLine(t,i+r,n,l,n)})}else this.labels.forEach(i=>{const s=e.convert(i.start)-Math.abs(r),n=e.convert(i.end)+Math.abs(r);this.drawLine(t,h,s,h,n);this.drawLine(t,h,s,h-2*r,s);this.drawLine(t,h,n,h-2*r,n);const a=e.convert(i.value);this.drawLine(t,h,a,h+r,a)})}drawLine(t,e,i,s,n){t.drawLine(e,i,s,n,FlexChartCore._CSS_LINE)}_trimText(t,e,i){var s="",n=t.length,r=Math.floor((1-(e-i)/e)*n);t.length>0&&(s=t[0]+(r>1?t.substring(1,r-1)+"..":""));return s}}class _AxisGroups{constructor(t){this._groups=[];this._margin=8;this._axis=t}get groups(){return this._groups}get axis(){return this._axis}createGroups(){this._groups=[];const t=this.axis._chart.collectionView;t&&t.groups&&t.groups.length>0&&t.groups.forEach(t=>{this.createGroup(t,0)})}createGroup(t,e){this.groups[e]||(this.groups[e]=new _AxisGroup(e,t.isBottomLevel));const i=this.groups[e],s=t.items;i.labels.push(new _AxisLabel(t.name,i.index,s.length));i.index+=s.length;t.groups.forEach(t=>{this.createGroup(t,e+1)})}layoutGroups(t){this.groups.forEach(e=>{e.width*=t})}getHeight(t){const e=this._axis._getPosition();let i=0;e===Position.Bottom||e===Position.Top?this.groups.forEach(e=>{const s=e.getSize(t,FlexChartCore._CSS_LABEL,this._axis._groupClass);i+=this._margin+s.height}):this.groups.forEach(e=>{const s=e.getSize(t,FlexChartCore._CSS_LABEL,this._axis._groupClass);i+=this._margin+s.width});if(i>0&&this._axis.labels){const t=this.groups.length;i+=this._margin*t}this._height=i;return i}layout(){const t=this._axis,e=t._axrect;if(t.axisType===AxisType.Y){const i=(t.labels?t._annoSize.width+t._TICK_LABEL_DISTANCE+12:4)+t._getTitleSize().height,s=e.width-i;if(s<this._height){const t=this._margin*this._groups.length;this.layoutGroups((s-t)/(this._height-t));this._height=s}}}render(t){const e=this._axis._getPosition(),i=this._axis._getTitleSize();if(e===Position.Bottom){let e=this.axis._axrect.bottom-i.height-this._margin;this.groups.forEach(i=>{i.render(t,this.axis,e,FlexChartCore._CSS_LABEL,this._axis._groupClass);e-=i.height+this._margin})}else if(e===Position.Top){let e=this.axis._axrect.top+i.height+this._margin;this.groups.forEach(i=>{i.render(t,this.axis,e,FlexChartCore._CSS_LABEL,this._axis._groupClass);e+=i.height+this._margin})}else if(e===Position.Left){let e=this.axis._axrect.left+i.height+this._margin;this.groups.forEach(i=>{i.render(t,this.axis,e,FlexChartCore._CSS_LABEL,this._axis._groupClass);e+=i.width+this._margin})}else if(e===Position.Right){let e=this.axis._axrect.right-i.height-this._margin;this.groups.forEach(i=>{i.render(t,this.axis,e,FlexChartCore._CSS_LABEL,this._axis._groupClass);e-=i.width+this._margin})}}hitTest(t){let e;for(let i=0;i<this._groups.length;i++){const s=this._groups[i].hitTest(t);if(s){e=s;break}}return e}}exports._AxisGroups=_AxisGroups;class _AreaPlotter extends _BasePlotter{constructor(){super(...arguments);this.stacking=Stacking.None;this.isSpline=!1;this.isStep=!1;this.stackPos={};this.stackNeg={}}adjustLimits(t,e){this.dataInfo=t;const i=t.getMinX();let s=t.getMinY();const n=t.getMaxX();let r=t.getMaxY();for(let t=0;t<this.chart.series.length;t++){const e=this.chart.series[t];if(this._isRange(e)){const t=e._getChartType();if(!t||t==ChartType.Area){const t=e._getBindingValues(1);for(let e=0;e<t.length;e++)t[e]>r?r=t[e]:t[e]<s&&(s=t[e])}}}if(this.isSpline){const t=.1*(r-s);this.chart.axisY._getLogBase()||(s-=t);r+=t}return this.rotated?new wijmo_1.Rect(s,i,r-s,n-i):new wijmo_1.Rect(i,s,n-i,r-s)}clear(){super.clear();this.stackNeg={};this.stackPos={}}plotSeries(t,e,i,s,n,r,a,h){const o=s;if(this._isRange(o)){this.plotSeriesRanged(t,e,i,s,n,r,a,h);return}const l=[],_=this.chart.series.indexOf(s),c=s.getValues(0);let d=s.getValues(1);if(!c)return;let u=c.length;if(!u)return;d||(d=this.dataInfo.getXVals());let g=!0;if(d)d.length<u&&(u=d.length);else{g=!1;d=new Array(u)}let m=[],p=[],f=[],x=[],w=this.stacking!=Stacking.None&&!o._isCustomAxisY(),b=this.stacking==Stacking.Stacked100pc&&!o._isCustomAxisY();void 0!==o._getChartType()&&(w=b=!1);const y=this.rotated;let S=!1;const v=o.interpolateNulls;let C=null,M=null;const T=this.chart._plotRect;for(let t=0;t<u;t++){const s=g?d[t]:t;let n=c[t];(null===C||s>C)&&(C=s);(null===M||s<M)&&(M=s);if(_DataInfo.isValid(s,n)){const r=y?i.convert(s):e.convert(s);if(w){if(b){n/=this.dataInfo.getStackedAbsSum(s)}let t=0;if(n>=0){t=isNaN(this.stackPos[s])?0:this.stackPos[s];n=this.stackPos[s]=t+n}else{t=isNaN(this.stackNeg[s])?0:this.stackNeg[s];n=this.stackNeg[s]=t+n}if(y){t<e.actualMin&&(t=e.actualMin);f.push(e.convert(t));x.push(r)}else{f.push(r);t<i.actualMin&&(t=i.actualMin);x.push(i.convert(t))}}if(y){const i=e.convert(n);if(isNaN(r)||isNaN(i)){S=!0;if(!w&&!0!==v){m.push(void 0);p.push(void 0)}}else{m.push(i);p.push(r);if(FlexChartCore._contains(T,new wijmo_1.Point(i,r))){const e=new _CircleArea(new wijmo_1.Point(i,r),this._DEFAULT_SYM_SIZE);e.tag=new _DataPoint(_,t,n,s);this.hitTester.add(e,_)}}}else{const e=i.convert(n);if(isNaN(r)||isNaN(e)){S=!0;if(!w&&!0!==v){m.push(void 0);p.push(void 0)}}else{m.push(r);p.push(e);if(FlexChartCore._contains(T,new wijmo_1.Point(r,e))){const i=new _CircleArea(new wijmo_1.Point(r,e),this._DEFAULT_SYM_SIZE);i.tag=new _DataPoint(_,t,s,n);this.hitTester.add(i,_)}}}}else{S=!0;if(!w&&!0!==v){m.push(void 0);p.push(void 0)}}}h&&m.forEach((t,e)=>{null!=t&&l.push(new wijmo_1.Point(t,p[e]))});const P=this._DEFAULT_WIDTH,A=n._getColorLight(_),L=n._getColor(_),N=_BasePlotter.cloneStyle(s.style,["fill"]),k=_BasePlotter.cloneStyle(s.style,["stroke"]);if(!w&&!0!==v&&S){let s=[],n=[];for(let r=0;r<u;r++)if(void 0===m[r]){if(s.length>1){const r=this._modifyPoints(s,n);s=r.x;n=r.y;t.stroke=L;t.strokeWidth=P;t.fill="none";t.drawLines(s,n,null,N);this.hitTester.add(new _LinesArea(s,n),_);if(y){s.push(e.convert(e.actualMin),e.convert(e.actualMin));n.push(i.convert(i.actualMax),i.convert(i.actualMin))}else{s.push(s[s.length-1],s[0]);n.push(i.convert(i.actualMin),i.convert(i.actualMin))}t.fill=A;t.stroke="none";t.drawPolygon(s,n,null,k,this.chart._plotrectId)}s=[];n=[]}else{s.push(m[r]);n.push(p[r])}if(s.length>1){const r=this._modifyPoints(s,n);s=r.x;n=r.y;t.stroke=L;t.strokeWidth=P;t.fill="none";t.drawLines(s,n,null,N);this.hitTester.add(new _LinesArea(s,n),_);if(y){s.push(e.convert(e.actualMin),e.convert(e.actualMin));n.push(i.convert(i.actualMax),i.convert(i.actualMin))}else{s.push(s[s.length-1],s[0]);n.push(i.convert(i.actualMin),i.convert(i.actualMin))}t.fill=A;t.stroke="none";t.drawPolygon(s,n,null,k,this.chart._plotrectId)}}else{const s=this._modifyPoints(m,p);m=s.x;p=s.y;if(w){const t=this._modifyPoints(f,x);f=t.x;x=t.y;m=m.concat(f.reverse());p=p.concat(x.reverse())}else if(y){m.push(e.convert(e.actualMin),e.convert(e.actualMin));p.push(p[p.length-1],p[0])}else{m.push(m[m.length-1],m[0]);p.push(i.convert(i.actualMin),i.convert(i.actualMin))}t.fill=A;t.stroke="none";t.drawPolygon(m,p,null,k,this.chart._plotrectId);if(w){m=m.slice(0,m.length-f.length);p=p.slice(0,p.length-x.length)}else{m=m.slice(0,m.length-2);p=p.slice(0,p.length-2)}t.stroke=L;t.strokeWidth=P;t.fill="none";t.drawLines(m,p,null,N,this.chart._plotrectId);this.hitTester.add(new _LinesArea(m,p),_)}this._drawSymbols(t,s,_);h&&l&&l.length&&h(l)}_isRange(t){const e=this.chart?this.chart._bindingSeparator:",",i=null==t.binding?null:t.binding.split(e);return null!=i&&2==i.length}_modifyPoints(t,e){const i={x:t,y:e};if(this.isSpline){const s=this._convertToSpline(t,e);i.x=s.xs;i.y=s.ys}else if(this.isStep){const s=this._createSteps(t,e);i.x=s.x;i.y=s.y}return i}plotSeriesRanged(t,e,i,s,n,r,a,h){const o=[],l=this.chart.series.indexOf(s),_=s,c=s.getValues(0);let d=s.getValues(1);const u=_._getBindingValues(1);if(!c)return;let g=c.length;if(!g)return;d||(d=this.dataInfo.getXVals());let m=!0;if(d)d.length<g&&(g=d.length);else{m=!1;d=new Array(g)}const p=[],f=[],x=[],w=this.rotated;let b=!1;const y=_.interpolateNulls,S=this.chart._plotRect;for(let t=0;t<g;t++){const s=m?d[t]:t,n=c[t],r=u[t];if(_DataInfo.isValid(s,n,r)){const a=w?i.convert(s):e.convert(s);if(w){const i=e.convert(n),h=e.convert(r);if(isNaN(a)||isNaN(i)){b=!0;if(!0!==y){p.push(void 0);f.push(void 0);x.push(void 0)}}else{p.push(i);f.push(a);x.push(h);if(FlexChartCore._contains(S,new wijmo_1.Point(i,a))){const e=new _CircleArea(new wijmo_1.Point(i,a),this._DEFAULT_SYM_SIZE);e.tag=new _DataPoint(l,t,n,s);this.hitTester.add(e,l)}if(FlexChartCore._contains(S,new wijmo_1.Point(h,a))){const e=new _CircleArea(new wijmo_1.Point(h,a),this._DEFAULT_SYM_SIZE);e.tag=new _DataPoint(l,t,r,s);this.hitTester.add(e,l)}}}else{const e=i.convert(n),h=i.convert(r);if(isNaN(a)||isNaN(e)){b=!0;if(!0!==y){p.push(void 0);f.push(void 0);x.push(void 0)}}else{p.push(a);f.push(e);x.push(h);if(FlexChartCore._contains(S,new wijmo_1.Point(a,e))){const i=new _CircleArea(new wijmo_1.Point(a,e),this._DEFAULT_SYM_SIZE);i.tag=new _DataPoint(l,t,s,n);this.hitTester.add(i,l)}if(FlexChartCore._contains(S,new wijmo_1.Point(a,h))){const e=new _CircleArea(new wijmo_1.Point(a,h),this._DEFAULT_SYM_SIZE);e.tag=new _DataPoint(l,t,s,r);this.hitTester.add(e,l)}}}}else{b=!0;if(!0!==y){p.push(void 0);f.push(void 0);x.push(void 0)}}}h&&p.forEach((t,e)=>{null!=t&&o.push(new wijmo_1.Point(t,f[e]))});const v=this._DEFAULT_WIDTH,C=n._getColorLight(l),M=n._getColor(l),T=_BasePlotter.cloneStyle(s.style,["fill"]),P=_BasePlotter.cloneStyle(s.style,["stroke"]);if(!0!==y&&b){let e=[],i=[],s=[];for(let n=0;n<g;n++)if(void 0===p[n]){if(e.length>1){const n=w?s.slice(0).reverse():e.slice(0).reverse(),r=w?i.slice(0).reverse():s.slice(0).reverse();this._drawRangedArea(t,e,i,n,r,C,M,v,P,T);this.hitTester.add(new _LinesArea(e,i),l);this.hitTester.add(new _LinesArea(n,r),l)}e=[];i=[];s=[]}else{e.push(p[n]);i.push(f[n]);s.push(x[n])}if(e.length>1){const n=w?s.slice(0).reverse():e.slice(0).reverse(),r=w?i.slice(0).reverse():s.slice(0).reverse();this._drawRangedArea(t,e,i,n,r,C,M,v,P,T);this.hitTester.add(new _LinesArea(e,i),l);this.hitTester.add(new _LinesArea(n,r),l)}}else{const e=w?x.slice(0).reverse():p.slice(0).reverse(),i=w?f.slice(0).reverse():x.slice(0).reverse();this._drawRangedArea(t,p,f,e,i,C,M,v,P,T);this.hitTester.add(new _LinesArea(p,f),l);this.hitTester.add(new _LinesArea(e,i),l)}this._drawSymbols(t,s,l);h&&o&&o.length&&h(o)}_drawRangedArea(t,e,i,s,n,r,a,h,o,l){if(this.isSpline){const t=this._convertToSpline(e,i),r=this._convertToSpline(s,n);e=t.xs;i=t.ys;s=r.xs;n=r.ys}e=e.concat(s);i=i.concat(n);t.fill=r;t.stroke="none";t.drawPolygon(e,i,null,o);e=e.slice(0,e.length-s.length);i=i.slice(0,i.length-n.length);t.stroke=a;t.strokeWidth=h;t.fill="none";t.drawLines(e,i,null,l);t.drawLines(s,n,null,l)}_convertToSpline(t,e){if(t&&e){const i=new _Curve(t,e).calculate();return{xs:i.xs,ys:i.ys}}return{xs:t,ys:e}}_drawSymbols(t,e,i){const s=this.getItemFormatter(e);if(null!=s){const e=this.hitTester._map[i];for(let i=0;i<e.length;i++){const n=wijmo_1.tryCast(e[i],_CircleArea);if(n){const e=n.tag;t.startGroup();const i=new HitTestInfo(this.chart,n.center,ChartElement.SeriesSymbol);i._setDataPoint(e);s(t,i,()=>{});t.endGroup()}}t.cssPriority=!0}}}exports._AreaPlotter=_AreaPlotter;class _BarPlotter extends _BasePlotter{constructor(){super(...arguments);this.origin=0;this.width=.7;this.isVolume=!1;this._volHelper=null;this.stackPosMap={};this.stackNegMap={};this.stacking=Stacking.None}clear(){super.clear();this.stackNegMap[this.chart.axisY._uniqueId]={};this.stackPosMap[this.chart.axisY._uniqueId]={};this._volHelper=null}load(){super.load();if(!this.isVolume)return;let t,e,i,s,n,r,a,h,o=null,l=null;for(r=0;r<this.chart.series.length;r++){t=this.chart.series[r];n=t.getDataType(1)||t.chart._xDataType;e=t._getAxisX();i=t._getChartType();i=null===i||wijmo_1.isUndefined(i)?this.chart._getChartType():i;if(i===ChartType.Column){const e=this.chart?this.chart._bindingSeparator:",",i=t.binding.split(e).length-1;s=t._getBindingValues(i)}else s=i===ChartType.Candlestick?t._getBindingValues(4):null;if(n===wijmo_1.DataType.Date){let i;a=[];h=[];for(r=0;r<t._getLength();r++){i=t._getItem(r)[t.bindingX].valueOf();a.push(i);h.push({value:i,text:wijmo_1.Globalize.format(new Date(i),e.format||"d")})}}else a=this.dataInfo.getXVals();o=this.dataInfo.getMinX();l=this.dataInfo.getMaxX();if(s&&s.length>0){this._volHelper=new _VolumeHelper(s,a,o,l,n);e._customConvert=this._volHelper.convert.bind(this._volHelper);e._customConvertBack=this._volHelper.convertBack.bind(this._volHelper);h&&h.length>0&&(this._itemsSource=e.itemsSource=h);break}}}unload(){super.unload();let t,e;for(let i=0;i<this.chart.series.length;i++){t=this.chart.series[i];e=t._getAxisX();if(e){e._customConvert=null;e._customConvertBack=null;e.itemsSource&&e.itemsSource==this._itemsSource&&(this._itemsSource=e.itemsSource=null)}}}adjustLimits(t,e){this.dataInfo=t;var i=t.getMinX(),s=t.getMaxX(),n=t.getMinY(),r=t.getMaxY(),a=t.getDeltaX();a<=0&&(a=1);let h=!1;!this.isVolume||this.chart._getChartType()!==ChartType.Column&&this.chart._getChartType()!==ChartType.Candlestick?this.unload():this.load();for(let t=0;t<this.chart.series.length;t++){const e=this.chart.series[t];let i=e._getChartType();i=null===i||wijmo_1.isUndefined(i)?this.chart._getChartType():i;if(i===ChartType.Column||i===ChartType.Bar){if(this._isRange(e)){e._getBindingValues(1).forEach(t=>{t<n?n=t:t>r&&(r=t)})}}h||"BoxWhisker"==e.constructor.name||(h=!0)}if(this.rotated){!this.chart.axisY._getLogBase()&&t.getDataTypeY()!==wijmo_1.DataType.Date&&h&&(this.origin>r?r=this.origin:this.origin<n&&(n=this.origin));return new wijmo_1.Rect(n,i-.5*a,r-n,s-i+a)}!this.chart.axisY._getLogBase()&&t.getDataTypeY()!==wijmo_1.DataType.Date&&h&&(this.origin>r?r=this.origin:this.origin<n&&(n=this.origin));return new wijmo_1.Rect(i-.5*a,n,s-i+a,r-n)}_isRange(t){const e=this.chart?this.chart._bindingSeparator:",",i=(null==t.binding?"":t.binding.split(e)).length-1;return this.isVolume?2===i:1===i}plotSeries(t,e,i,s,n,r,a,h){var o,l,_,c,d=[],u=this.chart.series.indexOf(s),g=wijmo_1.asType(s,SeriesBase),m=this.chart._options,p=this.width,f=0;r=r||0;a=a||1;if(m&&m.groupWidth){const t=m.groupWidth;if(wijmo_1.isNumber(t)){const e=wijmo_1.asNumber(t);if(isFinite(e)&&e>0){f=e;p=1}}else if(wijmo_1.isString(t)){let e=wijmo_1.asString(t);if(e&&e.indexOf("%")>=0){e=e.replace("%","");let t=parseFloat(e);if(isFinite(t)){t<0?t=0:t>100&&(t=100);f=0;p=t/100}}else{const t=parseFloat(e);if(isFinite(t)&&t>0){f=t;p=1}}}}let x=p/a;const w=g._getAxisY()._uniqueId,b=this.stackNegMap[w],y=this.stackPosMap[w],S=s.getValues(0);let v=s.getValues(1);const C=this._isRange(g),M=g._bindValues(null==g._cv?null==this.chart.collectionView?null:this.chart.collectionView.items:g._cv.items,g._getBinding(1)).values;if(!S)return;v||(v=this.dataInfo.getXVals());if(v){const t=this.dataInfo.getDeltaX();if(t>0){p*=t;x*=t}}let T=g._getSymbolFill(u),P=g._getAltSymbolFill(u)||T,A=g._getSymbolStroke(u),L=g._getAltSymbolStroke(u)||A,N=S.length;null!=v&&(N=Math.min(N,v.length));let k,E,j=this.origin,I=0,R=this.stacking!=Stacking.None,D=this.stacking==Stacking.Stacked100pc;void 0!==g._getChartType()&&(R=D=!1);const F=this.getItemFormatter(s),B=e._actualMin,V=e._actualMax,z=i._actualMin,H=i._actualMax;if(this.rotated){j<B?j=B:j>V&&(j=V);g._isCustomAxisY()&&(R=D=!1);const n=e.convert(j);for(let o=0;o<N;o++){let l=v?v[o]:o,g=S[o],m=n;this._getSymbolOrigin&&(m=i.convert(this._getSymbolOrigin(j,o)));if(C&&M&&M.length){const t=M[o];_DataInfo.isValid(t)&&(m=e.convert(t))}if(this._getSymbolStyles){const t=this._getSymbolStyles(o);T=t&&t.fill?t.fill:T;P=t&&t.fill?t.fill:P;A=t&&t.stroke?t.fill:A;L=t&&t.stroke?t.fill:L}k=g>0?T:P;E=g>0?A:L;t.fill=k;t.stroke=E;if(_DataInfo.isValid(l,g))if(R){let n=l-.5*p,r=l+.5*p;if(n<z&&r<z||n>H&&r>H)continue;n=i.convert(Math.max(n,z));r=i.convert(Math.min(r,H));if(D){g/=this.dataInfo.getStackedAbsSum(l)}let a=0;if(g>=0){a=isNaN(y[l])?0:y[l];_=e.convert(a);c=e.convert(a+g);y[l]=a+g}else{a=isNaN(b[l])?0:b[l];_=e.convert(a);c=e.convert(a+g);b[l]=a+g}h&&d.push(new wijmo_1.Point(c,i.convert(l)));if(!_DataInfo.isValid(_,c))continue;const m=new wijmo_1.Rect(Math.min(_,c),Math.min(n,r),Math.abs(c-_),Math.abs(r-n));if(f>0){let t=1-f/m.height;t<0&&(t=0);const e=m.top+.5*m.height;m.top+=(e-m.top)*t;m.height=Math.min(f,m.height)}const x=new _RectArea(m);this.drawSymbol(t,m,s,o,new wijmo_1.Point(c,m.top+.5*m.height),F);s._setPointIndex(o,I);I++;const w=D?Math.min(a+g,1):a+g;x.tag=new _DataPoint(u,o,w,l);this.hitTester.add(x,u)}else{let n=l-.5*p+r*x,_=l-.5*p+(r+1)*x;if(n<z&&_<z||n>H&&_>H)continue;n=i.convert(Math.max(n,z));_=i.convert(Math.min(_,H));const c=e.convert(g);if(!_DataInfo.isValid(c,n,_))continue;const w=new wijmo_1.Rect(Math.min(c,m),Math.min(n,_),Math.abs(m-c),Math.abs(_-n));h&&d.push(new wijmo_1.Point(c,(n+_)/2));if(f>0){const t=f/a;let e=1-t/w.height;e<0&&(e=0);const s=i.convert(l);w.top+=(s-w.top)*e;w.height=Math.min(t,w.height)}const b=new _RectArea(w);this.drawSymbol(t,w,s,o,new wijmo_1.Point(c,w.top+.5*w.height),F);s._setPointIndex(o,I);I++;b.tag=new _DataPoint(u,o,g,l);this.hitTester.add(b,u)}else h&&d.push(null)}}else{j<z?j=z:j>H&&(j=H);const n=i.convert(j);g._isCustomAxisY()&&(R=D=!1);for(let _=0;_<N;_++){let c=n;const g=v?v[_]:_;let m=S[_];this._getSymbolOrigin&&(c=i.convert(this._getSymbolOrigin(j,_,N)));if(C&&M&&M.length){const t=M[_];_DataInfo.isValid(t)&&(c=i.convert(t))}if(this._getSymbolStyles){const t=this._getSymbolStyles(_,N);T=t&&t.fill?t.fill:T;P=t&&t.fill?t.fill:P;A=t&&t.stroke?t.stroke:A;L=t&&t.stroke?t.stroke:L}k=m>0?T:P;E=m>0?A:L;t.fill=k;t.stroke=E;t.strokeWidth=null;if(_DataInfo.isValid(g,m))if(R){let n=g-.5*p,r=g+.5*p;if(n<B&&r<B||n>V&&r>V)continue;n=e.convert(n);r=e.convert(r);if(!_DataInfo.isValid(n,r))continue;if(D){m/=this.dataInfo.getStackedAbsSum(g)}let a=0;if(m>=0){a=isNaN(y[g])?0:y[g];o=i.convert(Math.max(a,z));l=i.convert(Math.max(a+m,z));y[g]=a+m}else{a=isNaN(b[g])?0:b[g];o=i.convert(a);l=i.convert(a+m);b[g]=a+m}h&&d.push(new wijmo_1.Point(e.convert(g),l));if(!_DataInfo.isValid(o,l))continue;const c=new wijmo_1.Rect(Math.min(n,r),Math.min(o,l),Math.abs(r-n),Math.abs(l-o));if(f>0){let t=1-f/c.width;t<0&&(t=0);const e=c.left+.5*c.width;c.left+=(e-c.left)*t;c.width=Math.min(f,c.width)}const x=new _RectArea(c);this.drawSymbol(t,c,s,_,new wijmo_1.Point(c.left+.5*c.width,l),F);s._setPointIndex(_,I);I++;const w=D?Math.min(a+m,1):a+m;x.tag=new _DataPoint(u,_,g,w);this.hitTester.add(x,u)}else{let n=g-.5*p+r*x,o=g-.5*p+(r+1)*x;if(n<B&&o<B||n>V&&o>V)continue;n=e.convert(n);o=e.convert(o);const l=i.convert(m);if(!_DataInfo.isValid(l,n,o))continue;const w=new wijmo_1.Rect(Math.min(n,o),Math.min(l,c),Math.abs(o-n),Math.abs(c-l));h&&d.push(new wijmo_1.Point((n+o)/2,l));if(f>0){const t=f/a;let i=1-t/w.width;i<0&&(i=0);const s=e.convert(g);w.left+=(s-w.left)*i;w.width=Math.min(t,w.width)}const b=new _RectArea(w);this.drawSymbol(t,w,s,_,new wijmo_1.Point(w.left+.5*w.width,l),F);s._setPointIndex(_,I);I++;b.tag=new _DataPoint(u,_,g,m);this.hitTester.add(b,u)}else h&&d.push(null)}}h&&d&&d.length&&h(d)}drawSymbol(t,e,i,s,n,r){if(r){t.startGroup();const a=new HitTestInfo(this.chart,n,ChartElement.SeriesSymbol);a._setData(i,s);r(t,a,()=>{this.drawDefaultSymbol(t,e,i)});t.cssPriority=!0;t.endGroup()}else this.drawDefaultSymbol(t,e,i)}drawDefaultSymbol(t,e,i){t.drawRect(e.left,e.top,e.width,e.height,null,i.symbolStyle)}}exports._BarPlotter=_BarPlotter;class _FunnelPlotter extends _BasePlotter{constructor(){super(...arguments);this.stacking=Stacking.None}adjustLimits(t,e){this.dataInfo=t;var i=t.getMinX(),s=t.getMinY(),n=t.getMaxX(),r=t.getMaxY();return new wijmo_1.Rect(i,s,n-i,r-s)}plotSeries(t,e,i,s,n,r,a,h){var o=this.chart.series.indexOf(s);if(o>0)return;var l,_,c,d,u,g=wijmo_1.asType(s,SeriesBase),m=this.chart._options,p=s.getValues(0),f=s.getValues(1),x=this.chart._plotRect,w=m&&m.funnel&&null!=m.funnel.neckWidth?m.funnel.neckWidth:.2,b=m&&m.funnel&&null!=m.funnel.neckHeight?m.funnel.neckHeight:0,y=w*x.width,S=0,v=0,C=0,M=0,T=x.left,P=x.top,A=x.width,L=x.height;if(!p)return;this.rotated&&(P+=x.height);y=y||1;f||(f=this.dataInfo.getXVals());var N=p.length;null!=f&&(N=Math.min(N,f.length));let k=0;for(S=0;S<N;S++)if(_DataInfo.isValid(p[S])){v+=p[S];p[S]>k&&(k=p[S])}var E,j,I,R=0;if(m&&m.funnel&&"rectangle"===m.funnel.type&&k>0){b=L/N;w=A;let e=A/k;for(S=0;S<N;S++){const i=f?f[S]:S,n=p[S];let r=g._getSymbolFill(S),a=g._getAltSymbolFill(S)||r,h=g._getSymbolStroke(S),l=g._getAltSymbolStroke(S)||h;if(this._getSymbolStyles){const t=this._getSymbolStyles(S,N);r=t&&t.fill?t.fill:r;a=t&&t.fill?t.fill:a;h=t&&t.stroke?t.stroke:h;l=t&&t.stroke?t.stroke:l}E=n>0?r:a;j=n>0?h:l;t.fill=E;t.stroke=j;if(_DataInfo.isValid(i)&&_DataInfo.isValid(n)){e||(e=A/n);const r=e*n;T+=(w-r)/2;this.rotated&&(P-=b);t.drawRect(T,P,r,b);I=new _FunnelSegment(new wijmo_1.Point(T,P),r,b,r,b);this.rotated||(P+=b);w=r;I.tag=new _DataPoint(o,S,i,n);this.hitTester.add(I,o);s._setPointIndex(S,R);R++}}}else{C=x.left+x.width*(1-w)/2;M=x.top+x.height*(this.rotated?b:1-b);_=(1-w)*x.width/2/(x.height*(1-b));if(isNaN(_)||!isFinite(_)){A=y;T=C;P=M}l=x.width*w*x.height+x.width*(1-w)/2*x.height*(1-b);for(S=0;S<N;S++){const e=f?f[S]:S,i=p[S];let n=[],r=[],a=g._getSymbolFill(S),h=g._getAltSymbolFill(S)||a,m=g._getSymbolStroke(S),x=g._getAltSymbolStroke(S)||m;if(this._getSymbolStyles){const t=this._getSymbolStyles(S,N);a=t&&t.fill?t.fill:a;h=t&&t.fill?t.fill:h;m=t&&t.stroke?t.stroke:m;x=t&&t.stroke?t.stroke:x}E=i>0?a:h;j=i>0?m:x;t.fill=E;t.stroke=j;if(_DataInfo.isValid(e)&&_DataInfo.isValid(i)){let a=l*i/v;if(A>y){d=this._getTrapezoidOffsetY(A,a,_);if(this.rotated)if(P-d>M){n=[T,T+(c=_*d),T+A-c,T+A];r=[P,P-d,P-d,P];I=new _FunnelSegment(new wijmo_1.Point(T,P-d),A,d,A-2*c,0,!0);A-=2*c;T+=c;P-=d}else{c=_*(d=P-M);a-=this._getTrapezoidArea(A,_,d);u=a/y;n.push(T,T+c,T+c,T+c+y,T+c+y,T+A);r.push(P,P-d,P-d-u,P-d-u,P-d,P);I=new _FunnelSegment(new wijmo_1.Point(T,P-d-u),A,d+u,y,u,!0);A=y;T+=c;P=P-d-u}else if(P+d<M){n=[T,T+(c=_*d),T+A-c,T+A];r=[P,P+d,P+d,P];I=new _FunnelSegment(new wijmo_1.Point(T,P),A,d,A-2*c,0);A-=2*c;T+=c;P+=d}else{c=_*(d=M-P);a-=this._getTrapezoidArea(A,_,d);u=a/y;n.push(T,T+c,T+c,T+c+y,T+c+y,T+A);r.push(P,P+d,P+d+u,P+d+u,P+d,P);I=new _FunnelSegment(new wijmo_1.Point(T,P),A,d+u,y,u);A=y;T+=c;P=P+d+u}t.drawPolygon(n,r)}else{u=a/y;this.rotated&&(P-=u);t.drawRect(T,P,A,u);I=new _FunnelSegment(new wijmo_1.Point(T,P),y,u,y,u);this.rotated||(P+=u)}I.tag=new _DataPoint(o,S,e,i);this.hitTester.add(I,o);s._setPointIndex(S,R);R++}}}}_getTrapezoidArea(t,e,i){var s=i*e;return s*i+(t-2*s)*i}_getTrapezoidOffsetY(t,e,i){var s=Math.pow(t/2/i,2)-e/i;return t/2/i-Math.sqrt(s>=0?s:0)}drawDefaultSymbol(t,e,i){t.drawRect(e.left,e.top,e.width,e.height,null,i.symbolStyle)}_getPointAndPosition(t,e,i,s){var n=i;t.x=n.center.x;t.y=n.center.y;e=null==e?LabelPosition.Center:e}}exports._FunnelPlotter=_FunnelPlotter;class _FunnelSegment{constructor(t,e,i,s,n,r=!1){this._startPoint=t;this._width=e;this._height=i;this._neckHeight=n;this._center=new wijmo_1.Point(this._startPoint.x+e/2,this._startPoint.y+i/2);this._offsetX=(e-s)/2;this._offsetY=i-n;this._rotated=r}contains(t){var e=this._startPoint,i=this._offsetX,s=this._offsetY;if(this._rotated){if(t.x>=e.x&&t.x<=e.x+this._width&&t.y>=e.y&&t.y<=e.y+this._height){if(t.x>=e.x+i&&t.x<=e.x+this._width-i)return!0;if(t.y<e.y+this._neckHeight)return!1;if(t.x<this._center.x)return(e.y+this._height-t.y)/(t.x-e.x)<s/i;if(t.x>this._center.x)return(e.y+this._height-t.y)/(e.x+this._width-t.x)<s/i}}else if(t.x>=e.x&&t.x<=e.x+this._width&&t.y>=e.y&&t.y<=e.y+this._height){if(t.x>=e.x+i&&t.x<=e.x+this._width-i)return!0;if(t.y>e.y+s)return!1;if(t.x<this._center.x)return(t.y-e.y)/(t.x-e.x)<s/i;if(t.x>this._center.x)return(t.y-e.y)/(e.x+this._width-t.x)<s/i}return!1}distance(t){if(this.contains(t))return 0;var e=this._startPoint,i=this._width,s=this._height,n=this._offsetX,r=this._offsetY;if(this._rotated){if(t.y>e.y+s)return t.x<e.x?Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y+s-t.y,2)):t.x>e.x+i?Math.sqrt(Math.pow(t.x-e.x-i,2)+Math.pow(e.y+s-t.y,2)):t.y-e.y-s;if(t.y<e.y)return t.x<e.x+n?Math.sqrt(Math.pow(e.x+n-t.x,2)+Math.pow(t.y-e.y-s,2)):t.x>e.x+i-n?Math.sqrt(Math.pow(t.x-e.x-i+n,2)+Math.pow(t.y-e.y-s,2)):e.y-t.y;if(!(t.y<e.y+s-r))return t.x<e.x+n?Math.min(Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(t.y-e.y-s,2)),Math.sqrt(Math.pow(t.x-n/2-e.x,2)+Math.pow(t.y-s+r/2-e.y,2)),Math.sqrt(Math.pow(t.x-n-e.x,2)+Math.pow(t.y-s+r-e.y,2))):Math.min(Math.sqrt(Math.pow(t.x-i-e.x,2)+Math.pow(t.y-s-e.y,2)),Math.sqrt(Math.pow(t.x-i+n/2-e.x,2)+Math.pow(t.y-s+r/2-e.y,2)),Math.sqrt(Math.pow(t.x-i+n-e.x,2)+Math.pow(t.y-s+r-e.y,2)));if(t.x<e.x+n)return e.x+n-t.x;if(t.x>e.x+i-n)return t.x-e.x-i+n}else{if(t.y<e.y)return t.x<e.x?Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2)):t.x>e.x+i?Math.sqrt(Math.pow(t.x-e.x-i,2)+Math.pow(e.y-t.y,2)):e.y-t.y;if(t.y>e.y+s)return t.x<e.x+n?Math.sqrt(Math.pow(e.x+n-t.x,2)+Math.pow(t.y-e.y-s,2)):t.x>e.x+i-n?Math.sqrt(Math.pow(t.x-e.x-i+n,2)+Math.pow(t.y-e.y-s,2)):t.y-e.y-s;if(!(t.y>e.y+r))return t.x<e.x+n?Math.min(Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(t.y-e.y,2)),Math.sqrt(Math.pow(t.x-n/2-e.x,2)+Math.pow(t.y-r/2-e.y,2)),Math.sqrt(Math.pow(t.x-n-e.x,2)+Math.pow(t.y-r-e.y,2))):Math.min(Math.sqrt(Math.pow(t.x-i-e.x,2)+Math.pow(t.y-e.y,2)),Math.sqrt(Math.pow(t.x-i+n/2-e.x,2)+Math.pow(t.y-r/2-e.y,2)),Math.sqrt(Math.pow(t.x-i+n-e.x,2)+Math.pow(t.y-r-e.y,2)));if(t.x<e.x+n)return e.x+n-t.x;if(t.x>e.x+i-n)return t.x-e.x-i+n}}get center(){return this._center}}exports._FunnelSegment=_FunnelSegment;class _FinancePlotter extends _BasePlotter{constructor(){super(...arguments);this.isCandle=!0;this.isArms=!1;this.isEqui=!1;this.isVolume=!1;this._volHelper=null;this._symWidth=.7}clear(){super.clear();this._volHelper=null}load(){super.load();if(this.isVolume){var t,e,i,s,n,r,a,h,o=null,l=null;for(r=0;r<this.chart.series.length;r++){n=(t=this.chart.series[r]).getDataType(1)||t.chart._xDataType;e=t._getAxisX();s=(i=null===(i=t._getChartType())||wijmo_1.isUndefined(i)?this.chart._getChartType():i)===ChartType.Column?t._getBindingValues(1):i===ChartType.Candlestick?t._getBindingValues(4):null;if(n===wijmo_1.DataType.Date){let i;a=[];h=[];for(r=0;r<t._getLength();r++){i=t._getItem(r)[t.bindingX].valueOf();a.push(i);h.push({value:i,text:wijmo_1.Globalize.format(new Date(i),e.format||"d")})}}else a=this.dataInfo.getXVals();o=this.dataInfo.getMinX();l=this.dataInfo.getMaxX();if(s&&s.length>0){this._volHelper=new _VolumeHelper(s,a,o,l,n);e._customConvert=this._volHelper.convert.bind(this._volHelper);e._customConvertBack=this._volHelper.convertBack.bind(this._volHelper);h&&h.length>0&&(this._itemsSource=e.itemsSource=h);break}}}}unload(){super.unload();var t;for(let e=0;e<this.chart.series.length;e++)if(t=this.chart.series[e]._getAxisX()){t._customConvert=null;t._customConvertBack=null;t.itemsSource&&t.itemsSource==this._itemsSource&&(this._itemsSource=t.itemsSource=null)}}parseSymbolWidth(t){this._isPixel=void 0;if(t)if(wijmo_1.isNumber(t)){const e=wijmo_1.asNumber(t);if(isFinite(e)&&e>0){this._symWidth=e;this._isPixel=!0}}else if(wijmo_1.isString(t)){let e=wijmo_1.asString(t);if(e&&e.indexOf("%")>=0){e=e.replace("%","");let t=parseFloat(e);if(isFinite(t)){t<0?t=0:t>100&&(t=100);this._symWidth=t/100;this._isPixel=!1}}else{const e=parseFloat(t);if(isFinite(e)&&e>0){this._symWidth=e;this._isPixel=!0}}}}adjustLimits(t,e){this.dataInfo=t;var i=t.getMinX(),s=t.getMinY(),n=t.getMaxX(),r=t.getMaxY(),a=t.getDeltaX(),h=this.chart._xDataType;a<=0&&(a=1);var o=this.chart.series,l=o.length;let _=0;this.parseSymbolWidth(this.symbolWidth);!this.isVolume||this.chart._getChartType()!==ChartType.Column&&this.chart._getChartType()!==ChartType.Candlestick?this.unload():this.load();for(let t=0;t<l;t++){const e=o[t];if(e._isCustomAxisY())continue;const i=e._getBinding(1),n=e._getBinding(2),a=e._getBinding(3),h=e._getLength();if(h){const t=e._getSymbolSize();t>_&&(_=t);for(let t=0;t<h;t++){const h=e._getItem(t);if(h){[i?h[i]:null,n?h[n]:null,a?h[a]:null].forEach(t=>{if(_DataInfo.isValid(t)&&null!==t){(isNaN(s)||t<s)&&(s=t);(isNaN(r)||t>r)&&(r=t)}})}}}}var c=n-i;return!(h===wijmo_1.DataType.Date&&this.isVolume||h===wijmo_1.DataType.Number)||this.chart._getChartType()!==ChartType.Column&&this.chart._getChartType()!==ChartType.Candlestick?this.chart._isRotated()?new wijmo_1.Rect(s,i,r-s,c):new wijmo_1.Rect(i,s,c,r-s):new wijmo_1.Rect(i-.5*a,s,n-i+a,r-s)}plotSeries(t,e,i,s,n,r,a,h){var o=wijmo_1.asType(s,SeriesBase),l=this.chart.series.indexOf(s),_=s.getValues(0),c=s.getValues(1),d=this._symWidth,u=this.chart._isRotated();if(!_)return;c||(c=this.dataInfo.getXVals());if(c){const t=this.dataInfo.getDeltaX();t>0&&!1===this._isPixel&&(d*=t)}var g=_.length,m=!0;if(c)g=Math.min(g,c.length);else{m=!1;c=new Array(g)}var p=this._DEFAULT_WIDTH,f=o._getSymbolFill(l),x=o._getAltSymbolFill(l)||"transparent",w=o._getSymbolStroke(l),b=o._getAltSymbolStroke(l)||w,y=void 0===this._isPixel?o._getSymbolSize():d;t.stroke=w;t.strokeWidth=p;t.fill=f;var S,v,C=o._getBinding(1),M=o._getBinding(2),T=o._getBinding(3),P=u?i.actualMin:e.actualMin,A=u?i.actualMax:e.actualMax,L=0,N=null,k=null;const E=this.getItemFormatter(s);for(let n=0;n<g;n++)if(N=o._getItem(n)){const r=m?c[n]:n;if(_DataInfo.isValid(r)&&P<=r&&r<=A){const a=_[n],h=C?N[C]:null,c=M?N[M]:null,d=T?N[T]:null;t.startGroup();if(this.isEqui&&null!==k){if(k[T]!==N[T]){S=k[T]<N[T]?x:f;v=k[T]<N[T]?b:w}}else{S=c<d?x:f;v=c<d?b:w}t.fill=S;t.stroke=v;t.strokeWidth=p;if(E){const s=new HitTestInfo(this.chart,new wijmo_1.Point(e.convert(r),i.convert(a)),ChartElement.SeriesSymbol);s._setData(o,n);E(t,s,()=>{this._drawSymbol(t,e,i,l,n,S,y,r,a,h,c,d,g)});t.cssPriority=!0}else this._drawSymbol(t,e,i,l,n,S,y,r,a,h,c,d,g);t.endGroup();s._setPointIndex(n,L);L++}k=N}}_drawSymbol(t,e,i,s,n,r,a,h,o,l,_,c,d){var u,g=null,m=null,p=null,f=null,x=this.chart._isRotated(),w=e.convert(h),b=e._axrect,y=a/2,S=0===n&&w-b.left<=y,v=n===d-1&&b.right-w<=y,C=x?new _DataPoint(s,n,o,h):new _DataPoint(s,n,h,o);if(x){const t=i;i=e;e=t}if(!1===this._isPixel){if(S){p=h;f=h+a}else if(v){p=h-a;f=h}else{p=h-.5*a;f=h+.5*a}if((p=e.convert(p))>(f=e.convert(f))){const t=p;p=f;f=t}}h=w;if(!1!==this._isPixel)if(S){p=h;f=h+a}else if(v){p=h-a;f=h}else{p=h-.5*a;f=h+.5*a}if(this.isCandle){if(_DataInfo.isValid(_)&&_DataInfo.isValid(c)){_=i.convert(_);c=i.convert(c);m=(g=Math.min(_,c))+Math.abs(_-c);if(x){t.drawRect(g,p,m-g||1,f-p||1);u=new _RectArea(new wijmo_1.Rect(g,p,m-g||1,f-p||1))}else{t.drawRect(p,g,f-p||1,m-g||1);u=new _RectArea(new wijmo_1.Rect(p,g,f-p||1,m-g||1))}u.tag=C;this.hitTester.add(u,s)}if(_DataInfo.isValid(o)){o=i.convert(o);if(null!==g)if(x){t.drawLine(m,h,o,h);u.rect.width=u.rect.width+o}else{t.drawLine(h,g,h,o);u.rect.top=o;u.rect.height=u.rect.height+o}}if(_DataInfo.isValid(l)){l=i.convert(l);if(null!==m)if(x){t.drawLine(g,h,l,h);u.rect.left=l;u.rect.width=u.rect.width+l}else{t.drawLine(h,m,h,l);u.rect.height=u.rect.height+l}}}else if(this.isEqui){if(_DataInfo.isValid(o)&&_DataInfo.isValid(l)){o=i.convert(o);l=i.convert(l);m=(g=Math.min(o,l))+Math.abs(o-l);t.drawRect(p,g,f-p||1,m-g||1);(u=new _RectArea(new wijmo_1.Rect(p,g,f-p||1,m-g||1))).tag=C;this.hitTester.add(u,s)}}else if(this.isArms){if(_DataInfo.isValid(_)&&_DataInfo.isValid(c)){_=i.convert(_);c=i.convert(c);m=(g=Math.min(_,c))+Math.abs(_-c);t.drawRect(p,g,f-p||1,m-g||1)}if(_DataInfo.isValid(o)&&null!==g){o=i.convert(o);t.drawLine(h,g,h,o)}if(_DataInfo.isValid(l)&&null!==m){l=i.convert(l);t.drawLine(h,m,h,l)}if(_DataInfo.isValid(o)&&_DataInfo.isValid(l)){t.fill="transparent";m=(g=Math.min(o,l))+Math.abs(o-l);t.drawRect(p,g,f-p||1,m-g||1);(u=new _RectArea(new wijmo_1.Rect(p,g,f-p||1,m-g||1))).tag=C;this.hitTester.add(u,s)}}else{if(_DataInfo.isValid(o)&&_DataInfo.isValid(l)){o=i.convert(o);l=i.convert(l);m=(g=Math.min(o,l))+Math.abs(o-l);if(x){t.drawLine(l,h,o,h);u=new _RectArea(new wijmo_1.Rect(g,p,m-g||1,f-p||1))}else{t.drawLine(h,l,h,o);u=new _RectArea(new wijmo_1.Rect(p,g,f-p||1,m-g||1))}u.tag=C;this.hitTester.add(u,s)}if(_DataInfo.isValid(_)){_=i.convert(_);x?t.drawLine(_,p,_,h):t.drawLine(p,_,h,_)}if(_DataInfo.isValid(c)){c=i.convert(c);x?t.drawLine(c,h,c,f):t.drawLine(h,c,f,c)}}}}exports._FinancePlotter=_FinancePlotter;class LineMarkers{constructor(){this._moveMarker=function(t){var e=t.currentTarget,i=this._markers,s=e.getAttribute("data-markerIndex");null!=s&&i[s].forEach(e=>{e._moveMarker(t)})};this._markers=[];this._bindMoveMarker=this._moveMarker.bind(this)}attach(t){var e,i=t.chart.hostElement,s=this._markers,n=i.getAttribute("data-markerIndex"),r=[];if(null!=n)if((r=s[n])&&wijmo_1.isArray(r))r.push(t);else{s[n]=[t];this._bindMoveEvent(i)}else{e=s.length;r=[t];s.push(r);i.setAttribute("data-markerIndex",e.toString());this._bindMoveEvent(i)}}detach(t){var e,i,s=t.chart.hostElement,n=this._markers,r=s.getAttribute("data-markerIndex");if(null!=r){(e=(i=n[r]).indexOf(t))>-1&&i.splice(e,1);if(0===i.length){(e=n.indexOf(i))>-1&&(n[e]=void 0);this._unbindMoveEvent(s)}}}_unbindMoveEvent(t){var e=this._bindMoveMarker;t.removeEventListener("mousemove",e);"ontouchstart"in window&&t.removeEventListener("touchmove",e)}_bindMoveEvent(t){var e=this._bindMoveMarker;t.addEventListener("mousemove",e);"ontouchstart"in window&&t.addEventListener("touchmove",e)}}var LineMarkerLines,LineMarkerInteraction,LineMarkerAlignment,lineMarkers=new LineMarkers;!function(t){t[t.None=0]="None";t[t.Vertical=1]="Vertical";t[t.Horizontal=2]="Horizontal";t[t.Both=3]="Both"}(LineMarkerLines=exports.LineMarkerLines||(exports.LineMarkerLines={}));!function(t){t[t.None=0]="None";t[t.Move=1]="Move";t[t.Drag=2]="Drag"}(LineMarkerInteraction=exports.LineMarkerInteraction||(exports.LineMarkerInteraction={}));!function(t){t[t.Auto=2]="Auto";t[t.Right=0]="Right";t[t.Left=1]="Left";t[t.Bottom=4]="Bottom";t[t.Top=6]="Top"}(LineMarkerAlignment=exports.LineMarkerAlignment||(exports.LineMarkerAlignment={}));class LineMarker{constructor(t,e){this._wrapperMousedown=null;this._wrapperMouseup=null;this._savedPosition=new wijmo_1.Point;this.positionChanged=new wijmo_1.Event;this._chart=t;t._markers.push(this);t.rendered.addHandler(this._initialize,this);this._resetDefaultValue();wijmo_1.copy(this,e);this._initialize()}get chart(){return this._chart}get isVisible(){return this._isVisible}set isVisible(t){if(t!==this._isVisible){this._isVisible=wijmo_1.asBoolean(t);this._marker&&this._toggleVisibility()}}get seriesIndex(){return this._seriesIndex}set seriesIndex(t){t!==this._seriesIndex&&(this._seriesIndex=wijmo_1.asNumber(t,!0))}get horizontalPosition(){return this._horizontalPosition}set horizontalPosition(t){if(t!==this._horizontalPosition){this._horizontalPosition=wijmo_1.asNumber(t,!0);this._savedPosition.x=this._horizontalPosition;if(this._horizontalPosition<0||this._horizontalPosition>1)throw"horizontalPosition's value should be in (0, 1).";this._marker&&this._updateMarkerPosition()}}get x(){var t=this._chart.axisX;const e=this.chart.pageToControl(this._targetPoint);return t.convertBack(e.x)}get y(){var t=this._chart.axisY;const e=this.chart.pageToControl(this._targetPoint);return t.convertBack(e.y)}get content(){return this._content}set content(t){if(t!==this._content){this._content=wijmo_1.asFunction(t);this._updateMarkerPosition()}}get verticalPosition(){return this._verticalPosition}set verticalPosition(t){if(t!==this._verticalPosition){this._verticalPosition=wijmo_1.asNumber(t,!0);this._savedPosition.y=this._verticalPosition;if(this._verticalPosition<0||this._verticalPosition>1)throw"verticalPosition's value should be in (0, 1).";this._marker&&this._updateMarkerPosition()}}get alignment(){return this._alignment}set alignment(t){if(t!==this._alignment){this._alignment=t;this._marker&&this._updatePositionByAlignment()}}get lines(){return this._lines}set lines(t){if((t=wijmo_1.asEnum(t,LineMarkerLines))!=this._lines){this._lines=t;this._marker&&this._resetLinesVisibility()}}get interaction(){return this._interaction}set interaction(t){if((t=wijmo_1.asEnum(t,LineMarkerInteraction))!=this._interaction){this._marker&&this._detach();this._interaction=t;this._marker&&this._attach();this._toggleElesDraggableClass(this._interaction==LineMarkerInteraction.Drag)}}get dragThreshold(){return this._dragThreshold}set dragThreshold(t){t!=this._dragThreshold&&(this._dragThreshold=wijmo_1.asNumber(t))}get dragContent(){return this._dragContent}set dragContent(t){t!==this._dragContent&&(this._dragContent=wijmo_1.asBoolean(t));wijmo_1.toggleClass(this._dragEle,LineMarker._CSS_LINE_DRAGGABLE,this._interaction===LineMarkerInteraction.Drag&&this._dragContent&&this._lines!==LineMarkerLines.None)}get dragLines(){return this._dragLines}set dragLines(t){t!=this._dragLines&&(this._dragLines=wijmo_1.asBoolean(t))}onPositionChanged(t){this.positionChanged.raise(this,t)}remove(){var t=this._chart;if(this._marker){t.rendered.removeHandler(this._initialize,this);this._detach();this._removeMarker();this._wrapperMoveMarker=null;this._wrapperMousedown=null;this._wrapperMouseup=null}}_attach(){var t=this._chart.hostElement;this._interaction!==LineMarkerInteraction.None?wijmo_1.addClass(t,LineMarker._CSS_TOUCH_DISABLED):wijmo_1.removeClass(t,LineMarker._CSS_TOUCH_DISABLED);lineMarkers.attach(this);this._attachDrag()}_attachDrag(){if(this._interaction===LineMarkerInteraction.Drag){this._wrapperMousedown||(this._wrapperMousedown=this._onMousedown.bind(this));this._wrapperMouseup||(this._wrapperMouseup=this._onMouseup.bind(this));this._toggleDragEventAttach(!0)}}_detach(){wijmo_1.removeClass(this._chart.hostElement,LineMarker._CSS_TOUCH_DISABLED);lineMarkers.detach(this);this._detachDrag()}_detachDrag(){this._interaction===LineMarkerInteraction.Drag&&this._toggleDragEventAttach(!1)}_toggleDragEventAttach(t){var e=this._chart.hostElement,i=t?"addEventListener":"removeEventListener";e[i]("mousedown",this._wrapperMousedown);document[i]("mouseup",this._wrapperMouseup);"ontouchstart"in window&&e[i]("touchstart",this._wrapperMousedown);"ontouchend"in window&&document[i]("touchend",this._wrapperMouseup)}_onMousedown(t){var e,i,s,n,r,a=this._getEventPoint(t);if(this._interaction===LineMarkerInteraction.Drag){n=!(0===(e=wijmo_1.getElementRect(this._hLine)).width||0===e.height);r=!(0===(i=wijmo_1.getElementRect(this._vLine)).width||0===i.height);s=wijmo_1.getElementRect(this._markerContent);if(this._dragContent&&this._pointInRect(a,s)){this._capturedEle=this._markerContent;this._contentDragStartPoint=new wijmo_1.Point(a.x,a.y);this._mouseDownCrossPoint=new wijmo_1.Point(this._targetPoint.x,this._targetPoint.y)}else if(n&&(Math.abs(e.top-a.y)<=this._dragThreshold||Math.abs(a.y-e.top-e.height)<=this._dragThreshold||a.y>=e.top&&a.y<=e.top+e.height)){this._capturedEle=this._hLine;this._contentDragStartPoint=void 0;wijmo_1.addClass(this._chart.hostElement,LineMarker._CSS_LINE_DRAGGABLE)}else if(r&&(Math.abs(i.left-a.x)<=this._dragThreshold||Math.abs(a.x-i.left-i.width)<=this._dragThreshold||a.x>=i.left&&a.x<=i.left+i.width)){this._capturedEle=this._vLine;this._contentDragStartPoint=void 0;wijmo_1.addClass(this._chart.hostElement,LineMarker._CSS_LINE_DRAGGABLE)}t.preventDefault()}}_onMouseup(t){var e=this._alignment===LineMarkerAlignment.Auto&&this._capturedEle===this._markerContent&&this._lines!==LineMarkerLines.None;this._capturedEle=void 0;this._contentDragStartPoint=void 0;this._mouseDownCrossPoint=void 0;if(e){this._updatePositionByAlignment();this._updatePositionByAlignment()}wijmo_1.removeClass(this._chart.hostElement,LineMarker._CSS_LINE_DRAGGABLE)}_moveMarker(t){var e,i,s,n,r,a,h=this._chart,o=this._getEventPoint(t),l=this._plotRect,_=this._interaction===LineMarkerInteraction.Drag,c=this._lines===LineMarkerLines.Horizontal,d=this._lines===LineMarkerLines.Vertical,u=this._seriesIndex,g=wijmo_1.getElementRect(h.hostElement);if(l&&this._isVisible&&this._interaction!==LineMarkerInteraction.None&&(this._interaction!==LineMarkerInteraction.Drag||this._capturedEle&&this._lines!==LineMarkerLines.None)){if(_)if(this._contentDragStartPoint){o.x=c?this._targetPoint.x:this._mouseDownCrossPoint.x+o.x-this._contentDragStartPoint.x;o.y=d?this._targetPoint.y:this._mouseDownCrossPoint.y+o.y-this._contentDragStartPoint.y}else c||!this._dragLines&&this._capturedEle===this._hLine?o.x=this._targetPoint.x:(d||!this._dragLines&&this._capturedEle===this._vLine)&&(o.y=this._targetPoint.y);if(_&&this._lines===LineMarkerLines.Horizontal||!this._dragLines&&this._capturedEle===this._hLine){if(o.y<=l.top||o.y>=l.top+l.height)return}else if(_&&this._lines===LineMarkerLines.Vertical||!this._dragLines&&this._capturedEle===this._vLine){if(o.x<=l.left||o.x>=l.left+l.width)return}else{const t=this._getTop();if(o.x<=l.left||o.y<=t||o.x>=l.left+l.width||o.y>=t+l.height)return}if(null!=u&&u>=0&&u<h.series.length){if(null==(i=(e=h.series[u]).hitTest(new wijmo_1.Point(o.x,NaN)))||null==i.x||null==i.y)return;s=e.axisX||h.axisX;n=e._getAxisY();r=wijmo_1.isDate(i.x)?FlexChartCore._toOADate(i.x):i.x;r=wijmo_1.isString(r)?i.pointIndex:r;a=wijmo_1.isDate(i.y)?FlexChartCore._toOADate(i.y):i.y;const t=this._getElementPaddingValuee(h.hostElement,"padding-left"),l=this._getElementPaddingValuee(h.hostElement,"padding-top");o.x=s.convert(r)+t+g.left;this.chart._stacking!=Stacking.None&&(a=this._calcStackedValue(u,r,a));o.y=n.convert(a)+l+g.top}this._updateMarkerPosition(o);t.preventDefault()}}_calcStackedValue(t,e,i){let s=i;const n=this.chart._stacking==Stacking.Stacked100pc;for(let r=0;r<t;r++){const t=this.chart.series[r],a=t.getValues(1),h=t.getValues(0);if(h)for(let t=0;t<h.length;t++){if(e===(a?a[t]:t)){isFinite(h[t])&&(n||this._sign(i)==this._sign(h[t]))&&(s+=h[t]);break}}}if(n&&s){s/=this.chart._dataInfo.getStackedAbsSum(e);s>1&&(s=1)}return s}_sign(t){return t>0?1:t<0?-1:0}_getElementPaddingValuee(t,e){return+window.getComputedStyle(t,null).getPropertyValue(e).replace("px","")}_show(t){(t||this._marker).style.display="block"}_hide(t){(t||this._marker).style.display="none"}_toggleVisibility(){this._isVisible?this._show():this._hide()}_resetDefaultValue(){this._isVisible=!0;this._alignment=LineMarkerAlignment.Auto;this._lines=LineMarkerLines.None;this._interaction=LineMarkerInteraction.None;this._horizontalPosition=null;this._verticalPosition=null;this._content=null;this._seriesIndex=null;this._dragThreshold=15;this._dragContent=!1;this._dragLines=!1;this._targetPoint=new wijmo_1.Point}_initialize(){var t,e=this._chart.hostElement.querySelector("."+FlexChartCore._CSS_PLOT_AREA);this._plot=e;this._marker||this._createMarker();if(e){this._plotRect=wijmo_1.getElementRect(e);t=e.getBBox();this._plotRect.width=t.width;this._plotRect.height=t.height;this._updateMarkerSize();this._updateLinesSize()}this._updateMarkerPosition();this._wrapperMoveMarker=this._moveMarker.bind(this);this._attach()}_createMarker(){var t,e;t=document.createElement("div");wijmo_1.addClass(t,LineMarker._CSS_MARKER);(e=this._getContainer()).appendChild(t);this._markerContainer=e;this._marker=t;this._createChildren()}_removeMarker(){var t=this._markerContainer;t.removeChild(this._marker);this._content=null;this._hLine=null;this._vLine=null;if(!t.hasChildNodes()){this._chart.hostElement.removeChild(this._markerContainer);this._markerContainer=null}this._marker=null}_getContainer(){var t=this._chart.hostElement.querySelector(LineMarker._CSS_MARKER_CONTAINER);t||(t=this._createContainer());return t}_createContainer(){var t=document.createElement("div"),e=this._chart.hostElement;wijmo_1.addClass(t,LineMarker._CSS_MARKER_CONTAINER);e.insertBefore(t,e.firstChild);return t}_createChildren(){var t,e,i,s,n=this._marker;(s=document.createElement("div")).style.position="absolute";s.style.height="100%";s.style.width="100%";n.appendChild(s);this._dragEle=s;t=document.createElement("div");wijmo_1.addClass(t,LineMarker._CSS_MARKER_CONTENT);n.appendChild(t);this._markerContent=t;e=document.createElement("div");wijmo_1.addClass(e,LineMarker._CSS_MARKER_HLINE);n.appendChild(e);this._hLine=e;i=document.createElement("div");wijmo_1.addClass(i,LineMarker._CSS_MARKER_VLINE);n.appendChild(i);this._vLine=i;this._toggleElesDraggableClass(this._interaction===LineMarkerInteraction.Drag);this._resetLinesVisibility()}_toggleElesDraggableClass(t){wijmo_1.toggleClass(this._hLine,LineMarker._CSS_LINE_DRAGGABLE,t);wijmo_1.toggleClass(this._vLine,LineMarker._CSS_LINE_DRAGGABLE,t);wijmo_1.toggleClass(this._dragEle,LineMarker._CSS_LINE_DRAGGABLE,t&&this._dragContent&&this._lines!==LineMarkerLines.None)}_updateMarkerSize(){var t=this._plotRect,e=this._chart.hostElement,i=window.getComputedStyle(e,null),s=wijmo_1.getElementRect(e);if(this._marker){this._marker.style.marginTop=t.top-s.top-(parseFloat(i.getPropertyValue("padding-top"))||0)+"px";this._marker.style.marginLeft=t.left-s.left-(parseFloat(i.getPropertyValue("padding-left"))||0)+"px"}}_updateLinesSize(){var t=this._plotRect;if(this._hLine&&this._vLine){this._hLine.style.width=t.width+"px";this._vLine.style.height=t.height+"px"}}_resetLinesVisibility(){if(this._hLine&&this._vLine){this._hide(this._hLine);this._hide(this._vLine);this._lines!==LineMarkerLines.Horizontal&&this._lines!==LineMarkerLines.Both||this._show(this._hLine);this._lines!==LineMarkerLines.Vertical&&this._lines!==LineMarkerLines.Both||this._show(this._vLine)}}_updateMarkerPosition(t){var e,i,s=this._plotRect,n=this._targetPoint,r=!1;this._interaction,LineMarkerInteraction.Drag;if(this._plot){e=s.left+s.width*(this._horizontalPosition||0);i=s.top+s.height*(this._verticalPosition||0);null==this._horizontalPosition&&t?e=t.x:this._savedPosition.x>0&&(e=s.left+s.width*this._savedPosition.x);null==this._verticalPosition&&t?i=t.y:this._savedPosition.y>0&&(i=s.top+s.height*this._savedPosition.y);e===n.x&&i===n.y||(r=!0);n.x=e;n.y=i;this._savedPosition.x=wijmo_1.clamp((e-s.left)/s.width,0,1);this._savedPosition.y=wijmo_1.clamp((i-s.top)/s.height,0,1);this._toggleVisibility();this._content&&this._updateContent();r&&this._raisePositionChanged(e,i);this._updatePositionByAlignment(!!t)}}_updateContent(){var t,e=this._chart,i=this._targetPoint,s=e.hitTest(i);t=this._content.call(null,s,i);this._markerContent.innerHTML=t||""}_raisePositionChanged(t,e){this._plotRect;this.onPositionChanged(new wijmo_1.Point(t,e))}_updatePositionByAlignment(t){var e=this._alignment,i=this._targetPoint,s=this._marker,n=0,r=0,a=s.clientWidth,h=s.clientHeight,o=this._plotRect;if(!this._plot)return;const l=this._getTop();if(!this._capturedEle||this._capturedEle&&this._capturedEle!==this._markerContent){if(e===LineMarkerAlignment.Auto){i.x+a+12>o.left+o.width&&i.x-a>=0&&(r=a);n=h;i.y-h<l&&(n=0)}else{1==(1&e)&&(r=a);2==(2&e)&&(n=h)}this._interaction===LineMarkerInteraction.Move&&0===n&&0===r&&null==this.verticalPosition&&(r=-12)}else{parseInt(this._hLine.style.top)>0&&(n=h);parseInt(this._vLine.style.left)>0&&(r=a)}s.style.left=i.x-r-o.left+"px";s.style.top=i.y-n-l+"px";this._hLine.style.top=n+"px";this._hLine.style.left=o.left-i.x+r+"px";this._vLine.style.top=l-i.y+n+"px";this._vLine.style.left=r+"px"}_getEventPoint(t){return t instanceof MouseEvent?new wijmo_1.Point(t.pageX,t.pageY):new wijmo_1.Point(t.changedTouches[0].pageX,t.changedTouches[0].pageY)}_pointInRect(t,e){return!(!t||!e)&&(t.x>=e.left&&t.x<=e.left+e.width&&t.y>=e.top&&t.y<=e.top+e.height)}_getTop(){let t=0;const e=this.chart._getHostComputedStyle();if(e){t+=this.chart._parsePx(e.paddingTop);t+=this.chart._parsePx(e.borderTopWidth);t+=this.chart._parsePx(e.marginTop)}return this._chart._plotRect.top+this._plot.getBoundingClientRect().top-t}}LineMarker._CSS_MARKER=exports.LineMarkerClsNames.linemarker;LineMarker._CSS_MARKER_HLINE=exports.LineMarkerClsNames.hline;LineMarker._CSS_MARKER_VLINE=exports.LineMarkerClsNames.vline;LineMarker._CSS_MARKER_CONTENT=exports.LineMarkerClsNames.content;LineMarker._CSS_MARKER_CONTAINER=exports.LineMarkerClsNames.container;LineMarker._CSS_LINE_DRAGGABLE=exports.LineMarkerClsNames.draggable;LineMarker._CSS_TOUCH_DISABLED=exports.FlexChartClsNames.touchDisabled;exports.LineMarker=LineMarker;class _LinePlotter extends _BasePlotter{constructor(){super();this.hasSymbols=!1;this.hasLines=!0;this.isSpline=!1;this.isStep=!1;this.hitTestSymbols=!0;this.stacking=Stacking.None;this.stackPos={};this.stackNeg={};this.clipping=!1}clear(){super.clear();this.stackNeg={};this.stackPos={}}adjustLimits(t,e){this.dataInfo=t;var i=t.getMinX(),s=t.getMinY(),n=t.getMaxX(),r=t.getMaxY();if(this.isSpline&&!this.chart.axisY._getLogBase()){const t=.1*(r-s);s-=t;r+=t}return this.rotated?new wijmo_1.Rect(s,i,r-s,n-i):new wijmo_1.Rect(i,s,n-i,r-s)}plotSeries(t,e,i,s,n,r,a,h){var o=[],l=wijmo_1.asType(s,SeriesBase),_=this.chart.series.indexOf(s),c=s.getValues(0),d=s.getValues(1);if(!c)return;d||(d=this.dataInfo.getXVals());var u=_BasePlotter.cloneStyle(s.style,["fill"]),g=c.length,m=!0;if(d)g=Math.min(g,d.length);else{m=!1;d=new Array(g)}var p=this._DEFAULT_WIDTH,f=l._getSymbolFill(_),x=l._getAltSymbolFill(_)||f,w=l._getSymbolStroke(_),b=l._getAltSymbolStroke(_)||w,y=l._getSymbolSize();t.stroke=w;t.strokeWidth=p;t.fill=f;const S=new Float64Array(g),v=new Float64Array(g);let C=0;const M=new Int8Array(g);let T=0;var P=this.rotated,A=this.stacking!=Stacking.None&&!l._isCustomAxisY(),L=this.stacking==Stacking.Stacked100pc&&!l._isCustomAxisY();void 0!==l._getChartType()&&(A=L=!1);var N=l.interpolateNulls,k=!1;const E=this.getItemFormatter(s);var j;for(let t=0;t<g;t++){let s=m?d[t]:t,n=c[t];if(isFinite(s)&&isFinite(n)){if(A){if(L){n/=this.dataInfo.getStackedAbsSum(s)}if(n>=0){const t=isNaN(this.stackPos[s])?0:this.stackPos[s];n=this.stackPos[s]=t+n}else{const t=isNaN(this.stackNeg[s])?0:this.stackNeg[s];n=this.stackNeg[s]=t+n}}if(P){j=new _DataPoint(_,t,n,s);const r=e.convert(n);n=i.convert(s);s=r}else{j=new _DataPoint(_,t,s,n);s=e.convert(s);n=i.convert(n)}if(isNaN(s)||isNaN(n)){k=!0;if(!0!==N){S[C]=NaN;v[C++]=NaN}M[T++]=1;h&&o.push(null)}else{S[C]=s;v[C++]=n;T++;h&&o.push(new wijmo_1.Point(s,n));if(this.hitTestSymbols){const t=new _CircleArea(new wijmo_1.Point(s,n),.5*y);t.tag=j;this.hitTester.add(t,_)}}}else{k=!0;if(!0!==N){S[C]=NaN;v[C++]=NaN}M[T++]=1;h&&o.push(null)}}var I=0;if(this.hasLines){t.fill=null;if(k&&!0!==N){let e=[],i=[];for(let s=0;s<g;s++)if(isNaN(S[s])){if(e.length>1){this._drawLines(t,e,i,null,u,this.chart._plotrectId);this.hitTester.add(new _LinesArea(e,i),_);I++}e=[];i=[]}else{e.push(S[s]);i.push(v[s])}if(e.length>1){this._drawLines(t,e,i,null,u,this.chart._plotrectId);this.hitTester.add(new _LinesArea(e,i),_);I++}}else{this._drawLines(t,S,v,null,u,this.chart._plotrectId,C);this.hitTester.add(new _LinesArea(S,v),_);I++}}if(this.hasSymbols&&y>0||E){t.fill=f;let n=0;for(let r=0;r<g;r++){if(N&&M[r])continue;const a=S[n],h=v[n];if(!1===this.hasLines||E){t.fill=c[r]>0?f:x;t.stroke=c[r]>0?w:b;t.strokeWidth=p}if(this.isValid(a,h,e,i)){this._drawSymbol(t,a,h,y,l,r,E);s._setPointIndex(r,I);I++}n++}}h&&o&&o.length&&h(o)}_drawLines(t,e,i,s,n,r,a){if(this.isSpline&&a>3)t.drawSplines(e,i,s,n,r,a);else if(this.isStep){const h=this._createSteps(e,i,a);e=h.x;i=h.y;t.drawLines(e,i,s,n,r)}else t.drawLines(e,i,s,n,r,a)}_drawSymbol(t,e,i,s,n,r,a){if(a){t.startGroup();const h=new HitTestInfo(this.chart,new wijmo_1.Point(e,i),ChartElement.SeriesSymbol);h._setData(n,r);a(t,h,()=>{this.hasSymbols&&s>0&&this._drawDefaultSymbol(t,e,i,s,n.symbolMarker,n.symbolStyle)});t.cssPriority=!0;t.endGroup()}else this._drawDefaultSymbol(t,e,i,s,n.symbolMarker,n.symbolStyle)}_drawDefaultSymbol(t,e,i,s,n,r){n==Marker.Dot?t.drawEllipse(e,i,.5*s,.5*s,null,r):n==Marker.Box&&t.drawRect(e-.5*s,i-.5*s,s,s,null,r)}}exports._LinePlotter=_LinePlotter;class _BubblePlotter extends _LinePlotter{constructor(){super();this._MIN_SIZE=5;this._MAX_SIZE=30;this.hasLines=!1;this.hasSymbols=!0;this.clipping=!0;this.hitTestSymbols=!1}adjustLimits(t,e){var i=this.getNumOption("minSize","bubble");this._minSize=i||this._MIN_SIZE;var s=this.getNumOption("maxSize","bubble");this._maxSize=s||this._MAX_SIZE;var n=this.chart.series,r=n.length,a=NaN,h=NaN;for(let t=0;t<r;t++){const e=n[t];if(e._getChartType()==ChartType.Bubble||null==e._getChartType()&&e._chart._getChartType()==ChartType.Bubble){const t=e._getBindingValues(1);if(t){const e=t.length;for(let i=0;i<e;i++)if(isFinite(t[i])){(isNaN(a)||t[i]<a)&&(a=t[i]);(isNaN(h)||t[i]>h)&&(h=t[i])}}}}this._minValue=a;this._maxValue=h;const o=super.adjustLimits(t,e);let l=e.left,_=e.right,c=e.top,d=e.bottom;for(let t=0;t<r;t++){const i=n[t];if(i._getChartType()==ChartType.Bubble||null==i._getChartType()&&i._chart._getChartType()==ChartType.Bubble){const t=i._getBindingValues(1),s=i.getValues(1),n=i.getValues(0);if(t&&s&&n){const i=t.length;for(let r=0;r<i;r++){let i=s?s[r]:r,u=n[r],g=t[r];if(_DataInfo.isValid(i,u,g)){i=e.left+e.width*(i-o.left)/o.width;u=e.top+e.height*(u-o.top)/o.height;g=this._minSize+(this._maxSize-this._minSize)*(g-a)/(h-a);i-g<l&&(l=i-g);i+g>_&&(_=i+g);u-g<c&&(c=u-g);u+g>d&&(d=u+g)}}}}}l=e.left-l+5;_=_-e.right+5;c=e.top-c+5;d=d-e.bottom+5;var u=this.chart.axisX,g=this.chart.axisY;if(!u._isLogAxis())if(this.stacking==Stacking.Stacked100pc&&this.rotated){const t=(e.width-this._maxSize)/o.width;o.left-=.5*this._maxSize/t;o.width+=this._maxSize/t}else{const t=(e.width-(l+_))/o.width;o.left-=l/t;o.width+=(l+_)/t}if(!g._isLogAxis())if(this.stacking!=Stacking.Stacked100pc||this.rotated){const t=(e.height-(c+d))/o.height;o.top-=c/t;o.height+=(c+d)/t}else{const t=(e.height-this._maxSize)/o.height;o.top-=.5*this._maxSize/t;o.height+=this._maxSize/t}return o}_drawSymbol(t,e,i,s,n,r,a){if(null==this._minSize){const t=this.getNumOption("minSize","bubble");this._minSize=t||this._MIN_SIZE}if(null==this._maxSize){const t=this.getNumOption("maxSize","bubble");this._maxSize=t||this._MAX_SIZE}const h=n._getItem(r);if(h){const s=n._getBinding(1);if(s){let o=h[s];if(isFinite(o)){null==o&&(o=this._minValue);const s=this._minValue==this._maxValue?1:Math.sqrt((o-this._minValue)/(this._maxValue-this._minValue));o=this._minSize+(this._maxSize-this._minSize)*s;if(a){const s=new HitTestInfo(this.chart,new wijmo_1.Point(e,i),ChartElement.SeriesSymbol);s._setData(n,r);t.startGroup();a(t,s,()=>{this._drawDefaultSymbol(t,e,i,o,n.symbolMarker,n.symbolStyle)});t.endGroup()}else this._drawDefaultSymbol(t,e,i,o,n.symbolMarker,n.symbolStyle);let h=n.getValues(1);h||(h=this.dataInfo.getXVals());const l=h?h[r]:r,_=n.getValues(0)[r],c=this.chart.series.indexOf(n),d=new _CircleArea(new wijmo_1.Point(e,i),.5*o);d.tag=new _DataPoint(c,r,l,_);this.hitTester.add(d,c)}}}}}exports._BubblePlotter=_BubblePlotter;wijmo_1._registerModule("wijmo.chart",selfModule);