evui 3.3.55 → 3.3.56

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.
package/dist/evui.umd.js CHANGED
@@ -4323,7 +4323,7 @@ var update = add("5ac4a7d0", content, true, {"sourceMap":false,"shadowMode":fals
4323
4323
  var ___CSS_LOADER_API_IMPORT___ = __webpack_require__("24fb");
4324
4324
  exports = ___CSS_LOADER_API_IMPORT___(false);
4325
4325
  // Module
4326
- exports.push([module.i, ".ev-chart-brush-wrapper,.ev-chart-wrapper{display:block;position:relative;width:100%;height:100%}.ev-chart-brush-container,.ev-chart-container{position:relative;overflow:hidden;width:100%;height:100%}.ev-chart-title{top:0;left:0;width:100%;padding-left:10px;word-wrap:normal;white-space:nowrap;text-overflow:ellipsis;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ev-chart-legend,.ev-chart-title{position:absolute;overflow:hidden}.ev-chart-legend{padding:5px 0 0 0}.ev-chart-legend-container{position:relative}.ev-chart-legend-color,.ev-chart-legend-color--point-line{position:absolute;top:50%;left:0;transform:translateY(-50%);width:18px;height:4px}.ev-chart-legend-color--point-line:after{display:inline-block;position:absolute;top:-2px;left:5px;width:8px;height:8px;content:\" \";border-radius:50%;background-color:inherit}.ev-chart-legend-name{position:absolute;top:50%;left:0;width:100%;text-align:left;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;font-size:12px;margin-left:24px;padding-right:16px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;font-weight:400;transform:translateY(-50%)}.ev-chart-legend-name:hover{font-weight:700}.ev-chart-legend-value{float:right;text-align:left;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ev-chart-legend--table{width:100%;font-size:12px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border-collapse:collapse}.ev-chart-legend--table td,.ev-chart-legend--table th{padding:3px;text-align:center;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ev-chart-legend--table__row{cursor:pointer;min-height:18px}.ev-chart-legend--table__row:hover{font-weight:700}.ev-chart-legend--table__color{width:18px}.ev-chart-legend--table__color-wrapper{position:relative;min-width:18px}.ev-chart-legend--table__color--line{height:4px}.ev-chart-legend--table__color--point-line{position:absolute;top:50%;left:3px;transform:translateY(-50%);height:4px}.ev-chart-legend--table__color--point-line:after{display:inline-block;position:absolute;top:-2px;left:5px;width:8px;height:8px;content:\" \";border-radius:50%;background-color:inherit}.ev-chart-legend--table__name,.ev-chart-legend--table__value{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ev-chart-legend-line{position:relative;width:100%;height:100%;border-radius:10px;background-color:#e3e3e3}.ev-chart-legend-line-layer,.ev-chart-legend-thumb{position:absolute;top:0;left:0;width:100%;height:100%}.ev-chart-legend-thumb{border-radius:10px;color:#000}.ev-chart-legend-handle{position:absolute;top:0;left:0;cursor:pointer}.ev-chart-legend-handle.dragging,.ev-chart-legend-handle:hover{transform:scale(1.2)}.ev-chart-legend-handle-btn{width:100%;height:100%;border-radius:50%;background-color:#fff;transition:transform .1s ease-in-out;box-sizing:border-box;border:2px solid #979797}.ev-chart-legend-handle-btn-color{position:absolute;top:4px;left:4px;width:calc(100% - 8px);height:calc(100% - 8px);border-radius:50%}.ev-chart-legend-label{position:absolute;font-size:12px;line-height:1.4em}.ev-chart-legend-label-text{display:block;white-space:nowrap}.ev-chart-legend-overlay{position:absolute;top:0;left:0;width:100%;height:100%}.ev-chart-legend-overlay .ev-chart-legend-overlay-item{position:absolute;top:1px;left:1px;border-radius:50%;border:1px solid #fff;background-color:transparent}.ev-chart-legend-overlay .ev-chart-legend-overlay-tooltip{position:absolute;font-size:12px;line-height:1.4em}.ev-chart-resize-bar{position:absolute;background:transparent;opacity:.5;z-index:10}.ev-chart-resize-bar:hover,.ev-chart-resize-ghost{background-color:#e2e2e2}.ev-chart-resize-ghost{position:absolute;width:4px;height:100%;cursor:col-resize;opacity:.5}.ev-chart-resize-ghost.horizontal{width:100%;height:4px;cursor:row-resize}.ev-chart-tooltip{position:absolute;z-index:850;top:0;left:0;overflow-y:hidden;overflow-x:hidden;border-radius:8px}.ev-chart-tooltip .ev-chart-tooltip-header{padding:8px 16px 0 16px;overflow:hidden;font-size:16px}.ev-chart-tooltip .ev-chart-tooltip-header--wrap{word-wrap:break-word}.ev-chart-tooltip .ev-chart-tooltip-header--ellipsis{text-overflow:ellipsis;white-space:nowrap}.ev-chart-tooltip .ev-chart-tooltip-body{overflow-x:hidden;overflow-y:hidden}", ""]);
4326
+ exports.push([module.i, ".ev-chart-brush-wrapper,.ev-chart-wrapper{display:block;position:relative;width:100%;height:100%}.ev-chart-brush-container,.ev-chart-container{position:relative;overflow:hidden;width:100%;height:100%}.ev-chart-title{top:0;left:0;width:100%;padding-left:10px;word-wrap:normal;white-space:nowrap;text-overflow:ellipsis;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ev-chart-legend,.ev-chart-title{position:absolute;overflow:hidden}.ev-chart-legend{padding:5px 0 0 0}.ev-chart-legend-container{position:relative}.ev-chart-legend-color,.ev-chart-legend-color--point-line{position:absolute;top:50%;left:0;transform:translateY(-50%);width:18px;height:4px}.ev-chart-legend-color--point-line:after{display:inline-block;position:absolute;top:-2px;left:5px;width:8px;height:8px;content:\" \";border-radius:50%;background-color:inherit}.ev-chart-legend-name{position:absolute;top:50%;left:0;width:100%;text-align:left;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;font-size:12px;margin-left:24px;padding-right:16px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;font-weight:400;transform:translateY(-50%)}.ev-chart-legend-name:hover{font-weight:700}.ev-chart-legend-value{float:right;text-align:left;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ev-chart-legend--table{width:100%;font-size:12px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border-collapse:collapse}.ev-chart-legend--table td,.ev-chart-legend--table th{padding:3px;text-align:center;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ev-chart-legend--table__row{cursor:pointer;min-height:18px}.ev-chart-legend--table__row:hover{font-weight:700}.ev-chart-legend--table__color{width:18px}.ev-chart-legend--table__color-wrapper{position:relative;min-width:18px}.ev-chart-legend--table__color--line{height:4px}.ev-chart-legend--table__color--point-line{position:absolute;top:50%;left:3px;transform:translateY(-50%);height:4px}.ev-chart-legend--table__color--point-line:after{display:inline-block;position:absolute;top:-2px;left:5px;width:8px;height:8px;content:\" \";border-radius:50%;background-color:inherit}.ev-chart-legend--table__name,.ev-chart-legend--table__value{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ev-chart-legend-line{position:relative;width:100%;height:100%;border-radius:10px;background-color:#e3e3e3}.ev-chart-legend-line-layer,.ev-chart-legend-thumb{position:absolute;top:0;left:0;width:100%;height:100%}.ev-chart-legend-thumb{border-radius:10px;color:#000}.ev-chart-legend-handle{position:absolute;top:0;left:0;cursor:pointer}.ev-chart-legend-handle.dragging,.ev-chart-legend-handle:hover{transform:scale(1.2)}.ev-chart-legend-handle-btn{width:100%;height:100%;border-radius:50%;background-color:#fff;transition:transform .1s ease-in-out;box-sizing:border-box;border:2px solid #979797}.ev-chart-legend-handle-btn-color{position:absolute;top:4px;left:4px;width:calc(100% - 8px);height:calc(100% - 8px);border-radius:50%}.ev-chart-legend-label{position:absolute;font-size:12px;line-height:1.4em}.ev-chart-legend-label-text{display:block;white-space:nowrap}.ev-chart-legend-overlay{position:absolute;top:0;left:0;width:100%;height:100%}.ev-chart-legend-overlay .ev-chart-legend-overlay-item{position:absolute;top:1px;left:1px;border-radius:50%;border:1px solid #fff;background-color:transparent}.ev-chart-legend-overlay .ev-chart-legend-overlay-tooltip{position:absolute;font-size:12px;line-height:1.4em}.ev-chart-resize-bar{position:absolute;background:transparent;opacity:.5;z-index:10}.ev-chart-resize-bar:hover,.ev-chart-resize-ghost{background-color:#e2e2e2}.ev-chart-resize-ghost{position:absolute;width:4px;height:100%;cursor:col-resize;opacity:.5}.ev-chart-resize-ghost.horizontal{width:100%;height:4px;cursor:row-resize}.ev-chart-tooltip{position:absolute;z-index:850;top:0;left:0;overflow-y:hidden;overflow-x:hidden;border-radius:8px}.ev-chart-tooltip .ev-chart-tooltip-custom__header,.ev-chart-tooltip .ev-chart-tooltip-header{padding:8px 16px 0 16px;overflow:hidden;font-size:16px}.ev-chart-tooltip .ev-chart-tooltip-header--wrap{word-wrap:break-word}.ev-chart-tooltip .ev-chart-tooltip-header--ellipsis{text-overflow:ellipsis;white-space:nowrap}.ev-chart-tooltip .ev-chart-tooltip-body,.ev-chart-tooltip .ev-chart-tooltip-custom{overflow-x:hidden;overflow-y:hidden}.ev-chart-tooltip .ev-chart-tooltip-custom__body{padding:8px 20px 8px 16px;overflow-x:hidden;overflow-y:hidden}.ev-chart-tooltip .ev-chart-tooltip-custom__body .row{display:flex;flex-direction:row;align-items:center}.ev-chart-tooltip .ev-chart-tooltip-custom__body .series-name{flex:auto}.ev-chart-tooltip .ev-chart-tooltip-custom__body .value{text-align:right}.ev-chart-tooltip .ev-chart-tooltip-custom__body .color-circle,.ev-chart-tooltip .ev-chart-tooltip-custom__body .color-rect{width:12px;height:12px;margin-right:16px}.ev-chart-tooltip .ev-chart-tooltip-custom__body .color-circle{border-radius:12px}.ev-chart-scrollbar{position:absolute;z-index:3}.ev-chart-scrollbar-container{position:relative;top:0;left:0;width:100%;height:100%}.ev-chart-scrollbar-thumb,.ev-chart-scrollbar-track{position:absolute}.ev-chart-scrollbar-thumb:hover{opacity:.7}.ev-chart-scrollbar-button{position:absolute;text-align:center}.ev-chart-scrollbar-button:hover{opacity:.5!important}.ev-chart-scrollbar-button-icon{display:none;margin:0 auto;font-size:12px}", ""]);
4327
4327
  // Exports
4328
4328
  module.exports = exports;
4329
4329
 
@@ -8054,7 +8054,7 @@ $({ target: 'Number', stat: true }, {
8054
8054
  /***/ "9224":
8055
8055
  /***/ (function(module) {
8056
8056
 
8057
- module.exports = JSON.parse("{\"a\":\"3.3.55\"}");
8057
+ module.exports = JSON.parse("{\"a\":\"3.3.56\"}");
8058
8058
 
8059
8059
  /***/ }),
8060
8060
 
@@ -15648,6 +15648,9 @@ function getPrecision(v) {
15648
15648
  var decimal = (v === null || v === void 0 ? void 0 : v.toString().split('.')[1]) || 0;
15649
15649
  return decimal ? decimal.length : 0;
15650
15650
  }
15651
+ function checkNullAndUndefined(value) {
15652
+ return value === null || value === undefined;
15653
+ }
15651
15654
  // CONCATENATED MODULE: ./src/components/inputNumber/uses.js
15652
15655
 
15653
15656
 
@@ -32566,6 +32569,7 @@ var es_number_min_safe_integer = __webpack_require__("e6e1");
32566
32569
 
32567
32570
 
32568
32571
 
32572
+
32569
32573
  /* harmony default export */ var helpers_util = ({
32570
32574
  /**
32571
32575
  * Transforming hex to rgb code
@@ -32908,6 +32912,17 @@ var es_number_min_safe_integer = __webpack_require__("e6e1");
32908
32912
  */
32909
32913
  checkSafeInteger: function checkSafeInteger(value) {
32910
32914
  return value <= Number.MAX_SAFE_INTEGER && value >= Number.MIN_SAFE_INTEGER;
32915
+ },
32916
+
32917
+ /**
32918
+ * Convert html(string) To Element
32919
+ * @param htmlString
32920
+ * @returns {ChildNode}
32921
+ */
32922
+ htmlToElement: function htmlToElement(htmlString) {
32923
+ var template = document.createElement('template');
32924
+ template.innerHTML = htmlString.trim();
32925
+ return template.content.firstChild;
32911
32926
  }
32912
32927
  });
32913
32928
  // CONCATENATED MODULE: ./src/components/chart/model/model.store.js
@@ -33318,7 +33333,6 @@ var modules = {
33318
33333
  /**
33319
33334
  * Take data to create data for each series
33320
33335
  * @param {array} data data array for each series
33321
- * @param {object} label chart label
33322
33336
  *
33323
33337
  * @returns {array} data info added position and etc
33324
33338
  */
@@ -33919,7 +33933,7 @@ var modules = {
33919
33933
  * @returns {object} clicked label information
33920
33934
  */
33921
33935
  getLabelInfoByPosition: function getLabelInfoByPosition(offset, targetAxis) {
33922
- var _Object$values$sort$, _Object$values$sort$2, _scale, _scale$labels;
33936
+ var _Object$values$sort$, _Object$values$sort$2, _scrollbarOpt, _scale, _scale$labels, _scale3, _scale3$labels;
33923
33937
 
33924
33938
  var _offset2 = _slicedToArray(offset, 2),
33925
33939
  x = _offset2[0],
@@ -33942,13 +33956,17 @@ var modules = {
33942
33956
  horizontal = _this$options.horizontal,
33943
33957
  selectLabel = _this$options.selectLabel;
33944
33958
  var scale;
33959
+ var scrollbarOpt;
33945
33960
 
33946
33961
  if (targetAxis === 'xAxis') {
33947
33962
  scale = this.axesX[0];
33963
+ scrollbarOpt = this.scrollbar.x;
33948
33964
  } else if (targetAxis === 'yAxis') {
33949
33965
  scale = this.axesY[0];
33966
+ scrollbarOpt = this.scrollbar.y;
33950
33967
  } else {
33951
33968
  scale = horizontal ? this.axesY[0] : this.axesX[0];
33969
+ scrollbarOpt = horizontal ? this.scrollbar.y : this.scrollbar.x;
33952
33970
  }
33953
33971
 
33954
33972
  var startPoint = aPos[scale.units.rectStart];
@@ -33956,11 +33974,41 @@ var modules = {
33956
33974
  var labelIndex;
33957
33975
  var hitInfo;
33958
33976
 
33959
- if ((_scale = scale) !== null && _scale !== void 0 && (_scale$labels = _scale.labels) !== null && _scale$labels !== void 0 && _scale$labels.length) {
33960
- var labelGap = (endPoint - startPoint) / scale.labels.length;
33977
+ if ((_scrollbarOpt = scrollbarOpt) !== null && _scrollbarOpt !== void 0 && _scrollbarOpt.use && (_scale = scale) !== null && _scale !== void 0 && (_scale$labels = _scale.labels) !== null && _scale$labels !== void 0 && _scale$labels.length) {
33978
+ var _scrollbarOpt2 = scrollbarOpt,
33979
+ type = _scrollbarOpt2.type,
33980
+ range = _scrollbarOpt2.range,
33981
+ _scrollbarOpt2$interv = _scrollbarOpt2.interval,
33982
+ interval = _scrollbarOpt2$interv === void 0 ? 1 : _scrollbarOpt2$interv;
33983
+
33984
+ var _ref14 = range !== null && range !== void 0 ? range : [0, scale.labels.length],
33985
+ _ref15 = _slicedToArray(_ref14, 2),
33986
+ min = _ref15[0],
33987
+ max = _ref15[1];
33988
+
33989
+ var labelCount = Math.floor((+max - +min) / interval) + 1;
33990
+ var labelGap = (endPoint - startPoint) / labelCount;
33961
33991
  var isYAxis = targetAxis === 'yAxis' || horizontal;
33962
33992
  var index = Math.floor(((isYAxis ? y : x) - startPoint) / labelGap);
33963
- labelIndex = scale.labels.length > index ? index : -1;
33993
+
33994
+ if (type === 'step') {
33995
+ labelIndex = min + index;
33996
+ } else {
33997
+ var _scale2;
33998
+
33999
+ var minIndex = (_scale2 = scale) === null || _scale2 === void 0 ? void 0 : _scale2.labels.findIndex(function (label) {
34000
+ return label === +min;
34001
+ });
34002
+ labelIndex = minIndex + index;
34003
+ }
34004
+ } else if ((_scale3 = scale) !== null && _scale3 !== void 0 && (_scale3$labels = _scale3.labels) !== null && _scale3$labels !== void 0 && _scale3$labels.length) {
34005
+ var _labelGap = (endPoint - startPoint) / scale.labels.length;
34006
+
34007
+ var _isYAxis = targetAxis === 'yAxis' || horizontal;
34008
+
34009
+ var _index = Math.floor(((_isYAxis ? y : x) - startPoint) / _labelGap);
34010
+
34011
+ labelIndex = scale.labels.length > _index ? _index : -1;
33964
34012
  } else {
33965
34013
  var _hitInfo$maxIndex;
33966
34014
 
@@ -35047,6 +35095,17 @@ var AXIS_OPTION = {
35047
35095
  textAlign: 'right',
35048
35096
  fontStyle: 'normal',
35049
35097
  color: '#808080'
35098
+ },
35099
+ scrollbar: {
35100
+ use: false,
35101
+ width: 14,
35102
+ height: 14,
35103
+ background: '#F2F2F2',
35104
+ showButton: true,
35105
+ thumbStyle: {
35106
+ background: '#929292',
35107
+ radius: 0
35108
+ }
35050
35109
  }
35051
35110
  };
35052
35111
  var PLOT_LINE_OPTION = {
@@ -36165,6 +36224,7 @@ var element_scatter_Scatter = /*#__PURE__*/function () {
36165
36224
 
36166
36225
 
36167
36226
 
36227
+
36168
36228
  var element_bar_Bar = /*#__PURE__*/function () {
36169
36229
  function Bar(sId, opt, sIdx, isHorizontal) {
36170
36230
  var _this = this;
@@ -36228,19 +36288,37 @@ var element_bar_Bar = /*#__PURE__*/function () {
36228
36288
  var y;
36229
36289
  var minmaxX = axesSteps.x[this.xAxisIndex];
36230
36290
  var minmaxY = axesSteps.y[this.yAxisIndex];
36291
+ var totalCount = this.data.length;
36292
+ var minIndex;
36293
+ var maxIndex;
36294
+
36295
+ if (isHorizontal) {
36296
+ var _ref = [minmaxY.minIndex, minmaxY.maxIndex];
36297
+ minIndex = _ref[0];
36298
+ maxIndex = _ref[1];
36299
+ } else {
36300
+ var _ref2 = [minmaxX.minIndex, minmaxX.maxIndex];
36301
+ minIndex = _ref2[0];
36302
+ maxIndex = _ref2[1];
36303
+ }
36304
+
36305
+ if (truthyNumber(minIndex) && truthyNumber(maxIndex)) {
36306
+ totalCount = maxIndex - minIndex + 1;
36307
+ }
36308
+
36231
36309
  var xArea = chartRect.chartWidth - (labelOffset.left + labelOffset.right);
36232
36310
  var yArea = chartRect.chartHeight - (labelOffset.top + labelOffset.bottom);
36233
36311
  var xsp = chartRect.x1 + labelOffset.left;
36234
36312
  var ysp = chartRect.y2 - labelOffset.bottom;
36235
36313
  var dArea = isHorizontal ? yArea : xArea;
36236
- var cArea = dArea / (this.data.length || 1);
36314
+ var cArea = dArea / (totalCount || 1);
36237
36315
  var cPad;
36238
36316
  var isUnableToDrawCategoryPadding = param.cPadRatio >= 1 || param.cPadRatio <= 0;
36239
36317
 
36240
36318
  if (isUnableToDrawCategoryPadding) {
36241
36319
  cPad = 2;
36242
36320
  } else {
36243
- cPad = Math.max(dArea * (param.cPadRatio / 2) / this.data.length, 2);
36321
+ cPad = Math.max(dArea * (param.cPadRatio / 2) / totalCount, 2);
36244
36322
  }
36245
36323
 
36246
36324
  var bArea;
@@ -36263,6 +36341,7 @@ var element_bar_Bar = /*#__PURE__*/function () {
36263
36341
  this.chartRect = chartRect;
36264
36342
  this.labelOffset = labelOffset;
36265
36343
  this.borderRadius = param.borderRadius;
36344
+ this.range = [minIndex, maxIndex];
36266
36345
  var categoryPoint = null;
36267
36346
  this.data.forEach(function (dataItem, index) {
36268
36347
  var _param$selectLabel, _param$selectItem, _param$selectLabel$se, _param$selectLabel2, _param$selectLabel2$s, _param$selectItem$sel, _param$selectItem2;
@@ -36270,10 +36349,16 @@ var element_bar_Bar = /*#__PURE__*/function () {
36270
36349
  ctx.beginPath();
36271
36350
  var item = dataItem;
36272
36351
 
36352
+ if (truthyNumber(minIndex) && index < minIndex) {
36353
+ return;
36354
+ } else if (truthyNumber(minIndex) && index > maxIndex) {
36355
+ return;
36356
+ }
36357
+
36273
36358
  if (isHorizontal) {
36274
- categoryPoint = ysp - cArea * index - cPad;
36359
+ categoryPoint = ysp - cArea * (index - (minIndex || 0)) - cPad;
36275
36360
  } else {
36276
- categoryPoint = xsp + cArea * index + cPad;
36361
+ categoryPoint = xsp + cArea * (index - (minIndex || 0)) + cPad;
36277
36362
  }
36278
36363
 
36279
36364
  if (isHorizontal) {
@@ -36306,9 +36391,9 @@ var element_bar_Bar = /*#__PURE__*/function () {
36306
36391
  var selectItemOption = param === null || param === void 0 ? void 0 : (_param$selectItem = param.selectItem) === null || _param$selectItem === void 0 ? void 0 : _param$selectItem.option;
36307
36392
  var selectedLabelList = (_param$selectLabel$se = param === null || param === void 0 ? void 0 : (_param$selectLabel2 = param.selectLabel) === null || _param$selectLabel2 === void 0 ? void 0 : (_param$selectLabel2$s = _param$selectLabel2.selected) === null || _param$selectLabel2$s === void 0 ? void 0 : _param$selectLabel2$s.dataIndex) !== null && _param$selectLabel$se !== void 0 ? _param$selectLabel$se : [];
36308
36393
 
36309
- var _ref = (_param$selectItem$sel = param === null || param === void 0 ? void 0 : (_param$selectItem2 = param.selectItem) === null || _param$selectItem2 === void 0 ? void 0 : _param$selectItem2.selected) !== null && _param$selectItem$sel !== void 0 ? _param$selectItem$sel : {},
36310
- selectedItemDataIndex = _ref.dataIndex,
36311
- selectedItemSeriesId = _ref.seriesID;
36394
+ var _ref3 = (_param$selectItem$sel = param === null || param === void 0 ? void 0 : (_param$selectItem2 = param.selectItem) === null || _param$selectItem2 === void 0 ? void 0 : _param$selectItem2.selected) !== null && _param$selectItem$sel !== void 0 ? _param$selectItem$sel : {},
36395
+ selectedItemDataIndex = _ref3.dataIndex,
36396
+ selectedItemSeriesId = _ref3.seriesID;
36312
36397
 
36313
36398
  var isDownplay = false;
36314
36399
 
@@ -36466,8 +36551,18 @@ var element_bar_Bar = /*#__PURE__*/function () {
36466
36551
  color: this.color
36467
36552
  };
36468
36553
  var gdata = this.data;
36554
+ var totalCount = gdata.length;
36555
+
36556
+ var _this$range = _slicedToArray(this.range, 2),
36557
+ min = _this$range[0],
36558
+ max = _this$range[1];
36559
+
36560
+ if (truthyNumber(min) && truthyNumber(max)) {
36561
+ totalCount = max - min + 1;
36562
+ }
36563
+
36469
36564
  var s = 0;
36470
- var e = gdata.length - 1;
36565
+ var e = totalCount - 1;
36471
36566
 
36472
36567
  while (s <= e) {
36473
36568
  var m = Math.floor((s + e) / 2);
@@ -36512,8 +36607,18 @@ var element_bar_Bar = /*#__PURE__*/function () {
36512
36607
  color: this.color
36513
36608
  };
36514
36609
  var gdata = this.data;
36610
+ var totalCount = gdata.length;
36611
+
36612
+ var _this$range2 = _slicedToArray(this.range, 2),
36613
+ min = _this$range2[0],
36614
+ max = _this$range2[1];
36615
+
36616
+ if (truthyNumber(min) && truthyNumber(max)) {
36617
+ totalCount = max - min + 1;
36618
+ }
36619
+
36515
36620
  var s = 0;
36516
- var e = gdata.length - 1;
36621
+ var e = totalCount - 1;
36517
36622
 
36518
36623
  while (s <= e) {
36519
36624
  var m = Math.floor((s + e) / 2);
@@ -36551,11 +36656,11 @@ var element_bar_Bar = /*#__PURE__*/function () {
36551
36656
 
36552
36657
  }, {
36553
36658
  key: "drawValueLabels",
36554
- value: function drawValueLabels(_ref2) {
36555
- var context = _ref2.context,
36556
- data = _ref2.data,
36557
- positions = _ref2.positions,
36558
- isHighlight = _ref2.isHighlight;
36659
+ value: function drawValueLabels(_ref4) {
36660
+ var context = _ref4.context,
36661
+ data = _ref4.data,
36662
+ positions = _ref4.positions,
36663
+ isHighlight = _ref4.isHighlight;
36559
36664
  var isHorizontal = this.isHorizontal;
36560
36665
  var _this$showValue = this.showValue,
36561
36666
  fontSize = _this$showValue.fontSize,
@@ -36581,9 +36686,9 @@ var element_bar_Bar = /*#__PURE__*/function () {
36581
36686
  if (isStacked) {
36582
36687
  value = data.o;
36583
36688
  } else {
36584
- var _ref3;
36689
+ var _ref5;
36585
36690
 
36586
- value = (_ref3 = isHorizontal ? data.x : data.y) !== null && _ref3 !== void 0 ? _ref3 : '';
36691
+ value = (_ref5 = isHorizontal ? data.x : data.y) !== null && _ref5 !== void 0 ? _ref5 : '';
36587
36692
  }
36588
36693
 
36589
36694
  var formattedTxt;
@@ -36672,9 +36777,9 @@ var element_bar_Bar = /*#__PURE__*/function () {
36672
36777
  }
36673
36778
  }, {
36674
36779
  key: "drawBar",
36675
- value: function drawBar(_ref4) {
36676
- var ctx = _ref4.ctx,
36677
- positions = _ref4.positions;
36780
+ value: function drawBar(_ref6) {
36781
+ var ctx = _ref6.ctx,
36782
+ positions = _ref6.positions;
36678
36783
  var isHorizontal = this.isHorizontal;
36679
36784
  var isStackBar = ('stackIndex' in this);
36680
36785
  var isBorderRadius = this.borderRadius && this.borderRadius > 0;
@@ -37466,6 +37571,10 @@ var element_heatmap_HeatMap = /*#__PURE__*/function () {
37466
37571
  value: function drawItem(ctx, x, y, w, h, borderOpt) {
37467
37572
  ctx.beginPath();
37468
37573
 
37574
+ if (w < 0 || h < 0) {
37575
+ return;
37576
+ }
37577
+
37469
37578
  if (borderOpt.show) {
37470
37579
  var radius = borderOpt.radius;
37471
37580
 
@@ -37497,7 +37606,7 @@ var element_heatmap_HeatMap = /*#__PURE__*/function () {
37497
37606
  }
37498
37607
  }, {
37499
37608
  key: "calculateXY",
37500
- value: function calculateXY(dir, value, startPoint) {
37609
+ value: function calculateXY(dir, value, startPoint, minMax) {
37501
37610
  var point = null;
37502
37611
 
37503
37612
  if (this.labels[dir] && this.labels[dir].length) {
@@ -37505,17 +37614,39 @@ var element_heatmap_HeatMap = /*#__PURE__*/function () {
37505
37614
  return label === value;
37506
37615
  });
37507
37616
 
37508
- if (index > -1) {
37509
- point = dir === 'x' ? startPoint + this.size.w * index : startPoint - this.size.h * (index + 1);
37510
- } else {
37511
- var timeIndex = this.labels[dir].findIndex(function (label) {
37512
- return new Date(label).getTime() === new Date(value).getTime();
37617
+ if (index === -1) {
37618
+ index = this.labels[dir].findIndex(function (label) {
37619
+ return +label === +value;
37513
37620
  });
37621
+ }
37622
+
37623
+ var minIndex = minMax.minIndex,
37624
+ maxIndex = minMax.maxIndex,
37625
+ graphMin = minMax.graphMin,
37626
+ graphMax = minMax.graphMax;
37514
37627
 
37515
- if (timeIndex > -1) {
37516
- point = dir === 'x' ? startPoint + this.size.w * timeIndex : startPoint - this.size.h * (timeIndex + 1);
37628
+ if (truthyNumber(maxIndex) && index > maxIndex) {
37629
+ return null;
37630
+ }
37631
+
37632
+ if (truthyNumber(minIndex) && index < minIndex) {
37633
+ return null;
37634
+ }
37635
+
37636
+ if (checkNullAndUndefined(minIndex) && checkNullAndUndefined(maxIndex)) {
37637
+ if (value < graphMin || value > graphMax) {
37638
+ return null;
37517
37639
  }
37518
37640
  }
37641
+
37642
+ var startIndex = minIndex !== null && minIndex !== void 0 ? minIndex : this.labels[dir].findIndex(function (label) {
37643
+ return +label === +graphMin;
37644
+ });
37645
+
37646
+ if (index > -1) {
37647
+ index -= startIndex > -1 ? startIndex : 0;
37648
+ point = dir === 'x' ? startPoint + this.size.w * index : startPoint - this.size.h * (index + 1);
37649
+ }
37519
37650
  }
37520
37651
 
37521
37652
  return point;
@@ -37535,13 +37666,16 @@ var element_heatmap_HeatMap = /*#__PURE__*/function () {
37535
37666
  overlayCtx = param.overlayCtx,
37536
37667
  selectLabel = param.selectLabel,
37537
37668
  legendHitInfo = param.legendHitInfo,
37538
- selectItem = param.selectItem;
37669
+ selectItem = param.selectItem,
37670
+ axesSteps = param.axesSteps;
37539
37671
  var xArea = chartRect.chartWidth - (labelOffset.left + labelOffset.right);
37540
37672
  var yArea = chartRect.chartHeight - (labelOffset.top + labelOffset.bottom);
37541
37673
  var xsp = chartRect.x1 + labelOffset.left;
37542
37674
  var ysp = chartRect.y2 - labelOffset.bottom;
37543
- this.size.w = xArea / this.labels.x.length;
37544
- this.size.h = yArea / this.labels.y.length;
37675
+ var minmaxX = axesSteps.x[this.xAxisIndex];
37676
+ var minmaxY = axesSteps.y[this.yAxisIndex];
37677
+ this.size.w = xArea / minmaxX.oriSteps;
37678
+ this.size.h = yArea / minmaxY.oriSteps;
37545
37679
 
37546
37680
  var getOpacity = function getOpacity(item, opacity, index) {
37547
37681
  if (!legendHitInfo) {
@@ -37571,9 +37705,10 @@ var element_heatmap_HeatMap = /*#__PURE__*/function () {
37571
37705
 
37572
37706
  this.data.forEach(function (item, index) {
37573
37707
  var axisLineWidth = 1;
37574
- var xp = _this2.calculateXY('x', item.x, xsp) + axisLineWidth;
37575
37708
 
37576
- var yp = _this2.calculateXY('y', item.y, ysp);
37709
+ var xp = _this2.calculateXY('x', item.x, xsp, minmaxX);
37710
+
37711
+ var yp = _this2.calculateXY('y', item.y, ysp, minmaxY);
37577
37712
 
37578
37713
  var w = _this2.size.w;
37579
37714
  var h = _this2.size.h;
@@ -37612,14 +37747,19 @@ var element_heatmap_HeatMap = /*#__PURE__*/function () {
37612
37747
  color = _borderOpt.color,
37613
37748
  lineWidth = _borderOpt.lineWidth,
37614
37749
  borderOpacity = _borderOpt.opacity;
37615
- ctx.strokeStyle = helpers_util.colorStringToRgba(color, itemOpacity === 1 ? borderOpacity : itemOpacity);
37616
- ctx.lineWidth = lineWidth;
37617
- xp += lineWidth * 0.5;
37618
- yp += lineWidth * 0.5;
37619
- w -= lineWidth;
37620
- h -= lineWidth;
37750
+ ctx.strokeStyle = helpers_util.colorStringToRgba(color, itemOpacity === 1 ? borderOpacity : itemOpacity); // item 사이즈 보다 border 선 굵기가 큰 경우 lineWidth props 무시
37751
+
37752
+ if (lineWidth < w && lineWidth < h) {
37753
+ ctx.lineWidth = lineWidth;
37754
+ xp += lineWidth * 0.5;
37755
+ yp += lineWidth * 0.5;
37756
+ w -= lineWidth;
37757
+ h -= lineWidth;
37758
+ }
37621
37759
  }
37622
37760
 
37761
+ xp += axisLineWidth;
37762
+
37623
37763
  _this2.drawItem(ctx, xp, yp, w, h, borderOpt);
37624
37764
 
37625
37765
  ctx.restore();
@@ -37816,10 +37956,14 @@ var element_heatmap_HeatMap = /*#__PURE__*/function () {
37816
37956
 
37817
37957
  if (this.stroke.show) {
37818
37958
  var lineWidth = this.stroke.lineWidth;
37819
- x += lineWidth * 0.5;
37820
- y += lineWidth * 0.5;
37821
- w -= lineWidth;
37822
- h -= lineWidth;
37959
+
37960
+ if (lineWidth < w && lineWidth < h) {
37961
+ ctx.lineWidth = lineWidth;
37962
+ x += lineWidth * 0.5;
37963
+ y += lineWidth * 0.5;
37964
+ w -= lineWidth;
37965
+ h -= lineWidth;
37966
+ }
37823
37967
  }
37824
37968
 
37825
37969
  this.drawItem(ctx, x - 0.5, y - 0.5, w + 1, h + 1, this.stroke);
@@ -38178,12 +38322,12 @@ var dayjs_min_default = /*#__PURE__*/__webpack_require__.n(dayjs_min);
38178
38322
 
38179
38323
 
38180
38324
  var scale_Scale = /*#__PURE__*/function () {
38181
- function Scale(type, opt, ctx, options) {
38325
+ function Scale(type, axisOpt, ctx, options) {
38182
38326
  var _this = this;
38183
38327
 
38184
38328
  _classCallCheck(this, Scale);
38185
38329
 
38186
- var merged = lodash_es_defaultsDeep({}, opt, AXIS_OPTION);
38330
+ var merged = lodash_es_defaultsDeep({}, axisOpt, AXIS_OPTION);
38187
38331
  Object.keys(merged).forEach(function (key) {
38188
38332
  _this[key] = merged[key];
38189
38333
  });
@@ -38235,21 +38379,21 @@ var scale_Scale = /*#__PURE__*/function () {
38235
38379
  /**
38236
38380
  * Calculate min/max value, label and size information for axis
38237
38381
  * @param {object} minMax min/max information
38382
+ * @param {object} scrollbarOpt scrollbar option
38238
38383
  *
38239
38384
  * @returns {object} min/max value and label
38240
38385
  */
38241
38386
 
38242
38387
  }, {
38243
38388
  key: "calculateScaleRange",
38244
- value: function calculateScaleRange(minMax) {
38245
- var _this$range;
38246
-
38389
+ value: function calculateScaleRange(minMax, scrollbarOpt) {
38247
38390
  var maxValue;
38248
38391
  var minValue;
38392
+ var range = scrollbarOpt !== null && scrollbarOpt !== void 0 && scrollbarOpt.use ? scrollbarOpt === null || scrollbarOpt === void 0 ? void 0 : scrollbarOpt.range : this.range;
38249
38393
 
38250
- if (((_this$range = this.range) === null || _this$range === void 0 ? void 0 : _this$range.length) === 2) {
38251
- maxValue = this.range[1];
38252
- minValue = this.range[0];
38394
+ if ((range === null || range === void 0 ? void 0 : range.length) === 2) {
38395
+ maxValue = range[1];
38396
+ minValue = range[0];
38253
38397
  } else {
38254
38398
  maxValue = minMax.max;
38255
38399
  minValue = minMax.min;
@@ -39362,23 +39506,25 @@ var scale_logarithmic_LogarithmicScale = /*#__PURE__*/function (_Scale) {
39362
39506
 
39363
39507
 
39364
39508
 
39509
+
39365
39510
  var scale_step_StepScale = /*#__PURE__*/function (_Scale) {
39366
39511
  _inherits(StepScale, _Scale);
39367
39512
 
39368
39513
  var _super = _createSuper(StepScale);
39369
39514
 
39370
- function StepScale(type, opt, ctx, labels, options) {
39515
+ function StepScale(type, axisOpt, ctx, labels, options) {
39371
39516
  var _this;
39372
39517
 
39373
39518
  _classCallCheck(this, StepScale);
39374
39519
 
39375
- _this = _super.call(this, type, opt, ctx, options);
39520
+ _this = _super.call(this, type, axisOpt, ctx, options);
39376
39521
  _this.labels = labels;
39377
39522
  return _this;
39378
39523
  }
39379
39524
  /**
39380
39525
  * Calculate min/max value, label and size information for step scale
39381
39526
  * @param {object} minMax min/max information (unused on step scale)
39527
+ * @param {object} scrollbarOpt scroll bar option
39382
39528
  * @param {object} chartRect chart size information
39383
39529
  *
39384
39530
  * @returns {object} min/max value and label
@@ -39387,14 +39533,31 @@ var scale_step_StepScale = /*#__PURE__*/function (_Scale) {
39387
39533
 
39388
39534
  _createClass(StepScale, [{
39389
39535
  key: "calculateScaleRange",
39390
- value: function calculateScaleRange(minMax, chartRect) {
39536
+ value: function calculateScaleRange(minMax, scrollbarOpt, chartRect) {
39391
39537
  var stepMinMax = this.labelStyle.alignToGridLine ? minMax : helpers_util.getStringMinMax(this.labels);
39392
39538
  var maxValue = stepMinMax.max;
39393
39539
  var minValue = stepMinMax.min;
39394
- var maxWidth = chartRect.chartWidth / (this.labels.length + 2);
39540
+ var minIndex = 0;
39541
+ var maxIndex = this.labels.length - 1;
39542
+ var labelCount = this.labels.length;
39543
+ var range = scrollbarOpt !== null && scrollbarOpt !== void 0 && scrollbarOpt.use ? scrollbarOpt === null || scrollbarOpt === void 0 ? void 0 : scrollbarOpt.range : this.range;
39544
+
39545
+ if (range !== null && range !== void 0 && range.length) {
39546
+ var _range = _slicedToArray(range, 2);
39547
+
39548
+ minIndex = _range[0];
39549
+ maxIndex = _range[1];
39550
+ maxValue = this.labels[maxIndex];
39551
+ minValue = this.labels[minIndex];
39552
+ labelCount = maxIndex - minIndex + 1;
39553
+ }
39554
+
39555
+ var maxWidth = chartRect.chartWidth / (labelCount + 2);
39395
39556
  return {
39396
39557
  min: minValue,
39397
39558
  max: maxValue,
39559
+ minIndex: minIndex,
39560
+ maxIndex: maxIndex,
39398
39561
  minLabel: this.getLabelFormat(minValue, maxWidth),
39399
39562
  maxLabel: this.getLabelFormat(maxValue, maxWidth),
39400
39563
  size: helpers_util.calcTextSize(this.getLabelFormat(maxValue, maxWidth), helpers_util.getLabelStyle(this.labelStyle))
@@ -39410,30 +39573,39 @@ var scale_step_StepScale = /*#__PURE__*/function (_Scale) {
39410
39573
  }, {
39411
39574
  key: "calculateSteps",
39412
39575
  value: function calculateSteps(range) {
39413
- var numberOfSteps = this.labels.length;
39576
+ var minValue = range.minValue,
39577
+ maxValue = range.maxValue,
39578
+ minIndex = range.minIndex,
39579
+ maxIndex = range.maxIndex,
39580
+ maxSteps = range.maxSteps;
39581
+ var numberOfSteps = maxIndex - minIndex + 1;
39414
39582
  var interval = 1;
39583
+ var oriSteps = numberOfSteps;
39415
39584
  var isNumbersArray = this.labels.every(function (label) {
39416
39585
  return !isNaN(label);
39417
39586
  });
39418
39587
 
39419
39588
  if (this.labelStyle.alignToGridLine && isNumbersArray) {
39420
- var maxSteps = range.maxSteps;
39421
-
39422
39589
  if (maxSteps > 2) {
39423
39590
  while (numberOfSteps > maxSteps * 2) {
39424
39591
  interval *= 2;
39425
39592
  numberOfSteps = Math.round(numberOfSteps / interval);
39426
39593
  }
39427
39594
  } else {
39428
- interval = this.labels.length;
39595
+ interval = oriSteps;
39429
39596
  }
39597
+ } else if (numberOfSteps > maxSteps * 2) {
39598
+ interval *= 2;
39430
39599
  }
39431
39600
 
39432
39601
  return {
39602
+ oriSteps: oriSteps,
39433
39603
  steps: numberOfSteps,
39434
39604
  interval: interval,
39435
- graphMin: range.minValue,
39436
- graphMax: range.maxValue
39605
+ graphMin: minValue,
39606
+ graphMax: maxValue,
39607
+ minIndex: minIndex,
39608
+ maxIndex: maxIndex
39437
39609
  };
39438
39610
  }
39439
39611
  /**
@@ -39463,14 +39635,14 @@ var scale_step_StepScale = /*#__PURE__*/function (_Scale) {
39463
39635
  y1: chartRect.y1 + labelOffset.top,
39464
39636
  y2: chartRect.y2 - labelOffset.bottom
39465
39637
  };
39466
- var oriSteps = this.labels.length;
39467
39638
  var steps = stepInfo.steps;
39468
39639
  var count = stepInfo.interval;
39640
+ var startIndex = stepInfo.minIndex;
39469
39641
  var startPoint = aPos[this.units.rectStart];
39470
39642
  var endPoint = aPos[this.units.rectEnd];
39471
39643
  var offsetPoint = aPos[this.units.rectOffset(this.position)];
39472
39644
  var offsetCounterPoint = aPos[this.units.rectOffsetCounter(this.position)];
39473
- var maxWidth = chartRect.chartWidth / (this.labels.length + 2);
39645
+ var maxWidth = chartRect.chartWidth / (steps + 2);
39474
39646
  this.drawAxisTitle(chartRect, labelOffset);
39475
39647
 
39476
39648
  if ((_this$labelStyle = this.labelStyle) !== null && _this$labelStyle !== void 0 && _this$labelStyle.show) {
@@ -39505,7 +39677,7 @@ var scale_step_StepScale = /*#__PURE__*/function (_Scale) {
39505
39677
  return;
39506
39678
  }
39507
39679
 
39508
- var labelGap = (endPoint - startPoint) / labels.length;
39680
+ var labelGap = (endPoint - startPoint) / steps;
39509
39681
  var alignToGridLine = this.labelStyle.alignToGridLine;
39510
39682
  var labelCenter = null;
39511
39683
  var linePosition = null;
@@ -39515,10 +39687,11 @@ var scale_step_StepScale = /*#__PURE__*/function (_Scale) {
39515
39687
  var labelPoint;
39516
39688
  var index;
39517
39689
 
39518
- for (index = 0; index < oriSteps; index += count) {
39690
+ for (index = 0; index < steps; index += count) {
39519
39691
  var _selectedLabelInfo$da, _selectedLabelInfo$da2;
39520
39692
 
39521
- var item = this.labels[index];
39693
+ var labelIndex = startIndex + index;
39694
+ var item = this.labels[labelIndex];
39522
39695
  labelCenter = Math.round(startPoint + labelGap * index);
39523
39696
  linePosition = labelCenter + aliasPixel;
39524
39697
  labelText = this.getLabelFormat(item, maxWidth);
@@ -39534,7 +39707,7 @@ var scale_step_StepScale = /*#__PURE__*/function (_Scale) {
39534
39707
  targetAxis = horizontal ? 'y' : 'x';
39535
39708
  }
39536
39709
 
39537
- var isBlurredLabel = (selectLabelOpt === null || selectLabelOpt === void 0 ? void 0 : selectLabelOpt.use) && (selectLabelOpt === null || selectLabelOpt === void 0 ? void 0 : selectLabelOpt.useLabelOpacity) && targetAxis === this.type && (selectedLabelInfo === null || selectedLabelInfo === void 0 ? void 0 : (_selectedLabelInfo$da = selectedLabelInfo.dataIndex) === null || _selectedLabelInfo$da === void 0 ? void 0 : _selectedLabelInfo$da.length) && !(selectedLabelInfo !== null && selectedLabelInfo !== void 0 && (_selectedLabelInfo$da2 = selectedLabelInfo.dataIndex) !== null && _selectedLabelInfo$da2 !== void 0 && _selectedLabelInfo$da2.includes(index));
39710
+ var isBlurredLabel = (selectLabelOpt === null || selectLabelOpt === void 0 ? void 0 : selectLabelOpt.use) && (selectLabelOpt === null || selectLabelOpt === void 0 ? void 0 : selectLabelOpt.useLabelOpacity) && targetAxis === this.type && (selectedLabelInfo === null || selectedLabelInfo === void 0 ? void 0 : (_selectedLabelInfo$da = selectedLabelInfo.dataIndex) === null || _selectedLabelInfo$da === void 0 ? void 0 : _selectedLabelInfo$da.length) && !(selectedLabelInfo !== null && selectedLabelInfo !== void 0 && (_selectedLabelInfo$da2 = selectedLabelInfo.dataIndex) !== null && _selectedLabelInfo$da2 !== void 0 && _selectedLabelInfo$da2.includes(labelIndex));
39538
39711
  var labelColor = this.labelStyle.color;
39539
39712
  var defaultOpacity = 1;
39540
39713
 
@@ -39753,17 +39926,18 @@ var scale_step_StepScale = /*#__PURE__*/function (_Scale) {
39753
39926
 
39754
39927
 
39755
39928
 
39929
+
39756
39930
  var scale_time_category_TimeCategoryScale = /*#__PURE__*/function (_Scale) {
39757
39931
  _inherits(TimeCategoryScale, _Scale);
39758
39932
 
39759
39933
  var _super = _createSuper(TimeCategoryScale);
39760
39934
 
39761
- function TimeCategoryScale(type, opt, ctx, labels, options) {
39935
+ function TimeCategoryScale(type, axisOpt, ctx, labels, options) {
39762
39936
  var _this;
39763
39937
 
39764
39938
  _classCallCheck(this, TimeCategoryScale);
39765
39939
 
39766
- _this = _super.call(this, type, opt, ctx);
39940
+ _this = _super.call(this, type, axisOpt, ctx);
39767
39941
  _this.labels = labels;
39768
39942
  _this.options = options;
39769
39943
  return _this;
@@ -39879,6 +40053,8 @@ var scale_time_category_TimeCategoryScale = /*#__PURE__*/function (_Scale) {
39879
40053
  }, {
39880
40054
  key: "draw",
39881
40055
  value: function draw(chartRect, labelOffset, stepInfo, hitInfo, selectLabelInfo) {
40056
+ var _this2 = this;
40057
+
39882
40058
  var ctx = this.ctx;
39883
40059
  var labels = this.labels;
39884
40060
  var aPos = {
@@ -39931,7 +40107,7 @@ var scale_time_category_TimeCategoryScale = /*#__PURE__*/function (_Scale) {
39931
40107
  }
39932
40108
 
39933
40109
  var alignToGridLine = this.labelStyle.alignToGridLine;
39934
- var graphGap = (endPoint - startPoint) / (labels.length || 1);
40110
+ var graphGap = (endPoint - startPoint) / (oriSteps || 1);
39935
40111
 
39936
40112
  if (this.categoryMode && !alignToGridLine) {
39937
40113
  startPoint += Math.ceil(graphGap / 2) - 2;
@@ -39946,13 +40122,15 @@ var scale_time_category_TimeCategoryScale = /*#__PURE__*/function (_Scale) {
39946
40122
  var labelPoint;
39947
40123
 
39948
40124
  for (var ix = 0; ix < oriSteps; ix += count) {
39949
- var _this$options, _this$options$selectL, _this$options2, _this$options2$select, _selectLabelInfo$data, _selectLabelInfo$data2;
40125
+ var _this$options, _this$options$selectL, _this$options2, _this$options2$select, _selectLabelInfo$data;
39950
40126
 
39951
40127
  ticks[ix] = axisMin + ix * stepValue;
39952
40128
  labelCenter = Math.round(startPoint + graphGap * ix);
39953
40129
  linePosition = labelCenter + aliasPixel;
39954
40130
  labelText = this.getLabelFormat(Math.min(axisMax, ticks[ix]));
39955
- var isBlurredLabel = ((_this$options = this.options) === null || _this$options === void 0 ? void 0 : (_this$options$selectL = _this$options.selectLabel) === null || _this$options$selectL === void 0 ? void 0 : _this$options$selectL.use) && ((_this$options2 = this.options) === null || _this$options2 === void 0 ? void 0 : (_this$options2$select = _this$options2.selectLabel) === null || _this$options2$select === void 0 ? void 0 : _this$options2$select.useLabelOpacity) && this.options.horizontal === (this.type === 'y') && (selectLabelInfo === null || selectLabelInfo === void 0 ? void 0 : (_selectLabelInfo$data = selectLabelInfo.dataIndex) === null || _selectLabelInfo$data === void 0 ? void 0 : _selectLabelInfo$data.length) && !(selectLabelInfo !== null && selectLabelInfo !== void 0 && (_selectLabelInfo$data2 = selectLabelInfo.dataIndex) !== null && _selectLabelInfo$data2 !== void 0 && _selectLabelInfo$data2.includes(ix));
40131
+ var isBlurredLabel = ((_this$options = this.options) === null || _this$options === void 0 ? void 0 : (_this$options$selectL = _this$options.selectLabel) === null || _this$options$selectL === void 0 ? void 0 : _this$options$selectL.use) && ((_this$options2 = this.options) === null || _this$options2 === void 0 ? void 0 : (_this$options2$select = _this$options2.selectLabel) === null || _this$options2$select === void 0 ? void 0 : _this$options2$select.useLabelOpacity) && this.options.horizontal === (this.type === 'y') && (selectLabelInfo === null || selectLabelInfo === void 0 ? void 0 : (_selectLabelInfo$data = selectLabelInfo.dataIndex) === null || _selectLabelInfo$data === void 0 ? void 0 : _selectLabelInfo$data.length) && !(selectLabelInfo !== null && selectLabelInfo !== void 0 && selectLabelInfo.label.map(function (t) {
40132
+ return _this2.getLabelFormat(Math.min(axisMax, t));
40133
+ }).includes(labelText));
39956
40134
  var labelColor = this.labelStyle.color;
39957
40135
  var defaultOpacity = 1;
39958
40136
 
@@ -42022,6 +42200,662 @@ var plugins_legend_gradient_modules = {
42022
42200
  }
42023
42201
  };
42024
42202
  /* harmony default export */ var plugins_legend_gradient = (plugins_legend_gradient_modules);
42203
+ // CONCATENATED MODULE: ./src/components/chart/plugins/plugins.scrollbar.js
42204
+
42205
+
42206
+
42207
+
42208
+
42209
+
42210
+
42211
+
42212
+
42213
+
42214
+
42215
+ var plugins_scrollbar_module = {
42216
+ /**
42217
+ * init scrollbar information
42218
+ */
42219
+ initScrollbar: function initScrollbar() {
42220
+ var _this$options$axesX, _this$options$axesX$, _this$options$axesX$$, _this$options$axesY, _this$options$axesY$, _this$options$axesY$$;
42221
+
42222
+ if ((_this$options$axesX = this.options.axesX) !== null && _this$options$axesX !== void 0 && (_this$options$axesX$ = _this$options$axesX[0]) !== null && _this$options$axesX$ !== void 0 && (_this$options$axesX$$ = _this$options$axesX$.scrollbar) !== null && _this$options$axesX$$ !== void 0 && _this$options$axesX$$.use) {
42223
+ this.initScrollbarInfo(this.options.axesX, 'x');
42224
+ }
42225
+
42226
+ if ((_this$options$axesY = this.options.axesY) !== null && _this$options$axesY !== void 0 && (_this$options$axesY$ = _this$options$axesY[0]) !== null && _this$options$axesY$ !== void 0 && (_this$options$axesY$$ = _this$options$axesY$.scrollbar) !== null && _this$options$axesY$$ !== void 0 && _this$options$axesY$$.use) {
42227
+ this.initScrollbarInfo(this.options.axesY, 'y');
42228
+ }
42229
+ },
42230
+
42231
+ /**
42232
+ * init scrollbar information with axis information
42233
+ * @param axisOpt axis option
42234
+ * @param dir axis direction (x | y)
42235
+ */
42236
+ initScrollbarInfo: function initScrollbarInfo(axisOpt, dir) {
42237
+ var scrollbarOpt = this.scrollbar[dir];
42238
+
42239
+ if (!scrollbarOpt.isInit) {
42240
+ var _axisOpt$, _axisOpt$2, _axisOpt$3;
42241
+
42242
+ var merged = lodash_es_defaultsDeep({}, axisOpt === null || axisOpt === void 0 ? void 0 : (_axisOpt$ = axisOpt[0]) === null || _axisOpt$ === void 0 ? void 0 : _axisOpt$.scrollbar, AXIS_OPTION.scrollbar);
42243
+ Object.keys(merged).forEach(function (key) {
42244
+ scrollbarOpt[key] = merged[key];
42245
+ });
42246
+ scrollbarOpt.type = axisOpt === null || axisOpt === void 0 ? void 0 : (_axisOpt$2 = axisOpt[0]) === null || _axisOpt$2 === void 0 ? void 0 : _axisOpt$2.type;
42247
+ scrollbarOpt.range = (axisOpt === null || axisOpt === void 0 ? void 0 : (_axisOpt$3 = axisOpt[0]) === null || _axisOpt$3 === void 0 ? void 0 : _axisOpt$3.range) || null;
42248
+ scrollbarOpt.interval = null;
42249
+ this.createScrollbarLayout(dir);
42250
+ this.createScrollbar(dir);
42251
+ this.createScrollEvent(dir);
42252
+ scrollbarOpt.isInit = true;
42253
+ }
42254
+ },
42255
+
42256
+ /**
42257
+ * update scrollbar information
42258
+ */
42259
+ updateScrollbar: function updateScrollbar() {
42260
+ this.updateScrollbarInfo('x');
42261
+ this.updateScrollbarInfo('y');
42262
+ },
42263
+
42264
+ /**
42265
+ * Updated scrollbar information with updated axis information
42266
+ * @param dir axis direction (x | y)
42267
+ */
42268
+ updateScrollbarInfo: function updateScrollbarInfo(dir) {
42269
+ var _newOpt$, _newOpt$$scrollbar, _newOpt$2, _newOpt$0$scrollbar, _newOpt$3, _newOpt$4, _axisOpt$4, _newOpt$0$scrollbar2;
42270
+
42271
+ var _this$options = this.options,
42272
+ axesX = _this$options.axesX,
42273
+ axesY = _this$options.axesY;
42274
+ var newOpt = dir === 'x' ? axesX : axesY;
42275
+
42276
+ if (!this.scrollbar[dir].isInit && newOpt !== null && newOpt !== void 0 && (_newOpt$ = newOpt[0]) !== null && _newOpt$ !== void 0 && (_newOpt$$scrollbar = _newOpt$.scrollbar) !== null && _newOpt$$scrollbar !== void 0 && _newOpt$$scrollbar.use && newOpt !== null && newOpt !== void 0 && (_newOpt$2 = newOpt[0]) !== null && _newOpt$2 !== void 0 && _newOpt$2.range) {
42277
+ this.initScrollbarInfo(newOpt, dir);
42278
+ return;
42279
+ } else if (!(newOpt !== null && newOpt !== void 0 && (_newOpt$0$scrollbar = newOpt[0].scrollbar) !== null && _newOpt$0$scrollbar !== void 0 && _newOpt$0$scrollbar.use) || checkNullAndUndefined(newOpt === null || newOpt === void 0 ? void 0 : (_newOpt$3 = newOpt[0]) === null || _newOpt$3 === void 0 ? void 0 : _newOpt$3.range)) {
42280
+ this.destroyScrollbar(dir);
42281
+ return;
42282
+ }
42283
+
42284
+ var axisOpt = dir === 'x' ? this.axesX : this.axesY;
42285
+ var isUpdateAxesRange = !lodash_es_isEqual(newOpt === null || newOpt === void 0 ? void 0 : (_newOpt$4 = newOpt[0]) === null || _newOpt$4 === void 0 ? void 0 : _newOpt$4.range, axisOpt === null || axisOpt === void 0 ? void 0 : (_axisOpt$4 = axisOpt[0]) === null || _axisOpt$4 === void 0 ? void 0 : _axisOpt$4.range);
42286
+
42287
+ if (isUpdateAxesRange) {
42288
+ var _newOpt$5;
42289
+
42290
+ this.scrollbar[dir].range = (newOpt === null || newOpt === void 0 ? void 0 : (_newOpt$5 = newOpt[0]) === null || _newOpt$5 === void 0 ? void 0 : _newOpt$5.range) || null;
42291
+ }
42292
+
42293
+ this.scrollbar[dir].use = !!(newOpt !== null && newOpt !== void 0 && (_newOpt$0$scrollbar2 = newOpt[0].scrollbar) !== null && _newOpt$0$scrollbar2 !== void 0 && _newOpt$0$scrollbar2.use);
42294
+ },
42295
+
42296
+ /**
42297
+ * update scrollbar position
42298
+ */
42299
+ updateScrollbarPosition: function updateScrollbarPosition() {
42300
+ var _this$scrollbar$x, _this$scrollbar$x2, _this$scrollbar$y, _this$scrollbar$y2;
42301
+
42302
+ if ((_this$scrollbar$x = this.scrollbar.x) !== null && _this$scrollbar$x !== void 0 && _this$scrollbar$x.use && (_this$scrollbar$x2 = this.scrollbar.x) !== null && _this$scrollbar$x2 !== void 0 && _this$scrollbar$x2.isInit) {
42303
+ this.setScrollbarPosition('x');
42304
+ }
42305
+
42306
+ if ((_this$scrollbar$y = this.scrollbar.y) !== null && _this$scrollbar$y !== void 0 && _this$scrollbar$y.use && (_this$scrollbar$y2 = this.scrollbar.y) !== null && _this$scrollbar$y2 !== void 0 && _this$scrollbar$y2.isInit) {
42307
+ this.setScrollbarPosition('y');
42308
+ }
42309
+ },
42310
+
42311
+ /**
42312
+ * create scrollbar layout
42313
+ * @param dir axis direction ('x' | 'y')
42314
+ */
42315
+ createScrollbarLayout: function createScrollbarLayout(dir) {
42316
+ var scrollbarOpt = this.scrollbar[dir];
42317
+ scrollbarOpt.dom = document.createElement('div');
42318
+ scrollbarOpt.dom.className = 'ev-chart-scrollbar';
42319
+ scrollbarOpt.dom.dataset.type = 'scrollbar';
42320
+ var containerDOM = document.createElement('div');
42321
+ containerDOM.className = 'ev-chart-scrollbar-container';
42322
+ containerDOM.dataset.type = dir;
42323
+ scrollbarOpt.dom.appendChild(containerDOM);
42324
+ this.wrapperDOM.appendChild(scrollbarOpt.dom);
42325
+ },
42326
+
42327
+ /**
42328
+ * create scrollbar
42329
+ * @param dir axis direction ('x' | 'y')
42330
+ */
42331
+ createScrollbar: function createScrollbar(dir) {
42332
+ var scrollbarOpt = this.scrollbar[dir];
42333
+ var containerDOM = scrollbarOpt.dom.children[0];
42334
+ this.createScrollbarTrack(containerDOM);
42335
+ this.createScrollbarThumb(containerDOM);
42336
+
42337
+ if (scrollbarOpt.showButton) {
42338
+ this.createScrollbarButton(containerDOM);
42339
+ }
42340
+ },
42341
+
42342
+ /**
42343
+ * create scrollbar track
42344
+ * @param containerDOM
42345
+ */
42346
+ createScrollbarTrack: function createScrollbarTrack(containerDOM) {
42347
+ var trackDOM = document.createElement('div');
42348
+ trackDOM.className = 'ev-chart-scrollbar-track';
42349
+ trackDOM.dataset.type = 'track';
42350
+ containerDOM.appendChild(trackDOM);
42351
+ },
42352
+
42353
+ /**
42354
+ * create scrollbar thumb
42355
+ * @param containerDOM
42356
+ */
42357
+ createScrollbarThumb: function createScrollbarThumb(containerDOM) {
42358
+ var thumbDOM = document.createElement('div');
42359
+ thumbDOM.className = 'ev-chart-scrollbar-thumb';
42360
+ thumbDOM.dataset.type = 'thumb';
42361
+ containerDOM.appendChild(thumbDOM);
42362
+ },
42363
+
42364
+ /**
42365
+ * create scrollbar up, down button
42366
+ * @param containerDOM
42367
+ */
42368
+ createScrollbarButton: function createScrollbarButton(containerDOM) {
42369
+ var upBtnDOM = document.createElement('div');
42370
+ upBtnDOM.className = 'ev-chart-scrollbar-button ev-chart-scrollbar-button-up';
42371
+ upBtnDOM.dataset.type = 'button';
42372
+ var iconUpBtn = document.createElement('i');
42373
+ iconUpBtn.className = 'ev-icon ev-icon-triangle-up ev-chart-scrollbar-button-icon';
42374
+ iconUpBtn.dataset.type = 'button-icon';
42375
+ upBtnDOM.appendChild(iconUpBtn);
42376
+ var downBtnDOM = document.createElement('div');
42377
+ downBtnDOM.className = 'ev-chart-scrollbar-button ev-chart-scrollbar-button-down';
42378
+ downBtnDOM.dataset.type = 'button';
42379
+ var iconDownBtn = document.createElement('i');
42380
+ iconDownBtn.className = 'ev-icon ev-icon-triangle-down ev-chart-scrollbar-button-icon';
42381
+ iconDownBtn.dataset.type = 'button-icon';
42382
+ downBtnDOM.appendChild(iconDownBtn);
42383
+ containerDOM.appendChild(upBtnDOM);
42384
+ containerDOM.appendChild(downBtnDOM);
42385
+ },
42386
+
42387
+ /**
42388
+ * set scrollbar position
42389
+ * @param dir axis direction ('x' | 'y')
42390
+ */
42391
+ setScrollbarPosition: function setScrollbarPosition(dir) {
42392
+ var _this$options$title, _this$options$title2;
42393
+
42394
+ var scrollbarOpt = this.scrollbar[dir];
42395
+
42396
+ if (!scrollbarOpt.use || !scrollbarOpt.range) {
42397
+ return;
42398
+ }
42399
+
42400
+ var scrollbarDOM = scrollbarOpt.dom;
42401
+ var chartRect = this.chartRect;
42402
+ var labelOffset = this.labelOffset;
42403
+ var aPos = {
42404
+ x1: chartRect.x1 + labelOffset.left,
42405
+ x2: chartRect.x2 - labelOffset.right,
42406
+ y1: chartRect.y1 + labelOffset.top,
42407
+ y2: chartRect.y2 - labelOffset.bottom
42408
+ };
42409
+ var titleHeight = (_this$options$title = this.options.title) !== null && _this$options$title !== void 0 && _this$options$title.show ? (_this$options$title2 = this.options.title) === null || _this$options$title2 === void 0 ? void 0 : _this$options$title2.height : 0;
42410
+ var isXScroll = dir === 'x';
42411
+ var scrollHeight = isXScroll ? scrollbarOpt.height : scrollbarOpt.width;
42412
+ var fullSize = isXScroll ? aPos.x2 - aPos.x1 : aPos.y2 - aPos.y1;
42413
+ var buttonSize = scrollbarOpt.showButton ? scrollHeight : 0;
42414
+ var trackSize = fullSize - buttonSize * 2;
42415
+ var thumbSize = this.getScrollbarThumbSize(dir, trackSize);
42416
+ var scrollbarStyle = 'display: block;';
42417
+ var scrollbarTrackStyle;
42418
+ var scrollbarThumbStyle;
42419
+ var upBtnStyle;
42420
+ var downBtnStyle;
42421
+ var commonBtnStyle = "width:".concat(buttonSize, "px;height:").concat(buttonSize, "px;");
42422
+
42423
+ if (isXScroll) {
42424
+ scrollbarStyle = "top: ".concat(chartRect.y2 + titleHeight + labelOffset.top, "px;");
42425
+ scrollbarStyle += "left: ".concat(aPos.x1, "px;");
42426
+ scrollbarStyle += "width: ".concat(fullSize, "px;");
42427
+ scrollbarStyle += " height: ".concat(scrollHeight, "px;");
42428
+ scrollbarTrackStyle = 'top: 0;';
42429
+ scrollbarTrackStyle += "left: ".concat(buttonSize, "px;");
42430
+ scrollbarTrackStyle += "width: ".concat(trackSize, "px;");
42431
+ scrollbarTrackStyle += 'height: 100%;';
42432
+ scrollbarThumbStyle = "width: ".concat(thumbSize.size, "px;");
42433
+ scrollbarThumbStyle += 'height: 100%;';
42434
+ scrollbarThumbStyle += "left: ".concat(thumbSize.position + buttonSize, "px");
42435
+ commonBtnStyle += 'transform:rotate(90deg);top: 0;';
42436
+ upBtnStyle = "".concat(commonBtnStyle, "right:0;");
42437
+ downBtnStyle = "".concat(commonBtnStyle, "left:0;");
42438
+ } else {
42439
+ scrollbarStyle = "top: ".concat(aPos.y1 + titleHeight, "px;");
42440
+ scrollbarStyle += "left: ".concat(aPos.x2 + 10, "px;");
42441
+ scrollbarStyle += "width: ".concat(scrollHeight, "px;");
42442
+ scrollbarStyle += "height: ".concat(fullSize, "px;");
42443
+ scrollbarTrackStyle = "top: ".concat(buttonSize, "px;");
42444
+ scrollbarTrackStyle += 'left: 0;';
42445
+ scrollbarTrackStyle += 'width: 100%;';
42446
+ scrollbarTrackStyle += "height: ".concat(trackSize, "px;");
42447
+ scrollbarThumbStyle = 'width: 100%;';
42448
+ scrollbarThumbStyle += "height: ".concat(thumbSize.size, "px;");
42449
+ scrollbarThumbStyle += "bottom: ".concat(thumbSize.position + buttonSize, "px");
42450
+ commonBtnStyle += 'left:0;';
42451
+ upBtnStyle = "".concat(commonBtnStyle, "top: 0;");
42452
+ downBtnStyle = "".concat(commonBtnStyle, "bottom: 0;");
42453
+ }
42454
+
42455
+ scrollbarDOM.style.cssText = scrollbarStyle;
42456
+ var scrollbarTrackDOM = scrollbarDOM.getElementsByClassName('ev-chart-scrollbar-track');
42457
+ scrollbarTrackDOM[0].style.cssText = scrollbarTrackStyle;
42458
+ scrollbarTrackDOM[0].style.backgroundColor = scrollbarOpt.background;
42459
+ var scrollbarThumbDOM = scrollbarDOM.getElementsByClassName('ev-chart-scrollbar-thumb');
42460
+ scrollbarThumbDOM[0].style.cssText = scrollbarThumbStyle;
42461
+ scrollbarThumbDOM[0].style.backgroundColor = scrollbarOpt.thumbStyle.background;
42462
+ scrollbarThumbDOM[0].style.borderRadius = "".concat(scrollbarOpt.thumbStyle.radius, "px");
42463
+
42464
+ if (scrollbarOpt.showButton) {
42465
+ var upBtnDOM = scrollbarDOM.getElementsByClassName('ev-chart-scrollbar-button-up');
42466
+ var endPosition = Math.floor(trackSize - thumbSize.size);
42467
+ var upBtnOpacity = Math.floor(thumbSize.position) === endPosition ? 0.5 : 1;
42468
+ upBtnDOM[0].style.cssText = "background-color: ".concat(scrollbarOpt.background, ";").concat(upBtnStyle);
42469
+ upBtnDOM[0].style.opacity = upBtnOpacity;
42470
+ upBtnDOM[0].children[0].style.display = 'block';
42471
+ var downBtnDOM = scrollbarDOM.getElementsByClassName('ev-chart-scrollbar-button-down');
42472
+ downBtnDOM[0].style.cssText = "background-color: ".concat(scrollbarOpt.background, ";").concat(downBtnStyle);
42473
+ downBtnDOM[0].style.opacity = Math.floor(thumbSize.position) === 0 ? 0.5 : 1;
42474
+ downBtnDOM[0].children[0].style.display = 'block';
42475
+ }
42476
+ },
42477
+
42478
+ /**
42479
+ * get scrollbar thumb size
42480
+ * @param dir axis direction ('x' | 'y')
42481
+ * @param trackSize scrollbar track size
42482
+ */
42483
+ getScrollbarThumbSize: function getScrollbarThumbSize(dir, trackSize) {
42484
+ var scrollbarOpt = this.scrollbar[dir];
42485
+
42486
+ var _scrollbarOpt$range = _slicedToArray(scrollbarOpt.range, 2),
42487
+ min = _scrollbarOpt$range[0],
42488
+ max = _scrollbarOpt$range[1];
42489
+
42490
+ var axesType = scrollbarOpt.type;
42491
+ var thumbSize;
42492
+ var steps;
42493
+ var interval = 1;
42494
+ var startValue = 0;
42495
+ var thumbPosition = 0;
42496
+
42497
+ if (axesType === 'step') {
42498
+ var labels = this.options.type === 'heatMap' ? this.data.labels[dir] : this.data.labels;
42499
+ var range = max - min + 1;
42500
+ steps = labels.length;
42501
+ var intervalSize = trackSize / steps;
42502
+ thumbSize = intervalSize * range;
42503
+ thumbPosition = intervalSize * min;
42504
+ } else {
42505
+ var _this$axesX, _this$axesX$;
42506
+
42507
+ var minMax = this.minMax[dir];
42508
+ var graphRange = +minMax[0].max - +minMax[0].min;
42509
+
42510
+ var _range = +max - +min;
42511
+
42512
+ interval = (_this$axesX = this.axesX) === null || _this$axesX === void 0 ? void 0 : (_this$axesX$ = _this$axesX[0]) === null || _this$axesX$ === void 0 ? void 0 : _this$axesX$.getInterval({
42513
+ min: minMax[0].min,
42514
+ max: minMax[0].max,
42515
+ maxSteps: this.labelRange[dir].max
42516
+ });
42517
+ steps = Math.ceil(graphRange / interval) + 1;
42518
+ startValue = +minMax[0].min;
42519
+
42520
+ var _intervalSize = trackSize / steps;
42521
+
42522
+ var count = _range / interval + 1;
42523
+ var point = +min - startValue;
42524
+ thumbSize = _intervalSize * count;
42525
+ thumbPosition = _intervalSize * (point / interval);
42526
+ }
42527
+
42528
+ scrollbarOpt.startValue = startValue;
42529
+ scrollbarOpt.steps = steps;
42530
+ scrollbarOpt.interval = interval;
42531
+ return {
42532
+ size: thumbSize,
42533
+ position: thumbPosition,
42534
+ background: scrollbarOpt.background,
42535
+ radius: scrollbarOpt.radius
42536
+ };
42537
+ },
42538
+
42539
+ /**
42540
+ * get scrollbar containerDOM
42541
+ * @param targetDOM event target dom
42542
+ * @returns {HTMLElement|Element|*}
42543
+ */
42544
+ getScrollbarContainerDOM: function getScrollbarContainerDOM(targetDOM) {
42545
+ var childTypes = ['track', 'thumb', 'button'];
42546
+ var type = targetDOM.dataset.type;
42547
+
42548
+ if (childTypes.includes(type)) {
42549
+ return targetDOM.parentElement;
42550
+ } else if (type === 'button-icon') {
42551
+ return targetDOM.parentElement.parentElement;
42552
+ } else if (type === 'scrollbar') {
42553
+ return targetDOM.getElementsByClassName('ev-chart-scrollbar-container')[0];
42554
+ }
42555
+
42556
+ return targetDOM;
42557
+ },
42558
+
42559
+ /**
42560
+ * update scrollbar option range
42561
+ * @param dir axis direction ('x' | 'y')
42562
+ * @param isUp
42563
+ */
42564
+ updateScrollbarRange: function updateScrollbarRange(dir, isUp) {
42565
+ var scrollbarOpt = this.scrollbar[dir];
42566
+ var startValue = scrollbarOpt.startValue,
42567
+ range = scrollbarOpt.range,
42568
+ interval = scrollbarOpt.interval,
42569
+ steps = scrollbarOpt.steps;
42570
+ var endValue = startValue + interval * steps;
42571
+ var axisOpt = dir === 'x' ? this.axesX[0] : this.axesY[0];
42572
+
42573
+ var _ref = range !== null && range !== void 0 ? range : [],
42574
+ _ref2 = _slicedToArray(_ref, 2),
42575
+ min = _ref2[0],
42576
+ max = _ref2[1];
42577
+
42578
+ if (!truthyNumber(min) || !truthyNumber(max)) {
42579
+ scrollbarOpt.range = (axisOpt === null || axisOpt === void 0 ? void 0 : axisOpt.range) || null;
42580
+ }
42581
+
42582
+ var minValue;
42583
+ var maxValue;
42584
+ var isOutOfRange = false;
42585
+
42586
+ if (isUp) {
42587
+ minValue = min + interval;
42588
+ maxValue = max + interval;
42589
+ isOutOfRange = maxValue >= endValue;
42590
+ } else {
42591
+ minValue = min - interval;
42592
+ maxValue = max - interval;
42593
+ isOutOfRange = minValue < startValue;
42594
+ }
42595
+
42596
+ if (!isOutOfRange) {
42597
+ scrollbarOpt.range = [minValue, maxValue];
42598
+ this.update({
42599
+ updateSeries: false,
42600
+ updateSelTip: {
42601
+ update: false,
42602
+ keepDomain: false
42603
+ }
42604
+ });
42605
+ }
42606
+ },
42607
+
42608
+ /**
42609
+ * create scroll event
42610
+ */
42611
+ createScrollEvent: function createScrollEvent() {
42612
+ var _this = this;
42613
+
42614
+ this.onScrollbarClick = function (e) {
42615
+ e.preventDefault();
42616
+ var type = e.target.dataset.type;
42617
+
42618
+ var containerDOM = _this.getScrollbarContainerDOM(e.target);
42619
+
42620
+ var buttonTypes = ['button', 'button-icon'];
42621
+ var dir = containerDOM.dataset.type;
42622
+ var isUp;
42623
+
42624
+ if (buttonTypes.includes(type)) {
42625
+ var buttonDOM;
42626
+
42627
+ if (type === 'button') {
42628
+ buttonDOM = e.target;
42629
+ } else if (type === 'button-icon') {
42630
+ buttonDOM = e.target.parentElement;
42631
+ }
42632
+
42633
+ isUp = buttonDOM.className.includes('up');
42634
+ } else if (type === 'track') {
42635
+ var thumbDOM = containerDOM.getElementsByClassName('ev-chart-scrollbar-thumb');
42636
+
42637
+ var _thumbDOM$0$getBoundi = thumbDOM[0].getBoundingClientRect(),
42638
+ x = _thumbDOM$0$getBoundi.x,
42639
+ y = _thumbDOM$0$getBoundi.y;
42640
+
42641
+ var isXScroll = dir === 'x';
42642
+ var clickPoint = isXScroll ? e.clientX : -e.clientY;
42643
+ var thumbPosition = isXScroll ? x : -y;
42644
+ isUp = clickPoint > thumbPosition;
42645
+ } else {
42646
+ return;
42647
+ }
42648
+
42649
+ _this.updateScrollbarRange(dir, isUp);
42650
+ };
42651
+
42652
+ this.onScrollbarDown = function (e) {
42653
+ e.preventDefault();
42654
+
42655
+ if (e.target.dataset.type !== 'thumb') {
42656
+ return;
42657
+ }
42658
+
42659
+ var containerDOM = _this.getScrollbarContainerDOM(e.target);
42660
+
42661
+ var dir = containerDOM.dataset.type;
42662
+ var thumbDOM = containerDOM.getElementsByClassName('ev-chart-scrollbar-thumb');
42663
+
42664
+ var _thumbDOM$0$getBoundi2 = thumbDOM[0].getBoundingClientRect(),
42665
+ x = _thumbDOM$0$getBoundi2.x,
42666
+ y = _thumbDOM$0$getBoundi2.y,
42667
+ height = _thumbDOM$0$getBoundi2.height;
42668
+
42669
+ var scrollbarOpt = _this.scrollbar[dir];
42670
+ scrollbarOpt.scrolling = true;
42671
+
42672
+ if (dir === 'x') {
42673
+ scrollbarOpt.pointInThumb = e.clientX - x;
42674
+ } else {
42675
+ scrollbarOpt.pointInThumb = y + height - e.clientY;
42676
+ }
42677
+
42678
+ var scrollbarDOM = scrollbarOpt.dom;
42679
+ scrollbarDOM.addEventListener('mousemove', _this.onScrollbarMove);
42680
+ scrollbarDOM.addEventListener('mouseup', _this.onScrollbarUp);
42681
+ };
42682
+
42683
+ var onScrollbarMove = function onScrollbarMove(e) {
42684
+ _this.scrolling(e);
42685
+ };
42686
+
42687
+ this.onScrollbarMove = lodash_es_throttle(onScrollbarMove, 5);
42688
+
42689
+ this.onScrollbarUp = function (e) {
42690
+ e.preventDefault();
42691
+
42692
+ _this.stopScrolling(e);
42693
+ };
42694
+
42695
+ this.onScrollbarLeave = function (e) {
42696
+ e.preventDefault();
42697
+
42698
+ _this.scrolling(e);
42699
+
42700
+ _this.stopScrolling(e);
42701
+ };
42702
+
42703
+ this.onScrollbarWheel = function (e) {
42704
+ e.preventDefault();
42705
+
42706
+ _this.updateScrollbarRange('y', e.deltaY < 0);
42707
+ };
42708
+
42709
+ if (this.scrollbar.x.use && !this.scrollbar.x.isInit) {
42710
+ var scrollbarXDOM = this.scrollbar.x.dom;
42711
+ scrollbarXDOM.addEventListener('click', this.onScrollbarClick);
42712
+ scrollbarXDOM.addEventListener('mousedown', this.onScrollbarDown);
42713
+ scrollbarXDOM.addEventListener('mouseleave', this.onScrollbarLeave);
42714
+ }
42715
+
42716
+ if (this.scrollbar.y.use && !this.scrollbar.y.isInit) {
42717
+ var _this$overlayCanvas;
42718
+
42719
+ var scrollbarYDOM = this.scrollbar.y.dom;
42720
+ scrollbarYDOM.addEventListener('click', this.onScrollbarClick);
42721
+ scrollbarYDOM.addEventListener('mousedown', this.onScrollbarDown);
42722
+ scrollbarYDOM.addEventListener('mouseleave', this.onScrollbarLeave);
42723
+ (_this$overlayCanvas = this.overlayCanvas) === null || _this$overlayCanvas === void 0 ? void 0 : _this$overlayCanvas.addEventListener('wheel', this.onScrollbarWheel);
42724
+ }
42725
+ },
42726
+
42727
+ /**
42728
+ * Update scroll information by move event
42729
+ * @param e Event
42730
+ */
42731
+ scrolling: function scrolling(e) {
42732
+ var containerDOM = this.getScrollbarContainerDOM(e.target);
42733
+ var dir = containerDOM.dataset.type;
42734
+
42735
+ if (!this.scrollbar[dir].scrolling) {
42736
+ return;
42737
+ }
42738
+
42739
+ var _this$scrollbar$dir = this.scrollbar[dir],
42740
+ steps = _this$scrollbar$dir.steps,
42741
+ range = _this$scrollbar$dir.range,
42742
+ pointInThumb = _this$scrollbar$dir.pointInThumb,
42743
+ startValue = _this$scrollbar$dir.startValue,
42744
+ interval = _this$scrollbar$dir.interval;
42745
+ var trackDOM = containerDOM.getElementsByClassName('ev-chart-scrollbar-track');
42746
+
42747
+ var _trackDOM$0$getBoundi = trackDOM[0].getBoundingClientRect(),
42748
+ x = _trackDOM$0$getBoundi.x,
42749
+ y = _trackDOM$0$getBoundi.y,
42750
+ width = _trackDOM$0$getBoundi.width,
42751
+ height = _trackDOM$0$getBoundi.height;
42752
+
42753
+ var isXScroll = dir === 'x';
42754
+ var sp = isXScroll ? x : y;
42755
+ var trackSize = isXScroll ? width : height;
42756
+ var intervalSize = trackSize / steps;
42757
+ var endValue = startValue + (steps - 1) * interval;
42758
+ var movePoint = isXScroll ? e.clientX : e.clientY;
42759
+
42760
+ if (movePoint < sp) {
42761
+ movePoint = sp;
42762
+ } else if (movePoint > sp + trackSize) {
42763
+ movePoint = sp + trackSize;
42764
+ }
42765
+
42766
+ var move;
42767
+
42768
+ if (isXScroll) {
42769
+ move = movePoint - sp - pointInThumb;
42770
+ } else {
42771
+ move = sp + trackSize - movePoint - pointInThumb;
42772
+ }
42773
+
42774
+ if (move <= 0) {
42775
+ return;
42776
+ }
42777
+
42778
+ var movedMin;
42779
+ var movedMax;
42780
+ var currValue = Math.round(Math.abs(move) / intervalSize) * interval;
42781
+
42782
+ var _range2 = _slicedToArray(range, 2),
42783
+ min = _range2[0],
42784
+ max = _range2[1];
42785
+
42786
+ if (move > 0) {
42787
+ var incrementValue = startValue + (currValue - +min);
42788
+ movedMin = +min + incrementValue;
42789
+ movedMax = movedMin + (+max - +min);
42790
+ }
42791
+
42792
+ if (movedMin < startValue || movedMax > endValue) {
42793
+ return;
42794
+ }
42795
+
42796
+ this.scrollbar[dir].range = [movedMin, movedMax];
42797
+ this.update({
42798
+ updateSeries: false,
42799
+ updateSelTip: {
42800
+ update: false,
42801
+ keepDomain: false
42802
+ }
42803
+ });
42804
+ },
42805
+
42806
+ /**
42807
+ * init scrolling event
42808
+ * @param e
42809
+ */
42810
+ stopScrolling: function stopScrolling(e) {
42811
+ var containerDOM = this.getScrollbarContainerDOM(e.target);
42812
+ var dir = containerDOM.dataset.type;
42813
+ var scrollbarOpt = this.scrollbar[dir];
42814
+
42815
+ if (scrollbarOpt.scrolling) {
42816
+ scrollbarOpt.scrolling = false;
42817
+ var scrollbarDOM = scrollbarOpt.dom;
42818
+ scrollbarDOM.removeEventListener('mousemove', this.onScrollbarMove, false);
42819
+ scrollbarDOM.removeEventListener('mouseup', this.onScrollbarUp, false);
42820
+ }
42821
+ },
42822
+
42823
+ /**
42824
+ * hide scrollbar dom
42825
+ * @param dir axis direction ('x' | 'y')
42826
+ */
42827
+ hideScrollbar: function hideScrollbar(dir) {
42828
+ var scrollbarDOM = this.scrollbar[dir].dom;
42829
+
42830
+ if (!scrollbarDOM) {
42831
+ return;
42832
+ }
42833
+
42834
+ var scrollbarStyle = scrollbarDOM === null || scrollbarDOM === void 0 ? void 0 : scrollbarDOM.style;
42835
+ scrollbarStyle.display = 'none';
42836
+ scrollbarStyle.width = '0';
42837
+ scrollbarStyle.height = '0';
42838
+ },
42839
+
42840
+ /**
42841
+ * destroy scrollbar dom
42842
+ * @param dir axis direction ('x' | 'y')
42843
+ */
42844
+ destroyScrollbar: function destroyScrollbar(dir) {
42845
+ var scrollbarXDOM = this.scrollbar[dir].dom;
42846
+
42847
+ if (scrollbarXDOM) {
42848
+ var _this$overlayCanvas2;
42849
+
42850
+ scrollbarXDOM.remove();
42851
+ this.scrollbar[dir] = {
42852
+ isInit: false
42853
+ };
42854
+ (_this$overlayCanvas2 = this.overlayCanvas) === null || _this$overlayCanvas2 === void 0 ? void 0 : _this$overlayCanvas2.removeEventListener('wheel', this.onScrollbarWheel, false);
42855
+ }
42856
+ }
42857
+ };
42858
+ /* harmony default export */ var plugins_scrollbar = (plugins_scrollbar_module);
42025
42859
  // EXTERNAL MODULE: ./node_modules/core-js/modules/es.object.from-entries.js
42026
42860
  var es_object_from_entries = __webpack_require__("c1f9");
42027
42861
 
@@ -42211,14 +43045,22 @@ var plugins_interaction_modules = {
42211
43045
  }
42212
43046
 
42213
43047
  if (tooltip.use) {
42214
- _this.setTooltipLayoutPosition(hitInfo, e);
43048
+ var _tooltip$formatter;
43049
+
43050
+ if (tooltip !== null && tooltip !== void 0 && (_tooltip$formatter = tooltip.formatter) !== null && _tooltip$formatter !== void 0 && _tooltip$formatter.html) {
43051
+ _this.drawCustomTooltip(hitInfo === null || hitInfo === void 0 ? void 0 : hitInfo.items);
42215
43052
 
42216
- if (type === 'scatter') {
42217
- _this.drawTooltipForScatter(hitInfo, _this.tooltipCtx);
42218
- } else if (type === 'heatMap') {
42219
- _this.drawToolTipForHeatMap(hitInfo, _this.tooltipCtx);
43053
+ _this.setCustomTooltipLayoutPosition(hitInfo, e);
42220
43054
  } else {
42221
- _this.drawTooltip(hitInfo, _this.tooltipCtx);
43055
+ _this.setTooltipLayoutPosition(hitInfo, e);
43056
+
43057
+ if (type === 'scatter') {
43058
+ _this.drawTooltipForScatter(hitInfo, _this.tooltipCtx);
43059
+ } else if (type === 'heatMap') {
43060
+ _this.drawToolTipForHeatMap(hitInfo, _this.tooltipCtx);
43061
+ } else {
43062
+ _this.drawTooltip(hitInfo, _this.tooltipCtx);
43063
+ }
42222
43064
  }
42223
43065
  }
42224
43066
  } else if (tooltip.use) {
@@ -42417,7 +43259,11 @@ var plugins_interaction_modules = {
42417
43259
  } else if (useSelectItem) {
42418
43260
  setSelectedItemInfo();
42419
43261
  } else if (useSelectLabel) {
42420
- setSelectedLabelInfo();
43262
+ var _useBothAxis = selectLabelOpt.useBothAxis;
43263
+
43264
+ var _location = _this.getClickedLocation(offset);
43265
+
43266
+ setSelectedLabelInfo(_useBothAxis ? _location : null);
42421
43267
  }
42422
43268
 
42423
43269
  break;
@@ -43274,7 +44120,9 @@ var plugins_tooltip_modules = {
43274
44120
  * @returns {undefined}
43275
44121
  */
43276
44122
  createTooltipDOM: function createTooltipDOM() {
43277
- var _this = this;
44123
+ var _this$options$tooltip,
44124
+ _this$options$tooltip2,
44125
+ _this = this;
43278
44126
 
43279
44127
  this.tooltipDOM = document.createElement('div');
43280
44128
  this.tooltipDOM.className = 'ev-chart-tooltip';
@@ -43287,9 +44135,13 @@ var plugins_tooltip_modules = {
43287
44135
  this.tooltipCtx = this.tooltipCanvas.getContext('2d');
43288
44136
  this.tooltipDOM.style.display = 'none';
43289
44137
  this.setFontFamily();
43290
- this.tooltipBodyDOM.appendChild(this.tooltipCanvas);
43291
- this.tooltipDOM.appendChild(this.tooltipHeaderDOM);
43292
- this.tooltipDOM.appendChild(this.tooltipBodyDOM);
44138
+
44139
+ if (!((_this$options$tooltip = this.options.tooltip) !== null && _this$options$tooltip !== void 0 && (_this$options$tooltip2 = _this$options$tooltip.formatter) !== null && _this$options$tooltip2 !== void 0 && _this$options$tooltip2.dom)) {
44140
+ this.tooltipBodyDOM.appendChild(this.tooltipCanvas);
44141
+ this.tooltipDOM.appendChild(this.tooltipHeaderDOM);
44142
+ this.tooltipDOM.appendChild(this.tooltipBodyDOM);
44143
+ }
44144
+
43293
44145
  document.body.appendChild(this.tooltipDOM);
43294
44146
 
43295
44147
  if (this.options.tooltip.debouncedHide) {
@@ -43307,9 +44159,9 @@ var plugins_tooltip_modules = {
43307
44159
  * set tooltip's font style
43308
44160
  */
43309
44161
  setFontFamily: function setFontFamily() {
43310
- var _this$options$tooltip, _this$options, _this$options$tooltip2;
44162
+ var _this$options$tooltip3, _this$options, _this$options$tooltip4;
43311
44163
 
43312
- var fontFamily = (_this$options$tooltip = (_this$options = this.options) === null || _this$options === void 0 ? void 0 : (_this$options$tooltip2 = _this$options.tooltip) === null || _this$options$tooltip2 === void 0 ? void 0 : _this$options$tooltip2.fontFamily) !== null && _this$options$tooltip !== void 0 ? _this$options$tooltip : 'Roboto';
44164
+ var fontFamily = (_this$options$tooltip3 = (_this$options = this.options) === null || _this$options === void 0 ? void 0 : (_this$options$tooltip4 = _this$options.tooltip) === null || _this$options$tooltip4 === void 0 ? void 0 : _this$options$tooltip4.fontFamily) !== null && _this$options$tooltip3 !== void 0 ? _this$options$tooltip3 : 'Roboto';
43313
44165
  fontStyle = "normal normal lighter 14px ".concat(fontFamily);
43314
44166
  this.tooltipHeaderDOM.style.fontFamily = fontFamily;
43315
44167
  },
@@ -43830,6 +44682,70 @@ var plugins_tooltip_modules = {
43830
44682
 
43831
44683
  ctx.restore();
43832
44684
  },
44685
+ setCustomTooltipLayoutPosition: function setCustomTooltipLayoutPosition(hitInfo, e) {
44686
+ var _document$getElements;
44687
+
44688
+ var mouseX = e.pageX;
44689
+ var mouseY = e.pageY;
44690
+ var customTooltipEl = (_document$getElements = document.getElementsByClassName('ev-chart-tooltip-custom')) === null || _document$getElements === void 0 ? void 0 : _document$getElements[0];
44691
+
44692
+ if (!customTooltipEl) {
44693
+ return;
44694
+ }
44695
+
44696
+ var contentsWidth = customTooltipEl.offsetWidth;
44697
+ var contentsHeight = customTooltipEl.offsetHeight;
44698
+ this.tooltipDOM.style.height = 'auto';
44699
+ this.tooltipBodyDOM.style.height = "".concat(contentsHeight + 6, "px");
44700
+ var bodyWidth = document.body.clientWidth;
44701
+ var bodyHeight = document.body.clientHeight;
44702
+ var distanceMouseAndTooltip = 20;
44703
+ var maximumPosX = bodyWidth - contentsWidth - distanceMouseAndTooltip;
44704
+ var maximumPosY = bodyHeight - (TITLE_HEIGHT + contentsHeight) - distanceMouseAndTooltip;
44705
+ var expectedPosX = mouseX + distanceMouseAndTooltip;
44706
+ var expectedPosY = mouseY + distanceMouseAndTooltip;
44707
+ var reversedPosX = mouseX - contentsWidth - distanceMouseAndTooltip;
44708
+ var reversedPosY = mouseY - (TITLE_HEIGHT + contentsHeight) - distanceMouseAndTooltip;
44709
+ this.tooltipDOM.style.left = expectedPosX > maximumPosX ? "".concat(reversedPosX, "px") : "".concat(expectedPosX, "px");
44710
+ this.tooltipDOM.style.top = expectedPosY > maximumPosY ? "".concat(reversedPosY, "px") : "".concat(expectedPosY, "px");
44711
+ this.tooltipDOM.style.display = 'block';
44712
+ },
44713
+
44714
+ /**
44715
+ * Draw User Custom Tooltip (tooltip > formatter > html)
44716
+ * call "formatter > html" and append to tooltip DOM
44717
+ * @param hitInfoItems
44718
+ */
44719
+ drawCustomTooltip: function drawCustomTooltip(hitInfoItems) {
44720
+ var _this$options2, _opt$formatter3;
44721
+
44722
+ var opt = (_this$options2 = this.options) === null || _this$options2 === void 0 ? void 0 : _this$options2.tooltip;
44723
+
44724
+ if ((_opt$formatter3 = opt.formatter) !== null && _opt$formatter3 !== void 0 && _opt$formatter3.html) {
44725
+ var _opt$formatter4;
44726
+
44727
+ this.tooltipDOM.innerHTML = '';
44728
+ var seriesList = [];
44729
+ Object.keys(hitInfoItems).forEach(function (sId) {
44730
+ seriesList.push({
44731
+ sId: sId,
44732
+ data: hitInfoItems[sId].data,
44733
+ color: hitInfoItems[sId].color,
44734
+ name: hitInfoItems[sId].name
44735
+ });
44736
+ });
44737
+ var userCustomTooltipBody = helpers_util.htmlToElement(opt === null || opt === void 0 ? void 0 : (_opt$formatter4 = opt.formatter) === null || _opt$formatter4 === void 0 ? void 0 : _opt$formatter4.html(seriesList));
44738
+
44739
+ if (userCustomTooltipBody) {
44740
+ this.tooltipDOM.appendChild(userCustomTooltipBody);
44741
+ }
44742
+
44743
+ this.tooltipDOM.style.overflowY = 'hidden';
44744
+ this.tooltipDOM.style.backgroundColor = opt.backgroundColor;
44745
+ this.tooltipDOM.style.border = "1px solid ".concat(opt.borderColor);
44746
+ this.tooltipDOM.style.color = opt.fontColor;
44747
+ }
44748
+ },
43833
44749
 
43834
44750
  /**
43835
44751
  * set style properties on tooltip DOM
@@ -44248,6 +45164,9 @@ var plugins_pie_modules = {
44248
45164
 
44249
45165
 
44250
45166
 
45167
+
45168
+
45169
+
44251
45170
  var element_tip_modules = {
44252
45171
  /**
44253
45172
  * Draw TextTip with tip's locationInfo
@@ -44432,6 +45351,23 @@ var element_tip_modules = {
44432
45351
  var dp;
44433
45352
 
44434
45353
  if (type === 'bar') {
45354
+ var scrollbarOpt = isHorizontal ? this.scrollbar.y : this.scrollbar.x;
45355
+
45356
+ if (scrollbarOpt !== null && scrollbarOpt !== void 0 && scrollbarOpt.use) {
45357
+ var _scrollbarOpt$range;
45358
+
45359
+ var _ref = (_scrollbarOpt$range = scrollbarOpt === null || scrollbarOpt === void 0 ? void 0 : scrollbarOpt.range) !== null && _scrollbarOpt$range !== void 0 ? _scrollbarOpt$range : [],
45360
+ _ref2 = _slicedToArray(_ref, 2),
45361
+ min = _ref2[0],
45362
+ max = _ref2[1];
45363
+
45364
+ if (ldata >= min && ldata <= max) {
45365
+ ldata -= min !== null && min !== void 0 ? min : 0;
45366
+ } else {
45367
+ return false;
45368
+ }
45369
+ }
45370
+
44435
45371
  if (isHorizontal) {
44436
45372
  halfBarSize = Math.round(size.h / 2);
44437
45373
  cp = ysp - size.cat * ldata - size.cPad;
@@ -44543,7 +45479,7 @@ var element_tip_modules = {
44543
45479
  var drawTip = false;
44544
45480
 
44545
45481
  if (dataIndex.length) {
44546
- var _this$seriesList, _this$data$groups$, _this$data$groups;
45482
+ var _this$seriesList, _this$data$groups$, _this$data$groups, _labelAxes$labels;
44547
45483
 
44548
45484
  drawTip = true;
44549
45485
  var chartRect = this.chartRect;
@@ -44559,6 +45495,7 @@ var element_tip_modules = {
44559
45495
  var valueAxesRange = isHorizontal ? this.axesRange.x[0] : this.axesRange.y[0];
44560
45496
  var valuePositionCalcFunction = isHorizontal ? helpers_canvas.calculateX : helpers_canvas.calculateY;
44561
45497
  var labelPositionCalcFunction = isHorizontal ? helpers_canvas.calculateY : helpers_canvas.calculateX;
45498
+ var scrollbarOpt = isHorizontal ? this.scrollbar.y : this.scrollbar.x;
44562
45499
  var chartWidth = chartRect.chartWidth - (labelOffset.left + labelOffset.right);
44563
45500
  var chartHeight = chartRect.chartHeight - (labelOffset.top + labelOffset.bottom);
44564
45501
  var valueSpace = isHorizontal ? chartWidth : chartHeight;
@@ -44582,11 +45519,35 @@ var element_tip_modules = {
44582
45519
  var graphX;
44583
45520
  var lineSeries;
44584
45521
  var sizeObj;
45522
+ var startIndex = 0;
45523
+ var endIndex = (_labelAxes$labels = labelAxes.labels) === null || _labelAxes$labels === void 0 ? void 0 : _labelAxes$labels.length;
44585
45524
 
44586
45525
  if (labelAxes.labels) {
45526
+ var labelCount = labelAxes.labels.length;
45527
+
45528
+ if (scrollbarOpt !== null && scrollbarOpt !== void 0 && scrollbarOpt.use) {
45529
+ var range = scrollbarOpt.range,
45530
+ interval = scrollbarOpt.interval,
45531
+ type = scrollbarOpt.type;
45532
+
45533
+ var _range = _slicedToArray(range, 2),
45534
+ min = _range[0],
45535
+ max = _range[1];
45536
+
45537
+ if (truthyNumber(min) && truthyNumber(max)) {
45538
+ labelCount = Math.floor((+max - +min) / interval) + 1;
45539
+ startIndex = type === 'step' ? min : labelAxes.labels.findIndex(function (v) {
45540
+ return v === +min;
45541
+ });
45542
+ endIndex = type === 'step' ? max : labelAxes.labels.findIndex(function (v) {
45543
+ return v === +max;
45544
+ });
45545
+ }
45546
+ }
45547
+
44587
45548
  labelStartPoint = aPos[labelAxes.units.rectStart];
44588
45549
  labelEndPoint = aPos[labelAxes.units.rectEnd];
44589
- labelGap = (labelEndPoint - labelStartPoint) / labelAxes.labels.length;
45550
+ labelGap = (labelEndPoint - labelStartPoint) / labelCount;
44590
45551
  } else {
44591
45552
  graphX = this.axesSteps.x[0];
44592
45553
  lineSeries = seriesList.find(function (sId) {
@@ -44626,7 +45587,12 @@ var element_tip_modules = {
44626
45587
  }
44627
45588
 
44628
45589
  if (labelAxes.labels) {
44629
- var labelCenter = Math.round(labelStartPoint + labelGap * dataIndex[i]);
45590
+ if (dataIndex[i] < startIndex || dataIndex[i] > endIndex) {
45591
+ return;
45592
+ }
45593
+
45594
+ var labelIndex = dataIndex[i] - startIndex;
45595
+ var labelCenter = Math.round(labelStartPoint + labelGap * labelIndex);
44630
45596
  dp = labelCenter + labelGap / 2;
44631
45597
  } else {
44632
45598
  dp = labelPositionCalcFunction(label[i], graphX.graphMin, graphX.graphMax, chartWidth - sizeObj.comboOffset, aPos.x1 + sizeObj.comboOffset / 2);
@@ -44932,6 +45898,7 @@ var element_tip_modules = {
44932
45898
 
44933
45899
 
44934
45900
 
45901
+
44935
45902
 
44936
45903
 
44937
45904
  var chart_core_EvChart = /*#__PURE__*/function () {
@@ -44951,6 +45918,7 @@ var chart_core_EvChart = /*#__PURE__*/function () {
44951
45918
  Object.assign(this, plugins_legend);
44952
45919
  Object.assign(this, plugins_pie);
44953
45920
  Object.assign(this, plugins_title);
45921
+ Object.assign(this, plugins_scrollbar);
44954
45922
  }
44955
45923
 
44956
45924
  if (options.type === 'heatMap' && options.legend.type === 'gradient') {
@@ -44992,6 +45960,14 @@ var chart_core_EvChart = /*#__PURE__*/function () {
44992
45960
  this.isInitLegend = false;
44993
45961
  this.isInitTitle = false;
44994
45962
  this.isInit = false;
45963
+ this.scrollbar = {
45964
+ x: {
45965
+ isInit: false
45966
+ },
45967
+ y: {
45968
+ isInit: false
45969
+ }
45970
+ };
44995
45971
  this.seriesList = {};
44996
45972
  this.lastTip = {
44997
45973
  pos: null,
@@ -45069,6 +46045,8 @@ var chart_core_EvChart = /*#__PURE__*/function () {
45069
46045
  }, {
45070
46046
  key: "initRect",
45071
46047
  value: function initRect() {
46048
+ var _opt$axesX, _opt$axesX$, _opt$axesX$$scrollbar, _opt$axesY, _opt$axesY$, _opt$axesY$$scrollbar;
46049
+
45072
46050
  var opt = this.options;
45073
46051
 
45074
46052
  if (opt.title.show) {
@@ -45087,6 +46065,10 @@ var chart_core_EvChart = /*#__PURE__*/function () {
45087
46065
  this.setLegendPosition();
45088
46066
  }
45089
46067
 
46068
+ if ((_opt$axesX = opt.axesX) !== null && _opt$axesX !== void 0 && (_opt$axesX$ = _opt$axesX[0]) !== null && _opt$axesX$ !== void 0 && (_opt$axesX$$scrollbar = _opt$axesX$.scrollbar) !== null && _opt$axesX$$scrollbar !== void 0 && _opt$axesX$$scrollbar.use || (_opt$axesY = opt.axesY) !== null && _opt$axesY !== void 0 && (_opt$axesY$ = _opt$axesY[0]) !== null && _opt$axesY$ !== void 0 && (_opt$axesY$$scrollbar = _opt$axesY$.scrollbar) !== null && _opt$axesY$$scrollbar !== void 0 && _opt$axesY$$scrollbar.use) {
46069
+ this.initScrollbar();
46070
+ }
46071
+
45090
46072
  this.chartRect = this.getChartRect();
45091
46073
  }
45092
46074
  /**
@@ -45099,11 +46081,18 @@ var chart_core_EvChart = /*#__PURE__*/function () {
45099
46081
  }, {
45100
46082
  key: "drawChart",
45101
46083
  value: function drawChart(hitInfo) {
46084
+ var _this$scrollbar, _this$scrollbar$x, _this$scrollbar2, _this$scrollbar2$y;
46085
+
45102
46086
  this.initScale();
45103
46087
  this.labelRange = this.getAxesLabelRange();
45104
46088
  this.axesSteps = this.calculateSteps();
45105
46089
  this.drawAxis(hitInfo);
45106
46090
  this.drawSeries(hitInfo);
46091
+
46092
+ if ((_this$scrollbar = this.scrollbar) !== null && _this$scrollbar !== void 0 && (_this$scrollbar$x = _this$scrollbar.x) !== null && _this$scrollbar$x !== void 0 && _this$scrollbar$x.use || (_this$scrollbar2 = this.scrollbar) !== null && _this$scrollbar2 !== void 0 && (_this$scrollbar2$y = _this$scrollbar2.y) !== null && _this$scrollbar2$y !== void 0 && _this$scrollbar2$y.use) {
46093
+ this.updateScrollbarPosition();
46094
+ }
46095
+
45107
46096
  this.drawTip();
45108
46097
 
45109
46098
  if (this.bufferCanvas) {
@@ -45316,7 +46305,8 @@ var chart_core_EvChart = /*#__PURE__*/function () {
45316
46305
  value: function createAxes(dir) {
45317
46306
  var axes = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
45318
46307
  var ctx = this.bufferCtx;
45319
- var labels = this.options.type === 'heatMap' ? this.data.labels[dir] : this.data.labels;
46308
+ var isHeatMapType = this.options.type === 'heatMap';
46309
+ var labels = isHeatMapType ? this.data.labels[dir] : this.data.labels;
45320
46310
  var options = this.options;
45321
46311
  return axes.map(function (axis) {
45322
46312
  switch (axis.type) {
@@ -45354,10 +46344,10 @@ var chart_core_EvChart = /*#__PURE__*/function () {
45354
46344
 
45355
46345
  /* eslint-disable max-len */
45356
46346
  var axesXMinMax = this.axesX.map(function (axis, index) {
45357
- return axis.calculateScaleRange(_this3.minMax.x[index], _this3.chartRect);
46347
+ return axis.calculateScaleRange(_this3.minMax.x[index], _this3.scrollbar.x, _this3.chartRect);
45358
46348
  });
45359
46349
  var axesYMinMax = this.axesY.map(function (axis, index) {
45360
- return axis.calculateScaleRange(_this3.minMax.y[index], _this3.chartRect);
46350
+ return axis.calculateScaleRange(_this3.minMax.y[index], _this3.scrollbar.y, _this3.chartRect);
45361
46351
  });
45362
46352
  /* eslint-enable max-len */
45363
46353
 
@@ -45399,6 +46389,8 @@ var chart_core_EvChart = /*#__PURE__*/function () {
45399
46389
  var range = {
45400
46390
  minValue: _this5.axesRange.x[index].min,
45401
46391
  maxValue: _this5.axesRange.x[index].max,
46392
+ minIndex: _this5.axesRange.x[index].minIndex,
46393
+ maxIndex: _this5.axesRange.x[index].maxIndex,
45402
46394
  minSteps: _this5.labelRange.x[index].min,
45403
46395
  maxSteps: _this5.labelRange.x[index].max
45404
46396
  };
@@ -45408,6 +46400,8 @@ var chart_core_EvChart = /*#__PURE__*/function () {
45408
46400
  var range = {
45409
46401
  minValue: _this5.axesRange.y[index].min,
45410
46402
  maxValue: _this5.axesRange.y[index].max,
46403
+ minIndex: _this5.axesRange.y[index].minIndex,
46404
+ maxIndex: _this5.axesRange.y[index].maxIndex,
45411
46405
  minSteps: _this5.labelRange.y[index].min,
45412
46406
  maxSteps: _this5.labelRange.y[index].max
45413
46407
  };
@@ -45520,14 +46514,28 @@ var chart_core_EvChart = /*#__PURE__*/function () {
45520
46514
  yAxisTitleHeight = _fontSize + titleMargin;
45521
46515
  }
45522
46516
 
45523
- var horizontalPadding = padding.left + padding.right;
45524
- var verticalPadding = padding.top + padding.bottom + xAxisTitleHeight + yAxisTitleHeight;
46517
+ var xAxisScrollOpt = this.scrollbar.x;
46518
+ var yAxisScrollOpt = this.scrollbar.y;
46519
+ var xAxisScrollHeight = 0;
46520
+
46521
+ if (xAxisScrollOpt !== null && xAxisScrollOpt !== void 0 && xAxisScrollOpt.use) {
46522
+ xAxisScrollHeight = xAxisScrollOpt === null || xAxisScrollOpt === void 0 ? void 0 : xAxisScrollOpt.height;
46523
+ }
46524
+
46525
+ var yAxisScrollWidth = 0;
46526
+
46527
+ if (yAxisScrollOpt !== null && yAxisScrollOpt !== void 0 && yAxisScrollOpt.use) {
46528
+ yAxisScrollWidth = yAxisScrollOpt === null || yAxisScrollOpt === void 0 ? void 0 : yAxisScrollOpt.width;
46529
+ }
46530
+
46531
+ var horizontalPadding = padding.left + padding.right + yAxisScrollWidth;
46532
+ var verticalPadding = padding.top + padding.bottom + xAxisTitleHeight + yAxisTitleHeight + xAxisScrollHeight;
45525
46533
  var chartWidth = width > horizontalPadding ? width - horizontalPadding : width;
45526
46534
  var chartHeight = height > verticalPadding ? height - verticalPadding : height;
45527
46535
  var x1 = padding.left;
45528
- var x2 = Math.max(width - padding.right, x1 + 2);
46536
+ var x2 = Math.max(width - padding.right - yAxisScrollWidth, x1 + 2);
45529
46537
  var y1 = padding.top + yAxisTitleHeight;
45530
- var y2 = Math.max(height - padding.bottom - xAxisTitleHeight, y1 + 2);
46538
+ var y2 = Math.max(height - padding.bottom - xAxisTitleHeight - xAxisScrollHeight, y1 + 2);
45531
46539
  return {
45532
46540
  x1: x1,
45533
46541
  x2: x2,
@@ -45673,6 +46681,8 @@ var chart_core_EvChart = /*#__PURE__*/function () {
45673
46681
  }, {
45674
46682
  key: "update",
45675
46683
  value: function update(updateInfo) {
46684
+ var _this$updateScrollbar;
46685
+
45676
46686
  var options = this.options;
45677
46687
  var data = this.data.data;
45678
46688
  var labels = this.data.labels;
@@ -45687,6 +46697,7 @@ var chart_core_EvChart = /*#__PURE__*/function () {
45687
46697
  return;
45688
46698
  }
45689
46699
 
46700
+ (_this$updateScrollbar = this.updateScrollbar) === null || _this$updateScrollbar === void 0 ? void 0 : _this$updateScrollbar.call(this);
45690
46701
  this.resetProps();
45691
46702
 
45692
46703
  if (updateSeries) {
@@ -45893,6 +46904,10 @@ var chart_core_EvChart = /*#__PURE__*/function () {
45893
46904
  this.legendBoxDOM.removeEventListener('click', this.onLegendBoxClick);
45894
46905
  this.legendBoxDOM.removeEventListener('mouseover', this.onLegendBoxOver);
45895
46906
  this.legendBoxDOM.removeEventListener('mouseleave', this.onLegendBoxLeave);
46907
+
46908
+ if (this.options.legend.type === 'gradient') {
46909
+ this.legendBoxDOM.removeEventListener('mousedown', this.onLegendMouseDown);
46910
+ }
45896
46911
  }
45897
46912
 
45898
46913
  if (this.resizeDOM) {