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.
@@ -4314,7 +4314,7 @@ var update = add("5ac4a7d0", content, true, {"sourceMap":false,"shadowMode":fals
4314
4314
  var ___CSS_LOADER_API_IMPORT___ = __webpack_require__("24fb");
4315
4315
  exports = ___CSS_LOADER_API_IMPORT___(false);
4316
4316
  // Module
4317
- 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}", ""]);
4317
+ 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}", ""]);
4318
4318
  // Exports
4319
4319
  module.exports = exports;
4320
4320
 
@@ -8045,7 +8045,7 @@ $({ target: 'Number', stat: true }, {
8045
8045
  /***/ "9224":
8046
8046
  /***/ (function(module) {
8047
8047
 
8048
- module.exports = JSON.parse("{\"a\":\"3.3.55\"}");
8048
+ module.exports = JSON.parse("{\"a\":\"3.3.56\"}");
8049
8049
 
8050
8050
  /***/ }),
8051
8051
 
@@ -15639,6 +15639,9 @@ function getPrecision(v) {
15639
15639
  var decimal = (v === null || v === void 0 ? void 0 : v.toString().split('.')[1]) || 0;
15640
15640
  return decimal ? decimal.length : 0;
15641
15641
  }
15642
+ function checkNullAndUndefined(value) {
15643
+ return value === null || value === undefined;
15644
+ }
15642
15645
  // CONCATENATED MODULE: ./src/components/inputNumber/uses.js
15643
15646
 
15644
15647
 
@@ -32557,6 +32560,7 @@ var es_number_min_safe_integer = __webpack_require__("e6e1");
32557
32560
 
32558
32561
 
32559
32562
 
32563
+
32560
32564
  /* harmony default export */ var helpers_util = ({
32561
32565
  /**
32562
32566
  * Transforming hex to rgb code
@@ -32899,6 +32903,17 @@ var es_number_min_safe_integer = __webpack_require__("e6e1");
32899
32903
  */
32900
32904
  checkSafeInteger: function checkSafeInteger(value) {
32901
32905
  return value <= Number.MAX_SAFE_INTEGER && value >= Number.MIN_SAFE_INTEGER;
32906
+ },
32907
+
32908
+ /**
32909
+ * Convert html(string) To Element
32910
+ * @param htmlString
32911
+ * @returns {ChildNode}
32912
+ */
32913
+ htmlToElement: function htmlToElement(htmlString) {
32914
+ var template = document.createElement('template');
32915
+ template.innerHTML = htmlString.trim();
32916
+ return template.content.firstChild;
32902
32917
  }
32903
32918
  });
32904
32919
  // CONCATENATED MODULE: ./src/components/chart/model/model.store.js
@@ -33309,7 +33324,6 @@ var modules = {
33309
33324
  /**
33310
33325
  * Take data to create data for each series
33311
33326
  * @param {array} data data array for each series
33312
- * @param {object} label chart label
33313
33327
  *
33314
33328
  * @returns {array} data info added position and etc
33315
33329
  */
@@ -33910,7 +33924,7 @@ var modules = {
33910
33924
  * @returns {object} clicked label information
33911
33925
  */
33912
33926
  getLabelInfoByPosition: function getLabelInfoByPosition(offset, targetAxis) {
33913
- var _Object$values$sort$, _Object$values$sort$2, _scale, _scale$labels;
33927
+ var _Object$values$sort$, _Object$values$sort$2, _scrollbarOpt, _scale, _scale$labels, _scale3, _scale3$labels;
33914
33928
 
33915
33929
  var _offset2 = _slicedToArray(offset, 2),
33916
33930
  x = _offset2[0],
@@ -33933,13 +33947,17 @@ var modules = {
33933
33947
  horizontal = _this$options.horizontal,
33934
33948
  selectLabel = _this$options.selectLabel;
33935
33949
  var scale;
33950
+ var scrollbarOpt;
33936
33951
 
33937
33952
  if (targetAxis === 'xAxis') {
33938
33953
  scale = this.axesX[0];
33954
+ scrollbarOpt = this.scrollbar.x;
33939
33955
  } else if (targetAxis === 'yAxis') {
33940
33956
  scale = this.axesY[0];
33957
+ scrollbarOpt = this.scrollbar.y;
33941
33958
  } else {
33942
33959
  scale = horizontal ? this.axesY[0] : this.axesX[0];
33960
+ scrollbarOpt = horizontal ? this.scrollbar.y : this.scrollbar.x;
33943
33961
  }
33944
33962
 
33945
33963
  var startPoint = aPos[scale.units.rectStart];
@@ -33947,11 +33965,41 @@ var modules = {
33947
33965
  var labelIndex;
33948
33966
  var hitInfo;
33949
33967
 
33950
- if ((_scale = scale) !== null && _scale !== void 0 && (_scale$labels = _scale.labels) !== null && _scale$labels !== void 0 && _scale$labels.length) {
33951
- var labelGap = (endPoint - startPoint) / scale.labels.length;
33968
+ 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) {
33969
+ var _scrollbarOpt2 = scrollbarOpt,
33970
+ type = _scrollbarOpt2.type,
33971
+ range = _scrollbarOpt2.range,
33972
+ _scrollbarOpt2$interv = _scrollbarOpt2.interval,
33973
+ interval = _scrollbarOpt2$interv === void 0 ? 1 : _scrollbarOpt2$interv;
33974
+
33975
+ var _ref14 = range !== null && range !== void 0 ? range : [0, scale.labels.length],
33976
+ _ref15 = _slicedToArray(_ref14, 2),
33977
+ min = _ref15[0],
33978
+ max = _ref15[1];
33979
+
33980
+ var labelCount = Math.floor((+max - +min) / interval) + 1;
33981
+ var labelGap = (endPoint - startPoint) / labelCount;
33952
33982
  var isYAxis = targetAxis === 'yAxis' || horizontal;
33953
33983
  var index = Math.floor(((isYAxis ? y : x) - startPoint) / labelGap);
33954
- labelIndex = scale.labels.length > index ? index : -1;
33984
+
33985
+ if (type === 'step') {
33986
+ labelIndex = min + index;
33987
+ } else {
33988
+ var _scale2;
33989
+
33990
+ var minIndex = (_scale2 = scale) === null || _scale2 === void 0 ? void 0 : _scale2.labels.findIndex(function (label) {
33991
+ return label === +min;
33992
+ });
33993
+ labelIndex = minIndex + index;
33994
+ }
33995
+ } else if ((_scale3 = scale) !== null && _scale3 !== void 0 && (_scale3$labels = _scale3.labels) !== null && _scale3$labels !== void 0 && _scale3$labels.length) {
33996
+ var _labelGap = (endPoint - startPoint) / scale.labels.length;
33997
+
33998
+ var _isYAxis = targetAxis === 'yAxis' || horizontal;
33999
+
34000
+ var _index = Math.floor(((_isYAxis ? y : x) - startPoint) / _labelGap);
34001
+
34002
+ labelIndex = scale.labels.length > _index ? _index : -1;
33955
34003
  } else {
33956
34004
  var _hitInfo$maxIndex;
33957
34005
 
@@ -35038,6 +35086,17 @@ var AXIS_OPTION = {
35038
35086
  textAlign: 'right',
35039
35087
  fontStyle: 'normal',
35040
35088
  color: '#808080'
35089
+ },
35090
+ scrollbar: {
35091
+ use: false,
35092
+ width: 14,
35093
+ height: 14,
35094
+ background: '#F2F2F2',
35095
+ showButton: true,
35096
+ thumbStyle: {
35097
+ background: '#929292',
35098
+ radius: 0
35099
+ }
35041
35100
  }
35042
35101
  };
35043
35102
  var PLOT_LINE_OPTION = {
@@ -36156,6 +36215,7 @@ var element_scatter_Scatter = /*#__PURE__*/function () {
36156
36215
 
36157
36216
 
36158
36217
 
36218
+
36159
36219
  var element_bar_Bar = /*#__PURE__*/function () {
36160
36220
  function Bar(sId, opt, sIdx, isHorizontal) {
36161
36221
  var _this = this;
@@ -36219,19 +36279,37 @@ var element_bar_Bar = /*#__PURE__*/function () {
36219
36279
  var y;
36220
36280
  var minmaxX = axesSteps.x[this.xAxisIndex];
36221
36281
  var minmaxY = axesSteps.y[this.yAxisIndex];
36282
+ var totalCount = this.data.length;
36283
+ var minIndex;
36284
+ var maxIndex;
36285
+
36286
+ if (isHorizontal) {
36287
+ var _ref = [minmaxY.minIndex, minmaxY.maxIndex];
36288
+ minIndex = _ref[0];
36289
+ maxIndex = _ref[1];
36290
+ } else {
36291
+ var _ref2 = [minmaxX.minIndex, minmaxX.maxIndex];
36292
+ minIndex = _ref2[0];
36293
+ maxIndex = _ref2[1];
36294
+ }
36295
+
36296
+ if (truthyNumber(minIndex) && truthyNumber(maxIndex)) {
36297
+ totalCount = maxIndex - minIndex + 1;
36298
+ }
36299
+
36222
36300
  var xArea = chartRect.chartWidth - (labelOffset.left + labelOffset.right);
36223
36301
  var yArea = chartRect.chartHeight - (labelOffset.top + labelOffset.bottom);
36224
36302
  var xsp = chartRect.x1 + labelOffset.left;
36225
36303
  var ysp = chartRect.y2 - labelOffset.bottom;
36226
36304
  var dArea = isHorizontal ? yArea : xArea;
36227
- var cArea = dArea / (this.data.length || 1);
36305
+ var cArea = dArea / (totalCount || 1);
36228
36306
  var cPad;
36229
36307
  var isUnableToDrawCategoryPadding = param.cPadRatio >= 1 || param.cPadRatio <= 0;
36230
36308
 
36231
36309
  if (isUnableToDrawCategoryPadding) {
36232
36310
  cPad = 2;
36233
36311
  } else {
36234
- cPad = Math.max(dArea * (param.cPadRatio / 2) / this.data.length, 2);
36312
+ cPad = Math.max(dArea * (param.cPadRatio / 2) / totalCount, 2);
36235
36313
  }
36236
36314
 
36237
36315
  var bArea;
@@ -36254,6 +36332,7 @@ var element_bar_Bar = /*#__PURE__*/function () {
36254
36332
  this.chartRect = chartRect;
36255
36333
  this.labelOffset = labelOffset;
36256
36334
  this.borderRadius = param.borderRadius;
36335
+ this.range = [minIndex, maxIndex];
36257
36336
  var categoryPoint = null;
36258
36337
  this.data.forEach(function (dataItem, index) {
36259
36338
  var _param$selectLabel, _param$selectItem, _param$selectLabel$se, _param$selectLabel2, _param$selectLabel2$s, _param$selectItem$sel, _param$selectItem2;
@@ -36261,10 +36340,16 @@ var element_bar_Bar = /*#__PURE__*/function () {
36261
36340
  ctx.beginPath();
36262
36341
  var item = dataItem;
36263
36342
 
36343
+ if (truthyNumber(minIndex) && index < minIndex) {
36344
+ return;
36345
+ } else if (truthyNumber(minIndex) && index > maxIndex) {
36346
+ return;
36347
+ }
36348
+
36264
36349
  if (isHorizontal) {
36265
- categoryPoint = ysp - cArea * index - cPad;
36350
+ categoryPoint = ysp - cArea * (index - (minIndex || 0)) - cPad;
36266
36351
  } else {
36267
- categoryPoint = xsp + cArea * index + cPad;
36352
+ categoryPoint = xsp + cArea * (index - (minIndex || 0)) + cPad;
36268
36353
  }
36269
36354
 
36270
36355
  if (isHorizontal) {
@@ -36297,9 +36382,9 @@ var element_bar_Bar = /*#__PURE__*/function () {
36297
36382
  var selectItemOption = param === null || param === void 0 ? void 0 : (_param$selectItem = param.selectItem) === null || _param$selectItem === void 0 ? void 0 : _param$selectItem.option;
36298
36383
  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 : [];
36299
36384
 
36300
- 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 : {},
36301
- selectedItemDataIndex = _ref.dataIndex,
36302
- selectedItemSeriesId = _ref.seriesID;
36385
+ 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 : {},
36386
+ selectedItemDataIndex = _ref3.dataIndex,
36387
+ selectedItemSeriesId = _ref3.seriesID;
36303
36388
 
36304
36389
  var isDownplay = false;
36305
36390
 
@@ -36457,8 +36542,18 @@ var element_bar_Bar = /*#__PURE__*/function () {
36457
36542
  color: this.color
36458
36543
  };
36459
36544
  var gdata = this.data;
36545
+ var totalCount = gdata.length;
36546
+
36547
+ var _this$range = _slicedToArray(this.range, 2),
36548
+ min = _this$range[0],
36549
+ max = _this$range[1];
36550
+
36551
+ if (truthyNumber(min) && truthyNumber(max)) {
36552
+ totalCount = max - min + 1;
36553
+ }
36554
+
36460
36555
  var s = 0;
36461
- var e = gdata.length - 1;
36556
+ var e = totalCount - 1;
36462
36557
 
36463
36558
  while (s <= e) {
36464
36559
  var m = Math.floor((s + e) / 2);
@@ -36503,8 +36598,18 @@ var element_bar_Bar = /*#__PURE__*/function () {
36503
36598
  color: this.color
36504
36599
  };
36505
36600
  var gdata = this.data;
36601
+ var totalCount = gdata.length;
36602
+
36603
+ var _this$range2 = _slicedToArray(this.range, 2),
36604
+ min = _this$range2[0],
36605
+ max = _this$range2[1];
36606
+
36607
+ if (truthyNumber(min) && truthyNumber(max)) {
36608
+ totalCount = max - min + 1;
36609
+ }
36610
+
36506
36611
  var s = 0;
36507
- var e = gdata.length - 1;
36612
+ var e = totalCount - 1;
36508
36613
 
36509
36614
  while (s <= e) {
36510
36615
  var m = Math.floor((s + e) / 2);
@@ -36542,11 +36647,11 @@ var element_bar_Bar = /*#__PURE__*/function () {
36542
36647
 
36543
36648
  }, {
36544
36649
  key: "drawValueLabels",
36545
- value: function drawValueLabels(_ref2) {
36546
- var context = _ref2.context,
36547
- data = _ref2.data,
36548
- positions = _ref2.positions,
36549
- isHighlight = _ref2.isHighlight;
36650
+ value: function drawValueLabels(_ref4) {
36651
+ var context = _ref4.context,
36652
+ data = _ref4.data,
36653
+ positions = _ref4.positions,
36654
+ isHighlight = _ref4.isHighlight;
36550
36655
  var isHorizontal = this.isHorizontal;
36551
36656
  var _this$showValue = this.showValue,
36552
36657
  fontSize = _this$showValue.fontSize,
@@ -36572,9 +36677,9 @@ var element_bar_Bar = /*#__PURE__*/function () {
36572
36677
  if (isStacked) {
36573
36678
  value = data.o;
36574
36679
  } else {
36575
- var _ref3;
36680
+ var _ref5;
36576
36681
 
36577
- value = (_ref3 = isHorizontal ? data.x : data.y) !== null && _ref3 !== void 0 ? _ref3 : '';
36682
+ value = (_ref5 = isHorizontal ? data.x : data.y) !== null && _ref5 !== void 0 ? _ref5 : '';
36578
36683
  }
36579
36684
 
36580
36685
  var formattedTxt;
@@ -36663,9 +36768,9 @@ var element_bar_Bar = /*#__PURE__*/function () {
36663
36768
  }
36664
36769
  }, {
36665
36770
  key: "drawBar",
36666
- value: function drawBar(_ref4) {
36667
- var ctx = _ref4.ctx,
36668
- positions = _ref4.positions;
36771
+ value: function drawBar(_ref6) {
36772
+ var ctx = _ref6.ctx,
36773
+ positions = _ref6.positions;
36669
36774
  var isHorizontal = this.isHorizontal;
36670
36775
  var isStackBar = ('stackIndex' in this);
36671
36776
  var isBorderRadius = this.borderRadius && this.borderRadius > 0;
@@ -37457,6 +37562,10 @@ var element_heatmap_HeatMap = /*#__PURE__*/function () {
37457
37562
  value: function drawItem(ctx, x, y, w, h, borderOpt) {
37458
37563
  ctx.beginPath();
37459
37564
 
37565
+ if (w < 0 || h < 0) {
37566
+ return;
37567
+ }
37568
+
37460
37569
  if (borderOpt.show) {
37461
37570
  var radius = borderOpt.radius;
37462
37571
 
@@ -37488,7 +37597,7 @@ var element_heatmap_HeatMap = /*#__PURE__*/function () {
37488
37597
  }
37489
37598
  }, {
37490
37599
  key: "calculateXY",
37491
- value: function calculateXY(dir, value, startPoint) {
37600
+ value: function calculateXY(dir, value, startPoint, minMax) {
37492
37601
  var point = null;
37493
37602
 
37494
37603
  if (this.labels[dir] && this.labels[dir].length) {
@@ -37496,17 +37605,39 @@ var element_heatmap_HeatMap = /*#__PURE__*/function () {
37496
37605
  return label === value;
37497
37606
  });
37498
37607
 
37499
- if (index > -1) {
37500
- point = dir === 'x' ? startPoint + this.size.w * index : startPoint - this.size.h * (index + 1);
37501
- } else {
37502
- var timeIndex = this.labels[dir].findIndex(function (label) {
37503
- return new Date(label).getTime() === new Date(value).getTime();
37608
+ if (index === -1) {
37609
+ index = this.labels[dir].findIndex(function (label) {
37610
+ return +label === +value;
37504
37611
  });
37612
+ }
37613
+
37614
+ var minIndex = minMax.minIndex,
37615
+ maxIndex = minMax.maxIndex,
37616
+ graphMin = minMax.graphMin,
37617
+ graphMax = minMax.graphMax;
37505
37618
 
37506
- if (timeIndex > -1) {
37507
- point = dir === 'x' ? startPoint + this.size.w * timeIndex : startPoint - this.size.h * (timeIndex + 1);
37619
+ if (truthyNumber(maxIndex) && index > maxIndex) {
37620
+ return null;
37621
+ }
37622
+
37623
+ if (truthyNumber(minIndex) && index < minIndex) {
37624
+ return null;
37625
+ }
37626
+
37627
+ if (checkNullAndUndefined(minIndex) && checkNullAndUndefined(maxIndex)) {
37628
+ if (value < graphMin || value > graphMax) {
37629
+ return null;
37508
37630
  }
37509
37631
  }
37632
+
37633
+ var startIndex = minIndex !== null && minIndex !== void 0 ? minIndex : this.labels[dir].findIndex(function (label) {
37634
+ return +label === +graphMin;
37635
+ });
37636
+
37637
+ if (index > -1) {
37638
+ index -= startIndex > -1 ? startIndex : 0;
37639
+ point = dir === 'x' ? startPoint + this.size.w * index : startPoint - this.size.h * (index + 1);
37640
+ }
37510
37641
  }
37511
37642
 
37512
37643
  return point;
@@ -37526,13 +37657,16 @@ var element_heatmap_HeatMap = /*#__PURE__*/function () {
37526
37657
  overlayCtx = param.overlayCtx,
37527
37658
  selectLabel = param.selectLabel,
37528
37659
  legendHitInfo = param.legendHitInfo,
37529
- selectItem = param.selectItem;
37660
+ selectItem = param.selectItem,
37661
+ axesSteps = param.axesSteps;
37530
37662
  var xArea = chartRect.chartWidth - (labelOffset.left + labelOffset.right);
37531
37663
  var yArea = chartRect.chartHeight - (labelOffset.top + labelOffset.bottom);
37532
37664
  var xsp = chartRect.x1 + labelOffset.left;
37533
37665
  var ysp = chartRect.y2 - labelOffset.bottom;
37534
- this.size.w = xArea / this.labels.x.length;
37535
- this.size.h = yArea / this.labels.y.length;
37666
+ var minmaxX = axesSteps.x[this.xAxisIndex];
37667
+ var minmaxY = axesSteps.y[this.yAxisIndex];
37668
+ this.size.w = xArea / minmaxX.oriSteps;
37669
+ this.size.h = yArea / minmaxY.oriSteps;
37536
37670
 
37537
37671
  var getOpacity = function getOpacity(item, opacity, index) {
37538
37672
  if (!legendHitInfo) {
@@ -37562,9 +37696,10 @@ var element_heatmap_HeatMap = /*#__PURE__*/function () {
37562
37696
 
37563
37697
  this.data.forEach(function (item, index) {
37564
37698
  var axisLineWidth = 1;
37565
- var xp = _this2.calculateXY('x', item.x, xsp) + axisLineWidth;
37566
37699
 
37567
- var yp = _this2.calculateXY('y', item.y, ysp);
37700
+ var xp = _this2.calculateXY('x', item.x, xsp, minmaxX);
37701
+
37702
+ var yp = _this2.calculateXY('y', item.y, ysp, minmaxY);
37568
37703
 
37569
37704
  var w = _this2.size.w;
37570
37705
  var h = _this2.size.h;
@@ -37603,14 +37738,19 @@ var element_heatmap_HeatMap = /*#__PURE__*/function () {
37603
37738
  color = _borderOpt.color,
37604
37739
  lineWidth = _borderOpt.lineWidth,
37605
37740
  borderOpacity = _borderOpt.opacity;
37606
- ctx.strokeStyle = helpers_util.colorStringToRgba(color, itemOpacity === 1 ? borderOpacity : itemOpacity);
37607
- ctx.lineWidth = lineWidth;
37608
- xp += lineWidth * 0.5;
37609
- yp += lineWidth * 0.5;
37610
- w -= lineWidth;
37611
- h -= lineWidth;
37741
+ ctx.strokeStyle = helpers_util.colorStringToRgba(color, itemOpacity === 1 ? borderOpacity : itemOpacity); // item 사이즈 보다 border 선 굵기가 큰 경우 lineWidth props 무시
37742
+
37743
+ if (lineWidth < w && lineWidth < h) {
37744
+ ctx.lineWidth = lineWidth;
37745
+ xp += lineWidth * 0.5;
37746
+ yp += lineWidth * 0.5;
37747
+ w -= lineWidth;
37748
+ h -= lineWidth;
37749
+ }
37612
37750
  }
37613
37751
 
37752
+ xp += axisLineWidth;
37753
+
37614
37754
  _this2.drawItem(ctx, xp, yp, w, h, borderOpt);
37615
37755
 
37616
37756
  ctx.restore();
@@ -37807,10 +37947,14 @@ var element_heatmap_HeatMap = /*#__PURE__*/function () {
37807
37947
 
37808
37948
  if (this.stroke.show) {
37809
37949
  var lineWidth = this.stroke.lineWidth;
37810
- x += lineWidth * 0.5;
37811
- y += lineWidth * 0.5;
37812
- w -= lineWidth;
37813
- h -= lineWidth;
37950
+
37951
+ if (lineWidth < w && lineWidth < h) {
37952
+ ctx.lineWidth = lineWidth;
37953
+ x += lineWidth * 0.5;
37954
+ y += lineWidth * 0.5;
37955
+ w -= lineWidth;
37956
+ h -= lineWidth;
37957
+ }
37814
37958
  }
37815
37959
 
37816
37960
  this.drawItem(ctx, x - 0.5, y - 0.5, w + 1, h + 1, this.stroke);
@@ -38169,12 +38313,12 @@ var dayjs_min_default = /*#__PURE__*/__webpack_require__.n(dayjs_min);
38169
38313
 
38170
38314
 
38171
38315
  var scale_Scale = /*#__PURE__*/function () {
38172
- function Scale(type, opt, ctx, options) {
38316
+ function Scale(type, axisOpt, ctx, options) {
38173
38317
  var _this = this;
38174
38318
 
38175
38319
  _classCallCheck(this, Scale);
38176
38320
 
38177
- var merged = lodash_es_defaultsDeep({}, opt, AXIS_OPTION);
38321
+ var merged = lodash_es_defaultsDeep({}, axisOpt, AXIS_OPTION);
38178
38322
  Object.keys(merged).forEach(function (key) {
38179
38323
  _this[key] = merged[key];
38180
38324
  });
@@ -38226,21 +38370,21 @@ var scale_Scale = /*#__PURE__*/function () {
38226
38370
  /**
38227
38371
  * Calculate min/max value, label and size information for axis
38228
38372
  * @param {object} minMax min/max information
38373
+ * @param {object} scrollbarOpt scrollbar option
38229
38374
  *
38230
38375
  * @returns {object} min/max value and label
38231
38376
  */
38232
38377
 
38233
38378
  }, {
38234
38379
  key: "calculateScaleRange",
38235
- value: function calculateScaleRange(minMax) {
38236
- var _this$range;
38237
-
38380
+ value: function calculateScaleRange(minMax, scrollbarOpt) {
38238
38381
  var maxValue;
38239
38382
  var minValue;
38383
+ var range = scrollbarOpt !== null && scrollbarOpt !== void 0 && scrollbarOpt.use ? scrollbarOpt === null || scrollbarOpt === void 0 ? void 0 : scrollbarOpt.range : this.range;
38240
38384
 
38241
- if (((_this$range = this.range) === null || _this$range === void 0 ? void 0 : _this$range.length) === 2) {
38242
- maxValue = this.range[1];
38243
- minValue = this.range[0];
38385
+ if ((range === null || range === void 0 ? void 0 : range.length) === 2) {
38386
+ maxValue = range[1];
38387
+ minValue = range[0];
38244
38388
  } else {
38245
38389
  maxValue = minMax.max;
38246
38390
  minValue = minMax.min;
@@ -39353,23 +39497,25 @@ var scale_logarithmic_LogarithmicScale = /*#__PURE__*/function (_Scale) {
39353
39497
 
39354
39498
 
39355
39499
 
39500
+
39356
39501
  var scale_step_StepScale = /*#__PURE__*/function (_Scale) {
39357
39502
  _inherits(StepScale, _Scale);
39358
39503
 
39359
39504
  var _super = _createSuper(StepScale);
39360
39505
 
39361
- function StepScale(type, opt, ctx, labels, options) {
39506
+ function StepScale(type, axisOpt, ctx, labels, options) {
39362
39507
  var _this;
39363
39508
 
39364
39509
  _classCallCheck(this, StepScale);
39365
39510
 
39366
- _this = _super.call(this, type, opt, ctx, options);
39511
+ _this = _super.call(this, type, axisOpt, ctx, options);
39367
39512
  _this.labels = labels;
39368
39513
  return _this;
39369
39514
  }
39370
39515
  /**
39371
39516
  * Calculate min/max value, label and size information for step scale
39372
39517
  * @param {object} minMax min/max information (unused on step scale)
39518
+ * @param {object} scrollbarOpt scroll bar option
39373
39519
  * @param {object} chartRect chart size information
39374
39520
  *
39375
39521
  * @returns {object} min/max value and label
@@ -39378,14 +39524,31 @@ var scale_step_StepScale = /*#__PURE__*/function (_Scale) {
39378
39524
 
39379
39525
  _createClass(StepScale, [{
39380
39526
  key: "calculateScaleRange",
39381
- value: function calculateScaleRange(minMax, chartRect) {
39527
+ value: function calculateScaleRange(minMax, scrollbarOpt, chartRect) {
39382
39528
  var stepMinMax = this.labelStyle.alignToGridLine ? minMax : helpers_util.getStringMinMax(this.labels);
39383
39529
  var maxValue = stepMinMax.max;
39384
39530
  var minValue = stepMinMax.min;
39385
- var maxWidth = chartRect.chartWidth / (this.labels.length + 2);
39531
+ var minIndex = 0;
39532
+ var maxIndex = this.labels.length - 1;
39533
+ var labelCount = this.labels.length;
39534
+ var range = scrollbarOpt !== null && scrollbarOpt !== void 0 && scrollbarOpt.use ? scrollbarOpt === null || scrollbarOpt === void 0 ? void 0 : scrollbarOpt.range : this.range;
39535
+
39536
+ if (range !== null && range !== void 0 && range.length) {
39537
+ var _range = _slicedToArray(range, 2);
39538
+
39539
+ minIndex = _range[0];
39540
+ maxIndex = _range[1];
39541
+ maxValue = this.labels[maxIndex];
39542
+ minValue = this.labels[minIndex];
39543
+ labelCount = maxIndex - minIndex + 1;
39544
+ }
39545
+
39546
+ var maxWidth = chartRect.chartWidth / (labelCount + 2);
39386
39547
  return {
39387
39548
  min: minValue,
39388
39549
  max: maxValue,
39550
+ minIndex: minIndex,
39551
+ maxIndex: maxIndex,
39389
39552
  minLabel: this.getLabelFormat(minValue, maxWidth),
39390
39553
  maxLabel: this.getLabelFormat(maxValue, maxWidth),
39391
39554
  size: helpers_util.calcTextSize(this.getLabelFormat(maxValue, maxWidth), helpers_util.getLabelStyle(this.labelStyle))
@@ -39401,30 +39564,39 @@ var scale_step_StepScale = /*#__PURE__*/function (_Scale) {
39401
39564
  }, {
39402
39565
  key: "calculateSteps",
39403
39566
  value: function calculateSteps(range) {
39404
- var numberOfSteps = this.labels.length;
39567
+ var minValue = range.minValue,
39568
+ maxValue = range.maxValue,
39569
+ minIndex = range.minIndex,
39570
+ maxIndex = range.maxIndex,
39571
+ maxSteps = range.maxSteps;
39572
+ var numberOfSteps = maxIndex - minIndex + 1;
39405
39573
  var interval = 1;
39574
+ var oriSteps = numberOfSteps;
39406
39575
  var isNumbersArray = this.labels.every(function (label) {
39407
39576
  return !isNaN(label);
39408
39577
  });
39409
39578
 
39410
39579
  if (this.labelStyle.alignToGridLine && isNumbersArray) {
39411
- var maxSteps = range.maxSteps;
39412
-
39413
39580
  if (maxSteps > 2) {
39414
39581
  while (numberOfSteps > maxSteps * 2) {
39415
39582
  interval *= 2;
39416
39583
  numberOfSteps = Math.round(numberOfSteps / interval);
39417
39584
  }
39418
39585
  } else {
39419
- interval = this.labels.length;
39586
+ interval = oriSteps;
39420
39587
  }
39588
+ } else if (numberOfSteps > maxSteps * 2) {
39589
+ interval *= 2;
39421
39590
  }
39422
39591
 
39423
39592
  return {
39593
+ oriSteps: oriSteps,
39424
39594
  steps: numberOfSteps,
39425
39595
  interval: interval,
39426
- graphMin: range.minValue,
39427
- graphMax: range.maxValue
39596
+ graphMin: minValue,
39597
+ graphMax: maxValue,
39598
+ minIndex: minIndex,
39599
+ maxIndex: maxIndex
39428
39600
  };
39429
39601
  }
39430
39602
  /**
@@ -39454,14 +39626,14 @@ var scale_step_StepScale = /*#__PURE__*/function (_Scale) {
39454
39626
  y1: chartRect.y1 + labelOffset.top,
39455
39627
  y2: chartRect.y2 - labelOffset.bottom
39456
39628
  };
39457
- var oriSteps = this.labels.length;
39458
39629
  var steps = stepInfo.steps;
39459
39630
  var count = stepInfo.interval;
39631
+ var startIndex = stepInfo.minIndex;
39460
39632
  var startPoint = aPos[this.units.rectStart];
39461
39633
  var endPoint = aPos[this.units.rectEnd];
39462
39634
  var offsetPoint = aPos[this.units.rectOffset(this.position)];
39463
39635
  var offsetCounterPoint = aPos[this.units.rectOffsetCounter(this.position)];
39464
- var maxWidth = chartRect.chartWidth / (this.labels.length + 2);
39636
+ var maxWidth = chartRect.chartWidth / (steps + 2);
39465
39637
  this.drawAxisTitle(chartRect, labelOffset);
39466
39638
 
39467
39639
  if ((_this$labelStyle = this.labelStyle) !== null && _this$labelStyle !== void 0 && _this$labelStyle.show) {
@@ -39496,7 +39668,7 @@ var scale_step_StepScale = /*#__PURE__*/function (_Scale) {
39496
39668
  return;
39497
39669
  }
39498
39670
 
39499
- var labelGap = (endPoint - startPoint) / labels.length;
39671
+ var labelGap = (endPoint - startPoint) / steps;
39500
39672
  var alignToGridLine = this.labelStyle.alignToGridLine;
39501
39673
  var labelCenter = null;
39502
39674
  var linePosition = null;
@@ -39506,10 +39678,11 @@ var scale_step_StepScale = /*#__PURE__*/function (_Scale) {
39506
39678
  var labelPoint;
39507
39679
  var index;
39508
39680
 
39509
- for (index = 0; index < oriSteps; index += count) {
39681
+ for (index = 0; index < steps; index += count) {
39510
39682
  var _selectedLabelInfo$da, _selectedLabelInfo$da2;
39511
39683
 
39512
- var item = this.labels[index];
39684
+ var labelIndex = startIndex + index;
39685
+ var item = this.labels[labelIndex];
39513
39686
  labelCenter = Math.round(startPoint + labelGap * index);
39514
39687
  linePosition = labelCenter + aliasPixel;
39515
39688
  labelText = this.getLabelFormat(item, maxWidth);
@@ -39525,7 +39698,7 @@ var scale_step_StepScale = /*#__PURE__*/function (_Scale) {
39525
39698
  targetAxis = horizontal ? 'y' : 'x';
39526
39699
  }
39527
39700
 
39528
- 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));
39701
+ 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));
39529
39702
  var labelColor = this.labelStyle.color;
39530
39703
  var defaultOpacity = 1;
39531
39704
 
@@ -39744,17 +39917,18 @@ var scale_step_StepScale = /*#__PURE__*/function (_Scale) {
39744
39917
 
39745
39918
 
39746
39919
 
39920
+
39747
39921
  var scale_time_category_TimeCategoryScale = /*#__PURE__*/function (_Scale) {
39748
39922
  _inherits(TimeCategoryScale, _Scale);
39749
39923
 
39750
39924
  var _super = _createSuper(TimeCategoryScale);
39751
39925
 
39752
- function TimeCategoryScale(type, opt, ctx, labels, options) {
39926
+ function TimeCategoryScale(type, axisOpt, ctx, labels, options) {
39753
39927
  var _this;
39754
39928
 
39755
39929
  _classCallCheck(this, TimeCategoryScale);
39756
39930
 
39757
- _this = _super.call(this, type, opt, ctx);
39931
+ _this = _super.call(this, type, axisOpt, ctx);
39758
39932
  _this.labels = labels;
39759
39933
  _this.options = options;
39760
39934
  return _this;
@@ -39870,6 +40044,8 @@ var scale_time_category_TimeCategoryScale = /*#__PURE__*/function (_Scale) {
39870
40044
  }, {
39871
40045
  key: "draw",
39872
40046
  value: function draw(chartRect, labelOffset, stepInfo, hitInfo, selectLabelInfo) {
40047
+ var _this2 = this;
40048
+
39873
40049
  var ctx = this.ctx;
39874
40050
  var labels = this.labels;
39875
40051
  var aPos = {
@@ -39922,7 +40098,7 @@ var scale_time_category_TimeCategoryScale = /*#__PURE__*/function (_Scale) {
39922
40098
  }
39923
40099
 
39924
40100
  var alignToGridLine = this.labelStyle.alignToGridLine;
39925
- var graphGap = (endPoint - startPoint) / (labels.length || 1);
40101
+ var graphGap = (endPoint - startPoint) / (oriSteps || 1);
39926
40102
 
39927
40103
  if (this.categoryMode && !alignToGridLine) {
39928
40104
  startPoint += Math.ceil(graphGap / 2) - 2;
@@ -39937,13 +40113,15 @@ var scale_time_category_TimeCategoryScale = /*#__PURE__*/function (_Scale) {
39937
40113
  var labelPoint;
39938
40114
 
39939
40115
  for (var ix = 0; ix < oriSteps; ix += count) {
39940
- var _this$options, _this$options$selectL, _this$options2, _this$options2$select, _selectLabelInfo$data, _selectLabelInfo$data2;
40116
+ var _this$options, _this$options$selectL, _this$options2, _this$options2$select, _selectLabelInfo$data;
39941
40117
 
39942
40118
  ticks[ix] = axisMin + ix * stepValue;
39943
40119
  labelCenter = Math.round(startPoint + graphGap * ix);
39944
40120
  linePosition = labelCenter + aliasPixel;
39945
40121
  labelText = this.getLabelFormat(Math.min(axisMax, ticks[ix]));
39946
- 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));
40122
+ 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) {
40123
+ return _this2.getLabelFormat(Math.min(axisMax, t));
40124
+ }).includes(labelText));
39947
40125
  var labelColor = this.labelStyle.color;
39948
40126
  var defaultOpacity = 1;
39949
40127
 
@@ -42013,6 +42191,662 @@ var plugins_legend_gradient_modules = {
42013
42191
  }
42014
42192
  };
42015
42193
  /* harmony default export */ var plugins_legend_gradient = (plugins_legend_gradient_modules);
42194
+ // CONCATENATED MODULE: ./src/components/chart/plugins/plugins.scrollbar.js
42195
+
42196
+
42197
+
42198
+
42199
+
42200
+
42201
+
42202
+
42203
+
42204
+
42205
+
42206
+ var plugins_scrollbar_module = {
42207
+ /**
42208
+ * init scrollbar information
42209
+ */
42210
+ initScrollbar: function initScrollbar() {
42211
+ var _this$options$axesX, _this$options$axesX$, _this$options$axesX$$, _this$options$axesY, _this$options$axesY$, _this$options$axesY$$;
42212
+
42213
+ 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) {
42214
+ this.initScrollbarInfo(this.options.axesX, 'x');
42215
+ }
42216
+
42217
+ 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) {
42218
+ this.initScrollbarInfo(this.options.axesY, 'y');
42219
+ }
42220
+ },
42221
+
42222
+ /**
42223
+ * init scrollbar information with axis information
42224
+ * @param axisOpt axis option
42225
+ * @param dir axis direction (x | y)
42226
+ */
42227
+ initScrollbarInfo: function initScrollbarInfo(axisOpt, dir) {
42228
+ var scrollbarOpt = this.scrollbar[dir];
42229
+
42230
+ if (!scrollbarOpt.isInit) {
42231
+ var _axisOpt$, _axisOpt$2, _axisOpt$3;
42232
+
42233
+ 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);
42234
+ Object.keys(merged).forEach(function (key) {
42235
+ scrollbarOpt[key] = merged[key];
42236
+ });
42237
+ scrollbarOpt.type = axisOpt === null || axisOpt === void 0 ? void 0 : (_axisOpt$2 = axisOpt[0]) === null || _axisOpt$2 === void 0 ? void 0 : _axisOpt$2.type;
42238
+ scrollbarOpt.range = (axisOpt === null || axisOpt === void 0 ? void 0 : (_axisOpt$3 = axisOpt[0]) === null || _axisOpt$3 === void 0 ? void 0 : _axisOpt$3.range) || null;
42239
+ scrollbarOpt.interval = null;
42240
+ this.createScrollbarLayout(dir);
42241
+ this.createScrollbar(dir);
42242
+ this.createScrollEvent(dir);
42243
+ scrollbarOpt.isInit = true;
42244
+ }
42245
+ },
42246
+
42247
+ /**
42248
+ * update scrollbar information
42249
+ */
42250
+ updateScrollbar: function updateScrollbar() {
42251
+ this.updateScrollbarInfo('x');
42252
+ this.updateScrollbarInfo('y');
42253
+ },
42254
+
42255
+ /**
42256
+ * Updated scrollbar information with updated axis information
42257
+ * @param dir axis direction (x | y)
42258
+ */
42259
+ updateScrollbarInfo: function updateScrollbarInfo(dir) {
42260
+ var _newOpt$, _newOpt$$scrollbar, _newOpt$2, _newOpt$0$scrollbar, _newOpt$3, _newOpt$4, _axisOpt$4, _newOpt$0$scrollbar2;
42261
+
42262
+ var _this$options = this.options,
42263
+ axesX = _this$options.axesX,
42264
+ axesY = _this$options.axesY;
42265
+ var newOpt = dir === 'x' ? axesX : axesY;
42266
+
42267
+ 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) {
42268
+ this.initScrollbarInfo(newOpt, dir);
42269
+ return;
42270
+ } 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)) {
42271
+ this.destroyScrollbar(dir);
42272
+ return;
42273
+ }
42274
+
42275
+ var axisOpt = dir === 'x' ? this.axesX : this.axesY;
42276
+ 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);
42277
+
42278
+ if (isUpdateAxesRange) {
42279
+ var _newOpt$5;
42280
+
42281
+ 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;
42282
+ }
42283
+
42284
+ 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);
42285
+ },
42286
+
42287
+ /**
42288
+ * update scrollbar position
42289
+ */
42290
+ updateScrollbarPosition: function updateScrollbarPosition() {
42291
+ var _this$scrollbar$x, _this$scrollbar$x2, _this$scrollbar$y, _this$scrollbar$y2;
42292
+
42293
+ 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) {
42294
+ this.setScrollbarPosition('x');
42295
+ }
42296
+
42297
+ 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) {
42298
+ this.setScrollbarPosition('y');
42299
+ }
42300
+ },
42301
+
42302
+ /**
42303
+ * create scrollbar layout
42304
+ * @param dir axis direction ('x' | 'y')
42305
+ */
42306
+ createScrollbarLayout: function createScrollbarLayout(dir) {
42307
+ var scrollbarOpt = this.scrollbar[dir];
42308
+ scrollbarOpt.dom = document.createElement('div');
42309
+ scrollbarOpt.dom.className = 'ev-chart-scrollbar';
42310
+ scrollbarOpt.dom.dataset.type = 'scrollbar';
42311
+ var containerDOM = document.createElement('div');
42312
+ containerDOM.className = 'ev-chart-scrollbar-container';
42313
+ containerDOM.dataset.type = dir;
42314
+ scrollbarOpt.dom.appendChild(containerDOM);
42315
+ this.wrapperDOM.appendChild(scrollbarOpt.dom);
42316
+ },
42317
+
42318
+ /**
42319
+ * create scrollbar
42320
+ * @param dir axis direction ('x' | 'y')
42321
+ */
42322
+ createScrollbar: function createScrollbar(dir) {
42323
+ var scrollbarOpt = this.scrollbar[dir];
42324
+ var containerDOM = scrollbarOpt.dom.children[0];
42325
+ this.createScrollbarTrack(containerDOM);
42326
+ this.createScrollbarThumb(containerDOM);
42327
+
42328
+ if (scrollbarOpt.showButton) {
42329
+ this.createScrollbarButton(containerDOM);
42330
+ }
42331
+ },
42332
+
42333
+ /**
42334
+ * create scrollbar track
42335
+ * @param containerDOM
42336
+ */
42337
+ createScrollbarTrack: function createScrollbarTrack(containerDOM) {
42338
+ var trackDOM = document.createElement('div');
42339
+ trackDOM.className = 'ev-chart-scrollbar-track';
42340
+ trackDOM.dataset.type = 'track';
42341
+ containerDOM.appendChild(trackDOM);
42342
+ },
42343
+
42344
+ /**
42345
+ * create scrollbar thumb
42346
+ * @param containerDOM
42347
+ */
42348
+ createScrollbarThumb: function createScrollbarThumb(containerDOM) {
42349
+ var thumbDOM = document.createElement('div');
42350
+ thumbDOM.className = 'ev-chart-scrollbar-thumb';
42351
+ thumbDOM.dataset.type = 'thumb';
42352
+ containerDOM.appendChild(thumbDOM);
42353
+ },
42354
+
42355
+ /**
42356
+ * create scrollbar up, down button
42357
+ * @param containerDOM
42358
+ */
42359
+ createScrollbarButton: function createScrollbarButton(containerDOM) {
42360
+ var upBtnDOM = document.createElement('div');
42361
+ upBtnDOM.className = 'ev-chart-scrollbar-button ev-chart-scrollbar-button-up';
42362
+ upBtnDOM.dataset.type = 'button';
42363
+ var iconUpBtn = document.createElement('i');
42364
+ iconUpBtn.className = 'ev-icon ev-icon-triangle-up ev-chart-scrollbar-button-icon';
42365
+ iconUpBtn.dataset.type = 'button-icon';
42366
+ upBtnDOM.appendChild(iconUpBtn);
42367
+ var downBtnDOM = document.createElement('div');
42368
+ downBtnDOM.className = 'ev-chart-scrollbar-button ev-chart-scrollbar-button-down';
42369
+ downBtnDOM.dataset.type = 'button';
42370
+ var iconDownBtn = document.createElement('i');
42371
+ iconDownBtn.className = 'ev-icon ev-icon-triangle-down ev-chart-scrollbar-button-icon';
42372
+ iconDownBtn.dataset.type = 'button-icon';
42373
+ downBtnDOM.appendChild(iconDownBtn);
42374
+ containerDOM.appendChild(upBtnDOM);
42375
+ containerDOM.appendChild(downBtnDOM);
42376
+ },
42377
+
42378
+ /**
42379
+ * set scrollbar position
42380
+ * @param dir axis direction ('x' | 'y')
42381
+ */
42382
+ setScrollbarPosition: function setScrollbarPosition(dir) {
42383
+ var _this$options$title, _this$options$title2;
42384
+
42385
+ var scrollbarOpt = this.scrollbar[dir];
42386
+
42387
+ if (!scrollbarOpt.use || !scrollbarOpt.range) {
42388
+ return;
42389
+ }
42390
+
42391
+ var scrollbarDOM = scrollbarOpt.dom;
42392
+ var chartRect = this.chartRect;
42393
+ var labelOffset = this.labelOffset;
42394
+ var aPos = {
42395
+ x1: chartRect.x1 + labelOffset.left,
42396
+ x2: chartRect.x2 - labelOffset.right,
42397
+ y1: chartRect.y1 + labelOffset.top,
42398
+ y2: chartRect.y2 - labelOffset.bottom
42399
+ };
42400
+ 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;
42401
+ var isXScroll = dir === 'x';
42402
+ var scrollHeight = isXScroll ? scrollbarOpt.height : scrollbarOpt.width;
42403
+ var fullSize = isXScroll ? aPos.x2 - aPos.x1 : aPos.y2 - aPos.y1;
42404
+ var buttonSize = scrollbarOpt.showButton ? scrollHeight : 0;
42405
+ var trackSize = fullSize - buttonSize * 2;
42406
+ var thumbSize = this.getScrollbarThumbSize(dir, trackSize);
42407
+ var scrollbarStyle = 'display: block;';
42408
+ var scrollbarTrackStyle;
42409
+ var scrollbarThumbStyle;
42410
+ var upBtnStyle;
42411
+ var downBtnStyle;
42412
+ var commonBtnStyle = "width:".concat(buttonSize, "px;height:").concat(buttonSize, "px;");
42413
+
42414
+ if (isXScroll) {
42415
+ scrollbarStyle = "top: ".concat(chartRect.y2 + titleHeight + labelOffset.top, "px;");
42416
+ scrollbarStyle += "left: ".concat(aPos.x1, "px;");
42417
+ scrollbarStyle += "width: ".concat(fullSize, "px;");
42418
+ scrollbarStyle += " height: ".concat(scrollHeight, "px;");
42419
+ scrollbarTrackStyle = 'top: 0;';
42420
+ scrollbarTrackStyle += "left: ".concat(buttonSize, "px;");
42421
+ scrollbarTrackStyle += "width: ".concat(trackSize, "px;");
42422
+ scrollbarTrackStyle += 'height: 100%;';
42423
+ scrollbarThumbStyle = "width: ".concat(thumbSize.size, "px;");
42424
+ scrollbarThumbStyle += 'height: 100%;';
42425
+ scrollbarThumbStyle += "left: ".concat(thumbSize.position + buttonSize, "px");
42426
+ commonBtnStyle += 'transform:rotate(90deg);top: 0;';
42427
+ upBtnStyle = "".concat(commonBtnStyle, "right:0;");
42428
+ downBtnStyle = "".concat(commonBtnStyle, "left:0;");
42429
+ } else {
42430
+ scrollbarStyle = "top: ".concat(aPos.y1 + titleHeight, "px;");
42431
+ scrollbarStyle += "left: ".concat(aPos.x2 + 10, "px;");
42432
+ scrollbarStyle += "width: ".concat(scrollHeight, "px;");
42433
+ scrollbarStyle += "height: ".concat(fullSize, "px;");
42434
+ scrollbarTrackStyle = "top: ".concat(buttonSize, "px;");
42435
+ scrollbarTrackStyle += 'left: 0;';
42436
+ scrollbarTrackStyle += 'width: 100%;';
42437
+ scrollbarTrackStyle += "height: ".concat(trackSize, "px;");
42438
+ scrollbarThumbStyle = 'width: 100%;';
42439
+ scrollbarThumbStyle += "height: ".concat(thumbSize.size, "px;");
42440
+ scrollbarThumbStyle += "bottom: ".concat(thumbSize.position + buttonSize, "px");
42441
+ commonBtnStyle += 'left:0;';
42442
+ upBtnStyle = "".concat(commonBtnStyle, "top: 0;");
42443
+ downBtnStyle = "".concat(commonBtnStyle, "bottom: 0;");
42444
+ }
42445
+
42446
+ scrollbarDOM.style.cssText = scrollbarStyle;
42447
+ var scrollbarTrackDOM = scrollbarDOM.getElementsByClassName('ev-chart-scrollbar-track');
42448
+ scrollbarTrackDOM[0].style.cssText = scrollbarTrackStyle;
42449
+ scrollbarTrackDOM[0].style.backgroundColor = scrollbarOpt.background;
42450
+ var scrollbarThumbDOM = scrollbarDOM.getElementsByClassName('ev-chart-scrollbar-thumb');
42451
+ scrollbarThumbDOM[0].style.cssText = scrollbarThumbStyle;
42452
+ scrollbarThumbDOM[0].style.backgroundColor = scrollbarOpt.thumbStyle.background;
42453
+ scrollbarThumbDOM[0].style.borderRadius = "".concat(scrollbarOpt.thumbStyle.radius, "px");
42454
+
42455
+ if (scrollbarOpt.showButton) {
42456
+ var upBtnDOM = scrollbarDOM.getElementsByClassName('ev-chart-scrollbar-button-up');
42457
+ var endPosition = Math.floor(trackSize - thumbSize.size);
42458
+ var upBtnOpacity = Math.floor(thumbSize.position) === endPosition ? 0.5 : 1;
42459
+ upBtnDOM[0].style.cssText = "background-color: ".concat(scrollbarOpt.background, ";").concat(upBtnStyle);
42460
+ upBtnDOM[0].style.opacity = upBtnOpacity;
42461
+ upBtnDOM[0].children[0].style.display = 'block';
42462
+ var downBtnDOM = scrollbarDOM.getElementsByClassName('ev-chart-scrollbar-button-down');
42463
+ downBtnDOM[0].style.cssText = "background-color: ".concat(scrollbarOpt.background, ";").concat(downBtnStyle);
42464
+ downBtnDOM[0].style.opacity = Math.floor(thumbSize.position) === 0 ? 0.5 : 1;
42465
+ downBtnDOM[0].children[0].style.display = 'block';
42466
+ }
42467
+ },
42468
+
42469
+ /**
42470
+ * get scrollbar thumb size
42471
+ * @param dir axis direction ('x' | 'y')
42472
+ * @param trackSize scrollbar track size
42473
+ */
42474
+ getScrollbarThumbSize: function getScrollbarThumbSize(dir, trackSize) {
42475
+ var scrollbarOpt = this.scrollbar[dir];
42476
+
42477
+ var _scrollbarOpt$range = _slicedToArray(scrollbarOpt.range, 2),
42478
+ min = _scrollbarOpt$range[0],
42479
+ max = _scrollbarOpt$range[1];
42480
+
42481
+ var axesType = scrollbarOpt.type;
42482
+ var thumbSize;
42483
+ var steps;
42484
+ var interval = 1;
42485
+ var startValue = 0;
42486
+ var thumbPosition = 0;
42487
+
42488
+ if (axesType === 'step') {
42489
+ var labels = this.options.type === 'heatMap' ? this.data.labels[dir] : this.data.labels;
42490
+ var range = max - min + 1;
42491
+ steps = labels.length;
42492
+ var intervalSize = trackSize / steps;
42493
+ thumbSize = intervalSize * range;
42494
+ thumbPosition = intervalSize * min;
42495
+ } else {
42496
+ var _this$axesX, _this$axesX$;
42497
+
42498
+ var minMax = this.minMax[dir];
42499
+ var graphRange = +minMax[0].max - +minMax[0].min;
42500
+
42501
+ var _range = +max - +min;
42502
+
42503
+ 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({
42504
+ min: minMax[0].min,
42505
+ max: minMax[0].max,
42506
+ maxSteps: this.labelRange[dir].max
42507
+ });
42508
+ steps = Math.ceil(graphRange / interval) + 1;
42509
+ startValue = +minMax[0].min;
42510
+
42511
+ var _intervalSize = trackSize / steps;
42512
+
42513
+ var count = _range / interval + 1;
42514
+ var point = +min - startValue;
42515
+ thumbSize = _intervalSize * count;
42516
+ thumbPosition = _intervalSize * (point / interval);
42517
+ }
42518
+
42519
+ scrollbarOpt.startValue = startValue;
42520
+ scrollbarOpt.steps = steps;
42521
+ scrollbarOpt.interval = interval;
42522
+ return {
42523
+ size: thumbSize,
42524
+ position: thumbPosition,
42525
+ background: scrollbarOpt.background,
42526
+ radius: scrollbarOpt.radius
42527
+ };
42528
+ },
42529
+
42530
+ /**
42531
+ * get scrollbar containerDOM
42532
+ * @param targetDOM event target dom
42533
+ * @returns {HTMLElement|Element|*}
42534
+ */
42535
+ getScrollbarContainerDOM: function getScrollbarContainerDOM(targetDOM) {
42536
+ var childTypes = ['track', 'thumb', 'button'];
42537
+ var type = targetDOM.dataset.type;
42538
+
42539
+ if (childTypes.includes(type)) {
42540
+ return targetDOM.parentElement;
42541
+ } else if (type === 'button-icon') {
42542
+ return targetDOM.parentElement.parentElement;
42543
+ } else if (type === 'scrollbar') {
42544
+ return targetDOM.getElementsByClassName('ev-chart-scrollbar-container')[0];
42545
+ }
42546
+
42547
+ return targetDOM;
42548
+ },
42549
+
42550
+ /**
42551
+ * update scrollbar option range
42552
+ * @param dir axis direction ('x' | 'y')
42553
+ * @param isUp
42554
+ */
42555
+ updateScrollbarRange: function updateScrollbarRange(dir, isUp) {
42556
+ var scrollbarOpt = this.scrollbar[dir];
42557
+ var startValue = scrollbarOpt.startValue,
42558
+ range = scrollbarOpt.range,
42559
+ interval = scrollbarOpt.interval,
42560
+ steps = scrollbarOpt.steps;
42561
+ var endValue = startValue + interval * steps;
42562
+ var axisOpt = dir === 'x' ? this.axesX[0] : this.axesY[0];
42563
+
42564
+ var _ref = range !== null && range !== void 0 ? range : [],
42565
+ _ref2 = _slicedToArray(_ref, 2),
42566
+ min = _ref2[0],
42567
+ max = _ref2[1];
42568
+
42569
+ if (!truthyNumber(min) || !truthyNumber(max)) {
42570
+ scrollbarOpt.range = (axisOpt === null || axisOpt === void 0 ? void 0 : axisOpt.range) || null;
42571
+ }
42572
+
42573
+ var minValue;
42574
+ var maxValue;
42575
+ var isOutOfRange = false;
42576
+
42577
+ if (isUp) {
42578
+ minValue = min + interval;
42579
+ maxValue = max + interval;
42580
+ isOutOfRange = maxValue >= endValue;
42581
+ } else {
42582
+ minValue = min - interval;
42583
+ maxValue = max - interval;
42584
+ isOutOfRange = minValue < startValue;
42585
+ }
42586
+
42587
+ if (!isOutOfRange) {
42588
+ scrollbarOpt.range = [minValue, maxValue];
42589
+ this.update({
42590
+ updateSeries: false,
42591
+ updateSelTip: {
42592
+ update: false,
42593
+ keepDomain: false
42594
+ }
42595
+ });
42596
+ }
42597
+ },
42598
+
42599
+ /**
42600
+ * create scroll event
42601
+ */
42602
+ createScrollEvent: function createScrollEvent() {
42603
+ var _this = this;
42604
+
42605
+ this.onScrollbarClick = function (e) {
42606
+ e.preventDefault();
42607
+ var type = e.target.dataset.type;
42608
+
42609
+ var containerDOM = _this.getScrollbarContainerDOM(e.target);
42610
+
42611
+ var buttonTypes = ['button', 'button-icon'];
42612
+ var dir = containerDOM.dataset.type;
42613
+ var isUp;
42614
+
42615
+ if (buttonTypes.includes(type)) {
42616
+ var buttonDOM;
42617
+
42618
+ if (type === 'button') {
42619
+ buttonDOM = e.target;
42620
+ } else if (type === 'button-icon') {
42621
+ buttonDOM = e.target.parentElement;
42622
+ }
42623
+
42624
+ isUp = buttonDOM.className.includes('up');
42625
+ } else if (type === 'track') {
42626
+ var thumbDOM = containerDOM.getElementsByClassName('ev-chart-scrollbar-thumb');
42627
+
42628
+ var _thumbDOM$0$getBoundi = thumbDOM[0].getBoundingClientRect(),
42629
+ x = _thumbDOM$0$getBoundi.x,
42630
+ y = _thumbDOM$0$getBoundi.y;
42631
+
42632
+ var isXScroll = dir === 'x';
42633
+ var clickPoint = isXScroll ? e.clientX : -e.clientY;
42634
+ var thumbPosition = isXScroll ? x : -y;
42635
+ isUp = clickPoint > thumbPosition;
42636
+ } else {
42637
+ return;
42638
+ }
42639
+
42640
+ _this.updateScrollbarRange(dir, isUp);
42641
+ };
42642
+
42643
+ this.onScrollbarDown = function (e) {
42644
+ e.preventDefault();
42645
+
42646
+ if (e.target.dataset.type !== 'thumb') {
42647
+ return;
42648
+ }
42649
+
42650
+ var containerDOM = _this.getScrollbarContainerDOM(e.target);
42651
+
42652
+ var dir = containerDOM.dataset.type;
42653
+ var thumbDOM = containerDOM.getElementsByClassName('ev-chart-scrollbar-thumb');
42654
+
42655
+ var _thumbDOM$0$getBoundi2 = thumbDOM[0].getBoundingClientRect(),
42656
+ x = _thumbDOM$0$getBoundi2.x,
42657
+ y = _thumbDOM$0$getBoundi2.y,
42658
+ height = _thumbDOM$0$getBoundi2.height;
42659
+
42660
+ var scrollbarOpt = _this.scrollbar[dir];
42661
+ scrollbarOpt.scrolling = true;
42662
+
42663
+ if (dir === 'x') {
42664
+ scrollbarOpt.pointInThumb = e.clientX - x;
42665
+ } else {
42666
+ scrollbarOpt.pointInThumb = y + height - e.clientY;
42667
+ }
42668
+
42669
+ var scrollbarDOM = scrollbarOpt.dom;
42670
+ scrollbarDOM.addEventListener('mousemove', _this.onScrollbarMove);
42671
+ scrollbarDOM.addEventListener('mouseup', _this.onScrollbarUp);
42672
+ };
42673
+
42674
+ var onScrollbarMove = function onScrollbarMove(e) {
42675
+ _this.scrolling(e);
42676
+ };
42677
+
42678
+ this.onScrollbarMove = lodash_es_throttle(onScrollbarMove, 5);
42679
+
42680
+ this.onScrollbarUp = function (e) {
42681
+ e.preventDefault();
42682
+
42683
+ _this.stopScrolling(e);
42684
+ };
42685
+
42686
+ this.onScrollbarLeave = function (e) {
42687
+ e.preventDefault();
42688
+
42689
+ _this.scrolling(e);
42690
+
42691
+ _this.stopScrolling(e);
42692
+ };
42693
+
42694
+ this.onScrollbarWheel = function (e) {
42695
+ e.preventDefault();
42696
+
42697
+ _this.updateScrollbarRange('y', e.deltaY < 0);
42698
+ };
42699
+
42700
+ if (this.scrollbar.x.use && !this.scrollbar.x.isInit) {
42701
+ var scrollbarXDOM = this.scrollbar.x.dom;
42702
+ scrollbarXDOM.addEventListener('click', this.onScrollbarClick);
42703
+ scrollbarXDOM.addEventListener('mousedown', this.onScrollbarDown);
42704
+ scrollbarXDOM.addEventListener('mouseleave', this.onScrollbarLeave);
42705
+ }
42706
+
42707
+ if (this.scrollbar.y.use && !this.scrollbar.y.isInit) {
42708
+ var _this$overlayCanvas;
42709
+
42710
+ var scrollbarYDOM = this.scrollbar.y.dom;
42711
+ scrollbarYDOM.addEventListener('click', this.onScrollbarClick);
42712
+ scrollbarYDOM.addEventListener('mousedown', this.onScrollbarDown);
42713
+ scrollbarYDOM.addEventListener('mouseleave', this.onScrollbarLeave);
42714
+ (_this$overlayCanvas = this.overlayCanvas) === null || _this$overlayCanvas === void 0 ? void 0 : _this$overlayCanvas.addEventListener('wheel', this.onScrollbarWheel);
42715
+ }
42716
+ },
42717
+
42718
+ /**
42719
+ * Update scroll information by move event
42720
+ * @param e Event
42721
+ */
42722
+ scrolling: function scrolling(e) {
42723
+ var containerDOM = this.getScrollbarContainerDOM(e.target);
42724
+ var dir = containerDOM.dataset.type;
42725
+
42726
+ if (!this.scrollbar[dir].scrolling) {
42727
+ return;
42728
+ }
42729
+
42730
+ var _this$scrollbar$dir = this.scrollbar[dir],
42731
+ steps = _this$scrollbar$dir.steps,
42732
+ range = _this$scrollbar$dir.range,
42733
+ pointInThumb = _this$scrollbar$dir.pointInThumb,
42734
+ startValue = _this$scrollbar$dir.startValue,
42735
+ interval = _this$scrollbar$dir.interval;
42736
+ var trackDOM = containerDOM.getElementsByClassName('ev-chart-scrollbar-track');
42737
+
42738
+ var _trackDOM$0$getBoundi = trackDOM[0].getBoundingClientRect(),
42739
+ x = _trackDOM$0$getBoundi.x,
42740
+ y = _trackDOM$0$getBoundi.y,
42741
+ width = _trackDOM$0$getBoundi.width,
42742
+ height = _trackDOM$0$getBoundi.height;
42743
+
42744
+ var isXScroll = dir === 'x';
42745
+ var sp = isXScroll ? x : y;
42746
+ var trackSize = isXScroll ? width : height;
42747
+ var intervalSize = trackSize / steps;
42748
+ var endValue = startValue + (steps - 1) * interval;
42749
+ var movePoint = isXScroll ? e.clientX : e.clientY;
42750
+
42751
+ if (movePoint < sp) {
42752
+ movePoint = sp;
42753
+ } else if (movePoint > sp + trackSize) {
42754
+ movePoint = sp + trackSize;
42755
+ }
42756
+
42757
+ var move;
42758
+
42759
+ if (isXScroll) {
42760
+ move = movePoint - sp - pointInThumb;
42761
+ } else {
42762
+ move = sp + trackSize - movePoint - pointInThumb;
42763
+ }
42764
+
42765
+ if (move <= 0) {
42766
+ return;
42767
+ }
42768
+
42769
+ var movedMin;
42770
+ var movedMax;
42771
+ var currValue = Math.round(Math.abs(move) / intervalSize) * interval;
42772
+
42773
+ var _range2 = _slicedToArray(range, 2),
42774
+ min = _range2[0],
42775
+ max = _range2[1];
42776
+
42777
+ if (move > 0) {
42778
+ var incrementValue = startValue + (currValue - +min);
42779
+ movedMin = +min + incrementValue;
42780
+ movedMax = movedMin + (+max - +min);
42781
+ }
42782
+
42783
+ if (movedMin < startValue || movedMax > endValue) {
42784
+ return;
42785
+ }
42786
+
42787
+ this.scrollbar[dir].range = [movedMin, movedMax];
42788
+ this.update({
42789
+ updateSeries: false,
42790
+ updateSelTip: {
42791
+ update: false,
42792
+ keepDomain: false
42793
+ }
42794
+ });
42795
+ },
42796
+
42797
+ /**
42798
+ * init scrolling event
42799
+ * @param e
42800
+ */
42801
+ stopScrolling: function stopScrolling(e) {
42802
+ var containerDOM = this.getScrollbarContainerDOM(e.target);
42803
+ var dir = containerDOM.dataset.type;
42804
+ var scrollbarOpt = this.scrollbar[dir];
42805
+
42806
+ if (scrollbarOpt.scrolling) {
42807
+ scrollbarOpt.scrolling = false;
42808
+ var scrollbarDOM = scrollbarOpt.dom;
42809
+ scrollbarDOM.removeEventListener('mousemove', this.onScrollbarMove, false);
42810
+ scrollbarDOM.removeEventListener('mouseup', this.onScrollbarUp, false);
42811
+ }
42812
+ },
42813
+
42814
+ /**
42815
+ * hide scrollbar dom
42816
+ * @param dir axis direction ('x' | 'y')
42817
+ */
42818
+ hideScrollbar: function hideScrollbar(dir) {
42819
+ var scrollbarDOM = this.scrollbar[dir].dom;
42820
+
42821
+ if (!scrollbarDOM) {
42822
+ return;
42823
+ }
42824
+
42825
+ var scrollbarStyle = scrollbarDOM === null || scrollbarDOM === void 0 ? void 0 : scrollbarDOM.style;
42826
+ scrollbarStyle.display = 'none';
42827
+ scrollbarStyle.width = '0';
42828
+ scrollbarStyle.height = '0';
42829
+ },
42830
+
42831
+ /**
42832
+ * destroy scrollbar dom
42833
+ * @param dir axis direction ('x' | 'y')
42834
+ */
42835
+ destroyScrollbar: function destroyScrollbar(dir) {
42836
+ var scrollbarXDOM = this.scrollbar[dir].dom;
42837
+
42838
+ if (scrollbarXDOM) {
42839
+ var _this$overlayCanvas2;
42840
+
42841
+ scrollbarXDOM.remove();
42842
+ this.scrollbar[dir] = {
42843
+ isInit: false
42844
+ };
42845
+ (_this$overlayCanvas2 = this.overlayCanvas) === null || _this$overlayCanvas2 === void 0 ? void 0 : _this$overlayCanvas2.removeEventListener('wheel', this.onScrollbarWheel, false);
42846
+ }
42847
+ }
42848
+ };
42849
+ /* harmony default export */ var plugins_scrollbar = (plugins_scrollbar_module);
42016
42850
  // EXTERNAL MODULE: ./node_modules/core-js/modules/es.object.from-entries.js
42017
42851
  var es_object_from_entries = __webpack_require__("c1f9");
42018
42852
 
@@ -42202,14 +43036,22 @@ var plugins_interaction_modules = {
42202
43036
  }
42203
43037
 
42204
43038
  if (tooltip.use) {
42205
- _this.setTooltipLayoutPosition(hitInfo, e);
43039
+ var _tooltip$formatter;
43040
+
43041
+ if (tooltip !== null && tooltip !== void 0 && (_tooltip$formatter = tooltip.formatter) !== null && _tooltip$formatter !== void 0 && _tooltip$formatter.html) {
43042
+ _this.drawCustomTooltip(hitInfo === null || hitInfo === void 0 ? void 0 : hitInfo.items);
42206
43043
 
42207
- if (type === 'scatter') {
42208
- _this.drawTooltipForScatter(hitInfo, _this.tooltipCtx);
42209
- } else if (type === 'heatMap') {
42210
- _this.drawToolTipForHeatMap(hitInfo, _this.tooltipCtx);
43044
+ _this.setCustomTooltipLayoutPosition(hitInfo, e);
42211
43045
  } else {
42212
- _this.drawTooltip(hitInfo, _this.tooltipCtx);
43046
+ _this.setTooltipLayoutPosition(hitInfo, e);
43047
+
43048
+ if (type === 'scatter') {
43049
+ _this.drawTooltipForScatter(hitInfo, _this.tooltipCtx);
43050
+ } else if (type === 'heatMap') {
43051
+ _this.drawToolTipForHeatMap(hitInfo, _this.tooltipCtx);
43052
+ } else {
43053
+ _this.drawTooltip(hitInfo, _this.tooltipCtx);
43054
+ }
42213
43055
  }
42214
43056
  }
42215
43057
  } else if (tooltip.use) {
@@ -42408,7 +43250,11 @@ var plugins_interaction_modules = {
42408
43250
  } else if (useSelectItem) {
42409
43251
  setSelectedItemInfo();
42410
43252
  } else if (useSelectLabel) {
42411
- setSelectedLabelInfo();
43253
+ var _useBothAxis = selectLabelOpt.useBothAxis;
43254
+
43255
+ var _location = _this.getClickedLocation(offset);
43256
+
43257
+ setSelectedLabelInfo(_useBothAxis ? _location : null);
42412
43258
  }
42413
43259
 
42414
43260
  break;
@@ -43265,7 +44111,9 @@ var plugins_tooltip_modules = {
43265
44111
  * @returns {undefined}
43266
44112
  */
43267
44113
  createTooltipDOM: function createTooltipDOM() {
43268
- var _this = this;
44114
+ var _this$options$tooltip,
44115
+ _this$options$tooltip2,
44116
+ _this = this;
43269
44117
 
43270
44118
  this.tooltipDOM = document.createElement('div');
43271
44119
  this.tooltipDOM.className = 'ev-chart-tooltip';
@@ -43278,9 +44126,13 @@ var plugins_tooltip_modules = {
43278
44126
  this.tooltipCtx = this.tooltipCanvas.getContext('2d');
43279
44127
  this.tooltipDOM.style.display = 'none';
43280
44128
  this.setFontFamily();
43281
- this.tooltipBodyDOM.appendChild(this.tooltipCanvas);
43282
- this.tooltipDOM.appendChild(this.tooltipHeaderDOM);
43283
- this.tooltipDOM.appendChild(this.tooltipBodyDOM);
44129
+
44130
+ 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)) {
44131
+ this.tooltipBodyDOM.appendChild(this.tooltipCanvas);
44132
+ this.tooltipDOM.appendChild(this.tooltipHeaderDOM);
44133
+ this.tooltipDOM.appendChild(this.tooltipBodyDOM);
44134
+ }
44135
+
43284
44136
  document.body.appendChild(this.tooltipDOM);
43285
44137
 
43286
44138
  if (this.options.tooltip.debouncedHide) {
@@ -43298,9 +44150,9 @@ var plugins_tooltip_modules = {
43298
44150
  * set tooltip's font style
43299
44151
  */
43300
44152
  setFontFamily: function setFontFamily() {
43301
- var _this$options$tooltip, _this$options, _this$options$tooltip2;
44153
+ var _this$options$tooltip3, _this$options, _this$options$tooltip4;
43302
44154
 
43303
- 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';
44155
+ 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';
43304
44156
  fontStyle = "normal normal lighter 14px ".concat(fontFamily);
43305
44157
  this.tooltipHeaderDOM.style.fontFamily = fontFamily;
43306
44158
  },
@@ -43821,6 +44673,70 @@ var plugins_tooltip_modules = {
43821
44673
 
43822
44674
  ctx.restore();
43823
44675
  },
44676
+ setCustomTooltipLayoutPosition: function setCustomTooltipLayoutPosition(hitInfo, e) {
44677
+ var _document$getElements;
44678
+
44679
+ var mouseX = e.pageX;
44680
+ var mouseY = e.pageY;
44681
+ var customTooltipEl = (_document$getElements = document.getElementsByClassName('ev-chart-tooltip-custom')) === null || _document$getElements === void 0 ? void 0 : _document$getElements[0];
44682
+
44683
+ if (!customTooltipEl) {
44684
+ return;
44685
+ }
44686
+
44687
+ var contentsWidth = customTooltipEl.offsetWidth;
44688
+ var contentsHeight = customTooltipEl.offsetHeight;
44689
+ this.tooltipDOM.style.height = 'auto';
44690
+ this.tooltipBodyDOM.style.height = "".concat(contentsHeight + 6, "px");
44691
+ var bodyWidth = document.body.clientWidth;
44692
+ var bodyHeight = document.body.clientHeight;
44693
+ var distanceMouseAndTooltip = 20;
44694
+ var maximumPosX = bodyWidth - contentsWidth - distanceMouseAndTooltip;
44695
+ var maximumPosY = bodyHeight - (TITLE_HEIGHT + contentsHeight) - distanceMouseAndTooltip;
44696
+ var expectedPosX = mouseX + distanceMouseAndTooltip;
44697
+ var expectedPosY = mouseY + distanceMouseAndTooltip;
44698
+ var reversedPosX = mouseX - contentsWidth - distanceMouseAndTooltip;
44699
+ var reversedPosY = mouseY - (TITLE_HEIGHT + contentsHeight) - distanceMouseAndTooltip;
44700
+ this.tooltipDOM.style.left = expectedPosX > maximumPosX ? "".concat(reversedPosX, "px") : "".concat(expectedPosX, "px");
44701
+ this.tooltipDOM.style.top = expectedPosY > maximumPosY ? "".concat(reversedPosY, "px") : "".concat(expectedPosY, "px");
44702
+ this.tooltipDOM.style.display = 'block';
44703
+ },
44704
+
44705
+ /**
44706
+ * Draw User Custom Tooltip (tooltip > formatter > html)
44707
+ * call "formatter > html" and append to tooltip DOM
44708
+ * @param hitInfoItems
44709
+ */
44710
+ drawCustomTooltip: function drawCustomTooltip(hitInfoItems) {
44711
+ var _this$options2, _opt$formatter3;
44712
+
44713
+ var opt = (_this$options2 = this.options) === null || _this$options2 === void 0 ? void 0 : _this$options2.tooltip;
44714
+
44715
+ if ((_opt$formatter3 = opt.formatter) !== null && _opt$formatter3 !== void 0 && _opt$formatter3.html) {
44716
+ var _opt$formatter4;
44717
+
44718
+ this.tooltipDOM.innerHTML = '';
44719
+ var seriesList = [];
44720
+ Object.keys(hitInfoItems).forEach(function (sId) {
44721
+ seriesList.push({
44722
+ sId: sId,
44723
+ data: hitInfoItems[sId].data,
44724
+ color: hitInfoItems[sId].color,
44725
+ name: hitInfoItems[sId].name
44726
+ });
44727
+ });
44728
+ 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));
44729
+
44730
+ if (userCustomTooltipBody) {
44731
+ this.tooltipDOM.appendChild(userCustomTooltipBody);
44732
+ }
44733
+
44734
+ this.tooltipDOM.style.overflowY = 'hidden';
44735
+ this.tooltipDOM.style.backgroundColor = opt.backgroundColor;
44736
+ this.tooltipDOM.style.border = "1px solid ".concat(opt.borderColor);
44737
+ this.tooltipDOM.style.color = opt.fontColor;
44738
+ }
44739
+ },
43824
44740
 
43825
44741
  /**
43826
44742
  * set style properties on tooltip DOM
@@ -44239,6 +45155,9 @@ var plugins_pie_modules = {
44239
45155
 
44240
45156
 
44241
45157
 
45158
+
45159
+
45160
+
44242
45161
  var element_tip_modules = {
44243
45162
  /**
44244
45163
  * Draw TextTip with tip's locationInfo
@@ -44423,6 +45342,23 @@ var element_tip_modules = {
44423
45342
  var dp;
44424
45343
 
44425
45344
  if (type === 'bar') {
45345
+ var scrollbarOpt = isHorizontal ? this.scrollbar.y : this.scrollbar.x;
45346
+
45347
+ if (scrollbarOpt !== null && scrollbarOpt !== void 0 && scrollbarOpt.use) {
45348
+ var _scrollbarOpt$range;
45349
+
45350
+ var _ref = (_scrollbarOpt$range = scrollbarOpt === null || scrollbarOpt === void 0 ? void 0 : scrollbarOpt.range) !== null && _scrollbarOpt$range !== void 0 ? _scrollbarOpt$range : [],
45351
+ _ref2 = _slicedToArray(_ref, 2),
45352
+ min = _ref2[0],
45353
+ max = _ref2[1];
45354
+
45355
+ if (ldata >= min && ldata <= max) {
45356
+ ldata -= min !== null && min !== void 0 ? min : 0;
45357
+ } else {
45358
+ return false;
45359
+ }
45360
+ }
45361
+
44426
45362
  if (isHorizontal) {
44427
45363
  halfBarSize = Math.round(size.h / 2);
44428
45364
  cp = ysp - size.cat * ldata - size.cPad;
@@ -44534,7 +45470,7 @@ var element_tip_modules = {
44534
45470
  var drawTip = false;
44535
45471
 
44536
45472
  if (dataIndex.length) {
44537
- var _this$seriesList, _this$data$groups$, _this$data$groups;
45473
+ var _this$seriesList, _this$data$groups$, _this$data$groups, _labelAxes$labels;
44538
45474
 
44539
45475
  drawTip = true;
44540
45476
  var chartRect = this.chartRect;
@@ -44550,6 +45486,7 @@ var element_tip_modules = {
44550
45486
  var valueAxesRange = isHorizontal ? this.axesRange.x[0] : this.axesRange.y[0];
44551
45487
  var valuePositionCalcFunction = isHorizontal ? helpers_canvas.calculateX : helpers_canvas.calculateY;
44552
45488
  var labelPositionCalcFunction = isHorizontal ? helpers_canvas.calculateY : helpers_canvas.calculateX;
45489
+ var scrollbarOpt = isHorizontal ? this.scrollbar.y : this.scrollbar.x;
44553
45490
  var chartWidth = chartRect.chartWidth - (labelOffset.left + labelOffset.right);
44554
45491
  var chartHeight = chartRect.chartHeight - (labelOffset.top + labelOffset.bottom);
44555
45492
  var valueSpace = isHorizontal ? chartWidth : chartHeight;
@@ -44573,11 +45510,35 @@ var element_tip_modules = {
44573
45510
  var graphX;
44574
45511
  var lineSeries;
44575
45512
  var sizeObj;
45513
+ var startIndex = 0;
45514
+ var endIndex = (_labelAxes$labels = labelAxes.labels) === null || _labelAxes$labels === void 0 ? void 0 : _labelAxes$labels.length;
44576
45515
 
44577
45516
  if (labelAxes.labels) {
45517
+ var labelCount = labelAxes.labels.length;
45518
+
45519
+ if (scrollbarOpt !== null && scrollbarOpt !== void 0 && scrollbarOpt.use) {
45520
+ var range = scrollbarOpt.range,
45521
+ interval = scrollbarOpt.interval,
45522
+ type = scrollbarOpt.type;
45523
+
45524
+ var _range = _slicedToArray(range, 2),
45525
+ min = _range[0],
45526
+ max = _range[1];
45527
+
45528
+ if (truthyNumber(min) && truthyNumber(max)) {
45529
+ labelCount = Math.floor((+max - +min) / interval) + 1;
45530
+ startIndex = type === 'step' ? min : labelAxes.labels.findIndex(function (v) {
45531
+ return v === +min;
45532
+ });
45533
+ endIndex = type === 'step' ? max : labelAxes.labels.findIndex(function (v) {
45534
+ return v === +max;
45535
+ });
45536
+ }
45537
+ }
45538
+
44578
45539
  labelStartPoint = aPos[labelAxes.units.rectStart];
44579
45540
  labelEndPoint = aPos[labelAxes.units.rectEnd];
44580
- labelGap = (labelEndPoint - labelStartPoint) / labelAxes.labels.length;
45541
+ labelGap = (labelEndPoint - labelStartPoint) / labelCount;
44581
45542
  } else {
44582
45543
  graphX = this.axesSteps.x[0];
44583
45544
  lineSeries = seriesList.find(function (sId) {
@@ -44617,7 +45578,12 @@ var element_tip_modules = {
44617
45578
  }
44618
45579
 
44619
45580
  if (labelAxes.labels) {
44620
- var labelCenter = Math.round(labelStartPoint + labelGap * dataIndex[i]);
45581
+ if (dataIndex[i] < startIndex || dataIndex[i] > endIndex) {
45582
+ return;
45583
+ }
45584
+
45585
+ var labelIndex = dataIndex[i] - startIndex;
45586
+ var labelCenter = Math.round(labelStartPoint + labelGap * labelIndex);
44621
45587
  dp = labelCenter + labelGap / 2;
44622
45588
  } else {
44623
45589
  dp = labelPositionCalcFunction(label[i], graphX.graphMin, graphX.graphMax, chartWidth - sizeObj.comboOffset, aPos.x1 + sizeObj.comboOffset / 2);
@@ -44923,6 +45889,7 @@ var element_tip_modules = {
44923
45889
 
44924
45890
 
44925
45891
 
45892
+
44926
45893
 
44927
45894
 
44928
45895
  var chart_core_EvChart = /*#__PURE__*/function () {
@@ -44942,6 +45909,7 @@ var chart_core_EvChart = /*#__PURE__*/function () {
44942
45909
  Object.assign(this, plugins_legend);
44943
45910
  Object.assign(this, plugins_pie);
44944
45911
  Object.assign(this, plugins_title);
45912
+ Object.assign(this, plugins_scrollbar);
44945
45913
  }
44946
45914
 
44947
45915
  if (options.type === 'heatMap' && options.legend.type === 'gradient') {
@@ -44983,6 +45951,14 @@ var chart_core_EvChart = /*#__PURE__*/function () {
44983
45951
  this.isInitLegend = false;
44984
45952
  this.isInitTitle = false;
44985
45953
  this.isInit = false;
45954
+ this.scrollbar = {
45955
+ x: {
45956
+ isInit: false
45957
+ },
45958
+ y: {
45959
+ isInit: false
45960
+ }
45961
+ };
44986
45962
  this.seriesList = {};
44987
45963
  this.lastTip = {
44988
45964
  pos: null,
@@ -45060,6 +46036,8 @@ var chart_core_EvChart = /*#__PURE__*/function () {
45060
46036
  }, {
45061
46037
  key: "initRect",
45062
46038
  value: function initRect() {
46039
+ var _opt$axesX, _opt$axesX$, _opt$axesX$$scrollbar, _opt$axesY, _opt$axesY$, _opt$axesY$$scrollbar;
46040
+
45063
46041
  var opt = this.options;
45064
46042
 
45065
46043
  if (opt.title.show) {
@@ -45078,6 +46056,10 @@ var chart_core_EvChart = /*#__PURE__*/function () {
45078
46056
  this.setLegendPosition();
45079
46057
  }
45080
46058
 
46059
+ 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) {
46060
+ this.initScrollbar();
46061
+ }
46062
+
45081
46063
  this.chartRect = this.getChartRect();
45082
46064
  }
45083
46065
  /**
@@ -45090,11 +46072,18 @@ var chart_core_EvChart = /*#__PURE__*/function () {
45090
46072
  }, {
45091
46073
  key: "drawChart",
45092
46074
  value: function drawChart(hitInfo) {
46075
+ var _this$scrollbar, _this$scrollbar$x, _this$scrollbar2, _this$scrollbar2$y;
46076
+
45093
46077
  this.initScale();
45094
46078
  this.labelRange = this.getAxesLabelRange();
45095
46079
  this.axesSteps = this.calculateSteps();
45096
46080
  this.drawAxis(hitInfo);
45097
46081
  this.drawSeries(hitInfo);
46082
+
46083
+ 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) {
46084
+ this.updateScrollbarPosition();
46085
+ }
46086
+
45098
46087
  this.drawTip();
45099
46088
 
45100
46089
  if (this.bufferCanvas) {
@@ -45307,7 +46296,8 @@ var chart_core_EvChart = /*#__PURE__*/function () {
45307
46296
  value: function createAxes(dir) {
45308
46297
  var axes = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
45309
46298
  var ctx = this.bufferCtx;
45310
- var labels = this.options.type === 'heatMap' ? this.data.labels[dir] : this.data.labels;
46299
+ var isHeatMapType = this.options.type === 'heatMap';
46300
+ var labels = isHeatMapType ? this.data.labels[dir] : this.data.labels;
45311
46301
  var options = this.options;
45312
46302
  return axes.map(function (axis) {
45313
46303
  switch (axis.type) {
@@ -45345,10 +46335,10 @@ var chart_core_EvChart = /*#__PURE__*/function () {
45345
46335
 
45346
46336
  /* eslint-disable max-len */
45347
46337
  var axesXMinMax = this.axesX.map(function (axis, index) {
45348
- return axis.calculateScaleRange(_this3.minMax.x[index], _this3.chartRect);
46338
+ return axis.calculateScaleRange(_this3.minMax.x[index], _this3.scrollbar.x, _this3.chartRect);
45349
46339
  });
45350
46340
  var axesYMinMax = this.axesY.map(function (axis, index) {
45351
- return axis.calculateScaleRange(_this3.minMax.y[index], _this3.chartRect);
46341
+ return axis.calculateScaleRange(_this3.minMax.y[index], _this3.scrollbar.y, _this3.chartRect);
45352
46342
  });
45353
46343
  /* eslint-enable max-len */
45354
46344
 
@@ -45390,6 +46380,8 @@ var chart_core_EvChart = /*#__PURE__*/function () {
45390
46380
  var range = {
45391
46381
  minValue: _this5.axesRange.x[index].min,
45392
46382
  maxValue: _this5.axesRange.x[index].max,
46383
+ minIndex: _this5.axesRange.x[index].minIndex,
46384
+ maxIndex: _this5.axesRange.x[index].maxIndex,
45393
46385
  minSteps: _this5.labelRange.x[index].min,
45394
46386
  maxSteps: _this5.labelRange.x[index].max
45395
46387
  };
@@ -45399,6 +46391,8 @@ var chart_core_EvChart = /*#__PURE__*/function () {
45399
46391
  var range = {
45400
46392
  minValue: _this5.axesRange.y[index].min,
45401
46393
  maxValue: _this5.axesRange.y[index].max,
46394
+ minIndex: _this5.axesRange.y[index].minIndex,
46395
+ maxIndex: _this5.axesRange.y[index].maxIndex,
45402
46396
  minSteps: _this5.labelRange.y[index].min,
45403
46397
  maxSteps: _this5.labelRange.y[index].max
45404
46398
  };
@@ -45511,14 +46505,28 @@ var chart_core_EvChart = /*#__PURE__*/function () {
45511
46505
  yAxisTitleHeight = _fontSize + titleMargin;
45512
46506
  }
45513
46507
 
45514
- var horizontalPadding = padding.left + padding.right;
45515
- var verticalPadding = padding.top + padding.bottom + xAxisTitleHeight + yAxisTitleHeight;
46508
+ var xAxisScrollOpt = this.scrollbar.x;
46509
+ var yAxisScrollOpt = this.scrollbar.y;
46510
+ var xAxisScrollHeight = 0;
46511
+
46512
+ if (xAxisScrollOpt !== null && xAxisScrollOpt !== void 0 && xAxisScrollOpt.use) {
46513
+ xAxisScrollHeight = xAxisScrollOpt === null || xAxisScrollOpt === void 0 ? void 0 : xAxisScrollOpt.height;
46514
+ }
46515
+
46516
+ var yAxisScrollWidth = 0;
46517
+
46518
+ if (yAxisScrollOpt !== null && yAxisScrollOpt !== void 0 && yAxisScrollOpt.use) {
46519
+ yAxisScrollWidth = yAxisScrollOpt === null || yAxisScrollOpt === void 0 ? void 0 : yAxisScrollOpt.width;
46520
+ }
46521
+
46522
+ var horizontalPadding = padding.left + padding.right + yAxisScrollWidth;
46523
+ var verticalPadding = padding.top + padding.bottom + xAxisTitleHeight + yAxisTitleHeight + xAxisScrollHeight;
45516
46524
  var chartWidth = width > horizontalPadding ? width - horizontalPadding : width;
45517
46525
  var chartHeight = height > verticalPadding ? height - verticalPadding : height;
45518
46526
  var x1 = padding.left;
45519
- var x2 = Math.max(width - padding.right, x1 + 2);
46527
+ var x2 = Math.max(width - padding.right - yAxisScrollWidth, x1 + 2);
45520
46528
  var y1 = padding.top + yAxisTitleHeight;
45521
- var y2 = Math.max(height - padding.bottom - xAxisTitleHeight, y1 + 2);
46529
+ var y2 = Math.max(height - padding.bottom - xAxisTitleHeight - xAxisScrollHeight, y1 + 2);
45522
46530
  return {
45523
46531
  x1: x1,
45524
46532
  x2: x2,
@@ -45664,6 +46672,8 @@ var chart_core_EvChart = /*#__PURE__*/function () {
45664
46672
  }, {
45665
46673
  key: "update",
45666
46674
  value: function update(updateInfo) {
46675
+ var _this$updateScrollbar;
46676
+
45667
46677
  var options = this.options;
45668
46678
  var data = this.data.data;
45669
46679
  var labels = this.data.labels;
@@ -45678,6 +46688,7 @@ var chart_core_EvChart = /*#__PURE__*/function () {
45678
46688
  return;
45679
46689
  }
45680
46690
 
46691
+ (_this$updateScrollbar = this.updateScrollbar) === null || _this$updateScrollbar === void 0 ? void 0 : _this$updateScrollbar.call(this);
45681
46692
  this.resetProps();
45682
46693
 
45683
46694
  if (updateSeries) {
@@ -45884,6 +46895,10 @@ var chart_core_EvChart = /*#__PURE__*/function () {
45884
46895
  this.legendBoxDOM.removeEventListener('click', this.onLegendBoxClick);
45885
46896
  this.legendBoxDOM.removeEventListener('mouseover', this.onLegendBoxOver);
45886
46897
  this.legendBoxDOM.removeEventListener('mouseleave', this.onLegendBoxLeave);
46898
+
46899
+ if (this.options.legend.type === 'gradient') {
46900
+ this.legendBoxDOM.removeEventListener('mousedown', this.onLegendMouseDown);
46901
+ }
45887
46902
  }
45888
46903
 
45889
46904
  if (this.resizeDOM) {