evui 3.4.155 → 3.4.156

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.
@@ -11235,7 +11235,7 @@ $({ target: 'Number', stat: true }, {
11235
11235
  /***/ "9224":
11236
11236
  /***/ (function(module) {
11237
11237
 
11238
- module.exports = JSON.parse("{\"a\":\"3.4.155\"}");
11238
+ module.exports = JSON.parse("{\"a\":\"3.4.156\"}");
11239
11239
 
11240
11240
  /***/ }),
11241
11241
 
@@ -39902,7 +39902,7 @@ var modules = {
39902
39902
  return null;
39903
39903
  }
39904
39904
 
39905
- itemPosition = [this.getItemByPosition([dataInfo.xp, dataInfo.yp], useApproximate, dataIndex, true)];
39905
+ itemPosition = [this.getHitItemByPosition([dataInfo.xp, dataInfo.yp], useApproximate, dataIndex, true)];
39906
39906
  } else {
39907
39907
  var seriesList = Object.entries(this.seriesList);
39908
39908
  var firShowSeriesID;
@@ -39927,7 +39927,7 @@ var modules = {
39927
39927
  return null;
39928
39928
  }
39929
39929
 
39930
- return _this7.getItemByPosition([(_dataInfo$xp = dataInfo === null || dataInfo === void 0 ? void 0 : dataInfo.xp) !== null && _dataInfo$xp !== void 0 ? _dataInfo$xp : 0, (_dataInfo$yp = dataInfo === null || dataInfo === void 0 ? void 0 : dataInfo.yp) !== null && _dataInfo$yp !== void 0 ? _dataInfo$yp : 0], useApproximate, idx, true);
39930
+ return _this7.getHitItemByPosition([(_dataInfo$xp = dataInfo === null || dataInfo === void 0 ? void 0 : dataInfo.xp) !== null && _dataInfo$xp !== void 0 ? _dataInfo$xp : 0, (_dataInfo$yp = dataInfo === null || dataInfo === void 0 ? void 0 : dataInfo.yp) !== null && _dataInfo$yp !== void 0 ? _dataInfo$yp : 0], useApproximate, idx, true);
39931
39931
  });
39932
39932
  }
39933
39933
 
@@ -39951,30 +39951,50 @@ var modules = {
39951
39951
  },
39952
39952
 
39953
39953
  /**
39954
- * Find graph item by position x and y
39954
+ * Find the hit item at the given position (x, y).
39955
+ *
39956
+ * 선택 우선순위:
39957
+ * 1. directHit (bar 박스 내부 클릭) — 가장 가까운 것
39958
+ * 2. hit (line 포인트 근접 등) — 가장 가까운 것
39959
+ * 3. hit이 전혀 없으면 데이터가 있는 첫 시리즈로 fallback (기존 동작 호환)
39960
+ *
39961
+ * 과거에는 "같은 라벨 위에서 값이 가장 큰 시리즈"를 돌려주는 max-value 덮어쓰기 방식이었으나,
39962
+ * bar + line combo 차트에서 작은 bar를 클릭해도 큰 값의 line이 선택되는 버그의 원인이었다.
39963
+ * 이번 수정으로 사용자가 실제로 가리킨 시리즈(hit)가 선택되도록 바뀐다.
39964
+ *
39955
39965
  * @param {array} offset position x and y
39956
39966
  * @param {boolean} useApproximate if it's true. it'll look for closed item on mouse position
39957
39967
  * @param {number} dataIndex selected data index
39958
39968
  * @param {boolean} useSelectLabelOrItem used to display select label/item at tooltip location
39959
39969
  *
39960
- * @returns {object} clicked item information
39970
+ * @returns {object} hit item information
39961
39971
  */
39962
- getItemByPosition: function getItemByPosition(offset) {
39963
- var _maxValue;
39972
+ getHitItemByPosition: function getHitItemByPosition(offset) {
39973
+ var _ref4;
39964
39974
 
39965
39975
  var useApproximate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
39966
39976
  var dataIndex = arguments.length > 2 ? arguments[2] : undefined;
39967
39977
  var useSelectLabelOrItem = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
39968
39978
  var seriesIDs = Object.keys(this.seriesList);
39969
- var isHorizontal = !!this.options.horizontal;
39970
- var maxType = null;
39971
- var maxLabel = null;
39972
- var maxValuePos = null;
39973
- var maxValue = null;
39974
- var maxSeriesID = '';
39979
+ var isHorizontal = !!this.options.horizontal; // hit 기반 결과 (최우선)
39980
+
39981
+ var hitType = null;
39982
+ var hitLabel = null;
39983
+ var hitValuePos = null;
39984
+ var hitValue = null;
39985
+ var hitSeriesID = '';
39986
+ var hitDataIndex = null;
39987
+ var hitDistance = Infinity;
39988
+ var hasDirectHit = false; // fallback: hit이 전혀 없을 때 사용할 "데이터 있는 첫 시리즈" 정보
39989
+
39990
+ var fallbackType = null;
39991
+ var fallbackLabel = null;
39992
+ var fallbackValuePos = null;
39993
+ var fallbackValue = null;
39994
+ var fallbackSeriesID = '';
39995
+ var fallbackDataIndex = null;
39975
39996
  var acc = 0;
39976
39997
  var useStack = false;
39977
- var maxIndex = null;
39978
39998
 
39979
39999
  for (var ix = 0; ix < seriesIDs.length; ix++) {
39980
40000
  var seriesID = seriesIDs[ix];
@@ -39988,12 +40008,13 @@ var modules = {
39988
40008
 
39989
40009
  if (data) {
39990
40010
  if (helpers_util.isPieType(item.type)) {
39991
- maxLabel = seriesID;
39992
- maxSeriesID = seriesID;
39993
- maxValuePos = (data.ea - data.sa) / 2;
39994
- maxValue = data.o;
39995
- maxIndex = data.index;
39996
- maxType = item.type;
40011
+ // pie 차트는 hit detection 체계가 달라 기존 동작 유지 (단일 pie 시리즈가 일반적)
40012
+ hitType = item.type;
40013
+ hitLabel = seriesID;
40014
+ hitSeriesID = seriesID;
40015
+ hitValuePos = (data.ea - data.sa) / 2;
40016
+ hitValue = data.o;
40017
+ hitDataIndex = data.index;
39997
40018
  } else {
39998
40019
  var ldata = isHorizontal ? data.y : data.x;
39999
40020
  var lp = isHorizontal ? data.yp : data.xp;
@@ -40006,24 +40027,48 @@ var modules = {
40006
40027
  useStack = true;
40007
40028
  } else {
40008
40029
  acc += data.y;
40009
- }
40030
+ } // fallback 기록: 데이터가 있는 첫 시리즈를 저장
40031
+
40032
+
40033
+ if (fallbackSeriesID === '') {
40034
+ fallbackType = series.type;
40035
+ fallbackLabel = ldata;
40036
+ fallbackValuePos = lp;
40037
+ fallbackValue = g;
40038
+ fallbackSeriesID = seriesID;
40039
+ fallbackDataIndex = index;
40040
+ } // hit 기반 선택: item.hit이 true이고 유효한 좌표가 있을 때만 고려
40041
+
40042
+
40043
+ if (item.hit && data.xp !== undefined && data.yp !== undefined) {
40044
+ var distance = Math.pow(data.xp - offset[0], 2) + Math.pow(data.yp - offset[1], 2);
40045
+
40046
+ if (item.directHit) {
40047
+ // 직접 박스 히트는 최우선. 여러 개이면 가장 가까운 것.
40048
+ if (!hasDirectHit || distance < hitDistance) {
40049
+ hitDistance = distance;
40050
+ hitType = series.type;
40051
+ hitLabel = ldata;
40052
+ hitValuePos = lp;
40053
+ hitValue = g;
40054
+ hitSeriesID = seriesID;
40055
+ hitDataIndex = index;
40056
+ }
40010
40057
 
40011
- if (maxType === 'bar' && useStack) {
40012
- if (item.hit) {
40013
- maxValue = g;
40014
- maxSeriesID = seriesID;
40015
- maxIndex = index;
40016
- maxLabel = ldata;
40017
- maxValuePos = lp;
40018
- maxType = series.type;
40058
+ hasDirectHit = true;
40059
+ } else if (!hasDirectHit) {
40060
+ // directHit가 없을 때만 일반 hit 거리 비교 참여
40061
+ // (라인 근접 히트가 박스 직접 히트를 이기지 못하도록)
40062
+ if (distance < hitDistance) {
40063
+ hitDistance = distance;
40064
+ hitType = series.type;
40065
+ hitLabel = ldata;
40066
+ hitValuePos = lp;
40067
+ hitValue = g;
40068
+ hitSeriesID = seriesID;
40069
+ hitDataIndex = index;
40070
+ }
40019
40071
  }
40020
- } else if (maxValue === null || maxValue <= g) {
40021
- maxValue = g;
40022
- maxSeriesID = seriesID;
40023
- maxLabel = ldata;
40024
- maxValuePos = lp;
40025
- maxIndex = index;
40026
- maxType = series.type;
40027
40072
  }
40028
40073
  }
40029
40074
  }
@@ -40031,22 +40076,23 @@ var modules = {
40031
40076
  }
40032
40077
  }
40033
40078
 
40079
+ var hasHit = hitSeriesID !== '';
40034
40080
  return {
40035
- type: maxType,
40036
- label: maxLabel,
40037
- pos: maxValuePos,
40038
- value: (_maxValue = maxValue) !== null && _maxValue !== void 0 ? _maxValue : 0,
40039
- sId: maxSeriesID,
40081
+ type: hasHit ? hitType : fallbackType,
40082
+ label: hasHit ? hitLabel : fallbackLabel,
40083
+ pos: hasHit ? hitValuePos : fallbackValuePos,
40084
+ value: (_ref4 = hasHit ? hitValue : fallbackValue) !== null && _ref4 !== void 0 ? _ref4 : 0,
40085
+ sId: hasHit ? hitSeriesID : fallbackSeriesID,
40040
40086
  acc: acc,
40041
40087
  useStack: useStack,
40042
- maxIndex: maxIndex
40088
+ dataIndex: hasHit ? hitDataIndex : fallbackDataIndex
40043
40089
  };
40044
40090
  },
40045
40091
 
40046
40092
  /**
40047
40093
  * @typedef {Object} LabelInfoResult
40048
40094
  * @property {number} labelIndex - 선택된 라벨의 인덱스
40049
- * @property {object} hitInfo - 해당 위치에서의 히트 정보 (getItemByPosition 반환값)
40095
+ * @property {object} hitInfo - 해당 위치에서의 히트 정보 (getHitItemByPosition 반환값)
40050
40096
  */
40051
40097
 
40052
40098
  /**
@@ -40071,9 +40117,9 @@ var modules = {
40071
40117
  };
40072
40118
  var seriesList = this.data.series;
40073
40119
  var pointSize = (_Object$values$sort$ = (_Object$values$sort$2 = Object.values(seriesList).sort(function (a, b) {
40074
- var _ref4, _b$pointSize;
40120
+ var _ref5, _b$pointSize;
40075
40121
 
40076
- return (_ref4 = (_b$pointSize = b.pointSize) !== null && _b$pointSize !== void 0 ? _b$pointSize : 0 - a.pointSize) !== null && _ref4 !== void 0 ? _ref4 : 0;
40122
+ return (_ref5 = (_b$pointSize = b.pointSize) !== null && _b$pointSize !== void 0 ? _b$pointSize : 0 - a.pointSize) !== null && _ref5 !== void 0 ? _ref5 : 0;
40077
40123
  })[0]) === null || _Object$values$sort$2 === void 0 ? void 0 : _Object$values$sort$2.pointSize) !== null && _Object$values$sort$ !== void 0 ? _Object$values$sort$ : 3; // default pointSize 3
40078
40124
 
40079
40125
  var _this$options = this.options,
@@ -40105,10 +40151,10 @@ var modules = {
40105
40151
  _scrollbarOpt2$interv = _scrollbarOpt2.interval,
40106
40152
  interval = _scrollbarOpt2$interv === void 0 ? 1 : _scrollbarOpt2$interv;
40107
40153
 
40108
- var _ref5 = range !== null && range !== void 0 ? range : [0, scale.labels.length],
40109
- _ref6 = _slicedToArray(_ref5, 2),
40110
- min = _ref6[0],
40111
- max = _ref6[1];
40154
+ var _ref6 = range !== null && range !== void 0 ? range : [0, scale.labels.length],
40155
+ _ref7 = _slicedToArray(_ref6, 2),
40156
+ min = _ref7[0],
40157
+ max = _ref7[1];
40112
40158
 
40113
40159
  var labelCount = Math.floor((+max - +min) / interval) + 1;
40114
40160
  var labelGap = (endPoint - startPoint) / labelCount;
@@ -40134,7 +40180,7 @@ var modules = {
40134
40180
 
40135
40181
  labelIndex = scale.labels.length > _index ? _index : -1;
40136
40182
  } else {
40137
- var _hitInfo$maxIndex;
40183
+ var _hitInfo$dataIndex;
40138
40184
 
40139
40185
  var offsetX;
40140
40186
  var dataIndex;
@@ -40149,8 +40195,8 @@ var modules = {
40149
40195
  offsetX = x;
40150
40196
  }
40151
40197
 
40152
- hitInfo = this.getItemByPosition([offsetX, y], selectLabel === null || selectLabel === void 0 ? void 0 : selectLabel.useApproximateValue, dataIndex, true);
40153
- labelIndex = (_hitInfo$maxIndex = hitInfo.maxIndex) !== null && _hitInfo$maxIndex !== void 0 ? _hitInfo$maxIndex : -1;
40198
+ hitInfo = this.getHitItemByPosition([offsetX, y], selectLabel === null || selectLabel === void 0 ? void 0 : selectLabel.useApproximateValue, dataIndex, true);
40199
+ labelIndex = (_hitInfo$dataIndex = hitInfo.dataIndex) !== null && _hitInfo$dataIndex !== void 0 ? _hitInfo$dataIndex : -1;
40154
40200
  }
40155
40201
 
40156
40202
  return {
@@ -42133,7 +42179,7 @@ var element_line_Line = /*#__PURE__*/function () {
42133
42179
  }, {
42134
42180
  key: "findGraphData",
42135
42181
  value: function findGraphData(offset, isHorizontal, dataIndex, useSelectLabelOrItem) {
42136
- var _item$data;
42182
+ var _this$pointSize, _item$data;
42137
42183
 
42138
42184
  var xp = offset[0];
42139
42185
  var yp = offset[1];
@@ -42145,7 +42191,23 @@ var element_line_Line = /*#__PURE__*/function () {
42145
42191
  var gdata = this.data.filter(function (data) {
42146
42192
  return !helpers_util.isNullOrUndefined(data.x);
42147
42193
  });
42148
- var isLinearInterpolation = this.useLinearInterpolation();
42194
+ var isLinearInterpolation = this.useLinearInterpolation(); // line 포인트 "정확 히트" 판정용 반경.
42195
+ // combo 차트에서 line 포인트 중심을 직격한 경우, 같은 좌표의 bar(directHit)보다
42196
+ // line이 우선되도록 item.directHit = true로 표시한다. 그 외(단순 Y축 근접)는 기존처럼 hit만.
42197
+ // 포인트 반지름에 기본 포인트 크기(LINE_OPTION.pointSize)만큼의 클릭 여유 마진을 더하고,
42198
+ // 시각적으로 하이라이트되는 포인트 반경(highlight.maxSize)을 최소 보장값으로 사용한다.
42199
+
42200
+ var directHitRadius = Math.max(((_this$pointSize = this.pointSize) !== null && _this$pointSize !== void 0 ? _this$pointSize : LINE_OPTION.pointSize) + LINE_OPTION.pointSize, LINE_OPTION.highlight.maxSize);
42201
+
42202
+ var isLinePointDirectHit = function isLinePointDirectHit(point) {
42203
+ if (!point || point.xp === undefined || point.yp === undefined) {
42204
+ return false;
42205
+ }
42206
+
42207
+ var dx = xp - point.xp;
42208
+ var dy = yp - point.yp;
42209
+ return dx * dx + dy * dy <= directHitRadius * directHitRadius;
42210
+ };
42149
42211
 
42150
42212
  if (gdata !== null && gdata !== void 0 && gdata.length) {
42151
42213
  if (typeof dataIndex === 'number' && this.show) {
@@ -42160,6 +42222,11 @@ var element_line_Line = /*#__PURE__*/function () {
42160
42222
  if (yDist <= directHitThreshold) {
42161
42223
  item.hit = true;
42162
42224
  }
42225
+
42226
+ if (isLinePointDirectHit(point)) {
42227
+ item.hit = true;
42228
+ item.directHit = true;
42229
+ }
42163
42230
  }
42164
42231
  } else if (typeof this.beforeFindItemIndex === 'number' && this.beforeFindItemIndex !== -1 && this.show && useSelectLabelOrItem) {
42165
42232
  item.data = gdata[this.beforeFindItemIndex];
@@ -42308,6 +42375,11 @@ var element_line_Line = /*#__PURE__*/function () {
42308
42375
  if (_yDist <= _directHitThreshold) {
42309
42376
  item.hit = true;
42310
42377
  }
42378
+
42379
+ if (isLinePointDirectHit(_point3)) {
42380
+ item.hit = true;
42381
+ item.directHit = true;
42382
+ }
42311
42383
  }
42312
42384
  }
42313
42385
  }
@@ -43248,7 +43320,10 @@ var element_bar_Bar = /*#__PURE__*/function () {
43248
43320
  if (barData[clampedIndex]) {
43249
43321
  item.data = barData[clampedIndex];
43250
43322
  item.index = clampedIndex;
43251
- item.hit = this.isPointInBar(offset, barData[clampedIndex]);
43323
+ item.hit = this.isPointInBar(offset, barData[clampedIndex]); // bar 박스 내부 클릭은 "직접 박스 히트"로 표시.
43324
+ // findHitItem에서 line 포인트 근접 히트보다 우선 선택되도록 하기 위함.
43325
+
43326
+ item.directHit = item.hit;
43252
43327
  }
43253
43328
 
43254
43329
  return item;
@@ -43305,7 +43380,9 @@ var element_bar_Bar = /*#__PURE__*/function () {
43305
43380
  if (inRange) {
43306
43381
  item.data = barData;
43307
43382
  item.index = barData.index;
43308
- item.hit = this.isPointInBar(offset, barData);
43383
+ item.hit = this.isPointInBar(offset, barData); // bar 박스 내부 클릭은 "직접 박스 히트"로 표시 (findHitItem 우선순위용).
43384
+
43385
+ item.directHit = item.hit;
43309
43386
  return item;
43310
43387
  }
43311
43388
 
@@ -51814,19 +51891,19 @@ var plugins_interaction_modules = {
51814
51891
  var useSelectSeries = (selectSeriesOpt === null || selectSeriesOpt === void 0 ? void 0 : selectSeriesOpt.use) && (selectSeriesOpt === null || selectSeriesOpt === void 0 ? void 0 : selectSeriesOpt.useClick);
51815
51892
 
51816
51893
  var setSelectedItemInfo = function setSelectedItemInfo() {
51817
- var hitInfo = _this.getItemByPosition(offset, false);
51894
+ var hitInfo = _this.getHitItemByPosition(offset, false);
51818
51895
 
51819
51896
  args.label = hitInfo.label;
51820
51897
  args.value = hitInfo.value;
51821
51898
  args.seriesId = hitInfo.sId;
51822
- args.dataIndex = hitInfo.maxIndex;
51899
+ args.dataIndex = hitInfo.dataIndex;
51823
51900
  args.acc = hitInfo.acc;
51824
51901
 
51825
51902
  if (hitInfo !== null && hitInfo !== void 0 && hitInfo.sId) {
51826
51903
  args.selected = {
51827
51904
  eventTarget: 'item',
51828
51905
  seriesId: _this.isDeselectItem(hitInfo) ? null : hitInfo.sId,
51829
- dataIndex: _this.isDeselectItem(hitInfo) ? null : hitInfo.maxIndex
51906
+ dataIndex: _this.isDeselectItem(hitInfo) ? null : hitInfo.dataIndex
51830
51907
  };
51831
51908
  }
51832
51909
  };
@@ -52500,7 +52577,10 @@ var plugins_interaction_modules = {
52500
52577
  var maxv = '';
52501
52578
  var maxg = null;
52502
52579
  var maxSID = null;
52503
- var minDistance = Infinity; // 1. 먼저 공통으로 사용할 데이터 인덱스 결정
52580
+ var minDistance = Infinity; // directHit(bar 박스 내부 클릭/hover) 시리즈가 발견되었는지 추적.
52581
+ // 한 번이라도 directHit가 있으면 line의 근접 포인트 히트는 hitId 후보에서 배제된다.
52582
+
52583
+ var hasDirectHit = false; // 1. 먼저 공통으로 사용할 데이터 인덱스 결정
52504
52584
 
52505
52585
  var targetDataIndex = this.findClosestDataIndex(offset, sIds);
52506
52586
 
@@ -52576,13 +52656,25 @@ var plugins_interaction_modules = {
52576
52656
  if (maxg === null || maxg <= gdata) {
52577
52657
  maxg = gdata;
52578
52658
  maxSID = sId;
52579
- } // 마우스 위치와의 거리 계산하여 가장 가까운 시리즈 선택
52659
+ } // 마우스 위치와의 거리 계산하여 가장 가까운 시리즈 선택.
52660
+ // directHit(bar 박스 내부)가 하나라도 있으면 그중에서만 선택하고,
52661
+ // 라인의 근접 포인트 히트(item.hit=true, directHit=false)는 hitId 후보에서 배제한다.
52662
+ // bar + line combo 차트에서 작은 bar 클릭 시 큰 값의 line이 잡히던 버그 방지.
52580
52663
 
52581
52664
 
52582
52665
  if (item.hit && item.data.xp !== undefined && item.data.yp !== undefined) {
52583
52666
  var distance = Math.pow(item.data.xp - offset[0], 2) + Math.pow(item.data.yp - offset[1], 2);
52584
52667
 
52585
- if (distance < minDistance) {
52668
+ if (item.directHit) {
52669
+ // directHit는 최우선. 여러 directHit 중에서는 가장 가까운 것 선택.
52670
+ if (!hasDirectHit || distance < minDistance) {
52671
+ minDistance = distance;
52672
+ hitId = sId;
52673
+ }
52674
+
52675
+ hasDirectHit = true;
52676
+ } else if (!hasDirectHit && distance < minDistance) {
52677
+ // directHit가 없을 때만 일반 hit 거리 비교
52586
52678
  minDistance = distance;
52587
52679
  hitId = sId;
52588
52680
  }
@@ -53278,7 +53370,7 @@ var plugins_interaction_modules = {
53278
53370
  isDeselectItem: function isDeselectItem(hitInfo) {
53279
53371
  var _this$defaultSelectIt, _this$defaultSelectIt2;
53280
53372
 
53281
- return this.options.selectItem.useDeselectItem && (hitInfo === null || hitInfo === void 0 ? void 0 : hitInfo.maxIndex) === ((_this$defaultSelectIt = this.defaultSelectItemInfo) === null || _this$defaultSelectIt === void 0 ? void 0 : _this$defaultSelectIt.dataIndex) && (hitInfo === null || hitInfo === void 0 ? void 0 : hitInfo.sId) === ((_this$defaultSelectIt2 = this.defaultSelectItemInfo) === null || _this$defaultSelectIt2 === void 0 ? void 0 : _this$defaultSelectIt2.seriesID) && !isNaN(hitInfo === null || hitInfo === void 0 ? void 0 : hitInfo.maxIndex);
53373
+ return this.options.selectItem.useDeselectItem && (hitInfo === null || hitInfo === void 0 ? void 0 : hitInfo.dataIndex) === ((_this$defaultSelectIt = this.defaultSelectItemInfo) === null || _this$defaultSelectIt === void 0 ? void 0 : _this$defaultSelectIt.dataIndex) && (hitInfo === null || hitInfo === void 0 ? void 0 : hitInfo.sId) === ((_this$defaultSelectIt2 = this.defaultSelectItemInfo) === null || _this$defaultSelectIt2 === void 0 ? void 0 : _this$defaultSelectIt2.seriesID) && !isNaN(hitInfo === null || hitInfo === void 0 ? void 0 : hitInfo.dataIndex);
53282
53374
  },
53283
53375
 
53284
53376
  /**
@@ -54952,7 +55044,7 @@ var element_tip_modules = {
54952
55044
 
54953
55045
  if (tipType === 'sel') {
54954
55046
  if (hitInfo && hitInfo.label !== null) {
54955
- lastTip.pos = type === 'bar' ? hitInfo.maxIndex : hitInfo.label;
55047
+ lastTip.pos = type === 'bar' ? hitInfo.dataIndex : hitInfo.label;
54956
55048
  ldata = lastTip.pos;
54957
55049
  } else if (lastTip.pos !== null) {
54958
55050
  ldata = lastTip.pos;
@@ -56051,10 +56143,10 @@ var chart_core_EvChart = /*#__PURE__*/function () {
56051
56143
  var lastHitInfo = this.lastHitInfo;
56052
56144
  var defaultSelectInfo = this.defaultSelectItemInfo;
56053
56145
 
56054
- if (lastHitInfo !== null && lastHitInfo !== void 0 && lastHitInfo.maxIndex || (lastHitInfo === null || lastHitInfo === void 0 ? void 0 : lastHitInfo.maxIndex) === 0) {
56146
+ if (lastHitInfo !== null && lastHitInfo !== void 0 && lastHitInfo.dataIndex || (lastHitInfo === null || lastHitInfo === void 0 ? void 0 : lastHitInfo.dataIndex) === 0) {
56055
56147
  _selectInfo = {
56056
56148
  seriesID: lastHitInfo.sId,
56057
- dataIndex: lastHitInfo.maxIndex
56149
+ dataIndex: lastHitInfo.dataIndex
56058
56150
  };
56059
56151
  } else if (defaultSelectInfo !== null && defaultSelectInfo !== void 0 && defaultSelectInfo.dataIndex || (defaultSelectInfo === null || defaultSelectInfo === void 0 ? void 0 : defaultSelectInfo.dataIndex) === 0) {
56060
56152
  _selectInfo = _objectSpread2({}, defaultSelectInfo);